taskgenius_taskgenius-plugin/styles.css
Quorafind dab3ecb5d7 fix(editor): improve date positioning in task content
- Fix cancelled date insertion to appear after task content
- Improve content boundary detection for dates and metadata
- Handle wiki links and special characters in task content correctly
- Ensure dates are positioned before tags and dataview fields
2025-09-27 09:15:35 +08:00

16424 lines
1.2 MiB

/* @settings
name: Task Genius
id: task-genius
settings:
-
id: task-colors-heading
title: Checkbox Status Colors
type: heading
level: 1
-
id: task-completed-color
title: Completed Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4caf50'
default-dark: '#4caf50'
-
id: task-doing-color
title: Doing Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#80dee5'
default-dark: '#379fa7'
-
id: task-in-progress-color
title: In Progress Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f9d923'
default-dark: '#ffc107'
-
id: task-abandoned-color
title: Abandoned Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#eb5353'
default-dark: '#f44336'
-
id: task-planned-color
title: Planned Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#9c27b0'
default-dark: '#ce93d8'
-
id: task-question-color
title: Question Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#2196f3'
default-dark: '#42a5f5'
-
id: task-important-color
title: Important Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f44336'
default-dark: '#ef5350'
-
id: task-star-color
title: Star Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ffc107'
default-dark: '#ffd54f'
-
id: task-quote-color
title: Quote Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#607d8b'
default-dark: '#90a4ae'
-
id: task-location-color
title: Location Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#795548'
default-dark: '#8d6e63'
-
id: task-bookmark-color
title: Bookmark Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ff9800'
default-dark: '#ffb74d'
-
id: task-information-color
title: Information Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#00bcd4'
default-dark: '#26c6da'
-
id: task-idea-color
title: Idea Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#9c27b0'
default-dark: '#ce93d8'
-
id: task-pros-color
title: Pros Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4caf50'
default-dark: '#66bb6a'
-
id: task-cons-color
title: Cons Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f44336'
default-dark: '#ef5350'
-
id: task-fire-color
title: Fire Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ff5722'
default-dark: '#ff7043'
-
id: task-key-color
title: Key Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ffd700'
default-dark: '#ffd700'
-
id: task-win-color
title: Win Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#66bb6a'
default-dark: '#81c784'
-
id: task-up-color
title: Up Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4caf50'
default-dark: '#66bb6a'
-
id: task-down-color
title: Down Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f44336'
default-dark: '#ef5350'
-
id: task-note-color
title: Note Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#9e9e9e'
default-dark: '#bdbdbd'
-
id: task-amount-color
title: Amount/Savings Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#8bc34a'
default-dark: '#aed581'
-
id: task-speech-color
title: Speech Bubble Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#03a9f4'
default-dark: '#29b6f6'
-
id: progress-bar-colors
title: Progress Bar Colors
type: heading
level: 1
-
id: progress-0-color
title: 0% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ae431e'
default-dark: '#ae431e'
-
id: progress-25-color
title: 25% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#e5890a'
default-dark: '#e5890a'
-
id: progress-50-color
title: 50% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#b4c6a6'
default-dark: '#b4c6a6'
-
id: progress-75-color
title: 75% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#6bcb77'
default-dark: '#6bcb77'
-
id: progress-100-color
title: 100% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4d96ff'
default-dark: '#4d96ff'
-
id: progress-background-color
title: Progress Bar Background Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f1f1f1'
default-dark: '#f1f1f1'
*/
/* src/styles/progressbar.css */
.cm-task-progress-bar {
display: inline-block;
position: relative;
margin-left: 5px;
margin-bottom: 1px;
}
.no-progress-bar .cm-task-progress-bar {
display: none !important;
}
.HyperMD-header .cm-task-progress-bar {
display: inline-block;
position: relative;
margin-left: 5px;
margin-bottom: 5px;
}
.progress-bar-inline {
height: 8px;
position: relative;
}
.progress-bar-inline-empty {
background-color: var(--progress-background-color);
}
.progress-bar-inline-0 {
background-color: var(--progress-0-color);
}
.progress-bar-inline-1 {
background-color: var(--progress-25-color);
}
.progress-bar-inline-2 {
background-color: var(--progress-50-color);
}
.progress-bar-inline-3 {
background-color: var(--progress-75-color);
}
.progress-bar-inline-complete {
background-color: var(--progress-100-color);
}
.progress-completed {
background-color: var(--task-completed-color);
z-index: 3;
}
.progress-in-progress {
background-color: var(--task-in-progress-color);
z-index: 2;
position: absolute;
top: 0;
height: 100%;
}
.progress-abandoned {
background-color: var(--task-abandoned-color);
z-index: 1;
position: absolute;
top: 0;
height: 100%;
}
.progress-planned {
background-color: var(--task-planned-color);
z-index: 1;
position: absolute;
top: 0;
height: 100%;
}
.progress-bar-inline-background {
color: #000 !important;
background-color: var(--progress-background-color);
border-radius: 10px;
flex-direction: row;
justify-content: flex-start;
align-items: center;
width: 85px;
position: relative;
overflow: hidden;
}
.progress-bar-inline-background.hidden {
display: none;
}
.cm-task-progress-bar .task-status-indicator {
display: inline-block;
margin-right: 2px;
}
.cm-task-progress-bar .completed-indicator {
color: var(--task-completed-color);
}
.cm-task-progress-bar .in-progress-indicator {
color: var(--task-in-progress-color);
}
.cm-task-progress-bar .abandoned-indicator {
color: var(--task-abandoned-color);
}
.cm-task-progress-bar .planned-indicator {
color: var(--task-planned-color);
}
.cm-task-progress-bar.with-number {
display: inline-flex;
align-items: center;
}
.HyperMD-header .cm-task-progress-bar.with-number .progress-bar-inline-background,
.HyperMD-header .cm-task-progress-bar.with-number .progress-status {
margin-bottom: 5px;
}
.cm-task-progress-bar.with-number .progress-bar-inline-background {
margin-bottom: -2px;
width: 42px;
}
.cm-task-progress-bar.with-number .progress-status {
font-size: 13px;
margin-left: 3px;
}
.theme-dark .progress-completed {
background-color: var(--task-completed-color);
}
.theme-dark .progress-in-progress {
background-color: var(--task-in-progress-color);
}
.theme-dark .progress-abandoned {
background-color: var(--task-abandoned-color);
}
.theme-dark .progress-planned {
background-color: var(--task-planned-color);
}
.task-progress-bar-popover {
width: 400px;
}
/* src/styles/task-timer.css */
.task-timer-widget {
display: block;
margin: 4px 0;
padding: 2px 0;
font-size: 0.9em;
color: var(--text-muted);
line-height: 1.4;
}
.task-timer-start,
.task-timer-action {
cursor: pointer;
text-decoration: underline;
color: var(--text-accent);
}
.task-timer-start:hover,
.task-timer-action:hover {
color: var(--text-accent-hover);
}
/* src/styles/setting.css */
.experimental-settings-section {
margin: 20px 0;
}
.experimental-section-heading {
margin: 20px 0 10px 0;
color: var(--text-normal);
}
.experimental-subsection-heading {
margin: 15px 0 8px 0;
color: var(--text-muted);
font-size: 0.9em;
}
.experimental-warning {
background: var(--background-modifier-error);
color: var(--text-on-accent);
padding: 12px;
border-radius: 6px;
margin: 10px 0 20px 0;
border-left: 4px solid var(--color-red);
}
.experimental-dataflow-section {
margin: 15px 0;
padding: 15px;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
}
.experimental-info {
color: var(--text-muted);
font-size: 0.85em;
margin-top: 8px;
line-height: 1.4;
}
.experimental-restart-notice {
background: var(--background-modifier-form-field);
color: var(--text-muted);
padding: 8px;
border-radius: 4px;
margin-top: 10px;
font-size: 0.85em;
}
.task-states-container {
margin: 10px 0;
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 10px;
}
.task-state-row {
margin-bottom: 8px;
}
.task-state-row .setting-item {
border: none;
padding: 6px;
border-radius: 4px;
}
.task-state-row .setting-item-info {
margin-right: 10px;
}
.task-state-row .setting-item-control {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: nowrap;
}
.task-state-row .setting-item-control input[type=text] {
margin-right: 8px;
}
.task-state-row .extra-setting-button {
padding: 4px;
width: 24px;
height: 24px;
border-radius: 4px;
margin-left: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.task-state-row .setting-item-control button {
white-space: nowrap;
}
.task-state-container {
margin-inline-start: calc(var(--checkbox-size) * -1);
}
.task-state-container .task-state {
padding-inline-start: var(--size-2-1);
padding-inline-end: var(--size-2-2);
text-decoration: none !important;
cursor: pointer;
}
.experimental-settings-section {
margin: 20px 0;
}
.experimental-section-heading {
margin: 20px 0 10px 0;
color: var(--text-normal);
}
.experimental-subsection-heading {
margin: 15px 0 8px 0;
color: var(--text-muted);
font-size: 0.9em;
}
.experimental-warning {
background: var(--background-modifier-error);
color: var(--text-on-accent);
padding: 12px;
border-radius: 6px;
margin: 10px 0 20px 0;
border-left: 4px solid var(--color-red);
}
.experimental-dataflow-section {
margin: 15px 0;
padding: 15px;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
}
.experimental-info {
color: var(--text-muted);
font-size: 0.85em;
margin-top: 8px;
line-height: 1.4;
}
.experimental-restart-notice {
background: var(--background-modifier-form-field);
color: var(--text-muted);
padding: 8px;
border-radius: 4px;
margin-top: 10px;
font-size: 0.85em;
}
.task-states-container {
margin: 10px 0;
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 10px;
}
.task-state-row {
margin-bottom: 8px;
}
.task-state-row .setting-item {
border: none;
padding: 6px;
border-radius: 4px;
}
.task-state-row .setting-item-info {
margin-right: 10px;
}
.task-state-row .setting-item-control {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: nowrap;
}
.task-state-row .setting-item-control input[type=text] {
margin-right: 8px;
}
.task-state-row .extra-setting-button {
padding: 4px;
width: 24px;
height: 24px;
border-radius: 4px;
margin-left: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.task-state-row .setting-item-control button {
white-space: nowrap;
}
.task-state-container {
margin-inline-start: calc(var(--checkbox-size) * -1);
}
.task-state-container .task-state {
padding-inline-start: var(--size-2-1);
padding-inline-end: var(--size-2-2);
text-decoration: none !important;
cursor: pointer;
}
.task-genius-settings .settings-tabs-categorized-container {
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-4);
display: flex;
flex-direction: column;
gap: var(--size-4-6);
}
.task-genius-settings .settings-category-section {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.task-genius-settings .settings-category-header {
font-size: var(--font-ui-small);
font-weight: var(--font-weight-semibold);
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0 var(--size-4-2);
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: var(--size-4-1);
}
.task-genius-settings .settings-category-tabs {
display: grid;
grid-template-columns: repeat(3, minmax(200px, 1fr));
gap: var(--size-4-2);
}
@media (max-width: 1200px) {
.task-genius-settings .settings-category-tabs {
grid-template-columns: repeat(2, minmax(200px, 1fr));
}
}
@media (max-width: 768px) {
.task-genius-settings .settings-category-tabs {
grid-template-columns: 1fr;
}
}
.task-genius-settings .settings-tabs-container {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: var(--size-4-18);
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-4);
height: fit-content;
gap: var(--size-4-4);
}
@media (max-width: 768px) {
.task-genius-settings .settings-tabs-container {
grid-template-columns: repeat(1, 1fr);
}
}
.task-genius-settings .settings-tab {
padding: var(--size-4-3) var(--size-4-4);
border-radius: var(--radius-m);
cursor: pointer;
display: flex;
align-items: center;
gap: var(--size-4-2);
min-height: var(--size-4-12);
border: 1px solid var(--background-modifier-border);
background: var(--background-primary);
position: relative;
overflow: hidden;
transition: all 0.2s ease;
}
.task-genius-settings .settings-tab::after {
content: "";
position: absolute;
top: 10px;
right: -80px;
width: 200px;
height: 200px;
background-color: var(--background-secondary-alt);
transform: rotateZ(-15deg);
z-index: 0;
opacity: 0.7;
transition: all 0.3s ease;
border-radius: var(--radius-m);
}
.task-genius-settings .settings-tab:hover::after {
transform: rotateZ(-10deg);
opacity: 0.9;
}
.task-genius-settings .settings-tab-active::after {
background-color: var(--interactive-accent);
opacity: 0.3;
}
.task-genius-settings .settings-tab-icon,
.task-genius-settings .settings-tab span,
.task-genius-settings .settings-tab-label {
position: relative;
z-index: 1;
}
.task-genius-settings .settings-category-tabs .settings-tab-icon {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-4);
height: var(--size-4-4);
flex-shrink: 0;
}
.task-genius-settings .settings-category-tabs .settings-tab-icon svg {
width: var(--icon-s);
height: var(--icon-s);
}
.task-genius-settings .settings-category-tabs .settings-tab-label {
font-size: var(--font-ui-small);
font-weight: var(--font-weight-medium);
flex: 1;
text-align: left;
}
.task-genius-settings .settings-category-tabs .settings-tab:hover {
background: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-m);
}
.task-genius-settings .settings-category-tabs .settings-tab-active {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
box-shadow: var(--shadow-m);
font-weight: var(--font-weight-semibold);
}
.task-genius-settings .settings-category-tabs .settings-tab-active:hover {
background: var(--interactive-accent-hover);
border-color: var(--interactive-accent-hover);
transform: translateY(-1px);
}
.task-genius-settings .settings-tab:hover {
background-color: var(--background-modifier-hover);
}
.task-genius-settings .settings-tab-active {
background-color: var(--background-modifier-border-hover);
font-weight: bold;
}
.task-genius-settings .settings-tab-sections {
overflow: hidden;
}
.task-genius-settings .settings-tab-section {
display: none;
}
.task-genius-settings .settings-tab-section-active {
display: block;
}
.task-genius-settings .settings-tab-section-header {
display: flex;
flex-direction: row-reverse;
align-items: center;
justify-content: space-between;
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-4);
}
.task-genius-settings .settings-tab-section-header .header-button {
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
font-size: var(--font-ui-small);
}
.task-genius-settings .settings-tab-section-header .header-button-icon {
--icon-size: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.task-genius-settings .settings-tab[data-tab-id=general] {
display: none;
}
.task-genius-settings .settings-tabs-categorized-container {
display: flex;
}
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .settings-tabs-categorized-container {
display: none;
}
.task-genius-settings .settings-tabs-container {
display: none;
}
.task-genius-settings:has(.settings-tab-active[data-tab-id=general]) .settings-tabs-container {
display: grid;
}
.task-genius-settings-header {
display: block;
}
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .task-genius-settings-header {
display: none;
}
.expression-examples {
margin-top: 8px;
border-radius: 5px;
}
.expression-example-item {
margin-bottom: var(--size-4-3);
padding: var(--size-4-2);
padding-left: var(--size-4-3);
padding-right: var(--size-4-3);
border-radius: var(--radius-s);
display: flex;
flex-direction: column;
gap: 6px;
border: 1px solid var(--background-modifier-border);
}
.expression-example-name {
font-weight: bold;
}
.expression-example-code {
padding: 4px 8px;
background-color: var(--background-secondary);
border-radius: 4px;
font-family: var(--font-monospace);
font-size: 0.9em;
overflow-wrap: break-word;
user-select: text;
}
.expression-example-use {
align-self: flex-end;
margin-top: 4px;
}
.custom-format-textarea {
height: 200px;
width: 100%;
font-family: var(--font-monospace);
resize: vertical;
}
.custom-format-preview-container {
margin-bottom: var(--size-4-3);
padding: var(--size-4-3);
border-radius: var(--radius-s);
background-color: var(--background-secondary);
display: flex;
flex-direction: column;
}
.custom-format-preview-label {
font-weight: bold;
margin-bottom: var(--size-4-2);
color: var(--text-muted);
}
.custom-format-preview-content {
padding: var(--size-4-2);
background-color: var(--background-primary);
border-radius: var(--radius-s);
font-family: var(--font-interface);
}
.custom-format-placeholder-info {
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-2);
user-select: text;
}
.custom-format-preview-error,
.expression-preview-error {
color: var(--text-error);
}
.expression-example-preview {
margin-top: var(--size-4-2);
padding: var(--size-4-2);
background-color: var(--background-primary-alt);
border-radius: var(--radius-s);
font-size: 0.9em;
}
.preset-filters-container {
margin-top: 10px;
padding: 8px;
border-radius: 5px;
border: 1px solid var(--background-modifier-border);
}
.preset-filter-row {
margin-bottom: 5px;
border-radius: 4px;
padding-top: var(--size-4-2);
padding-left: var(--size-4-2);
padding-right: var(--size-4-2);
transition: background-color 0.2s ease;
}
.preset-filter-row:hover {
background-color: var(--background-secondary-alt);
}
.no-presets-message {
font-style: italic;
color: var(--text-muted);
text-align: center;
padding: 15px;
}
.preset-saved-message {
color: var(--text-accent);
font-weight: bold;
text-align: center;
padding: 5px;
margin-top: 5px;
animation: fadeIn 0.3s ease-in-out;
}
.task-filter-save-preset {
margin-top: 15px;
padding: 10px;
border-radius: 5px;
background-color: var(--background-secondary-alt);
}
.tg-modal-button-container {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
}
.tg-modal-button-container button {
padding: 6px 12px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
}
.tg-modal-button-container button.mod-warning {
background-color: var(--background-modifier-error);
color: white;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.modal-workflow-definition {
max-width: 800px;
width: 90vw;
}
.modal-stage-definition {
max-width: 800px;
width: 90vw;
}
.workflow-container {
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 15px;
max-height: 500px;
overflow-y: auto;
background-color: var(--background-primary);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.workflow-row {
margin-bottom: 15px;
padding: 12px;
border-radius: 6px;
background-color: var(--background-secondary-alt);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
border-left: 3px solid var(--interactive-accent);
}
.workflow-row .setting-item {
border: none;
padding: 0;
}
.workflow-row .setting-item-info {
padding: 0 !important;
}
.workflow-row .setting-item-name {
font-size: 16px;
font-weight: 600;
color: var(--text-normal);
}
.workflow-row .setting-item-description {
font-size: 13px;
color: var(--text-muted);
margin-top: 4px;
}
.workflow-stages-info {
margin-top: 12px;
padding: 8px 0 0 0;
border-top: 1px solid var(--background-modifier-border);
}
.workflow-stages-list {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: var(--size-2-2);
padding: 0;
margin: 0;
}
.workflow-stage-item {
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
display: inline-flex;
align-items: center;
background-color: var(--background-modifier-border);
}
.workflow-stage-cycle {
background-color: var(--task-in-progress-color);
color: var(--text-on-accent);
}
.workflow-stage-terminal {
background-color: var(--task-completed-color);
color: var(--text-on-accent);
}
.no-workflows-message {
font-style: italic;
color: var(--text-muted);
text-align: center;
padding: 15px;
}
.workflow-form {
margin-bottom: 20px;
}
.workflow-stages-section {
margin-top: 20px;
border-top: 1px solid var(--background-modifier-border);
padding-top: 15px;
}
.workflow-stages-section h2 {
margin-top: 0;
margin-bottom: 15px;
font-size: 1.3em;
color: var(--text-normal);
}
.workflow-stages-container {
margin-top: 15px;
}
.workflow-stages-container .workflow-stages-list {
display: block;
flex-wrap: unset;
gap: unset;
}
.workflow-stages-container .workflow-stage-item {
display: block;
margin-bottom: 10px;
padding: 0;
background-color: transparent;
}
.workflow-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 10px;
border-top: 1px solid var(--background-modifier-border);
}
.workflow-save-button,
.workflow-cancel-button,
.workflow-add-stage-button {
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
}
.workflow-save-button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-cancel-button {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.workflow-add-stage-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
margin-top: 10px;
}
.no-stages-message {
font-style: italic;
color: var(--text-muted);
text-align: center;
padding: 15px;
}
.workflow-stage-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 12px;
background-color: var(--background-secondary);
border-radius: 4px;
margin-bottom: 8px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.workflow-stage-name {
font-weight: 600;
flex: 1;
margin-right: 10px;
}
.workflow-stage-actions {
display: flex;
gap: 5px;
}
.workflow-stage-edit,
.workflow-stage-move-up,
.workflow-stage-move-down,
.workflow-stage-delete {
padding: 3px 8px;
border-radius: 3px;
background-color: var(--background-modifier-border);
cursor: pointer;
font-size: 12px;
border: none;
}
.workflow-stage-edit:hover,
.workflow-stage-move-up:hover,
.workflow-stage-move-down:hover {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-stage-delete:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.workflow-stage-type-badge {
display: inline-block;
padding: 2px 6px;
margin-left: 8px;
border-radius: 3px;
font-size: 10px;
text-transform: uppercase;
font-weight: 600;
}
.workflow-stage-type-linear {
background-color: var(--background-modifier-border);
}
.workflow-stage-type-cycle {
background-color: var(--task-in-progress-color);
color: var(--text-on-accent);
}
.workflow-stage-type-terminal {
background-color: var(--task-completed-color);
color: var(--text-on-accent);
}
.workflow-substages-list {
padding: 0 0 0 var(--size-4-6);
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-2);
border-left: 2px solid var(--background-modifier-border);
}
.substage-settings-container {
width: 100%;
}
.stage-type-settings {
margin-top: 20px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 15px;
background-color: var(--background-primary);
}
.substages-section,
.can-proceed-to-section {
margin-top: 20px;
padding-top: 15px;
border-top: 1px solid var(--background-modifier-border);
}
.substages-container,
.can-proceed-to-container {
margin-top: 15px;
padding: 10px;
border-radius: 4px;
}
.substages-list,
.can-proceed-list {
list-style-type: none;
padding: 0;
margin: 0;
}
.substage-name-container {
display: flex;
gap: 10px;
align-items: center;
flex: 1;
}
.substage-name-container input {
padding: 4px 8px;
border-radius: 3px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
}
.substage-next-container {
display: flex;
align-items: center;
gap: 5px;
margin-left: 10px;
}
.substage-remove-button,
.can-proceed-remove-button {
color: var(--text-normal);
border-radius: 3px;
padding: 2px 5px;
cursor: pointer;
border: none;
}
.substage-remove-button:hover,
.can-proceed-remove-button:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.add-substage-button,
.add-can-proceed-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
padding: 4px 10px;
border-radius: 4px;
margin-top: 10px;
cursor: pointer;
border: none;
}
.add-can-proceed-container {
display: flex;
gap: 10px;
align-items: flex-end;
}
.add-can-proceed-select {
flex: 1;
padding: 4px 8px;
border-radius: 3px;
border: 1px solid var(--background-modifier-border);
}
.stage-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 10px;
border-top: 1px solid var(--background-modifier-border);
}
.stage-save-button,
.stage-cancel-button {
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
border: none;
}
.stage-save-button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.stage-cancel-button {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.stage-error-message {
color: var(--background-modifier-error);
font-weight: bold;
text-align: center;
margin-top: 10px;
padding: 8px;
border-radius: 4px;
}
.task-workflow-tag {
display: inline-block;
padding: 2px 5px;
border-radius: 3px;
margin-left: 5px;
font-size: 12px;
background-color: var(--background-secondary-alt);
}
.task-workflow-stage {
margin-left: 5px;
color: var(--text-accent);
}
.task-workflow-substage {
font-size: 11px;
color: var(--text-muted);
}
.task-workflow-history {
margin-left: 20px;
font-size: 12px;
color: var(--text-muted);
}
.task-workflow-timestamp {
color: var(--text-faint);
}
.setting-item-control span[class^=workflow-stage-name-] {
display: inline-block;
padding: 2px 6px;
border-radius: 3px;
font-size: 12px;
font-weight: 500;
margin-right: 5px;
}
.setting-item-control .workflow-stage-name-cycle {
background-color: var(--task-in-progress-color);
color: var(--text-on-accent);
}
.setting-item-control .workflow-stage-name-terminal {
background-color: var(--task-completed-color);
color: var(--text-on-accent);
}
.workflow-stage-item {
margin-right: 4px;
}
.workflow-stages-container .workflow-stage-header {
padding: 8px 12px;
background-color: var(--background-secondary);
border-radius: 4px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
margin-bottom: 8px;
}
.workflow-stages-container .workflow-stage-type-badge {
display: inline-block;
padding: 2px 6px;
margin-left: 8px;
border-radius: 3px;
font-size: 10px;
text-transform: uppercase;
font-weight: 600;
}
.workflow-substages-list {
list-style-type: none;
padding: 0 0 0 20px;
margin: 5px 0 10px 0;
border-left: 2px solid var(--background-modifier-border);
}
.workflow-add-stage-button,
.stage-save-button.mod-cta,
.workflow-save-button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
padding: 6px 15px;
border-radius: 4px;
font-weight: 500;
border: none;
cursor: pointer;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: all 0.2s ease;
text-align: center;
}
.workflow-add-stage-button:hover,
.stage-save-button.mod-cta:hover,
.workflow-save-button.mod-cta:hover {
background-color: var(--interactive-accent-hover);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
transform: translateY(-1px);
}
.workflow-stage-move-up,
.workflow-stage-move-down,
.workflow-stage-edit,
.workflow-stage-delete {
border: none;
background-color: var(--background-modifier-border);
padding: 3px 8px;
border-radius: 3px;
font-size: 12px;
cursor: pointer;
transition: all 0.2s ease;
}
.workflow-stage-move-up:hover,
.workflow-stage-move-down:hover,
.workflow-stage-edit:hover {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-stage-delete:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.substage-item {
display: flex;
justify-content: flex-end;
align-items: center;
padding: 6px 0;
margin-bottom: 5px;
border-radius: 4px;
}
.substage-name-container input {
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
padding: 4px 8px;
border-radius: 3px;
font-size: 13px;
}
.substage-name-container input:focus {
border-color: var(--interactive-accent);
outline: none;
}
.no-stages-message,
.no-workflows-message,
.no-substages-message,
.no-can-proceed-message {
font-style: italic;
color: var(--text-muted);
padding: 15px;
text-align: center;
background-color: var(--background-secondary-alt);
border-radius: 5px;
margin: 10px 0;
}
.rewards-levels-container,
.rewards-items-container {
margin-top: 10px;
padding: 15px;
border-radius: 5px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.rewards-level-row .setting-item-info,
.rewards-item-row .setting-item-info {
display: none;
}
.rewards-item-row.setting-item {
border-top: 0;
}
.rewards-level-row .setting-item-control,
.rewards-item-row .setting-item-control {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
}
.rewards-level-row .setting-item-control input[type=text] {
flex: 1;
min-width: 100px;
}
.rewards-item-row .setting-item-control .input-container {
flex: 1;
min-width: 150px;
}
.rewards-item-row .setting-item-control textarea {
width: 100%;
min-height: 40px;
resize: vertical;
}
.rewards-item-row .setting-item-control .dropdown {
min-width: 120px;
}
.rewards-level-row .setting-item-control button,
.rewards-item-row .setting-item-control button {
margin-left: auto;
}
.rewards-item-divider {
border: none;
height: 1px;
background-color: var(--background-modifier-border);
margin-top: 15px;
margin-bottom: 15px;
}
.setting-item.sort-criterion-row .setting-item-info {
display: none;
}
.setting-item.sort-criterion-row select.dropdown {
flex: 1;
}
.view-edit-button,
.view-copy-button,
.view-order-button,
.view-delete-button {
padding: 4px;
width: 24px;
height: 24px;
border-radius: 4px;
margin-left: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.view-copy-button {
color: var(--interactive-accent);
}
.view-copy-button:hover {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.view-delete-button {
color: var(--text-error);
}
.view-delete-button:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.view-icon {
margin-right: 8px;
--icon-size: 16px;
}
.copy-mode-info {
margin: 10px 0;
padding: 12px;
background-color: var(--background-secondary-alt);
border-radius: 5px;
border-left: 3px solid var(--interactive-accent);
}
.copy-mode-info p {
margin: 4px 0;
}
.tasks-compatibility-warning {
display: flex;
align-items: flex-start;
gap: var(--size-4-3);
padding: var(--size-4-4);
margin-bottom: var(--size-4-4);
background-color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
border-radius: var(--radius-m);
color: var(--text-on-accent);
}
.tasks-warning-icon {
font-size: 20px;
line-height: 1;
flex-shrink: 0;
}
.tasks-warning-content {
flex: 1;
display: flex;
flex-direction: column;
gap: var(--size-2-2);
}
.tasks-warning-title {
font-weight: 600;
font-size: var(--font-ui-medium);
}
.tasks-warning-text {
color: var(--text-on-accent);
font-size: var(--font-ui-small);
line-height: 1.4;
}
.tasks-warning-text a {
color: var(--text-on-accent);
text-decoration: underline;
}
.tasks-warning-text a:hover {
color: var(--text-on-accent);
}
.task-genius-format-examples {
display: flex;
flex-direction: column;
gap: var(--size-2-3);
padding: var(--size-4-3);
margin: var(--size-4-3) 0;
border-radius: var(--radius-m);
background-color: var(--background-secondary-alt);
border: 1px solid var(--background-modifier-border);
}
.task-genius-format-examples strong {
font-size: var(--font-ui-medium);
font-weight: 600;
color: var(--text-normal);
margin-bottom: var(--size-2-1);
}
.task-genius-format-examples span {
font-family: var(--font-monospace);
font-size: var(--font-ui-smaller);
line-height: 1.5;
color: var(--text-muted);
padding: var(--size-2-1) var(--size-2-3);
background-color: var(--background-primary);
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
margin: var(--size-2-1) 0;
}
.task-genius-format-examples span:first-of-type {
margin-top: 0;
}
.task-genius-format-examples span:last-of-type {
margin-bottom: 0;
}
.project-path-mappings-container,
.project-metadata-mappings-container {
margin-top: 10px;
}
.project-path-mapping-row,
.project-metadata-mapping-row {
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
margin-bottom: 10px;
padding: 10px;
}
.no-mappings-message {
color: var(--text-muted);
font-style: italic;
text-align: center;
padding: 20px;
}
.task-project-tg {
opacity: 0.8;
font-style: italic;
border-left: 2px solid var(--color-accent);
padding-left: 4px;
}
.task-project-tg::before {
content: "\1f517";
margin-right: 2px;
font-size: 0.8em;
}
.project-readonly {
opacity: 0.8;
}
.project-readonly input {
background-color: var(--background-modifier-border);
cursor: not-allowed;
}
.project-source-indicator {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-style: italic;
margin-top: 4px;
}
.task-genius-date-formats-container {
margin-top: 15px;
padding: 15px;
background-color: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.task-genius-formats-header {
margin-top: 0;
margin-bottom: 10px;
font-size: 1.1em;
font-weight: 600;
color: var(--text-normal);
}
.task-genius-format-list {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 15px;
}
.task-genius-format-item {
display: flex;
align-items: center;
gap: 10px;
padding: 8px;
background-color: var(--background-primary);
border-radius: 6px;
border: 1px solid var(--background-modifier-border);
transition: all 0.2s ease;
}
.task-genius-format-item:hover {
border-color: var(--interactive-accent);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.task-genius-format-input {
flex: 1;
padding: 6px 10px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
color: var(--text-normal);
font-family: var(--font-monospace);
font-size: 0.95em;
transition: border-color 0.2s ease;
}
.task-genius-format-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.task-genius-format-input::placeholder {
color: var(--text-faint);
font-style: italic;
}
.task-genius-format-delete-btn {
width: 28px;
height: 28px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
border: none;
border-radius: 4px;
font-size: 20px;
font-weight: bold;
cursor: pointer;
transition: all 0.2s ease;
}
.task-genius-format-delete-btn:hover {
background-color: var(--background-modifier-error-hover);
transform: scale(1.1);
}
.task-genius-add-format-btn {
padding: 10px 16px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
align-self: flex-start;
margin-top: 5px;
}
.task-genius-add-format-btn:hover {
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
transform: translateY(-1px);
}
.task-genius-add-format-btn:active {
transform: translateY(0);
}
.task-genius-date-examples {
margin-top: 20px;
padding: 15px;
background-color: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.task-genius-examples-header {
margin-top: 0;
margin-bottom: 12px;
font-size: 1em;
font-weight: 600;
color: var(--text-normal);
}
.task-genius-date-examples-table {
width: 100%;
border-collapse: collapse;
font-size: 0.9em;
}
.task-genius-date-examples-table th,
.task-genius-date-examples-table td {
padding: 8px 12px;
text-align: left;
border: 1px solid var(--background-modifier-border);
}
.task-genius-date-examples-table th {
background-color: var(--background-secondary-alt);
font-weight: 600;
color: var(--text-normal);
}
.task-genius-date-examples-table td {
background-color: var(--background-primary);
font-family: var(--font-monospace);
}
.task-genius-date-examples-table tr:nth-child(even) td {
background-color: var(--background-primary-alt);
}
.task-genius-date-examples-table tr:hover td {
background-color: var(--background-modifier-hover);
}
/* src/styles/setting-v2.css */
.tg-status-icon {
display: inline-flex;
align-items: center;
vertical-align: middle;
margin-right: var(--size-2-3);
margin-top: calc(-1 * var(--size-2-1));
}
.tg-icons-container {
display: flex;
gap: var(--size-2-2);
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
.tg-icons-container .tg-status-icon {
margin-right: 0;
margin-top: 0;
}
.global-filter-container {
margin-bottom: 20px;
padding: 10px;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background-color: var(--background-secondary);
}
.task-genius-metadata-fields-container,
.task-genius-tags-container,
.task-genius-paths-container,
.task-genius-date-formats-container {
margin: 1rem 0;
padding: 1rem;
background: var(--background-secondary);
border-radius: 8px;
}
.task-genius-fields-header,
.task-genius-tags-header,
.task-genius-paths-header,
.task-genius-formats-header,
.task-genius-examples-header {
font-size: 0.95em;
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--text-normal);
}
.task-genius-field-list,
.task-genius-tag-list,
.task-genius-path-list,
.task-genius-format-list {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 1rem;
}
.task-genius-field-item,
.task-genius-tag-item,
.task-genius-path-item,
.task-genius-format-item {
display: flex;
align-items: center;
gap: 0.5rem;
background: var(--background-primary);
padding: 0.5rem;
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
transition: border-color 0.2s;
}
.task-genius-field-item:hover,
.task-genius-tag-item:hover,
.task-genius-path-item:hover,
.task-genius-format-item:hover {
border-color: var(--interactive-accent);
}
.task-genius-field-input,
.task-genius-tag-input,
.task-genius-path-input,
.task-genius-format-input {
flex: 1;
padding: 0.4rem;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
color: var(--text-normal);
font-family: var(--font-interface);
font-size: 0.9em;
}
.task-genius-field-input:focus,
.task-genius-tag-input:focus,
.task-genius-path-input:focus,
.task-genius-format-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.task-genius-field-delete-btn,
.task-genius-tag-delete-btn,
.task-genius-path-delete-btn,
.task-genius-format-delete-btn {
width: 28px;
height: 28px;
padding: 0;
border: none;
background: var(--background-modifier-error);
color: var(--text-on-accent);
border-radius: 4px;
cursor: pointer;
font-size: 1.2em;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
transition: background-color 0.2s;
}
.task-genius-field-delete-btn:hover,
.task-genius-tag-delete-btn:hover,
.task-genius-path-delete-btn:hover,
.task-genius-format-delete-btn:hover {
background: var(--background-modifier-error-hover);
}
.task-genius-add-field-btn,
.task-genius-add-tag-btn,
.task-genius-add-path-btn,
.task-genius-add-format-btn {
padding: 0.5rem 1rem;
background: var(--background-primary);
color: var(--text-muted);
border-radius: 4px;
cursor: pointer;
font-size: 0.9em;
transition: all 0.2s;
}
.task-genius-add-field-btn:hover,
.task-genius-add-tag-btn:hover,
.task-genius-add-path-btn:hover,
.task-genius-add-format-btn:hover {
border-color: var(--interactive-accent);
color: var(--interactive-accent);
}
.task-genius-date-examples {
margin-top: 1rem;
padding: 1rem;
background: var(--background-secondary);
border-radius: 8px;
}
.task-genius-date-examples-table {
width: 100%;
border-collapse: collapse;
font-size: 0.9em;
}
.task-genius-date-examples-table th {
text-align: left;
padding: 0.5rem;
border-bottom: 1px solid var(--background-modifier-border);
color: var(--text-muted);
font-weight: 500;
}
.task-genius-date-examples-table td {
padding: 0.4rem 0.5rem;
border-bottom: 1px solid var(--background-modifier-border-hover);
color: var(--text-normal);
}
.task-genius-date-examples-table tr:last-child td {
border-bottom: none;
}
.task-genius-date-examples-table tr:hover td {
background: var(--background-primary-alt);
}
.task-genius-iframe-modal {
width: 90%;
max-width: 1400px;
max-height: 90vh;
overflow-y: auto;
}
.task-genius-iframe-modal .modal-title {
display: flex;
flex-direction: row;
}
.time-parsing-example {
padding: var(--size-2-2);
background-color: var(--background-secondary);
border-radius: var(--radius-s);
margin-top: var(--size-2-2);
margin-bottom: var(--size-2-2);
padding-left: var(--size-4-2);
padding-right: var(--size-4-2);
font-size: var(--font-ui-small);
}
.task-genius-settings .setting-item-control input[type=time] {
border: 1px solid var(--background-modifier-border);
padding: var(--size-2-2);
border-radius: var(--radius-s);
}
.task-genius-settings .file-source-strategy-container {
border-top: 1px solid var(--background-modifier-border);
padding-top: var(--size-4-4);
}
/* src/styles/beta-warning.css */
.beta-test-warning-banner {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 16px;
margin-bottom: 20px;
border: 1px solid var(--color-orange);
border-radius: 8px;
}
.beta-warning-icon {
font-size: 20px;
line-height: 1;
flex-shrink: 0;
margin-top: 2px;
}
.beta-warning-content {
flex: 1;
min-width: 0;
}
.beta-warning-title {
font-weight: 600;
font-size: 14px;
color: var(--text-normal);
margin-bottom: 8px;
}
.beta-warning-text {
font-size: 13px;
line-height: 1.4;
color: var(--text-muted);
}
/* src/styles/settings-search.css */
.tg-settings-search-input-container {
position: relative;
display: flex;
align-items: center;
background: var(--input-background);
border: var(--input-border-width) solid var(--background-modifier-border);
border-radius: var(--radius-s);
transition: all 0.15s ease-in-out;
min-height: var(--input-height);
}
.tg-settings-search-input-container:focus-within {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
.tg-settings-search-icon {
display: flex;
align-items: center;
justify-content: center;
padding: 0 var(--size-4-2);
color: var(--text-muted);
flex-shrink: 0;
}
.tg-settings-search-icon svg {
width: var(--icon-s);
height: var(--icon-s);
}
.tg-settings-search-input {
flex: 1;
padding: var(--size-2-2) var(--size-2-1);
border: none !important;
background: transparent !important;
color: var(--text-normal);
font-size: var(--font-ui-medium);
outline: none;
}
input.tg-settings-search-input {
border: none !important;
box-shadow: none !important;
}
.tg-settings-search-input::placeholder {
color: var(--text-muted);
opacity: 0.7;
}
.tg-settings-search-clear {
display: flex;
align-items: center;
justify-content: center;
padding: var(--size-2-1);
margin-right: var(--size-2-1);
border: none !important;
background: transparent !important;
color: var(--text-muted);
cursor: pointer;
border-radius: var(--button-radius);
transition: all 0.15s ease-in-out;
box-shadow: none !important;
flex-shrink: 0;
width: var(--clickable-icon-size);
height: var(--clickable-icon-size);
}
.tg-settings-search-clear:hover {
background: var(--background-modifier-hover) !important;
color: var(--text-normal);
}
.tg-settings-search-clear:active {
background: var(--background-modifier-active) !important;
}
.tg-settings-search-clear svg {
width: var(--icon-xs);
height: var(--icon-xs);
}
.tg-settings-search-results {
position: absolute;
top: calc(100% + var(--size-2-1));
left: 0;
right: 0;
background: var(--background-primary);
border: var(--border-width) solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-l);
z-index: var(--layer-popover);
max-height: 320px;
overflow-y: auto;
overflow-x: hidden;
}
.tg-settings-search-result {
display: flex;
flex-direction: column;
padding: var(--size-4-2) var(--size-4-3);
cursor: pointer;
border-bottom: var(--border-width) solid var(--background-modifier-border-hover);
transition: background-color 0.1s ease-in-out;
position: relative;
}
.tg-settings-search-result:last-child {
border-bottom: none;
}
.tg-settings-search-result:hover,
.tg-settings-search-result-selected {
background: var(--background-modifier-hover);
}
.tg-settings-search-result:active {
background: var(--background-modifier-active);
}
.tg-settings-search-result-name {
font-weight: var(--font-weight-medium);
color: var(--text-normal);
margin-bottom: var(--size-2-1);
font-size: var(--font-ui-medium);
line-height: var(--line-height-tight);
}
.tg-settings-search-result-meta {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-bottom: var(--size-2-1);
}
.tg-settings-search-result-category {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
background: var(--background-modifier-border);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-weight: var(--font-weight-medium);
text-transform: uppercase;
letter-spacing: 0.02em;
}
.tg-settings-search-result-desc {
font-size: var(--font-ui-small);
color: var(--text-muted);
line-height: var(--line-height-normal);
margin-top: var(--size-2-1);
}
.tg-settings-search-no-result {
padding: var(--size-4-4) var(--size-4-3);
text-align: center;
color: var(--text-muted);
font-size: var(--font-ui-medium);
font-style: italic;
}
.tg-settings-search-highlight {
background: var(--background-secondary) !important;
border-radius: var(--radius-s);
transition: background-color 0.6s ease-out;
animation: tg-settings-search-pulse 0.6s ease-out;
}
@keyframes tg-settings-search-pulse {
0% {
background: var(--interactive-accent);
transform: scale(1);
}
50% {
background: var(--background-secondary);
transform: scale(1.01);
}
100% {
background: var(--background-secondary);
transform: scale(1);
}
}
.tg-settings-search-result-selected {
background: var(--background-modifier-hover) !important;
outline: var(--border-width) solid var(--interactive-accent);
outline-offset: -1px;
}
@media (max-width: 768px) {
.tg-settings-search-results {
max-height: 280px;
border-radius: var(--radius-s);
}
.tg-settings-search-result {
padding: var(--size-4-2) var(--size-4-2);
}
.tg-settings-search-result-name {
font-size: var(--font-ui-small);
}
.tg-settings-search-result-category {
font-size: var(--font-ui-smaller);
padding: var(--size-2-1) var(--size-2-1);
}
}
.tg-settings-search-results {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb-bg) transparent;
}
.tg-settings-search-results::-webkit-scrollbar {
width: var(--scrollbar-thin-width);
}
.tg-settings-search-results::-webkit-scrollbar-track {
background: transparent;
}
.tg-settings-search-results::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb-bg);
border-radius: var(--scrollbar-thin-thumb-radius);
border: 2px solid transparent;
background-clip: content-box;
}
.tg-settings-search-results::-webkit-scrollbar-thumb:hover {
background: var(--scrollbar-thumb-bg-hover);
background-clip: content-box;
}
.task-genius-settings .settings-tabs-categorized-container {
margin-top: var(--size-4-3);
}
.tg-settings-search-results {
z-index: var(--layer-popover, 200);
}
.tg-settings-search-input:focus {
border: none !important;
outline: none !important;
box-shadow: none !important;
}
.tg-settings-search-icon {
transition: color 0.15s ease-in-out;
}
.tg-settings-search-input-container:focus-within .tg-settings-search-icon {
color: var(--interactive-accent);
}
.tg-settings-search-clear {
opacity: 0.8;
}
.tg-settings-search-clear:hover {
opacity: 1;
}
/* src/styles/settings-migration.css */
.setting-item-info.mod-warning {
border: 1px solid var(--background-modifier-error);
border-radius: 6px;
padding: 16px;
margin: 12px 0;
}
.setting-item-info.mod-warning .setting-item-name {
font-weight: 600;
color: var(--text-error);
margin-bottom: 8px;
}
.setting-item-info.mod-warning .setting-item-description {
color: var(--text-muted);
margin-bottom: 12px;
}
.setting-item-info.mod-warning .setting-item-description p {
margin: 4px 0;
}
.setting-item-info.mod-warning .setting-item-control {
display: flex;
gap: 8px;
align-items: center;
}
.setting-item-info.mod-warning button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 4px;
padding: 8px 16px;
cursor: pointer;
font-weight: 500;
}
.setting-item-info.mod-warning button.mod-cta:hover {
background-color: var(--interactive-accent-hover);
}
.setting-item-info.mod-warning button.mod-muted {
background-color: transparent;
color: var(--text-muted);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 8px 16px;
cursor: pointer;
}
.setting-item-info.mod-warning button.mod-muted:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.setting-item-info.mod-success {
background-color: var(--color-green-bg);
border: 1px solid var(--color-green);
border-radius: 6px;
padding: 16px;
margin: 12px 0;
}
.setting-item-info.mod-success .setting-item-name {
font-weight: 600;
color: var(--color-green);
margin-bottom: 8px;
}
.file-source-notice {
background-color: var(--background-modifier-border);
border-radius: 6px;
padding: 12px;
margin: 8px 0;
}
.file-source-notice .notice-title {
font-weight: 600;
margin-bottom: 4px;
}
.file-source-notice .notice-description {
color: var(--text-muted);
font-size: 0.9em;
}
/* src/styles/workspace-settings-selector.css */
.tg-settings-header-bar {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 20px;
width: 100%;
}
.tg-workspace-selector-container {
flex-shrink: 0;
}
.workspace-settings-selector {
display: inline-block;
}
.workspace-settings-selector-button {
display: flex;
align-items: center;
gap: 8px;
padding: 6px 12px;
background-color: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
cursor: pointer;
transition: all 0.15s ease;
min-width: 150px;
height: 34px;
}
.workspace-settings-selector-button:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
}
.workspace-settings-selector-button:active {
background-color: var(--background-modifier-active-hover);
}
.workspace-settings-selector-button .workspace-icon {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
flex-shrink: 0;
}
.workspace-settings-selector-button .workspace-icon svg {
width: 16px;
height: 16px;
fill: var(--text-muted);
}
.workspace-settings-selector-button .workspace-name {
flex: 1;
font-size: 14px;
color: var(--text-normal);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.workspace-settings-selector-button .workspace-dropdown-icon {
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
flex-shrink: 0;
margin-left: auto;
}
.workspace-settings-selector-button .workspace-dropdown-icon svg {
width: 12px;
height: 12px;
fill: var(--text-muted);
transition: transform 0.15s ease;
}
.workspace-settings-selector-button:hover .workspace-dropdown-icon svg {
fill: var(--text-normal);
}
.tg-settings-header-bar .tg-settings-search-container {
flex: 1;
max-width: none;
}
.tg-settings-header-bar .tg-settings-search-input-container {
width: 100%;
}
.tg-settings-main-container {
width: 100%;
}
.tg-settings-main-container .tg-settings-search-results {
margin-top: 8px;
}
@media (max-width: 768px) {
.tg-settings-header-bar {
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.workspace-settings-selector-button {
width: 100%;
min-width: unset;
}
.tg-settings-header-bar .tg-settings-search-container {
width: 100%;
}
}
/* src/styles/task-details.css */
.task-details .panel-toggle-container {
left: 10px;
}
.task-details {
width: 300px;
flex-shrink: 0;
border-left: 1px solid var(--background-modifier-border);
height: 100%;
overflow-y: auto;
display: flex;
flex-direction: column;
transition: all 0.3s ease-in-out;
position: relative;
min-width: 250px;
max-width: 400px;
background-color: var(--background-secondary);
order: 1;
}
.task-genius-container.details-hidden .task-details {
width: 0;
opacity: 0;
margin-right: -300px;
overflow: hidden;
}
.task-genius-container.details-visible .task-details {
width: 350px;
opacity: 1;
margin-right: 0;
}
.is-phone .task-details,
.is-mobile .task-details {
position: absolute;
right: 0;
top: 0;
height: 100%;
width: 100%;
max-width: 100%;
z-index: 10;
transform: translateX(100%);
}
.is-phone .task-genius-container.details-hidden .task-details,
.is-mobile .task-genius-container.details-hidden .task-details,
.is-mobile .tg-v2-container.details-hidden .task-details {
width: 100%;
margin-right: 0;
transform: translateX(100%);
}
.is-phone .task-genius-container.details-visible .task-details,
.is-mobile .task-genius-container.details-visible .task-details,
.is-mobile .tg-v2-container.details-visible .task-details {
width: calc(100% - var(--size-4-12));
transform: translateX(0);
}
.is-phone .task-genius-container.details-visible::before,
.is-mobile .task-genius-container.details-visible::before,
.is-mobile .tg-v2-container.details-visible::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .details-close-btn,
.is-mobile .details-close-btn {
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .details-header,
.is-mobile .details-header {
padding: var(--size-4-4);
}
.details-empty {
display: flex;
height: 100%;
align-items: center;
justify-content: center;
text-align: center;
color: var(--text-muted);
padding: 20px;
}
.details-header {
padding: var(--size-4-4);
padding-bottom: var(--size-4-3);
padding-top: var(--size-4-3);
font-weight: 600;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1.1em;
}
.details-content {
padding: var(--size-4-4);
display: flex;
flex-direction: column;
gap: var(--size-4-2);
overflow-y: auto;
padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8));
}
.details-name {
margin: 0 0 8px 0;
padding: 0;
font-size: 1.3em;
line-height: 1.3;
}
.details-status-container {
display: flex;
justify-content: space-between;
align-items: center;
}
.details-status-label {
text-transform: uppercase;
font-size: var(--font-ui-small);
}
.details-status {
display: inline-block;
padding: 4px 8px;
border-radius: 4px;
background-color: var(--color-accent);
color: var(--text-on-accent);
font-size: var(--font-ui-small);
}
.details-status-selector {
display: flex;
justify-content: space-evenly;
align-items: center;
}
.menu-item-title:has(.status-option) {
display: flex;
align-items: center;
gap: 4px;
}
.menu-item:has(.status-option-checkbox) .menu-item-icon {
display: none;
}
.menu-item:has(.status-option-icon) .menu-item-icon {
display: none;
}
.status-option-icon {
display: flex;
align-items: center;
justify-content: center;
margin-right: var(--size-2-2);
}
.status-option-checkbox {
display: flex;
align-items: center;
justify-content: center;
}
.status-option {
display: flex;
justify-content: center;
text-transform: uppercase;
}
.status-option.current {
outline-offset: 2px;
outline: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.3);
outline-style: dashed;
}
.status-option:not(.current) {
opacity: 0.8;
}
.status-option:not(.current):hover {
opacity: 1;
}
.status-option input.task-list-item-checkbox {
margin-inline-end: 0;
}
.details-metadata {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
.metadata-field {
display: flex;
flex-direction: column;
gap: 2px;
}
.metadata-label {
font-size: 0.8em;
color: var(--text-muted);
}
.metadata-value {
word-break: break-word;
font-size: 0.95em;
}
.details-actions {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 8px;
margin-bottom: var(--size-4-4);
}
.details-edit-btn,
.details-toggle-btn {
background-color: var(--interactive-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 6px 12px;
color: var(--text-normal);
cursor: pointer;
font-size: var(--font-ui-small);
}
.details-edit-btn:hover,
.details-toggle-btn:hover {
background-color: var(--interactive-hover);
}
.details-toggle-btn {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.details-edit-form {
display: flex;
flex-direction: column;
gap: 12px;
}
.details-form-field {
display: flex;
flex-direction: column;
gap: 4px;
}
.details-form-label {
font-size: 0.8em;
color: var(--text-muted);
font-weight: 500;
}
.details-form-input {
width: 100%;
}
.details-edit-content {
font-weight: 500;
}
.details-form-input input,
.details-form-input select {
width: 100%;
padding: 6px 8px;
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
}
.date-input {
width: 100%;
padding: 6px 8px;
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
}
.field-description {
font-size: 0.7em;
color: var(--text-muted);
margin-top: 2px;
}
.details-form-buttons {
display: flex;
justify-content: space-between;
margin-top: 16px;
gap: 8px;
}
.details-form-buttons button {
flex: 1;
justify-content: center;
}
.details-form-error {
color: var(--text-error);
font-size: 0.8em;
margin-top: 8px;
padding: 8px;
background-color: var(--background-modifier-error);
border-radius: 4px;
}
.details-edit-file-btn {
background-color: var(--interactive-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 6px 12px;
color: var(--text-normal);
cursor: pointer;
font-size: var(--font-ui-small);
}
.details-edit-file-btn:hover {
background-color: var(--interactive-hover);
}
.is-mobile .tg-v2-container .task-details {
position: fixed;
right: 0;
top: 0;
bottom: 0;
height: 100vh;
width: 85vw;
max-width: 400px;
z-index: 1001;
background-color: var(--background-secondary);
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.2);
}
.is-mobile .task-details .details-close-btn:hover {
background-color: var(--background-modifier-active-hover);
}
.is-mobile .details-content {
padding-bottom: var(--size-4-12);
}
@media screen and (max-width: 768px) {
.task-omnifocus-container {
flex-direction: column;
}
.task-sidebar {
width: 100%;
max-width: 100%;
height: auto;
border-right: none;
border-bottom: 1px solid var(--background-modifier-border);
}
.task-content {
width: 100%;
flex: 1;
}
.task-details {
width: 100%;
max-width: 100%;
border-left: none;
}
}
.project-source-indicator {
display: flex;
align-items: center;
gap: 4px;
margin-top: 4px;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.85em;
line-height: 1.2;
}
.project-source-indicator .indicator-icon {
font-size: 0.9em;
}
.project-source-indicator .indicator-text {
color: var(--text-muted);
}
.project-source-indicator.readonly-indicator {
border: 1px solid var(--background-modifier-error);
}
.project-source-indicator.readonly-indicator .indicator-text {
color: var(--text-error);
font-weight: 500;
}
.project-source-indicator.override-indicator {
border: 1px solid var(--background-modifier-accent);
}
.project-source-indicator.override-indicator .indicator-text {
color: var(--text-accent);
}
.field-description.readonly-description {
color: var(--text-error);
font-size: 0.8em;
margin-top: 4px;
font-style: italic;
}
.field-description.override-description {
color: var(--text-accent);
font-size: 0.8em;
margin-top: 4px;
font-style: italic;
}
.project-source-indicator.inline-indicator {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: 10;
margin-top: 2px;
padding: 2px 6px;
font-size: 0.75em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.project-source-indicator.table-indicator {
position: absolute;
top: 2px;
right: 2px;
padding: 1px 3px;
font-size: 0.7em;
border-radius: 2px;
z-index: 5;
}
.project-source-indicator.table-indicator .indicator-icon {
font-size: 0.8em;
}
.task-table-cell.readonly-cell {
background-color: var(--background-modifier-error-hover);
opacity: 0.8;
}
.project-container.project-readonly {
position: relative;
}
.project-container.project-readonly .project-source-indicator {
margin-top: 8px;
}
/* src/styles/onCompletion.css */
.oncompletion-configurator {
display: flex;
flex-direction: column;
gap: 12px;
padding: 12px;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background-color: var(--background-secondary);
}
.oncompletion-action-type {
display: flex;
flex-direction: column;
gap: 6px;
}
.oncompletion-label {
font-weight: 600;
color: var(--text-normal);
font-size: 0.9em;
}
.oncompletion-config {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 8px;
padding-top: 8px;
border-top: 1px solid var(--background-modifier-border-hover);
}
.oncompletion-field {
display: flex;
flex-direction: column;
gap: 4px;
}
.oncompletion-description {
font-size: 0.8em;
color: var(--text-muted);
font-style: italic;
margin-top: 2px;
}
.oncompletion-action-type .dropdown {
width: 100%;
}
.oncompletion-field .text-input {
width: 100%;
padding: 6px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background-color: var(--background-primary);
color: var(--text-normal);
}
.oncompletion-field .text-input:focus {
border-color: var(--interactive-accent);
outline: none;
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.oncompletion-field .checkbox-container {
display: flex;
align-items: center;
gap: 8px;
}
.task-id-suggestion {
font-weight: 600;
color: var(--text-accent);
}
.task-content-preview {
font-size: 0.85em;
color: var(--text-muted);
margin-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 300px;
}
.file-name {
font-weight: 500;
color: var(--text-normal);
}
.file-path {
font-size: 0.8em;
color: var(--text-muted);
margin-top: 2px;
}
.action-type-suggestion {
font-weight: 600;
color: var(--text-accent);
}
.action-description {
font-size: 0.8em;
color: var(--text-muted);
margin-top: 2px;
}
.oncompletion-configurator.invalid {
border-color: var(--text-error);
background-color: var(--background-modifier-error);
}
.oncompletion-configurator.valid {
border-color: var(--text-success);
}
.oncompletion-validation-message {
font-size: 0.8em;
margin-top: 4px;
padding: 4px 6px;
border-radius: 3px;
}
.oncompletion-validation-message.error {
color: var(--text-error);
background-color: var(--background-modifier-error);
}
.oncompletion-validation-message.success {
color: var(--text-success);
}
.task-details .oncompletion-configurator {
margin-top: 8px;
border: none;
background-color: transparent;
padding: 0;
}
.task-details .oncompletion-field {
margin-bottom: 8px;
}
@media (max-width: 768px) {
.oncompletion-configurator {
padding: 8px;
gap: 8px;
}
.oncompletion-config {
gap: 8px;
}
.task-content-preview {
max-width: 200px;
}
}
.theme-dark .oncompletion-configurator {
background-color: var(--background-primary-alt);
}
.theme-dark .oncompletion-field .text-input {
background-color: var(--background-secondary);
border-color: var(--background-modifier-border-hover);
}
@media (prefers-contrast: high) {
.oncompletion-configurator {
border-width: 2px;
}
.oncompletion-field .text-input {
border-width: 2px;
}
.oncompletion-field .text-input:focus {
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
}
.oncompletion-config {
transition: all 0.2s ease-in-out;
}
.oncompletion-field {
opacity: 1;
transform: translateY(0);
transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.oncompletion-field.entering {
opacity: 0;
transform: translateY(-10px);
}
.oncompletion-field.exiting {
opacity: 0;
transform: translateY(10px);
}
.oncompletion-modal {
--dialog-width: 600px;
--dialog-max-width: 90vw;
--dialog-max-height: 80vh;
}
.oncompletion-modal .modal-content {
padding: 0;
max-height: var(--dialog-max-height);
overflow-y: auto;
}
.oncompletion-modal-content {
padding: 20px;
max-height: 60vh;
overflow-y: auto;
}
.oncompletion-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 8px;
padding: 16px 20px;
border-top: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.oncompletion-modal-buttons button {
min-width: 80px;
}
.inline-oncompletion-button-container {
display: inline-flex;
align-items: center;
}
.inline-oncompletion-config-button {
padding: 4px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background-color: var(--background-primary);
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
cursor: pointer;
transition: all 0.15s ease;
min-width: 100px;
text-align: left;
}
.inline-oncompletion-config-button:hover {
background-color: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.inline-oncompletion-config-button:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.inline-oncompletion-config-button:active {
background-color: var(--background-modifier-active);
transform: scale(0.98);
}
@media (max-width: 768px) {
.oncompletion-modal {
--dialog-width: 95vw;
--dialog-max-height: 85vh;
}
.oncompletion-modal-content {
padding: 16px;
max-height: 65vh;
}
.oncompletion-modal-buttons {
padding: 12px 16px;
flex-direction: column-reverse;
}
.oncompletion-modal-buttons button {
width: 100%;
min-width: unset;
}
}
/* src/styles/universal-suggest.css */
.universal-suggest-item {
display: flex;
align-items: center;
cursor: pointer;
border-radius: 4px;
transition: background-color 0.1s ease;
}
.universal-suggest-item:hover {
background-color: var(--background-modifier-hover);
}
.universal-suggest-item.is-selected {
background-color: var(--background-modifier-active-hover);
}
.universal-suggest-container {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
overflow: hidden;
}
.universal-suggest-icon {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
margin-right: 12px;
color: var(--text-muted);
flex-shrink: 0;
}
.universal-suggest-content {
flex: 1;
min-width: 0;
}
.universal-suggest-label {
font-weight: 500;
color: var(--text-normal);
margin-bottom: 2px;
}
.universal-suggest-description {
font-size: 0.85em;
color: var(--text-muted);
line-height: 1.3;
}
.cm-editor .cm-line .universal-suggest-trigger {
background-color: var(--background-modifier-accent);
color: var(--text-accent);
border-radius: 2px;
padding: 1px 2px;
}
.suggestion-container .universal-suggest-item {
border-bottom: 1px solid var(--background-modifier-border);
}
.suggestion-container .universal-suggest-item:last-child {
border-bottom: none;
}
.theme-dark .universal-suggest-item:hover {
background-color: var(--background-modifier-hover);
}
.theme-dark .universal-suggest-item.is-selected {
background-color: var(--background-modifier-active-hover);
}
@media (prefers-contrast: high) {
.universal-suggest-item {
border: 1px solid var(--background-modifier-border);
margin-bottom: 2px;
}
.universal-suggest-item:hover,
.universal-suggest-item.is-selected {
border-color: var(--text-accent);
}
}
/* src/styles/modal.css */
.confirm-modal-buttons {
display: flex;
gap: var(--size-4-3);
justify-content: flex-end;
margin-top: var(--size-4-3);
}
.list-config-modal {
min-width: 400px;
max-width: 600px;
}
.list-config-description {
margin-bottom: var(--size-4-3);
color: var(--text-muted);
font-size: var(--font-smaller);
}
.list-config-container {
margin: var(--size-4-3) 0;
max-height: 300px;
overflow-y: auto;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: var(--size-2-3);
}
.list-config-empty {
text-align: center;
padding: var(--size-4-6);
}
.list-config-empty-text {
color: var(--text-muted);
font-style: italic;
margin: 0;
}
.list-config-item {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-bottom: var(--size-2-2);
}
.list-config-item:last-child {
margin-bottom: 0;
}
.list-config-input {
flex: 1;
padding: var(--size-2-1) var(--size-2-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background: var(--background-primary);
color: var(--text-normal);
font-size: var(--font-ui-small);
}
.list-config-input:focus {
outline: none;
border-color: var(--interactive-accent);
}
.list-config-delete-btn {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border: none;
background: var(--background-modifier-error);
color: var(--text-on-accent);
border-radius: var(--radius-s);
cursor: pointer;
transition: background-color 0.2s ease;
}
.list-config-delete-btn:hover {
background: var(--background-modifier-error-hover);
}
.list-config-delete-icon {
font-size: 14px;
font-weight: bold;
line-height: 1;
}
/* src/styles/habit-edit-dialog.css */
.habit-edit-dialog {
max-width: 600px;
width: 100%;
}
.habit-edit-dialog .modal-content {
padding: 20px;
}
.habit-edit-dialog .habit-type-selector {
margin-bottom: 20px;
}
.habit-edit-dialog .habit-type-description {
font-weight: 600;
margin-bottom: 10px;
}
.habit-edit-dialog .habit-type-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
@media (max-width: 500px) {
.habit-edit-dialog .habit-type-grid {
grid-template-columns: 1fr;
}
}
.habit-edit-dialog .habit-type-item {
display: flex;
padding: 12px;
border-radius: var(--radius-m);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
cursor: pointer;
transition: all 0.2s ease;
}
.habit-edit-dialog .habit-type-item:hover {
background-color: var(--background-modifier-hover);
}
.habit-edit-dialog .habit-type-item.selected {
border-color: var(--interactive-accent);
background-color: var(--interactive-accent-hover);
}
.habit-edit-dialog .habit-type-icon {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
background-color: var(--background-primary);
margin-right: 10px;
}
.habit-edit-dialog .habit-type-icon svg {
width: 20px;
height: 20px;
color: var(--text-normal);
}
.habit-edit-dialog .habit-type-text {
flex: 1;
display: flex;
flex-direction: column;
}
.habit-edit-dialog .habit-type-name {
font-weight: 600;
margin-bottom: 4px;
}
.habit-edit-dialog .habit-type-desc {
font-size: 0.85em;
color: var(--text-muted);
}
.habit-edit-dialog .habit-common-form,
.habit-edit-dialog .habit-type-form {
margin-bottom: 20px;
}
.habit-edit-dialog .habit-icon-preview {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
margin-left: 10px;
background-color: var(--background-primary);
border-radius: 50%;
}
.habit-edit-dialog .habit-icon-preview svg {
width: 18px;
height: 18px;
}
.habit-edit-dialog .habit-mapping-container {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 10px;
margin-bottom: 10px;
margin-top: 5px;
}
.habit-edit-dialog .habit-mapping-row {
display: flex;
align-items: center;
margin-bottom: 8px;
}
.habit-edit-dialog .habit-mapping-key {
width: 80px;
margin-right: 5px;
font-size: 0.9em;
}
.habit-edit-dialog .habit-mapping-arrow {
margin: 0 10px;
color: var(--text-muted);
}
.habit-edit-dialog .habit-mapping-value {
flex: 1;
font-size: 0.9em;
margin-right: var(--size-4-4);
}
.habit-edit-dialog .habit-mapping-delete {
background: none;
border: none;
color: var(--text-error);
cursor: pointer;
font-size: 1.2em;
padding: 0 8px;
}
.habit-edit-dialog .habit-add-mapping-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--radius-s);
padding: 6px 12px;
cursor: pointer;
font-size: 0.9em;
}
.habit-edit-dialog .habit-events-container {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 10px;
margin-bottom: 10px;
margin-top: 5px;
}
.habit-edit-dialog .habit-event-row {
display: flex;
margin-bottom: 8px;
gap: 5px;
}
.habit-edit-dialog .habit-event-name {
width: 120px;
font-size: 0.9em;
}
.habit-edit-dialog .habit-event-details {
flex: 1;
font-size: 0.9em;
}
.habit-edit-dialog .habit-event-property {
width: 120px;
font-size: 0.9em;
}
.habit-edit-dialog .habit-event-delete {
background: none;
border: none;
color: var(--text-error);
cursor: pointer;
font-size: 1.2em;
padding: 0 8px;
}
.habit-edit-dialog .habit-add-event-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--radius-s);
padding: 6px 12px;
cursor: pointer;
font-size: 0.9em;
}
.habit-edit-dialog .habit-edit-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
}
.habit-edit-dialog .habit-cancel-button {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 8px 16px;
cursor: pointer;
}
.habit-edit-dialog .habit-save-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--radius-s);
padding: 8px 16px;
cursor: pointer;
}
.habit-edit-dialog input[type=text],
.habit-edit-dialog input[type=number] {
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 6px;
color: var(--text-normal);
}
.habit-edit-dialog .habit-type-item.selected .habit-type-desc,
.habit-edit-dialog .habit-type-item.selected .habit-type-name {
color: var(--text-on-accent);
}
/* src/styles/habit-list.css */
.habit-list-container {
padding: 12px;
width: 100%;
}
.habit-settings-container {
padding-top: 12px;
border-top: 1px solid var(--background-modifier-border);
}
.habit-add-button-container {
display: flex;
justify-content: flex-end;
margin-bottom: 16px;
}
.habit-add-button {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-radius: var(--radius-s);
cursor: pointer;
font-size: 14px;
}
.habit-add-button svg {
width: 16px;
height: 16px;
}
.habit-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 200px;
text-align: center;
padding: 20px;
border: 1px dashed var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
}
.habit-empty-state h2 {
margin: 0 0 10px 0;
font-size: 1.2em;
color: var(--text-normal);
}
.habit-empty-state p {
margin: 0;
color: var(--text-muted);
}
.habit-items-container {
display: flex;
flex-direction: column;
gap: 10px;
}
.habit-item {
display: flex;
align-items: center;
padding: 12px;
border-radius: var(--radius-m);
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
transition: background-color 0.2s ease;
cursor: pointer;
height: 7.5rem;
}
.habit-item:hover {
background-color: var(--background-modifier-hover);
}
.habit-item-icon {
--icon-size: 20px;
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background-color: var(--background-primary);
margin-right: 12px;
}
.habit-item-icon svg {
color: var(--text-normal);
}
.habit-item-info {
flex: 1;
min-width: 0;
}
.habit-item-name {
font-weight: 600;
margin-bottom: 4px;
font-size: 16px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.habit-item-description {
color: var(--text-muted);
font-size: 12px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 4px;
}
.habit-item-type {
display: inline-block;
font-size: 11px;
padding: 2px 6px;
border-radius: var(--radius-s);
background-color: var(--background-modifier-border);
color: var(--text-muted);
}
.habit-item-actions {
display: flex;
gap: 8px;
margin-left: 12px;
}
.habit-edit-button,
.habit-delete-button {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
background-color: var(--background-primary);
cursor: pointer;
padding: 0;
border: 1px solid var(--background-modifier-border);
}
.habit-edit-button:hover,
.habit-delete-button:hover {
background-color: var(--background-modifier-hover);
}
.habit-edit-button svg,
.habit-delete-button svg {
width: 16px;
height: 16px;
color: var(--text-muted);
}
.habit-delete-button:hover svg {
color: var(--text-error);
}
.habit-delete-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
}
.habit-delete-button-confirm {
background-color: var(--text-error);
color: #fff;
border: none;
border-radius: var(--radius-s);
padding: 8px 16px;
cursor: pointer;
}
/* src/styles/ics-settings.css */
.ics-settings-container {
max-width: 800px;
margin: 0 auto;
}
.ics-header-container {
margin-bottom: 2rem;
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 1rem;
}
.ics-back-button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: 0.5rem 1rem;
border-radius: 6px;
cursor: pointer;
margin-bottom: 1rem;
font-size: 0.9em;
transition: all 0.2s ease;
}
.ics-back-button:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
}
.ics-description {
color: var(--text-muted);
margin-top: 0.5rem;
line-height: 1.5;
}
.ics-global-settings {
margin-bottom: 2rem;
padding: 1.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
background: var(--background-secondary);
}
.ics-sources-list {
margin-top: 1.5rem;
}
.ics-sources-list h3 {
margin-bottom: 1rem;
color: var(--text-normal);
}
.ics-source-item {
margin-bottom: 1rem;
padding: 1.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
background: var(--background-primary);
transition: all 0.2s ease;
}
.ics-source-item:hover {
border-color: var(--interactive-accent);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.ics-source-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1rem;
}
.ics-source-title strong {
font-size: 1.1em;
color: var(--text-normal);
}
.ics-source-status {
padding: 0.3rem 0.8rem;
border-radius: 12px;
font-size: 0.75em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.status-enabled {
background: var(--color-green);
color: white;
}
.status-disabled {
background: var(--color-red);
color: white;
}
.ics-source-details {
margin-bottom: 1.5rem;
font-size: 0.9em;
color: var(--text-muted);
line-height: 1.4;
}
.ics-source-details div {
margin-bottom: 0.4rem;
}
.ics-source-actions {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}
.primary-actions,
.secondary-actions {
display: flex;
gap: 0.5rem;
}
.ics-source-actions button {
padding: 0.5rem 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
color: var(--text-normal);
font-size: 0.85em;
cursor: pointer;
transition: all 0.2s ease;
min-width: 80px;
white-space: nowrap;
}
.ics-source-actions button:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
transform: translateY(-1px);
}
.ics-source-actions button.mod-cta {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.ics-source-actions button.mod-cta:hover {
background: var(--interactive-accent-hover);
}
.ics-source-actions button.mod-warning {
background: var(--color-red);
color: white;
border-color: var(--color-red);
}
.ics-source-actions button.mod-warning:hover {
background: var(--color-red);
opacity: 0.8;
}
.ics-source-actions button:disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none;
}
.ics-source-actions button.syncing {
color: var(--interactive-accent);
}
.ics-source-actions button.success {
background: var(--color-green);
color: white;
border-color: var(--color-green);
}
.ics-source-actions button.error {
background: var(--color-red);
color: white;
border-color: var(--color-red);
}
.ics-add-source-container {
margin-top: 2rem;
text-align: center;
padding: 2rem;
border: 2px dashed var(--background-modifier-border);
border-radius: 8px;
background: var(--background-secondary);
transition: all 0.2s ease;
}
.ics-add-source-container:hover {
border-color: var(--interactive-accent);
background: var(--background-modifier-hover);
}
.ics-add-source-container button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: 0.8rem 1.5rem;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.95em;
}
.ics-add-source-container button:hover {
background: var(--interactive-accent-hover);
transform: translateY(-2px);
}
.ics-test-container {
margin-top: 1rem;
text-align: center;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
background: var(--background-modifier-form-field);
}
.ics-test-button {
background: var(--color-orange);
color: white;
border: none;
padding: 0.6rem 1.2rem;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.9em;
}
.ics-test-button:hover {
background: var(--color-orange);
opacity: 0.8;
transform: translateY(-1px);
}
.ics-empty-state {
text-align: center;
padding: 3rem 2rem;
color: var(--text-muted);
font-style: italic;
background: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.ics-source-modal .modal-content {
max-width: 600px;
max-height: 80vh;
overflow-y: auto;
}
.auth-field {
margin-top: 0.5rem;
}
.modal-button-container {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid var(--background-modifier-border);
}
.modal-button-container button {
padding: 0.5rem 1rem;
border-radius: 6px;
font-size: 0.9em;
min-width: 80px;
}
@media (max-width: 768px) {
.ics-source-header {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
.ics-source-actions {
flex-direction: column;
gap: 0.5rem;
}
.primary-actions,
.secondary-actions {
width: 100%;
justify-content: space-between;
}
.ics-source-actions button {
flex: 1;
min-width: auto;
}
}
@media (max-width: 480px) {
.ics-source-item {
padding: 1rem;
}
.primary-actions,
.secondary-actions {
flex-direction: column;
}
.ics-source-actions button {
width: 100%;
margin-bottom: 0.3rem;
}
.modal-button-container {
flex-direction: column;
}
.modal-button-container button {
width: 100%;
}
}
.text-replacements-list {
margin: 1rem 0;
}
.text-replacements-empty {
text-align: center;
padding: 2rem;
color: var(--text-muted);
font-style: italic;
background: var(--background-secondary);
border-radius: 6px;
border: 1px dashed var(--background-modifier-border);
}
.text-replacement-rule {
margin-bottom: 1rem;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-primary);
transition: all 0.2s ease;
}
.text-replacement-rule:hover {
border-color: var(--interactive-accent);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.text-replacement-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.8rem;
}
.text-replacement-header strong {
color: var(--text-normal);
font-size: 1em;
}
.text-replacement-status {
padding: 0.2rem 0.6rem;
border-radius: 10px;
font-size: 0.7em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.text-replacement-status.enabled {
background: var(--color-green);
color: white;
}
.text-replacement-status.disabled {
background: var(--color-red);
color: white;
}
.text-replacement-details {
margin-bottom: 1rem;
font-size: 0.85em;
color: var(--text-muted);
line-height: 1.4;
}
.text-replacement-details div {
margin-bottom: 0.3rem;
}
.text-replacement-pattern {
font-family: var(--font-monospace);
background: var(--background-modifier-form-field);
padding: 0.2rem 0.4rem;
border-radius: 3px;
display: inline-block;
margin-left: 0.5rem;
}
.text-replacement-replacement {
font-family: var(--font-monospace);
background: var(--background-modifier-form-field);
padding: 0.2rem 0.4rem;
border-radius: 3px;
display: inline-block;
margin-left: 0.5rem;
}
.text-replacement-actions {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
.text-replacement-actions button {
padding: 0.4rem 0.8rem;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-secondary);
color: var(--text-normal);
font-size: 0.8em;
cursor: pointer;
transition: all 0.2s ease;
}
.text-replacement-actions button:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.text-replacement-actions button.mod-cta {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.text-replacement-actions button.mod-warning {
background: var(--color-red);
color: white;
border-color: var(--color-red);
}
.text-replacement-add {
margin-top: 1rem;
text-align: center;
}
.text-replacement-add button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: 0.6rem 1.2rem;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
}
.text-replacement-add button:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
}
.text-replacement-modal .modal-content {
max-width: 700px;
max-height: 85vh;
overflow-y: auto;
}
.test-output {
margin-top: 0.5rem;
padding: 0.8rem;
background: var(--background-modifier-form-field);
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
font-family: var(--font-monospace);
font-size: 0.9em;
}
.test-result {
font-weight: 500;
}
.text-replacement-modal ul {
margin: 0.5rem 0;
padding-left: 1.5rem;
}
.text-replacement-modal li {
margin-bottom: 0.5rem;
line-height: 1.4;
}
.text-replacement-modal code {
background: var(--background-modifier-form-field);
padding: 0.1rem 0.3rem;
border-radius: 3px;
font-family: var(--font-monospace);
font-size: 0.85em;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.ics-source-actions button.syncing::before {
content: "";
display: inline-block;
margin-right: 0.3rem;
animation: spin 1s linear infinite;
}
.ics-text-replacement-modal,
.ics-source-modal {
max-width: 1000px;
max-height: 90vh;
padding-right: 0;
}
.ics-text-replacement-modal .modal-content,
.ics-source-modal .modal-content {
padding-right: var(--size-4-2);
}
/* src/styles/task-filter.css */
.task-filter-panel {
padding: var(--size-4-4) var(--size-4-4);
padding-bottom: var(--size-2-2);
padding-left: var(--size-4-8);
background-color: var(--background-primary);
border-top: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
max-height: 300px;
overflow-y: auto;
}
.task-filter-active {
color: var(--color-accent-2);
font-weight: bold;
}
.task-filter-panel > .setting-item {
border-top: unset;
}
.task-filter-header-container {
display: flex;
align-items: center;
justify-content: flex-end;
}
.task-filter-title {
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.task-filter-options {
display: flex;
flex-direction: column;
gap: 10px;
}
.task-filter-section {
display: flex;
flex-direction: column;
}
.task-filter-section h3 {
font-size: 14px;
margin: 5px 0;
color: var(--text-muted);
}
.task-filter-section:last-child {
border-bottom: unset;
}
.task-filter-option {
display: flex;
align-items: center;
gap: 6px;
}
.task-filter-option input[type=checkbox] {
margin: 0;
}
.task-filter-option label {
font-size: 13px;
color: var(--text-normal);
}
.task-filter-buttons {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 8px;
padding-top: 8px;
border-top: 1px solid var(--background-modifier-border);
}
.task-filter-apply,
.task-filter-close {
padding: 6px 12px;
border-radius: 4px;
font-size: 12px;
cursor: pointer;
}
.task-filter-apply {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.task-filter-reset {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.task-filter-close {
background-color: var(--background-secondary);
color: var(--text-normal);
}
.task-filter-query-input {
width: 100%;
min-width: 250px;
border-radius: 4px;
padding: 8px 12px;
font-family: var(--font-monospace);
font-size: 14px;
}
.task-filter-query-input:focus {
box-shadow: 0 0 0 2px var(--interactive-accent);
outline: none;
}
.task-filter-section .setting-item-description {
margin-top: 5px;
margin-bottom: 10px;
font-size: 12px;
color: var(--text-muted);
line-height: 1.4;
}
.task-filter-options {
max-height: 70vh;
overflow-y: auto;
padding-right: 5px;
}
.task-filter-options {
margin-bottom: 10px;
padding-top: var(--size-4-4);
}
/* src/styles/global-filter.css */
.filter-group-separator {
display: flex;
align-items: center;
justify-content: center;
margin: var(--size-2-2) 0;
color: var(--text-muted);
font-size: var(--font-ui-smaller);
}
.filter-group-separator::before,
.filter-group-separator::after {
content: "";
flex-grow: 1;
height: 1px;
background-color: var( --background-modifier-border );
margin: 0 var(--size-2-1);
}
.drag-handle {
cursor: grab;
display: flex;
align-items: center;
justify-content: center;
}
.compact-btn {
padding: var(--size-2-1) var(--size-2-2);
box-shadow: unset !important;
border: unset !important;
--icon-size: var(--size-4-4);
display: flex;
align-items: center;
justify-content: center;
gap: var(--size-2-2);
-webkit-app-region: no-drag;
display: inline-flex;
overflow: hidden;
align-items: center;
color: var(--text-muted);
font-size: var(--font-ui-small);
border-radius: var(--button-radius);
padding: var(--size-2-2);
font-weight: var(--input-font-weight);
cursor: var(--cursor);
font-family: inherit;
gap: var(--size-2-2);
min-height: 30px;
}
.compact-btn:hover {
box-shadow: none;
opacity: var(--icon-opacity-hover);
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.compact-input,
.compact-select {
font-size: var(--font-ui-smaller);
height: var(--input-height);
border: 1px solid var(--background-modifier-border);
box-shadow: none;
}
.compact-select:hover {
box-shadow: none;
}
.compact-text {
font-size: var(--font-ui-smaller);
}
.dragging-placeholder {
opacity: 0.5;
background-color: var( --background-modifier-hover );
}
.task-filter-root-container.task-popover-content {
padding: var(--size-2-2);
max-width: 100%;
max-height: 100%;
}
.task-filter-main-panel {
max-width: 100%;
padding: var(--size-2-2);
border-radius: var(--radius-m);
}
.filter-menu {
z-index: 50;
min-width: 600px;
background-color: var(--background-primary);
border-radius: var(--radius-m);
box-shadow: var(--shadow-s);
border: 1px solid var(--background-modifier-border);
}
.root-filter-setup-section {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.root-condition-section {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem;
background-color: var( --background-secondary-alt, var(--background-modifier-hover) );
border-radius: var(--radius-m);
border: 1px solid var(--background-modifier-border);
}
.root-condition-label {
font-weight: 500;
color: var(--text-normal);
}
.root-condition-select {
width: auto;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
}
.root-condition-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.root-condition-span {
color: var(--text-normal);
}
.filter-groups-container {
display: flex;
flex-direction: column;
gap: var(--size-2-3);
max-height: 50vh;
overflow: auto;
}
.filter-group {
padding: var(--size-2-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-primary);
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.filter-group-header {
display: flex;
align-items: center;
justify-content: space-between;
}
.filter-group-header-left {
display: flex;
align-items: center;
gap: 0.375rem;
}
.filter-group-header-left .drag-handle-container .svg-icon {
color: var(--text-faint);
}
.filter-group-header-left .drag-handle-container:hover .svg-icon {
color: var(--text-muted);
}
.filter-group-header-left .drag-handle-container {
padding-right: var(--size-2-1);
}
.filter-group-header-left > .compact-text,
.filter-group-header-left > span.compact-text {
font-weight: 500;
color: var(--text-normal);
}
.filter-group-header-left .group-condition-select.compact-select {
border: 1px solid var(--input-border-color, var(--background-modifier-border));
}
.filter-group-header-left .group-condition-select.compact-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-group-header-right {
display: flex;
align-items: center;
gap: 0.25rem;
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn,
.filter-group-header-right .remove-group-btn.compact-icon-btn {
border-radius: var(--radius-s);
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn .svg-icon {
color: var(--text-muted);
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover .svg-icon {
color: var(--interactive-accent);
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover {
background-color: var(--background-modifier-hover);
}
.filter-group-header-right .remove-group-btn.compact-icon-btn .svg-icon {
color: var(--text-muted);
}
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover .svg-icon {
color: var(--text-error);
}
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover {
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
}
.filters-list {
display: flex;
flex-direction: column;
gap: var(--size-2-2);
padding-left: 1rem;
border-left: 2px solid var(--background-modifier-border);
margin-left: var(--size-4-2);
}
.filters-list:empty {
display: none;
}
.group-footer {
padding-left: 0.375rem;
margin-top: 0.375rem;
}
.add-filter-btn-icon {
display: flex;
align-items: center;
justify-content: center;
}
.filter-item {
display: flex;
align-items: center;
gap: var(--size-2-2);
padding: var(--size-4-2);
padding-top: 0;
padding-bottom: 0;
}
.filter-item .filter-conjunction {
font-size: var(--font-ui-smaller);
font-weight: 600;
color: var(--text-faint);
align-self: center;
}
.filter-item .filter-property-select.compact-select {
flex-basis: 30%;
flex-grow: 0;
flex-shrink: 0;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
box-shadow: none;
}
.filter-item .filter-property-select.compact-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-item .filter-condition-select.compact-select {
width: auto;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
box-shadow: none;
}
.filter-item .filter-condition-select.compact-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-item .filter-value-input.compact-input {
flex-grow: 1;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
width: 100%;
}
.filter-item .filter-value-input.compact-input:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-item .remove-filter-btn.compact-icon-btn .svg-icon {
color: var(--text-muted);
}
.filter-item .remove-filter-btn.compact-icon-btn:hover .svg-icon {
color: var(--text-error);
}
.filter-item .remove-filter-btn.compact-icon-btn:hover {
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
}
.add-group-section {
margin-top: var(--size-2-1);
margin-bottom: var(--size-2-1);
margin-left: var(--size-2-1);
display: flex;
justify-content: space-between;
}
.add-filter-group-btn-icon {
display: flex;
align-items: center;
justify-content: center;
}
.filter-config-section {
display: flex;
gap: var(--size-4-2);
}
.save-filter-config-btn,
.load-filter-config-btn {
flex: 1;
}
.save-filter-config-btn-icon,
.load-filter-config-btn-icon {
display: flex;
align-items: center;
justify-content: center;
}
.save-filter-config-btn:hover {
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
}
.load-filter-config-btn:hover {
background-color: var(--background-modifier-hover);
}
.filter-config-details {
margin-top: var(--size-4-3);
padding: var(--size-4-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-l);
background:
linear-gradient(
135deg,
var(--background-secondary) 0%,
var(--background-primary-alt) 100%);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
transition: all 0.2s ease-in-out;
}
.filter-config-details:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
transform: translateY(-1px);
}
.filter-config-details h3 {
margin: 0 0 var(--size-4-2) 0;
font-size: var(--font-ui-medium);
font-weight: 600;
color: var(--text-accent);
display: flex;
align-items: center;
gap: var(--size-2-2);
}
.filter-config-details p {
margin: var(--size-2-2) 0;
line-height: 1.5;
color: var(--text-normal);
}
.filter-config-meta {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin: var(--size-2-1) 0;
padding: var(--size-2-1) var(--size-2-2);
background-color: var(--background-modifier-form-field);
border-radius: var(--radius-s);
border-left: 3px solid var(--interactive-accent);
}
.filter-config-summary {
margin-top: var(--size-4-3);
padding: var(--size-4-2) 0 0 0;
border-top: 2px solid var(--background-modifier-border);
}
.filter-config-summary h4 {
margin: 0 0 var(--size-2-3) 0;
font-size: var(--font-ui-small);
font-weight: 600;
color: var(--text-normal);
display: flex;
align-items: center;
gap: var(--size-2-1);
}
.filter-config-summary p {
margin: var(--size-2-1) 0;
font-size: var(--font-ui-smaller);
color: var(--text-muted);
padding: var(--size-2-1) var(--size-2-2);
background-color: var(--background-primary-alt);
border-radius: var(--radius-s);
}
.filter-config-buttons {
margin-top: var(--size-4-3);
padding-top: var(--size-4-2);
}
.filter-config-name-highlight {
background-color: var(--text-accent);
color: var(--text-on-accent);
padding: 0.125rem 0.25rem;
border-radius: var(--radius-s);
font-weight: 500;
}
.advanced-filter-container {
margin-top: var(--size-4-2);
padding: var(--size-4-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
}
.advanced-filter-container .task-filter-root-container {
background-color: transparent;
border: none;
padding: 0;
}
.advanced-filter-container .task-filter-main-panel {
background-color: transparent;
border: none;
padding: 0;
}
.task-genius-view-config-modal .advanced-filter-container .filter-group {
padding: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
.task-genius-view-config-modal .advanced-filter-container .filter-item {
padding: var(--size-2-2);
gap: var(--size-2-2);
}
.task-genius-view-config-modal .advanced-filter-container .compact-btn {
padding: var(--size-2-1) var(--size-2-2);
min-height: 26px;
}
.task-genius-view-config-modal .advanced-filter-container .compact-select,
.task-genius-view-config-modal .advanced-filter-container .compact-input {
font-size: var(--font-ui-smaller);
height: 28px;
}
/* src/styles/view-setting-tab.css */
.view-management-list {
display: flex;
flex-direction: column;
gap: 20px;
margin-bottom: var(--size-4-4);
}
.view-section-container {
min-height: 100px;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
padding: 10px;
}
.view-section-header {
margin-bottom: 10px;
}
.view-section-header h4 {
margin: 0;
font-size: 14px;
font-weight: 600;
color: var(--text-muted);
}
.view-section-items,
.sortable-views {
min-height: 60px;
border: 1px dashed var(--background-modifier-border);
border-radius: 4px;
padding: 8px;
background: var(--background-primary);
}
.sortable-views:empty::after {
content: attr(data-empty-text);
display: block;
text-align: center;
color: var(--text-muted);
padding: 20px;
font-style: italic;
}
.sortable-views[data-region=top]:empty::after {
content: "Drag views here for the top section";
}
.sortable-views[data-region=bottom]:empty::after {
content: "Drag views here for the bottom section";
}
.view-item,
.sortable-view-item {
display: flex;
align-items: center;
padding: 8px;
margin-bottom: 4px;
background-color: var(--background-secondary);
border-radius: 4px;
cursor: move;
transition: all 0.2s ease;
}
.view-item:hover {
background-color: var(--background-secondary-alt) !important;
}
.view-drag-handle {
cursor: grab;
margin-right: 8px;
opacity: 0.5;
}
.view-drag-handle:active {
cursor: grabbing !important;
}
.view-item-icon {
margin-right: 8px;
}
.view-item-info {
flex: 1;
margin-right: 8px;
}
.view-item-name {
font-weight: 500;
}
.view-item-type {
font-size: 12px;
color: var(--text-muted);
}
.view-item-actions {
display: flex;
gap: 4px;
}
.view-action-button {
background: transparent;
border: none;
cursor: pointer;
padding: 4px;
border-radius: 4px;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.view-action-button:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.view-action-delete:hover {
background: var(--background-modifier-error);
color: var(--text-on-accent);
}
.sortable-ghost {
opacity: 0.4;
background: var(--background-modifier-hover) !important;
}
.sortable-drag {
opacity: 0;
}
.sortable-chosen {
background: var(--background-modifier-hover) !important;
}
/* src/styles/file-filter-settings.css */
.file-filter-rules-container {
margin-top: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
padding: 1rem;
background: var(--background-secondary);
}
.file-filter-rule {
display: flex;
align-items: center;
gap: 1rem;
padding: 0.75rem;
margin-bottom: 0.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
}
.file-filter-rule:last-child {
margin-bottom: 0;
}
.file-filter-rule-type,
.file-filter-rule-path,
.file-filter-rule-scope,
.file-filter-rule-enabled {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.file-filter-rule-type {
min-width: 80px;
}
.file-filter-rule-path {
flex: 1;
}
.file-filter-rule-enabled {
min-width: 60px;
}
.file-filter-rule label {
font-size: 0.8rem;
font-weight: 500;
color: var(--text-muted);
}
.file-filter-rule input[type=text] {
padding: 0.25rem 0.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
background: var(--background-primary);
color: var(--text-normal);
font-size: 0.9rem;
}
.file-filter-rule input[type=checkbox] {
width: 16px;
height: 16px;
}
.file-filter-rule-delete {
padding: 0.25rem;
border: none;
border-radius: 3px;
background: var(--interactive-accent);
color: var(--text-on-accent);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
min-width: 28px;
height: 28px;
}
.file-filter-add-rule {
margin-top: 1rem;
}
.file-filter-add-rule .setting-item {
border: none;
padding: 0;
}
.file-filter-add-rule .setting-item-control {
gap: 0.5rem;
}
.file-filter-add-rule + .setting-item {
border-top: none;
}
.file-filter-stats {
margin-top: 1.5rem;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
}
.file-filter-stat {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.25rem 0;
}
.file-filter-stat:not(:last-child) {
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 0.25rem;
padding-bottom: 0.5rem;
}
.stat-label {
font-weight: 500;
color: var(--text-normal);
}
.stat-value {
font-weight: 600;
color: var(--interactive-accent);
}
.file-filter-stat.error {
background-color: var(--background-modifier-error);
border-left: 3px solid var(--text-error);
}
.file-filter-stat.error .stat-label {
color: var(--text-error);
}
.setting-item .setting-item-control button[aria-label*=refresh] {
transition: transform 0.2s ease;
}
.setting-item .setting-item-control button[aria-label*=refresh]:hover {
transform: rotate(90deg);
}
@keyframes refresh-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.setting-item .setting-item-control button[disabled] .lucide-refresh-cw {
animation: refresh-spin 1s linear infinite;
}
@media (max-width: 768px) {
.file-filter-rule {
flex-direction: column;
align-items: stretch;
gap: 0.5rem;
}
.file-filter-rule-type,
.file-filter-rule-path,
.file-filter-rule-enabled {
min-width: auto;
}
.file-filter-rule-delete {
align-self: flex-end;
margin-top: 0.5rem;
}
}
.theme-dark .file-filter-rule input[type=text] {
background: var(--background-primary-alt);
border-color: var(--background-modifier-border-hover);
}
.theme-dark .file-filter-rule input[type=text]:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.file-filter-rules-container:empty::before {
content: "No filter rules configured. Add rules below to start filtering files and folders.";
display: block;
text-align: center;
color: var(--text-muted);
font-style: italic;
padding: 2rem;
}
.file-filter-preset-container {
margin-top: 1rem;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
}
.file-filter-preset-container .setting-item {
border: none;
padding: 0.5rem 0;
}
.file-filter-preset-container .setting-item:not(:last-child) {
border-bottom: 1px solid var(--background-modifier-border);
}
.file-filter-preset-container button {
position: relative;
transition: all 0.2s ease;
}
.file-filter-preset-container button:disabled {
opacity: 0.6;
cursor: not-allowed;
background: var(--background-modifier-border);
color: var(--text-muted);
}
.file-filter-preset-container button:not(:disabled):hover {
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.file-filter-preset-container button[disabled] {
background: var(--color-green);
color: var(--text-on-accent);
border-color: var(--color-green);
}
.theme-dark .file-filter-preset-container button[disabled] {
background: var(--color-green-rgb);
opacity: 0.8;
}
/* src/styles/mcp-integration.css */
.mcp-status-container {
padding: 16px;
background: var(--background-secondary);
border-radius: 8px;
margin-bottom: 24px;
border: 1px solid var(--background-modifier-border);
}
.mcp-status {
display: flex;
flex-direction: column;
gap: 10px;
}
.mcp-status-indicator {
display: flex;
align-items: center;
gap: 10px;
font-weight: 600;
font-size: 1.05em;
}
.mcp-status-indicator.running .status-dot {
color: var(--background-modifier-success);
font-size: 1.2em;
animation: pulse 2s infinite;
}
.mcp-status-indicator.stopped .status-dot {
color: var(--text-muted);
font-size: 1.2em;
}
.mcp-status-details {
display: flex;
gap: 24px;
font-size: 0.9em;
color: var(--text-muted);
padding-left: 30px;
}
.mcp-config-container {
margin-bottom: 30px;
}
.mcp-client-section {
margin-bottom: 16px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
overflow: hidden;
}
.mcp-client-header {
cursor: pointer;
padding: 12px 16px;
background: var(--background-secondary);
border-radius: 0;
margin-bottom: 0;
display: flex;
align-items: center;
gap: 10px;
user-select: none;
transition: background-color 0.2s;
}
.mcp-client-header:hover {
background: var(--background-modifier-hover);
}
.mcp-arrow {
transition: transform 0.2s;
display: inline-flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
}
.mcp-arrow svg {
width: 14px;
height: 14px;
stroke-width: 2;
}
.mcp-arrow.expanded {
transform: rotate(90deg);
}
.mcp-client-name {
font-weight: 500;
color: var(--text-normal);
}
.mcp-client-content {
padding: 16px !important;
background: var(--background-primary);
display: none;
}
.mcp-client-content.expanded {
display: block;
}
.mcp-config-block {
position: relative;
margin-bottom: 20px;
}
.mcp-config-code {
position: relative;
padding: 16px 60px 16px 16px !important;
background: var(--code-background);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
margin-bottom: 0;
font-size: 0.85em;
line-height: 1.5;
overflow: auto;
max-height: 300px;
font-family: var(--font-monospace);
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb-bg) var(--scrollbar-bg);
}
.mcp-config-code code {
color: var(--code-normal);
font-family: var(--font-monospace);
white-space: pre;
display: block;
}
.mcp-config-code::-webkit-scrollbar {
width: 8px;
height: 8px;
}
.mcp-config-code::-webkit-scrollbar-track {
background: var(--scrollbar-bg);
}
.mcp-config-code::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb-bg);
border-radius: 4px;
}
.mcp-config-code::-webkit-scrollbar-thumb:hover {
background: var(--scrollbar-active-thumb-bg);
}
.mcp-copy-btn {
position: absolute !important;
top: 12px;
right: 12px;
padding: 6px 12px;
font-size: 0.8em;
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 4px;
cursor: pointer;
transition: all 0.2s;
font-weight: 500;
z-index: 10;
}
.mcp-copy-btn:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.mcp-copy-btn.copied {
animation: copySuccess 0.3s ease;
background: var(--background-modifier-success) !important;
}
.mcp-auth-methods {
margin: 15px 0;
padding: 15px;
background: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.mcp-auth-list {
margin: 10px 0 0 20px;
line-height: 1.8;
}
.mcp-auth-list li {
margin: 8px 0;
color: var(--text-normal);
}
.mcp-auth-list code {
background: var(--code-background);
padding: 2px 6px;
border-radius: 3px;
font-size: 0.9em;
color: var(--code-normal);
}
.mcp-token-input {
font-family: monospace;
width: 300px;
margin-right: 10px;
}
.mcp-docs-container {
margin-top: 20px;
}
.mcp-docs-section {
margin-bottom: 30px;
}
.mcp-docs-subtitle {
font-size: 1em;
font-weight: 600;
margin-bottom: 12px;
color: var(--text-normal);
}
.mcp-endpoint-box {
display: flex;
align-items: center;
gap: 12px;
padding: 12px;
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
margin-bottom: 20px;
}
.mcp-endpoint-content {
flex: 1;
display: flex;
align-items: center;
gap: 8px;
}
.mcp-endpoint-label {
font-weight: 500;
color: var(--text-muted);
}
.mcp-endpoint-url {
font-family: var(--font-monospace);
padding: 6px 10px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
color: var(--text-accent);
user-select: text;
}
.mcp-copy-endpoint-btn {
padding: 6px 12px;
background: var(--interactive-normal);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
cursor: pointer;
transition: background 0.2s;
}
.mcp-copy-endpoint-btn:hover {
background: var(--interactive-hover);
}
.mcp-copy-endpoint-btn.copied {
animation: copySuccess 0.3s ease;
background: var(--background-modifier-success) !important;
}
.mcp-tools-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 16px;
margin-bottom: 24px;
}
.mcp-tool-card {
position: relative;
padding: 16px;
background:
linear-gradient(
135deg,
var(--background-secondary) 0%,
var(--background-primary) 100%);
border: 1px solid var(--background-modifier-border);
border-radius: 10px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}
.mcp-tool-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background:
linear-gradient(
90deg,
var(--interactive-accent) 0%,
var(--text-accent) 100%);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s ease;
}
.mcp-tool-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
border-color: var(--interactive-accent);
}
.mcp-tool-card:hover::before {
transform: scaleX(1);
}
.mcp-tool-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 10px;
}
.mcp-tool-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
color: var(--interactive-accent);
opacity: 0.9;
}
.mcp-tool-icon svg {
width: 16px;
height: 16px;
stroke-width: 2;
}
.mcp-tool-name {
font-family: var(--font-monospace);
font-size: 0.85em;
font-weight: 600;
color: var(--text-accent);
background: var(--background-modifier-box);
padding: 4px 8px;
border-radius: 4px;
display: inline-block;
letter-spacing: 0.5px;
}
.mcp-tool-desc {
font-size: 0.85em;
color: var(--text-muted);
line-height: 1.5;
padding-left: 28px;
}
.mcp-example-container {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
margin-top: 16px;
}
.mcp-example-tabs {
display: flex;
gap: 0;
background:
linear-gradient(
180deg,
var(--background-secondary) 0%,
var(--background-modifier-box) 100%);
border-bottom: 1px solid var(--background-modifier-border);
padding: 0;
}
.mcp-example-tab {
flex: 1;
padding: 14px 20px;
background: transparent;
color: var(--text-muted);
border: none;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
font-size: 0.9em;
font-weight: 500;
position: relative;
text-align: center;
box-shadow: none !important;
}
.mcp-example-tab::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%) scaleX(0);
width: 80%;
height: 3px;
background: var(--interactive-accent);
transition: transform 0.3s ease;
border-radius: 3px 3px 0 0;
}
.mcp-example-tab:hover {
background: rgba(var(--interactive-accent-rgb), 0.05);
color: var(--text-normal);
}
.mcp-example-tab.active {
background: rgba(var(--interactive-accent-rgb), 0.1);
color: var(--interactive-accent);
font-weight: 600;
}
.mcp-example-tab.active::after {
transform: translateX(-50%) scaleX(1);
}
.mcp-example-code-container {
position: relative;
background: var(--code-background);
border-top: 1px solid var(--background-modifier-border);
}
.mcp-example-block {
display: none;
position: relative;
animation: fadeIn 0.3s ease;
}
.mcp-example-block.active {
display: block;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.mcp-example-code {
margin: 0;
padding: 24px 80px 24px 24px;
background:
linear-gradient(
135deg,
var(--code-background) 0%,
rgba(var(--background-primary-rgb), 0.5) 100%);
font-size: 0.85em;
line-height: 1.7;
overflow-x: auto;
max-height: 500px;
font-family: var(--font-monospace);
border: none;
position: relative;
}
.mcp-example-code::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background:
linear-gradient(
90deg,
transparent,
var(--background-modifier-border),
transparent);
}
.mcp-example-code code {
color: var(--code-normal);
font-family: var(--font-monospace);
white-space: pre;
display: block;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.mcp-example-copy-btn {
position: absolute;
top: 20px;
right: 20px;
padding: 8px 16px;
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 0.85em;
font-weight: 600;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 10;
box-shadow: 0 2px 8px rgba(var(--interactive-accent-rgb), 0.3);
}
.mcp-example-copy-btn:hover {
background: var(--interactive-accent-hover);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(var(--interactive-accent-rgb), 0.4);
}
.mcp-example-copy-btn:active {
transform: translateY(0);
box-shadow: 0 1px 4px rgba(var(--interactive-accent-rgb), 0.3);
}
.mcp-example-copy-btn.copied {
animation: copySuccess 0.4s ease;
background: var(--background-modifier-success) !important;
box-shadow: 0 2px 8px rgba(var(--interactive-success-rgb), 0.3);
}
@keyframes copySuccess {
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
@keyframes pulse {
0% {
opacity: 1;
}
50% {
opacity: 0.6;
}
100% {
opacity: 1;
}
}
.mcp-client-header,
.mcp-example-tab,
.mcp-tool-card,
button {
transition: all 0.2s ease;
}
.mcp-config-code .json-key {
color: var(--text-accent);
}
.mcp-config-code .json-string {
color: var(--text-success);
}
.mcp-config-code .json-number {
color: var(--text-warning);
}
.mcp-config-code .json-boolean {
color: var(--text-error);
}
@media (max-width: 768px) {
.mcp-tools-grid {
grid-template-columns: 1fr;
}
.mcp-status-details {
flex-direction: column;
gap: 8px;
}
}
.mcp-example-subtitle {
padding-left: var(--size-4-4);
}
.mcp-cursor-install-section {
margin-bottom: 20px;
}
.mcp-cursor-install-container {
margin-top: 12px;
}
.mcp-cursor-install-desc {
color: var(--text-muted);
margin-bottom: 12px;
font-size: 14px;
}
.mcp-cursor-install-link {
display: inline-block;
margin-bottom: 16px;
transition: transform 0.2s ease;
}
.mcp-cursor-install-link:hover {
transform: scale(1.05);
}
.mcp-cursor-additional-buttons {
margin-top: 12px;
display: flex;
gap: 10px;
}
.mcp-cursor-copy-deeplink-btn {
background: var(--interactive-normal);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
padding: 8px 16px;
border-radius: 4px;
font-size: 14px;
cursor: pointer;
transition: all 0.2s ease;
}
.mcp-cursor-copy-deeplink-btn:hover {
background: var(--interactive-hover);
}
.mcp-cursor-copy-deeplink-btn.copied {
background: var(--interactive-success);
color: white;
}
.mcp-cursor-debug-container {
margin-top: 20px;
}
.mcp-cursor-debug-toggle {
background: transparent;
color: var(--text-muted);
border: 1px solid var(--background-modifier-border);
padding: 6px 12px;
border-radius: 4px;
font-size: 12px;
cursor: pointer;
transition: all 0.2s ease;
}
.mcp-cursor-debug-toggle:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.mcp-cursor-debug-content {
margin-top: 12px;
padding: 12px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
}
.mcp-cursor-debug-label {
font-size: 12px;
color: var(--text-muted);
margin-bottom: 8px;
margin-top: 12px;
}
.mcp-cursor-debug-label:first-child {
margin-top: 0;
}
.mcp-cursor-debug-code {
background: var(--code-background);
padding: 8px;
border-radius: 4px;
font-size: 12px;
overflow-x: auto;
border: 1px solid var(--background-modifier-border);
}
.mcp-cursor-debug-code code {
color: var(--code-normal);
word-break: break-all;
}
.mcp-section-separator {
margin: 24px 0;
border: none;
border-top: 1px solid var(--background-modifier-border);
}
/* src/styles/workflow.css */
.cm-workflow-stage-indicator {
display: inline-block;
margin-left: 4px;
font-size: 12px;
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
user-select: none;
align-items: center;
vertical-align: middle;
}
.cm-workflow-stage-indicator span {
display: inline-flex;
justify-content: center;
align-items: center;
}
.cm-workflow-stage-indicator:hover {
opacity: 1;
}
.cm-workflow-stage-indicator[data-stage-type=linear] {
color: var(--text-accent);
}
.cm-workflow-stage-indicator[data-stage-type=cycle] {
color: var(--task-in-progress-color);
}
.cm-workflow-stage-indicator[data-stage-type=terminal] {
color: var(--task-completed-color);
}
.theme-dark .cm-workflow-stage-indicator[data-stage-type=linear] {
color: var(--text-accent);
}
.theme-dark .cm-workflow-stage-indicator[data-stage-type=cycle] {
color: var(--task-in-progress-color);
}
.theme-dark .cm-workflow-stage-indicator[data-stage-type=terminal] {
color: var(--task-completed-color);
}
/* src/styles/date-picker.css */
.date-picker-root-container {
display: flex;
flex-direction: column;
width: 100%;
min-width: 500px;
max-width: 600px;
}
.date-picker-root-container .date-picker-main-panel {
display: flex;
gap: var(--size-2-3);
padding: var(--size-2-3);
}
.date-picker-root-container .date-picker-left-panel {
flex: 1;
min-width: 200px;
border-right: 1px solid var(--background-modifier-border);
}
.date-picker-root-container .date-picker-right-panel {
flex: 1;
min-width: 250px;
}
.date-picker-root-container .date-picker-section-title {
font-size: var(--font-ui-medium);
font-weight: var(--font-bold);
margin-bottom: var(--size-4-2);
color: var(--text-normal);
}
.date-picker-root-container .quick-options-container {
display: flex;
flex-direction: column;
gap: var(--size-2-1);
max-height: 195px;
overflow: auto;
overflow-x: hidden;
}
.date-picker-root-container .quick-option-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-2-2) var(--size-4-2);
cursor: pointer;
transition: background-color 0.2s ease;
}
.date-picker-root-container .quick-option-item:hover {
background-color: var(--background-modifier-hover);
}
.date-picker-root-container .quick-option-item.selected {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.date-picker-root-container .quick-option-item.clear-option {
border-top: 1px solid var(--background-modifier-border);
margin-top: var(--size-2-2);
padding-top: var(--size-2-3);
color: var(--text-error);
}
.date-picker-root-container .quick-option-item.clear-option:hover {
color: var(--text-on-accent);
background-color: var(--background-modifier-error-hover);
}
.date-picker-root-container .quick-option-label {
font-size: var(--font-ui-small);
font-weight: var(--font-medium);
}
.date-picker-root-container .quick-option-date {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-family: var(--font-monospace);
}
.date-picker-root-container .quick-option-item.selected .quick-option-date {
color: var(--text-on-accent);
}
.date-picker-root-container .calendar-container {
display: flex;
flex-direction: column;
}
.date-picker-root-container .calendar-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--size-4-2);
padding: 0 var(--size-2-2);
}
.date-picker-root-container .calendar-nav-btn {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: var(--radius-s);
cursor: pointer;
transition: background-color 0.2s ease;
}
.date-picker-root-container .calendar-nav-btn:hover {
background-color: var(--background-modifier-hover);
}
.date-picker-root-container .calendar-month-year {
font-size: var(--font-ui-medium);
font-weight: var(--font-bold);
color: var(--text-normal);
}
.date-picker-root-container .calendar-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 1px;
background-color: var(--background-modifier-border);
border-radius: var(--radius-s);
overflow: hidden;
}
.date-picker-root-container .calendar-day-header {
background-color: var(--background-secondary);
padding: var(--size-2-2);
text-align: center;
font-size: var(--font-ui-smaller);
font-weight: var(--font-bold);
color: var(--text-muted);
}
.date-picker-root-container .calendar-day {
background-color: var(--background-primary);
padding: var(--size-2-2);
text-align: center;
font-size: var(--font-ui-small);
cursor: pointer;
transition: background-color 0.2s ease;
min-height: 32px;
display: flex;
align-items: center;
justify-content: center;
}
.date-picker-root-container .calendar-day:hover {
background-color: var(--background-modifier-hover);
}
.date-picker-root-container .calendar-day.other-month {
color: var(--text-faint);
background-color: var(--background-secondary);
}
.date-picker-root-container .calendar-day.today {
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
font-weight: var(--font-bold);
}
.date-picker-root-container .calendar-day.selected {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-weight: var(--font-bold);
}
.date-picker-root-container .calendar-day.today.selected {
background-color: var(--interactive-accent);
box-shadow: inset 0 0 0 2px var(--text-on-accent);
}
.date-picker-popover.tg-menu {
z-index: 20;
position: fixed;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
box-shadow: var(--shadow-l);
max-height: 80vh;
overflow: auto;
}
.date-picker-popover.tg-menu .date-picker-popover-content {
padding: 0;
}
@media (max-width: 768px) {
.date-picker-root-container .date-picker-main-panel {
flex-direction: column;
gap: var(--size-4-2);
}
.date-picker-root-container .date-picker-left-panel {
border-right: none;
border-bottom: 1px solid var(--background-modifier-border);
padding-right: 0;
padding-bottom: var(--size-4-2);
}
.date-picker-root-container {
min-width: 300px;
max-width: 400px;
}
.date-picker-root-container .calendar-day {
min-height: 40px;
font-size: var(--font-ui-medium);
}
}
.date-picker-root-container .date-picker-widget-error {
color: var(--text-error);
background-color: var(--background-modifier-error);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-size: var(--font-ui-smaller);
}
/* src/styles/quick-capture.css */
.quick-capture-panel {
padding: var(--size-4-2);
background-color: var(--background-primary);
border-top: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.quick-capture-actions {
display: flex;
gap: var(--size-2-1);
margin-left: auto;
align-items: center;
}
.quick-capture-actions .quick-action-button {
background: transparent;
border: none;
border-radius: var(--radius-s);
padding: var(--size-2-1);
cursor: pointer;
transition: all 0.2s ease;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.quick-capture-actions .quick-action-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.quick-capture-actions .quick-action-button.active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.quick-capture-modal.minimal {
max-width: 600px;
min-width: 500px;
max-height: 200px;
}
.quick-capture-minimal-editor-container {
padding: var(--size-4-2);
min-height: 50px;
}
.quick-capture-minimal-editor-container .cm-editor {
font-size: var(--font-text-size);
min-height: 40px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: var(--size-2-1);
}
.quick-capture-minimal-editor-container .cm-editor.cm-focused {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-alpha);
}
.quick-capture-minimal-buttons {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2);
}
.quick-actions-left {
display: flex;
gap: var(--size-2-1);
}
.quick-actions-right {
display: flex;
gap: var(--size-2-1);
}
.quick-action-button.active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.quick-action-save {
padding: var(--size-2-1) var(--size-4-2);
min-width: 80px;
height: 32px;
border-radius: var(--radius-s);
}
.quick-capture-tag-input {
position: absolute;
bottom: 60px;
left: 50%;
transform: translateX(-50%);
width: 300px;
padding: var(--size-2-1);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: var(--font-text-size);
z-index: 1000;
}
.minimal-quick-capture-suggestion {
padding: var(--size-2-1) var(--size-4-2);
border-radius: var(--radius-s);
cursor: pointer;
transition: background-color 0.2s ease;
min-height: 40px;
display: flex;
align-items: center;
}
.minimal-quick-capture-suggestion:hover {
background-color: var(--background-modifier-hover);
}
.minimal-quick-capture-suggestion.is-selected {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.minimal-quick-capture-suggestion.is-selected .suggestion-label {
color: var(--text-on-accent);
}
.minimal-quick-capture-suggestion.is-selected .suggestion-description {
color: var(--text-on-accent);
opacity: 0.8;
}
.suggestion-icon {
font-size: 16px;
min-width: 20px;
text-align: center;
}
.suggestion-content {
flex: 1;
}
.suggestion-label {
font-size: var(--font-text-size);
font-weight: 500;
color: var(--text-normal);
}
.suggestion-description {
font-size: var(--font-ui-small);
color: var(--text-muted);
margin-top: 2px;
}
.quick-capture-header-container {
display: flex;
align-items: center;
margin-bottom: var(--size-4-2);
gap: var(--size-4-2);
font-size: var(--font-ui-medium);
font-weight: bold;
color: var(--text-normal);
padding: var(--size-2-1) var(--size-4-2);
flex-wrap: nowrap;
}
.quick-capture-title {
color: var(--text-normal);
white-space: nowrap;
}
.quick-capture-target {
flex: 1;
border-radius: var(--radius-s);
color: var(--text-accent);
font-size: var(--font-text-size);
font-weight: normal;
min-width: 100px;
max-width: 500px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding: 2px 4px;
transition: background-color 0.2s ease;
}
.quick-capture-target:hover {
background-color: var(--background-modifier-hover);
}
.quick-capture-target:focus {
background-color: var(--background-modifier-hover);
outline: 2px solid var(--interactive-accent);
outline-offset: -1px;
overflow: visible;
text-overflow: initial;
}
.quick-capture-hint {
font-size: 12px;
color: var(--text-muted);
margin-bottom: 8px;
margin-top: -4px;
text-align: right;
}
.quick-capture-editor {
min-height: 200px;
background-color: var(--background-primary);
}
.quick-capture-file-suggest {
max-width: 500px;
}
.quick-capture-buttons {
display: flex;
justify-content: flex-end;
gap: 8px;
}
.quick-capture-submit,
.quick-capture-cancel {
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
}
.quick-capture-submit {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.quick-capture-cancel {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.quick-capture-modal .modal-title {
display: flex;
align-items: center;
flex-direction: row;
gap: 10px;
font-size: var(--font-ui-medium);
font-weight: bold;
}
.quick-capture-modal-editor {
min-height: 150px;
margin-bottom: 20px;
}
.quick-capture-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
}
.quick-capture-modal.full {
width: 80vw;
max-width: 900px;
}
.quick-capture-layout {
display: flex;
height: 100%;
gap: 16px;
margin-bottom: 16px;
}
.quick-capture-config-panel {
flex: 1;
border-right: 1px solid var(--background-modifier-border);
padding-right: 16px;
overflow-y: auto;
max-width: 40%;
}
.quick-capture-editor-panel {
flex: 1.5;
display: flex;
flex-direction: column;
}
.quick-capture-section-title {
font-weight: bold;
margin-bottom: 8px;
font-size: var(--font-ui-medium);
color: var(--text-normal);
}
.quick-capture-target-container {
margin-bottom: 16px;
}
.quick-capture-modal.full .quick-capture-modal-editor {
min-height: 200px;
flex: 1;
overflow-y: auto;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 8px;
margin-top: 8px;
}
@media (max-width: 768px) {
.quick-capture-modal.full {
width: 95vw;
}
.quick-capture-layout {
flex-direction: column;
}
.quick-capture-config-panel {
max-width: 100%;
border-right: none;
border-bottom: 1px solid var(--background-modifier-border);
padding-right: 0;
padding-bottom: 16px;
margin-bottom: 16px;
max-height: 40%;
}
}
.quick-capture-config-panel .details-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: var(--size-4-2);
margin-top: var(--size-4-2);
}
.quick-capture-config-panel .quick-capture-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
gap: var(--size-4-3);
}
/* src/styles/task-list.css */
.task-list {
flex: 1;
overflow-y: auto;
padding: 0;
}
.task-item {
display: flex;
align-items: flex-start;
padding: 8px 16px;
border-bottom: 1px solid var(--background-modifier-border);
cursor: pointer;
gap: var(--size-2-3);
}
.task-item:hover {
background-color: var(--background-secondary-alt);
}
.task-children-container .task-item:hover {
background-color: var(--background-secondary);
}
.task-item.selected {
background-color: var(--background-secondary-alt);
}
.task-item.task-completed .task-item-content {
text-decoration: line-through;
color: var(--text-muted);
}
.task-item .markdown-block.markdown-renderer > p:only-child {
padding: 0;
margin: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-checkbox {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-normal);
cursor: pointer;
flex-shrink: 0;
}
.task-item.task-completed .task-checkbox {
color: var(--text-on-accent);
}
.task-item-content {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
.task-item-container {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-content-metadata-container {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: var(--size-2-2);
transition: all 0.2s ease;
}
.task-content-metadata-container.single-line-content {
flex-direction: row;
align-items: center;
}
.task-content-metadata-container.single-line-content .task-item-content {
flex: 1;
min-width: 0;
}
.task-content-metadata-container.single-line-content .task-item-metadata {
flex-shrink: 0;
margin-top: 0;
}
.task-content-metadata-container.multi-line-content {
flex-direction: column;
align-items: flex-start;
}
.task-content-metadata-container.multi-line-content .task-item-content {
}
.task-content-metadata-container.multi-line-content .task-item-metadata {
margin-top: var(--size-2-2);
}
.task-item-metadata {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-top: var(--size-2-2);
}
.task-item-metadata:empty {
display: none;
}
.task-date {
font-size: var(--font-ui-small);
color: var(--text-faint);
white-space: nowrap;
background-color: var(--background-modifier-active-hover);
padding: var(--size-2-1) var(--size-2-3);
border-radius: var(--radius-s);
opacity: 0.8;
}
.task-item:hover .task-date {
opacity: 1;
}
.task-date::before {
display: inline-block;
margin-right: var(--size-2-2);
font-size: xx-small;
display: inline-flex;
transform: translateY(-1px);
}
.tg-kanban-view .task-date::before {
transform: translateY(0);
}
.task-date.task-due-date::before {
content: "\1f4c5";
}
.task-date.task-overdue {
color: var(--text-error);
font-weight: 600;
}
.task-date.task-due-today {
color: var(--task-doing-color);
font-weight: 600;
}
.task-date.task-due-soon {
color: var(--text-warning);
font-weight: 600;
}
.task-date.task-start-date::before {
content: "\1f6eb";
}
.task-date.task-created-date::before {
content: "\2795";
}
.task-date.task-scheduled-date::before {
content: "\23f3";
}
.task-date.task-done-date::before {
content: "\2705";
}
.task-date.task-cancelled-date::before {
content: "\274c";
}
.task-date.task-recurrence::before {
content: "\1f501";
}
.task-date.task-on-completion::before {
content: "\1f3c1";
}
.task-project {
font-size: var(--font-ui-small);
color: var(--text-on-accent);
background-color: var(--color-accent);
border-radius: var(--radius-s);
padding: var(--size-2-1) var(--size-2-3);
white-space: nowrap;
opacity: 0.5;
}
.task-project:has(input) {
background-color: var(--background-modifier-active-hover);
color: var(--text-normal);
}
.task-item:hover .task-project {
opacity: 1;
}
.task-project::before {
content: "\1f5c2\fe0f";
margin-right: var(--size-4-2);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: var(--font-ui-small);
}
.task-project:hover {
background-color: var(--background-modifier-active-hover);
color: var(--text-accent-hover);
}
.task-priority {
margin-left: 8px;
font-size: 0.9em;
white-space: nowrap;
}
.task-priority.priority-5 {
color: var(--text-error);
font-weight: 600;
}
.task-priority.priority-4 {
color: var(--text-warning);
font-weight: 600;
}
.task-priority.priority-3 {
color: var(--text-warning);
font-weight: 600;
}
.task-priority.priority-2 {
color: var(--text-warning);
}
.task-priority.priority-1 {
color: var(--text-accent);
}
.task-oncompletion {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-muted);
white-space: nowrap;
}
.task-oncompletion:hover {
color: var(--text-normal);
}
.task-dependson {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-error);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-error);
white-space: nowrap;
}
.task-dependson:hover {
background-color: var(--background-modifier-error-hover);
color: var(--text-error);
}
.task-id {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-accent);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-accent);
white-space: nowrap;
}
.task-id:hover {
background-color: var(--background-modifier-accent-hover);
color: var(--text-accent-hover);
}
.task-tags-container {
display: flex;
flex-wrap: wrap;
gap: var(--size-2-2);
}
.task-tags-container:empty {
display: none;
}
.task-tag {
font-size: var(--font-ui-small);
color: var(--text-normal);
background-color: var(--background-modifier-hover);
border-radius: var(--radius-s);
padding: var(--size-2-1) var(--size-2-3);
white-space: nowrap;
opacity: 0.75;
}
.task-item:hover .task-tag {
opacity: 1;
}
.task-item-content p:has(img) img {
display: block;
width: min(50%, 200px);
}
/* src/styles/inline-editor.css */
.inline-editor {
position: relative;
display: inline-block;
width: 100%;
}
.inline-content-editor {
width: 100%;
min-height: 18px;
border: none;
border-bottom: 1px solid var(--interactive-accent);
border-radius: 0;
padding: 2px 4px;
background-color: transparent;
color: var(--text-normal);
font-family: inherit;
font-size: inherit;
line-height: inherit;
resize: none;
outline: none;
transition: border-color 0.15s ease, background-color 0.15s ease;
}
.inline-content-editor:focus {
border-bottom-color: var(--interactive-accent-hover);
background-color: var(--background-primary-alt);
box-shadow: 0 1px 0 0 var(--interactive-accent-hover);
}
.inline-embedded-editor-container {
width: 100%;
min-height: 18px;
border: none;
border-radius: 0;
background-color: transparent;
}
.inline-embedded-editor {
width: 100%;
min-height: 18px;
background-color: transparent;
}
.inline-embedded-editor .cm-editor {
border: none !important;
outline: none !important;
background-color: transparent !important;
border-bottom: 1px solid var(--interactive-accent) !important;
}
.inline-embedded-editor .cm-focused {
outline: none !important;
border-bottom-color: var(--interactive-accent-hover) !important;
background-color: var(--background-primary-alt) !important;
}
.inline-embedded-editor .cm-content {
padding: 2px 4px;
min-height: 18px;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.inline-embedded-editor .cm-line {
padding: 0;
}
.inline-metadata-editor {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 6px;
background-color: var(--background-primary-alt);
border: 1px solid var(--interactive-accent);
border-radius: var(--radius-s);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
min-width: 120px;
max-width: 300px;
position: relative;
z-index: 100;
}
.inline-metadata-editor input {
border: unset;
outline: unset;
padding: 0;
height: var(--line-height);
background-color: transparent;
background: transparent;
border-radius: var(--radius-s);
}
.inline-metadata-editor input:focus {
outline: unset;
padding: 0;
background-color: transparent;
}
.inline-metadata-editor:has(input) {
outline: unset;
border: 0;
padding: 0;
background-color: transparent;
border-radius: unset;
}
.inline-project-input,
.inline-tags-input,
.inline-context-input,
.inline-date-input,
.inline-recurrence-input {
flex: 1;
padding: 2px 4px;
border: none;
border-radius: 2px;
background-color: transparent;
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
outline: none;
min-width: 80px;
transition: background-color 0.15s ease;
}
.inline-project-input:focus,
.inline-tags-input:focus,
.inline-context-input:focus,
.inline-date-input:focus,
.inline-recurrence-input:focus {
background-color: var(--background-primary);
box-shadow: inset 0 0 0 1px var(--interactive-accent);
}
.inline-priority-select {
padding: 2px 4px;
border: none;
border-radius: 2px;
background-color: transparent;
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
outline: none;
cursor: pointer;
min-width: 80px;
}
.inline-priority-select:focus {
background-color: var(--background-primary);
box-shadow: inset 0 0 0 1px var(--interactive-accent);
}
.add-metadata-container {
display: inline-flex;
align-items: center;
margin-left: 4px;
}
.task-list .task-item:not(.tree-task-item):hover .add-metadata-btn {
opacity: 1;
}
.tree-task-item .task-item-container:hover .add-metadata-btn {
opacity: 1;
}
.add-metadata-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border: none;
border-radius: 2px;
background-color: var(--background-secondary);
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s ease;
--icon-size: 10px;
opacity: 0;
padding: 0;
margin: 0;
}
.add-metadata-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
opacity: 1;
}
.add-metadata-btn:active {
background-color: var(--background-modifier-active);
transform: scale(0.95);
}
.add-metadata-btn svg {
width: 10px;
height: 10px;
}
.inline-editor * {
transition:
border-color 0.15s ease,
background-color 0.15s ease,
box-shadow 0.15s ease;
}
.inline-editor input:focus,
.inline-editor textarea:focus,
.inline-editor select:focus {
outline: none;
}
.task-item-metadata .task-date,
.task-item-metadata .task-project,
.task-item-metadata .task-tag {
cursor: pointer;
transition: background-color 0.15s ease, transform 0.15s ease;
position: relative;
}
.task-item-metadata .task-date:hover,
.task-item-metadata .task-project:hover,
.task-item-metadata .task-tag:hover {
background-color: var(--background-modifier-hover);
transform: none;
}
.task-item-metadata .task-date:hover::after,
.task-item-metadata .task-project:hover::after,
.task-item-metadata .task-tag:hover::after {
display: none;
}
.task-item-content {
cursor: pointer;
transition: background-color 0.15s ease;
}
.inline-metadata-editor {
animation: fadeInScale 0.15s ease-out;
}
@keyframes fadeInScale {
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
}
.inline-editor-placeholder {
min-height: 1em;
display: inline-block;
}
@media (max-width: 768px) {
.inline-project-input,
.inline-tags-input,
.inline-context-input,
.inline-recurrence-input {
min-width: 100px;
font-size: var(--font-ui-smaller);
}
.inline-metadata-editor {
max-width: 250px;
}
}
@media (prefers-contrast: high) {
.inline-content-editor,
.inline-embedded-editor .cm-editor {
border-bottom-width: 2px;
}
.inline-metadata-editor {
border-width: 2px;
}
}
@media (prefers-reduced-motion: reduce) {
.inline-editor *,
.task-item-metadata .task-date,
.task-item-metadata .task-project,
.task-item-metadata .task-tag,
.task-item-content,
.add-metadata-btn {
transition: none;
}
.inline-metadata-editor {
animation: none;
}
}
.inline-dependson-input,
.inline-id-input {
width: 100%;
min-width: 200px;
padding: 4px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background-color: var(--background-primary);
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
outline: none;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.inline-dependson-input:focus,
.inline-id-input:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.inline-dependson-input::placeholder,
.inline-id-input::placeholder {
color: var(--text-faint);
}
/* src/styles/tree-view.css */
.tree-task-item {
position: relative;
display: flex;
flex-direction: column;
padding: 8px 16px;
transition: background-color 0.2s ease;
}
.task-children-container .task-item.tree-task-item {
border-bottom: unset;
padding-top: var(--size-2-2);
padding-bottom: var(--size-2-2);
gap: 0;
}
.task-item.tree-task-item {
gap: 0;
}
.tree-task-item:hover {
background-color: var(--background-secondary-alt);
}
.tree-task-item.selected {
background-color: var(--background-modifier-active);
}
.tree-task-item.completed {
opacity: 0.7;
}
.tree-task-item > div:first-of-type {
width: 100%;
display: flex;
align-items: flex-start;
gap: 6px;
}
.task-indent {
flex-shrink: 0;
}
.task-item.tree-task-item .task-expand-toggle {
padding-top: var(--size-2-2);
}
.task-item .task-checkbox {
padding-top: var(--size-2-2);
}
.task-expand-toggle {
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
flex-shrink: 0;
color: var(--text-muted);
}
.task-expand-toggle:hover {
color: var(--text-normal);
}
.task-item.tree-task-item .task-checkbox {
cursor: pointer;
flex-shrink: 0;
color: var(--text-muted);
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.task-item.tree-task-item .task-checkbox:hover {
color: var(--text-accent);
}
.task-item.tree-task-item .task-checkbox.checked {
color: var(--text-accent);
}
.task-content {
flex-grow: 1;
line-height: 1.4;
}
.tree-task-item.completed .task-content {
text-decoration: line-through;
color: var(--text-muted);
}
.tree-task-item .task-content-metadata-container {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: var(--size-2-2);
transition: all 0.2s ease;
}
.tree-task-item .task-content-metadata-container.single-line-content {
flex-direction: row;
align-items: center;
}
.tree-task-item .task-content-metadata-container.single-line-content .task-item-content {
flex: 1;
min-width: 0;
}
.tree-task-item .task-content-metadata-container.single-line-content .task-metadata {
flex-shrink: 0;
margin-top: 0;
}
.tree-task-item .task-content-metadata-container.multi-line-content {
flex-direction: column;
align-items: flex-start;
}
.tree-task-item .task-content-metadata-container.multi-line-content .task-item-content {
width: 100%;
}
.tree-task-item .task-content-metadata-container.multi-line-content .task-metadata {
margin-top: 4px;
}
.task-metadata {
display: flex;
gap: 8px;
margin-top: 4px;
font-size: 0.85em;
color: var(--text-muted);
}
.task-metadata:empty {
display: none;
}
.task-due-date.overdue {
color: var(--text-error);
font-weight: bold;
}
.task-item.tree-task-item .task-project {
display: inline-block;
padding: 1px 6px;
border-radius: 4px;
}
.task-priority.priority-3 {
color: var(--text-error);
}
.task-priority.priority-2 {
color: var(--text-warning);
}
.task-priority.priority-1 {
color: var(--text-accent);
}
.tree-task-item .task-oncompletion {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-border);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-muted);
white-space: nowrap;
}
.tree-task-item .task-oncompletion:hover {
color: var(--text-normal);
}
.tree-task-item .task-dependson {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-error);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-error);
white-space: nowrap;
}
.tree-task-item .task-dependson:hover {
background-color: var(--background-modifier-error-hover);
color: var(--text-error);
}
.tree-task-item .task-id {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-accent);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-accent);
white-space: nowrap;
}
.tree-task-item .task-id:hover {
background-color: var(--background-modifier-accent-hover);
color: var(--text-accent-hover);
}
.task-children-container {
margin-top: 4px;
width: 100%;
}
.view-toggle-btn {
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
color: var(--text-muted);
border-radius: 4px;
}
.view-toggle-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.task-children-container:empty {
display: none !important;
}
/* src/styles/forecast.css */
.forecast-container {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
flex: 1;
}
.forecast-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px;
border-bottom: 1px solid var(--background-modifier-border);
}
.forecast-title-container {
display: flex;
flex-direction: column;
}
.forecast-title {
font-weight: 600;
font-size: 1.2em;
}
.forecast-count {
font-size: 0.8em;
color: var(--text-muted);
margin-top: 4px;
}
.forecast-actions {
display: flex;
gap: var(--size-4-2);
align-items: center;
justify-content: center;
}
.forecast-settings {
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
display: flex;
align-items: center;
justify-content: center;
}
.forecast-settings:hover {
opacity: 1;
}
.forecast-focus-bar {
display: flex;
padding: 10px 15px;
border-bottom: 1px solid var(--background-modifier-border);
gap: 10px;
align-items: center;
}
.focus-input {
flex: 1;
padding: 6px 12px;
border-radius: 4px;
border: 1px solid var(--interactive-accent);
background-color: var(--background-primary);
color: var(--text-normal);
}
.unfocus-button {
padding: 6px 12px;
border-radius: 4px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
cursor: pointer;
border: none;
}
.unfocus-button:hover {
background-color: var(--interactive-accent-hover);
}
.forecast-content {
display: flex;
flex: 1;
overflow: hidden;
}
.forecast-left-column {
width: 360px;
min-width: 360px;
border-right: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
overflow-y: auto;
background-color: var(--background-secondary-alt);
}
.forecast-right-column {
flex: 1;
display: flex;
flex-direction: column;
background-color: var(--background-primary);
}
.forecast-task-list {
overflow-y: auto;
}
.forecast-calendar-section {
padding: 10px 0;
margin-top: var(--size-4-4);
flex-shrink: 0;
border-top: 1px solid var(--background-modifier-border);
}
.forecast-stats {
display: flex;
}
.stat-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 10px;
cursor: pointer;
transition: background-color 0.2s ease;
position: relative;
}
.stat-item::after {
content: "";
position: absolute;
bottom: 0;
left: 10%;
width: 80%;
height: 3px;
background-color: transparent;
transition: background-color 0.2s ease;
}
.stat-item:hover {
background-color: var(--background-modifier-hover);
}
.stat-item.active::after {
background-color: var(--interactive-accent);
animation: color-pulse 1.5s infinite alternate;
}
@keyframes color-pulse {
0% {
background-color: var(--color-accent-1) !important;
opacity: 0.7;
}
100% {
background-color: var(--color-accent-2) !important;
opacity: 1;
}
}
.stat-item.tg-past-due::after {
background-color: var(--text-error);
opacity: 0.7;
}
.stat-item.tg-today::after {
background-color: var(--interactive-accent);
opacity: 0.7;
}
.stat-item.tg-future::after {
background-color: var(--text-accent);
opacity: 0.7;
}
.stat-count {
font-size: 1.5em;
font-weight: 600;
}
.stat-item.tg-past-due .stat-count {
color: var(--text-error);
}
.stat-label {
font-size: 0.8em;
color: var(--text-muted);
}
.forecast-due-soon-section {
display: flex;
flex-direction: column;
padding-bottom: var(--size-4-3);
}
.due-soon-header {
font-size: 0.8em;
font-weight: 600;
padding: 5px 15px;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.due-soon-item {
display: flex;
justify-content: space-between;
padding: 8px 15px;
cursor: pointer;
border-left: 3px solid transparent;
transition: background-color 0.2s ease;
}
.due-soon-item:hover {
background-color: var(--background-modifier-hover);
border-left-color: var(--interactive-accent);
}
.due-soon-date {
font-size: 0.9em;
}
.due-soon-count {
font-size: 0.8em;
background-color: var(--background-modifier-border);
padding: 2px 6px;
border-radius: 10px;
color: var(--text-muted);
}
.due-soon-empty {
text-align: center;
padding: 15px;
color: var(--text-muted);
font-style: italic;
font-size: 0.9em;
}
.date-section-header {
display: flex;
align-items: center;
padding: 8px 15px;
cursor: pointer;
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary-alt);
}
.date-section-header .section-toggle {
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.date-section-header .section-title {
flex: 1;
font-weight: 500;
}
.date-section-header .section-count {
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
height: var(--size-4-5);
width: var(--size-4-5);
display: inline-flex;
align-items: center;
justify-content: center;
}
.task-date-section.overdue .date-section-header {
border-left: 3px solid var(--text-error);
}
.task-date-section.overdue .section-title {
color: var(--text-error);
}
.task-date-section.overdue .section-count {
background-color: var(--text-error);
color: white;
}
.section-tasks {
display: flex;
flex-direction: column;
}
.forecast-empty-state {
display: flex;
height: 100px;
align-items: center;
justify-content: center;
color: var(--text-muted);
font-style: italic;
}
.forecast-sidebar-toggle {
position: absolute;
}
.is-phone .forecast-header:has(.forecast-sidebar-toggle) .forecast-title-container {
padding-left: var(--size-4-10);
}
.is-phone .forecast-container {
position: relative;
overflow: hidden;
}
.is-phone .forecast-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .forecast-left-column.is-visible {
transform: translateX(0);
}
.is-phone .forecast-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .forecast-sidebar-close {
position: absolute;
top: 10px;
right: 10px;
z-index: 15;
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background-color: var(--background-primary);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.is-phone .task-genius-container:has(.forecast-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
/* src/styles/calendar.css */
.task-genius-view .mini-calendar-container {
display: flex;
flex-direction: column;
width: 100%;
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
}
.task-genius-view .mini-calendar-container .calendar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 15px;
margin-bottom: 8px;
}
.task-genius-view .mini-calendar-container .calendar-title {
font-weight: 600;
display: flex;
gap: 5px;
}
.task-genius-view .mini-calendar-container .calendar-month {
margin-right: 5px;
}
.task-genius-view .mini-calendar-container .calendar-year {
color: var(--text-muted);
}
.task-genius-view .mini-calendar-container .calendar-nav {
display: flex;
align-items: center;
gap: 8px;
}
.task-genius-view .mini-calendar-container .calendar-nav-btn {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 4px;
background-color: var(--background-modifier-hover);
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
}
.task-genius-view .mini-calendar-container .calendar-nav-btn:hover {
opacity: 1;
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .mini-calendar-container .calendar-today-btn {
padding: 2px 8px;
border-radius: 4px;
background-color: var(--background-modifier-hover);
cursor: pointer;
font-size: 0.8em;
transition: background-color 0.2s ease;
}
.task-genius-view .mini-calendar-container .calendar-today-btn:hover {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .mini-calendar-container .calendar-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 1px;
padding: 0 10px;
}
.task-genius-view .mini-calendar-container .calendar-day-header {
text-align: center;
font-size: 0.8em;
color: var(--text-muted);
padding: 3px 0;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 3px;
}
.task-genius-view .mini-calendar-container .calendar-day-header.calendar-weekend {
color: var(--text-accent);
}
.task-genius-view .mini-calendar-container.hide-weekends .calendar-grid {
grid-template-columns: repeat(5, 1fr);
}
.task-genius-view .mini-calendar-container .calendar-day {
border-radius: 4px;
padding: 1px;
cursor: pointer;
position: relative;
display: flex;
flex-direction: column;
transition: background-color 0.2s ease;
height: auto;
min-height: var(--size-4-12);
}
.task-genius-view .mini-calendar-container .calendar-day:hover {
background-color: var(--background-modifier-hover);
}
.task-genius-view .mini-calendar-container .calendar-day.selected {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .mini-calendar-container .calendar-day.today {
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
}
.task-genius-view .mini-calendar-container .calendar-day.past-due {
color: var(--text-error);
}
.task-genius-view .mini-calendar-container .calendar-day.other-month {
opacity: 0.5;
}
.task-genius-view .mini-calendar-container .calendar-day-number {
text-align: center;
font-size: 0.9em;
font-weight: 500;
padding: 1px;
}
.task-genius-view .mini-calendar-container .calendar-day-count {
background-color: var(--background-modifier-border);
color: var(--text-normal);
border-radius: 8px;
font-size: 0.7em;
padding: 1px 4px;
margin: 1px auto 0;
text-align: center;
width: fit-content;
}
.task-genius-view .mini-calendar-container .calendar-day-count.has-priority {
background-color: var(--text-accent);
color: var(--text-on-accent);
}
@media (max-width: 1400px) {
.task-genius-container:has(.task-details.visible) .mini-calendar-container .forecast-left-column {
display: none;
}
}
/* src/styles/tag-view.css */
.tags-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
flex: 1;
}
.task-genius-view:has(.task-details.visible) .tags-left-column {
display: none;
}
.tags-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.multi-select-mode .tags-multi-select-btn {
color: var(--color-accent);
}
.tags-left-column {
width: max(120px, 30%);
min-width: min(120px, 30%);
max-width: 400px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
overflow: hidden;
}
.tags-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.tags-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.tags-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.tags-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.tags-multi-select-btn:hover {
color: var(--text-normal);
}
.tags-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
display: flex;
flex-direction: column;
gap: var(--size-2-1);
}
.tag-list-item {
display: flex;
align-items: center;
padding: 4px 12px;
cursor: pointer;
position: relative;
border-radius: var(--radius-s);
}
.tag-list-item:hover {
background-color: var(--background-modifier-hover);
}
.tag-list-item.selected {
background-color: var(--background-modifier-active);
}
.tag-indent {
flex-shrink: 0;
}
.tag-icon {
margin-right: var(--size-2-2);
color: var(--text-muted);
display: flex;
--icon-size: var(--size-4-4);
}
.tag-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tag-count {
margin-left: 8px;
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
padding: 1px 6px;
}
.tag-children {
width: 100%;
}
.tags-task-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.tags-task-title {
font-weight: 600;
font-size: 16px;
}
.tags-task-count {
color: var(--text-muted);
}
.tags-task-list {
flex: 1;
overflow-y: auto;
}
.tags-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
}
.tag-section-header {
display: flex;
align-items: center;
padding: 8px 15px;
cursor: pointer;
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary-alt);
}
.tag-section-header .section-toggle {
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.tag-section-header .section-title {
flex: 1;
font-weight: 500;
}
.tag-section-header .section-count {
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
padding: 2px 6px;
border-radius: 10px;
height: var(--size-4-5);
width: var(--size-4-5);
}
.is-phone .tags-container {
position: relative;
overflow: hidden;
}
.is-phone .tags-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .tags-left-column.is-visible {
transform: translateX(0);
}
.is-phone .tags-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .tags-sidebar-close {
--icon-size: var(--size-4-4);
position: absolute;
top: var(--size-4-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .tags-container:has(.tags-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .tags-sidebar-header:has(.tags-sidebar-close) {
padding-right: var(--size-4-12);
}
/* src/styles/project-view.css */
.projects-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.projects-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.projects-left-column {
width: max(120px, 30%);
min-width: min(120px, 30%);
max-width: 300px;
display: flex;
flex-direction: column;
overflow: hidden;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .projects-left-column {
max-width: 100%;
}
.projects-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.projects-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.projects-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.projects-sidebar-header-btn-group {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: var(--size-4-2);
}
.multi-select-mode .projects-multi-select-btn {
color: var(--color-accent);
}
.projects-tree-toggle-btn {
display: flex;
align-items: center;
justify-content: center;
}
.projects-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.projects-multi-select-btn:hover {
color: var(--text-normal);
}
.projects-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2) var(--size-4-2);
}
.project-list-item {
display: flex;
align-items: center;
cursor: pointer;
border-radius: var(--radius-s);
padding: var(--size-4-2);
}
.project-list-item:hover {
background-color: var(--background-modifier-hover);
}
.project-list-item.selected {
background-color: var(--background-secondary);
}
.project-icon {
margin-right: 8px;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.project-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.project-count {
margin-left: 8px;
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
padding: 1px 6px;
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-count.partially-completed {
color: var(--text-success);
}
.project-count.all-completed {
color: var(--text-on-accent);
font-weight: 600;
}
.project-count.has-progress {
border-radius: var(--radius-s);
}
.project-list-item.selected .project-count {
color: var(--text-on-accent);
}
.project-list-item.selected .project-count.all-completed {
background-color: rgba(255, 255, 255, 0.3);
}
.projects-task-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
min-height: var(--size-4-10);
}
.projects-header-main-content {
flex: 1;
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.projects-header-top-row {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.projects-header-top-right {
display: flex;
align-items: center;
gap: var(--size-4-2);
}
.projects-header-progress {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 4px;
}
.projects-header-progress .cm-task-progress-bar {
display: inline-flex;
align-items: center;
gap: 8px;
width: 100%;
}
.projects-header-progress .progress-bar-inline-background {
flex: 1;
max-width: 100%;
}
.projects-header-progress .progress-status {
font-size: 0.9em;
color: var(--text-muted);
white-space: nowrap;
}
.projects-task-title {
font-weight: 600;
font-size: 16px;
}
.projects-task-count {
color: var(--text-muted);
}
.projects-task-list {
flex: 1;
overflow-y: auto;
}
.projects-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
}
.is-phone .projects-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .projects-left-column.is-visible {
transform: translateX(0);
}
.is-phone .projects-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .projects-sidebar-close {
--icon-size: var(--size-4-4);
position: absolute;
top: var(--size-4-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .projects-container:has(.projects-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .projects-container {
position: relative;
overflow: hidden;
}
.is-phone .projects-sidebar-header:has(.projects-sidebar-close) {
padding-right: var(--size-4-12);
}
.tg-project-popover {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-s);
padding: 10px 12px;
max-width: 520px;
max-height: 60vh;
overflow: auto;
}
.tg-project-props {
display: flex;
flex-direction: column;
gap: 6px;
}
.tg-project-props > div {
display: grid;
grid-template-columns: minmax(90px, 160px) 1fr;
align-items: start;
column-gap: 10px;
padding: 2px 0;
}
.tg-project-props > div > div:first-child {
color: var(--text-muted);
font-size: 12px;
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tg-project-props > div > div:last-child {
color: var(--text-normal);
line-height: 1.4;
white-space: pre-wrap;
word-break: break-word;
}
.projects-props-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--icon-size, 24px);
height: var(--icon-size, 24px);
color: var(--text-muted);
cursor: pointer;
border-radius: var(--radius-s);
}
.projects-props-btn:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
/* src/styles/project-tree.css */
:root {
--tree-indent-size: 1.5rem;
--tree-guide-color: var(--background-modifier-border);
}
.project-tree-container {
height: 100%;
overflow: auto;
}
.project-tree {
padding: 0.5rem 0;
}
.project-tree-item {
position: relative;
user-select: none;
--tree-level: 0;
}
.project-tree-item-content {
display: flex;
align-items: center;
padding: 8px;
padding-left: calc(calc(var(--tree-level) - 1) * var(--tree-indent-size));
cursor: pointer;
border-radius: var(--radius-s);
transition: background-color 0.15s ease;
position: relative;
}
.project-tree-item-content:hover {
background-color: var(--background-modifier-hover);
}
.project-tree-item.is-selected > .project-tree-item-content {
background-color: var(--background-modifier-active-hover);
}
.project-tree-item-toggle {
display: flex;
align-items: center;
justify-content: center;
width: 1.5rem;
height: 1.5rem;
flex-shrink: 0;
cursor: pointer;
color: var(--text-muted);
transition: transform 0.15s ease;
}
.project-tree-item-toggle:hover {
color: var(--text-normal);
}
.project-tree-item-toggle svg {
width: 0.875rem;
height: 0.875rem;
}
.project-tree-item-toggle-spacer {
width: 1.5rem;
flex-shrink: 0;
}
.project-tree-item-icon {
display: flex;
align-items: center;
justify-content: center;
width: 1.25rem;
height: 1.25rem;
margin-right: 0.5rem;
flex-shrink: 0;
color: var(--text-muted);
}
.project-tree-item-content-wrapper {
display: flex;
align-items: center;
justify-content: space-between;
flex: 1;
min-width: 0;
gap: 0.5rem;
}
.project-tree-item-name {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.project-tree-item-counts {
display: flex;
align-items: center;
gap: 0.25rem;
}
.project-tree-item-count-direct,
.project-tree-item-count-total {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 1.25rem;
height: 1.25rem;
padding: 0 0.25rem;
border-radius: var(--radius-s);
font-size: var(--font-ui-smaller);
font-weight: 500;
}
.project-tree-item-count-direct {
background-color: var(--background-modifier-active);
color: var(--text-normal);
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-tree-item-count-total {
background-color: var(--background-modifier-border);
color: var(--text-muted);
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-tree-item-count-direct.partially-completed,
.project-tree-item-count-total.partially-completed {
color: var(--text-success);
}
.project-tree-item-count-direct.all-completed,
.project-tree-item-count-total.all-completed {
background-color: var(--interactive-success);
color: var(--text-on-accent);
font-weight: 600;
}
.project-tree-item.is-selected .project-tree-item-count-direct.all-completed,
.project-tree-item.is-selected .project-tree-item-count-total.all-completed {
background-color: var(--interactive-success);
opacity: 0.9;
}
.project-tree-children {
position: relative;
}
.project-tree-item[data-level]:not([data-level="0"]) > .project-tree-item-content::before {
content: "";
position: absolute;
left: calc(0.5rem + (var(--tree-level) - 1) * var(--tree-indent-size) + 0.75rem);
top: 0;
bottom: 0;
width: 1px;
background: var(--tree-guide-color);
opacity: 0.3;
}
.project-tree-item-children {
overflow: hidden;
transition: max-height 0.2s ease;
}
.project-tree-item-children:not(.is-expanded) {
max-height: 0;
}
.project-tree-empty {
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.projects-view-toggle-btn {
display: flex;
align-items: center;
justify-content: center;
width: 1.75rem;
height: 1.75rem;
border-radius: var(--radius-s);
cursor: pointer;
color: var(--text-muted);
transition: all 0.15s ease;
}
.projects-view-toggle-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.projects-view-toggle-btn svg {
width: 1rem;
height: 1rem;
}
.project-tree-container.multi-select-mode .project-tree-item-content {
position: relative;
}
.project-tree-container.multi-select-mode .project-tree-item-content::before {
content: "";
position: absolute;
left: 0.25rem;
top: 50%;
transform: translateY(-50%);
width: 0.875rem;
height: 0.875rem;
border: 1px solid var(--background-modifier-border-hover);
border-radius: var(--radius-s);
}
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::before {
background-color: var(--interactive-accent);
border-color: var(--interactive-accent);
}
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::after {
content: "\2713";
position: absolute;
left: 0.25rem;
top: 50%;
transform: translateY(-50%);
width: 0.875rem;
height: 0.875rem;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-on-accent);
font-size: 0.625rem;
font-weight: bold;
}
.theme-dark .project-tree-item-count-direct {
background-color: var(--background-modifier-active-hover);
}
.theme-dark .project-tree-item-count-total {
background-color: var(--background-modifier-border-hover);
}
@media (max-width: 768px) {
.project-tree-item-content {
padding: 0.375rem 0.5rem;
}
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-0.5rem);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.project-tree-item-children > .project-tree-item {
animation: slideDown 0.15s ease;
}
/* src/styles/review-view.css */
.review-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.review-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.review-left-column {
width: 250px;
min-width: 200px;
max-width: 300px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
overflow: hidden;
}
.is-phone .review-left-column {
max-width: 100%;
}
.review-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.review-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.review-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.review-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.review-multi-select-btn:hover {
color: var(--text-normal);
}
.review-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.review-projects-group-header {
font-size: 10px;
font-weight: 600;
color: var(--text-faint);
text-transform: uppercase;
padding: 4px 8px 4px;
margin-top: 12px;
letter-spacing: 0.5px;
}
.review-projects-group-header:first-child {
margin-top: 4px;
}
.review-project-item {
--icon-size: var(--size-4-4);
display: flex;
align-items: center;
padding: 4px 8px;
cursor: pointer;
border-radius: var(--radius-s);
margin-bottom: 2px;
}
.review-project-item:hover {
background-color: var(--background-modifier-hover);
}
.review-project-item.selected {
background-color: var(--background-modifier-active);
}
.review-project-item.has-review-settings .review-project-icon {
color: var(--text-accent);
}
.review-project-item.has-review-settings .review-project-name {
font-weight: 500;
}
.review-project-item:not(.has-review-settings) .review-project-icon {
color: var(--text-muted);
}
.review-project-icon {
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.review-project-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.review-task-header {
display: flex;
flex-direction: column;
padding: var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
}
.is-phone .review-task-header {
flex-direction: row;
align-items: flex-start;
}
.review-header-content h3 {
margin: 0 0 8px 0;
padding: 0;
}
.review-info {
display: flex;
align-items: center;
color: var(--text-muted);
font-size: 0.9em;
}
.review-separator {
margin: 0 8px;
}
.review-frequency {
color: var(--text-accent);
}
.review-frequency:hover {
color: var(--text-normal);
text-decoration: underline;
}
.review-last-date {
color: var(--text-normal);
}
.review-no-settings {
font-style: italic;
}
.review-filter-info {
margin-top: 10px;
padding: 6px 10px;
background-color: var(--background-secondary);
border-radius: var(--radius-s);
font-size: 0.85em;
color: var(--text-muted);
border-left: 3px solid var(--text-accent);
}
.review-filter-toggle {
cursor: pointer;
text-decoration: underline;
color: var(--text-accent);
margin-left: 5px;
}
.review-filter-toggle:hover {
color: var(--text-accent-hover);
}
.review-task-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.review-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
text-align: center;
}
.review-button-container {
margin-top: 12px;
display: flex;
justify-content: flex-start;
}
.review-complete-btn,
.review-configure-btn {
padding: 6px 12px;
border-radius: var(--radius-s);
cursor: pointer;
font-size: 0.9em;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.review-complete-btn {
color: var(--text-accent);
}
.review-complete-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-accent);
}
.review-configure-btn {
color: var(--text-muted);
}
.review-configure-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.review-edit-btn {
color: var(--text-accent-hover);
margin-left: 8px;
}
.review-edit-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-accent-hover);
}
.review-modal-title {
margin-top: 0;
margin-bottom: 20px;
font-size: 1.5em;
color: var(--text-normal);
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
}
.review-modal-form {
margin-bottom: 20px;
}
.review-modal-field {
margin-bottom: 16px;
}
.review-modal-label {
display: block;
font-weight: 600;
margin-bottom: 4px;
color: var(--text-normal);
}
.review-modal-description {
font-size: 0.9em;
color: var(--text-muted);
margin-bottom: 8px;
}
.review-modal-select {
width: 100%;
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: 14px;
}
.review-modal-custom-frequency {
margin-top: 8px;
}
.review-modal-input {
width: 100%;
padding: 8px;
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: 14px;
}
.review-modal-last-reviewed {
padding: 8px;
font-size: 14px;
color: var(--text-normal);
background-color: var(--background-secondary);
border-radius: var(--radius-s);
}
.review-modal-buttons {
display: flex;
justify-content: flex-end;
margin-top: 24px;
border-top: 1px solid var(--background-modifier-border);
padding-top: 16px;
}
.review-modal-button {
padding: 8px 16px;
border-radius: var(--radius-s);
font-size: 14px;
cursor: pointer;
border: 1px solid var(--background-modifier-border);
}
.review-modal-button-cancel {
background-color: var(--background-secondary);
color: var(--text-muted);
margin-right: 8px;
}
.review-modal-button-cancel:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.review-modal-button-save {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.review-modal-button-save:hover {
background-color: var(--interactive-accent-hover);
}
.is-phone .review-container {
position: relative;
overflow: hidden;
}
.is-phone .review-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .review-left-column.is-visible {
transform: translateX(0);
}
.is-phone .review-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .review-sidebar-close {
position: absolute;
top: var(--size-2-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .review-container:has(.review-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
/* src/styles/view.css */
.task-sidebar.collapsed {
width: 48px;
overflow: hidden;
}
.panel-toggle-btn {
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
cursor: pointer;
opacity: 0.6;
transition: opacity 0.2s ease;
}
.panel-toggle-btn:hover {
opacity: 1;
}
.task-sidebar.collapsed .sidebar-nav {
align-items: center;
}
.sidebar-nav {
display: flex;
flex-direction: column;
padding: 20px 0 10px 0;
gap: 5px;
}
.sidebar-nav-spacer {
height: 1px;
background-color: var(--background-modifier-border);
margin: 8px 15px;
opacity: 0.7;
margin-top: auto;
}
.sidebar-nav-item {
display: flex;
align-items: center;
padding: 8px 15px;
cursor: pointer;
border-radius: 4px;
margin: 0 5px;
transition: background-color 0.2s ease;
}
.sidebar-nav-item:hover {
background-color: var(--background-modifier-active);
}
.sidebar-nav-item.is-active {
font-weight: 600;
--background-modifier-hover: var(--interactive-accent);
--icon-color: var(--text-on-accent);
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.nav-item-icon {
--icon-size: var(--size-4-4);
display: flex;
align-items: center;
justify-content: center;
margin-right: var(--size-4-2);
}
.nav-item-label {
flex: 1;
font-size: var(--font-ui-medium);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.nav-item-label.hidden {
opacity: 0;
width: 0;
overflow: hidden;
margin: 0;
}
.task-sidebar.collapsed .sidebar-nav-item {
padding: 8px 10px;
justify-content: center;
width: var(--size-4-9);
flex-shrink: 0;
transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out;
}
.task-sidebar.collapsed .nav-item-icon {
margin-right: 0;
}
.task-content {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
min-width: 0;
transition: margin 0.3s ease;
}
.task-sidebar.collapsed .task-content {
margin-left: -200px;
transition: margin 0.3s ease;
}
.task-genius-view .project-tree {
padding: var(--size-2-2) 0;
transition: opacity 0.3s ease;
}
.task-genius-view .tree-root {
display: flex;
flex-direction: column;
}
.task-genius-view .task-genius-view .tree-item {
display: flex;
align-items: center;
padding: 6px 8px;
cursor: pointer;
transition: background-color 0.2s ease;
border-radius: 4px;
margin: 0 5px;
}
.task-genius-view .tree-item:hover {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .tree-item.selected {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .tree-item-icon {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
margin-right: 8px;
color: var(--text-muted);
}
.task-genius-view .tree-item-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.task-genius-view .tree-item-count {
font-size: 0.8em;
color: var(--text-muted);
margin-left: 5px;
background-color: var(--background-modifier-hover);
padding: 1px 6px;
border-radius: 10px;
}
.task-genius-view .tree-item-toggle,
.task-genius-view .tree-item-indent {
width: 20px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 5px;
}
.task-genius-view .tree-item-toggle {
cursor: pointer;
}
.content-header {
padding: 15px;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
align-items: center;
flex-shrink: 0;
}
.task-count {
font-size: 0.8em;
color: var(--text-muted);
margin-right: 10px;
}
.focus-filter {
margin-left: 10px;
}
.workspace-leaf-content .task-genius-view {
padding: 0;
}
.task-genius-container {
display: flex;
flex-direction: row;
height: 100%;
width: 100%;
background-color: var(--background-primary);
border-top: 1px solid var(--background-modifier-border);
color: var(--text-normal);
position: relative;
overflow: hidden;
}
.task-sidebar {
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
overflow-y: auto;
width: 240px;
transition: width 0.3s ease-in-out;
position: relative;
}
.task-content {
display: flex;
flex-direction: column;
flex: 1;
min-width: 300px;
height: 100%;
overflow: hidden;
}
.task-sidebar .sidebar-nav {
display: flex;
flex-direction: column;
padding: 8px 0;
height: 100%;
}
.project-tree {
display: flex;
flex-direction: column;
padding: 8px 0;
overflow-y: auto;
}
.tree-root {
display: flex;
flex-direction: column;
}
.task-genius-view .tree-item {
display: flex;
align-items: center;
padding: 4px 12px;
cursor: pointer;
border-radius: 4px;
margin: 2px 8px;
}
.task-genius-view .tree-item:hover {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .tree-item.selected {
background-color: var(--background-modifier-border-hover);
color: var(--text-accent);
}
.task-genius-view .tree-item-toggle {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 4px;
}
.task-genius-view .tree-item-indent {
width: 16px;
height: 16px;
margin-right: 4px;
}
.task-genius-view .tree-item-icon {
margin-right: 8px;
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
}
.task-genius-view .tree-item-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-genius-view .tree-item-count {
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-hover);
border-radius: 10px;
padding: 2px 6px;
min-width: 16px;
text-align: center;
}
.task-genius-view .tree-item.expanded > .tree-item-children {
display: flex;
}
.task-genius-view .tree-item-children {
display: none;
flex-direction: column;
margin-left: 16px;
width: 100%;
}
.task-genius-view .content-header {
display: flex;
align-items: center;
padding: 10px 16px;
border-bottom: 1px solid var(--background-modifier-border);
min-height: 50px;
}
.task-genius-view .content-title {
font-size: 1.2em;
font-weight: 600;
margin-right: 12px;
flex: 1;
}
@media screen and (max-width: 768px) {
.task-genius-view .content-title {
display: none;
}
.task-genius-view .task-count {
flex: 1;
}
.task-genius-view .focus-filter {
flex: 1;
}
}
.task-genius-view .content-filter {
display: flex;
align-items: center;
margin-right: 12px;
}
.task-genius-view .filter-input {
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 4px 8px;
width: 200px;
background-color: var(--background-primary);
}
.task-genius-view .focus-button {
background-color: var(--interactive-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 4px 10px;
color: var(--text-normal);
cursor: pointer;
}
.task-genius-view .focus-button:hover {
background-color: var(--interactive-hover);
}
.task-genius-view .focus-button.focused {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.mod-root .task-genius-action-btn {
--icon-size: 16px;
}
.mod-left-split .task-genius-action-btn {
display: none;
}
.mod-left-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
display: none;
}
.mod-right-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
display: none;
}
.task-genius-view .task-empty-state,
.task-genius-v2-view .task-empty-state {
width: 100%;
height: 100%;
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}
.mod-root .task-genius-tab-header {
container-type: inline-size !important;
}
@container (max-width: 120px) {
.mod-root .task-genius-action-btn {
display: none;
}
}
.task-sidebar.collapsed .sidebar-nav {
max-width: 45px;
}
.quick-workflow-modal {
max-width: 600px;
min-height: 400px;
}
.workflow-template-section {
margin-bottom: 20px;
padding: 15px;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
}
.template-description {
margin-top: 10px;
}
.template-desc-text {
font-style: italic;
color: var(--text-muted);
margin: 0;
}
.workflow-form-section {
margin-bottom: 20px;
}
.workflow-stages-preview {
margin-top: 15px;
}
.stages-preview-list {
margin-top: 10px;
}
.stage-preview-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 12px;
margin: 4px 0;
background: var(--background-secondary);
border-radius: 6px;
border: 1px solid var(--background-modifier-border);
}
.stage-info {
display: flex;
align-items: center;
gap: 8px;
}
.stage-name {
font-weight: 500;
}
.stage-type {
color: var(--text-muted);
font-size: 0.9em;
}
.stage-actions {
display: flex;
gap: 4px;
}
.no-stages-message {
text-align: center;
color: var(--text-muted);
font-style: italic;
padding: 20px;
border: 2px dashed var(--background-modifier-border);
border-radius: 8px;
margin-top: 10px;
}
.workflow-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 15px;
border-top: 1px solid var(--background-modifier-border);
}
.workflow-progress-indicator {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
padding: 15px;
margin: 10px 0;
}
.workflow-progress-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
}
.workflow-name {
font-weight: 600;
font-size: 1.1em;
}
.workflow-progress-text {
color: var(--text-muted);
font-size: 0.9em;
}
.workflow-progress-bar-container {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 15px;
}
.workflow-progress-bar {
flex: 1;
height: 8px;
background: var(--background-modifier-border);
border-radius: 4px;
overflow: hidden;
}
.workflow-progress-fill {
height: 100%;
background: var(--interactive-accent);
transition: width 0.3s ease;
}
.workflow-progress-percentage {
font-size: 0.9em;
font-weight: 500;
min-width: 35px;
text-align: right;
}
.workflow-stage-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.workflow-stage-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 10px;
border-radius: 6px;
transition: background-color 0.2s ease;
}
.workflow-stage-item.completed {
background: var(--background-modifier-success);
}
.workflow-stage-item.current {
background: var(--background-modifier-accent);
border: 1px solid var(--interactive-accent);
}
.workflow-stage-item.pending {
background: var(--background-primary);
opacity: 0.7;
}
.workflow-stage-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
margin-top: 2px;
}
.workflow-stage-icon.completed-icon {
color: var(--text-success);
}
.workflow-stage-icon.current-icon {
color: var(--interactive-accent);
}
.workflow-stage-icon.pending-icon {
color: var(--text-muted);
}
.workflow-stage-content {
flex: 1;
}
.workflow-stage-name {
font-weight: 500;
margin-bottom: 2px;
}
.workflow-stage-type {
font-size: 0.8em;
color: var(--text-muted);
}
.workflow-stage-number {
width: 24px;
height: 24px;
border-radius: 50%;
background: var(--background-modifier-border);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.8em;
font-weight: 600;
margin-top: 2px;
}
.workflow-stage-item.completed .workflow-stage-number {
background: var(--text-success);
color: var(--background-primary);
}
.workflow-stage-item.current .workflow-stage-number {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-substage-container {
margin-top: 8px;
padding-left: 16px;
border-left: 2px solid var(--background-modifier-border);
}
.workflow-substage-item {
display: flex;
align-items: center;
gap: 8px;
padding: 4px 0;
}
.workflow-substage-icon {
width: 12px;
height: 12px;
color: var(--text-muted);
}
.workflow-substage-name {
font-size: 0.9em;
color: var(--text-muted);
}
/* src/styles/calendar/view.css */
.full-calendar-container {
container-type: inline-size;
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
flex-grow: 1;
}
.full-calendar-container .calendar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-2-3) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
margin-bottom: 0;
}
.full-calendar-container .calendar-header button {
margin: 0 var(--size-4-1);
}
.full-calendar-container .calendar-nav,
.full-calendar-container .calendar-view-switcher {
display: flex;
gap: var(--size-2-2);
}
.full-calendar-container .calendar-nav button {
border-radius: var(--radius-s);
text-transform: uppercase;
}
.full-calendar-container .calendar-view-switcher button {
border-radius: var(--radius-s);
text-transform: uppercase;
}
.full-calendar-container .calendar-view-switcher button:not(.is-active),
.full-calendar-container .calendar-nav button:not(.is-active) {
box-shadow: var(--shadow-xs);
border: 1px solid var(--background-modifier-border);
}
.full-calendar-container .calendar-current-date {
font-weight: var(--font-semibold);
font-size: var(--font-ui-large);
text-align: center;
flex-grow: 1;
max-width: max(120px, 40%);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.full-calendar-container .calendar-view-switcher button.is-active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent-hover);
}
.full-calendar-container .calendar-view-container {
flex-grow: 1;
overflow-y: auto;
padding: var(--size-4-2);
position: relative;
display: flex;
flex-direction: column;
}
.full-calendar-container .calendar-weekday-header {
display: grid;
grid-template-columns: repeat(7, 1fr);
text-align: center;
font-size: var(--font-ui-small);
color: var(--text-muted);
padding: var(--size-4-1) 0;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: -1px;
background-color: var(--background-secondary);
}
.full-calendar-container .calendar-weekday {
padding: var(--size-4-1);
}
.full-calendar-container .calendar-view-container.view-month {
padding: 0;
}
.full-calendar-container .calendar-month-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
grid-auto-rows: minmax(100px, auto);
gap: 1px;
background-color: var(--background-modifier-border);
height: 100%;
}
.full-calendar-container .calendar-day-cell {
background-color: var(--background-primary);
padding: var(--size-4-1);
position: relative;
display: flex;
flex-direction: column;
min-width: 0;
}
.full-calendar-container .calendar-day-cell:hover {
background-color: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.8) !important;
}
.full-calendar-container .calendar-day-cell.is-today {
background-color: var(--background-secondary-alt) !important;
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
}
.full-calendar-container .calendar-day-cell.is-today .calendar-day-number {
color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 1);
}
.full-calendar-container .calendar-day-header {
width: 100%;
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
align-items: center;
gap: var(--size-4-1);
}
.full-calendar-container .calendar-day-cell:not(.is-today) {
opacity: 0.7;
}
.full-calendar-container .calendar-day-cell.is-other-month {
background-color: var(--background-secondary);
opacity: 0.7;
}
.full-calendar-container .calendar-day-cell.is-weekend {
background-color: var( --background-secondary );
}
.full-calendar-container .calendar-day-number {
font-size: var(--font-ui-small);
text-align: center;
margin-bottom: var(--size-4-1);
flex-shrink: 0;
align-self: flex-end;
}
.full-calendar-container .calendar-events-container {
flex-grow: 1;
overflow: hidden;
position: relative;
}
.full-calendar-container .calendar-event {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-radius: var(--radius-s);
padding: 2px 4px;
font-size: var(--font-ui-smaller);
margin-bottom: 2px;
margin-bottom: 3px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
display: block;
}
.full-calendar-container .calendar-event:has(.task-list-item-checkbox) {
display: flex;
flex-direction: row;
align-items: center;
}
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-week-allday {
display: flex;
}
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-month {
display: flex;
}
.full-calendar-container .full-calendar-container .calendar-event:hover {
opacity: 0.8;
}
.full-calendar-container .calendar-event.is-completed {
background-color: var( --background-modifier-success-hover );
text-decoration: line-through;
opacity: 0.7;
}
.full-calendar-container .calendar-event.is-multi-day {
}
.full-calendar-container .calendar-event.is-multi-day.is-start {
}
.full-calendar-container .calendar-event.is-multi-day.is-end {
}
.full-calendar-container .calendar-event.calendar-event-month {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
width: 100%;
box-sizing: border-box;
}
.full-calendar-container .calendar-view-container.view-day {
display: flex;
flex-direction: column;
padding: 0;
}
.full-calendar-container .calendar-timeline-section {
flex-grow: 1;
border-top: 1px solid var(--background-modifier-border);
overflow-y: auto;
padding: var(--size-4-4);
}
.full-calendar-container .calendar-timeline-events-container {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.full-calendar-container .calendar-event-timed {
border: 1px solid var(--background-modifier-border);
overflow: hidden;
display: flex;
flex-direction: column;
width: 100%;
}
.full-calendar-container .calendar-event-time {
font-size: var(--font-ui-smaller);
font-weight: bold;
padding: 1px 3px;
background-color: rgba(0, 0, 0, 0.1);
}
.full-calendar-container .calendar-event-title {
font-size: var(--font-ui-small);
padding: 2px 3px;
flex-grow: 1;
white-space: normal;
word-wrap: break-word;
font-size: var(--font-ui-small);
padding: 2px 3px;
flex-grow: 1;
white-space: normal;
word-wrap: break-word;
display: flex;
align-items: center;
}
.full-calendar-container .calendar-view-container.view-week {
display: flex;
flex-direction: column;
padding: 0;
}
.full-calendar-container .calendar-week-header {
display: grid;
grid-template-columns: repeat(7, 1fr);
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
text-align: center;
background-color: var(--background-secondary);
font-size: var(--font-ui-medium);
}
.full-calendar-container .calendar-header-cell {
padding: var(--size-4-1) 0;
border-left: 1px solid var(--background-modifier-border-hover);
}
.full-calendar-container .calendar-header-cell:first-child {
border-left: none;
}
.full-calendar-container .calendar-header-cell.is-today .calendar-day-number {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-radius: 50%;
display: inline-block;
width: 1.5em;
height: 1.5em;
line-height: 1.5em;
margin: auto;
margin: auto;
display: flex;
align-items: center;
justify-content: center;
}
.full-calendar-container .calendar-weekday {
font-size: var(--font-ui-small);
color: var(--text-muted);
}
.full-calendar-container .calendar-day-number {
font-size: var(--font-ui-medium);
}
.full-calendar-container .calendar-week-grid-section {
flex-grow: 1;
display: flex;
flex-direction: column;
overflow-y: auto;
border-bottom: 1px solid var(--background-modifier-border);
}
.full-calendar-container .calendar-week-grid {
flex-grow: 1;
display: grid;
grid-template-columns: repeat(7, 1fr);
grid-template-rows: 1fr;
gap: 1px;
background-color: var(--background-modifier-border);
border-top: 1px solid var(--background-modifier-border);
}
.full-calendar-container .calendar-day-column {
background-color: var(--background-primary);
padding: var(--size-4-1);
border-left: none;
display: flex;
flex-direction: column;
gap: var(--size-4-1);
overflow: hidden;
min-width: 0;
}
.full-calendar-container .calendar-day-column:first-child {
}
.full-calendar-container .calendar-day-column.is-weekend {
background-color: var(--background-secondary);
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-weekday-header {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-month-grid {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-header {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-grid {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .mini-month-grid {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-day-events-container {
flex-grow: 1;
display: flex;
flex-direction: column;
gap: 3px;
}
.full-calendar-container .calendar-event.calendar-event-week-allday {
display: block;
width: 100%;
position: relative;
left: auto;
top: auto;
height: auto;
margin-bottom: 3px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.full-calendar-container .calendar-view-container.view-year {
padding: var(--size-4-4);
}
.full-calendar-container .calendar-year-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--size-4-4);
}
.full-calendar-container .calendar-mini-month {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
overflow: hidden;
}
.full-calendar-container .mini-month-header {
text-align: center;
font-weight: var(--font-semibold);
padding: var(--size-4-2);
background-color: var(--background-secondary-alt);
border-bottom: 1px solid var(--background-modifier-border);
}
.full-calendar-container .mini-month-body {
padding: var(--size-4-2);
}
.full-calendar-container .mini-month-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 2px;
text-align: center;
}
.full-calendar-container .mini-weekday-header {
display: contents;
font-size: var(--font-ui-smaller);
color: var(--text-faint);
font-weight: bold;
}
.full-calendar-container .mini-weekday {
padding-bottom: var(--size-4-1);
}
.full-calendar-container .mini-day-cell {
font-size: var(--font-ui-small);
padding: 1px;
border-radius: var(--radius-s);
line-height: 1.5em;
}
.full-calendar-container .mini-day-cell.is-other-month {
color: var(--text-faint);
opacity: 0.6;
}
.full-calendar-container .mini-day-cell.is-today {
font-weight: bold;
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
}
.full-calendar-container .mini-day-cell.has-events {
font-weight: bold;
}
.agenda-day-section {
display: flex;
width: 100%;
border: 1px solid var(--background-modifier-border);
padding-top: var(--size-4-2);
padding-bottom: var(--size-4-2);
padding-left: var(--size-4-2);
padding-right: var(--size-4-2);
}
.agenda-day-date-column {
width: 20%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.agenda-day-events-column {
flex: 1;
}
.full-calendar-container input.task-list-item-checkbox {
scale: 0.9;
}
.full-calendar-container .calendar-view-switcher-selector {
display: none;
}
.calendar-event-ghost {
background-color: var(--background-secondary-alt) !important;
border: 2px dashed var(--background-modifier-border) !important;
opacity: 0.5 !important;
box-shadow: none !important;
}
.calendar-event-dragging {
opacity: 0.9 !important;
box-shadow: var(--shadow-l) !important;
transform: rotate(2deg) !important;
z-index: 1000 !important;
}
.calendar-events-container .calendar-event {
cursor: grab;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.calendar-events-container .calendar-event:hover {
transform: translateY(-1px);
box-shadow: var(--shadow-s);
}
.calendar-events-container .calendar-event:active {
cursor: grabbing;
}
.calendar-events-container,
.calendar-day-events-container {
min-height: 20px;
border-radius: var(--radius-s);
transition: background-color 0.2s ease;
}
@container (max-width: 600px) {
.full-calendar-container .calendar-view-switcher button {
display: none;
}
.calendar-nav .prev-button {
display: none;
}
.calendar-nav .next-button {
display: none;
}
.full-calendar-container .calendar-view-switcher-selector {
display: block;
}
}
/* src/styles/calendar/event.css */
.full-calendar-container .calendar-event-title-container p {
padding-inline-start: 0;
padding-inline-end: 0;
margin-block-start: 0;
margin-block-end: 0;
}
.full-calendar-container .calendar-event-title-container {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
.full-calendar-container .calendar-event-title p {
margin-block-start: 0;
margin-block-end: 0;
}
/* src/styles/calendar/badge.css */
.calendar-badges-container {
display: flex;
flex-direction: row;
gap: 4px;
pointer-events: none;
z-index: 10;
}
.calendar-badge {
color: var(--text-muted);
display: flex;
font-size: 10px;
padding: var(--size-2-1);
border-radius: var(--radius-s);
max-width: 80px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.calendar-day-cell {
position: relative;
}
/* src/styles/kanban/kanban.css */
.tg-kanban-view {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.tg-kanban-filters {
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
display: flex;
flex-direction: row-reverse;
gap: 8px;
padding: 8px;
padding-bottom: 0;
padding-top: 0;
}
.tg-kanban-controls-container {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}
.tg-kanban-sort-container {
display: flex;
align-items: center;
gap: 4px;
}
.tg-kanban-sort-button {
padding: 4px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
font-size: var(--font-ui-small);
}
.tg-kanban-sort-button:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
}
.tg-kanban-toggle-container {
display: flex;
align-items: center;
gap: 4px;
}
.tg-kanban-toggle-label {
display: flex;
align-items: center;
gap: 6px;
font-size: var(--font-ui-small);
color: var(--text-normal);
cursor: pointer;
}
.tg-kanban-toggle-checkbox {
margin: 0;
}
.tg-kanban-filter-input {
flex-grow: 1;
padding: 6px 10px;
font-size: var(--font-ui-small);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
margin-right: 10px;
}
.tg-kanban-filter-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.tg-kanban-column-container {
display: flex;
flex-grow: 1;
overflow-x: auto;
overflow-y: hidden;
padding: 10px;
gap: 10px;
height: 100%;
-webkit-overflow-scrolling: touch;
overscroll-behavior-x: auto;
scroll-snap-type: x proximity;
scroll-behavior: smooth;
}
@media (hover: hover) and (pointer: fine) {
.tg-kanban-column-container {
overscroll-behavior-x: none;
scroll-snap-type: none;
}
}
.tg-kanban-column {
flex: 0 0 280px;
display: flex;
flex-direction: column;
background-color: var(--background-secondary);
border-radius: var(--radius-m);
height: 100%;
max-height: 100%;
overflow: hidden;
border: 1px solid var(--background-modifier-border);
scroll-snap-align: start;
}
@media (hover: hover) and (pointer: fine) {
.tg-kanban-column {
scroll-snap-align: none;
}
}
.tg-kanban-column-header {
padding: 8px 12px;
font-size: var(--font-ui-mediumn);
font-weight: 600;
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-transform: uppercase;
display: flex;
align-items: center;
}
.tg-kanban-column-content {
flex-grow: 1;
overflow-y: auto;
padding: 8px;
display: flex;
flex-direction: column;
gap: 8px;
background-color: var(--background-secondary-alt);
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
scroll-behavior: smooth;
}
@media (hover: hover) and (pointer: fine) {
.tg-kanban-column-content {
overscroll-behavior: none;
}
}
.tg-kanban-card {
background-color: var(--background-primary);
border-radius: var(--radius-s);
padding: 10px 12px;
border: 1px solid var(--background-modifier-border);
font-size: var(--font-ui-small);
cursor: grab;
transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
max-width: 100%;
box-sizing: border-box;
white-space: nowrap;
text-overflow: ellipsis;
touch-action: manipulation;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
.tg-kanban-card .tg-kanban-card-content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
.tg-kanban-card:hover {
border-color: var(--background-modifier-border-hover);
box-shadow: var(--shadow-m);
}
.tg-kanban-card.task-completed {
background-color: var(--background-secondary);
opacity: 0.7;
}
.tg-kanban-card.task-completed .tg-kanban-card-content {
text-decoration: line-through;
color: var(--text-muted);
}
.tg-kanban-card-container {
display: flex;
align-items: flex-start;
margin-bottom: 6px;
}
.tg-kanban-card-content p:last-child {
margin-bottom: 0;
margin-block-end: 0;
margin-block-start: 0;
}
.tg-kanban-card-metadata {
display: flex;
flex-wrap: wrap;
gap: 4px 8px;
font-size: var(--font-ui-small);
color: var(--text-muted);
}
.tg-kanban-card-metadata .task-date,
.tg-kanban-card-metadata .task-tags-container,
.tg-kanban-card-metadata .task-priority {
display: flex;
align-items: center;
gap: 4px;
padding: 2px 5px;
background-color: var(--background-secondary);
border-radius: var(--radius-s);
margin-inline-start: 0;
margin-inline-end: 0;
margin-left: 0;
margin-right: 0;
}
.tg-kanban-card-metadata .task-tag {
background-color: var( --background-modifier-accent-hover );
color: var(--text-accent);
padding: 1px 4px;
border-radius: var(--radius-s);
font-size: calc(var(--font-ui-small) * 0.9);
}
.tg-kanban-card-metadata .task-due-date.task-overdue {
color: var(--text-error);
background-color: var(--background-error);
}
.tg-kanban-card-metadata .task-due-date.task-due-today {
color: var(--text-warning);
background-color: var(--background-warning);
}
.tg-kanban-card-metadata .task-priority.priority-1 {
color: var(--text-accent);
}
.tg-kanban-card-metadata .task-priority.priority-2 {
color: var(--text-warning);
}
.tg-kanban-card-metadata .task-priority.priority-3 {
color: var(--text-error);
font-weight: bold;
}
.tg-kanban-card-dragging {
box-shadow: var(--shadow-l);
}
.tg-kanban-card-ghost {
background-color: var(--background-secondary-alt);
border: 1px dashed var(--background-modifier-border);
box-shadow: none;
}
.tg-kanban-column-content.tg-kanban-drop-target-active {
outline: 2px dashed var(--background-modifier-accent-hover);
outline-offset: -2px;
}
.tg-kanban-column-content.tg-kanban-drop-target-hover {
background-color: var(--background-modifier-accent-hover);
}
.tg-kanban-card--drop-indicator-before {
margin-top: 10px;
border-top: 2px dashed var(--interactive-accent);
transition: margin-top 0.1s ease-out, border-top 0.1s ease-out;
}
.tg-kanban-card--drop-indicator-after {
margin-bottom: 10px;
border-bottom: 2px dashed var(--interactive-accent);
transition: margin-bottom 0.1s ease-out, border-bottom 0.1s ease-out;
}
.tg-kanban-column-content--drop-indicator-empty {
border: 2px dashed var(--interactive-accent);
min-height: 50px;
box-sizing: border-box;
margin-top: 5px;
margin-bottom: 5px;
}
.tg-kanban-card {
transition:
margin 0.1s ease-out,
padding 0.1s ease-out,
border 0.1s ease-out,
transform 0.2s ease-out,
box-shadow 0.2s ease-in-out,
background-color 0.2s ease-in-out;
}
.drop-target-active {
background-color: rgba(0, 128, 0, 0.2);
outline: 2px dashed green;
}
.tg-kanban-add-card-container {
padding: 8px;
border-top: 1px solid var(--background-modifier-border);
flex-shrink: 0;
}
.task-genius-add-card-container {
padding: 8px;
margin-top: auto;
text-align: center;
}
.tg-kanban-add-card-button {
--icon-size: 16px;
width: 100%;
padding: 6px 12px;
border: none;
background-color: transparent;
color: var(--text-muted);
border-radius: var(--radius-s);
cursor: pointer;
font-size: var(--font-ui-small);
text-align: left;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.tg-kanban-add-card-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-kanban-column-dragging {
transform: rotate(5deg);
opacity: 0.8;
box-shadow: var(--shadow-xl);
z-index: 1000;
}
.tg-kanban-column-ghost {
background-color: var(--background-modifier-border);
border: 2px dashed var(--background-modifier-accent);
opacity: 0.5;
}
.tg-kanban-column-header {
cursor: grab;
}
.tg-kanban-column-header:active {
cursor: grabbing;
}
/* src/components/features/task/filter/in-view/filter.css */
.filter-component {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--size-4-2);
padding: var(--size-4-2) var(--size-4-3);
background-color: var(--background-primary);
min-height: 48px;
flex: 1;
}
.filter-pills-container {
display: flex;
flex-wrap: wrap;
gap: var(--size-4-2);
flex: 1;
}
.filter-controls {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-left: auto;
}
.filter-pill {
display: flex;
align-items: center;
gap: var(--size-4-1);
padding: 5px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
font-size: var(--font-ui-small);
animation: filter-pill-appear 200ms ease-out;
transition: background-color var(--duration-fast), transform var(--duration-fast);
}
.filter-pill-remove .clickable-icon:hover {
background-color: unset;
}
.filter-pill:hover {
background-color: var(--background-tertiary);
}
.filter-pill-category {
font-weight: 500;
color: var(--text-muted);
}
.filter-pill-value {
color: var(--text-normal);
}
.filter-pill-remove {
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
border-radius: 50%;
background: transparent;
border: none;
padding: 0;
margin-left: var(--size-4-1);
cursor: pointer;
color: var(--text-faint);
font-size: 14px;
line-height: 1;
transition: background-color var(--duration-fast), color var(--duration-fast);
}
.filter-pill-remove:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.filter-pill-remove-icon {
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.filter-add-button,
.filter-clear-all-button {
display: flex;
align-items: center;
padding: 6px 10px;
font-size: var(--font-ui-small);
cursor: pointer;
}
.filter-add-button {
gap: var(--size-4-1);
color: var(--text-muted);
}
.filter-add-icon {
font-weight: var(--font-bold);
display: flex;
align-items: center;
justify-content: center;
}
.filter-dropdown {
position: fixed;
width: 220px;
background-color: var(--background-primary);
border-radius: var(--radius-m);
box-shadow: var(--shadow-l);
border: 1px solid var(--background-modifier-border);
z-index: var(--layer-popover);
max-height: 400px;
display: flex;
flex-direction: column;
opacity: 0;
transform: translateY(-8px);
transition: opacity var(--duration-normal), transform var(--duration-normal);
overflow: hidden;
}
.filter-dropdown-visible {
opacity: 1;
transform: translateY(0);
}
.filter-dropdown-header {
padding: var(--size-4-2);
border-bottom: 1px solid var(--background-modifier-border);
}
.filter-dropdown-search {
width: 100%;
padding: var(--size-4-2);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
font-size: var(--font-ui-small);
outline: none;
}
.filter-dropdown-search:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--focus-ring-color);
}
.filter-dropdown-list {
overflow-y: auto;
max-height: 350px;
}
.filter-dropdown-item {
display: flex;
align-items: center;
padding: var(--size-4-2) var(--size-4-3);
cursor: pointer;
font-size: var(--font-ui-small);
color: var(--text-normal);
transition: background-color var(--duration-fast);
}
.filter-dropdown-item:hover {
background-color: var(--background-secondary);
}
.filter-dropdown-item-label {
flex: 1;
}
.filter-dropdown-item-arrow {
color: var(--text-faint);
font-size: 18px;
}
.filter-dropdown-item-arrow.back {
margin-right: var(--size-4-2);
display: flex;
align-items: center;
justify-content: center;
}
.filter-dropdown-back {
color: var(--text-muted);
}
.filter-dropdown-separator {
height: 1px;
background-color: var(--divider-color);
margin: var(--size-4-1) 0;
}
.filter-dropdown-empty {
padding: var(--size-4-4);
text-align: center;
color: var(--text-faint);
font-size: var(--font-ui-small);
}
.filter-dropdown-value-item {
padding-left: var(--size-4-4);
}
.filter-dropdown-category {
padding: var(--size-4-2) 0;
color: var(--text-muted);
font-weight: 500;
}
.filter-dropdown-value-preview {
padding: var(--size-4-1) var(--size-4-4);
cursor: pointer;
transition: background-color var(--duration-fast);
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.filter-dropdown-value-preview:hover {
background-color: var(--background-secondary);
}
@keyframes filter-pill-appear {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
.filter-pill-removing {
opacity: 0;
transform: scale(0.9);
transition: opacity 150ms ease-out, transform 150ms ease-out;
}
/* src/styles/gantt/gantt.css */
.gantt-chart-container {
width: 100%;
height: 100%;
overflow: auto;
position: relative;
background-color: var(--background-secondary);
--gantt-header-height: 50px;
--gantt-row-height: 40px;
--gantt-bar-height: 20px;
--gantt-bar-radius: 3px;
--gantt-bg-color: var(--background-secondary);
--gantt-grid-color: var(--background-modifier-border);
--gantt-row-color: var(--background-secondary);
--gantt-bar-color: var(--color-blue);
--gantt-milestone-color: var(--color-purple);
--gantt-progress-color: var(--color-blue);
--gantt-today-color: var(--color-accent);
}
.gantt-svg {
display: block;
font-family: var(--font-interface);
font-size: var(--font-ui-small);
user-select: none;
}
.gantt-header-bg {
fill: var(--background-primary);
stroke: var(--background-modifier-border);
stroke-width: 1px;
}
.gantt-header-text {
fill: var(--text-muted);
font-weight: 500;
}
.gantt-grid-bg {
fill: transparent;
stroke: var(--background-modifier-border);
stroke-width: 0;
}
.gantt-grid-line-vertical {
stroke: var(--background-modifier-border);
stroke-width: 1px;
stroke-dasharray: 2, 2;
}
.gantt-task-item {
cursor: pointer;
}
.gantt-task-bar {
fill: var(--interactive-accent);
stroke: var(--interactive-accent-hover);
stroke-width: 1px;
transition: fill 0.1s ease-in-out;
}
.gantt-task-item:hover .gantt-task-bar {
fill: var(--interactive-accent-hover);
}
.gantt-task-milestone {
fill: var(--color-orange);
stroke: var(--color-orange-border);
stroke-width: 1px;
}
.gantt-task-label {
fill: var(--text-on-accent);
font-size: calc(var(--font-ui-small) * 0.9);
pointer-events: none;
white-space: pre;
}
.gantt-task-bar.status-completed {
fill: var(--color-green);
stroke: var(--color-green-border);
}
.gantt-task-bar.priority-high {
}
.gantt-header {
position: sticky;
top: 0;
left: 0;
right: 0;
z-index: 10;
height: var(--gantt-header-height);
border-bottom: 1px solid var(--gantt-grid-color);
user-select: none;
background-color: var(--gantt-bg-color);
pointer-events: none;
width: 100%;
overflow: hidden;
}
.gantt-header-row {
position: relative;
height: 50%;
width: 100%;
}
.gantt-header-row.primary {
border-bottom: 1px solid var(--gantt-grid-color);
font-weight: 600;
}
.gantt-header-cell {
position: absolute;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 12px;
color: var(--text-normal);
border-right: 1px solid var(--gantt-grid-color);
box-sizing: border-box;
background-color: var(--gantt-bg-color);
pointer-events: auto;
}
.gantt-body {
position: relative;
overflow: auto;
height: 100%;
padding-top: var(--gantt-header-height);
margin-top: calc(var(--gantt-header-height) * -1);
}
.gantt-grid {
position: absolute;
top: var(--gantt-header-height);
left: 0;
height: calc(100% - var(--gantt-header-height));
min-width: 100%;
}
.gantt-grid-column {
position: absolute;
top: 0;
height: 100%;
border-right: 1px solid var(--gantt-grid-color);
box-sizing: border-box;
}
.gantt-grid-column.today {
background-color: var(--gantt-today-color);
}
.gantt-grid-row {
position: absolute;
left: 0;
border-bottom: 1px solid var(--gantt-grid-color);
box-sizing: border-box;
background-color: var(--gantt-row-color);
}
.gantt-grid-row:nth-child(odd) {
background-color: var(--gantt-bg-color);
}
.gantt-bars {
position: absolute;
top: var(--gantt-header-height);
left: 0;
height: calc(100% - var(--gantt-header-height));
min-width: 100%;
pointer-events: none;
}
.gantt-task-container {
position: absolute;
box-sizing: border-box;
pointer-events: auto;
cursor: pointer;
transition: transform 0.1s ease;
}
.gantt-task-container:hover {
z-index: 10;
transform: translateY(-2px);
}
.gantt-task-bar.milestone {
background-color: var(--gantt-milestone-color);
width: 15px !important;
height: 15px !important;
border-radius: 50%;
transform: rotate(45deg);
top: 50%;
margin-top: -7.5px;
left: 50%;
margin-left: -7.5px;
}
.gantt-task-progress {
position: absolute;
top: 0;
left: 0;
height: 100%;
background-color: var(--gantt-progress-color);
opacity: 0.7;
}
.gantt-task-label {
position: absolute;
left: calc(100% + 8px);
top: 0;
white-space: nowrap;
font-size: 12px;
color: var(--text-normal);
line-height: var(--gantt-bar-height);
}
.gantt-task-container.right-aligned .gantt-task-label {
left: auto;
right: calc(100% + 8px);
text-align: right;
}
@media (max-width: 680px) {
.gantt-header-cell {
font-size: 10px;
}
.gantt-task-label {
font-size: 10px;
}
}
.gantt-chart-container {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
position: relative;
}
.gantt-header-container {
height: 40px;
flex-shrink: 0;
overflow: hidden;
position: relative;
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.gantt-header-svg {
display: block;
}
.gantt-header-tick-major,
.gantt-header-tick-minor,
.gantt-header-tick-day,
.gantt-header-today-marker {
stroke: var(--background-modifier-border);
stroke-width: 1;
}
.gantt-header-tick-major {
stroke-width: 1.5;
}
.gantt-header-today-marker {
stroke: var(--color-orange);
stroke-width: 1.5;
stroke-dasharray: 4, 2;
}
.gantt-header-label-major,
.gantt-header-label-minor,
.gantt-header-label-day {
font-size: var(--font-ui-small);
fill: var(--text-muted);
user-select: none;
pointer-events: none;
}
.gantt-header-label-major {
font-weight: 500;
fill: var(--text-normal);
}
.gantt-scroll-container {
flex-grow: 1;
overflow: auto;
position: relative;
}
.gantt-content-wrapper {
position: relative;
background: var(--background-primary);
}
.gantt-grid-line-major,
.gantt-grid-line-minor {
stroke: var(--background-modifier-border-hover);
stroke-width: 0.5;
}
.gantt-grid-line-major {
stroke-width: 1;
}
.gantt-grid-line-horizontal {
stroke: var(--background-modifier-border);
stroke-width: 1;
}
.gantt-grid-today-marker {
stroke: var(--color-orange);
stroke-width: 1;
stroke-dasharray: 4, 2;
}
.gantt-task-item {
cursor: pointer;
}
.gantt-task-bar {
fill: var(--color-blue);
stroke: var(--color-blue-hover);
stroke-width: 0.5;
transition: fill 0.1s ease;
}
.gantt-task-item:hover .gantt-task-bar {
fill: var(--color-accent);
}
.gantt-task-milestone {
fill: var(--color-purple);
stroke: var(--color-purple);
stroke-width: 1;
transition: fill 0.1s ease;
}
.gantt-task-item:hover .gantt-task-milestone {
fill: var(--color-accent);
}
.gantt-task-item.status-done .gantt-task-bar,
.gantt-task-item.status-done .gantt-task-milestone {
fill: var(--color-green);
stroke: var(--color-green);
opacity: 0.7;
}
.gantt-task-item.status-cancelled .gantt-task-bar,
.gantt-task-item.status-cancelled .gantt-task-milestone {
fill: var(--color-red);
stroke: var(--color-red);
opacity: 0.6;
text-decoration: line-through;
}
.gantt-task-item.status-inprogress .gantt-task-bar {
}
.gantt-task-label-fo {
pointer-events: none;
overflow: hidden;
user-select: none;
}
.gantt-task-label-markdown {
color: var(--text-on-accent);
font-size: var(--font-ui-smaller);
line-height: 1.3;
padding: 0 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: flex;
align-items: center;
height: 100%;
}
.gantt-task-label-markdown p {
margin: 0 !important;
}
.gantt-milestone-label-container p {
margin-block-start: 0;
margin-block-end: 0;
margin-inline-start: 0;
margin-inline-end: 0;
color: var(--text-normal);
font-size: var(--font-ui-smaller);
line-height: 1.3;
padding: 0 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: flex;
align-items: center;
height: 100%;
}
.gantt-task-item.status-done .gantt-task-label-markdown {
color: var(--text-on-accent);
}
.gantt-task-item.status-cancelled .gantt-task-label-markdown {
color: var(--text-on-accent);
text-decoration: line-through;
}
.gantt-milestone-label {
fill: var(--text-normal);
}
.gantt-filter-area {
display: flex;
align-items: center;
justify-content: flex-end;
width: 100%;
padding-left: var(--size-2-2);
padding-right: var(--size-4-2);
background-color: var(--background-primary);
}
.gantt-filter-area .filter-component {
flex: 1;
}
.gantt-offscreen-indicator {
position: absolute;
top: calc(50% + 20px);
transform: translateY(-50%);
width: 8px;
height: 8px;
background-color: rgba(128, 128, 128, 0.6);
border-radius: 50%;
z-index: 10;
pointer-events: none;
display: none;
transition: opacity 0.2s ease-in-out;
opacity: 1;
}
.gantt-offscreen-indicator[style*="display: none"] {
opacity: 0;
}
.gantt-offscreen-indicator-left {
left: 5px;
}
.gantt-offscreen-indicator-right {
right: 5px;
}
.gantt-indicator-container {
position: absolute;
top: 0;
bottom: 0;
width: var(--size-4-3);
z-index: 10;
pointer-events: none;
overflow: hidden;
}
.gantt-indicator-container-left {
left: 0;
}
.gantt-indicator-container-right {
right: 0;
}
.gantt-single-indicator {
position: absolute;
left: var(--size-2-1);
width: var(--size-4-2);
height: var(--size-4-2);
border-radius: 50%;
background-color: var(--text-faint);
pointer-events: auto;
cursor: default;
}
.gantt-single-indicator:hover {
background-color: var(--text-accent);
}
.gantt-chart-container .gantt-indicator-container {
top: calc(var(--header-height, 40px) + var(--filter-height, 0px));
bottom: 15px;
}
.gantt-chart-container .gantt-indicator-container-right {
right: 15px;
}
.gantt-task-label p {
margin: 0;
line-height: var(--gantt-bar-height);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* src/styles/property-view.css */
.task-property-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.task-property-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.task-property-left-column {
width: max(120px, 30%);
min-width: min(120px, 30%);
max-width: 300px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
overflow: hidden;
}
.is-phone .task-property-left-column {
max-width: 100%;
}
.task-property-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.task-property-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.task-property-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.multi-select-mode .task-property-multi-select-btn {
color: var(--color-accent);
}
.task-property-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.task-property-multi-select-btn:hover {
color: var(--text-normal);
}
.task-property-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.task-property-list-item {
display: flex;
align-items: center;
padding: 4px 12px;
cursor: pointer;
border-radius: var(--radius-s);
}
.task-property-list-item:hover {
background-color: var(--background-modifier-hover);
}
.task-property-list-item.selected {
background-color: var(--background-modifier-active);
}
.task-property-icon {
margin-right: 8px;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.task-property-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-property-count {
margin-left: 8px;
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
padding: 1px 6px;
}
.task-property-task-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.task-property-task-title {
font-weight: 600;
font-size: 16px;
}
.task-property-task-count {
color: var(--text-muted);
}
.task-property-task-list {
flex: 1;
overflow-y: auto;
}
.task-property-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
}
.is-phone .task-property-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .task-property-left-column.is-visible {
transform: translateX(0);
}
.is-phone .task-property-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .task-property-sidebar-close {
--icon-size: var(--size-4-4);
position: absolute;
top: var(--size-4-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .task-property-container:has(.task-property-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .task-property-container {
position: relative;
overflow: hidden;
}
.is-phone .task-property-sidebar-header:has(.task-property-sidebar-close) {
padding-right: var(--size-4-12);
}
/* src/styles/table.css */
.table-view-adapter {
width: 100%;
display: flex;
flex-direction: column;
gap: 0;
height: 100%;
overflow: hidden;
}
.task-table-container {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
position: relative;
background-color: var(--background-primary);
}
.task-table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
font-size: var(--font-ui-small);
flex: 1;
min-height: 0;
min-width: max-content;
}
.task-table-wrapper {
flex: 1;
overflow: auto;
min-height: 0;
position: relative;
overflow-x: auto;
overflow-y: auto;
scroll-behavior: smooth;
}
.task-table-header {
position: sticky;
top: 0;
z-index: 10;
background-color: var(--background-secondary);
border-bottom: 2px solid var(--background-modifier-border);
min-width: max-content;
}
.task-table-header-row {
height: 40px;
}
.task-table-header-cell {
padding: 8px 12px;
text-align: left;
font-weight: 600;
color: var(--text-muted);
border-right: 1px solid var(--background-modifier-border);
position: relative;
user-select: none;
background-color: var(--background-secondary);
white-space: nowrap;
}
.task-table-header-cell:last-child {
border-right: none;
}
.task-table-header-cell.sortable {
cursor: pointer;
}
.task-table-header-cell.sortable:hover {
background-color: var(--background-modifier-hover);
}
.task-table-header-content {
display: flex;
align-items: center;
justify-content: space-between;
gap: 4px;
}
.task-table-header-title {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.task-table-sort-icon {
font-size: 12px;
opacity: 0.5;
transition: opacity 0.2s;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-sort-icon.asc,
.task-table-sort-icon.desc {
opacity: 1;
color: var(--text-accent);
}
.task-table-resize-handle {
position: absolute;
top: 0;
right: 0;
width: 4px;
height: 100%;
cursor: col-resize;
background-color: transparent;
transition: background-color 0.2s;
}
.task-table-resize-handle:hover {
background-color: var(--text-accent);
}
.task-table-body {
background-color: var(--background-primary);
}
.task-table-row {
height: 40px;
border-bottom: 1px solid var(--background-modifier-border);
transition: background-color 0.2s;
}
.task-table-row:hover {
background-color: var(--background-modifier-hover);
}
.task-table-row.selected {
background-color: var(--background-modifier-active-hover);
}
.task-table-row:nth-child(even) {
background-color: var(--background-secondary-alt);
}
.task-table-row:nth-child(even):hover {
background-color: var(--background-modifier-hover);
}
.task-table-row:nth-child(even).selected {
background-color: var(--background-modifier-active-hover);
}
.task-table-cell {
padding: 8px 12px;
vertical-align: middle;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.task-table-cell:last-child {
border-right: none;
}
.task-table-cell.editing {
padding: 0;
}
.task-table-tree-indent {
display: inline-flex;
align-items: center;
gap: 4px;
}
.task-table-cell:has(.task-table-expand-btn) {
padding-left: 0;
}
.task-table-row.task-table-subtask {
background-color: var(--background-secondary);
}
.task-table-expand-btn {
cursor: pointer;
user-select: none;
width: 20px;
height: 20px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 2px;
font-size: 10px;
transition: background-color 0.2s;
}
.task-table-expand-btn:hover {
background-color: var(--background-modifier-hover);
}
.task-table-row-level-1 .task-table-cell:first-child {
padding-left: 32px;
}
.task-table-row-level-2 .task-table-cell:first-child {
padding-left: 52px;
}
.task-table-row-level-3 .task-table-cell:first-child {
padding-left: 72px;
}
.task-table-row-level-4 .task-table-cell:first-child {
padding-left: 92px;
}
.task-table-row-level-5 .task-table-cell:first-child {
padding-left: 112px;
}
.task-table-text {
color: var(--text-normal);
}
.task-table-number {
text-align: right;
color: var(--text-muted);
font-variant-numeric: tabular-nums;
}
.task-table-status {
display: flex;
align-items: center;
gap: 6px;
}
.task-table-status-icon {
font-size: 14px;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-status-text {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.task-table-status.completed .task-table-status-icon {
color: var(--text-success);
}
.task-table-status.in-progress .task-table-status-icon {
color: var(--text-warning);
}
.task-table-status.abandoned .task-table-status-icon {
color: var(--text-error);
}
.task-table-status.planned .task-table-status-icon {
color: var(--text-muted);
}
.task-table-status.not-started .task-table-status-icon {
color: var(--text-faint);
}
.task-table-priority {
display: flex;
align-items: center;
gap: 6px;
}
.task-table-priority.clickable-priority {
cursor: pointer;
padding: 4px;
border-radius: 4px;
transition: background-color 0.2s;
}
.task-table-priority.clickable-priority:hover {
background-color: var(--background-modifier-hover);
}
.task-table-priority-icon {
font-size: 14px;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-priority-icon.high {
color: var(--text-error);
}
.task-table-priority-icon.medium {
color: var(--text-warning);
}
.task-table-priority-icon.low {
color: var(--text-muted);
}
.task-table-priority-text {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.task-table-priority-empty {
color: var(--text-faint);
font-style: italic;
}
.task-table-date {
display: flex;
flex-direction: column;
gap: 2px;
cursor: pointer;
transition: background-color 0.2s;
padding: 4px;
border-radius: 4px;
}
.task-table-date:hover {
background-color: var(--background-modifier-hover);
}
.task-table-date-text {
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.task-table-date-relative {
font-size: var(--font-ui-smaller);
font-weight: 500;
}
.task-table-date-relative.today {
color: var(--text-success);
}
.task-table-date-relative.tomorrow {
color: var(--text-accent);
}
.task-table-date-relative.yesterday {
color: var(--text-muted);
}
.task-table-date-relative.overdue {
color: var(--text-error);
}
.task-table-date-relative.upcoming {
color: var(--text-warning);
}
.task-table-date-empty {
color: var(--text-faint);
font-style: italic;
}
.task-table-tags {
display: flex;
flex-wrap: wrap;
gap: 4px;
align-items: center;
}
.task-table-tag-chip {
background-color: var(--background-modifier-accent);
color: var(--text-accent);
padding: 2px 6px;
border-radius: 8px;
font-size: var(--font-ui-smaller);
font-weight: 500;
white-space: nowrap;
}
.task-table-tags-empty {
color: var(--text-faint);
font-style: italic;
}
.task-table-text-input,
.task-table-tags-input {
border: none !important;
background: transparent !important;
outline: none !important;
width: 100% !important;
padding: 0 !important;
font: inherit !important;
color: var(--text-normal) !important;
}
.task-table-text-input:focus,
.task-table-tags-input:focus {
background-color: var(--background-modifier-form-field) !important;
border-radius: 3px !important;
padding: 2px 4px !important;
}
.task-count-icon {
font-size: 16px;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-empty-row {
height: 80px;
}
.task-table-empty-cell {
text-align: center;
color: var(--text-muted);
font-style: italic;
vertical-align: middle;
}
.task-table-loading {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 20px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
color: var(--text-muted);
font-size: var(--font-ui-small);
z-index: 100;
}
.task-table.resizing {
user-select: none;
}
.task-table.resizing * {
cursor: col-resize !important;
}
.virtual-scroll-spacer {
pointer-events: none;
visibility: hidden;
}
@media (max-width: 768px) {
.task-table-container {
font-size: var(--font-ui-smaller);
}
.task-table-wrapper {
overflow-x: auto;
}
.task-table {
min-width: 800px;
}
.task-table-header-cell,
.task-table-cell {
padding: 6px 8px;
}
.task-table-row {
height: 36px;
}
.task-table-header-row {
height: 36px;
}
}
.theme-dark .task-table-container {
border-color: var(--background-modifier-border);
}
.theme-dark .task-table-row:nth-child(even) {
background-color: var(--background-primary-alt);
}
@media (prefers-contrast: high) {
.task-table-container {
border-width: 2px;
}
.task-table-header-cell,
.task-table-cell {
border-width: 1px;
}
.task-table-row {
border-bottom-width: 1px;
}
}
@media print {
.task-table-container {
border: none;
overflow: visible;
height: auto;
}
.task-table-header {
position: static;
}
.task-table-resize-handle {
display: none;
}
.task-table-expand-btn {
display: none;
}
}
.virtual-scroll-spacer-top {
pointer-events: none;
}
.virtual-scroll-spacer-top td {
padding: 0 !important;
border: none !important;
background: transparent !important;
}
.task-table-context-menu {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
z-index: 1000;
min-width: 120px;
}
.task-table-context-menu-item {
padding: 6px 12px;
cursor: pointer;
transition: background-color 0.1s ease;
}
.task-table-context-menu-item:hover {
background-color: var(--background-modifier-hover);
}
.task-table-date-input {
cursor: pointer;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
padding: 4px 8px;
width: 100%;
}
.task-table-date-input:hover {
border-color: var(--background-modifier-border-hover);
}
.task-table-date-input:focus {
border-color: var(--interactive-accent);
outline: none;
}
.task-table-project-input,
.task-table-context-input,
.task-table-tags-input {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
padding: 4px 8px;
width: 100%;
}
.task-table-project-input:focus,
.task-table-context-input:focus,
.task-table-tags-input:focus {
border-color: var(--interactive-accent);
outline: none;
}
.task-table-row.selected {
background-color: var(--background-modifier-hover);
}
.task-table-row:hover {
background-color: var(--background-modifier-hover-weak);
}
@media (max-width: 768px) {
.task-table {
font-size: 0.9em;
}
th[data-column-id=rowNumber] {
max-width: 40px !important;
min-width: 40px !important;
width: 40px !important;
}
.task-table-tree-container {
gap: 0 !important;
}
.task-table-expand-btn {
margin-right: 0 !important;
}
td[data-column-id=rowNumber] {
max-width: 40px !important;
min-width: 40px !important;
width: 40px !important;
}
.task-table-header-cell,
.task-table-cell {
padding: 6px 4px;
}
}
.task-table-header-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 6px 8px;
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
border-radius: 6px 6px 0 0;
margin-bottom: 0;
flex-shrink: 0;
min-height: 40px;
}
.table-header-left {
display: flex;
align-items: center;
gap: 12px;
}
.table-header-right {
display: flex;
align-items: center;
gap: 8px;
}
.task-count-container {
display: flex;
align-items: center;
gap: 8px;
padding: 6px 12px;
background-color: var(--background-primary);
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
}
.task-count-text {
font-size: var(--font-ui-small);
font-weight: 500;
color: var(--text-normal);
}
.table-controls-container {
display: flex;
align-items: center;
gap: 8px;
}
.table-control-btn {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 12px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
cursor: pointer;
font-size: var(--font-ui-small);
color: var(--text-normal);
transition: all 0.2s ease;
box-shadow: unset !important;
}
.table-control-btn:hover {
background-color: var(--background-modifier-hover);
}
.table-control-btn:active {
background-color: var(--background-modifier-active);
}
.tree-mode-btn.active {
background-color: var(--text-accent);
color: var(--text-on-accent);
border-color: var(--text-accent);
}
.tree-mode-icon,
.refresh-icon,
.column-icon {
font-size: 14px;
display: flex;
align-items: center;
justify-content: center;
}
.tree-mode-text,
.refresh-text,
.column-text {
font-weight: 500;
}
.dropdown-arrow {
font-size: 10px;
transition: transform 0.2s ease;
}
.column-dropdown {
position: relative;
}
.column-dropdown-menu {
position: absolute;
top: 100%;
right: 0;
margin-top: 4px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
box-shadow: var(--shadow-l);
z-index: 1000;
min-width: 200px;
max-height: 300px;
overflow-y: auto;
}
.column-toggle-item {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
cursor: pointer;
transition: background-color 0.2s ease;
}
.column-toggle-item:hover {
background-color: var(--background-modifier-hover);
}
.column-toggle-checkbox {
margin: 0;
cursor: pointer;
}
.column-toggle-label {
flex: 1;
font-size: var(--font-ui-small);
color: var(--text-normal);
cursor: pointer;
margin: 0;
}
@media (max-width: 768px) {
.task-table-header-bar {
flex-direction: column;
gap: 12px;
align-items: stretch;
}
.table-header-left {
display: none;
}
.table-header-left,
.table-header-right {
justify-content: center;
}
.table-controls-container {
justify-content: center;
flex-wrap: wrap;
}
.table-control-btn {
flex: 1;
min-width: 100px;
justify-content: center;
}
.column-dropdown-menu {
right: auto;
left: 0;
width: 100%;
}
}
.theme-dark .task-table-header-bar {
background-color: var(--background-secondary-alt);
}
.theme-dark .column-dropdown-menu {
background-color: var(--background-primary-alt);
border-color: var(--background-modifier-border-hover);
}
.custom-suggest-dropdown {
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
box-shadow: var(--shadow-l);
z-index: 1000;
position: absolute;
max-height: 200px;
overflow-y: auto;
min-width: 150px;
}
.custom-suggest-dropdown .suggestion-item {
padding: 8px 12px;
cursor: pointer;
border-bottom: 1px solid var(--background-modifier-border);
transition: background-color 0.2s;
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.custom-suggest-dropdown .suggestion-item:last-child {
border-bottom: none;
}
.custom-suggest-dropdown .suggestion-item:hover,
.custom-suggest-dropdown .suggestion-item.selected {
background-color: var(--background-modifier-hover);
}
.custom-suggest-dropdown .suggestion-item.selected {
color: var(--text-accent);
}
.task-table-subtask {
border-left: 2px solid var(--background-modifier-border-hover);
}
.task-table-parent .task-table-cell:first-child {
font-weight: 500;
}
.task-table-subtask-cell {
border-left: 1px solid var(--background-modifier-border-focus);
}
.task-table-tree-container {
display: flex;
align-items: center;
gap: 6px;
width: 100%;
}
.task-table-tree-structure {
display: flex;
align-items: center;
gap: 2px;
flex-shrink: 0;
}
.task-table-tree-line {
font-family: monospace;
font-size: 12px;
color: var(--text-faint);
line-height: 1;
width: 16px;
text-align: center;
}
.task-table-tree-connector {
color: var(--text-muted);
}
.task-table-tree-vertical {
color: var(--text-faint);
}
.task-table-subtask-indicator {
font-size: 10px;
color: var(--text-accent);
margin-right: 6px;
margin-left: 4px;
flex-shrink: 0;
font-weight: bold;
}
.task-table-top-level-expand {
margin-right: 6px;
}
.task-table-content-wrapper {
flex: 1;
min-width: 0;
}
.task-table-child-indicator {
font-size: 10px;
color: var(--text-muted);
margin-left: 6px;
flex-shrink: 0;
}
.task-table-status.clickable-status {
cursor: pointer;
padding: 4px;
border-radius: 4px;
transition: background-color 0.2s;
}
.task-table-status.clickable-status:hover {
background-color: var(--background-modifier-hover);
}
.task-table-priority-icon.highest {
color: var(--text-error);
filter: brightness(1.2);
}
.task-table-priority-icon.lowest {
color: var(--text-faint);
}
.task-table-expand-btn.clickable-icon {
opacity: 0.7;
transition: opacity 0.2s, background-color 0.2s;
}
.task-table-expand-btn.clickable-icon:hover {
opacity: 1;
}
.task-table-row-level-1 .task-table-cell:first-child,
.task-table-row-level-2 .task-table-cell:first-child,
.task-table-row-level-3 .task-table-cell:first-child,
.task-table-row-level-4 .task-table-cell:first-child,
.task-table-row-level-5 .task-table-cell:first-child {
padding-left: 12px;
}
/* src/styles/quadrant/quadrant.css */
.tg-quadrant-component-container {
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
background: var(--background-primary);
width: 100%;
}
.tg-quadrant-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--size-4-3) var(--size-4-4);
background: var(--background-primary);
flex-shrink: 0;
}
.tg-quadrant-title {
font-size: var(--font-ui-medium);
font-weight: var(--font-semibold);
color: var(--text-normal);
margin: 0;
}
.tg-quadrant-controls {
display: flex;
align-items: center;
gap: var(--size-2-3);
}
.tg-quadrant-sort-select {
padding: var(--size-2-2) var(--size-2-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background: var(--background-primary);
color: var(--text-normal);
font-size: var(--font-ui-small);
cursor: pointer;
transition: border-color 0.2s ease;
}
.tg-quadrant-sort-select:hover {
border-color: var(--background-modifier-border-hover);
}
.tg-quadrant-sort-select:focus {
border-color: var(--color-accent);
outline: none;
}
.tg-quadrant-toggle-empty {
padding: var(--size-2-2);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background: var(--background-primary);
color: var(--text-muted);
cursor: pointer;
transition: all 0.2s ease;
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
}
.tg-quadrant-toggle-empty:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
border-color: var(--background-modifier-border-hover);
}
.tg-quadrant-filter-container {
flex-shrink: 0;
border-bottom: 1px solid var(--background-modifier-border);
}
.tg-quadrant-grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 1px;
flex: 1;
background: var(--background-modifier-border);
overflow: hidden;
}
.tg-quadrant-column {
display: flex;
flex-direction: column;
background: var(--background-primary);
min-height: 0;
overflow: hidden;
position: relative;
}
.tg-quadrant-column--hidden {
display: none;
}
.tg-quadrant-column .tg-quadrant-header {
padding: var(--size-4-2) var(--size-4-3);
background: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
position: relative;
min-height: var(--size-4-12);
}
.tg-quadrant-title-container {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-bottom: var(--size-2-1);
}
.tg-quadrant-priority {
font-size: var(--font-ui-medium);
line-height: 1;
opacity: 0.8;
}
.tg-quadrant-column .tg-quadrant-title {
font-size: var(--font-ui-small);
font-weight: var(--font-semibold);
color: var(--text-normal);
margin: 0;
}
.tg-quadrant-description {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin-bottom: var(--size-2-2);
line-height: 1.3;
}
.tg-quadrant-count {
font-size: var(--font-ui-smaller);
color: var(--text-faint);
background: var(--background-modifier-border);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-weight: var(--font-medium);
}
.tg-quadrant-column-content {
flex: 1;
overflow-y: auto;
padding: var(--size-2-3);
min-height: 100px;
}
.tg-quadrant-column-content::-webkit-scrollbar {
width: 8px;
}
.tg-quadrant-column-content::-webkit-scrollbar-track {
background: transparent;
}
.tg-quadrant-column-content::-webkit-scrollbar-thumb {
background: var(--background-modifier-border);
border-radius: var(--radius-s);
}
.tg-quadrant-column-content::-webkit-scrollbar-thumb:hover {
background: var(--background-modifier-border-hover);
}
.tg-quadrant-column-content--drop-active {
background: var(--background-modifier-hover);
border: 2px dashed var(--color-accent);
border-radius: var(--radius-m);
}
.quadrant-urgent-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--text-error);
opacity: 0.6;
}
.quadrant-not-urgent-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--color-accent);
opacity: 0.6;
}
.quadrant-urgent-not-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--text-warning);
opacity: 0.6;
}
.quadrant-not-urgent-not-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--text-muted);
opacity: 0.4;
}
.tg-quadrant-card {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
margin-bottom: var(--size-2-3);
padding: var(--size-4-2);
cursor: pointer;
transition: all 0.15s ease;
position: relative;
}
.tg-quadrant-card:hover {
background: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-s);
}
.tg-quadrant-card:active {
transform: translateY(0);
}
.tg-quadrant-card:last-child {
margin-bottom: 0;
}
.tg-quadrant-card-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
margin-bottom: var(--size-2-2);
gap: var(--size-2-2);
}
.tg-quadrant-card-checkbox {
flex-shrink: 0;
margin-top: 2px;
}
.tg-quadrant-card-actions {
flex-shrink: 0;
opacity: 0;
transition: opacity 0.2s ease;
}
.tg-quadrant-card:hover .tg-quadrant-card-actions {
opacity: 1;
}
.tg-quadrant-card-more-btn {
background: none;
border: none;
padding: var(--size-2-1);
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: all 0.2s ease;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
}
.tg-quadrant-card-more-btn:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-quadrant-card-content {
margin-bottom: var(--size-2-2);
}
.tg-quadrant-card-title {
font-size: var(--font-ui-small);
line-height: 1.4;
color: var(--text-normal);
margin-bottom: var(--size-2-1);
word-wrap: break-word;
font-weight: var(--font-normal);
}
.tg-quadrant-card-priority {
font-size: var(--font-ui-small);
margin-left: var(--size-2-1);
opacity: 0.8;
}
.tg-quadrant-card-tags {
display: flex;
flex-wrap: wrap;
gap: var(--size-2-1);
margin-top: var(--size-2-2);
}
.tg-quadrant-card-tag {
background: var(--background-modifier-border);
color: var(--text-muted);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-size: var(--font-ui-smaller);
font-weight: var(--font-medium);
border: 1px solid transparent;
transition: all 0.2s ease;
}
.tg-quadrant-card-tag:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-quadrant-tag--urgent {
background: var(--background-modifier-error);
color: var(--text-error);
border-color: var(--text-error);
}
.tg-quadrant-tag--important {
background: var(--background-modifier-accent);
color: var(--text-accent);
border-color: var(--color-accent);
}
.tg-quadrant-card-metadata {
display: flex;
align-items: center;
justify-content: space-between;
font-size: var(--font-ui-smaller);
color: var(--text-faint);
gap: var(--size-2-2);
}
.tg-quadrant-card-due-date {
display: flex;
align-items: center;
gap: var(--size-2-1);
background: var(--background-modifier-border);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-weight: var(--font-medium);
}
.tg-quadrant-card-due-date-icon {
width: 12px;
height: 12px;
opacity: 0.7;
}
.tg-quadrant-card-due-date--urgent {
color: var(--text-warning);
}
.tg-quadrant-card-due-date--overdue {
color: var(--text-error);
}
.tg-quadrant-card-file-info {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--size-4-2);
opacity: 0.7;
transition: opacity 0.2s ease;
}
.tg-quadrant-card:hover .tg-quadrant-card-file-info {
opacity: 1;
}
.tg-quadrant-card-file-icon {
width: 12px;
height: 12px;
}
.tg-quadrant-card-file-name {
font-size: var(--font-ui-smaller);
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.tg-quadrant-card-line {
color: var(--text-faint);
font-size: var(--font-ui-smaller);
opacity: 0.6;
font-weight: var(--font-medium);
}
.tg-quadrant-card--priority-highest {
border-left: 3px solid var(--text-error);
}
.tg-quadrant-card--priority-high {
border-left: 3px solid var(--text-warning);
}
.tg-quadrant-card--priority-medium {
border-left: 3px solid var(--color-accent);
}
.tg-quadrant-card--priority-low {
border-left: 3px solid var(--text-success);
}
.tg-quadrant-card--priority-lowest {
border-left: 3px solid var(--text-muted);
}
.tg-quadrant-card--ghost {
opacity: 0.4;
background: var(--background-modifier-border);
border: 2px dashed var(--color-accent);
}
.tg-quadrant-card--dragging {
box-shadow: var(--shadow-l);
}
.tg-quadrant-card--chosen {
background: var(--background-modifier-hover);
border-color: var(--color-accent);
box-shadow: var(--shadow-s);
}
.tg-quadrant-card--drag {
box-shadow: var(--shadow-l);
z-index: 1000;
border-color: var(--color-accent);
}
.tg-quadrant-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 120px;
color: var(--text-faint);
text-align: center;
padding: var(--size-4-4);
opacity: 0.8;
}
.tg-quadrant-empty-icon {
width: 32px;
height: 32px;
margin-bottom: var(--size-2-3);
opacity: 0.5;
color: var(--text-faint);
}
.tg-quadrant-empty-message {
font-size: var(--font-ui-small);
line-height: 1.4;
font-weight: var(--font-medium);
}
@media (max-width: 768px) {
.tg-quadrant-grid {
grid-template-columns: 1fr;
grid-template-rows: repeat(4, 1fr);
}
.tg-quadrant-header {
padding: var(--size-2-3) var(--size-4-2);
}
.tg-quadrant-column .tg-quadrant-header {
padding: var(--size-2-3) var(--size-4-2);
}
.tg-quadrant-card {
padding: var(--size-2-3);
}
.tg-quadrant-card-title {
font-size: var(--font-ui-smaller);
}
.tg-quadrant-controls {
gap: var(--size-2-2);
}
}
.tg-quadrant-card:focus {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
.tg-quadrant-card-more-btn:focus {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
@keyframes cardComplete {
0% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
100% {
transform: scale(1);
}
}
.tg-quadrant-card--completed {
animation: cardComplete 0.3s ease-in-out;
}
.tg-quadrant-card:hover .tg-quadrant-card-title {
color: var(--text-normal);
}
.tg-quadrant-card:hover .tg-quadrant-card-priority {
opacity: 1;
}
.tg-quadrant-card-content {
position: relative;
}
.tg-quadrant-loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 2rem;
color: var(--text-muted);
min-height: 100px;
}
.tg-quadrant-loading-spinner {
margin-bottom: 1rem;
}
.tg-quadrant-spinner {
width: 24px;
height: 24px;
color: var(--color-accent);
}
.tg-quadrant-loading-message {
font-size: 0.9rem;
opacity: 0.7;
}
.tg-quadrant-dragging {
cursor: grabbing !important;
}
.tg-quadrant-dragging * {
pointer-events: none;
}
.tg-quadrant-card--ghost {
opacity: 0.4;
background: var(--background-modifier-border);
border: 2px dashed var(--color-accent);
}
.tg-quadrant-card--chosen {
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
transform: scale(1.02);
z-index: 1000;
background: var(--background-primary);
border: 2px solid var(--color-accent);
}
.tg-quadrant-card--drag {
opacity: 0.8;
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}
.tg-quadrant-card--fallback {
opacity: 0.9;
background: var(--background-primary);
border: 2px solid var(--color-accent);
border-radius: var(--radius-m);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.tg-quadrant-column--drag-target {
background: var(--background-modifier-hover);
border: 2px dashed var(--color-accent);
border-radius: var(--radius-m);
}
.tg-quadrant-column-content--drop-active {
background: var(--background-modifier-active-hover);
border: 2px dashed var(--color-accent);
border-radius: var(--radius-s);
min-height: 60px;
position: relative;
}
.tg-quadrant-column-content--drop-active::before {
content: "Drop task here";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: var(--color-accent);
font-size: 0.9rem;
font-weight: 500;
opacity: 0.7;
pointer-events: none;
z-index: 1;
}
.tg-quadrant-update-feedback {
position: fixed;
top: 20px;
right: 20px;
z-index: 10000;
opacity: 0;
transform: translateX(100%);
transition: all 0.3s ease;
pointer-events: none;
}
.tg-quadrant-feedback--show {
opacity: 1;
transform: translateX(0);
}
.tg-quadrant-feedback--hide {
opacity: 0;
transform: translateX(100%);
}
.tg-quadrant-feedback-content {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.75rem 1rem;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
min-width: 200px;
}
.tg-quadrant-feedback--error .tg-quadrant-feedback-content {
background: var(--background-modifier-error);
border-color: var(--text-error);
color: var(--text-error);
}
.tg-quadrant-feedback-icon {
font-size: 1.2rem;
flex-shrink: 0;
}
.tg-quadrant-feedback-text {
font-size: 0.9rem;
font-weight: 500;
}
.tg-quadrant-card {
transition: all 0.2s ease;
cursor: grab;
}
.tg-quadrant-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.tg-quadrant-card:active {
cursor: grabbing;
}
.tg-quadrant-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 2rem 1rem;
text-align: center;
color: var(--text-muted);
min-height: 120px;
border: 2px dashed var(--background-modifier-border);
border-radius: var(--radius-m);
margin: 0.5rem 0;
}
.tg-quadrant-empty-icon {
margin-bottom: 0.75rem;
opacity: 0.5;
}
.tg-quadrant-empty-message {
font-size: 0.9rem;
line-height: 1.4;
max-width: 200px;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.tg-quadrant-spinner circle {
animation: spin 2s linear infinite;
transform-origin: center;
}
@media (max-width: 768px) {
.tg-quadrant-update-feedback {
top: 10px;
right: 10px;
left: 10px;
transform: translateY(-100%);
}
.tg-quadrant-feedback--show {
transform: translateY(0);
}
.tg-quadrant-feedback--hide {
transform: translateY(-100%);
}
.tg-quadrant-feedback-content {
min-width: auto;
width: 100%;
}
}
.theme-dark .tg-quadrant-card--chosen {
background: var(--background-primary-alt);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
.theme-dark .tg-quadrant-card--fallback {
background: var(--background-primary-alt);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
.theme-dark .tg-quadrant-feedback-content {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
@media (prefers-reduced-motion: reduce) {
.tg-quadrant-card,
.tg-quadrant-update-feedback,
.tg-quadrant-card--chosen,
.tg-quadrant-card--drag {
transition: none;
animation: none;
}
.tg-quadrant-spinner circle {
animation: none;
}
}
.tg-quadrant-scroll-container {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
max-height: 70vh;
scrollbar-width: thin;
scrollbar-color: var(--background-modifier-border) transparent;
}
.tg-quadrant-scroll-container::-webkit-scrollbar {
width: 6px;
}
.tg-quadrant-scroll-container::-webkit-scrollbar-track {
background: transparent;
}
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb {
background: var(--background-modifier-border);
border-radius: 3px;
}
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb:hover {
background: var(--background-modifier-border-hover);
}
.tg-quadrant-load-more {
display: none;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 1rem;
color: var(--text-muted);
border-top: 1px solid var(--background-modifier-border);
margin-top: 0.5rem;
}
.tg-quadrant-load-more--visible {
display: flex;
}
.tg-quadrant-load-more-spinner {
margin-bottom: 0.5rem;
width: 24px;
height: 24px;
color: var(--interactive-accent);
}
.tg-quadrant-load-more-spinner svg {
animation: spin 1s linear infinite;
}
.tg-quadrant-load-more-message {
font-size: 0.8rem;
opacity: 0.7;
}
.tg-quadrant-column {
display: flex;
flex-direction: column;
height: 100%;
min-height: 400px;
max-height: 80vh;
}
.tg-quadrant-column-content {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.5rem;
padding: 0.5rem;
}
.tg-quadrant-scroll-container {
scroll-behavior: smooth;
}
.tg-quadrant-column.loading-more .tg-quadrant-load-more {
opacity: 1;
pointer-events: none;
}
.tg-quadrant-load-more {
min-height: 40px;
transition: opacity 0.2s ease;
}
.tg-quadrant-column-content:empty::before {
content: "";
display: block;
min-height: 100px;
}
.tg-quadrant-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
height: calc(100vh - 200px);
min-height: 400px;
}
@media (max-width: 1200px) {
.tg-quadrant-scroll-container {
max-height: 60vh;
}
.tg-quadrant-column {
max-height: 70vh;
}
}
@media (max-width: 768px) {
.tg-quadrant-scroll-container {
max-height: 50vh;
}
.tg-quadrant-column {
max-height: 60vh;
min-height: 300px;
}
.tg-quadrant-grid {
grid-template-columns: 1fr;
height: auto;
}
}
.tg-quadrant-column-content {
contain: layout style;
will-change: contents;
}
.tg-quadrant-card {
contain: layout style paint;
}
.tg-quadrant-scroll-container.has-scroll::before {
content: "";
position: sticky;
top: 0;
height: 1px;
background:
linear-gradient(
to bottom,
var(--background-primary),
transparent);
z-index: 1;
}
.tg-quadrant-scroll-container.has-scroll::after {
content: "";
position: sticky;
bottom: 0;
height: 1px;
background:
linear-gradient(
to top,
var(--background-primary),
transparent);
z-index: 1;
}
/* src/styles/habit.css */
.tg-habit-component-container {
width: 100%;
display: flex;
flex-direction: column;
gap: 1rem;
padding: 1rem;
height: 100%;
overflow-y: auto;
}
.habit-list-container {
display: grid;
grid-template-columns: repeat(1, minmax(0, 1fr));
gap: 1rem;
width: 100%;
}
@media screen and (max-width: 480px) {
.habit-list-container {
padding: 0.5rem;
gap: 0.75rem;
}
}
@media screen and (min-width: 768px) {
.habit-list-container {
margin-left: auto;
margin-right: auto;
max-width: 400px;
display: flex;
flex-direction: column;
}
}
@media screen and (min-width: 1024px) {
.habit-list-container {
max-width: 500px;
}
}
.habit-card-wrapper {
width: 100%;
min-height: fit-content;
}
.habit-create-button-container {
display: flex;
justify-content: flex-start;
}
.habit-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
color: var(--text-normal);
overflow: hidden;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
min-height: fit-content;
}
.habit-card .card-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem 1rem;
gap: 0.5rem;
}
.habit-card .card-title {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: var(--font-ui-large);
font-weight: 600;
flex-grow: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.habit-name.habit-name:hover {
text-decoration: underline;
cursor: pointer;
}
.habit-card .card-content-wrapper {
padding: 0.75rem 1rem;
flex-grow: 1;
}
.daily-habit-card .card-header {
}
.daily-habit-card .habit-checkbox-container {
}
.daily-habit-card .habit-checkbox {
--checkbox-size: 1.25rem;
cursor: pointer;
accent-color: var(--interactive-accent);
}
.daily-habit-card .card-content-wrapper {
padding: 0rem 1rem 0.75rem;
}
.count-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
}
.count-habit-card .habit-icon-button {
--icon-size: 2rem;
height: 4rem;
width: 4rem;
aspect-ratio: 1;
padding: 0;
cursor: pointer;
border-radius: var(--radius-s);
display: flex;
justify-content: center;
align-items: center;
font-size: 1.5rem;
}
.count-habit-card .habit-icon-button {
color: var(--icon-color);
}
.count-habit-card .habit-icon-button:hover {
background-color: var(--background-secondary);
}
.count-habit-card .habit-card-name {
font-size: var(--font-ui-large);
font-weight: 600;
}
.count-habit-card .habit-active-day {
font-size: var(--font-ui-small);
color: var(--text-muted);
font-weight: 400;
}
.count-habit-card .habit-info {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
flex-grow: 1;
}
.count-habit-card .habit-info h3 {
font-size: var(--font-ui-large);
font-weight: 600;
}
.count-habit-card .habit-progress-area {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}
@media (min-width: 640px) {
.count-habit-card .card-content-wrapper {
flex-direction: row;
align-items: center;
gap: 1rem;
}
.count-habit-card .habit-progress-area {
width: auto;
min-width: 150px;
align-items: flex-end;
}
.count-habit-card .habit-heatmap-small {
width: 100%;
}
}
.scheduled-habit-card .card-header {
padding-bottom: 0.5rem;
}
.scheduled-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
}
.scheduled-habit-card .habit-heatmap-medium {
width: 100%;
}
.scheduled-habit-card .habit-controls {
width: 100%;
display: flex;
flex-direction: column;
gap: 0.5rem;
align-items: center;
}
.scheduled-habit-card .habit-event-dropdown {
width: auto;
margin-bottom: 0.5rem;
width: 100%;
}
@media (min-width: 640px) {
.scheduled-habit-card .card-content-wrapper {
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
}
.scheduled-habit-card .habit-heatmap-medium {
width: auto;
flex-grow: 1;
margin-right: 1rem;
}
.scheduled-habit-card .habit-controls {
width: auto;
min-width: 150px;
align-items: flex-start;
}
}
.mapping-habit-card .card-header {
padding-bottom: 0.5rem;
}
.mapping-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
padding-top: 0;
padding-bottom: 1.2rem;
}
.mapping-habit-card .habit-heatmap-medium {
width: 100%;
}
.mapping-habit-card .habit-controls {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}
.mapping-habit-card .habit-mapping-button {
display: flex;
justify-content: center;
align-items: center;
font-size: 1.75rem;
padding: 0.5rem;
width: 100%;
max-width: 100px;
height: 3.5rem;
border: 1px solid var(--button-secondary-border-color);
background-color: var(--button-secondary-bg);
color: var(--text-normal);
cursor: pointer;
border-radius: var(--radius-s);
}
.mapping-habit-card .habit-mapping-button:hover {
background-color: var(--button-secondary-hover-bg);
}
.mapping-habit-card .habit-slider-setting {
width: 100%;
max-width: 200px;
}
.mapping-habit-card .habit-slider-setting .setting-item-info {
display: none;
}
.mapping-habit-card .habit-slider-setting .setting-item {
width: 100%;
padding: 0;
border: none;
}
.mapping-habit-card .habit-slider-setting .setting-item-control {
width: 100%;
}
.mapping-habit-card .heatmap-md .heatmap-container-simple {
gap: var(--size-2-2);
}
@media (min-width: 640px) {
.mapping-habit-card .card-content-wrapper {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.mapping-habit-card .habit-heatmap-medium {
width: auto;
flex-grow: 1;
margin-right: 1rem;
}
.mapping-habit-card .habit-controls {
width: auto;
min-width: 80px;
flex-direction: column;
align-items: center;
gap: 0.75rem;
}
.mapping-habit-card .habit-mapping-button {
width: 4rem;
height: 4rem;
}
.mapping-habit-card .habit-slider-setting {
width: 100%;
max-width: none;
}
}
.habit-progress-container {
width: 100%;
height: 0.75rem;
background-color: var(--background-modifier-border);
border-radius: var(--radius-l);
overflow: hidden;
position: relative;
}
.habit-progress-bar {
height: 100%;
background-color: var(--interactive-accent);
border-radius: var(--radius-l);
transition: width 0.3s ease-in-out;
}
.habit-progress-container.filled .habit-progress-text {
mix-blend-mode: unset;
}
.habit-progress-text {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
font-size: 0.6rem;
line-height: 1;
color: var(--text-on-accent);
mix-blend-mode: difference;
font-weight: 500;
}
.tg-heatmap-root {
width: 100%;
}
.heatmap-sm .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
}
.heatmap-md .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
justify-items: center;
}
.heatmap-lg .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(10, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
justify-items: center;
}
.heatmap-cell {
border-radius: var(--radius-s);
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
flex-shrink: 0;
background-color: var( --background-modifier-border );
border: 1px solid transparent;
}
.heatmap-cell-square {
}
.heatmap-cell-dot {
border-radius: 50%;
}
.heatmap-sm .heatmap-cell {
width: 0.75rem;
height: 0.75rem;
}
.habit-heatmap-medium .heatmap-md .heatmap-cell {
width: 1.4rem;
height: 1.4rem;
font-size: 0.7rem;
}
.heatmap-md .heatmap-cell {
width: 1.1rem;
height: 1.1rem;
font-size: 0.7rem;
}
.heatmap-lg .heatmap-cell {
width: 1.25rem;
height: 1.25rem;
font-size: 0.75rem;
}
.heatmap-cell.default {
}
.heatmap-cell.filled {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.heatmap-cell.has-custom-content:has(.pie-dot-container) {
background: transparent;
border: unset;
}
.heatmap-cell.has-custom-content,
.heatmap-cell.has-text-content {
background-color: var(--background-secondary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.heatmap-cell.has-text-content {
line-height: 1;
}
.pie-dot-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.pie-dot-container svg {
display: block;
}
.habit-empty-state {
text-align: center;
padding: 2rem 1rem;
color: var(--text-muted);
}
.habit-empty-state h2 {
font-size: var(--font-ui-large);
font-weight: 600;
margin-bottom: 0.5rem;
}
.habit-empty-state p {
font-size: var(--font-ui-normal);
color: var(--text-faint);
}
.habit-icon {
display: inline-block;
height: 1em;
line-height: 1;
text-align: center;
color: var(--text-muted);
font-style: italic;
margin-right: 0.25em;
--icon-size: 1.5rem;
}
.habit-chart-controls {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.habit-chart-filters {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.habit-chart-filters .filter-btn {
padding: 0.25rem 0.6rem;
border: 1px solid var(--background-modifier-border);
background: var(--background-secondary);
color: var(--text-normal);
border-radius: var(--radius-s);
cursor: pointer;
}
.habit-chart-filters .filter-btn:hover {
background: var(--background-secondary-alt);
}
.habit-chart-years {
display: flex;
align-items: center;
gap: 0.5rem;
}
.habit-chart-years .years-label {
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.habit-chart-years .years-bar {
display: flex;
flex-wrap: nowrap;
gap: 0.4rem;
overflow-x: auto;
padding-bottom: 2px;
}
.habit-chart-years .year-btn {
padding: 0.2rem 0.5rem;
border: 1px solid var(--background-modifier-border);
background: var(--background-secondary);
color: var(--text-muted);
border-radius: var(--radius-s);
cursor: pointer;
white-space: nowrap;
}
.habit-chart-years .year-btn.selected,
.habit-chart-years .year-btn:hover {
background: var(--interactive-accent);
border-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.habit-chart-heatmap {
max-height: 60vh;
overflow: auto;
}
/* src/styles/global.css */
:root {
--task-completed-color: #4caf50;
--task-doing-color: #80dee5;
--task-in-progress-color: #f9d923;
--task-abandoned-color: #eb5353;
--task-planned-color: #9c27b0;
--task-question-color: #2196f3;
--task-important-color: #f44336;
--task-star-color: #ffc107;
--task-quote-color: #607d8b;
--task-location-color: #795548;
--task-bookmark-color: #ff9800;
--task-information-color: #00bcd4;
--task-idea-color: #9c27b0;
--task-pros-color: #4caf50;
--task-cons-color: #f44336;
--task-fire-color: #ff5722;
--task-key-color: #ffd700;
--task-win-color: #66bb6a;
--task-up-color: #4caf50;
--task-down-color: #f44336;
--task-note-color: #9e9e9e;
--task-amount-color: #8bc34a;
--task-speech-color: #03a9f4;
--progress-0-color: #ae431e;
--progress-25-color: #e5890a;
--progress-50-color: #b4c6a6;
--progress-75-color: #6bcb77;
--progress-100-color: #4d96ff;
--progress-background-color: #f1f1f1;
}
.theme-dark {
--task-completed-color: #4caf50;
--task-doing-color: #379fa7;
--task-in-progress-color: #ffc107;
--task-abandoned-color: #f44336;
--task-planned-color: #ce93d8;
--task-question-color: #42a5f5;
--task-important-color: #ef5350;
--task-star-color: #ffd54f;
--task-quote-color: #90a4ae;
--task-location-color: #8d6e63;
--task-bookmark-color: #ffb74d;
--task-information-color: #26c6da;
--task-idea-color: #ce93d8;
--task-pros-color: #66bb6a;
--task-cons-color: #ef5350;
--task-fire-color: #ff7043;
--task-key-color: #ffd700;
--task-win-color: #81c784;
--task-up-color: #66bb6a;
--task-down-color: #ef5350;
--task-note-color: #bdbdbd;
--task-amount-color: #aed581;
--task-speech-color: #29b6f6;
--progress-0-color: #ae431e;
--progress-25-color: #e5890a;
--progress-50-color: #b4c6a6;
--progress-75-color: #6bcb77;
--progress-100-color: #4d96ff;
--progress-background-color: #f1f1f1;
}
/* src/styles/view-config.css */
.task-genius-view-config-modal {
width: max(70%, 500px);
}
.task-genius-view-config-modal .setting-item {
margin-bottom: 15px;
}
.task-genius-view-config-modal .setting-item:not(.setting-item-heading) .setting-item-info {
width: 120px;
}
.task-genius-view-config-modal .setting-item-control input[type=text],
.task-genius-view-config-modal .setting-item-control input[type=number] {
width: 100%;
}
.task-genius-view-config-modal .setting-item-description {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin-top: 2px;
}
.view-management-list .setting-item {
border-bottom: 1px solid var(--background-modifier-border);
padding: 10px 0;
display: flex;
align-items: center;
}
.view-management-list .setting-item-info {
flex-grow: 1;
margin-right: 10px;
}
.view-management-list .setting-item-control {
display: flex;
align-items: center;
gap: 8px;
}
.view-management-list .setting-item-control .button-component {
padding: 5px;
height: auto;
}
.view-management-list .view-order-button,
.view-management-list .view-delete-button {
margin-left: 5px;
}
.view-management-list .setting-item:last-child {
border-bottom: none;
}
.view-management-list .setting-item-control .checkbox-container {
margin: 0;
}
.tg-icon-menu {
position: absolute;
z-index: 100;
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-l);
padding: 8px;
max-height: 300px;
width: 250px;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
.tg-icon-menu .tg-menu-search {
width: 100%;
padding: 6px 8px;
margin-bottom: 8px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
box-sizing: border-box;
flex-shrink: 0;
}
.tg-icon-menu .tg-menu-icons {
flex-grow: 1;
overflow-y: auto;
min-height: 0;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
gap: 4px;
}
.tg-icon-menu .clickable-icon {
display: flex;
justify-content: center;
align-items: center;
padding: 6px;
border-radius: var(--radius-s);
cursor: pointer;
background-color: var(--background-primary);
border: 1px solid transparent;
transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
}
.tg-icon-menu .clickable-icon:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
}
.tg-icon-menu .clickable-icon svg {
width: 20px;
height: 20px;
color: var(--text-muted);
}
/* src/styles/task-status.css */
.task-status-widget {
display: inline-flex;
align-items: center;
cursor: pointer;
font-size: var(--font-ui-medium);
font-weight: var(--font-bold);
}
.task-state.live-preview-mode {
padding-inline-start: var(--size-4-2);
padding-inline-end: var(--size-2-1);
}
.task-status-widget .list-bullet::after {
background-color: var(--list-marker-color) !important;
}
.task-state[data-task-state=" "] {
color: var(--text-accent);
}
.task-state[data-task-state="/"] {
color: var(--task-doing-color);
}
.task-state[data-task-state=">"] {
color: var(--task-in-progress-color);
}
.task-state[data-task-state=x],
.task-state[data-task-state=X] {
color: var(--task-completed-color);
}
.task-state[data-task-state="-"] {
color: var(--task-abandoned-color);
}
.task-state[data-task-state="<"] {
color: var(--task-planned-color);
}
.task-state[data-task-state="?"] {
color: var(--task-question-color);
}
.task-state[data-task-state="!"] {
color: var(--task-important-color);
}
.task-state[data-task-state="*"] {
color: var(--task-star-color);
}
.task-state[data-task-state='"'] {
color: var(--task-quote-color);
}
.task-state[data-task-state=l] {
color: var(--task-location-color);
}
.task-state[data-task-state=b] {
color: var(--task-bookmark-color);
}
.task-state[data-task-state=i] {
color: var(--task-information-color);
}
.task-state[data-task-state=I] {
color: var(--task-idea-color);
}
.task-state[data-task-state=p] {
color: var(--task-pros-color);
}
.task-state[data-task-state=c] {
color: var(--task-cons-color);
}
.task-state[data-task-state=f] {
color: var(--task-fire-color);
}
.task-state[data-task-state=k] {
color: var(--task-key-color);
}
.task-state[data-task-state=w] {
color: var(--task-win-color);
}
.task-state[data-task-state=u] {
color: var(--task-up-color);
}
.task-state[data-task-state=d] {
color: var(--task-down-color);
}
.task-state[data-task-state=n] {
color: var(--task-note-color);
}
.task-state[data-task-state=S] {
color: var(--task-amount-color);
}
.task-state[data-task-state="0"],
.task-state[data-task-state="1"],
.task-state[data-task-state="2"],
.task-state[data-task-state="3"],
.task-state[data-task-state="4"],
.task-state[data-task-state="5"],
.task-state[data-task-state="6"],
.task-state[data-task-state="7"],
.task-state[data-task-state="8"],
.task-state[data-task-state="9"] {
color: var(--task-speech-color);
}
.task-fake-bullet {
display: inline-block;
width: 5px;
height: 5px;
border-radius: 50%;
background-color: var(--text-normal);
margin-right: 4px;
vertical-align: middle;
}
ol > .task-list-item .task-fake-bullet {
display: none;
}
ol > .task-list-item .task-state-container {
margin-inline-start: 0;
}
/* src/styles/onboarding.css */
.onboarding-modal,
.onboarding-view {
--dialog-width: 800px;
--dialog-max-width: 90vw;
--dialog-max-height: 90vh;
--onboarding-spacing: var(--size-4-4);
--onboarding-border-radius: var(--radius-m);
--onboarding-transition: all 0.2s ease-in-out;
}
.onboarding-modal .modal-content,
.onboarding-view .modal-content {
background-color: var(--modal-background);
border-radius: var(--modal-radius);
max-width: var(--dialog-max-width);
max-height: var(--dialog-max-height);
height: 90vh;
display: flex;
flex-direction: column;
overflow: auto;
position: relative;
min-height: 100px;
}
.onboarding-view {
height: 100%;
display: flex;
flex-direction: column;
background-color: var(--background-primary);
}
.onboarding-view .view-content {
height: 100%;
display: flex;
flex-direction: column;
}
.onboarding-modal .onboarding-header,
.onboarding-view .onboarding-header {
padding: var(--onboarding-spacing) var(--onboarding-spacing) var(--size-4-2) var(--onboarding-spacing);
text-align: center;
}
.onboarding-modal .onboarding-subtitle,
.onboarding-view .onboarding-subtitle {
color: var(--text-muted);
font-size: 0.95em;
margin: 0;
}
.onboarding-modal .onboarding-content,
.onboarding-view .onboarding-content {
flex: 1;
padding: var(--onboarding-spacing);
overflow-y: auto;
min-height: 0;
}
.onboarding-modal .onboarding-footer,
.onboarding-view .onboarding-footer {
padding: var(--size-4-2) var(--onboarding-spacing) var(--onboarding-spacing) var(--onboarding-spacing);
border-top: var(--modal-border-width) solid var(--background-modifier-border);
flex-shrink: 0;
}
.onboarding-modal .onboarding-buttons,
.onboarding-view .onboarding-buttons {
display: flex;
gap: var(--size-4-2);
justify-content: space-between;
align-items: center;
}
.onboarding-modal .settings-check-section,
.onboarding-view .settings-check-section {
margin: var(--onboarding-spacing) 0;
}
.onboarding-modal .changes-summary-list,
.onboarding-view .changes-summary-list {
list-style: none;
padding: 0;
margin: var(--size-4-2) 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.onboarding-modal .changes-summary-list li,
.onboarding-view .changes-summary-list li {
display: flex;
align-items: center;
gap: var(--size-4-2);
padding: var(--size-2-1) 0;
color: var(--text-normal);
font-size: 0.9em;
}
.onboarding-modal .change-check,
.onboarding-view .change-check {
color: var(--color-green);
font-size: 1.1em;
display: flex;
}
.onboarding-modal .change-text,
.onboarding-view .change-text {
flex: 1;
}
.onboarding-modal .onboarding-question,
.onboarding-view .onboarding-question {
margin: var(--onboarding-spacing) 0;
text-align: center;
}
.onboarding-modal .question-options,
.onboarding-view .question-options {
display: flex;
gap: var(--size-4-3);
justify-content: center;
margin-top: var(--size-4-3);
}
.onboarding-modal .question-button,
.onboarding-view .question-button {
padding: var(--size-4-3) var(--size-4-4);
border-radius: var(--button-radius);
border: none;
cursor: pointer;
font-size: 0.9em;
font-weight: 500;
transition: var(--onboarding-transition);
}
.onboarding-modal .question-options .mod-cta,
.onboarding-view .question-options .mod-cta {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.onboarding-modal .question-options .mod-cta:hover,
.onboarding-view .question-options .mod-cta:hover {
background: var(--interactive-accent-hover);
}
.onboarding-modal .question-button:not(.mod-cta),
.onboarding-view .question-button:not(.mod-cta) {
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
}
.onboarding-modal .question-button:not(.mod-cta):hover,
.onboarding-view .question-button:not(.mod-cta):hover {
background: var(--background-modifier-hover);
}
.onboarding-modal .welcome-section,
.onboarding-view .welcome-section {
display: flex;
flex-direction: column;
gap: var(--onboarding-spacing);
}
.onboarding-modal .features-overview,
.onboarding-view .features-overview {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--size-4-3);
margin: var(--onboarding-spacing) 0;
}
.onboarding-modal .feature-item,
.onboarding-view .feature-item {
display: flex;
gap: var(--size-4-2);
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .feature-icon,
.onboarding-view .feature-icon {
font-size: 1.5em;
flex-shrink: 0;
line-height: 1;
}
.onboarding-modal .setup-note,
.onboarding-view .setup-note {
text-align: center;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .setup-description,
.onboarding-view .setup-description {
color: var(--text-muted);
font-size: 0.95em;
line-height: 1.5;
margin: 0;
}
.onboarding-modal .user-level-cards,
.onboarding-view .user-level-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--onboarding-spacing);
margin: var(--onboarding-spacing) 0;
}
.onboarding-modal .user-level-card,
.onboarding-view .user-level-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--onboarding-border-radius);
padding: var(--onboarding-spacing);
cursor: pointer;
transition: var(--onboarding-transition);
background: var(--background-primary);
position: relative;
overflow: hidden;
}
.onboarding-modal .user-level-card:hover,
.onboarding-modal .user-level-card.card-hover,
.onboarding-view .user-level-card.card-hover {
border-color: var(--interactive-accent);
}
.onboarding-modal .user-level-card.selected,
.onboarding-view .user-level-card.selected {
border-color: var(--interactive-accent);
background: var(--background-modifier-hover);
}
.user-level-card .card-header {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
.user-level-card .card-icon {
font-size: 1.8em;
line-height: 1;
flex-shrink: 0;
}
.user-level-card .card-title {
margin: 0;
color: var(--text-normal);
font-size: 1.2em;
font-weight: 600;
}
.user-level-card .card-description {
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.4;
margin: 0 0 var(--size-4-2) 0;
}
.user-level-card .card-features {
margin-top: var(--size-4-2);
}
.user-level-card .card-features ul {
margin: 0;
padding-left: var(--size-4-3);
list-style: none;
}
.user-level-card .card-features li {
position: relative;
color: var(--text-muted);
font-size: 0.85em;
line-height: 1.4;
margin-bottom: var(--size-2-1);
}
.user-level-card .card-features li:before {
content: "\2022";
color: var(--interactive-accent);
position: absolute;
left: calc(-1 * var(--size-4-3));
font-weight: bold;
}
.user-level-card .recommendation-badge {
position: absolute;
top: var(--size-4-2);
right: var(--size-4-2);
background: var(--interactive-accent);
color: var(--text-on-accent);
padding: var(--size-2-1) var(--size-4-1);
border-radius: var(--radius-s);
font-size: 0.7em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.02em;
}
.onboarding-modal .config-overview,
.onboarding-view .config-overview {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-modal .mode-card,
.onboarding-view .mode-card {
display: flex;
align-items: center;
gap: var(--size-4-3);
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .mode-icon,
.onboarding-view .mode-icon {
--icon-size: var(--size-4-4);
flex-shrink: 0;
}
.onboarding-modal .config-features,
.onboarding-modal .config-views,
.onboarding-modal .config-settings,
.onboarding-view .config-settings {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-modal .enabled-features-list,
.onboarding-view .enabled-features-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.onboarding-modal .enabled-features-list li,
.onboarding-view .enabled-features-list li {
display: flex;
align-items: center;
gap: var(--size-4-2);
padding: var(--size-2-1) 0;
color: var(--text-normal);
font-size: 0.9em;
}
.onboarding-modal .feature-check,
.onboarding-view .feature-check {
color: var(--color-green);
font-weight: bold;
}
.onboarding-modal .views-grid,
.onboarding-view .views-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: var(--size-4-2);
}
.onboarding-modal .view-item,
.onboarding-view .view-item {
display: flex;
flex-direction: column;
align-items: center;
padding: var(--size-4-2);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .view-icon,
.onboarding-view .view-icon {
font-size: 1.2em;
margin-bottom: var(--size-2-1);
}
.onboarding-modal .view-name,
.onboarding-view .view-name {
font-size: 0.8em;
color: var(--text-muted);
text-align: center;
}
.onboarding-modal .settings-summary-list,
.onboarding-view .settings-summary-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.onboarding-modal .settings-summary-list li,
.onboarding-view .settings-summary-list li {
display: flex;
justify-content: space-between;
padding: var(--size-2-1) 0;
font-size: 0.9em;
border-bottom: 1px solid var(--background-modifier-border);
}
.onboarding-modal .settings-summary-list li:last-child,
.onboarding-view .settings-summary-list li:last-child {
border-bottom: none;
}
.onboarding-modal .setting-label,
.onboarding-view .setting-label {
color: var(--text-normal);
font-weight: 500;
}
.onboarding-modal .setting-value,
.onboarding-view .setting-value {
color: var(--text-muted);
}
.onboarding-modal .config-options,
.onboarding-view .config-options {
margin-top: var(--onboarding-spacing);
}
.onboarding-modal .customization-note,
.onboarding-view .customization-note {
text-align: center;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .note-text,
.onboarding-view .note-text {
color: var(--text-muted);
font-size: 0.9em;
margin: 0;
font-style: italic;
}
.onboarding-modal .config-changes-summary,
.onboarding-view .config-changes-summary {
margin: var(--onboarding-spacing) 0;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .preserved-views,
.onboarding-modal .added-views,
.onboarding-modal .updated-views,
.onboarding-modal .settings-changes,
.onboarding-view .settings-changes {
margin: var(--size-4-2) 0;
padding: var(--size-4-2);
background: var(--background-primary);
border-radius: var(--radius-s);
}
.onboarding-modal .preserved-header,
.onboarding-view .preserved-header {
display: flex;
align-items: center;
gap: var(--size-4-1);
margin-bottom: var(--size-4-1);
}
.onboarding-modal .preserved-icon,
.onboarding-view .preserved-icon {
color: var(--color-green);
font-size: 1.1em;
}
.onboarding-modal .preserved-text,
.onboarding-modal .change-text,
.onboarding-view .change-text {
color: var(--text-normal);
font-size: 0.9em;
font-weight: 500;
}
.onboarding-view .updated-views,
.onboarding-modal .updated-views {
display: flex;
}
.onboarding-modal .change-icon,
.onboarding-view .change-icon {
color: var(--interactive-accent);
font-size: 1.1em;
margin-right: var(--size-4-1);
display: flex;
}
.onboarding-modal .preserved-views-list,
.onboarding-modal .settings-changes-list,
.onboarding-view .settings-changes-list {
list-style: none;
padding: 0;
margin: var(--size-4-1) 0 0 var(--size-4-4);
}
.onboarding-modal .preserved-views-list li,
.onboarding-modal .settings-changes-list li,
.onboarding-view .settings-changes-list li {
display: flex;
align-items: center;
padding: var(--size-2-1) 0;
color: var(--text-muted);
font-size: 0.85em;
}
.onboarding-modal .safety-note,
.onboarding-view .safety-note {
margin-top: var(--size-4-3);
padding: var(--size-4-2);
background: rgba(var(--color-blue-rgb), 0.1);
border-radius: var(--radius-s);
display: flex;
align-items: center;
gap: var(--size-4-1);
}
.onboarding-modal .safety-icon,
.onboarding-view .safety-icon {
color: var(--color-blue);
font-size: 1.1em;
display: flex;
justify-content: center;
align-items: center;
}
.onboarding-modal .safety-text,
.onboarding-view .safety-text {
color: var(--color-blue);
font-size: var(--font-ui-smaller);
font-weight: 500;
}
.onboarding-modal .task-guide-intro,
.onboarding-view .task-guide-intro {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-modal .guide-description,
.onboarding-view .guide-description {
color: var(--text-muted);
font-size: 0.95em;
line-height: 1.5;
margin: 0;
}
.onboarding-modal .task-formats-section,
.onboarding-modal .quick-capture-section,
.onboarding-modal .practice-section,
.onboarding-modal .shortcuts-section,
.onboarding-view .shortcuts-section {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-modal .format-example,
.onboarding-view .format-example {
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-4);
}
.onboarding-modal .format-example code,
.onboarding-view .format-example code {
background: var(--background-primary);
padding: var(--size-2-1) var(--size-4-1);
border-radius: var(--radius-s);
font-family: var(--font-monospace);
font-size: 0.85em;
color: var(--text-accent);
border: 1px solid var(--background-modifier-border);
display: block;
margin: var(--size-2-1) 0;
}
.onboarding-modal .format-legend,
.onboarding-modal .format-legend small,
.onboarding-view .format-legend small {
color: var(--text-faint);
font-size: 0.8em;
margin-top: var(--size-2-1);
display: block;
}
.onboarding-modal .status-markers,
.onboarding-modal .metadata-symbols,
.onboarding-view .metadata-symbols {
margin-top: var(--size-4-2);
}
.onboarding-modal .status-list,
.onboarding-view .status-list li,
.onboarding-modal .symbols-list,
.onboarding-view .symbols-list {
list-style: none;
margin: 0;
background: var(--background-primary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .status-list li,
.onboarding-view .status-list li,
.onboarding-modal .symbols-list li,
.onboarding-view .symbols-list li {
display: flex;
align-items: center;
padding: var(--size-2-1) 0;
font-size: 0.85em;
color: var(--text-normal);
}
.onboarding-modal .status-list code,
.onboarding-view .status-list code {
background: var(--background-secondary);
padding: var(--size-2-1) var(--size-4-1);
border-radius: var(--radius-s);
font-family: var(--font-monospace);
margin-right: var(--size-4-2);
min-width: 40px;
text-align: center;
}
.onboarding-modal .demo-content,
.onboarding-view .demo-content {
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .demo-button,
.onboarding-view .demo-button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: var(--size-4-2) var(--size-4-4);
border-radius: var(--button-radius);
cursor: pointer;
font-weight: 500;
transition: var(--onboarding-transition);
margin-top: var(--size-4-2);
}
.onboarding-modal .demo-button:hover,
.onboarding-view .demo-button:hover {
background: var(--interactive-accent-hover);
}
.onboarding-modal .practice-feedback,
.onboarding-view .practice-feedback {
margin-top: var(--size-4-2);
}
.onboarding-modal .validation-message,
.onboarding-view .validation-message {
padding: var(--size-4-2);
border-radius: var(--onboarding-border-radius);
font-size: 0.9em;
margin-bottom: var(--size-2-1);
}
.onboarding-modal .validation-success,
.onboarding-view .validation-success {
background: rgba(var(--color-green-rgb), 0.1);
border: 1px solid var(--color-green);
color: var(--color-green);
}
.onboarding-modal .validation-error,
.onboarding-view .validation-error {
background: rgba(var(--color-red-rgb), 0.1);
border: 1px solid var(--color-red);
color: var(--color-red);
}
.onboarding-modal .validation-warning,
.onboarding-view .validation-warning {
background: rgba(var(--color-orange-rgb), 0.1);
border: 1px solid var(--color-orange);
color: var(--color-orange);
}
.onboarding-modal .validation-info,
.onboarding-view .validation-info {
background: rgba(var(--color-blue-rgb), 0.1);
border: 1px solid var(--color-blue);
color: var(--color-blue);
}
.onboarding-modal .shortcuts-list,
.onboarding-view .shortcuts-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.onboarding-modal .shortcuts-list li,
.onboarding-view .shortcuts-list li {
display: flex;
align-items: center;
padding: var(--size-2-1) 0;
font-size: 0.9em;
color: var(--text-normal);
}
.onboarding-modal .shortcuts-list code,
.onboarding-view .shortcuts-list code {
background: var(--background-primary);
padding: var(--size-2-1) var(--size-4-2);
border-radius: var(--radius-s);
font-family: var(--font-monospace);
margin-right: var(--size-4-3);
min-width: 100px;
font-size: 0.8em;
}
.onboarding-modal .completion-success,
.onboarding-view .completion-success {
text-align: center;
margin-bottom: var(--onboarding-spacing);
}
.onboarding-modal .success-icon,
.onboarding-view .success-icon {
font-size: 3em;
margin-bottom: var(--size-4-2);
}
.onboarding-modal .success-message,
.onboarding-view .success-message {
color: var(--text-muted);
font-size: 0.95em;
margin: 0;
}
.onboarding-modal .completion-summary,
.onboarding-modal .quick-start-section,
.onboarding-modal .next-steps-section,
.onboarding-modal .resources-section,
.onboarding-modal .feedback-section,
.onboarding-view .feedback-section {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-modal .config-summary-card,
.onboarding-view .config-summary-card {
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .config-header,
.onboarding-view .config-header {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-bottom: var(--size-2-1);
}
.onboarding-modal .config-icon,
.onboarding-view .config-icon {
font-size: 1.5em;
}
.onboarding-modal .config-name,
.onboarding-view .config-name {
font-size: 1.1em;
font-weight: 600;
color: var(--text-normal);
}
.onboarding-modal .config-description,
.onboarding-view .config-description {
color: var(--text-muted);
font-size: 0.9em;
margin: 0;
}
.onboarding-modal .quick-start-steps,
.onboarding-view .quick-start-steps {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.onboarding-modal .quick-start-step,
.onboarding-view .quick-start-step {
display: flex;
align-items: flex-start;
gap: var(--size-4-3);
padding: var(--size-4-2);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .step-number,
.onboarding-view .step-number {
background: var(--interactive-accent);
color: var(--text-on-accent);
width: 24px;
height: 24px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.8em;
font-weight: 600;
flex-shrink: 0;
}
.onboarding-modal .step-content,
.onboarding-view .step-content {
color: var(--text-normal);
font-size: 0.9em;
line-height: 1.4;
}
.onboarding-modal .next-steps-list,
.onboarding-view .next-steps-list {
list-style: none;
padding: 0;
margin: 0;
}
.onboarding-modal .next-steps-list li,
.onboarding-view .next-steps-list li {
display: flex;
align-items: flex-start;
gap: var(--size-4-2);
padding: var(--size-4-2);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
margin-bottom: var(--size-2-1);
}
.onboarding-modal .step-check,
.onboarding-view .step-check {
color: var(--interactive-accent);
font-weight: bold;
flex-shrink: 0;
}
.onboarding-modal .step-text,
.onboarding-view .step-text {
color: var(--text-normal);
font-size: 0.9em;
line-height: 1.4;
}
.onboarding-modal .resources-list,
.onboarding-view .resources-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--size-4-2);
}
.onboarding-modal .resource-item,
.onboarding-view .resource-item {
display: flex;
gap: var(--size-4-2);
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
transition: var(--onboarding-transition);
}
.onboarding-modal .resource-clickable,
.onboarding-view .resource-clickable {
cursor: pointer;
}
.onboarding-modal .resource-clickable:hover,
.onboarding-view .resource-clickable:hover {
background: var(--background-modifier-hover);
}
.onboarding-modal .resource-icon,
.onboarding-view .resource-icon {
font-size: 1.5em;
flex-shrink: 0;
}
.onboarding-modal .feedback-description,
.onboarding-view .feedback-description {
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.5;
margin: 0 0 var(--size-4-2) 0;
}
.onboarding-modal .feedback-buttons,
.onboarding-view .feedback-buttons {
display: flex;
gap: var(--size-4-2);
justify-content: center;
}
.onboarding-modal .feedback-button,
.onboarding-view .feedback-button {
background: var(--background-secondary);
border: none;
color: var(--text-normal);
padding: var(--size-4-2) var(--size-4-4);
border-radius: var(--button-radius);
cursor: pointer;
font-size: 0.9em;
transition: var(--onboarding-transition);
}
.onboarding-modal .feedback-positive:hover,
.onboarding-view .feedback-positive:hover {
background: var(--color-green);
color: white;
}
.onboarding-modal .feedback-negative:hover,
.onboarding-view .feedback-negative:hover {
background: var(--color-red);
color: white;
}
.onboarding-modal .feedback-thanks,
.onboarding-view .feedback-thanks {
text-align: center;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-modal .feedback-thanks-message,
.onboarding-view .feedback-thanks-message {
color: var(--text-normal);
font-size: 0.9em;
margin: 0 0 var(--size-4-2) 0;
}
.onboarding-modal .feedback-thanks a,
.onboarding-view .feedback-thanks a {
color: var(--interactive-accent);
text-decoration: none;
}
.onboarding-modal .feedback-thanks a:hover,
.onboarding-view .feedback-thanks a:hover {
text-decoration: underline;
}
.onboarding-modal .final-message,
.onboarding-view .final-message {
text-align: center;
padding: var(--size-4-4);
}
.onboarding-modal .final-message-text,
.onboarding-view .final-message-text {
color: var(--text-muted);
font-size: 1em;
font-style: italic;
margin: 0;
}
@media (max-width: 768px) {
.onboarding-modal,
.onboarding-view {
--dialog-width: 95vw;
--dialog-max-width: 95vw;
--dialog-max-height: 95vh;
}
.onboarding-modal .user-level-cards,
.onboarding-view .user-level-cards {
grid-template-columns: 1fr;
}
.onboarding-modal .features-overview,
.onboarding-view .features-overview {
grid-template-columns: 1fr;
}
.onboarding-modal .views-grid,
.onboarding-view .views-grid {
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
.onboarding-modal .resources-list,
.onboarding-view .resources-list {
grid-template-columns: 1fr;
}
.onboarding-modal .feedback-buttons,
.onboarding-view .feedback-buttons {
flex-direction: column;
}
.onboarding-modal .onboarding-buttons,
.onboarding-view .onboarding-buttons {
flex-wrap: wrap;
justify-content: center;
}
}
.onboarding-modal .onboarding-content,
.onboarding-view .onboarding-content {
animation: fadeInUp 0.3s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.onboarding-modal .user-level-card.selected,
.onboarding-view .user-level-card.selected {
animation: cardSelect 0.2s ease-out;
}
@keyframes cardSelect {
0% {
transform: scale(1);
}
50% {
transform: scale(1.02);
}
100% {
transform: scale(1);
}
}
/* src/styles/timeline-sidebar.css */
div[data-type^=tg-timeline-sidebar-view] .timeline-sidebar-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
background-color: var(--background-primary);
overflow: hidden;
font-family: var(--font-interface);
padding: 0 !important;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-3) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
background:
linear-gradient(
135deg,
var(--background-secondary) 0%,
var(--background-modifier-hover) 100%);
flex-shrink: 0;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-title {
font-weight: 600;
font-size: var(--font-ui-medium);
color: var(--text-normal);
display: flex;
align-items: center;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
display: flex;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-8);
height: var(--size-4-8);
border-radius: var(--radius-s);
cursor: pointer;
color: var(--text-muted);
background-color: transparent;
transition: all 0.2s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn:hover {
color: var(--text-normal);
background-color: var(--background-modifier-hover);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn.is-active {
color: var(--text-on-accent);
background-color: var(--interactive-accent);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2) 0;
position: relative;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group:not(.is-today) {
opacity: 0.3;
pointer-events: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-empty {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
text-align: center;
padding: var(--size-4-8);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group {
margin-bottom: var(--size-4-2);
position: relative;
border-radius: var(--radius-m);
transition: all 0.3s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today {
background-color: var(--background-secondary);
border-radius: var(--radius-m);
margin: 0 var(--size-4-2) var(--size-4-2);
padding: var(--size-4-2);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
border: 1px solid var(--interactive-accent);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--size-4-2) var(--size-4-4);
font-weight: 600;
font-size: var(--font-ui-small);
color: var(--text-accent);
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: var(--size-4-2);
position: sticky;
top: 0;
background-color: var(--background-primary);
z-index: 1;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today .timeline-date-header {
border-radius: var(--radius-s);
margin: 0 0 var(--size-4-2) 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-relative {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-weight: normal;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
display: flex;
flex-direction: column;
gap: var(--size-2-1);
padding: 0 var(--size-2-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
display: flex;
align-items: flex-start;
gap: var(--size-4-3);
padding: var(--size-4-3);
border-radius: var(--radius-m);
cursor: pointer;
position: relative;
border: 1px solid transparent;
margin-bottom: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover {
background-color: var(--background-modifier-hover);
border-color: var(--interactive-accent);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
transform: translateY(-1px);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover:has(.timeline-event-checkbox:hover) {
transform: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed {
opacity: 0.6;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed .timeline-event-text {
text-decoration: line-through;
color: var(--text-muted);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-family: var(--font-monospace);
min-width: 45px;
text-align: center;
margin-top: 2px;
flex-shrink: 0;
background-color: var(--background-modifier-border);
border-radius: var(--radius-s);
padding: var(--size-4-1) var(--size-4-2);
font-weight: 500;
position: relative;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-single {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-weight: 600;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range {
background:
linear-gradient(
135deg,
var(--interactive-accent) 0%,
var(--interactive-accent-hover) 100%);
color: var(--text-on-accent);
font-weight: 600;
min-width: 80px;
position: relative;
animation: subtle-pulse 2s ease-in-out infinite;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range::after {
content: "\23f1";
position: absolute;
top: -6px;
right: -6px;
font-size: 10px;
background-color: var(--background-primary);
border-radius: 999px;
min-width: 18px;
height: 16px;
padding: 0 4px;
display: inline-flex;
align-items: center;
justify-content: center;
border: 2px solid var(--interactive-accent);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
line-height: 1;
white-space: nowrap;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range[data-duration]::after {
content: attr(data-duration);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-default {
background-color: var(--background-modifier-border);
color: var(--text-muted);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-group {
background:
linear-gradient(
135deg,
var(--text-accent) 0%,
var(--interactive-accent) 100%);
color: var(--text-on-accent);
font-weight: 700;
min-width: 60px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-date-only {
background-color: var(--background-modifier-hover);
color: var(--text-muted);
font-style: italic;
min-width: 60px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group {
margin-bottom: var(--size-4-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-header {
display: flex;
align-items: center;
gap: var(--size-4-3);
padding: var(--size-4-2) var(--size-4-3);
background-color: var(--background-modifier-hover);
border-bottom: 1px solid var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-count {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-weight: 500;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-events {
padding: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped {
margin-bottom: var(--size-4-2);
padding: var(--size-4-2);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped:last-child {
margin-bottom: 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section {
margin-top: var(--size-4-4);
padding-top: var(--size-4-3);
border-top: 2px dashed var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section .timeline-event .timeline-event-time {
display: none !important;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-header {
display: flex;
align-items: center;
gap: var(--size-4-3);
margin-bottom: var(--size-4-3);
padding: var(--size-4-2) var(--size-4-3);
background-color: var(--background-modifier-hover);
border-radius: var(--radius-s);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-title {
font-size: var(--font-ui-small);
color: var(--text-muted);
font-weight: 500;
font-style: italic;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content {
flex: 1;
display: flex;
align-items: flex-start;
gap: var(--size-4-2);
min-width: 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox {
display: flex;
align-items: center;
margin-top: 2px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox input[type=checkbox] {
margin: 0;
cursor: pointer;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-text {
flex: 1;
font-size: var(--font-ui-small);
line-height: 1.4;
word-wrap: break-word;
color: var(--text-normal);
display: flex;
align-items: flex-start;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-icon {
font-size: var(--font-ui-medium);
flex-shrink: 0;
margin-top: 1px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text {
flex: 1;
word-break: break-word;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-actions {
display: flex;
gap: var(--size-4-1);
opacity: 0;
transition: opacity 0.2s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover .timeline-event-actions {
opacity: 1;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-6);
height: var(--size-4-6);
border-radius: var(--radius-s);
cursor: pointer;
color: var(--text-muted);
background-color: transparent;
transition: all 0.2s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
flex-shrink: 0;
border-top: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
padding: var(--size-4-4);
display: flex;
flex-direction: column;
gap: var(--size-4-3);
padding-bottom: var(--size-4-12);
position: relative;
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
padding: 0;
gap: 0;
height: auto;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-header,
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-editor,
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-actions {
display: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsing {
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-expanding {
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--size-4-3) var(--size-4-4);
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
cursor: pointer;
transition: background-color 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed:hover {
background-color: var(--background-modifier-hover);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-6);
height: var(--size-4-6);
border-radius: var(--radius-s);
color: var(--text-muted);
transition: all 200ms ease;
cursor: pointer;
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-title {
flex: 1;
font-weight: 600;
font-size: var(--font-ui-small);
color: var(--text-normal);
margin-left: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-actions {
display: flex;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-7);
height: var(--size-4-7);
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: all 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover,
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover {
color: var(--interactive-accent);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-left {
display: flex;
align-items: center;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-6);
height: var(--size-4-6);
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: all 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn svg {
transition: transform 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-collapse-btn svg {
transform: rotate(-90deg);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-title {
font-weight: 600;
font-size: var(--font-ui-small);
color: var(--text-normal);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-target-info {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-style: italic;
padding: var(--size-4-1) var(--size-4-2);
background-color: var(--background-modifier-hover);
border-radius: var(--radius-s);
word-break: break-all;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
min-height: 80px;
border: 2px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-primary);
padding: var(--size-4-3);
font-family: var(--font-text);
font-size: var(--font-ui-small);
resize: vertical;
transition: all 0.3s ease;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor:focus-within {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor {
background-color: transparent;
border: none;
outline: none;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-focused {
outline: none;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor.cm-focused {
outline: none;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-actions {
display: flex;
gap: var(--size-4-2);
justify-content: flex-end;
}
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn,
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
padding: var(--size-4-3) var(--size-4-6);
border-radius: var(--radius-m);
font-size: var(--font-ui-small);
font-weight: 500;
cursor: pointer;
border: none;
transition: all 0.3s ease;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn:hover {
background-color: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn:hover {
background-color: var(--background-modifier-border-hover);
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
@media (max-width: 768px) {
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
padding: var(--size-4-2) var(--size-4-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
gap: var(--size-4-1);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
width: var(--size-4-7);
height: var(--size-4-7);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
padding: 0 var(--size-2-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
padding: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
padding: var(--size-4-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
padding: 0;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
min-height: 60px;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
padding: var(--size-4-2) var(--size-4-3);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
width: var(--size-4-6);
height: var(--size-4-6);
}
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar {
width: 6px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-track {
background-color: var(--background-secondary);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb {
background-color: var(--background-modifier-border);
border-radius: 3px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb:hover {
background-color: var(--background-modifier-border-hover);
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes subtle-pulse {
0%, 100% {
box-shadow: 0 0 0 0 rgba(var(--interactive-accent-rgb), 0.4);
}
50% {
box-shadow: 0 0 0 4px rgba(var(--interactive-accent-rgb), 0.1);
}
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode {
position: relative;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
linear-gradient(
to bottom,
rgba(var(--background-primary-rgb), 0.9) 0%,
rgba(var(--background-primary-rgb), 0.7) 50%,
rgba(var(--background-primary-rgb), 0.9) 100%);
pointer-events: none;
z-index: 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group.is-today {
position: relative;
z-index: 1;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block {
margin: 0;
padding: 0;
font-size: inherit;
line-height: inherit;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block p {
margin: 0;
padding: 0;
font-size: inherit;
line-height: inherit;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block strong,
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block em,
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block code {
font-size: inherit;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a {
color: var(--link-color);
text-decoration: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a:hover {
text-decoration: underline;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ul,
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ol {
margin: 0;
padding-left: var(--size-4-4);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block li {
margin: 0;
padding: 0;
}
/* src/styles/reward.css */
.reward-modal-content {
text-align: center;
}
.reward-modal .modal-title {
text-align: center;
}
.reward-name {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 15px;
}
.reward-image-container {
margin-bottom: 20px;
display: flex;
justify-content: center;
align-items: center;
}
.reward-image {
max-width: 80%;
max-height: 300px;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.reward-image-error {
font-style: italic;
color: var(--text-muted);
}
.reward-spacer {
height: 20px;
}
.task-genius-reward-modal .setting-item-control {
display: flex;
justify-content: center;
gap: 10px;
}
/* src/styles/task-gutter.css */
.markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
margin-inline-end: 0 !important;
margin-inline-start: var(--file-folding-offset);
}
.is-mobile .markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
margin-inline-start: 0 !important;
}
.task-details-popover.tg-menu {
z-index: 20;
position: fixed;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: var(--size-4-3);
box-shadow: var(--shadow-l);
}
.task-gutter {
width: 26px;
}
.task-gutter-marker {
cursor: pointer;
font-size: var(--font-smaller);
opacity: 0.1;
transition: opacity 0.2s ease;
}
.task-gutter-marker:hover {
opacity: 1;
}
.task-popover-content {
padding: var(--size-4-3);
max-width: 300px;
max-height: 400px;
overflow: auto;
}
.task-metadata-editor {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
padding: var(--size-2-2);
height: 100%;
}
.field-container {
display: flex;
flex-direction: column;
margin-bottom: var(--size-2-2);
}
.field-label {
font-size: var(--font-smallest);
font-weight: var(--font-bold);
margin-bottom: var(--size-2-1);
color: var(--text-muted);
}
.action-buttons {
display: flex;
justify-content: space-between;
margin-top: var(--size-4-2);
gap: var(--size-4-2);
}
.action-button {
padding: var(--size-2-2) var(--size-4-2);
font-size: var(--font-smallest);
border-radius: var(--radius-s);
cursor: pointer;
}
.task-gutter-marker.clickable-icon {
width: 24px;
padding: var(--size-2-1);
display: flex;
justify-content: center;
align-items: center;
}
.task-details-popover .tabs-main-container {
display: flex;
flex-direction: column;
width: 100%;
}
.task-details-popover .tabs-navigation {
display: flex;
margin-bottom: var(--size-4-2);
gap: var(--size-4-2);
}
.task-details-popover .tab-button {
padding: var(--size-2-2) var(--size-4-2);
cursor: pointer;
border: none;
background: none;
font-size: var(--font-ui-small);
color: var(--text-muted);
margin-bottom: -1px;
transition: color 0.2s ease, border-color 0.2s ease;
}
.task-details-popover .tab-button:hover {
color: var(--text-normal);
}
.task-details-popover .tab-button.active {
color: var(--text-on-accent);
font-weight: var(--font-bold);
background-color: var(--interactive-accent);
}
.task-details-popover .tab-pane {
display: none;
flex-direction: column;
gap: var(--size-4-2);
}
.task-details-popover .tab-pane.active {
display: flex;
}
.task-details-popover .details-status-selector,
.task-status-editor .details-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: var(--size-4-2);
margin-top: var(--size-4-2);
}
.task-details-popover .quick-capture-status-selector,
.task-status-editor .quick-capture-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
gap: var(--size-4-3);
}
.task-details-popover .quick-capture-status-selector-label,
.task-status-editor .quick-capture-status-selector-label {
display: none;
}
.modal-content.task-metadata-editor {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.metadata-full-container {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.metadata-full-container .dates-container {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
/* src/styles/base-view.css */
.internal-embed .task-genius-container {
max-height: 800px;
}
.internal-embed .task-genius-container .task-sidebar {
width: 44px;
min-width: 44px;
overflow: hidden;
}
.internal-embed .task-genius-container .task-sidebar .sidebar-nav-item {
padding: 8px 10px;
justify-content: center;
width: var(--size-4-9);
flex-shrink: 0;
transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out;
}
.internal-embed .task-genius-container .task-sidebar .sidebar-nav {
align-items: center;
}
.internal-embed .task-genius-container .task-sidebar .sidebar-nav-item {
padding: 8px 10px;
justify-content: center;
width: var(--size-4-9);
flex-shrink: 0;
transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out;
}
.internal-embed .task-genius-container .task-sidebar .nav-item-icon {
margin-right: 0;
}
.internal-embed .task-genius-container .task-list {
max-height: 800px;
}
.internal-embed .projects-container {
flex: 1;
height: auto;
}
.internal-embed .forecast-left-column {
width: 240px;
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 1px;
padding: 0 5px;
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header {
text-align: center;
font-size: 0.7em;
color: var(--text-muted);
padding: 3px 0;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 3px;
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header.calendar-weekend {
color: var(--text-accent);
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day {
aspect-ratio: 1;
border-radius: 3px;
padding: 1px;
cursor: pointer;
position: relative;
display: flex;
flex-direction: column;
transition: background-color 0.2s ease;
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day:hover {
background-color: var(--background-modifier-hover);
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.selected {
background-color: var(--background-modifier-border-hover);
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.today {
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.past-due {
color: var(--text-error);
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.other-month {
opacity: 0.5;
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-number {
text-align: center;
font-size: 0.75em;
font-weight: 500;
padding: 1px;
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count {
background-color: var(--background-modifier-border);
color: var(--text-normal);
border-radius: 8px;
font-size: 0.6em;
padding: 1px 3px;
margin: 1px auto;
text-align: center;
width: fit-content;
}
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count.has-priority {
background-color: var(--text-accent);
color: var(--text-on-accent);
}
.internal-embed .tags-container {
height: auto;
max-height: 100%;
}
.internal-embed .task-genius-container:has(.task-details.visible) .tags-left-column {
display: none;
}
.internal-embed .task-genius-container:has(.task-details.visible) .projects-left-column {
display: none;
}
.internal-embed .full-calendar-container {
height: auto;
}
.internal-embed .tg-kanban-view {
height: auto;
}
.bases-view.task-genius-container {
border-top: unset;
}
.bases-update-error-notification {
position: fixed;
top: 20px;
right: 20px;
background: var(--background-modifier-error);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
padding: 12px 16px;
max-width: 400px;
box-shadow: var(--shadow-s);
z-index: 1000;
cursor: pointer;
animation: slideInRight 0.3s ease-out;
}
.bases-update-error-notification:hover {
opacity: 0.8;
}
.bases-update-error-notification .error-icon {
font-size: 16px;
margin-bottom: 8px;
}
.bases-update-error-notification .error-message .error-title {
font-weight: 600;
color: var(--text-error);
margin-bottom: 4px;
}
.bases-update-error-notification .error-message .error-details {
font-size: 12px;
color: var(--text-muted);
line-height: 1.4;
}
@keyframes slideInRight {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* src/experimental/v2/styles/v2.css */
.task-genius-v2-view {
height: 100%;
overflow: hidden;
padding: 0;
}
.tg-v2-container {
height: 100%;
display: flex;
flex-direction: row;
border: 1px solid var(--background-modifier-border);
}
.view-content.task-genius-v2-view {
padding: 0;
}
.tg-v2-layout {
display: flex;
height: 100%;
width: 100%;
overflow: hidden;
}
.tg-v2-sidebar-container {
width: 260px;
min-width: 200px;
max-width: 400px;
background-color: var(--background-secondary);
border-right: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
overflow: hidden;
}
.v2-sidebar {
height: 100%;
display: flex;
flex-direction: column;
}
.v2-sidebar-header {
padding: 12px;
border-bottom: 1px solid var(--background-modifier-border);
}
.workspace-selector-button {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 8px;
background: transparent;
border: none;
border-radius: 6px;
cursor: pointer;
transition: background-color 0.15s;
}
.workspace-selector-button:hover {
background-color: var(--background-modifier-hover);
}
.workspace-info {
display: flex;
align-items: center;
gap: 12px;
}
.workspace-icon {
width: 32px;
height: 32px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
color: white;
}
.workspace-icon svg {
width: 16px;
height: 16px;
}
.workspace-details {
text-align: left;
}
.workspace-name {
font-weight: 500;
color: var(--text-normal);
}
.workspace-label {
font-size: 12px;
color: var(--text-muted);
}
.workspace-dropdown-icon {
color: var(--text-muted);
}
.v2-new-task-btn {
width: 100%;
margin-top: 12px;
padding: 10px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 6px;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
cursor: pointer;
transition: background-color 0.15s;
}
.v2-new-task-btn:hover {
background-color: var(--interactive-accent-hover);
}
.v2-new-task-icon {
display: flex;
}
.v2-sidebar-content {
flex: 1;
overflow-y: auto;
padding: 8px 0;
--icon-size: 16px;
}
.v2-sidebar-section {
padding: 8px 0;
}
.v2-sidebar-section + .v2-sidebar-section {
border-top: 1px solid var(--background-modifier-border);
}
.v2-section-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 4px 16px;
margin-bottom: 4px;
}
.v2-section-header span {
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
color: var(--text-muted);
}
.v2-project-header-buttons {
display: flex;
align-items: center;
gap: 8px;
}
.v2-add-project-btn,
.v2-sort-project-btn,
.v2-tree-toggle-btn {
cursor: pointer;
color: var(--text-muted);
transition: color 0.15s;
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
}
.v2-add-project-btn:hover,
.v2-sort-project-btn:hover,
.v2-tree-toggle-btn:hover {
color: var(--text-normal);
}
.v2-navigation-list {
padding: 0 8px;
}
.v2-navigation-item {
display: flex;
align-items: center;
gap: 12px;
padding: 6px 8px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.15s;
position: relative;
}
.v2-navigation-item:hover {
background-color: var(--background-modifier-hover);
}
.v2-navigation-item.is-active {
background-color: var(--background-modifier-active-hover);
}
.v2-navigation-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
}
.v2-navigation-item.is-active .v2-navigation-icon {
color: var(--text-normal);
}
.v2-navigation-label {
flex: 1;
font-size: 14px;
color: var(--text-normal);
}
.v2-navigation-badge {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-size: 11px;
font-weight: 600;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.v2-project-scroll {
max-height: 300px;
overflow-y: auto;
padding: 0 8px;
}
.v2-project-item {
display: flex;
align-items: center;
gap: 10px;
padding: 6px 8px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.15s;
}
.v2-project-item:hover {
background-color: var(--background-modifier-hover);
}
.v2-project-item.is-active {
background-color: var(--background-modifier-active-hover);
}
.v2-project-color {
width: 12px;
height: 12px;
border-radius: 3px;
flex-shrink: 0;
}
.v2-project-color-dashed {
width: 12px;
height: 12px;
border: 1.5px dashed var(--text-muted);
border-radius: 3px;
}
.v2-project-name {
flex: 1;
font-size: 14px;
color: var(--text-normal);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.v2-add-project .v2-project-name {
color: var(--text-muted);
}
.v2-project-count {
font-size: 12px;
color: var(--text-muted);
}
.v2-project-list.is-tree-view .v2-project-item {
transition: all 0.15s ease;
}
.v2-project-chevron {
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
margin-right: 4px;
cursor: pointer;
color: var(--text-muted);
transition: transform 0.15s ease;
flex-shrink: 0;
}
.v2-project-chevron:hover {
color: var(--text-normal);
}
.v2-project-chevron svg {
width: 12px;
height: 12px;
}
.v2-project-chevron-spacer {
width: 16px;
height: 16px;
margin-right: 4px;
flex-shrink: 0;
}
.v2-project-list.is-tree-view .v2-project-item[data-level="1"] {
padding-left: 28px;
}
.v2-project-list.is-tree-view .v2-project-item[data-level="2"] {
padding-left: 48px;
}
.v2-project-list.is-tree-view .v2-project-item[data-level="3"] {
padding-left: 68px;
}
.v2-project-list.is-tree-view .v2-project-item::before {
content: "";
position: absolute;
left: 8px;
top: 0;
bottom: 0;
width: 1px;
background: var(--background-modifier-border);
opacity: 0;
transition: opacity 0.15s;
}
.v2-project-list.is-tree-view .v2-project-item[data-level]:not([data-level="0"]):hover::before {
opacity: 0.3;
}
.v2-project-item.is-virtual .v2-project-name {
font-style: italic;
opacity: 0.85;
}
.v2-project-item.is-virtual .v2-project-color {
opacity: 0.6;
}
.v2-project-item.is-virtual:hover {
background-color: var(--background-modifier-hover);
}
.tg-v2-main-container {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.tg-v2-top-nav {
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
}
.v2-top-navigation {
display: flex;
align-items: center;
justify-content: space-between;
height: 56px;
padding: 0 20px;
gap: 20px;
}
.v2-nav-left {
flex: 0 1 400px;
}
.v2-search-container {
position: relative;
display: flex;
align-items: center;
max-width: 400px;
flex: 1;
}
.v2-nav-center {
display: flex;
align-items: center;
gap: 12px;
}
.v2-view-tabs {
display: flex;
background-color: var(--background-secondary);
border-radius: 6px;
padding: 2px;
}
.v2-view-tab {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: none;
border: none;
border-radius: 4px;
font-size: 14px;
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s;
}
.v2-view-tab:hover {
color: var(--text-normal);
}
.v2-view-tab.is-active {
background-color: var(--background-primary);
color: var(--text-normal);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.v2-view-tab-icon {
width: 16px;
height: 16px;
display: flex;
align-items: center;
}
.v2-nav-separator {
width: 1px;
height: 24px;
background-color: var(--background-modifier-border);
}
.v2-nav-button {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: none;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 14px;
color: var(--text-normal);
cursor: pointer;
transition: all 0.15s;
}
.v2-nav-button:hover {
background-color: var(--background-modifier-hover);
}
.v2-nav-button-icon {
width: 16px;
height: 16px;
display: flex;
}
.v2-nav-right {
display: flex;
align-items: center;
gap: 12px;
}
.v2-nav-icon-button {
position: relative;
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 6px;
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s;
}
.v2-nav-icon-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-notification-badge {
position: absolute;
top: -2px;
right: -2px;
background-color: var(--text-error);
color: white;
font-size: 10px;
font-weight: 600;
padding: 2px 5px;
border-radius: 10px;
min-width: 16px;
text-align: center;
}
.tg-v2-content {
flex: 1;
overflow: auto;
}
.tg-v2-content .content-header,
.tg-v2-content .tg-kanban-filters {
display: none;
}
.tg-v2-list-view,
.tg-v2-kanban-view,
.tg-v2-tree-view,
.tg-v2-calendar-view {
height: 100%;
}
@media (max-width: 768px) {
.tg-v2-sidebar-container:not(.is-mobile-drawer) {
width: 200px;
}
.v2-nav-center {
display: none;
}
.v2-search-container {
flex: 1;
}
.v2-nav-left .search-input-container {
width: 300px;
}
}
@media (max-width: 480px) {
.tg-v2-sidebar-container.is-mobile-drawer {
width: 75vw !important;
max-width: 320px !important;
}
.v2-hamburger-button {
width: 44px;
height: 44px;
}
.v2-top-navigation {
padding: 0 12px;
}
.v2-view-tabs {
display: none;
}
.v2-search-container {
flex: 1;
max-width: calc(100vw - 180px);
}
}
.tg-v2-sidebar-container {
transition:
width 0.2s ease,
min-width 0.2s ease,
max-width 0.2s ease;
}
.tg-v2-sidebar-container.is-collapsed,
.v2-sidebar-collapsed .tg-v2-sidebar-container {
width: 44px;
min-width: 44px;
max-width: 44px;
}
.v2-sidebar-rail {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 8px 4px;
}
.v2-rail-btn {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: background-color 0.15s ease, color 0.15s ease;
}
.v2-rail-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-rail-btn svg {
width: 16px;
height: 16px;
}
.v2-rail-btn.is-active {
background-color: var(--background-modifier-active-hover);
color: var(--text-normal);
}
.tg-beta {
position: relative;
}
.tg-beta::after {
content: "beta";
font-size: 0.44em;
background: var(--color-accent);
color: var(--text-on-accent-inverted);
padding-left: 2px;
padding-right: 2px;
font-weight: bold;
margin-left: 4px;
position: absolute;
top: -1px;
right: -2px;
border-radius: 2px;
text-transform: uppercase;
padding-top: 1px;
}
.drawer-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
}
.drawer-open .drawer-overlay {
opacity: 1;
pointer-events: auto;
}
.tg-v2-sidebar-container.is-mobile-drawer {
position: fixed;
top: 0;
left: 0;
bottom: 0;
width: 280px !important;
max-width: 85vw !important;
min-width: 280px !important;
z-index: 1000;
transform: translateX(-100%);
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
}
.drawer-open .tg-v2-sidebar-container.is-mobile-drawer {
transform: translateX(0);
}
.tg-v2-sidebar-container.is-mobile-drawer .v2-sidebar.is-collapsed {
display: flex;
width: 100%;
}
.tg-v2-sidebar-container.is-mobile-drawer .v2-sidebar-rail {
display: none;
}
.is-mobile .v2-sidebar {
width: 100%;
overflow-y: auto;
overflow-x: hidden;
}
.is-mobile .v2-sidebar-header {
padding: 16px;
border-bottom: 1px solid var(--background-modifier-border);
}
.is-mobile .v2-sidebar-content {
overflow-y: auto;
max-height: calc(100vh - 150px);
}
.is-mobile .v2-sidebar-section {
display: block !important;
visibility: visible !important;
}
.is-mobile .v2-section-header {
display: flex !important;
visibility: visible !important;
}
.is-mobile .v2-navigation-item,
.is-mobile .v2-project-item {
padding: 10px 16px;
font-size: 15px;
}
.is-mobile .v2-new-task-btn {
padding: 12px;
font-size: 15px;
}
.is-mobile .v2-navigation-list {
display: flex;
justify-content: center;
}
.is-mobile span.v2-navigation-label {
display: none;
}
.is-mobile .v2-navigation-item,
.is-mobile .v2-project-item,
.is-mobile .v2-add-project {
min-height: 44px;
}
.drawer-open .tg-v2-main-container {
pointer-events: none;
}
.v2-hamburger-button {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 4px;
color: var(--text-muted);
cursor: pointer;
transition: background-color 0.15s ease, color 0.15s ease;
margin-right: 8px;
flex-shrink: 0;
}
.v2-hamburger-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-hamburger-button svg {
width: 20px;
height: 20px;
}
.v2-nav-left {
display: flex;
align-items: center;
gap: 8px;
}
.tg-v2-sidebar-container.is-mobile-drawer ~ .tg-v2-main-container .sidebar-toggle {
display: none !important;
}
.tg-v2-sidebar-container.is-mobile-drawer.drawer-right {
left: auto;
right: 0;
transform: translateX(100%);
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
}
.drawer-open .tg-v2-sidebar-container.is-mobile-drawer.drawer-right {
transform: translateX(0);
}
@keyframes slideInFromLeft {
from {
transform: translateX(-100%);
opacity: 0.8;
}
to {
transform: translateX(0);
opacity: 1;
}
}
@keyframes slideInFromRight {
from {
transform: translateX(100%);
opacity: 0.8;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* src/experimental/v2/styles/v2-enhanced.css */
:root {
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
--tg-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-radius-sm: 0.25rem;
--tg-radius: 0.375rem;
--tg-radius-md: 0.5rem;
--tg-radius-lg: 0.75rem;
--tg-radius-full: 9999px;
}
.task-list-container {
height: 100%;
overflow-y: auto;
padding: 1.5rem;
animation: fadeIn var(--tg-transition-base);
}
.task-list-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.task-list-item {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-md);
margin-bottom: 0.75rem;
padding: 1rem 1.25rem;
transition: all var(--tg-transition-fast);
position: relative;
overflow: hidden;
}
.task-list-item::before {
content: "";
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: transparent;
transition: background var(--tg-transition-fast);
}
.task-list-item:hover {
box-shadow: var(--tg-shadow);
transform: translateY(-1px);
border-color: var(--interactive-accent);
}
.task-list-item:hover::before {
background: var(--interactive-accent);
}
.task-list-item.is-completed {
opacity: 0.6;
background: var(--background-secondary);
}
.task-list-item.is-overdue::before {
background: var(--text-error);
}
.task-list-empty {
text-align: center;
padding: 3rem 1.5rem;
color: var(--text-muted);
font-size: 0.9rem;
}
.task-tree-container {
height: 100%;
overflow-y: auto;
padding: 1.5rem;
animation: fadeIn var(--tg-transition-base);
}
.task-tree-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.task-tree-project {
margin-bottom: 1.5rem;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-lg);
overflow: hidden;
transition: all var(--tg-transition-base);
}
.task-tree-project:hover {
box-shadow: var(--tg-shadow-md);
}
.task-tree-project-header {
padding: 1rem 1.25rem;
background: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
font-weight: 600;
font-size: 0.95rem;
color: var(--text-normal);
display: flex;
align-items: center;
justify-content: space-between;
cursor: pointer;
transition: background var(--tg-transition-fast);
}
.task-tree-project-header:hover {
background: var(--background-modifier-hover);
}
.task-tree-project-header::before {
content: "\25b6";
display: inline-block;
margin-right: 0.5rem;
transition: transform var(--tg-transition-fast);
font-size: 0.75rem;
}
.task-tree-project.is-expanded .task-tree-project-header::before {
transform: rotate(90deg);
}
.task-tree-tasks {
padding: 0.5rem;
}
.task-tree-item {
padding: 0.75rem 1rem;
margin: 0.25rem;
border-radius: var(--tg-radius);
transition: all var(--tg-transition-fast);
position: relative;
padding-left: 2rem;
}
.task-tree-item::before {
content: "";
position: absolute;
left: 1rem;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 4px;
background: var(--text-muted);
border-radius: var(--tg-radius-full);
}
.task-tree-item:hover {
background: var(--background-modifier-hover);
}
.task-tree-empty {
text-align: center;
padding: 3rem 1.5rem;
color: var(--text-muted);
font-size: 0.9rem;
}
.tg-v2-filter-panel {
position: fixed;
right: -380px;
top: 0;
bottom: 0;
width: 380px;
background: var(--background-primary);
border-left: 1px solid var(--background-modifier-border);
box-shadow: var(--tg-shadow-xl);
transition: right var(--tg-transition-slow);
z-index: 1000;
overflow-y: auto;
display: flex;
flex-direction: column;
}
.tg-v2-filter-panel.is-open {
right: 0;
}
.filter-panel-header {
padding: 1.25rem;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
align-items: center;
justify-content: space-between;
}
.filter-panel-title {
font-size: 1.1rem;
font-weight: 600;
color: var(--text-normal);
}
.filter-panel-close {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--tg-radius);
cursor: pointer;
transition: background var(--tg-transition-fast);
color: var(--text-muted);
}
.filter-panel-close:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.filter-panel-content {
padding: 1.25rem;
}
.filter-group {
margin-bottom: 1.5rem;
}
.filter-group-label {
font-size: 0.875rem;
font-weight: 500;
color: var(--text-muted);
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.025em;
}
.filter-options {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.filter-option {
display: flex;
align-items: center;
padding: 0.5rem 0.75rem;
border-radius: var(--tg-radius);
cursor: pointer;
transition: background var(--tg-transition-fast);
}
.filter-option:hover {
background: var(--background-modifier-hover);
}
.filter-option.is-selected {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.filter-checkbox {
margin-right: 0.75rem;
}
.filter-select {
width: 100%;
padding: 0.5rem 0.75rem;
background: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius);
color: var(--text-normal);
font-size: 0.875rem;
transition: all var(--tg-transition-fast);
cursor: pointer;
}
.filter-select:hover {
border-color: var(--interactive-accent);
}
.filter-select:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.filter-tags-container {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
padding: 0.5rem 0;
}
.filter-tag {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.375rem 0.75rem;
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-full);
font-size: 0.875rem;
cursor: pointer;
transition: all var(--tg-transition-fast);
}
.filter-tag:hover {
background: var(--background-modifier-hover);
}
.filter-tag.is-selected {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.filter-date-container {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.filter-date-field {
display: flex;
align-items: center;
gap: 0.5rem;
}
.filter-date-field span {
min-width: 50px;
font-size: 0.875rem;
color: var(--text-muted);
}
.filter-date-input {
flex: 1;
padding: 0.5rem 0.75rem;
background: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius);
color: var(--text-normal);
font-size: 0.875rem;
transition: all var(--tg-transition-fast);
}
.filter-date-input:hover {
border-color: var(--interactive-accent);
}
.filter-date-input:focus {
outline: none;
border-color: var(--interactive-accent);
}
.filter-action-buttons {
display: flex;
gap: 0.75rem;
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--background-modifier-border);
}
.filter-action-buttons button {
flex: 1;
}
.priority-color-dot {
width: 12px;
height: 12px;
border-radius: var(--tg-radius-full);
flex-shrink: 0;
}
.tg-v2-loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
gap: 1rem;
}
.tg-v2-spinner {
width: 32px;
height: 32px;
border: 3px solid var(--background-modifier-border);
border-top-color: var(--interactive-accent);
border-radius: var(--tg-radius-full);
animation: spin 1s linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
.tg-v2-loading-text {
color: var(--text-muted);
font-size: 0.9rem;
}
.tg-v2-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
padding: 2rem;
text-align: center;
}
.tg-v2-empty-icon {
width: 64px;
height: 64px;
margin-bottom: 1rem;
color: var(--text-muted);
opacity: 0.5;
}
.tg-v2-empty-title {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-normal);
margin-bottom: 0.5rem;
}
.tg-v2-empty-description {
color: var(--text-muted);
margin-bottom: 1.5rem;
max-width: 400px;
}
.tg-v2-empty-action {
padding: 0.75rem 1.5rem;
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--tg-radius-md);
font-weight: 500;
cursor: pointer;
transition: all var(--tg-transition-fast);
}
.tg-v2-empty-action:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
.tg-v2-tooltip {
position: absolute;
background: var(--background-secondary);
color: var(--text-normal);
padding: 0.5rem 0.75rem;
border-radius: var(--tg-radius);
font-size: 0.875rem;
box-shadow: var(--tg-shadow-lg);
z-index: 9999;
pointer-events: none;
opacity: 0;
transform: translateY(4px);
transition: all var(--tg-transition-fast);
}
.tg-v2-tooltip.is-visible {
opacity: 1;
transform: translateY(0);
}
.tg-v2-card {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-lg);
padding: 1.25rem;
margin-bottom: 1rem;
transition: all var(--tg-transition-base);
}
.tg-v2-card:hover {
box-shadow: var(--tg-shadow-md);
border-color: var(--interactive-accent);
}
.tg-v2-card-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1rem;
padding-bottom: 0.75rem;
border-bottom: 1px solid var(--background-modifier-border);
}
.tg-v2-card-title {
font-size: 1rem;
font-weight: 600;
color: var(--text-normal);
}
.tg-v2-card-actions {
display: flex;
gap: 0.5rem;
}
.tg-v2-card-action {
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--tg-radius);
cursor: pointer;
transition: all var(--tg-transition-fast);
color: var(--text-muted);
}
.tg-v2-card-action:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-v2-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.625rem 1.25rem;
font-size: 0.875rem;
font-weight: 500;
border-radius: var(--tg-radius-md);
border: none;
cursor: pointer;
transition: all var(--tg-transition-fast);
position: relative;
overflow: hidden;
}
.tg-v2-button::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: var(--tg-radius-full);
background: rgba(255, 255, 255, 0.2);
transform: translate(-50%, -50%);
transition: width var(--tg-transition-slow), height var(--tg-transition-slow);
}
.tg-v2-button:active::before {
width: 300px;
height: 300px;
}
.tg-v2-button-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.tg-v2-button-primary:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
.tg-v2-button-secondary {
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
}
.tg-v2-button-secondary:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.tg-v2-button-ghost {
background: transparent;
color: var(--text-normal);
}
.tg-v2-button-ghost:hover {
background: var(--background-modifier-hover);
}
.tg-v2-button-danger {
background: var(--text-error);
color: white;
}
.tg-v2-button-danger:hover {
background: #dc2626;
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(4px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideIn {
from {
transform: translateX(100%);
}
to {
transform: translateX(0);
}
}
@keyframes slideUp {
from {
transform: translateY(100%);
}
to {
transform: translateY(0);
}
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
@media (max-width: 1024px) {
.task-list-container,
.task-tree-container {
padding: 1rem;
}
.tg-v2-filter-panel {
width: 100%;
right: -100%;
}
}
@media (max-width: 640px) {
.task-list-item {
padding: 0.75rem 1rem;
}
.task-tree-project-header {
padding: 0.75rem 1rem;
}
.tg-v2-card {
padding: 1rem;
}
}
.theme-dark {
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.3);
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);
}
.theme-dark .tg-v2-card:hover,
.theme-dark .task-list-item:hover,
.theme-dark .task-tree-project:hover {
box-shadow: 0 0 0 1px var(--interactive-accent), var(--tg-shadow-md);
}
.tg-v2-progress {
width: 100%;
height: 6px;
background: var(--background-modifier-border);
border-radius: var(--tg-radius-full);
overflow: hidden;
margin: 0.5rem 0;
}
.tg-v2-progress-bar {
height: 100%;
background: var(--interactive-accent);
border-radius: var(--tg-radius-full);
transition: width var(--tg-transition-slow);
position: relative;
overflow: hidden;
}
.tg-v2-progress-bar::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.3),
transparent);
animation: shimmer 2s infinite;
}
@keyframes shimmer {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}
.tg-v2-tag {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.625rem;
font-size: 0.75rem;
font-weight: 500;
border-radius: var(--tg-radius-full);
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
margin-right: 0.25rem;
transition: all var(--tg-transition-fast);
}
.tg-v2-tag:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.tg-v2-tag-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.tg-v2-tag-success {
background: #10b981;
color: white;
border-color: #10b981;
}
.tg-v2-tag-warning {
background: #f59e0b;
color: white;
border-color: #f59e0b;
}
.tg-v2-tag-danger {
background: var(--text-error);
color: white;
border-color: var(--text-error);
}
.workspace-name-with-icon {
display: flex;
align-items: center;
justify-content: flex-start;
gap: var(--size-2-2);
}
/* src/experimental/v2/styles/v2-content-header.css */
.tg-v2-content-wrapper {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
}
.v2-content-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 20px;
background: var(--background-primary);
border-bottom: 1px solid var(--background-modifier-border);
min-height: 56px;
gap: 16px;
flex-shrink: 0;
}
.v2-content-header .header-left-section {
display: flex;
align-items: center;
gap: 12px;
min-width: 200px;
}
.v2-content-header .content-title {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-normal);
white-space: nowrap;
}
.v2-content-header .task-count {
font-size: 0.875rem;
color: var(--text-muted);
padding: 2px 8px;
background: var(--background-secondary);
border-radius: 4px;
white-space: nowrap;
}
.v2-content-header .header-center-section {
flex: 1;
display: flex;
justify-content: center;
max-width: 500px;
margin: 0 auto;
}
.v2-content-header .content-filter {
width: 100%;
}
.v2-content-header .filter-input {
width: 100%;
padding: 6px 12px;
background: var(--background-primary-alt);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 0.875rem;
color: var(--text-normal);
transition: all 0.2s ease;
}
.v2-content-header .filter-input::placeholder {
color: var(--text-muted);
}
.v2-content-header .filter-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
.v2-content-header .header-right-section {
display: flex;
align-items: center;
gap: 8px;
}
.v2-content-header .view-toggle-btn,
.v2-content-header .sort-button,
.v2-content-header .filter-button {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 6px;
background: transparent;
color: var(--text-muted);
cursor: pointer;
transition: all 0.2s ease;
}
.v2-content-header .view-toggle-btn:hover,
.v2-content-header .sort-button:hover,
.v2-content-header .filter-button:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-content-header .view-toggle-btn:active,
.v2-content-header .sort-button:active,
.v2-content-header .filter-button:active {
transform: scale(0.95);
}
.v2-content-header .view-toggle-btn svg,
.v2-content-header .sort-button svg,
.v2-content-header .filter-button svg {
width: 16px;
height: 16px;
}
.tg-v2-content {
flex: 1;
overflow-y: auto;
background: var(--background-primary);
}
@media (max-width: 768px) {
.v2-content-header {
flex-wrap: wrap;
padding: 8px 12px;
}
.v2-content-header .header-left-section {
min-width: auto;
}
.v2-content-header .header-center-section {
order: 3;
width: 100%;
max-width: none;
margin-top: 8px;
}
.v2-content-header .content-title {
font-size: 1.1rem;
}
}
/* src/styles/v2-project-popover.css */
.v2-project-popover-container {
position: absolute;
z-index: 1000;
}
.v2-project-popover {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
min-width: 320px;
max-width: 400px;
animation: popover-fade-in 0.2s ease-out;
}
@keyframes popover-fade-in {
from {
opacity: 0;
transform: translateY(-8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.v2-popover-arrow,
.v2-popover-arrow::before {
position: absolute;
width: 10px;
height: 10px;
background: inherit;
}
.v2-popover-arrow {
visibility: hidden;
}
.v2-popover-arrow::before {
visibility: visible;
content: "";
transform: rotate(45deg);
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
}
.v2-project-popover[data-popper-placement^=top] .v2-popover-arrow {
bottom: -5px;
}
.v2-project-popover[data-popper-placement^=top] .v2-popover-arrow::before {
border-top: none;
border-left: none;
}
.v2-project-popover[data-popper-placement^=bottom] .v2-popover-arrow {
top: -5px;
}
.v2-project-popover[data-popper-placement^=bottom] .v2-popover-arrow::before {
border-right: none;
border-bottom: none;
}
.v2-project-popover[data-popper-placement^=left] .v2-popover-arrow {
right: -5px;
}
.v2-project-popover[data-popper-placement^=left] .v2-popover-arrow::before {
border-bottom: none;
border-left: none;
}
.v2-project-popover[data-popper-placement^=right] .v2-popover-arrow {
left: -5px;
}
.v2-project-popover[data-popper-placement^=right] .v2-popover-arrow::before {
border-top: none;
border-right: none;
}
.v2-popover-content {
padding: 16px;
}
.v2-popover-header {
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid var(--background-modifier-border);
}
.v2-popover-header h3 {
margin: 0;
font-size: 16px;
font-weight: 600;
color: var(--text-normal);
}
.v2-popover-section {
margin-bottom: 16px;
}
.v2-popover-section label {
display: block;
margin-bottom: 8px;
font-size: 12px;
font-weight: 500;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.v2-popover-input {
width: 100%;
padding: 8px 12px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
font-size: 14px;
color: var(--text-normal);
transition: all 0.2s;
}
.v2-popover-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.v2-popover-input.is-error {
border-color: var(--text-error);
animation: shake 0.3s;
}
@keyframes shake {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-4px);
}
75% {
transform: translateX(4px);
}
}
.v2-color-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 8px;
}
.v2-color-button {
width: 36px;
height: 36px;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s;
border: 2px solid transparent;
position: relative;
}
.v2-color-button:hover {
transform: scale(1.1);
}
.v2-color-button.is-selected {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.v2-color-button.is-selected::after {
content: "\2713";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 16px;
font-weight: bold;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.v2-popover-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 20px;
padding-top: 16px;
border-top: 1px solid var(--background-modifier-border);
}
.v2-button {
padding: 6px 16px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
border: none;
outline: none;
}
.v2-button-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.v2-button-primary:hover {
background: var(--interactive-accent-hover);
}
.v2-button-secondary {
background: transparent;
color: var(--text-muted);
border: 1px solid var(--background-modifier-border);
}
.v2-button-secondary:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-project-modal {
}
.v2-project-modal .modal-content h2 {
margin-bottom: 20px;
font-size: 20px;
font-weight: 600;
color: var(--text-normal);
}
.v2-modal-section {
margin-bottom: 24px;
}
.v2-modal-section label {
display: block;
margin-bottom: 8px;
font-size: 14px;
font-weight: 500;
color: var(--text-muted);
}
.v2-modal-input {
width: 100%;
padding: 10px 14px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 16px;
color: var(--text-normal);
transition: all 0.2s;
}
.v2-modal-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
.v2-modal-input.is-error {
border-color: var(--text-error);
animation: shake 0.3s;
}
.v2-modal-color-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 12px;
}
.v2-modal-color-button {
width: 48px;
height: 48px;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s;
border: 3px solid transparent;
position: relative;
}
.v2-modal-color-button:hover {
transform: scale(1.1);
}
.v2-modal-color-button.is-selected {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
.v2-modal-color-button.is-selected::after {
content: "\2713";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 20px;
font-weight: bold;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.v2-modal-preview {
padding: 12px;
background: var(--background-secondary);
border-radius: 8px;
}
.v2-project-item-preview {
display: flex;
align-items: center;
gap: 12px;
padding: 8px;
background: var(--background-primary);
border-radius: 6px;
}
.v2-project-item-preview .v2-project-color {
width: 8px;
height: 32px;
border-radius: 2px;
flex-shrink: 0;
}
.v2-project-item-preview .v2-project-name {
font-size: 14px;
font-weight: 500;
color: var(--text-normal);
}
.v2-modal-footer {
display: flex;
justify-content: flex-end;
gap: 12px;
padding: 20px;
border-top: 1px solid var(--background-modifier-border);
}
.v2-modal-footer .v2-button {
padding: 10px 24px;
font-size: 15px;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXRpbWVyLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZy12Mi5jc3MiLCAic3JjL3N0eWxlcy9iZXRhLXdhcm5pbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZ3Mtc2VhcmNoLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmdzLW1pZ3JhdGlvbi5jc3MiLCAic3JjL3N0eWxlcy93b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3IuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1kZXRhaWxzLmNzcyIsICJzcmMvc3R5bGVzL29uQ29tcGxldGlvbi5jc3MiLCAic3JjL3N0eWxlcy91bml2ZXJzYWwtc3VnZ2VzdC5jc3MiLCAic3JjL3N0eWxlcy9tb2RhbC5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC1lZGl0LWRpYWxvZy5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC1saXN0LmNzcyIsICJzcmMvc3R5bGVzL2ljcy1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWZpbHRlci5jc3MiLCAic3JjL3N0eWxlcy9nbG9iYWwtZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL3ZpZXctc2V0dGluZy10YWIuY3NzIiwgInNyYy9zdHlsZXMvZmlsZS1maWx0ZXItc2V0dGluZ3MuY3NzIiwgInNyYy9zdHlsZXMvbWNwLWludGVncmF0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3dvcmtmbG93LmNzcyIsICJzcmMvc3R5bGVzL2RhdGUtcGlja2VyLmNzcyIsICJzcmMvc3R5bGVzL3F1aWNrLWNhcHR1cmUuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1saXN0LmNzcyIsICJzcmMvc3R5bGVzL2lubGluZS1lZGl0b3IuY3NzIiwgInNyYy9zdHlsZXMvdHJlZS12aWV3LmNzcyIsICJzcmMvc3R5bGVzL2ZvcmVjYXN0LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyLmNzcyIsICJzcmMvc3R5bGVzL3RhZy12aWV3LmNzcyIsICJzcmMvc3R5bGVzL3Byb2plY3Qtdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9qZWN0LXRyZWUuY3NzIiwgInNyYy9zdHlsZXMvcmV2aWV3LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvdmlldy5jc3MiLCAic3JjL3N0eWxlcy9jYWxlbmRhci92aWV3LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL2V2ZW50LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL2JhZGdlLmNzcyIsICJzcmMvc3R5bGVzL2thbmJhbi9rYW5iYW4uY3NzIiwgInNyYy9jb21wb25lbnRzL2ZlYXR1cmVzL3Rhc2svZmlsdGVyL2luLXZpZXcvZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2dhbnR0L2dhbnR0LmNzcyIsICJzcmMvc3R5bGVzL3Byb3BlcnR5LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvdGFibGUuY3NzIiwgInNyYy9zdHlsZXMvcXVhZHJhbnQvcXVhZHJhbnQuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQuY3NzIiwgInNyYy9zdHlsZXMvZ2xvYmFsLmNzcyIsICJzcmMvc3R5bGVzL3ZpZXctY29uZmlnLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stc3RhdHVzLmNzcyIsICJzcmMvc3R5bGVzL29uYm9hcmRpbmcuY3NzIiwgInNyYy9zdHlsZXMvdGltZWxpbmUtc2lkZWJhci5jc3MiLCAic3JjL3N0eWxlcy9yZXdhcmQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1ndXR0ZXIuY3NzIiwgInNyYy9zdHlsZXMvYmFzZS12aWV3LmNzcyIsICJzcmMvZXhwZXJpbWVudGFsL3YyL3N0eWxlcy92Mi5jc3MiLCAic3JjL2V4cGVyaW1lbnRhbC92Mi9zdHlsZXMvdjItZW5oYW5jZWQuY3NzIiwgInNyYy9leHBlcmltZW50YWwvdjIvc3R5bGVzL3YyLWNvbnRlbnQtaGVhZGVyLmNzcyIsICJzcmMvc3R5bGVzL3YyLXByb2plY3QtcG9wb3Zlci5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFNldCBEZWZhdWx0IFByb2dyZXNzIEJhciBGb3IgUGx1Z2luICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMXB4O1xufVxuXG4ubm8tcHJvZ3Jlc3MtYmFyIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLkh5cGVyTUQtaGVhZGVyIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lIHtcblx0aGVpZ2h0OiA4cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogUHJvZ3Jlc3MgYmFyIGNvbG9ycyBmb3IgZGlmZmVyZW50IHBlcmNlbnRhZ2VzIG9mIGNvbXBsZXRpb24gKi9cbi5wcm9ncmVzcy1iYXItaW5saW5lLWVtcHR5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0wLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTI1LWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTUwLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTc1LWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtY29tcGxldGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0xMDAtY29sb3IpO1xufVxuXG4vKiBDb2xvcnMgZm9yIGRpZmZlcmVudCB0YXNrIHN0YXR1c2VzICovXG4ucHJvZ3Jlc3MtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHR6LWluZGV4OiAzO1xufVxuXG4ucHJvZ3Jlc3MtaW4tcHJvZ3Jlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0ei1pbmRleDogMjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWFiYW5kb25lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLXBsYW5uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kIHtcblx0Y29sb3I6ICMwMDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDg1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZC5oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTdGF0dXMgaW5kaWNhdG9ycyBpbiB0aGUgdGFzayBudW1iZXIgZGlzcGxheSAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC50YXNrLXN0YXR1cy1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmNvbXBsZXRlZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmluLXByb2dyZXNzLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5hYmFuZG9uZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5wbGFubmVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xufVxuXG4vKiBTZXQgRGVmYXVsdCBQcm9ncmVzcyBCYXIgV2l0aCBOdW1iZXIgRm9yIFBsdWdpbiAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5IeXBlck1ELWhlYWRlclxuXHQuY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXJcblx0LnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCxcbi5IeXBlck1ELWhlYWRlciAuY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLXN0YXR1cyB7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRtYXJnaW4tYm90dG9tOiAtMnB4O1xuXHR3aWR0aDogNDJweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1zdGF0dXMge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi8qIEFkYXB0YXRpb25zIGZvciBkYXJrIHRoZW1lICovXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtaW4tcHJvZ3Jlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWFiYW5kb25lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLXBsYW5uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xufVxuXG4udGFzay1wcm9ncmVzcy1iYXItcG9wb3ZlciB7XG5cdHdpZHRoOiA0MDBweDtcbn1cbiIsICIvKiBUYXNrIFRpbWVyIFdpZGdldCBTdHlsZXMgLSBTaW1wbGUgVGV4dC1CYXNlZCAqL1xuXG4udGFzay10aW1lci13aWRnZXQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiA0cHggMDtcblx0cGFkZGluZzogMnB4IDA7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogU3RhcnQgYnV0dG9uIGFuZCBhY3Rpb24gbGlua3MgKi9cbi50YXNrLXRpbWVyLXN0YXJ0LFxuLnRhc2stdGltZXItYWN0aW9uIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGltZXItc3RhcnQ6aG92ZXIsXG4udGFzay10aW1lci1hY3Rpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufSIsICIvKiBFeHBlcmltZW50YWwgU2V0dGluZ3MgKi9cbi5leHBlcmltZW50YWwtc2V0dGluZ3Mtc2VjdGlvbiB7XG5cdG1hcmdpbjogMjBweCAwO1xufVxuXG4uZXhwZXJpbWVudGFsLXNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMjBweCAwIDEwcHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1zdWJzZWN0aW9uLWhlYWRpbmcge1xuXHRtYXJnaW46IDE1cHggMCA4cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZXhwZXJpbWVudGFsLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW46IDEwcHggMCAyMHB4IDA7XG5cdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1kYXRhZmxvdy1zZWN0aW9uIHtcblx0bWFyZ2luOiAxNXB4IDA7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZXhwZXJpbWVudGFsLWluZm8ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5leHBlcmltZW50YWwtcmVzdGFydC1ub3RpY2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLyogQ2hlY2tib3ggU3RhdHVzIEN5Y2xlIG1hbmFnZW1lbnQgVUkgKi9cbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xuXHRtYXJnaW46IDEwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5leHRyYS1zZXR0aW5nLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24ge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0yKTtcblxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEV4cGVyaW1lbnRhbCBTZXR0aW5ncyAqL1xuLmV4cGVyaW1lbnRhbC1zZXR0aW5ncy1zZWN0aW9uIHtcblx0bWFyZ2luOiAyMHB4IDA7XG59XG5cbi5leHBlcmltZW50YWwtc2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZXhwZXJpbWVudGFsLXN1YnNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMTVweCAwIDhweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5leHBlcmltZW50YWwtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbjogMTBweCAwIDIwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4uZXhwZXJpbWVudGFsLWRhdGFmbG93LXNlY3Rpb24ge1xuXHRtYXJnaW46IDE1cHggMDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5leHBlcmltZW50YWwtaW5mbyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdG1hcmdpbi10b3A6IDhweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmV4cGVyaW1lbnRhbC1yZXN0YXJ0LW5vdGljZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4vKiBDaGVja2JveCBTdGF0dXMgQ3ljbGUgbWFuYWdlbWVudCBVSSAqL1xuLnRhc2stc3RhdGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLmV4dHJhLXNldHRpbmctYnV0dG9uIHtcblx0cGFkZGluZzogNHB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY2hlY2tib3gtc2l6ZSkgKiAtMSk7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciAudGFzay1zdGF0ZSB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogQ2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XG59XG5cbi8qIENhdGVnb3J5IHNlY3Rpb24gKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBDYXRlZ29yeSBoZWFkZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktaGVhZGVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLyogQ2F0ZWdvcnkgdGFicyBjb250YWluZXIgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufVxuXG4vKiBMZWdhY3kgdGFicyBjb250YWluZXIgKGZhbGxiYWNrKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdGdyaWQtYXV0by1yb3dzOiB2YXIoLS1zaXplLTQtMTgpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuXHR9XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwcHg7XG5cdHJpZ2h0OiAtODBweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZVooLTE1ZGVnKTtcblx0ei1pbmRleDogMDtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlWigtMTBkZWcpO1xuXHRvcGFjaXR5OiAwLjk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi8qIFRhYiBjb250ZW50IHN0eWxpbmcgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWljb24sXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYiBzcGFuLFxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItbGFiZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIEVuaGFuY2VkIHRhYiBpY29uIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTQpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC00KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWljb24gc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcbn1cblxuLyogRW5oYW5jZWQgdGFiIGxhYmVsIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0ZmxleDogMTtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogRW5oYW5jZWQgaG92ZXIgYW5kIGFjdGl2ZSBzdGF0ZXMgZm9yIGNhdGVnb3JpemVkIHRhYnMgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBMZWdhY3kgdGFiIHN0eWxlcyAoZmFsbGJhY2spICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9ucyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIgLmhlYWRlci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIC5oZWFkZXItYnV0dG9uLWljb24ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogVGFiIHNlY3Rpb24gaGVhZGVyIHZpc2liaWxpdHkgcnVsZXMgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGUgY2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgd2hlbiBhbnkgbm9uLWdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0KVxuXHQuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMZWdhY3kgdGFicyBjb250YWluZXIgdmlzaWJpbGl0eSAoZmFsbGJhY2spICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogU2hvdyBsZWdhY3kgdGFicyB3aGVuIGdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAoZmFsbGJhY2sgYmVoYXZpb3IpICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3M6aGFzKC5zZXR0aW5ncy10YWItYWN0aXZlW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0LnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZ3JpZDtcbn1cblxuLyogU2V0dGluZ3MgaGVhZGVyIHZpc2liaWxpdHkgLSBoaWRlIHdoZW4gbm9uLWdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzLWhlYWRlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3M6aGFzKFxuXHRcdC5zZXR0aW5ncy10YWItc2VjdGlvbi1hY3RpdmU6bm90KFtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXG5cdClcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzLWhlYWRlciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEV4cHJlc3Npb24gZXhhbXBsZXMgaW4gc2V0dGluZ3MgKi9cbi5leHByZXNzaW9uLWV4YW1wbGVzIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtaXRlbSB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7ICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZXhwcmVzc2lvbi1leGFtcGxlLWNvZGUge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtdXNlIHtcblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtdGV4dGFyZWEge1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHR3aWR0aDogMTAwJTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctbGFiZWwge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wbGFjZWhvbGRlci1pbmZvIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cblx0dXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctZXJyb3IsXG4uZXhwcmVzc2lvbi1wcmV2aWV3LWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBcdTg4NjhcdThGQkVcdTVGMEZcdTc5M0FcdTRGOEJcdTk4ODRcdTg5QzhcdTY4MzdcdTVGMEYgKi9cbi5leHByZXNzaW9uLWV4YW1wbGUtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ucHJlc2V0LWZpbHRlcnMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnByZXNldC1maWx0ZXItcm93IHtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucHJlc2V0LWZpbHRlci1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4ubm8tcHJlc2V0cy1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcbn1cblxuLnByZXNldC1zYXZlZC1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogNXB4O1xuXHRtYXJnaW4tdG9wOiA1cHg7XG5cdGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi50YXNrLWZpbHRlci1zYXZlLXByZXNldCB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ubW9kLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLm1vZGFsLXdvcmtmbG93LWRlZmluaXRpb24ge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR3aWR0aDogOTB2dztcbn1cblxuLm1vZGFsLXN0YWdlLWRlZmluaXRpb24ge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR3aWR0aDogOTB2dztcbn1cblxuLyogV29ya2Zsb3cgc2V0dGluZ3MgcGFuZWwgaW1wcm92ZW1lbnRzICovXG4ud29ya2Zsb3ctY29udGFpbmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdG1heC1oZWlnaHQ6IDUwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLndvcmtmbG93LXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtaW5mbyB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdHBhZGRpbmc6IDhweCAwIDAgMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdGVybWluYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5uby13b3JrZmxvd3MtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi8qIFdvcmtmbG93IG1vZGFsIHN0eWxlcyAqL1xuLndvcmtmbG93LWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1zZWN0aW9uIGgyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0Zm9udC1zaXplOiAxLjNlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleC13cmFwOiB1bnNldDtcblx0Z2FwOiB1bnNldDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi53b3JrZmxvdy1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXNhdmUtYnV0dG9uLFxuLndvcmtmbG93LWNhbmNlbC1idXR0b24sXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2Uge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuXG4vKiBTdGFnZSBlZGl0aW5nIHN0eWxlcyAqL1xuLndvcmtmbG93LXN0YWdlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ZmxleDogMTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdCxcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bixcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xuXHRwYWRkaW5nOiAzcHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUtbGluZWFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS10ZXJtaW5hbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogU3Vic3RhZ2Ugc3R5bGVzICovXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xuXHRwYWRkaW5nOiAwIDAgMCB2YXIoLS1zaXplLTQtNik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN1YnN0YWdlLXNldHRpbmdzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBTdGFnZSBlZGl0IG1vZGFsICovXG4uc3RhZ2UtdHlwZS1zZXR0aW5ncyB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uc3Vic3RhZ2VzLXNlY3Rpb24sXG4uY2FuLXByb2NlZWQtdG8tc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3Vic3RhZ2VzLWNvbnRhaW5lcixcbi5jYW4tcHJvY2VlZC10by1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zdWJzdGFnZXMtbGlzdCxcbi5jYW4tcHJvY2VlZC1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleDogMTtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5zdWJzdGFnZS1uZXh0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNXB4O1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnN1YnN0YWdlLXJlbW92ZS1idXR0b24sXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5zdWJzdGFnZS1yZW1vdmUtYnV0dG9uOmhvdmVyLFxuLmNhbi1wcm9jZWVkLXJlbW92ZS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmFkZC1zdWJzdGFnZS1idXR0b24sXG4uYWRkLWNhbi1wcm9jZWVkLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4uYWRkLWNhbi1wcm9jZWVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWRkLWNhbi1wcm9jZWVkLXNlbGVjdCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1zYXZlLWJ1dHRvbixcbi5zdGFnZS1jYW5jZWwtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5zdGFnZS1lcnJvci1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogV29ya2Zsb3cgdGFzayBpbiBlZGl0b3IvcHJldmlldyBtb2RlIHN0eWxlcyAqL1xuLnRhc2std29ya2Zsb3ctdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2std29ya2Zsb3ctc3RhZ2Uge1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay13b3JrZmxvdy1zdWJzdGFnZSB7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay13b3JrZmxvdy1oaXN0b3J5IHtcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay13b3JrZmxvdy10aW1lc3RhbXAge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFdvcmtmbG93IHNldHRpbmdzIGRpc3BsYXkgZW5oYW5jZW1lbnRzICovXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgc3BhbltjbGFzc149XCJ3b3JrZmxvdy1zdGFnZS1uYW1lLVwiXSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtY3ljbGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnNldHRpbmctaXRlbS1jb250cm9sIC53b3JrZmxvdy1zdGFnZS1uYW1lLXRlcm1pbmFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4vKiBXb3JrZmxvd0RlZmluaXRpb25Nb2RhbCBoZWFkZXIgZW5oYW5jZW1lbnRzICovXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlcy1saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwIDAgMCAyMHB4O1xuXHRtYXJnaW46IDVweCAwIDEwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIEJldHRlciBidXR0b25zIGluIHdvcmtmbG93IHBhbmVscyAqL1xuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24sXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YSxcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogNnB4IDE1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b246aG92ZXIsXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YTpob3Zlcixcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Ym94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXAsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxuLndvcmtmbG93LXN0YWdlLWVkaXQsXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlIHtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDNweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwOmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1lZGl0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBTdWJ0YXNrIHN0eWxpbmcgaW1wcm92ZW1lbnRzICovXG4uc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCAwO1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2UsXG4ubm8td29ya2Zsb3dzLW1lc3NhZ2UsXG4ubm8tc3Vic3RhZ2VzLW1lc3NhZ2UsXG4ubm8tY2FuLXByb2NlZWQtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi8qIFNUQVJUOiBSZXdhcmQgU2V0dGluZ3MgU3R5bGVzICovXG4ucmV3YXJkcy1sZXZlbHMtY29udGFpbmVyLFxuLnJld2FyZHMtaXRlbXMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyxcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93LnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IDA7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wsXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7IC8qIEFsbG93IHdyYXBwaW5nIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuXHRnYXA6IDEwcHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDEwMHB4OyAvKiBFbnN1cmUgcmVhc29uYWJsZSBtaW5pbXVtIHdpZHRoICovXG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuaW5wdXQtY29udGFpbmVyIHtcblx0LyogT2JzaWRpYW4gdXNlcyB0aGlzIGNsYXNzIGZvciB0ZXh0L3RleHRhcmVhICovXG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB0ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBNYWtlIHRleHRhcmVhIHRha2UgZnVsbCB3aWR0aCB3aXRoaW4gaXRzIGNvbnRhaW5lciAqL1xuXHRtaW4taGVpZ2h0OiA0MHB4OyAvKiBFbnN1cmUgaXQncyB0YWxsIGVub3VnaCBmb3IgYSBjb3VwbGUgbGluZXMgKi9cblx0cmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5kcm9wZG93biB7XG5cdG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uLFxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvOyAvKiBQdXNoIGRlbGV0ZSBidXR0b24gdG8gdGhlIHJpZ2h0ICovXG59XG5cbi5yZXdhcmRzLWl0ZW0tZGl2aWRlciB7XG5cdGJvcmRlcjogbm9uZTtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgc2VsZWN0LmRyb3Bkb3duIHtcblx0ZmxleDogMTtcbn1cblxuXG4udmlldy1lZGl0LWJ1dHRvbixcbi52aWV3LWNvcHktYnV0dG9uLFxuLnZpZXctb3JkZXItYnV0dG9uLFxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZpZXctY29weS1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnZpZXctY29weS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi52aWV3LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi8qIENvcHkgbW9kZSBpbmZvIHN0eWxlcyAqL1xuLmNvcHktbW9kZS1pbmZvIHtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uY29weS1tb2RlLWluZm8gcCB7XG5cdG1hcmdpbjogNHB4IDA7XG59XG5cbi8qIFRhc2tzIFBsdWdpbiBDb21wYXRpYmlsaXR5IFdhcm5pbmcgQmFubmVyICovXG4udGFza3MtY29tcGF0aWJpbGl0eS13YXJuaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWFjY2VudC1oKSxcblx0XHR2YXIoLS1hY2NlbnQtcyksXG5cdFx0dmFyKC0tYWNjZW50LWwpLFxuXHRcdDAuNVxuXHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAwLjUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrcy13YXJuaW5nLWljb24ge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2tzLXdhcm5pbmctY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFza3Mtd2FybmluZy10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4udGFza3Mtd2FybmluZy10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGV4dCBhIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50YXNrcy13YXJuaW5nLXRleHQgYTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzdHJvbmcge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW4ge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpmaXJzdC1vZi10eXBlIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzcGFuOmxhc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIEVuaGFuY2VkIFByb2plY3QgQ29uZmlndXJhdGlvbiBTdHlsZXMgKi9cbi5wcm9qZWN0LXBhdGgtbWFwcGluZ3MtY29udGFpbmVyLFxuLnByb2plY3QtbWV0YWRhdGEtbWFwcGluZ3MtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnByb2plY3QtcGF0aC1tYXBwaW5nLXJvdyxcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmctcm93IHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi5uby1tYXBwaW5ncy1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMjBweDtcbn1cblxuLyogVGFzayBQcm9qZWN0IERpc3BsYXkgU3R5bGVzICovXG4udGFzay1wcm9qZWN0LXRnIHtcblx0b3BhY2l0eTogMC44O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0cGFkZGluZy1sZWZ0OiA0cHg7XG59XG5cbi50YXNrLXByb2plY3QtdGc6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERDE3XCI7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xuXHRmb250LXNpemU6IDAuOGVtO1xufVxuXG4vKiBNZXRhZGF0YSBFZGl0b3IgUHJvamVjdCBTdHlsZXMgKi9cbi5wcm9qZWN0LXJlYWRvbmx5IHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4ucHJvamVjdC1yZWFkb25seSBpbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogRGF0ZSBmb3JtYXQgY29uZmlndXJhdGlvbiBzdHlsZXMgKi9cbi50YXNrLWdlbml1cy1kYXRlLWZvcm1hdHMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0cGFkZGluZzogMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdHMtaGVhZGVyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG4ge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0biB7XG5cdHBhZGRpbmc6IDEwcHggMTZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0bWFyZ2luLXRvcDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46aG92ZXIge1xuXHRib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46YWN0aXZlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBEYXRlIGZvcm1hdCBleGFtcGxlcyBzZWN0aW9uICovXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcyB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1leGFtcGxlcy1oZWFkZXIge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGgsXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0ZCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6aG92ZXIgdGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cbiIsICIudGctc3RhdHVzLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMyk7XG5cdG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTItMSkpO1xufVxuXG4udGctaWNvbnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1pY29ucy1jb250YWluZXIgLnRnLXN0YXR1cy1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBHbG9iYWwgRmlsdGVyIENvbnRhaW5lciBTdHlsZXMgKi9cbi5nbG9iYWwtZmlsdGVyLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIEZpbGUgVGFzayBkeW5hbWljIGNvbmZpZ3VyYXRpb24gc3R5bGVzICovXG4udGFzay1nZW5pdXMtbWV0YWRhdGEtZmllbGRzLWNvbnRhaW5lcixcbi50YXNrLWdlbml1cy10YWdzLWNvbnRhaW5lcixcbi50YXNrLWdlbml1cy1wYXRocy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtZGF0ZS1mb3JtYXRzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMXJlbSAwO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkcy1oZWFkZXIsXG4udGFzay1nZW5pdXMtdGFncy1oZWFkZXIsXG4udGFzay1nZW5pdXMtcGF0aHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLWZvcm1hdHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLWV4YW1wbGVzLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1saXN0LFxuLnRhc2stZ2VuaXVzLXRhZy1saXN0LFxuLnRhc2stZ2VuaXVzLXBhdGgtbGlzdCxcbi50YXNrLWdlbml1cy1mb3JtYXQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaXRlbSxcbi50YXNrLWdlbml1cy10YWctaXRlbSxcbi50YXNrLWdlbml1cy1wYXRoLWl0ZW0sXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogMC41cmVtO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pdGVtOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXRhZy1pdGVtOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXBhdGgtaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWlucHV0LFxuLnRhc2stZ2VuaXVzLXRhZy1pbnB1dCxcbi50YXNrLWdlbml1cy1wYXRoLWlucHV0LFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDAuNHJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pbnB1dDpmb2N1cyxcbi50YXNrLWdlbml1cy10YWctaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtcGF0aC1pbnB1dDpmb2N1cyxcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtZGVsZXRlLWJ0bixcbi50YXNrLWdlbml1cy10YWctZGVsZXRlLWJ0bixcbi50YXNrLWdlbml1cy1wYXRoLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG4ge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1kZWxldGUtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXRhZy1kZWxldGUtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXBhdGgtZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZpZWxkLWJ0bixcbi50YXNrLWdlbml1cy1hZGQtdGFnLWJ0bixcbi50YXNrLWdlbml1cy1hZGQtcGF0aC1idG4sXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG4ge1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZmllbGQtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWFkZC10YWctYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWFkZC1wYXRoLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0bjpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIERhdGUgZm9ybWF0IGV4YW1wbGVzIHRhYmxlICovXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcyB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0ZCB7XG5cdHBhZGRpbmc6IDAuNHJlbSAwLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpob3ZlciB0ZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4udGFzay1nZW5pdXMtaWZyYW1lLW1vZGFsIHtcblx0d2lkdGg6IDkwJTtcblx0bWF4LXdpZHRoOiAxNDAwcHg7XG5cdG1heC1oZWlnaHQ6IDkwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLWdlbml1cy1pZnJhbWUtbW9kYWwgLm1vZGFsLXRpdGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnRpbWUtcGFyc2luZy1leGFtcGxlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRpbWVcIl0ge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLmZpbGUtc291cmNlLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG4iLCAiLyogQmV0YSB0ZXN0IHdhcm5pbmcgYmFubmVyIHN0eWxlcyAqL1xuLmJldGEtdGVzdC13YXJuaW5nLWJhbm5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmJldGEtd2FybmluZy1pY29uIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmJldGEtd2FybmluZy1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4uYmV0YS13YXJuaW5nLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5iZXRhLXdhcm5pbmctdGV4dCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIFNldHRpbmdzIFNlYXJjaCBDb21wb25lbnQgU3R5bGVzICovXG5cbi8qIFx1NjQxQ1x1N0QyMlx1OEY5M1x1NTE2NVx1Njg0Nlx1NUJCOVx1NTY2OCAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdThGOTNcdTUxNjVcdTY4NDZcdTY4MzdcdTVGMEYgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwNyAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24gc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2IC0gXHU5MUNEXHU3RjZFIE9ic2lkaWFuIFx1OUVEOFx1OEJBNFx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXQudGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjMwOVx1OTRBRVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXI6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpICFpbXBvcnRhbnQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXIgc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24teHMpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24teHMpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTVCQjlcdTU2NjggLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU1RjM5XHU1MUZBXHU4M0RDXHU1MzU1XHU2ODM3XHU1RjBGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYygxMDAlICsgdmFyKC0tc2l6ZS0yLTEpKTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcblx0bWF4LWhlaWdodDogMzIwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU5ODc5IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1ODNEQ1x1NTM1NVx1OTg3OVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0OmhvdmVyLFxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTU0MERcdTc5RjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LW5hbWUge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1MTQzXHU0RkUxXHU2MDZGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1tZXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTYzQ0ZcdThGRjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWRlc2Mge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi8qIFx1NjVFMFx1N0VEM1x1Njc5Q1x1NzJCNlx1NjAwMSAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1uby1yZXN1bHQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogXHU4QkJFXHU3RjZFXHU5ODc5XHU5QUQ4XHU0RUFFXHU2NTQ4XHU2NzlDICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWhpZ2hsaWdodCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cyBlYXNlLW91dDtcblx0YW5pbWF0aW9uOiB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2UgMC42cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2Uge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyogXHU5NTJFXHU3NkQ4XHU1QkZDXHU4MjJBXHU2MzA3XHU3OTNBXHU1NjY4ICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbi8qIFx1NTRDRFx1NUU5NFx1NUYwRlx1OEJCRVx1OEJBMSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdFx0bWF4LWhlaWdodDogMjgwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTEpO1xuXHR9XG59XG5cbi8qIFx1NkVEQVx1NTJBOFx1Njc2MVx1NjgzN1x1NUYwRiAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdTZFREFcdTUyQThcdTY3NjEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpIHRyYW5zcGFyZW50O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IHZhcigtLXNjcm9sbGJhci10aGluLXdpZHRoKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tc2Nyb2xsYmFyLXRoaW4tdGh1bWItcmFkaXVzKTtcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmctaG92ZXIpO1xuXHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xufVxuXG4vKiBcdTRFMEVcdThCQkVcdTdGNkVcdTY4MDdcdTdCN0VcdTk4NzVcdTVCQjlcdTU2NjhcdTc2ODRcdTk1RjRcdThERERcdThDMDNcdTY1NzQgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi8qIFx1NEZFRVx1NTkwRFx1NTNFRlx1ODBGRFx1NzY4NCB6LWluZGV4IFx1OTVFRVx1OTg5OCAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3ZlciwgMjAwKTtcbn1cblxuLyogXHU3ODZFXHU0RkREXHU4RjkzXHU1MTY1XHU2ODQ2XHU4MDVBXHU3MTI2XHU2NUY2XHU3Njg0XHU2ODM3XHU1RjBGXHU2QjYzXHU3ODZFICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTU2RkVcdTY4MDdcdTc2ODRcdTRFQTRcdTRFOTJcdTcyQjZcdTYwMDEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiB7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIFx1NkUwNVx1OTY2NFx1NjMwOVx1OTRBRVx1NzY4NFx1NTZGRVx1NjgwN1x1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG4iLCAiLyogU2V0dGluZ3MgTWlncmF0aW9uIFN0eWxpbmcgKi9cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luOiAxMnB4IDA7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHAge1xuXHRtYXJnaW46IDRweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBNaWdyYXRpb24gU3VjY2VzcyBJbmRpY2F0b3IgKi9cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLWJnKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdG1hcmdpbjogMTJweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXN1Y2Nlc3MgLnNldHRpbmctaXRlbS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBGaWxlU291cmNlIEludGVncmF0aW9uIE5vdGljZSAqL1xuLmZpbGUtc291cmNlLW5vdGljZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRtYXJnaW46IDhweCAwO1xufVxuXG4uZmlsZS1zb3VyY2Utbm90aWNlIC5ub3RpY2UtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cbiIsICIvKiBXb3Jrc3BhY2UgU2V0dGluZ3MgU2VsZWN0b3IgU3R5bGVzICovXG5cbi8qIE1haW4gY29udGFpbmVyIGZvciB0aGUgaGVhZGVyIGJhciAqL1xuLnRnLXNldHRpbmdzLWhlYWRlci1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb250YWluZXIgZm9yIHdvcmtzcGFjZSBzZWxlY3RvciAqL1xuLnRnLXdvcmtzcGFjZS1zZWxlY3Rvci1jb250YWluZXIge1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogV29ya3NwYWNlIHNlbGVjdG9yIGJ1dHRvbiAqL1xuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRtaW4td2lkdGg6IDE1MHB4O1xuXHRoZWlnaHQ6IDM0cHg7IC8qIE1hdGNoIHNlYXJjaCBiYXIgaGVpZ2h0ICovXG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIFdvcmtzcGFjZSBpY29uICovXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiAud29ya3NwYWNlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtaWNvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogV29ya3NwYWNlIG5hbWUgKi9cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIERyb3Bkb3duIGFycm93IGljb24gKi9cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiBzdmcge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG5cbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiBzdmcge1xuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXG4udGctc2V0dGluZ3MtaGVhZGVyLWJhciAudGctc2V0dGluZ3Mtc2VhcmNoLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogRW5zdXJlIHNlYXJjaCBpbnB1dCBjb250YWluZXIgZmlsbHMgd2lkdGggKi9cbi50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIC50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGFkanVzdG1lbnRzICovXG4udGctc2V0dGluZ3MtbWFpbi1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogRW5zdXJlIHNlYXJjaCByZXN1bHRzIGFwcGVhciBiZWxvdyB0aGUgaGVhZGVyIGJhciAqL1xuLnRnLXNldHRpbmdzLW1haW4tY29udGFpbmVyIC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLyogTW9iaWxlIHJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctc2V0dGluZ3MtaGVhZGVyLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRnYXA6IDhweDtcblx0fVxuXG5cdC53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLWhlYWRlci1iYXIgLnRnLXNldHRpbmdzLXNlYXJjaC1jb250YWluZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCAiLnRhc2stZGV0YWlscyAucGFuZWwtdG9nZ2xlLWNvbnRhaW5lciB7XG5cdGxlZnQ6IDEwcHg7XG59XG5cbi8qIERldGFpbCBQYW5lbCBTdHlsZXMgKi9cbi50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMzAwcHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9yZGVyOiAxO1xufVxuXG4vKiBEZXRhaWxzIHBhbmVsIHZpc2liaWxpdHkgKi9cbi50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IC0zMDBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAzNTBweDtcblx0b3BhY2l0eTogMTtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBNb2JpbGUgdmlldyAtIHNsaWRlIGZyb20gcmlnaHQgKi9cbi5pcy1waG9uZSAudGFzay1kZXRhaWxzLFxuLmlzLW1vYmlsZSAudGFzay1kZXRhaWxzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMsXG4uaXMtbW9iaWxlIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRnLXYyLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRnLXYyLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zaXplLTQtMTIpKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGRldGFpbHMgYXJlIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSxcbi5pcy1tb2JpbGUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSxcbi5pcy1tb2JpbGUgLnRnLXYyLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pcy1waG9uZSAuZGV0YWlscy1jbG9zZS1idG4sXG4uaXMtbW9iaWxlIC5kZXRhaWxzLWNsb3NlLWJ0biB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaXMtcGhvbmUgLmRldGFpbHMtaGVhZGVyLFxuLmlzLW1vYmlsZSAuZGV0YWlscy1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5kZXRhaWxzLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIERldGFpbHMgY29udGVudCAqL1xuLmRldGFpbHMtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5kZXRhaWxzLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogbWF4KHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pLCB2YXIoLS1zaXplLTQtOCkpO1xufVxuXG4uZGV0YWlscy1uYW1lIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMS4zZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1sYWJlbCB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1lbnUtaXRlbS10aXRsZTpoYXMoLnN0YXR1cy1vcHRpb24pIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRnYXA6IDRweDtcbn1cblxuLm1lbnUtaXRlbTpoYXMoLnN0YXR1cy1vcHRpb24tY2hlY2tib3gpIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWljb24pIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zdGF0dXMtb3B0aW9uLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnN0YXR1cy1vcHRpb24tY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN0YXR1cy1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc3RhdHVzLW9wdGlvbi5jdXJyZW50IHtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0b3V0bGluZTogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuMyk7XG5cdG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KTpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5zdGF0dXMtb3B0aW9uIGlucHV0LnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG59XG5cbi5kZXRhaWxzLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubWV0YWRhdGEtZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcbn1cblxuLm1ldGFkYXRhLWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ubWV0YWRhdGEtdmFsdWUge1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmRldGFpbHMtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmRldGFpbHMtZWRpdC1idG4sXG4uZGV0YWlscy10b2dnbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLWVkaXQtYnRuOmhvdmVyLFxuLmRldGFpbHMtdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLmRldGFpbHMtdG9nZ2xlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFRhc2sgZWRpdGluZyBmb3JtIHN0eWxlcyAqL1xuLmRldGFpbHMtZWRpdC1mb3JtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA0cHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kZXRhaWxzLWZvcm0taW5wdXQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRldGFpbHMtZWRpdC1jb250ZW50IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtZm9ybS1pbnB1dCBpbnB1dCxcbi5kZXRhaWxzLWZvcm0taW5wdXQgc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZGF0ZS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpZWxkLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLXRvcDogMTZweDtcblx0Z2FwOiA4cHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tYnV0dG9ucyBidXR0b24ge1xuXHRmbGV4OiAxO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmRldGFpbHMtZm9ybS1lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5kZXRhaWxzLWVkaXQtZmlsZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtZWRpdC1maWxlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLyogVjIgQ29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyBmb3IgbW9iaWxlICovXG4uaXMtbW9iaWxlIC50Zy12Mi1jb250YWluZXIgLnRhc2stZGV0YWlscyB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHR3aWR0aDogODV2dztcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ei1pbmRleDogMTAwMTsgLyogQWJvdmUgZHJhd2VyIG92ZXJsYXkgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3gtc2hhZG93OiAtNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5pcy1tb2JpbGUgLnRhc2stZGV0YWlscyAuZGV0YWlscy1jbG9zZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi5pcy1tb2JpbGUgLmRldGFpbHMtY29udGVudCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBmb3IgbW9iaWxlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1vbW5pZm9jdXMtY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnRhc2stc2lkZWJhciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0fVxuXG5cdC50YXNrLWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQudGFzay1kZXRhaWxzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdH1cbn1cblxuLyogUHJvamVjdCBzb3VyY2UgaW5kaWNhdG9yIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci1pY29uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFJlYWRvbmx5IGluZGljYXRvciAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBPdmVycmlkZSBpbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Iub3ZlcnJpZGUtaW5kaWNhdG9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBGaWVsZCBkZXNjcmlwdGlvbnMgKi9cbi5maWVsZC1kZXNjcmlwdGlvbi5yZWFkb25seS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5maWVsZC1kZXNjcmlwdGlvbi5vdmVycmlkZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBJbmxpbmUgZWRpdG9yIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5pbmxpbmUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIFRhYmxlIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci50YWJsZS1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHRyaWdodDogMnB4O1xuXHRwYWRkaW5nOiAxcHggM3B4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHotaW5kZXg6IDU7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi50YXNrLXRhYmxlLWNlbGwucmVhZG9ubHktY2VsbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi8qIFByb2plY3QgY29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3QtY29udGFpbmVyLnByb2plY3QtcmVhZG9ubHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LWNvbnRhaW5lci5wcm9qZWN0LXJlYWRvbmx5IC5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG4iLCAiLyogT25Db21wbGV0aW9uIENvbmZpZ3VyYXRvciBTdHlsZXMgKi9cbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ub25jb21wbGV0aW9uLWFjdGlvbi10eXBlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG59XG5cbi5vbmNvbXBsZXRpb24tbGFiZWwge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ub25jb21wbGV0aW9uLWNvbmZpZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLXRvcDogOHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA0cHg7XG59XG5cbi5vbmNvbXBsZXRpb24tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBBY3Rpb24gVHlwZSBEcm9wZG93biAqL1xuLm9uY29tcGxldGlvbi1hY3Rpb24tdHlwZSAuZHJvcGRvd24ge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogSW5wdXQgRmllbGRzICovXG4ub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogVG9nZ2xlIENvbXBvbmVudCAqL1xuLm9uY29tcGxldGlvbi1maWVsZCAuY2hlY2tib3gtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIFN1Z2dlc3RlciBTdHlsZXMgKi9cbi50YXNrLWlkLXN1Z2dlc3Rpb24ge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay1jb250ZW50LXByZXZpZXcge1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4uZmlsZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbGUtcGF0aCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYWN0aW9uLXR5cGUtc3VnZ2VzdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5hY3Rpb24tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogVmFsaWRhdGlvbiBTdGF0ZXMgKi9cbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLmludmFsaWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3IudmFsaWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRwYWRkaW5nOiA0cHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlLmVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2Uuc3VjY2VzcyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4vKiBJbnRlZ3JhdGlvbiB3aXRoIFRhc2sgRGV0YWlscyAqL1xuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0cGFkZGluZzogMDtcbn1cblxuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWZpZWxkIHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0Z2FwOiA4cHg7XG5cdH1cblxuXHQub25jb21wbGV0aW9uLWNvbmZpZyB7XG5cdFx0Z2FwOiA4cHg7XG5cdH1cblxuXHQudGFzay1jb250ZW50LXByZXZpZXcge1xuXHRcdG1heC13aWR0aDogMjAwcHg7XG5cdH1cbn1cblxuLyogRGFyayBUaGVtZSBBZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRoZW1lLWRhcmsgLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dDpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdH1cbn1cblxuLyogQW5pbWF0aW9uIGZvciBDb25maWd1cmF0aW9uIENoYW5nZXMgKi9cbi5vbmNvbXBsZXRpb24tY29uZmlnIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5vbmNvbXBsZXRpb24tZmllbGQge1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5vbmNvbXBsZXRpb24tZmllbGQuZW50ZXJpbmcge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkLmV4aXRpbmcge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG59XG5cbi8qIE9uQ29tcGxldGlvbiBNb2RhbCBTdHlsZXMgKi9cbi5vbmNvbXBsZXRpb24tbW9kYWwge1xuXHQtLWRpYWxvZy13aWR0aDogNjAwcHg7XG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcblx0LS1kaWFsb2ctbWF4LWhlaWdodDogODB2aDtcbn1cblxuLm9uY29tcGxldGlvbi1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdHBhZGRpbmc6IDA7XG5cdG1heC1oZWlnaHQ6IHZhcigtLWRpYWxvZy1tYXgtaGVpZ2h0KTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm9uY29tcGxldGlvbi1tb2RhbC1jb250ZW50IHtcblx0cGFkZGluZzogMjBweDtcblx0bWF4LWhlaWdodDogNjB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDE2cHggMjBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMgYnV0dG9uIHtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4vKiBJbmxpbmUgT25Db21wbGV0aW9uIEJ1dHRvbiBTdHlsZXMgKi9cbi5pbmxpbmUtb25jb21wbGV0aW9uLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gZm9yIE1vZGFsICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm9uY29tcGxldGlvbi1tb2RhbCB7XG5cdFx0LS1kaWFsb2ctd2lkdGg6IDk1dnc7XG5cdFx0LS1kaWFsb2ctbWF4LWhlaWdodDogODV2aDtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtY29udGVudCB7XG5cdFx0cGFkZGluZzogMTZweDtcblx0XHRtYXgtaGVpZ2h0OiA2NXZoO1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIHtcblx0XHRwYWRkaW5nOiAxMnB4IDE2cHg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIGJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLXdpZHRoOiB1bnNldDtcblx0fVxufVxuIiwgIi8qIFVuaXZlcnNhbCBTdWdnZXN0IFN0eWxlcyAqL1xuXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLyogU3BlY2lhbCBjaGFyYWN0ZXIgdHJpZ2dlciBoaWdobGlnaHRpbmcgKi9cbi5jbS1lZGl0b3IgLmNtLWxpbmUgLnVuaXZlcnNhbC1zdWdnZXN0LXRyaWdnZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0cGFkZGluZzogMXB4IDJweDtcbn1cblxuLyogU3VnZ2VzdCBwb3B1cCBjb250YWluZXIgKi9cbi5zdWdnZXN0aW9uLWNvbnRhaW5lciAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdWdnZXN0aW9uLWNvbnRhaW5lciAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHR9IFxuXHRcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIsXG5cdC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0fVxufVxuIiwgIi5jb25maXJtLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4vKiBMaXN0IENvbmZpZyBNb2RhbCBTdHlsZXMgKi9cbi5saXN0LWNvbmZpZy1tb2RhbCB7XG5cdG1pbi13aWR0aDogNDAwcHg7XG5cdG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5saXN0LWNvbmZpZy1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlcik7XG59XG5cbi5saXN0LWNvbmZpZy1jb250YWluZXIge1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwO1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcbn1cblxuLmxpc3QtY29uZmlnLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNik7XG59XG5cbi5saXN0LWNvbmZpZy1lbXB0eS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbjogMDtcbn1cblxuLmxpc3QtY29uZmlnLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4ubGlzdC1jb25maWctaXRlbTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmxpc3QtY29uZmlnLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5saXN0LWNvbmZpZy1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmxpc3QtY29uZmlnLWRlbGV0ZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ubGlzdC1jb25maWctZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xufVxuXG4ubGlzdC1jb25maWctZGVsZXRlLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbiIsICIvKiBcdTRFNjBcdTYwRUZcdTdGMTZcdThGOTFcdTVGMzlcdTdBOTdcdTY4MzdcdTVGMEYgKi9cblxuLmhhYml0LWVkaXQtZGlhbG9nIHtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAubW9kYWwtY29udGVudCB7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1N0M3Qlx1NTc4Qlx1OTAwOVx1NjJFOVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLXNlbGVjdG9yIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2NyaXB0aW9uIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRnYXA6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuXHQuaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWljb24gc3ZnIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLXRleHQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2Mge1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBcdTkwMUFcdTc1MjhcdTg4NjhcdTUzNTVcdTY4MzdcdTVGMEYgKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtY29tbW9uLWZvcm0sXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZm9ybSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qIFx1NTZGRVx1NjgwN1x1OTg4NFx1ODlDOCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMwcHg7XG5cdGhlaWdodDogMzBweDtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcgc3ZnIHtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcbn1cblxuLyogXHU2NjIwXHU1QzA0XHU3RjE2XHU4RjkxXHU1NjY4ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctY29udGFpbmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLXJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWtleSB7XG5cdHdpZHRoOiA4MHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWFycm93IHtcblx0bWFyZ2luOiAwIDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLXZhbHVlIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1kZWxldGUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1hZGQtbWFwcGluZy1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLyogXHU0RThCXHU0RUY2XHU3RjE2XHU4RjkxXHU1NjY4ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50cy1jb250YWluZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0bWFyZ2luLXRvcDogNXB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LXJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Z2FwOiA1cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtbmFtZSB7XG5cdHdpZHRoOiAxMjBweDtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1kZXRhaWxzIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1wcm9wZXJ0eSB7XG5cdHdpZHRoOiAxMjBweDtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1kZWxldGUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1hZGQtZXZlbnQtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi8qIFx1NjMwOVx1OTRBRVx1NUJCOVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1lZGl0LWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtY2FuY2VsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1zYXZlLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBcdThGOTNcdTUxNjVcdTVCNTdcdTZCQjUgKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDZweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQgLmhhYml0LXR5cGUtZGVzYyxcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLW5hbWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NUJCOVx1NTY2OCAqL1xuLmhhYml0LWxpc3QtY29udGFpbmVyIHtcblx0cGFkZGluZzogMTJweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5oYWJpdC1zZXR0aW5ncy1jb250YWluZXIge1xuXHRwYWRkaW5nLXRvcDogMTJweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogXHU2REZCXHU1MkEwXHU2MzA5XHU5NEFFICovXG4uaGFiaXQtYWRkLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uaGFiaXQtYWRkLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmhhYml0LWFkZC1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU1MjE3XHU4ODY4XHU0RTNBXHU3QTdBXHU3MkI2XHU2MDAxICovXG4uaGFiaXQtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XG5cdG1hcmdpbjogMCAwIDEwcHggMDtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmhhYml0LWVtcHR5LXN0YXRlIHAge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU5ODc5XHU1MjE3XHU4ODY4ICovXG4uaGFiaXQtaXRlbXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTk4NzkgKi9cbi5oYWJpdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0aGVpZ2h0OiA3LjVyZW07XG59XG5cbi5oYWJpdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NTZGRVx1NjgwNyAqL1xuLmhhYml0LWl0ZW0taWNvbiB7XG5cdC0taWNvbi1zaXplOiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDQ4cHg7XG5cdGhlaWdodDogNDhweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi5oYWJpdC1pdGVtLWljb24gc3ZnIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU0RkUxXHU2MDZGICovXG4uaGFiaXQtaXRlbS1pbmZvIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBcdTk2MzJcdTZCNjJcdTUxODVcdTVCQjlcdThGQzdcdTk1N0ZcdTY0OTFcdTVGMDBcdTVFMDNcdTVDNDAgKi9cbn1cblxuLmhhYml0LWl0ZW0tbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmhhYml0LWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmhhYml0LWl0ZW0tdHlwZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTY0Q0RcdTRGNUNcdTYzMDlcdTk0QUUgKi9cbi5oYWJpdC1pdGVtLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLWxlZnQ6IDEycHg7XG59XG5cbi5oYWJpdC1lZGl0LWJ1dHRvbixcbi5oYWJpdC1kZWxldGUtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5oYWJpdC1lZGl0LWJ1dHRvbjpob3Zlcixcbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5oYWJpdC1lZGl0LWJ1dHRvbiBzdmcsXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHN2ZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU1MjIwXHU5NjY0XHU1QkY5XHU4QkREXHU2ODQ2XHU2ODM3XHU1RjBGICovXG4uaGFiaXQtZGVsZXRlLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5oYWJpdC1kZWxldGUtYnV0dG9uLWNvbmZpcm0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6ICNmZmY7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuIiwgIi8qIElDUyBTZXR0aW5ncyBTdHlsZXMgKi9cblxuLyogTWFpbiBjb250YWluZXIgKi9cbi5pY3Mtc2V0dGluZ3MtY29udGFpbmVyIHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIEhlYWRlciBzZWN0aW9uICovXG4uaWNzLWhlYWRlci1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLmljcy1iYWNrLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaWNzLWJhY2stYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uaWNzLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIEdsb2JhbCBzZXR0aW5ncyAqL1xuLmljcy1nbG9iYWwtc2V0dGluZ3Mge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRwYWRkaW5nOiAxLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIFNvdXJjZXMgbGlzdCAqL1xuLmljcy1zb3VyY2VzLWxpc3Qge1xuXHRtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi5pY3Mtc291cmNlcy1saXN0IGgzIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmljcy1zb3VyY2UtaXRlbSB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHBhZGRpbmc6IDEuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5pY3Mtc291cmNlLWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5pY3Mtc291cmNlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmljcy1zb3VyY2UtdGl0bGUgc3Ryb25nIHtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmljcy1zb3VyY2Utc3RhdHVzIHtcblx0cGFkZGluZzogMC4zcmVtIDAuOHJlbTtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnN0YXR1cy1lbmFibGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5zdGF0dXMtZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5pY3Mtc291cmNlLWRldGFpbHMge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmljcy1zb3VyY2UtZGV0YWlscyBkaXYge1xuXHRtYXJnaW4tYm90dG9tOiAwLjRyZW07XG59XG5cbi8qIEFjdGlvbiBidXR0b25zICovXG4uaWNzLXNvdXJjZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDFyZW07XG59XG5cbi5wcmltYXJ5LWFjdGlvbnMsXG4uc2Vjb25kYXJ5LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0bWluLXdpZHRoOiA4MHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLWN0YTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbjpkaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNTtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0dHJhbnNmb3JtOiBub25lO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zeW5jaW5nIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLmVycm9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi8qIEFkZCBzb3VyY2UgY29udGFpbmVyICovXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMnJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lcjpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4vKiBUZXN0IGNvbnRhaW5lciAqL1xuLmljcy10ZXN0LWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG59XG5cbi5pY3MtdGVzdC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC42cmVtIDEuMnJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5pY3MtdGVzdC1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRvcGFjaXR5OiAwLjg7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogRW1wdHkgc3RhdGUgKi9cbi5pY3MtZW1wdHktc3RhdGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDNyZW0gMnJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIE1vZGFsIHN0eWxlcyAqL1xuLmljcy1zb3VyY2UtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uYXV0aC1maWVsZCB7XG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLm1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNXJlbTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xuXHRwYWRkaW5nLXRvcDogMXJlbTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5pY3Mtc291cmNlLWhlYWRlciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAwLjVyZW07XG5cdH1cblxuXHQucHJpbWFyeS1hY3Rpb25zLFxuXHQuc2Vjb25kYXJ5LWFjdGlvbnMge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcblx0Lmljcy1zb3VyY2UtaXRlbSB7XG5cdFx0cGFkZGluZzogMXJlbTtcblx0fVxuXG5cdC5wcmltYXJ5LWFjdGlvbnMsXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XG5cdH1cblxuXHQubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogVGV4dCBSZXBsYWNlbWVudHMgU3R5bGVzICovXG4udGV4dC1yZXBsYWNlbWVudHMtbGlzdCB7XG5cdG1hcmdpbjogMXJlbSAwO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudHMtZW1wdHkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtcnVsZSB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtaGVhZGVyIHN0cm9uZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMge1xuXHRwYWRkaW5nOiAwLjJyZW0gMC42cmVtO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cy5lbmFibGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cy5kaXNhYmxlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWRldGFpbHMgZGl2IHtcblx0bWFyZ2luLWJvdHRvbTogMC4zcmVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1wYXR0ZXJuIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXJlcGxhY2VtZW50IHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNXJlbTtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hZGQge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hZGQgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBUZXh0IFJlcGxhY2VtZW50IE1vZGFsIFN0eWxlcyAqL1xuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuXHRtYXgtd2lkdGg6IDcwMHB4O1xuXHRtYXgtaGVpZ2h0OiA4NXZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGVzdC1vdXRwdXQge1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuOHJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50ZXN0LXJlc3VsdCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIEV4YW1wbGVzIHNlY3Rpb24gKi9cbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIHVsIHtcblx0bWFyZ2luOiAwLjVyZW0gMDtcblx0cGFkZGluZy1sZWZ0OiAxLjVyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIGxpIHtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0cGFkZGluZzogMC4xcmVtIDAuM3JlbTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBzeW5jIGJ1dHRvbiAqL1xuQGtleWZyYW1lcyBzcGluIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3luY2luZzo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLmljcy10ZXh0LXJlcGxhY2VtZW50LW1vZGFsLFxuLmljcy1zb3VyY2UtbW9kYWwge1xuXHRtYXgtd2lkdGg6IDEwMDBweDtcblx0bWF4LWhlaWdodDogOTB2aDtcblxuXHRwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwgLm1vZGFsLWNvbnRlbnQsXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cbiIsICIvKiBUYXNrIGZpbHRlciBwYW5lbCBzdHlsZXMgKi9cbi50YXNrLWZpbHRlci1wYW5lbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRhc2stZmlsdGVyLWFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1maWx0ZXItcGFuZWwgPiAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG59XG5cbi50YXNrLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnRhc2stZmlsdGVyLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEwcHg7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24gaDMge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdG1hcmdpbjogNXB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb246bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IHVuc2V0O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0bWFyZ2luOiAwO1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIGxhYmVsIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmctdG9wOiA4cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWZpbHRlci1hcHBseSxcbi50YXNrLWZpbHRlci1jbG9zZSB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay1maWx0ZXItYXBwbHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1maWx0ZXItcmVzZXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1jbG9zZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLXF1ZXJ5LWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnRhc2stZmlsdGVyLXF1ZXJ5LWlucHV0OmZvY3VzIHtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdG1heC1oZWlnaHQ6IDcwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuIiwgIi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTIpIDA7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2QjIxXHU4OTgxXHU2NTg3XHU2NzJDXHU5ODlDXHU4MjcyICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xufVxuLmZpbHRlci1ncm91cC1zZXBhcmF0b3I6OmJlZm9yZSxcbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGZsZXgtZ3JvdzogMTtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGQjlcdTY4NDZcdTk4OUNcdTgyNzIgKi9cblx0bWFyZ2luOiAwIHZhcigtLXNpemUtMi0xKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xufVxuLmRyYWctaGFuZGxlIHtcblx0Y3Vyc29yOiBncmFiO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogXHU2MzA5XHU5NEFFXHU1NDhDXHU4RjkzXHU1MTY1XHU2ODQ2XHU3Njg0XHU4RjgzXHU1QzBGXHU2NTg3XHU2NzJDXHU1NDhDXHU1MTg1XHU4RkI5XHU4REREICovXG4uY29tcGFjdC1idG4ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZztcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWlucHV0LWZvbnQtd2VpZ2h0KTtcblx0Y3Vyc29yOiB2YXIoLS1jdXJzb3IpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cblx0bWluLWhlaWdodDogMzBweDtcbn1cblxuLmNvbXBhY3QtYnRuOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0b3BhY2l0eTogdmFyKC0taWNvbi1vcGFjaXR5LWhvdmVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG4uY29tcGFjdC1pbnB1dCxcbi5jb21wYWN0LXNlbGVjdCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xuXHRoZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGOTNcdTUxNjVcdTY4NDZcdTlBRDhcdTVFQTZcdTUzRDhcdTkxQ0YgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4uY29tcGFjdC1zZWxlY3Q6aG92ZXIge1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4uY29tcGFjdC10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXG59XG5cbi8qIFx1NjJENlx1NTJBOFx1NjVGNlx1NzY4NFx1NTM2MFx1NEY0RFx1N0IyNiAqL1xuLmRyYWdnaW5nLXBsYWNlaG9sZGVyIHtcblx0b3BhY2l0eTogMC41O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTYwQUNcdTUwNUNcdTgwQ0NcdTY2NkZcdTgyNzIgKi9cbn1cblxuLyogXHU1OTgyXHU2NzlDXHU5NzAwXHU4OTgxXHVGRjBDXHU0RTNBXHU4RkM3XHU2RUU0XHU1NjY4XHU3RUM0XHU0RUY2XHU3Njg0XHU2ODM5XHU1QkI5XHU1NjY4XHU4QkJFXHU3RjZFXHU2ODM3XHU1RjBGICovXG4udGFzay1maWx0ZXItcm9vdC1jb250YWluZXIudGFzay1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4udGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NTcwNlx1ODlEMlx1NTNEOFx1OTFDRiAqL1xufVxuXG4uZmlsdGVyLW1lbnUge1xuXHR6LWluZGV4OiA1MDtcblx0bWluLXdpZHRoOiA2MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogcm9vdEZpbHRlclNldHVwU2VjdGlvbiBpbiBUUywgY29ycmVzcG9uZHMgdG8gSFRNTCdzICNyb290LWZpbHRlci1jb250YWluZXIgKi9cbi5yb290LWZpbHRlci1zZXR1cC1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjc1cmVtOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0zKSAqL1xufVxuXG4vKiBSb290IENvbmRpdGlvbiBTZWN0aW9uIChkaXYuZmxleC5pdGVtcy1jZW50ZXIuc3BhY2UteC0yLnAtMi5iZy1zbGF0ZS0xMDAucm91bmRlZC1tZC5ib3JkZXIuYm9yZGVyLXNsYXRlLTIwMCkgKi9cbi5yb290LWNvbmRpdGlvbi1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07IC8qIHNwYWNlLXgtMiBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTIpICovXG5cdHBhZGRpbmc6IDAuNXJlbTsgLyogcC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0LFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpXG5cdCk7IC8qIGJnLXNsYXRlLTEwMCAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCAqL1xufVxuXG4ucm9vdC1jb25kaXRpb24tbGFiZWwge1xuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cbn1cblxuLnJvb3QtY29uZGl0aW9uLXNlbGVjdCB7XG5cdC8qIGNvbXBhY3Qtc2VsZWN0IGFscmVhZHkgcHJvdmlkZXMgYmFzZSBzdHlsaW5nICovXG5cdHdpZHRoOiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTsgLyogYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgKi9cblx0LyogYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpOyAvKiBzaGFkb3ctc20gKi8gLyogQ29uc2lkZXIgaWYgbmVlZGVkICovXG59XG5cbi5yb290LWNvbmRpdGlvbi1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucm9vdC1jb25kaXRpb24tc3BhbiB7XG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xufVxuXG4vKiBGaWx0ZXIgR3JvdXBzIENvbnRhaW5lciAoI2ZpbHRlci1ncm91cHMtY29udGFpbmVyKSAqL1xuLmZpbHRlci1ncm91cHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7IC8qIHNwYWNlLXktMyBmcm9tIEhUTUwgKi9cblxuXHRtYXgtaGVpZ2h0OiA1MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLyogRmlsdGVyIEdyb3VwICgjZmlsdGVyLWdyb3VwLXRlbXBsYXRlKSAqL1xuLmZpbHRlci1ncm91cCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTsgLyogcC0zIGZyb20gSFRNTCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpOyAvKiBiZy13aGl0ZSAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogc3BhY2UteS0yIGZyb20gSFRNTCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC4zNzVyZW07IC8qIHNwYWNlLXgtMS41IGZyb20gSFRNTCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpOyAvKiB0ZXh0LXNsYXRlLTQwMCAqL1xufVxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyOmhvdmVyIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogaG92ZXI6dGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCA+IC5jb21wYWN0LXRleHQsXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0ID4gc3Bhbi5jb21wYWN0LXRleHQge1xuXHRmb250LXdlaWdodDogNTAwOyAvKiBmb250LW1lZGl1bSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XG59XG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuMjVyZW07IC8qIHNwYWNlLXgtMSBmcm9tIEhUTUwgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bixcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIHJvdW5kZWQtbWQgZnJvbSBUYWlsd2luZCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0XG5cdC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXJcblx0LnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIGhvdmVyOnRleHQtaW5kaWdvLTYwMCAqL1xufVxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpOyAvKiBob3Zlcjp0ZXh0LXJlZC02MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpXG5cdCk7XG59XG5cbi8qIEZpbHRlcnMgTGlzdCAoLmZpbHRlcnMtbGlzdCkgKi9cbi5maWx0ZXJzLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTsgLyogc3BhY2UteS0xLjUgZnJvbSBIVE1MICovXG5cdHBhZGRpbmctbGVmdDogMXJlbTsgLyogcGwtNCBmcm9tIEhUTUwgKi9cblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlci1sLTIgYm9yZGVyLXNsYXRlLTIwMCAqL1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTIpOyAvKiBtbC0xLjUgZnJvbSBIVE1MICovXG59XG4uZmlsdGVycy1saXN0OmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogR3JvdXAgRm9vdGVyICguZ3JvdXAtZm9vdGVyKSAqL1xuLmdyb3VwLWZvb3RlciB7XG5cdC8qIEhUTUw6IDxkaXYgY2xhc3M9XCJwbC00IG10LTEuNVwiPiBjb250YWluaW5nIGJ1dHRvbiAqL1xuXHQvKiBUUyBjcmVhdGVzIC5ncm91cC1mb290ZXIsIHRoZW4gYWRkcyBCdXR0b25Db21wb25lbnQgdG8gaXQuICovXG5cdHBhZGRpbmctbGVmdDogMC4zNzVyZW07IC8qIENvcnJlc3BvbmRzIHRvIHBsLTEuNSBlZmZlY3RpdmVseSBpZiBpdGVtcyBpbnNpZGUgLmZpbHRlcnMtbGlzdCBoYXZlIG1hcmdpbi9wYWRkaW5nICovXG5cdG1hcmdpbi10b3A6IDAuMzc1cmVtOyAvKiBtdC0xLjUgKi9cbn1cblxuLmFkZC1maWx0ZXItYnRuLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogRmlsdGVyIEl0ZW0gKCNmaWx0ZXItaXRlbS10ZW1wbGF0ZSkgKi9cbi5maWx0ZXItaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdC8qIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cblx0LyogYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAqL1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmp1bmN0aW9uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiB0ZXh0LTJ4cyAqL1xuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTsgLyogdGV4dC1zbGF0ZS00MDAgKi9cblx0YWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xuXHRmbGV4LWJhc2lzOiAzMCU7IC8qIHctMS8zICovXG5cdGZsZXgtZ3JvdzogMDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkXG5cdFx0dmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcblx0d2lkdGg6IGF1dG87IC8qIHctYXV0byAqL1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcblx0LyogYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50OyAqL1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLXZhbHVlLWlucHV0LmNvbXBhY3QtaW5wdXQge1xuXHRmbGV4LWdyb3c6IDE7IC8qIGZsZXgtZ3JvdyAqL1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcblx0d2lkdGg6IDEwMCU7XG59XG4uZmlsdGVyLWl0ZW0gLmZpbHRlci12YWx1ZS1pbnB1dC5jb21wYWN0LWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7IC8qIGhvdmVyOnRleHQtcmVkLTYwMCAqL1xufVxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1lcnJvci1ob3Zlcixcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKVxuXHQpO1xufVxuXG4vKiBBZGQgRmlsdGVyIEdyb3VwIEJ1dHRvbiBTZWN0aW9uICovXG4uYWRkLWdyb3VwLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWRkLWZpbHRlci1ncm91cC1idG4taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgQ29uZmlndXJhdGlvbiBTZWN0aW9uICovXG4uZmlsdGVyLWNvbmZpZy1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdC8qIG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTsgKi9cblx0LyogbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpOyAqL1xuXHQvKiBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xuXHQvKiBwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpOyAqL1xuXHQvKiBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xufVxuXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bixcbi5sb2FkLWZpbHRlci1jb25maWctYnRuIHtcblx0ZmxleDogMTtcbn1cblxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4taWNvbixcbi5sb2FkLWZpbHRlci1jb25maWctYnRuLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBGaWx0ZXIgQ29uZmlnIE1vZGFsIFN0eWxlcyAqL1xuLmZpbHRlci1jb25maWctZGV0YWlscyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCkgMTAwJVxuXHQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmZpbHRlci1jb25maWctZGV0YWlsczpob3ZlciB7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzIGgzIHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmZpbHRlci1jb25maWctZGV0YWlscyBwIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMikgMDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1jb25maWctbWV0YSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1jb25maWctc3VtbWFyeSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDAgMCAwO1xuXHRib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IGg0IHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS0yLTMpIDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IHAge1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLmZpbHRlci1jb25maWctYnV0dG9ucyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmZpbHRlci1jb25maWctbmFtZS1oaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogQWR2YW5jZWQgZmlsdGVyIGNvbnRhaW5lciBzdHlsZXMgZm9yIFZpZXdDb25maWdNb2RhbCAqL1xuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLXJvb3QtY29udGFpbmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLW1haW4tcGFuZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBTbWFsbGVyIHN0eWxpbmcgZm9yIGZpbHRlcnMgaW4gbW9kYWwgKi9cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWdyb3VwIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWl0ZW0ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtYnRuIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0bWluLWhlaWdodDogMjZweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LXNlbGVjdCxcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1pbnB1dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0aGVpZ2h0OiAyOHB4O1xufVxuIiwgIi8qIFZpZXcgU2V0dGluZ3MgVGFiIFN0eWxlcyAqL1xuXG4vKiBWaWV3IG1hbmFnZW1lbnQgbGlzdCBjb250YWluZXIgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4vKiBTZWN0aW9uIGNvbnRhaW5lcnMgKi9cbi52aWV3LXNlY3Rpb24tY29udGFpbmVyIHtcblx0bWluLWhlaWdodDogMTAwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4vKiBTZWN0aW9uIGhlYWRlcnMgKi9cbi52aWV3LXNlY3Rpb24taGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnZpZXctc2VjdGlvbi1oZWFkZXIgaDQge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udmlldy1zZWN0aW9uLWl0ZW1zLFxuLnNvcnRhYmxlLXZpZXdzIHtcblx0bWluLWhlaWdodDogNjBweDtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5zb3J0YWJsZS12aWV3czplbXB0eTo6YWZ0ZXIge1xuXHRjb250ZW50OiBhdHRyKGRhdGEtZW1wdHktdGV4dCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogMjBweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uc29ydGFibGUtdmlld3NbZGF0YS1yZWdpb249XCJ0b3BcIl06ZW1wdHk6OmFmdGVyIHtcblx0Y29udGVudDogXCJEcmFnIHZpZXdzIGhlcmUgZm9yIHRoZSB0b3Agc2VjdGlvblwiO1xufVxuXG4uc29ydGFibGUtdmlld3NbZGF0YS1yZWdpb249XCJib3R0b21cIl06ZW1wdHk6OmFmdGVyIHtcblx0Y29udGVudDogXCJEcmFnIHZpZXdzIGhlcmUgZm9yIHRoZSBib3R0b20gc2VjdGlvblwiO1xufVxuXG4vKiBWaWV3IGl0ZW0gc3R5bGVzICovXG4udmlldy1pdGVtLFxuLnNvcnRhYmxlLXZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBtb3ZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udmlldy1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xufVxuXG4vKiBEcmFnIGhhbmRsZSBzdHlsZXMgKi9cbi52aWV3LWRyYWctaGFuZGxlIHtcblx0Y3Vyc29yOiBncmFiO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udmlldy1kcmFnLWhhbmRsZTphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpZXcgaXRlbSBpY29uICovXG4udmlldy1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLyogVmlldyBpdGVtIGluZm8gKi9cbi52aWV3LWl0ZW0taW5mbyB7XG5cdGZsZXg6IDE7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udmlldy1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udmlldy1pdGVtLXR5cGUge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogVmlldyBpdGVtIGFjdGlvbnMgKi9cbi52aWV3LWl0ZW0tYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNHB4O1xufVxuXG4udmlldy1hY3Rpb24tYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZpZXctYWN0aW9uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udmlldy1hY3Rpb24tZGVsZXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5zb3J0YWJsZS1naG9zdCB7XG5cdG9wYWNpdHk6IDAuNDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgIWltcG9ydGFudDtcbn1cblxuLnNvcnRhYmxlLWRyYWcge1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uc29ydGFibGUtY2hvc2VuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgIWltcG9ydGFudDtcbn1cbiIsICIvKiBGaWxlIEZpbHRlciBTZXR0aW5ncyBTdHlsZXMgKi9cblxuLmZpbGUtZmlsdGVyLXJ1bGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxcmVtO1xuXHRwYWRkaW5nOiAwLjc1cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSxcbi5maWxlLWZpbHRlci1ydWxlLXBhdGgsXG4uZmlsZS1maWx0ZXItcnVsZS1zY29wZSxcbi5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuMjVyZW07XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXR5cGUge1xuXHRtaW4td2lkdGg6IDgwcHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXBhdGgge1xuXHRmbGV4OiAxO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0bWluLXdpZHRoOiA2MHB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBsYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0cGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZGVsZXRlIHtcblx0cGFkZGluZzogMC4yNXJlbTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGdhcDogMC41cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgKyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXRzIHtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMC4yNXJlbSAwO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdDpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLnN0YXQtbGFiZWwge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uc3RhdC12YWx1ZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBFcnJvciBzdGF0ZSBmb3Igc3RhdGlzdGljcyAqL1xuLmZpbGUtZmlsdGVyLXN0YXQuZXJyb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQuZXJyb3IgLnN0YXQtbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFJlZnJlc2ggYnV0dG9uIHN0eWxpbmcgKi9cbi5zZXR0aW5nLWl0ZW0gLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvblthcmlhLWxhYmVsKj1cInJlZnJlc2hcIl0ge1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bYXJpYS1sYWJlbCo9XCJyZWZyZXNoXCJdOmhvdmVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4vKiBMb2FkaW5nIHN0YXRlIGFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyByZWZyZXNoLXNwaW4ge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bZGlzYWJsZWRdIC5sdWNpZGUtcmVmcmVzaC1jdyB7XG5cdGFuaW1hdGlvbjogcmVmcmVzaC1zcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gZm9yIHNtYWxsZXIgc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5maWxlLWZpbHRlci1ydWxlIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdGdhcDogMC41cmVtO1xuXHR9XG5cblx0LmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSxcblx0LmZpbGUtZmlsdGVyLXJ1bGUtcGF0aCxcblx0LmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LmZpbGUtZmlsdGVyLXJ1bGUtZGVsZXRlIHtcblx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdH1cbn1cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogRW1wdHkgc3RhdGUgc3R5bGluZyAqL1xuLmZpbGUtZmlsdGVyLXJ1bGVzLWNvbnRhaW5lcjplbXB0eTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJObyBmaWx0ZXIgcnVsZXMgY29uZmlndXJlZC4gQWRkIHJ1bGVzIGJlbG93IHRvIHN0YXJ0IGZpbHRlcmluZyBmaWxlcyBhbmQgZm9sZGVycy5cIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDJyZW07XG59XG5cbi8qIFByZXNldCB0ZW1wbGF0ZXMgc2VjdGlvbiAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogUHJlc2V0IGJ1dHRvbiBzdHlsaW5nICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNjtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogU3VjY2VzcyBzdGF0ZSBmb3IgYXBwbGllZCBwcmVzZXRzICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuLXJnYik7XG5cdG9wYWNpdHk6IDAuODtcbn1cbiIsICIvKiBNQ1AgSW50ZWdyYXRpb24gU2V0dGluZ3MgU3R5bGVzICovXG5cbi8qIFN0YXR1cyBDb250YWluZXIgKi9cbi5tY3Atc3RhdHVzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLXN0YXR1cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLm1jcC1zdGF0dXMtaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjA1ZW07XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvci5ydW5uaW5nIC5zdGF0dXMtZG90IHtcbiAgICBjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGU7XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvci5zdG9wcGVkIC5zdGF0dXMtZG90IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLm1jcC1zdGF0dXMtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDI0cHg7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4vKiBDbGllbnQgQ29uZmlndXJhdGlvbiAqL1xuLm1jcC1jb25maWctY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubWNwLWNsaWVudC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWNwLWNsaWVudC1oZWFkZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLm1jcC1jbGllbnQtaGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogQXJyb3cgaWNvbiBmb3IgY29sbGFwc2libGUgc2VjdGlvbnMgKi9cbi5tY3AtYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4ubWNwLWFycm93IHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHN0cm9rZS13aWR0aDogMjtcbn1cblxuLm1jcC1hcnJvdy5leHBhbmRlZCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4ubWNwLWNsaWVudC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtY2xpZW50LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tY3AtY2xpZW50LWNvbnRlbnQuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWNwLWNvbmZpZy1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxNnB4IDYwcHggMTZweCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZykgdmFyKC0tc2Nyb2xsYmFyLWJnKTtcbn1cblxuLm1jcC1jb25maWctY29kZSBjb2RlIHtcbiAgICBjb2xvcjogdmFyKC0tY29kZS1ub3JtYWwpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItYmcpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItYWN0aXZlLXRodW1iLWJnKTtcbn1cblxuLyogQ29weSBCdXR0b25zICovXG4ubWNwLWNvcHktYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDEycHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLm1jcC1jb3B5LWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLm1jcC1jb3B5LWJ0bi5jb3BpZWQge1xuICAgIGFuaW1hdGlvbjogY29weVN1Y2Nlc3MgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcbn1cblxuLyogQXV0aGVudGljYXRpb24gTWV0aG9kcyBMaXN0ICovXG4ubWNwLWF1dGgtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1jcC1hdXRoLWxpc3Qge1xuICAgIG1hcmdpbjogMTBweCAwIDAgMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4ubWNwLWF1dGgtbGlzdCBsaSB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWF1dGgtbGlzdCBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcbn1cblxuLyogVG9rZW4gSW5wdXQgKi9cbi5tY3AtdG9rZW4taW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLyogQVBJIERvY3VtZW50YXRpb24gKi9cbi5tY3AtZG9jcy1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tY3AtZG9jcy1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubWNwLWRvY3Mtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBFbmRwb2ludCBCb3ggKi9cbi5tY3AtZW5kcG9pbnQtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1jcC1lbmRwb2ludC1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cblxuLm1jcC1lbmRwb2ludC1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5tY3AtZW5kcG9pbnQtdXJsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuIHtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xufVxuXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi5tY3AtY29weS1lbmRwb2ludC1idG4uY29waWVkIHtcbiAgICBhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRvb2xzIEdyaWQgKi9cbi5tY3AtdG9vbHMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5tY3AtdG9vbC1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSkgMTAwJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWNwLXRvb2wtY2FyZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpIDAlLCB2YXIoLS10ZXh0LWFjY2VudCkgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4ubWNwLXRvb2wtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5tY3AtdG9vbC1jYXJkOmhvdmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuXG4ubWNwLXRvb2wtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm1jcC10b29sLWljb24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4ubWNwLXRvb2wtaWNvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBzdHJva2Utd2lkdGg6IDI7XG59XG5cbi5tY3AtdG9vbC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJveCk7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLm1jcC10b29sLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmctbGVmdDogMjhweDtcbn1cblxuLyogRXhhbXBsZSBDb250YWluZXIgKi9cbi5tY3AtZXhhbXBsZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLyogRXhhbXBsZSBUYWJzICovXG4ubWNwLWV4YW1wbGUtdGFicyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJveCkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1jcC1leGFtcGxlLXRhYjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVgoMCk7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG59XG5cbi5tY3AtZXhhbXBsZS10YWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDUpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgxKTtcbn1cblxuLyogRXhhbXBsZSBDb2RlICovXG4ubWNwLWV4YW1wbGUtY29kZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtZXhhbXBsZS1ibG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlO1xufVxuXG4ubWNwLWV4YW1wbGUtYmxvY2suYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi5tY3AtZXhhbXBsZS1jb2RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjRweCA4MHB4IDI0cHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2RlLWJhY2tncm91bmQpIDAlLCByZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjUpIDEwMCUpO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tY3AtZXhhbXBsZS1jb2RlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlciksIHRyYW5zcGFyZW50KTtcbn1cblxuLm1jcC1leGFtcGxlLWNvZGUgY29kZSB7XG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29weS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4zKTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNCk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4zKTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuLmNvcGllZCB7XG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjRzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MtcmdiKSwgMC4zKTtcbn1cblxuLyogQW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyBjb3B5U3VjY2VzcyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAxOyB9XG4gICAgNTAlIHsgb3BhY2l0eTogMC42OyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBhbGwgaW50ZXJhY3RpdmUgZWxlbWVudHMgKi9cbi5tY3AtY2xpZW50LWhlYWRlcixcbi5tY3AtZXhhbXBsZS10YWIsXG4ubWNwLXRvb2wtY2FyZCxcbmJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLyogQ29kZSBzeW50YXggY29sb3JzIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkgKi9cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24ta2V5IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLXN0cmluZyB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tbnVtYmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLm1jcC1jb25maWctY29kZSAuanNvbi1ib29sZWFuIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5tY3AtdG9vbHMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgICBcbiAgICAubWNwLXN0YXR1cy1kZXRhaWxzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgfVxufVxuXG4ubWNwLWV4YW1wbGUtc3VidGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4vKiBDdXJzb3IgT25lLUNsaWNrIEluc3RhbGwgU2VjdGlvbiAqL1xuLm1jcC1jdXJzb3ItaW5zdGFsbC1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWRlc2Mge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWxpbms6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4ubWNwLWN1cnNvci1hZGRpdGlvbmFsLWJ1dHRvbnMge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDEwcHg7XG59XG5cblxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ubWNwLWN1cnNvci1jb3B5LWRlZXBsaW5rLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG4uY29waWVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcyk7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctdG9nZ2xlIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctdG9nZ2xlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvbnRlbnQge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctbGFiZWwge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1sYWJlbDpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvZGUgY29kZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLm1jcC1zZWN0aW9uLXNlcGFyYXRvciB7XG5cdG1hcmdpbjogMjRweCAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59IiwgIi8qIFdvcmtmbG93IERlY29yYXRvciBTdHlsZXMgKi9cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yIHNwYW4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3I6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBEaWZmZXJlbnQgY29sb3JzIGZvciBkaWZmZXJlbnQgc3RhZ2UgdHlwZXMgKi9cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwibGluZWFyXCJdIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJjeWNsZVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwibGluZWFyXCJdIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJjeWNsZVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG4iLCAiLyogRGF0ZSBQaWNrZXIgQ29tcG9uZW50IFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogNTAwcHg7XG5cdG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbWFpbi1wYW5lbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbGVmdC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1yaWdodC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjUwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItc2VjdGlvbi10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBRdWljayBPcHRpb25zIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXgtaGVpZ2h0OiAxOTVweDtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb24ge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uc2VsZWN0ZWQgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogQ2FsZW5kYXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1tb250aC15ZWFyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0bWluLWhlaWdodDogMzJweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5Lm90aGVyLW1vbnRoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogUG9wb3ZlciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUge1xuXHR6LWluZGV4OiAyMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmRhdGUtcGlja2VyLXBvcG92ZXIudGctbWVudSAuZGF0ZS1waWNrZXItcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogTW9iaWxlIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdFx0bWluLXdpZHRoOiAzMDBweDtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRcdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdH1cbn1cblxuLyogV2lkZ2V0IEVycm9yIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci13aWRnZXQtZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcbn1cbiIsICIvKiBRdWljayBDYXB0dXJlIFBhbmVsICovXG4ucXVpY2stY2FwdHVyZS1wYW5lbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIFF1aWNrIENhcHR1cmUgQWN0aW9ucyAqL1xuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBNaW5pbWFsIFF1aWNrIENhcHR1cmUgTW9kYWwgKi9cbi5xdWljay1jYXB0dXJlLW1vZGFsLm1pbmltYWwge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXgtaGVpZ2h0OiAyMDBweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1lZGl0b3ItY29udGFpbmVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWVkaXRvci1jb250YWluZXIgLmNtLWVkaXRvciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWVkaXRvci1jb250YWluZXIgLmNtLWVkaXRvci5jbS1mb2N1c2VkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWFscGhhKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5xdWljay1hY3Rpb25zLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnF1aWNrLWFjdGlvbnMtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnF1aWNrLWFjdGlvbi1idXR0b24uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucXVpY2stYWN0aW9uLXNhdmUge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4td2lkdGg6IDgwcHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YWctaW5wdXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogNjBweDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHdpZHRoOiAzMDBweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XG5cdHotaW5kZXg6IDEwMDA7XG59XG5cbi8qIE1pbmltYWwgUXVpY2sgQ2FwdHVyZSBTdWdnZXN0ICovXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5zdWdnZXN0aW9uLWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdG1pbi13aWR0aDogMjBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VnZ2VzdGlvbi1jb250ZW50IHtcblx0ZmxleDogMTtcbn1cblxuLnN1Z2dlc3Rpb24tbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5xdWljay1jYXB0dXJlLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0IHtcblx0ZmxleDogMTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0bWF4LXdpZHRoOiA1MDBweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YXJnZXQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7XG59XG5cbi5xdWljay1jYXB0dXJlLWhpbnQge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRtYXJnaW4tdG9wOiAtNHB4O1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yIHtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5xdWljay1jYXB0dXJlLWZpbGUtc3VnZ2VzdCB7XG5cdG1heC13aWR0aDogNTAwcHg7XG59XG5cbi5xdWljay1jYXB0dXJlLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtc3VibWl0LFxuLnF1aWNrLWNhcHR1cmUtY2FuY2VsIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucXVpY2stY2FwdHVyZS1zdWJtaXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGdhcDogMTBweDtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucXVpY2stY2FwdHVyZS1tb2RhbC1lZGl0b3Ige1xuXHRtaW4taGVpZ2h0OiAxNTBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5xdWljay1jYXB0dXJlLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG59XG5cbi8qIEZ1bGwtZmVhdHVyZWQgbW9kYWwgc3R5bGVzICovXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIHtcblx0d2lkdGg6IDgwdnc7XG5cdG1heC13aWR0aDogOTAwcHg7XG59XG5cbi5xdWljay1jYXB0dXJlLWxheW91dCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0Z2FwOiAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctcmlnaHQ6IDE2cHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1heC13aWR0aDogNDAlO1xufVxuXG4ucXVpY2stY2FwdHVyZS1lZGl0b3ItcGFuZWwge1xuXHRmbGV4OiAxLjU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5xdWljay1jYXB0dXJlLXNlY3Rpb24tdGl0bGUge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0LWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwgLnF1aWNrLWNhcHR1cmUtbW9kYWwtZWRpdG9yIHtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLyogTW9iaWxlIG9wdGltaXphdGlvbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xuXHRcdHdpZHRoOiA5NXZ3O1xuXHR9XG5cblx0LnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTZweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdG1heC1oZWlnaHQ6IDQwJTtcblx0fVxufVxuXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuIiwgIi8qIFRhc2sgbGlzdCAqL1xuLnRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50YXNrLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXIgLnRhc2staXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2staXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YXNrLWl0ZW0udGFzay1jb21wbGV0ZWQgLnRhc2staXRlbS1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2staXRlbSAubWFya2Rvd24tYmxvY2subWFya2Rvd24tcmVuZGVyZXIgPiBwOm9ubHktY2hpbGQge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay1jaGVja2JveCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWNoZWNrYm94IHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay1pdGVtLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBEeW5hbWljIGNvbnRlbnQtbWV0YWRhdGEgY29udGFpbmVyICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4vKiBTaW5nbGUgbGluZSBjb250ZW50IGxheW91dCAtIGhvcml6b250YWwgKi9cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDsgLyogQWxsb3cgY29udGVudCB0byBzaHJpbmsgKi9cbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1pdGVtLW1ldGFkYXRhIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIE11bHRpLWxpbmUgY29udGVudCBsYXlvdXQgLSB2ZXJ0aWNhbCAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHQvKiB3aWR0aDogMTAwJTsgKi9cbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLWl0ZW0tbWV0YWRhdGEge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0tbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1pdGVtLW1ldGFkYXRhOmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRhc2stZGF0ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRhc2staXRlbTpob3ZlciAudGFzay1kYXRlIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2stZGF0ZTo6YmVmb3JlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcblx0Zm9udC1zaXplOiB4eC1zbWFsbDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnRnLWthbmJhbi12aWV3IC50YXNrLWRhdGU6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWR1ZS1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1RENDNVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stb3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWR1ZS10b2RheSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvaW5nLWNvbG9yKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWR1ZS1zb29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50YXNrLWRhdGUudGFzay1zdGFydC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1REVFQlwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stY3JlYXRlZC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1Mjc5NVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stc2NoZWR1bGVkLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyM0YzXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1kb25lLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzA1XCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1jYW5jZWxsZWQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3NENcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLXJlY3VycmVuY2U6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERDAxXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1vbi1jb21wbGV0aW9uOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzQ1x1REZDMVwiO1xufVxuXG4udGFzay1wcm9qZWN0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50YXNrLXByb2plY3Q6aGFzKGlucHV0KSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2staXRlbTpob3ZlciAudGFzay1wcm9qZWN0IHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2stcHJvamVjdDo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdUREQzJcdUZFMEZcIjtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50YXNrLXByb2plY3Q6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi50YXNrLXByaW9yaXR5IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4udGFzay1wcmlvcml0eS5wcmlvcml0eS00IHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0zIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogTmV3IGZpZWxkIHN0eWxlcyAqL1xuLnRhc2stb25jb21wbGV0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1kZXBlbmRzb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1kZXBlbmRzb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1pZCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2staWQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFRhc2sgdGFnIHN0eWxlcyAqL1xuLnRhc2stdGFncy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay10YWdzLWNvbnRhaW5lcjplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLXRhZyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG9wYWNpdHk6IDAuNzU7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stdGFnIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2staXRlbS1jb250ZW50IHA6aGFzKGltZykgaW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiBtaW4oNTAlLCAyMDBweCk7XG59XG4iLCAiLyogSW5saW5lIEVkaXRvciBTdHlsZXMgLSBPcHRpbWl6ZWQgZm9yIFBlcmZvcm1hbmNlIGFuZCBVWCAqL1xuLmlubGluZS1lZGl0b3Ige1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbnRlbnQgRWRpdG9yIC0gTW9yZSBpbmxpbmUgYXBwZWFyYW5jZSAqL1xuLmlubGluZS1jb250ZW50LWVkaXRvciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAxOHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdHJlc2l6ZTogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLmlubGluZS1jb250ZW50LWVkaXRvcjpmb2N1cyB7XG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3gtc2hhZG93OiAwIDFweCAwIDAgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogRW1iZWRkZWQgRWRpdG9yIFN0eWxlcyAtIE1vcmUgc2VhbWxlc3MgKi9cbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAxOHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAxOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWVkaXRvciB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpICFpbXBvcnRhbnQ7XG59XG5cbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpICFpbXBvcnRhbnQ7XG59XG5cbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1jb250ZW50IHtcblx0cGFkZGluZzogMnB4IDRweDtcblx0bWluLWhlaWdodDogMThweDtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1saW5lIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogTWV0YWRhdGEgRWRpdG9yIENvbnRhaW5lciAtIE1vcmUgY29tcGFjdCBhbmQgaW5saW5lICovXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0bWluLXdpZHRoOiAxMjBweDtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDA7XG59XG5cbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIGlucHV0IHtcblx0Ym9yZGVyOiB1bnNldDtcblx0b3V0bGluZTogdW5zZXQ7XG5cdHBhZGRpbmc6IDA7XG5cdGhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3IgaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiB1bnNldDtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yOmhhcyhpbnB1dCkge1xuXHRvdXRsaW5lOiB1bnNldDtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogdW5zZXQ7XG59XG5cbi8qIE1ldGFkYXRhIElucHV0IEZpZWxkcyAtIE1vcmUgY29tcGFjdCAqL1xuLmlubGluZS1wcm9qZWN0LWlucHV0LFxuLmlubGluZS10YWdzLWlucHV0LFxuLmlubGluZS1jb250ZXh0LWlucHV0LFxuLmlubGluZS1kYXRlLWlucHV0LFxuLmlubGluZS1yZWN1cnJlbmNlLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogMnB4IDRweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0b3V0bGluZTogbm9uZTtcblx0bWluLXdpZHRoOiA4MHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5pbmxpbmUtcHJvamVjdC1pbnB1dDpmb2N1cyxcbi5pbmxpbmUtdGFncy1pbnB1dDpmb2N1cyxcbi5pbmxpbmUtY29udGV4dC1pbnB1dDpmb2N1cyxcbi5pbmxpbmUtZGF0ZS1pbnB1dDpmb2N1cyxcbi5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uaW5saW5lLXByaW9yaXR5LXNlbGVjdCB7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4uaW5saW5lLXByaW9yaXR5LXNlbGVjdDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBBZGQgTWV0YWRhdGEgQnV0dG9uIC0gTW9yZSBzdWJ0bGUgKi9cbi5hZGQtbWV0YWRhdGEtY29udGFpbmVyIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi50YXNrLWxpc3QgLnRhc2staXRlbTpub3QoLnRyZWUtdGFzay1pdGVtKTpob3ZlciAuYWRkLW1ldGFkYXRhLWJ0biB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1pdGVtLWNvbnRhaW5lcjpob3ZlciAuYWRkLW1ldGFkYXRhLWJ0biB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5hZGQtbWV0YWRhdGEtYnRuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjJweDtcblx0aGVpZ2h0OiAyMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cdC0taWNvbi1zaXplOiAxMHB4O1xuXHRvcGFjaXR5OiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5hZGQtbWV0YWRhdGEtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5hZGQtbWV0YWRhdGEtYnRuOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLmFkZC1tZXRhZGF0YS1idG4gc3ZnIHtcblx0d2lkdGg6IDEwcHg7XG5cdGhlaWdodDogMTBweDtcbn1cblxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgKi9cbi5pbmxpbmUtZWRpdG9yICoge1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLFxuXHRcdGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLyogRm9jdXMgc3RhdGVzIGZvciBiZXR0ZXIgYWNjZXNzaWJpbGl0eSAqL1xuLmlubGluZS1lZGl0b3IgaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLWVkaXRvciB0ZXh0YXJlYTpmb2N1cyxcbi5pbmxpbmUtZWRpdG9yIHNlbGVjdDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEVkaXRhYmxlIE1ldGFkYXRhIEl0ZW1zIC0gTW9yZSBzdWJ0bGUgaG92ZXIgZWZmZWN0cyAqL1xuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1kYXRlLFxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWcge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1kYXRlOmhvdmVyLFxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0OmhvdmVyLFxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0dHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiBSZW1vdmUgdG9vbHRpcCBvbiBob3ZlciBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlICovXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXI6OmFmdGVyLFxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0OmhvdmVyOjphZnRlcixcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnOmhvdmVyOjphZnRlciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIENvbnRlbnQgRWRpdGFibGUgSG92ZXIgLSBNb3JlIHN1YnRsZSAqL1xuLnRhc2staXRlbS1jb250ZW50IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIHRyYW5zaXRpb25zIC0gT3B0aW1pemVkICovXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvciB7XG5cdGFuaW1hdGlvbjogZmFkZUluU2NhbGUgMC4xNXMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluU2NhbGUge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuXG4vKiBQcmV2ZW50IGxheW91dCBzaGlmdCBkdXJpbmcgZWRpdGluZyAqL1xuLmlubGluZS1lZGl0b3ItcGxhY2Vob2xkZXIge1xuXHRtaW4taGVpZ2h0OiAxZW07XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAtIFNpbXBsaWZpZWQgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuaW5saW5lLXByb2plY3QtaW5wdXQsXG5cdC5pbmxpbmUtdGFncy1pbnB1dCxcblx0LmlubGluZS1jb250ZXh0LWlucHV0LFxuXHQuaW5saW5lLXJlY3VycmVuY2UtaW5wdXQge1xuXHRcdG1pbi13aWR0aDogMTAwcHg7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHR9XG5cblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRcdG1heC13aWR0aDogMjUwcHg7XG5cdH1cbn1cblxuLyogSGlnaCBjb250cmFzdCBtb2RlIHN1cHBvcnQgKi9cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuXHQuaW5saW5lLWNvbnRlbnQtZWRpdG9yLFxuXHQuaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tZWRpdG9yIHtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG5cdH1cblxuXHQuaW5saW5lLW1ldGFkYXRhLWVkaXRvciB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLyogUmVkdWNlZCBtb3Rpb24gc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0LmlubGluZS1lZGl0b3IgKixcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1kYXRlLFxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3QsXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnLFxuXHQudGFzay1pdGVtLWNvbnRlbnQsXG5cdC5hZGQtbWV0YWRhdGEtYnRuIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRcdGFuaW1hdGlvbjogbm9uZTtcblx0fVxufVxuXG4vKiBOZXcgZmllbGQgaW5wdXQgc3R5bGVzICovXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dCxcbi5pbmxpbmUtaWQtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRvdXRsaW5lOiBub25lO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xufVxuXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDpmb2N1cyxcbi5pbmxpbmUtaWQtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDo6cGxhY2Vob2xkZXIsXG4uaW5saW5lLWlkLWlucHV0OjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cbiIsICIvKiBUcmVlIFZpZXcgc3R5bGVzICovXG5cbi8qIFRyZWUgaXRlbSBjb250YWluZXIgKi9cbi50cmVlLXRhc2staXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXIgLnRhc2staXRlbS50cmVlLXRhc2staXRlbSB7XG5cdGJvcmRlci1ib3R0b206IHVuc2V0O1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRnYXA6IDA7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0ge1xuXHRnYXA6IDA7XG59XG5cbi50cmVlLXRhc2staXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50cmVlLXRhc2staXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnRyZWUtdGFzay1pdGVtLmNvbXBsZXRlZCB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogVGFzayBjb250ZW50IHJvdyAoY29udGFpbnMgdGhlIG1haW4gdGFzayBjb250ZW50KSAqL1xuLnRyZWUtdGFzay1pdGVtID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogNnB4O1xufVxuXG4vKiBJbmRlbnRhdGlvbiBmb3IgaGllcmFyY2h5ICovXG4udGFzay1pbmRlbnQge1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1leHBhbmQtdG9nZ2xlIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2staXRlbSAudGFzay1jaGVja2JveCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi8qIEV4cGFuZC9jb2xsYXBzZSB0b2dnbGUgKi9cbi50YXNrLWV4cGFuZC10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmbGV4LXNocmluazogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1leHBhbmQtdG9nZ2xlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogVGFzayBjaGVja2JveCAqL1xuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3g6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94LmNoZWNrZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBUYXNrIGNvbnRlbnQgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRmbGV4LWdyb3c6IDE7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50cmVlLXRhc2staXRlbS5jb21wbGV0ZWQgLnRhc2stY29udGVudCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIER5bmFtaWMgY29udGVudC1tZXRhZGF0YSBjb250YWluZXIgZm9yIHRyZWUgdmlldyAqL1xuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi8qIFNpbmdsZSBsaW5lIGNvbnRlbnQgbGF5b3V0IC0gaG9yaXpvbnRhbCAqL1xuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7IC8qIEFsbG93IGNvbnRlbnQgdG8gc2hyaW5rICovXG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLW1ldGFkYXRhIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIE11bHRpLWxpbmUgY29udGVudCBsYXlvdXQgLSB2ZXJ0aWNhbCAqL1xuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLWl0ZW0tY29udGVudCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLW1ldGFkYXRhIHtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiBUYXNrIG1ldGFkYXRhICovXG4udGFzay1tZXRhZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLW1ldGFkYXRhOmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRhc2stZHVlLWRhdGUub3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stcHJvamVjdCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMXB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0zIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBOZXcgZmllbGQgc3R5bGVzIGZvciB0cmVlIHZpZXcgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLW9uY29tcGxldGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1kZXBlbmRzb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2staWQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIENoaWxkcmVuIGNvbnRhaW5lciAqL1xuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIHtcblx0LyogbWFyZ2luLWxlZnQ6IDIwcHg7ICovXG5cdG1hcmdpbi10b3A6IDRweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFZpZXcgdG9nZ2xlIGJ1dHRvbiAqL1xuLnZpZXctdG9nZ2xlLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udmlldy10b2dnbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lcjplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsICIvKiBGb3JlY2FzdCBDb21wb25lbnQgU3R5bGVzICovXG4uZm9yZWNhc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4OiAxO1xufVxuXG4uZm9yZWNhc3QtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZm9yZWNhc3QtdGl0bGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZvcmVjYXN0LXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjJlbTtcbn1cblxuLmZvcmVjYXN0LWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5mb3JlY2FzdC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZm9yZWNhc3Qtc2V0dGluZ3Mge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mb3JlY2FzdC1zZXR0aW5nczpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5mb3JlY2FzdC1mb2N1cy1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZvY3VzLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnVuZm9jdXMtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi51bmZvY3VzLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIE1haW4gY29udGVudCBsYXlvdXQgd2l0aCB0d28gY29sdW1ucyAqL1xuLmZvcmVjYXN0LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMzYwcHg7XG5cdG1pbi13aWR0aDogMzYwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLmZvcmVjYXN0LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5mb3JlY2FzdC10YXNrLWxpc3Qge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uZm9yZWNhc3QtY2FsZW5kYXItc2VjdGlvbiB7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogU3RhdHMgQmFyICovXG4uZm9yZWNhc3Qtc3RhdHMge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uc3RhdC1pdGVtIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RhdC1pdGVtOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAxMCU7XG5cdHdpZHRoOiA4MCU7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zdGF0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnN0YXQtaXRlbS5hY3RpdmU6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YW5pbWF0aW9uOiBjb2xvci1wdWxzZSAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTtcbn1cblxuQGtleWZyYW1lcyBjb2xvci1wdWxzZSB7XG5cdDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMSkgIWltcG9ydGFudDtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5zdGF0LWl0ZW0udGctdG9kYXk6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uc3RhdC1pdGVtLnRnLWZ1dHVyZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnN0YXQtY291bnQge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlIC5zdGF0LWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4uc3RhdC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHVlIFNvb24gU2VjdGlvbiAqL1xuLmZvcmVjYXN0LWR1ZS1zb29uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4uZHVlLXNvb24taGVhZGVyIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogNXB4IDE1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmR1ZS1zb29uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZHVlLXNvb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmR1ZS1zb29uLWRhdGUge1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZHVlLXNvb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmR1ZS1zb29uLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogT3ZlcmR1ZSBzZWN0aW9uIHN0eWxpbmcgKi9cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5kYXRlLXNlY3Rpb24taGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLnNlY3Rpb24tdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5zZWN0aW9uLWNvdW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNlY3Rpb24tdGFza3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9yZWNhc3QtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmlzLXBob25lXG5cdC5mb3JlY2FzdC1oZWFkZXI6aGFzKC5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSlcblx0LmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLyogRm9yZWNhc3QgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5mb3JlY2FzdC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLmZvcmVjYXN0LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi8qIENhbGVuZGFyIENvbXBvbmVudCBTdHlsZXMgKi9cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aCB7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0bjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10b2RheS1idG4ge1xuXHRwYWRkaW5nOiAycHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDNweCAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3XG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlci5jYWxlbmRhci13ZWVrZW5kIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogQWRqdXN0IGdyaWQgbGF5b3V0IHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiBpbiBtaW5pIGNhbGVuZGFyICovXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiAxcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkudG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5wYXN0LWR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRwYWRkaW5nOiAxcHggNHB4O1xuXHRtYXJnaW46IDFweCBhdXRvIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudC5oYXMtcHJpb3JpdHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxuXHRcdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHRcdC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwgIi8qIFRhZ3MgVmlldyBTdHlsZXMgKi9cbi50YWdzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZsZXg6IDE7XG59XG5cbi50YXNrLWdlbml1cy12aWV3OmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpIC50YWdzLWxlZnQtY29sdW1uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRhZ3MtY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tdWx0aS1zZWxlY3QtbW9kZSAudGFncy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50YWdzLWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IG1heCgxMjBweCwgMzAlKTtcblx0bWluLXdpZHRoOiBtaW4oMTIwcHgsIDMwJSk7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhZ3MtcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhZ3Mtc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnRhZ3Mtc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnRhZ3MtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhZ3Mtc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udGFnLWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDRweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGFnLWxpc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFnLWxpc3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnRhZy1pbmRlbnQge1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhZy1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnRhZy1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YWctY291bnQge1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0cGFkZGluZzogMXB4IDZweDtcbn1cblxuLnRhZy1jaGlsZHJlbiB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFncy10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4udGFncy10YXNrLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG4udGFncy10YXNrLWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFncy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFncy1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4udGFnLXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdGl0bGUge1xuXHRmbGV4OiAxO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTUpO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTUpO1xufVxuXG4vKiBUYWdzIFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAudGFncy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAudGFncy1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnRhZ3MtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC50YWdzLXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnRhZ3Mtc2lkZWJhci1jbG9zZSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAudGFncy1jb250YWluZXI6aGFzKC50YWdzLWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uaXMtcGhvbmUgLnRhZ3Mtc2lkZWJhci1oZWFkZXI6aGFzKC50YWdzLXNpZGViYXItY2xvc2UpIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cbiIsICIvKiBQcm9qZWN0cyBWaWV3IFN0eWxlcyAqL1xuLnByb2plY3RzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9qZWN0cy1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2plY3RzLWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IG1heCgxMjBweCwgMzAlKTtcblx0bWluLXdpZHRoOiBtaW4oMTIwcHgsIDMwJSk7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2plY3RzLXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnByb2plY3RzLXNpZGViYXItaGVhZGVyLWJ0bi1ncm91cCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnByb2plY3RzLXRyZWUtdG9nZ2xlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucHJvamVjdC1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucHJvamVjdC1saXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ucHJvamVjdC1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucHJvamVjdC1jb3VudCB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4vKiBQcm9ncmVzcyBjb3VudCBzdHlsaW5nIHdoZW4gc2hvd2luZyBjb21wbGV0ZWQvdG90YWwgKi9cbi5wcm9qZWN0LWNvdW50LnBhcnRpYWxseS1jb21wbGV0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnByb2plY3QtY291bnQuYWxsLWNvbXBsZXRlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wcm9qZWN0LWNvdW50Lmhhcy1wcm9ncmVzcyB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLyogU2VsZWN0ZWQgc3RhdGUgb3ZlcnJpZGVzICovXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQgLnByb2plY3QtY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQgLnByb2plY3QtY291bnQuYWxsLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cblxuLnByb2plY3RzLXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4ucHJvamVjdHMtaGVhZGVyLW1haW4tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucHJvamVjdHMtaGVhZGVyLXRvcC1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0d2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItdG9wLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIFByb2dyZXNzIGJhciBzdHlsZXMgZm9yIFByb2plY3RzIHZpZXcgKi9cbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDZweDtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiBBZGp1c3QgdGhlIGV4aXN0aW5nIHByb2dyZXNzIGJhciBzdHlsZXMgd2hlbiB1c2VkIGluIHByb2plY3RzIHZpZXcgKi9cbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyAucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kIHtcblx0ZmxleDogMTtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIC5wcm9ncmVzcy1zdGF0dXMge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5wcm9qZWN0cy10YXNrLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG4ucHJvamVjdHMtdGFzay1jb3VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnByb2plY3RzLXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5wcm9qZWN0cy1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4vKiBQcm9qZWN0cyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC5wcm9qZWN0cy1jb250YWluZXI6aGFzKC5wcm9qZWN0cy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xuLmlzLXBob25lIC5wcm9qZWN0cy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1oZWFkZXI6aGFzKC5wcm9qZWN0cy1zaWRlYmFyLWNsb3NlKSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG5cbi8qIFByb2plY3QgaW5mbyBwb3BvdmVyIHN0eWxpbmcgKi9cbi50Zy1wcm9qZWN0LXBvcG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdHBhZGRpbmc6IDEwcHggMTJweDtcblx0bWF4LXdpZHRoOiA1MjBweDtcblx0bWF4LWhlaWdodDogNjB2aDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi50Zy1wcm9qZWN0LXByb3BzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG59XG5cbi8qIEVhY2ggcm93OiBrZXkgb24gdGhlIGxlZnQsIHZhbHVlIG9uIHRoZSByaWdodCAqL1xuLnRnLXByb2plY3QtcHJvcHMgPiBkaXYge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg5MHB4LCAxNjBweCkgMWZyO1xuXHRhbGlnbi1pdGVtczogc3RhcnQ7XG5cdGNvbHVtbi1nYXA6IDEwcHg7XG5cdHBhZGRpbmc6IDJweCAwO1xufVxuXG4vKiBLZXkgY2VsbCAqL1xuLnRnLXByb2plY3QtcHJvcHMgPiBkaXYgPiBkaXY6Zmlyc3QtY2hpbGQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIFZhbHVlIGNlbGwgKi9cbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2ID4gZGl2Omxhc3QtY2hpbGQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIEluZm8gYnV0dG9uIHBvbGlzaCAqL1xuLnByb2plY3RzLXByb3BzLWJ0biB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLWljb24tc2l6ZSwgMjRweCk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zaXplLCAyNHB4KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cbi5wcm9qZWN0cy1wcm9wcy1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cbiIsICIvKipcbiAqIFByb2plY3QgVHJlZSBWaWV3IFN0eWxlc1xuICovXG5cbjpyb290IHtcblx0LyogRGVmYXVsdCB0cmVlIGluZGVudGF0aW9uIHNpemUgcGVyIGxldmVsICovXG5cdC0tdHJlZS1pbmRlbnQtc2l6ZTogMS41cmVtO1xuXHQvKiBHdWlkZSBsaW5lIGNvbG9yICovXG5cdC0tdHJlZS1ndWlkZS1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBDb250YWluZXIgKi9cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLnByb2plY3QtdHJlZSB7XG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuXG4vKiBUcmVlIEl0ZW0gQmFzZSAqL1xuLnByb2plY3QtdHJlZS1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0LS10cmVlLWxldmVsOiAwOyAvKiBEZWZhdWx0IGxldmVsLCB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgaW5saW5lIHN0eWxlICovXG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IGNhbGMoY2FsYyh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIFNlbGVjdGVkIFN0YXRlICovXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgPiAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLyogVG9nZ2xlIEJ1dHRvbiAqL1xuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMS41cmVtO1xuXHRoZWlnaHQ6IDEuNXJlbTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUgc3ZnIHtcblx0d2lkdGg6IDAuODc1cmVtO1xuXHRoZWlnaHQ6IDAuODc1cmVtO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlLXNwYWNlciB7XG5cdHdpZHRoOiAxLjVyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBJY29uICovXG4ucHJvamVjdC10cmVlLWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMS4yNXJlbTtcblx0aGVpZ2h0OiAxLjI1cmVtO1xuXHRtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogQ29udGVudCBXcmFwcGVyICovXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG5cdGdhcDogMC41cmVtO1xufVxuXG4vKiBQcm9qZWN0IE5hbWUgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogVGFzayBDb3VudHMgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuMjVyZW07XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QsXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogMS4yNXJlbTtcblx0aGVpZ2h0OiAxLjI1cmVtO1xuXHRwYWRkaW5nOiAwIDAuMjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyBmb3IgdHJlZSB2aWV3ICovXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LnBhcnRpYWxseS1jb21wbGV0ZWQsXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwucGFydGlhbGx5LWNvbXBsZXRlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LmFsbC1jb21wbGV0ZWQsXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwuYWxsLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBTZWxlY3RlZCBzdGF0ZSBmb3IgY291bnQgYmFkZ2VzIGluIHRyZWUgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LmFsbC1jb21wbGV0ZWQsXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLmFsbC1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcblx0b3BhY2l0eTogMC45O1xufVxuXG4vKiBDaGlsZHJlbiBDb250YWluZXIgKi9cbi5wcm9qZWN0LXRyZWUtY2hpbGRyZW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFRyZWUgZ3VpZGUgbGluZXMgKG9wdGlvbmFsKSAqL1xuLnByb2plY3QtdHJlZS1pdGVtW2RhdGEtbGV2ZWxdOm5vdChbZGF0YS1sZXZlbD1cIjBcIl0pID4gLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IGNhbGMoMC41cmVtICsgKHZhcigtLXRyZWUtbGV2ZWwpIC0gMSkgKiB2YXIoLS10cmVlLWluZGVudC1zaXplKSArIDAuNzVyZW0pO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDFweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdHJlZS1ndWlkZS1jb2xvcik7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNoaWxkcmVuIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2U7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbjpub3QoLmlzLWV4cGFuZGVkKSB7XG5cdG1heC1oZWlnaHQ6IDA7XG59XG5cbi8qIEVtcHR5IFN0YXRlICovXG4ucHJvamVjdC10cmVlLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLyogVmlldyBUb2dnbGUgQnV0dG9uICovXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxLjc1cmVtO1xuXHRoZWlnaHQ6IDEuNzVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5wcm9qZWN0cy12aWV3LXRvZ2dsZS1idG4gc3ZnIHtcblx0d2lkdGg6IDFyZW07XG5cdGhlaWdodDogMXJlbTtcbn1cblxuLyogTXVsdGktc2VsZWN0IE1vZGUgSW5kaWNhdG9yICovXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDAuMjVyZW07XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHdpZHRoOiAwLjg3NXJlbTtcblx0aGVpZ2h0OiAwLjg3NXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmFmdGVyIHtcblx0Y29udGVudDogJ1x1MjcxMyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMC4yNXJlbTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0d2lkdGg6IDAuODc1cmVtO1xuXHRoZWlnaHQ6IDAuODc1cmVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07XG5cdH1cbn1cblxuLyogQW5pbWF0aW9uIGZvciB0cmVlIGV4cGFuc2lvbiAqL1xuQGtleWZyYW1lcyBzbGlkZURvd24ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cmVtKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNoaWxkcmVuID4gLnByb2plY3QtdHJlZS1pdGVtIHtcblx0YW5pbWF0aW9uOiBzbGlkZURvd24gMC4xNXMgZWFzZTtcbn1cbiIsICIvKiBQcm9qZWN0cyBWaWV3IFN0eWxlcyAqL1xuLnJldmlldy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IDI1MHB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucmV2aWV3LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnJldmlldy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJldmlldy1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIFByb2plY3QgZ3JvdXAgaGVhZGVycyAqL1xuLnJldmlldy1wcm9qZWN0cy1ncm91cC1oZWFkZXIge1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogNHB4IDhweCA0cHg7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnJldmlldy1wcm9qZWN0cy1ncm91cC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIFByb2plY3QgaXRlbXMgaW4gdGhlIHNpZGViYXIgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi8qIFByb2plY3RzIHdpdGggcmV2aWV3IHNldHRpbmdzICovXG4ucmV2aWV3LXByb2plY3QtaXRlbS5oYXMtcmV2aWV3LXNldHRpbmdzIC5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW0uaGFzLXJldmlldy1zZXR0aW5ncyAucmV2aWV3LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIFByb2plY3RzIHdpdGhvdXQgcmV2aWV3IHNldHRpbmdzICovXG4ucmV2aWV3LXByb2plY3QtaXRlbTpub3QoLmhhcy1yZXZpZXctc2V0dGluZ3MpIC5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJldmlldy1wcm9qZWN0LW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJldmlldy10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctdGFzay1oZWFkZXIge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnJldmlldy1oZWFkZXItY29udGVudCBoMyB7XG5cdG1hcmdpbjogMCAwIDhweCAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ucmV2aWV3LWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5yZXZpZXctc2VwYXJhdG9yIHtcblx0bWFyZ2luOiAwIDhweDtcbn1cblxuLnJldmlldy1mcmVxdWVuY3kge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWZyZXF1ZW5jeTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucmV2aWV3LWxhc3QtZGF0ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbm8tc2V0dGluZ3Mge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEZpbHRlciBpbmZvcm1hdGlvbiAqL1xuLnJldmlldy1maWx0ZXItaW5mbyB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctZmlsdGVyLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5yZXZpZXctZmlsdGVyLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi5yZXZpZXctdGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucmV2aWV3LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUmV2aWV3IGJ1dHRvbnMgKi9cbi5yZXZpZXctYnV0dG9uLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG4sXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG4ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctY29uZmlndXJlLWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnJldmlldy1jb25maWd1cmUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctZWRpdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xuXHRtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ucmV2aWV3LWVkaXQtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFJldmlldyBDb25maWd1cmUgTW9kYWwgKi9cbi5yZXZpZXctbW9kYWwtdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnJldmlldy1tb2RhbC1mb3JtIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnJldmlldy1tb2RhbC1maWVsZCB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtY3VzdG9tLWZyZXF1ZW5jeSB7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtbGFzdC1yZXZpZXdlZCB7XG5cdHBhZGRpbmc6IDhweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogMjRweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy10b3A6IDE2cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uIHtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tY2FuY2VsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1jYW5jZWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tc2F2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLXNhdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBSZXZpZXcgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5yZXZpZXctY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctc2lkZWJhci1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAucmV2aWV3LWNvbnRhaW5lcjpoYXMoLnJldmlldy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cbiIsICIudGFzay1zaWRlYmFyLmNvbGxhcHNlZCB7XG5cdHdpZHRoOiA0OHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFuZWwtdG9nZ2xlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC42O1xuXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4ucGFuZWwtdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLW5hdiB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIFNpZGViYXIgTmF2aWdhdGlvbiAqL1xuLnNpZGViYXItbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogMjBweCAwIDEwcHggMDtcblx0Z2FwOiA1cHg7XG59XG5cbi5zaWRlYmFyLW5hdi1zcGFjZXIge1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW46IDhweCAxNXB4O1xuXHRvcGFjaXR5OiAwLjc7XG5cdG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDAgNXB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnNpZGViYXItbmF2LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtLmlzLWFjdGl2ZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0LS1pY29uLWNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5uYXYtaXRlbS1pY29uIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubmF2LWl0ZW0tbGFiZWwge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5uYXYtaXRlbS1sYWJlbC5oaWRkZW4ge1xuXHRvcGFjaXR5OiAwO1xuXHR3aWR0aDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWFyZ2luOiAwO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYtaXRlbSB7XG5cdHBhZGRpbmc6IDhweCAxMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC05KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLm5hdi1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIENvbnRlbnQgU3R5bGVzICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWluLXdpZHRoOiAwO1xuXHR0cmFuc2l0aW9uOiBtYXJnaW4gMC4zcyBlYXNlO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAudGFzay1jb250ZW50IHtcblx0bWFyZ2luLWxlZnQ6IC0yMDBweDtcblxuXHR0cmFuc2l0aW9uOiBtYXJnaW4gMC4zcyBlYXNlO1xufVxuXG4vKiBQcm9qZWN0IFRyZWUgKi9cbi50YXNrLWdlbml1cy12aWV3IC5wcm9qZWN0LXRyZWUge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLXJvb3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDAgNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSxcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIENvbnRlbnQgSGVhZGVyICovXG4uY29udGVudC1oZWFkZXIge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmZvY3VzLWZpbHRlciB7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vKiBUYXNrVmlldyAtIE9tbmlGb2N1cyBTdHlsZSAqL1xuXG4ud29ya3NwYWNlLWxlYWYtY29udGVudCAudGFzay1nZW5pdXMtdmlldyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMZWZ0IHNpZGViYXIgKi9cbi50YXNrLXNpZGViYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR3aWR0aDogMjQwcHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTWFpbiBjb250ZW50IGFyZWEgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDMwMHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIE5hdmlnYXRpb24gc2lkZWJhciAqL1xuLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBQcm9qZWN0IHRyZWUgKi9cbi5wcm9qZWN0LXRyZWUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRyZWUtcm9vdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMnB4IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1pbi13aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLmV4cGFuZGVkID4gLnRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbnRlbnQgaGVhZGVyICovXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRmbGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YXNrLWdlbml1cy12aWV3IC50YXNrLWNvdW50IHtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWZpbHRlciB7XG5cdFx0ZmxleDogMTtcblx0fVxufVxuXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1maWx0ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5maWx0ZXItaW5wdXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b24uZm9jdXNlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xufVxuXG4ubW9kLWxlZnQtc3BsaXQgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLWxlZnQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtcmlnaHQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50YXNrLWVtcHR5LXN0YXRlLFxuLnRhc2stZ2VuaXVzLXYyLXZpZXcgLnRhc2stZW1wdHktc3RhdGUge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1vZC1yb290IC50YXNrLWdlbml1cy10YWItaGVhZGVyIHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplICFpbXBvcnRhbnQ7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogMTIwcHgpIHtcblx0Lm1vZC1yb290IC50YXNrLWdlbml1cy1hY3Rpb24tYnRuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLW5hdiB7XG5cdG1heC13aWR0aDogNDVweDtcbn1cblxuLyogV29ya2Zsb3cgUXVpY2sgTW9kYWwgU3R5bGVzICovXG4ucXVpY2std29ya2Zsb3ctbW9kYWwge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLndvcmtmbG93LXRlbXBsYXRlLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRlbXBsYXRlLWRlc2NyaXB0aW9uIHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnRlbXBsYXRlLWRlc2MtdGV4dCB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW46IDA7XG59XG5cbi53b3JrZmxvdy1mb3JtLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLXByZXZpZXcge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uc3RhZ2VzLXByZXZpZXctbGlzdCB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5zdGFnZS1wcmV2aWV3LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRtYXJnaW46IDRweCAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4uc3RhZ2UtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zdGFnZS10eXBlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uc3RhZ2UtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNHB4O1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi53b3JrZmxvdy1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTVweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogV29ya2Zsb3cgUHJvZ3Jlc3MgSW5kaWNhdG9yIFN0eWxlcyAqL1xuLndvcmtmbG93LXByb2dyZXNzLWluZGljYXRvciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdG1hcmdpbjogMTBweCAwO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWJhciB7XG5cdGZsZXg6IDE7XG5cdGhlaWdodDogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWZpbGwge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLXBlcmNlbnRhZ2Uge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRtaW4td2lkdGg6IDM1cHg7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogOHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcyk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmN1cnJlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLnBlbmRpbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24uY29tcGxldGVkLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24uY3VycmVudC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uLnBlbmRpbmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY29tcGxldGVkIC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xuXHRjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCAud29ya2Zsb3ctc3RhZ2UtbnVtYmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZy1sZWZ0OiAxNnB4O1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNHB4IDA7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1pY29uIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtbmFtZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiBzdHlsZXMvY2FsZW5kYXIvY2FsZW5kYXIuY3NzICovXG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlOyAvKiBPciBhZGp1c3QgYXMgbmVlZGVkICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZsZXgtZ3JvdzogMTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKSB2YXIoLS1zaXplLTQtNCk7IC8qIFVzZSBPYnNpZGlhbiB2YXJpYWJsZXMgKi9cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgaGVhZGVyIGZyb20gc2hyaW5raW5nICovXG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIGJ1dHRvbiB7XG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LFxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IGJ1dHRvbiB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uOm5vdCguaXMtYWN0aXZlKSxcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IGJ1dHRvbjpub3QoLmlzLWFjdGl2ZSkge1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteHMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItY3VycmVudC1kYXRlIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgaXQgdG8gdGFrZSBzcGFjZSAqL1xuXG5cdG1heC13aWR0aDogbWF4KDEyMHB4LCA0MCUpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbi5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IHZpZXcgdG8gdGFrZSByZW1haW5pbmcgc3BhY2UgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogRW5hYmxlIHNjcm9sbGluZyBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogTmVlZGVkIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvZiBldmVudHMgKi9cblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKiBCYXNpYyBWaWV3IFN0eWxlcyAoUGxhY2Vob2xkZXJzKSAqL1xuLyogLS0tIE1vbnRoIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogT3ZlcmxhcCB3aXRoIGdyaWQgZ2FwICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTsgLyogU2xpZ2h0IGRpc3RpbmN0aW9uICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LW1vbnRoIHtcblx0cGFkZGluZzogMDsgLyogUmVtb3ZlIHBhZGRpbmcgaWYgZ3JpZCBwcm92aWRlcyBpdCB2aWEgZ2FwICovXG5cdC8qIFN0eWxlcyBtb3ZlZCB0byAuY2FsZW5kYXItbW9udGgtZ3JpZCAqL1xufVxuXG4vKiBBZGQgdGhlIGdyaWQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoZSBncmlkIGNvbnRhaW5lciBlbGVtZW50ICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1vbnRoLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRncmlkLWF1dG8tcm93czogbWlubWF4KDEwMHB4LCBhdXRvKTsgLyogR2l2ZSByb3dzIGEgbWluaW11bSBoZWlnaHQgKi9cblx0Z2FwOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogR3JpZCBsaW5lcyAqL1xuXG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbCB7XG5cdC8qIEV4YW1wbGUgc3R5bGUgZm9yIGEgZGF5IGNlbGwgaW4gbW9udGggdmlldyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XG5cdC8qIG1pbi1oZWlnaHQ6IDgwcHg7IC0gTGV0IGdyaWQtYXV0by1yb3dzIGhhbmRsZSBoZWlnaHQgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgbGF5b3V0IGluc2lkZSB0aGUgY2VsbCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBTdGFjayBkYXkgbnVtYmVyIGFuZCBldmVudHMgKi9cblx0bWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGNvbnRlbnQgZnJvbSBleHBhbmRpbmcgdGhlIGNlbGwgd2lkdGggaW4gdGhlIGdyaWQgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbChcblx0XHR2YXIoLS1jb2xvci1hY2NlbnQtaCksXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LXMpLFxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1sKSxcblx0XHQwLjhcblx0KSAhaW1wb3J0YW50O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAwLjUpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXRvZGF5IC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0Y29sb3I6IGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAxKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbDpub3QoLmlzLXRvZGF5KSB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy1vdGhlci1tb250aCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXdlZWtlbmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLXNlY29uZGFyeVxuXHQpOyAvKiBTbGlnaHRseSBkaWZmZXJlbnQgYmFja2dyb3VuZCBmb3Igd2Vla2VuZHMgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IG51bWJlciBmcm9tIHNocmlua2luZyAqL1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDsgLyogUG9zaXRpb24gdG8gdGhlIHRvcCByaWdodCAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGV2ZW50cyBjb250YWluZXIgdG8gZmlsbCBzcGFjZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBIaWRlIGV2ZW50cyB0aGF0IG92ZXJmbG93IHRoZSBjZWxsIGhlaWdodCAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQge1xuXHQvKiBFeGFtcGxlIHN0eWxlIGZvciBhbiBldmVudCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7IC8qIEluY3JlYXNlIHNwYWNpbmcgc2xpZ2h0bHkgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBpdCB0YWtlcyBmdWxsIHdpZHRoIGF2YWlsYWJsZSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KS5jYWxlbmRhci1ldmVudC13ZWVrLWFsbGRheSB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkuY2FsZW5kYXItZXZlbnQtbW9udGgge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDpob3ZlciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MtaG92ZXJcblx0KTsgLyogT3IgdXNlIGdyZXkvc3RyaWtldGhyb3VnaCAqL1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheSB7XG5cdC8qIEJhc2ljIHN0eWxlIGZvciBtdWx0aS1kYXksIG1vcmUgYWR2YW5jZWQgY291bGQgcmVtb3ZlIHJvdW5kZWQgY29ybmVycyAqL1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkuaXMtc3RhcnQge1xuXHQvKiBPcHRpb25hbDogc3R5bGUgdGhlIHN0YXJ0IHNlZ21lbnQgZGlmZmVyZW50bHkgKi9cblx0LyogYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7ICovXG5cdC8qIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyAqL1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkuaXMtZW5kIHtcblx0LyogT3B0aW9uYWw6IHN0eWxlIHRoZSBlbmQgc2VnbWVudCBkaWZmZXJlbnRseSAqL1xuXHQvKiBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyAqL1xuXHQvKiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyAqL1xufVxuXG4vKiBBZGQgbW9yZSBzcGVjaWZpYyBzdHlsZXMgZm9yIHdlZWssIGRheSwgYWdlbmRhIHZpZXdzIGFzIHRoZXkgYXJlIGltcGxlbWVudGVkICovXG5cbi8qIFN0eWxlIGZvciBtb250aCB2aWV3IGV2ZW50cyB0byBoYW5kbGUgb3ZlcmZsb3cgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuY2FsZW5kYXItZXZlbnQtbW9udGgge1xuXHQvKiBJbmhlcml0cyBiYXNlIC5jYWxlbmRhci1ldmVudCBzdHlsZXMgKi9cblx0LyogQWRkIG92ZXJmbG93IGhhbmRsaW5nIHNpbWlsYXIgdG8gd2Vlay1hbGxkYXkgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgYmxvY2sgZGlzcGxheSAqL1xuXHR3aWR0aDogMTAwJTsgLyogRXhwbGljaXRseSBzZXQgd2lkdGggKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xufVxuXG4vKiAtLS0gRGF5IFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LWRheSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDA7IC8qIFJlbW92ZSBwYWRkaW5nLCBtYW5hZ2UgaW50ZXJuYWxseSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpbWVsaW5lLXNlY3Rpb24ge1xuXHRmbGV4LWdyb3c6IDE7XG5cdC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogTm8gbG9uZ2VyIG5lZWRlZCBmb3IgYWJzb2x1dGUgZXZlbnQgcG9zaXRpb25pbmcgKi9cblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIGJvcmRlciB0aGF0IHdhcyBvbiBhbGxkYXkgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogQWxsb3cgdGltZWxpbmUgdG8gc2Nyb2xsICovXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aW1lbGluZS1ldmVudHMtY29udGFpbmVyIHtcblx0LyogUmVtb3ZlIGFic29sdXRlIHBvc2l0aW9uaW5nICovXG5cdC8qIHBvc2l0aW9uOiBhYnNvbHV0ZTsgKi9cblx0LyogdG9wOiAwOyAqL1xuXHQvKiBsZWZ0OiAwOyAqL1xuXHQvKiByaWdodDogMDsgKi9cblx0LyogYm90dG9tOiAwOyAqL1xuXHQvKiB6LWluZGV4OiAyOyAqL1xuXHQvKiBSZW1vdmUgY2FsY3VsYXRlZCBoZWlnaHQgKi9cblx0LyogaGVpZ2h0OiBjYWxjKDI0ICogNDBweCk7ICovXG5cblx0LyogQWRkIGZsZXggbGF5b3V0IGZvciB2ZXJ0aWNhbCBzdGFja2luZyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogQWRkIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgKi9cbn1cblxuLyogU3R5bGUgYWRqdXN0bWVudHMgZm9yIGV2ZW50cyBwcmV2aW91c2x5IHRpbWVkICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpbWVkIHtcblx0LyogUmVtb3ZlIGFic29sdXRlIHBvc2l0aW9uaW5nICovXG5cdC8qIHBvc2l0aW9uOiBhYnNvbHV0ZTsgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHQvKiBBZGQgbWFyZ2luIGZvciBzcGFjaW5nIGluIHRoZSBuZXcgZmxvdyBsYXlvdXQgKi9cblx0LyogVXNpbmcgZ2FwIG9uIHBhcmVudCBjb250YWluZXIgbm93ICovXG5cdC8qIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTsgKi9cblx0d2lkdGg6IDEwMCU7IC8qIEVuc3VyZSBpdCB0YWtlcyBmdWxsIHdpZHRoICovXG59XG5cbi8qIEtlZXAgaW50ZXJuYWwgc3R5bGVzICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRwYWRkaW5nOiAxcHggM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIFNsaWdodCBiYWNrZ3JvdW5kIGZvciB0aW1lICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRwYWRkaW5nOiAycHggM3B4O1xuXHRmbGV4LWdyb3c6IDE7XG5cdC8qIEFsbG93IHRleHQgd3JhcHBpbmcgd2l0aGluIHRoZSBldmVudCBib3ggKi9cblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHBhZGRpbmc6IDJweCAzcHg7XG5cdGZsZXgtZ3JvdzogMTtcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiAtLS0gV2VlayBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy13ZWVrIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogMDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdC8qIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCByZXBlYXQoNywgMWZyKTsgKi8gLyogR3V0dGVyICsgNyBkYXlzIC0+IFJlbW92ZSBndXR0ZXIgKi9cblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsgLyogSnVzdCA3IGRheXMgKi9cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXItY2VsbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSAwO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGwuaXMtdG9kYXkgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEuNWVtO1xuXHRoZWlnaHQ6IDEuNWVtO1xuXHRsaW5lLWhlaWdodDogMS41ZW07XG5cdG1hcmdpbjogYXV0bztcblxuXHRtYXJnaW46IGF1dG87XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG59XG5cbi8qIFVwZGF0ZWQgV2VlayBHcmlkIFNlY3Rpb24gKHdhcyAtYWxsZGF5LXNlY3Rpb24pICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstZ3JpZC1zZWN0aW9uIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IHRoaXMgc2VjdGlvbiB0byBmaWxsIGF2YWlsYWJsZSB2ZXJ0aWNhbCBzcGFjZSAqL1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCB0byBlbnN1cmUgZ3JpZCBmaWxscyBoZWlnaHQgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3cteTogYXV0bzsgLyogQWRkIHNjcm9sbCBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBNYXRjaCBvbGQgc3R5bGUgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWdyaWQge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgZ3JpZCB0byBleHBhbmQgKi9cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7IC8qIE1ha2UgZ3JpZCBmaWxsIHRoZSBzZWN0aW9uIGhlaWdodCAqL1xuXHRnYXA6IDFweDsgLyogQWRkIGdhcCBmb3IgYm9yZGVycyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEdyaWQgbGluZXMgKi9cblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIHRvcCBib3JkZXIgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY29sdW1uIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XG5cdC8qIG1pbi1oZWlnaHQ6IDVlbTsgKi8gLyogUmVtb3ZlIGZpeGVkIG1pbi1oZWlnaHQsIGxldCBjb250ZW50IGRpY3RhdGUgKi9cblx0Ym9yZGVyLWxlZnQ6IG5vbmU7IC8qIFJlbW92ZSByZWR1bmRhbnQgbGVmdCBib3JkZXIsIGdhcCBoYW5kbGVzIGxpbmVzICovXG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4IGZvciB2ZXJ0aWNhbCBsYXlvdXQgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7IC8qIFNwYWNlIGJldHdlZW4gZXZlbnRzICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgY29udGVudCBmcm9tIGV4cGFuZGluZyB0aGUgY29sdW1uICovXG5cdG1pbi13aWR0aDogMDsgLyogSGVscCBncmlkIGl0ZW0gc2hyaW5rIHByb3Blcmx5ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbjpmaXJzdC1jaGlsZCB7XG5cdC8qIE5vIHNwZWNpZmljIGZpcnN0LWNoaWxkIGJvcmRlciBuZWVkZWQgbm93ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbi5pcy13ZWVrZW5kIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBBZGp1c3QgZ3JpZCBsYXlvdXRzIHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci13ZWVrZGF5LWhlYWRlciB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLW1vbnRoLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci13ZWVrLWhlYWRlciB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLXdlZWstZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLm1pbmktbW9udGgtZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4vKiBOb3RlOiBXZWVrZW5kIGVsZW1lbnRzIGFyZSBub3QgY3JlYXRlZCB3aGVuIGhpZGVXZWVrZW5kcyBpcyBlbmFibGVkLFxuICAgc28gbm8gaGlkaW5nIHJ1bGVzIGFyZSBuZWVkZWQuIFRoZSBncmlkIGxheW91dCBhZGp1c3RtZW50cyBhYm92ZSBhcmUgc3VmZmljaWVudC4gKi9cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktZXZlbnRzLWNvbnRhaW5lciB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0LyogVGhpcyBjb250YWluZXIgbWlnaHQgbm90IGJlIHN0cmljdGx5IG5lY2Vzc2FyeSBpZiAuY2FsZW5kYXItZGF5LWNvbHVtbiB1c2VzIGZsZXggKi9cblx0LyogU3R5bGVzIGFyZSBhcHBsaWVkIGRpcmVjdGx5IHRvIC5jYWxlbmRhci1kYXktY29sdW1uIG5vdyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGNvbnRhaW5lciB0byBncm93ICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogM3B4OyAvKiBTcGFjZSBiZXR3ZWVuIGV2ZW50cyAqL1xufVxuXG4vKiBFbnN1cmUgZXZlbnRzIHRha2UgZnVsbCB3aWR0aCBhbmQgZG9uJ3QgaGF2ZSBob3Jpem9udGFsIGRpc3BsYXkgcHJvcGVydGllcyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5jYWxlbmRhci1ldmVudC13ZWVrLWFsbGRheSB7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgYmxvY2sgZGlzcGxheSBmb3IgdmVydGljYWwgc3RhY2tpbmcgKi9cblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgZnVsbCB3aWR0aCBvZiB0aGUgY29sdW1uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUmVzZXQgcG9zaXRpb24gaWYgaXQgd2FzIGFic29sdXRlICovXG5cdGxlZnQ6IGF1dG87XG5cdHRvcDogYXV0bztcblx0aGVpZ2h0OiBhdXRvOyAvKiBMZXQgY29udGVudCBkZXRlcm1pbmUgaGVpZ2h0ICovXG5cdG1hcmdpbi1ib3R0b206IDNweDsgLyogQ29uc2lzdGVudCBzcGFjaW5nICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgaW50ZXJuYWwgY29udGVudCBmcm9tIG92ZXJmbG93aW5nICovXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyAvKiBBZGQgZWxsaXBzaXMgZm9yIG92ZXJmbG93ICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIEVuc3VyZSBlbGxpcHNpcyB3b3JrcyAqL1xufVxuXG4vKiBSZW1vdmUgc3R5bGVzIGZvciB0aGUgb2xkIHRpbWVsaW5lIHNlY3Rpb24gKi9cbi8qXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstdGltZWxpbmUtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG4vLyAuLi4gZXhpc3RpbmcgY29kZSAuLi5cblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuKi9cblxuLyogLS0tIFllYXIgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXcteWVhciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci15ZWFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcblx0XHRhdXRvLWZpdCxcblx0XHRtaW5tYXgoMjAwcHgsIDFmcilcblx0KTsgLyogUmVzcG9uc2l2ZSBjb2x1bW5zICovXG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1pbmktbW9udGgge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBDbGlwIGNvbnRlbnQgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWhlYWRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1ib2R5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdhcDogMnB4OyAvKiBTbWFsbCBnYXAgYmV0d2VlbiBkYXlzICovXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLXdlZWtkYXktaGVhZGVyIHtcblx0ZGlzcGxheTogY29udGVudHM7IC8qIExldCBjaGlsZHJlbiBwYXJ0aWNpcGF0ZSBpbiB0aGUgZ3JpZCAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktd2Vla2RheSB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHBhZGRpbmc6IDFweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRsaW5lLWhlaWdodDogMS41ZW07IC8qIEFkanVzdCBmb3IgY2VudGVyaW5nICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5pcy1vdGhlci1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaXMtdG9kYXkge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmhhcy1ldmVudHMge1xuXHQvKiBJbmRpY2F0ZSBldmVudHMgLSBlLmcuLCBib2xkIG9yIGJhY2tncm91bmQgZG90ICovXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHQvKiBPciBhZGQgYSBiYWNrZ3JvdW5kIGRvdDogKi9cblx0LyogcG9zaXRpb246IHJlbGF0aXZlOyAqL1xufVxuLyogLm1pbmktZGF5LWNlbGwuaGFzLWV2ZW50czo6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDJweDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn0gKi9cblxuLmFnZW5kYS1kYXktc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5hZ2VuZGEtZGF5LWRhdGUtY29sdW1uIHtcblx0d2lkdGg6IDIwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWdlbmRhLWRheS1ldmVudHMtY29sdW1uIHtcblx0ZmxleDogMTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIGlucHV0LnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcblx0c2NhbGU6IDAuOTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tIERyYWcgYW5kIERyb3AgU3R5bGVzIC0tLSAqL1xuLmNhbGVuZGFyLWV2ZW50LWdob3N0IHtcblx0LyogU3R5bGUgZm9yIHRoZSBwbGFjZWhvbGRlciB3aGVuIGRyYWdnaW5nICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSAhaW1wb3J0YW50O1xuXHRvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2FsZW5kYXItZXZlbnQtZHJhZ2dpbmcge1xuXHQvKiBTdHlsZSBmb3IgdGhlIGVsZW1lbnQgYmVpbmcgZHJhZ2dlZCAqL1xuXHRvcGFjaXR5OiAwLjkgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpICFpbXBvcnRhbnQ7XG5cdHRyYW5zZm9ybTogcm90YXRlKDJkZWcpICFpbXBvcnRhbnQ7XG5cdHotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcbn1cblxuLyogTWFrZSBjYWxlbmRhciBldmVudHMgZHJhZ2dhYmxlICovXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQge1xuXHRjdXJzb3I6IGdyYWI7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xufVxuXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIFNvcnRhYmxlIGNvbnRhaW5lciBzdHlsZXMgKi9cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyLFxuLmNhbGVuZGFyLWRheS1ldmVudHMtY29udGFpbmVyIHtcblx0bWluLWhlaWdodDogMjBweDsgLyogRW5zdXJlIHRoZXJlJ3MgYWx3YXlzIGEgZHJvcCB6b25lICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogNjAwcHgpIHtcblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5jYWxlbmRhci1uYXYgLnByZXYtYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmNhbGVuZGFyLW5hdiAubmV4dC1idXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXItc2VsZWN0b3Ige1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4iLCAiLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZS1jb250YWluZXIgcCB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuXHRwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZS1jb250YWluZXIge1xuXHQvKiBIYW5kbGUgdGV4dCBvdmVyZmxvdyB3aXRoIGVsbGlwc2lzICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUgcCB7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcbn1cbiIsICIvKiBDYWxlbmRhciBCYWRnZSBTdHlsZXMgKi9cbi5jYWxlbmRhci1iYWRnZXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Z2FwOiA0cHg7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR6LWluZGV4OiAxMDtcbn1cblxuLmNhbGVuZGFyLWJhZGdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXG5cdG1heC13aWR0aDogODBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIEVuc3VyZSBiYWRnZXMgYXJlIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGRheSBjZWxsICovXG4uY2FsZW5kYXItZGF5LWNlbGwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCAiLnRnLWthbmJhbi12aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCB2aWV3IGl0c2VsZiBmcm9tIHNjcm9sbGluZyAqL1xufVxuXG4udGcta2FuYmFuLWZpbHRlcnMge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogRG9uJ3Qgc2hyaW5rIGZpbHRlciBiYXIgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi50Zy1rYW5iYW4tY29udHJvbHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50Zy1rYW5iYW4tc29ydC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcbn1cblxuLnRnLWthbmJhbi1zb3J0LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGcta2FuYmFuLXNvcnQtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGcta2FuYmFuLXRvZ2dsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcbn1cblxuLnRnLWthbmJhbi10b2dnbGUtbGFiZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGcta2FuYmFuLXRvZ2dsZS1jaGVja2JveCB7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRnLWthbmJhbi1maWx0ZXItaW5wdXQge1xuXHRmbGV4LWdyb3c6IDE7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4OyAvKiBPcHRpb25hbDogc3BhY2UgaWYgb3RoZXIgY29udHJvbHMgYXJlIGFkZGVkICovXG59XG5cbi50Zy1rYW5iYW4tZmlsdGVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1ncm93OiAxOyAvKiBUYWtlIHJlbWFpbmluZyBoZWlnaHQgKi9cblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGxpbmcgZm9yIGNvbHVtbnMgKi9cblx0b3ZlcmZsb3cteTogaGlkZGVuOyAvKiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbGluZyBoZXJlICovXG5cdHBhZGRpbmc6IDEwcHg7XG5cdGdhcDogMTBweDsgLyogU3BhY2UgYmV0d2VlbiBjb2x1bW5zICovXG5cdGhlaWdodDogMTAwJTsgLyogTmVlZGVkIGZvciBjaGlsZHJlbiBoZWlnaHQgKi9cblxuXHQvKiBNb2JpbGUgc2Nyb2xsaW5nIGltcHJvdmVtZW50cyAqL1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8qIFNtb290aCBob3Jpem9udGFsIHNjcm9sbGluZyBvbiBpT1MgKi9cblx0LyogQ29uZGl0aW9uYWwgb3ZlcnNjcm9sbCBiZWhhdmlvciAtIHByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AsIGFsbG93IG9uIG1vYmlsZSBmb3IgZHJhZyAqL1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGF1dG87IC8qIEFsbG93IGRlZmF1bHQgYmVoYXZpb3IgZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cblx0c2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7IC8qIEtlZXAgc25hcCBmb3IgbW9iaWxlIFVYICovXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyAvKiBTbW9vdGggc2Nyb2xsaW5nICovXG59XG5cbi8qIERlc2t0b3Atc3BlY2lmaWM6IFByZXZlbnQgc2Nyb2xsIGJvdW5jZSAqL1xuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuXHQudGcta2FuYmFuLWNvbHVtbi1jb250YWluZXIge1xuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3IteDogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xuXHRcdHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7IC8qIERpc2FibGUgc25hcCBvbiBkZXNrdG9wICovXG5cdH1cbn1cblxuLnRnLWthbmJhbi1jb2x1bW4ge1xuXHRmbGV4OiAwIDAgMjgwcHg7IC8qIEZpeGVkIHdpZHRoIGZvciBjb2x1bW5zLCBubyBzaHJpbmtpbmcvZ3Jvd2luZyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0aGVpZ2h0OiAxMDAlOyAvKiBGaWxsIGNvbnRhaW5lciBoZWlnaHQgKi9cblx0bWF4LWhlaWdodDogMTAwJTsgLyogUHJldmVudCBleGNlZWRpbmcgY29udGFpbmVyICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgb3ZlcmZsb3cgd2l0aGluIHRoZSBjb2x1bW4gKi9cblxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cblx0LyogTW9iaWxlIHNjcm9sbCBzbmFwIGZvciBiZXR0ZXIgVVggKi9cblx0c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBEaXNhYmxlIHNjcm9sbCBzbmFwICovXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG5cdC50Zy1rYW5iYW4tY29sdW1uIHtcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcblx0fVxufVxuXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXIge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bW4pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHQvKiBwYWRkaW5nLXJpZ2h0OiAwOyAqL1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47IC8qIEtlZXAgY29udGFpbiBmb3IgbW9iaWxlIGRyYWcgY29tcGF0aWJpbGl0eSAqL1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbCBib3VuY2UgKi9cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcblx0LnRnLWthbmJhbi1jb2x1bW4tY29udGVudCB7XG5cdFx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xuXHR9XG59XG4vKiAtLS0gQ2FyZCBTdHlsaW5nIC0tLSAqL1xuLnRnLWthbmJhbi1jYXJkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAxMHB4IDEycHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBncmFiO1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcblxuXHQvKiBFbnN1cmUgY2FyZCBmaXRzIHdpdGhpbiBjb2x1bW4gYW5kIGhhbmRsZXMgY29udGVudCAqL1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8qIFByZXZlbnQgY2FyZCBmcm9tIGV4Y2VlZGluZyBwYXJlbnQgd2lkdGggKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBBbGxvdyB0ZXh0IHdyYXBwaW5nICovXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG5cdC8qIE1vYmlsZSB0b3VjaCBpbXByb3ZlbWVudHMgKi9cblx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIE9wdGltaXplIGZvciB0b3VjaCBpbnRlcmFjdGlvbnMgKi9cblx0dXNlci1zZWxlY3Q6IG5vbmU7IC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gZHVyaW5nIGRyYWcgKi9cblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGcta2FuYmFuLWNhcmQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50Zy1rYW5iYW4tY2FyZDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC50YXNrLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4udGcta2FuYmFuLWNhcmQudGFzay1jb21wbGV0ZWQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGcta2FuYmFuLWNhcmQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDsgLyogQXZvaWQgZXh0cmEgc3BhY2UgZnJvbSBwYXJhZ3JhcGggKi9cblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogNHB4IDhweDsgLyogUm93IGFuZCBjb2x1bW4gZ2FwICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWRhdGUsXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stdGFncy1jb250YWluZXIsXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay10YWcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3ZlclxuXHQpOyAvKiBPciB1c2UgdGFnIGNvbG9yICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHBhZGRpbmc6IDFweCA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWR1ZS1kYXRlLnRhc2stb3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1lcnJvcik7XG59XG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stZHVlLWRhdGUudGFzay1kdWUtdG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC13YXJuaW5nKTtcbn1cblxuLyogUHJpb3JpdHkgaW5kaWNhdG9ycyAoc2ltcGxlIGV4YW1wbGUpICovXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLyogQWRkIG1vcmUgcHJpb3JpdHkgc3R5bGVzIGlmIG5lZWRlZCAqL1xuXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsaW5nIC0tLSAqL1xuLnRnLWthbmJhbi1jYXJkLWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkICovXG5cdC8qIG9wYWNpdHk6IDAuODsgKi8gLyogUmVtb3ZlZCBvcGFjaXR5ICovXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTsgLyogTW9yZSBwcm9taW5lbnQgc2hhZG93ICovXG59XG5cbi50Zy1rYW5iYW4tY2FyZC1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgb3JpZ2luYWwgY2FyZCB3aGVuIGEgY2xvbmUgaXMgZHJhZ2dlZCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LnRnLWthbmJhbi1kcm9wLXRhcmdldC1hY3RpdmUge1xuXHQvKiBTdHlsZSBmb3IgcG90ZW50aWFsIGRyb3Agem9uZXMgd2hlbiBkcmFnZ2luZyBzdGFydHMgKi9cblx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7ICovXG5cdG91dGxpbmU6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtaG92ZXIge1xuXHQvKiBTdHlsZSBmb3IgdGhlIHNwZWNpZmljIGRyb3Agem9uZSBiZWluZyBob3ZlcmVkIG92ZXIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBTdHlsZXMgZm9yIEthbmJhbiBkcm9wIGluZGljYXRvcnMgKi9cbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYmVmb3JlIHtcblx0bWFyZ2luLXRvcDogMTBweDsgLyogSW5jcmVhc2VkIG1hcmdpbiAqL1xuXHRib3JkZXItdG9wOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIEluZGljYXRvciAqL1xuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi8gLyogUmVtb3ZlZCBwYWRkaW5nICovXG5cdHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC4xcyBlYXNlLW91dCwgYm9yZGVyLXRvcCAwLjFzIGVhc2Utb3V0OyAvKiBVcGRhdGVkIHRyYW5zaXRpb24gKi9cbn1cblxuLnRnLWthbmJhbi1jYXJkLS1kcm9wLWluZGljYXRvci1hZnRlciB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cblx0Ym9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cblx0LyogcGFkZGluZy1ib3R0b206IDIwcHg7ICovIC8qIFJlbW92ZWQgcGFkZGluZyAqL1xuXHR0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuMXMgZWFzZS1vdXQsIGJvcmRlci1ib3R0b20gMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXG59XG5cbi8qIE9wdGlvbmFsOiBTdHlsZSBmb3IgZHJvcHBpbmcgaW50byBhbiBlbXB0eSBjb2x1bW4gKi9cbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQtLWRyb3AtaW5kaWNhdG9yLWVtcHR5IHtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG1pbi1oZWlnaHQ6IDUwcHg7IC8qIEVuc3VyZSBlbXB0eSBjb2x1bW4gaGFzIHNvbWUgaGVpZ2h0IGZvciB0aGUgYm9yZGVyICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgYm9yZGVyIGluIGhlaWdodCBjYWxjdWxhdGlvbiAqL1xuXHRtYXJnaW4tdG9wOiA1cHg7IC8qIEFkZCBzb21lIHNwYWNlICovXG5cdG1hcmdpbi1ib3R0b206IDVweDsgLyogQWRkIHNvbWUgc3BhY2UgKi9cbn1cblxuLyogRW5zdXJlIHRyYW5zaXRpb25zIGFyZSBzbW9vdGggd2hlbiBjbGFzc2VzIGFyZSByZW1vdmVkICovXG4udGcta2FuYmFuLWNhcmQge1xuXHQvKiBFbnN1cmUgZXhpc3RpbmcgdHJhbnNpdGlvbnMgZG9uJ3QgY29uZmxpY3QsIG9yIGFkZCBiYXNlIHRyYW5zaXRpb24gKi9cblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuMXMgZWFzZS1vdXQsIHBhZGRpbmcgMC4xcyBlYXNlLW91dCxcblx0XHRib3JkZXIgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQsXG5cdFx0Ym94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7IC8qIE1lcmdlZCB0cmFuc2l0aW9ucyAqL1xufVxuXG4uZHJvcC10YXJnZXQtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuMik7IC8qIFx1NTM0QVx1OTAwRlx1NjYwRVx1N0VGRlx1ODI3Mlx1ODBDQ1x1NjY2RiAqL1xuXHRvdXRsaW5lOiAycHggZGFzaGVkIGdyZWVuOyAvKiBcdTdFRkZcdTgyNzJcdTg2NUFcdTdFQkZcdThGQjlcdTY4NDYgKi9cblx0LyogXHU0RjYwXHU1M0VGXHU4MEZEXHU4RkQ4XHU5NzAwXHU4OTgxXHU4QzAzXHU2NTc0IHBhZGRpbmcgXHU2MjE2IG1hcmdpbiBcdTY3NjUgJ1x1NjUzRVx1NTkyNycgXHU4OUM2XHU4OUM5XHU1MzNBXHU1N0RGICovXG5cdC8qIHBhZGRpbmctdG9wOiAyMHB4OyAqL1xuXHQvKiBwYWRkaW5nLWJvdHRvbTogMjBweDsgKi9cbn1cblxuLyogQWRkIENhcmQgQnV0dG9uICovXG4udGcta2FuYmFuLWFkZC1jYXJkLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgY29udGFpbmVyIGZyb20gc2hyaW5raW5nICovXG59XG5cbi8qIFN0eWxlcyBmb3IgdGhlIEFkZCBDYXJkIGJ1dHRvbiBpbiBib2FyZCB2aWV3ICovXG4udGFzay1nZW5pdXMtYWRkLWNhcmQtY29udGFpbmVyIHtcblx0cGFkZGluZzogOHB4O1xuXHRtYXJnaW4tdG9wOiBhdXRvOyAvKiBQdXNoIHRvIHRoZSBib3R0b20gaWYgdGhlIGNvbHVtbiB1c2VzIGZsZXggKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGcta2FuYmFuLWFkZC1jYXJkLWJ1dHRvbiB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIE1ha2UgaXQgbGVzcyBwcm9taW5lbnQgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4udGcta2FuYmFuLWFkZC1jYXJkLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBDb2x1bW4gRHJhZyAmIERyb3AgU3R5bGluZyAqL1xuLnRnLWthbmJhbi1jb2x1bW4tZHJhZ2dpbmcge1xuXHQvKiBTdHlsZSBmb3IgdGhlIGNvbHVtbiBiZWluZyBkcmFnZ2VkICovXG5cdHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuXHRvcGFjaXR5OiAwLjg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14bCk7XG5cdHotaW5kZXg6IDEwMDA7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWdob3N0IHtcblx0LyogU3R5bGUgZm9yIHRoZSBnaG9zdCBwbGFjZWhvbGRlciB3aGVuIGRyYWdnaW5nIGNvbHVtbnMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWhlYWRlciB7XG5cdC8qIE1ha2UgY29sdW1uIGhlYWRlcnMgZHJhZ2dhYmxlICovXG5cdGN1cnNvcjogZ3JhYjtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyOmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG4iLCAiLyogRmlsdGVyIENvbXBvbmVudCBTdHlsZXMgKi9cbi5maWx0ZXItY29tcG9uZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWluLWhlaWdodDogNDhweDtcblxuXHRmbGV4OiAxO1xufVxuXG4vKiBGaWx0ZXIgUGlsbHMgQ29udGFpbmVyICovXG4uZmlsdGVyLXBpbGxzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGZsZXg6IDE7XG59XG5cbi8qIEZpbHRlciBDb250cm9scyAqL1xuLmZpbHRlci1jb250cm9scyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogRmlsdGVyIFBpbGxzICovXG4uZmlsdGVyLXBpbGwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0cGFkZGluZzogNXB4IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGFuaW1hdGlvbjogZmlsdGVyLXBpbGwtYXBwZWFyIDIwMG1zIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxuXHRcdHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1waWxsLXJlbW92ZSAuY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbn1cblxuLmZpbHRlci1waWxsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC10ZXJ0aWFyeSk7XG59XG5cbi5maWx0ZXItcGlsbC1jYXRlZ29yeSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbHRlci1waWxsLXZhbHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1waWxsLXJlbW92ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxuXHRcdGNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xufVxuXG4uZmlsdGVyLXBpbGwtcmVtb3ZlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmUtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEZpbHRlciBCdXR0b25zICovXG4uZmlsdGVyLWFkZC1idXR0b24sXG4uZmlsdGVyLWNsZWFyLWFsbC1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmlsdGVyLWFkZC1idXR0b24ge1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsdGVyLWFkZC1pY29uIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEZpbHRlciBEcm9wZG93biAqL1xuLmZpbHRlci1kcm9wZG93biB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0d2lkdGg6IDIyMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcblx0bWF4LWhlaWdodDogNDAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1ub3JtYWwpLCB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tbm9ybWFsKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZpbHRlci1kcm9wZG93bi12aXNpYmxlIHtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1zZWFyY2gge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXNlYXJjaDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLXJpbmctY29sb3IpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWxpc3Qge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtaGVpZ2h0OiAzNTBweDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24taXRlbS1sYWJlbCB7XG5cdGZsZXg6IDE7XG59XG5cbi5maWx0ZXItZHJvcGRvd24taXRlbS1hcnJvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tYXJyb3cuYmFjayB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWJhY2sge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tc2VwYXJhdG9yIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRpdmlkZXItY29sb3IpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWVtcHR5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1pdGVtIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tY2F0ZWdvcnkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLXByZXZpZXcge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtcHJldmlldzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogQW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyBmaWx0ZXItcGlsbC1hcHBlYXIge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmluZyB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDE1MG1zIGVhc2Utb3V0O1xufVxuIiwgIi5nYW50dC1jaGFydC1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cblx0LS1nYW50dC1oZWFkZXItaGVpZ2h0OiA1MHB4O1xuXHQtLWdhbnR0LXJvdy1oZWlnaHQ6IDQwcHg7XG5cdC0tZ2FudHQtYmFyLWhlaWdodDogMjBweDtcblx0LS1nYW50dC1iYXItcmFkaXVzOiAzcHg7XG5cblx0LS1nYW50dC1iZy1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHQtLWdhbnR0LWdyaWQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0LS1nYW50dC1yb3ctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LS1nYW50dC1iYXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHQtLWdhbnR0LW1pbGVzdG9uZS1jb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcblx0LS1nYW50dC1wcm9ncmVzcy1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdC0tZ2FudHQtdG9kYXktY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5nYW50dC1zdmcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5nYW50dC1oZWFkZXItYmcge1xuXHRmaWxsOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5nYW50dC1oZWFkZXItdGV4dCB7XG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZ2FudHQtZ3JpZC1iZyB7XG5cdGZpbGw6IHRyYW5zcGFyZW50O1xuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0c3Ryb2tlLXdpZHRoOiAwO1xufVxuXG4uZ2FudHQtZ3JpZC1saW5lLXZlcnRpY2FsIHtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xuXHRzdHJva2UtZGFzaGFycmF5OiAyLCAyO1xufVxuXG4uZ2FudHQtdGFzay1pdGVtIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZ2FudHQtdGFzay1iYXIge1xuXHRmaWxsOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRzdHJva2U6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stYmFyIHtcblx0ZmlsbDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UtYm9yZGVyKTtcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsIHtcblx0ZmlsbDogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IGNhbGModmFyKC0tZm9udC11aS1zbWFsbCkgKiAwLjkpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0d2hpdGUtc3BhY2U6IHByZTtcbn1cblxuLmdhbnR0LXRhc2stYmFyLnN0YXR1cy1jb21wbGV0ZWQge1xuXHRmaWxsOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdHN0cm9rZTogdmFyKC0tY29sb3ItZ3JlZW4tYm9yZGVyKTtcbn1cblxuLmdhbnR0LXRhc2stYmFyLnByaW9yaXR5LWhpZ2gge1xufVxuXG4vKipcbiAqIEdhbnR0IENoYXJ0IFN0eWxlc1xuICovXG5cbi5nYW50dC1oZWFkZXIge1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDtcblx0aGVpZ2h0OiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5nYW50dC1oZWFkZXItcm93IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDUwJTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5nYW50dC1oZWFkZXItcm93LnByaW1hcnkge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5nYW50dC1oZWFkZXItY2VsbCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1iZy1jb2xvcik7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uZ2FudHQtYm9keSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpICogLTEpO1xufVxuXG4uZ2FudHQtZ3JpZCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSk7XG5cdG1pbi13aWR0aDogMTAwJTtcbn1cblxuLmdhbnR0LWdyaWQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5nYW50dC1ncmlkLWNvbHVtbi50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LXRvZGF5LWNvbG9yKTtcbn1cblxuLmdhbnR0LWdyaWQtcm93IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LXJvdy1jb2xvcik7XG59XG5cbi5nYW50dC1ncmlkLXJvdzpudGgtY2hpbGQob2RkKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcbn1cblxuLmdhbnR0LWJhcnMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xuXHRtaW4td2lkdGg6IDEwMCU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZ2FudHQtdGFzay1jb250YWluZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi5nYW50dC10YXNrLWNvbnRhaW5lcjpob3ZlciB7XG5cdHotaW5kZXg6IDEwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi5nYW50dC10YXNrLWJhci5taWxlc3RvbmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1taWxlc3RvbmUtY29sb3IpO1xuXHR3aWR0aDogMTVweCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtNy41cHg7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC03LjVweDtcbn1cblxuLmdhbnR0LXRhc2stcHJvZ3Jlc3Mge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1wcm9ncmVzcy1jb2xvcik7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IGNhbGMoMTAwJSArIDhweCk7XG5cdHRvcDogMDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tZ2FudHQtYmFyLWhlaWdodCk7XG59XG5cbi5nYW50dC10YXNrLWNvbnRhaW5lci5yaWdodC1hbGlnbmVkIC5nYW50dC10YXNrLWxhYmVsIHtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IGNhbGMoMTAwJSArIDhweCk7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjgwcHgpIHtcblx0LmdhbnR0LWhlYWRlci1jZWxsIHtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdH1cblxuXHQuZ2FudHQtdGFzay1sYWJlbCB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHR9XG59XG5cbi5nYW50dC1jaGFydC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdhbnR0LWhlYWRlci1jb250YWluZXIge1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmdhbnR0LWhlYWRlci1zdmcge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmdhbnR0LWhlYWRlci10aWNrLW1ham9yLFxuLmdhbnR0LWhlYWRlci10aWNrLW1pbm9yLFxuLmdhbnR0LWhlYWRlci10aWNrLWRheSxcbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMTtcbn1cbi5nYW50dC1oZWFkZXItdGljay1tYWpvciB7XG5cdHN0cm9rZS13aWR0aDogMS41O1xufVxuLmdhbnR0LWhlYWRlci10b2RheS1tYXJrZXIge1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdHN0cm9rZS13aWR0aDogMS41O1xuXHRzdHJva2UtZGFzaGFycmF5OiA0LCAyO1xufVxuXG4uZ2FudHQtaGVhZGVyLWxhYmVsLW1ham9yLFxuLmdhbnR0LWhlYWRlci1sYWJlbC1taW5vcixcbi5nYW50dC1oZWFkZXItbGFiZWwtZGF5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0ZmlsbDogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5nYW50dC1oZWFkZXItbGFiZWwtbWFqb3Ige1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5nYW50dC1zY3JvbGwtY29udGFpbmVyIHtcblx0ZmxleC1ncm93OiAxO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ2FudHQtY29udGVudC13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZ2FudHQtZ3JpZC1saW5lLW1ham9yLFxuLmdhbnR0LWdyaWQtbGluZS1taW5vciB7XG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRzdHJva2Utd2lkdGg6IDAuNTtcbn1cbi5nYW50dC1ncmlkLWxpbmUtbWFqb3Ige1xuXHRzdHJva2Utd2lkdGg6IDE7XG59XG4uZ2FudHQtZ3JpZC1saW5lLWhvcml6b250YWwge1xuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0c3Ryb2tlLXdpZHRoOiAxO1xufVxuXG4uZ2FudHQtZ3JpZC10b2RheS1tYXJrZXIge1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdHN0cm9rZS13aWR0aDogMTtcblx0c3Ryb2tlLWRhc2hhcnJheTogNCwgMjtcbn1cblxuLmdhbnR0LXRhc2staXRlbSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmdhbnR0LXRhc2stYmFyIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdHN0cm9rZTogdmFyKC0tY29sb3ItYmx1ZS1ob3Zlcik7XG5cdHN0cm9rZS13aWR0aDogMC41O1xuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcbn1cbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stYmFyIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItcHVycGxlKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuXHRzdHJva2Utd2lkdGg6IDE7XG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlO1xufVxuLmdhbnR0LXRhc2staXRlbTpob3ZlciAuZ2FudHQtdGFzay1taWxlc3RvbmUge1xuXHRmaWxsOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLWJhcixcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWRvbmUgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0b3BhY2l0eTogMC43O1xufVxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtY2FuY2VsbGVkIC5nYW50dC10YXNrLWJhcixcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1taWxlc3RvbmUge1xuXHRmaWxsOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLXJlZCk7XG5cdG9wYWNpdHk6IDAuNjtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1pbnByb2dyZXNzIC5nYW50dC10YXNrLWJhciB7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsLWZvIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0cGFkZGluZzogMCAycHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24gcCB7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsLWNvbnRhaW5lciBwIHtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuXHRtYXJnaW4taW5saW5lLWVuZDogMDtcblxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHBhZGRpbmc6IDAgMnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWRvbmUgLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtY2FuY2VsbGVkIC5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5nYW50dC1taWxlc3RvbmUtbGFiZWwge1xuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5nYW50dC1maWx0ZXItYXJlYSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0d2lkdGg6IDEwMCU7XG5cblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZ2FudHQtZmlsdGVyLWFyZWEgLmZpbHRlci1jb21wb25lbnQge1xuXHRmbGV4OiAxO1xufVxuXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiBjYWxjKDUwJSArIDIwcHgpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuNik7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ei1pbmRleDogMTA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRkaXNwbGF5OiBub25lO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0ge1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvci1sZWZ0IHtcblx0bGVmdDogNXB4O1xufVxuXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvci1yaWdodCB7XG5cdHJpZ2h0OiA1cHg7XG59XG5cbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IHZhcigtLXNpemUtNC0zKTtcblx0ei1pbmRleDogMTA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lci1sZWZ0IHtcblx0bGVmdDogMDtcbn1cblxuLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xuXHRyaWdodDogMDtcbn1cblxuLmdhbnR0LXNpbmdsZS1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IHZhcigtLXNpemUtMi0xKTtcblx0d2lkdGg6IHZhcigtLXNpemUtNC0yKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5nYW50dC1zaW5nbGUtaW5kaWNhdG9yOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIC5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcblx0dG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQsIDQwcHgpICsgdmFyKC0tZmlsdGVyLWhlaWdodCwgMHB4KSk7XG5cdGJvdHRvbTogMTVweDtcbn1cblxuLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciAuZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lci1yaWdodCB7XG5cdHJpZ2h0OiAxNXB4O1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbCBwIHtcblx0bWFyZ2luOiAwO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tZ2FudHQtYmFyLWhlaWdodCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuIiwgIi8qIHRhc2stcHJvcGVydHkgVmlldyBTdHlsZXMgKi9cbi50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXByb3BlcnR5LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnRhc2stcHJvcGVydHktcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stcHJvcGVydHktc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50YXNrLXByb3BlcnR5LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1wcm9wZXJ0eS1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXByb3BlcnR5LWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLXByb3BlcnR5LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi8qIHRhc2stcHJvcGVydHkgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lXG5cdC50YXNrLXByb3BlcnR5LWNvbnRhaW5lcjpoYXMoXG5cdFx0LnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZVxuXHQpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBBZGQgcG9zaXRpb24gcmVsYXRpdmUgdG8gY29udGFpbmVyIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjb250ZXh0ICovXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXI6aGFzKC50YXNrLXByb3BlcnR5LXNpZGViYXItY2xvc2UpIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cbiIsICIvKiBUYXNrIFRhYmxlIFZpZXcgU3R5bGVzICovXG4udGFibGUtdmlldy1hZGFwdGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay10YWJsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0ZmxleDogMTtcblx0bWluLWhlaWdodDogMDtcblx0LyogRW5zdXJlIHRhYmxlIHRha2VzIGZ1bGwgd2lkdGggZXZlbiB3aXRoIG1hbnkgY29sdW1ucyAqL1xuXHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4vKiBUYWJsZSB3cmFwcGVyIGZvciBzY3JvbGxpbmcgKi9cbi50YXNrLXRhYmxlLXdyYXBwZXIge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogYXV0bztcblx0bWluLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvKiBFbmFibGUgYm90aCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBzY3JvbGxpbmcgKi9cblx0b3ZlcmZsb3cteDogYXV0bztcblx0b3ZlcmZsb3cteTogYXV0bztcblx0LyogU21vb3RoIHNjcm9sbGluZyAqL1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLyogSGVhZGVyIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtaGVhZGVyIHtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHQvKiBFbnN1cmUgaGVhZGVyIGRvZXNuJ3QgYnJlYWsgd2hlbiBzY3JvbGxpbmcgaG9yaXpvbnRhbGx5ICovXG5cdG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1yb3cge1xuXHRoZWlnaHQ6IDQwcHg7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdC8qIFByZXZlbnQgaGVhZGVyIGNlbGxzIGZyb20gc2hyaW5raW5nIHRvbyBtdWNoICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsOmxhc3QtY2hpbGQge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiA0cHg7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1zb3J0LWljb24ge1xuXHRmb250LXNpemU6IDEycHg7XG5cdG9wYWNpdHk6IDAuNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1zb3J0LWljb24uYXNjLFxuLnRhc2stdGFibGUtc29ydC1pY29uLmRlc2Mge1xuXHRvcGFjaXR5OiAxO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay10YWJsZS1yZXNpemUtaGFuZGxlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogNHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGN1cnNvcjogY29sLXJlc2l6ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcmVzaXplLWhhbmRsZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogQm9keSBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWJvZHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay10YWJsZS1yb3cge1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcm93OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdy5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbik6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtY2VsbCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtY2VsbDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udGFzay10YWJsZS1jZWxsLmVkaXRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBUcmVlIFZpZXcgU3R5bGVzICovXG4udGFzay10YWJsZS10cmVlLWluZGVudCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDsgXG59XG5cbi50YXNrLXRhYmxlLWNlbGw6aGFzKC50YXNrLXRhYmxlLWV4cGFuZC1idG4pIHtcblx0cGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udGFzay10YWJsZS1yb3cudGFzay10YWJsZS1zdWJ0YXNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTEgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMzJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTIgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogNTJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTMgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogNzJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogOTJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTUgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMTEycHg7XG59XG5cbi8qIENlbGwgVHlwZSBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay10YWJsZS1udW1iZXIge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4vKiBTdGF0dXMgQ2VsbCAqL1xuLnRhc2stdGFibGUtc3RhdHVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMtdGV4dCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuY29tcGxldGVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5pbi1wcm9ncmVzcyAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuYWJhbmRvbmVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMucGxhbm5lZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLm5vdC1zdGFydGVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4vKiBQcmlvcml0eSBDZWxsICovXG4udGFzay10YWJsZS1wcmlvcml0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS5jbGlja2FibGUtcHJpb3JpdHkge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LmNsaWNrYWJsZS1wcmlvcml0eTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmhpZ2gge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ubWVkaXVtIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ubG93IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS10ZXh0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIERhdGUgQ2VsbCAqL1xuLnRhc2stdGFibGUtZGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXRhYmxlLWRhdGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS50b2RheSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnRvbW9ycm93IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS55ZXN0ZXJkYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUub3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS51cGNvbWluZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFRhZ3MgQ2VsbCAqL1xuLnRhc2stdGFibGUtdGFncyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiA0cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLXRhZy1jaGlwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtdGFncy1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBJbmxpbmUgRWRpdGluZyBJbnB1dHMgKi9cbi50YXNrLXRhYmxlLXRleHQtaW5wdXQsXG4udGFzay10YWJsZS10YWdzLWlucHV0IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCkgIWltcG9ydGFudDtcbn1cblxuLnRhc2stdGFibGUtdGV4dC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQ6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAycHggNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRhc2sgQ291bnQgSWNvbiAqL1xuLnRhc2stY291bnQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtZW1wdHktcm93IHtcblx0aGVpZ2h0OiA4MHB4O1xufVxuXG4udGFzay10YWJsZS1lbXB0eS1jZWxsIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogTG9hZGluZyBTdGF0ZSAqL1xuLnRhc2stdGFibGUtbG9hZGluZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuLyogUmVzaXplIFN0YXRlICovXG4udGFzay10YWJsZS5yZXNpemluZyB7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGFzay10YWJsZS5yZXNpemluZyAqIHtcblx0Y3Vyc29yOiBjb2wtcmVzaXplICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpcnR1YWwgc2Nyb2xsaW5nIHN0eWxlcyAqL1xuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlciB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdH1cblxuXHQudGFzay10YWJsZS13cmFwcGVyIHtcblx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHR9XG5cblx0LnRhc2stdGFibGUge1xuXHRcdG1pbi13aWR0aDogODAwcHg7IC8qIEVuc3VyZSB0YWJsZSBkb2Vzbid0IGdldCB0b28gbmFycm93ICovXG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0cGFkZGluZzogNnB4IDhweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJvdyB7XG5cdFx0aGVpZ2h0OiAzNnB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLXJvdyB7XG5cdFx0aGVpZ2h0OiAzNnB4O1xuXHR9XG59XG5cbi8qIERhcmsgTW9kZSBBZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLyogSGlnaCBDb250cmFzdCBNb2RlICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcblx0LnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRib3JkZXItd2lkdGg6IDFweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJvdyB7XG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHR9XG59XG5cbi8qIFByaW50IFN0eWxlcyAqL1xuQG1lZGlhIHByaW50IHtcblx0LnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyIHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHR9XG5cblx0LnRhc2stdGFibGUtcmVzaXplLWhhbmRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLyogVmlydHVhbCBzY3JvbGxpbmcgc3R5bGVzICovXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyLXRvcCB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyLXRvcCB0ZCB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvbnRleHQgbWVudSBzdHlsZXMgKi9cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0ei1pbmRleDogMTAwMDtcblx0bWluLXdpZHRoOiAxMjBweDtcbn1cblxuLnRhc2stdGFibGUtY29udGV4dC1tZW51LWl0ZW0ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnRhc2stdGFibGUtY29udGV4dC1tZW51LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogRGF0ZSBpbnB1dCBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1pbnB1dDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBBdXRvY29tcGxldGUgaW5wdXQgaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1wcm9qZWN0LWlucHV0LFxuLnRhc2stdGFibGUtY29udGV4dC1pbnB1dCxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLXByb2plY3QtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS1jb250ZXh0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtdGFncy1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogUm93IHNlbGVjdGlvbiBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLXJvdy5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyLXdlYWspO1xufVxuXG4vKiBSZXNwb25zaXZlIGltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlIHtcblx0XHRmb250LXNpemU6IDAuOWVtO1xuXHR9XG5cblx0dGhbZGF0YS1jb2x1bW4taWQ9XCJyb3dOdW1iZXJcIl0ge1xuXHRcdG1heC13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS10cmVlLWNvbnRhaW5lciB7XG5cdFx0Z2FwOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdHRkW2RhdGEtY29sdW1uLWlkPVwicm93TnVtYmVyXCJdIHtcblx0XHRtYXgtd2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHR3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdHBhZGRpbmc6IDZweCA0cHg7XG5cdH1cbn1cblxuLyogVGFzayBUYWJsZSBIZWFkZXIgQmFyIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG59XG5cbi50YWJsZS1oZWFkZXItbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcbn1cblxuLnRhYmxlLWhlYWRlci1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4vKiBUYXNrIENvdW50IERpc3BsYXkgKi9cbi50YXNrLWNvdW50LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWNvdW50LXRleHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBDb250cm9sIEJ1dHRvbnMgKi9cbi50YWJsZS1jb250cm9scy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFibGUtY29udHJvbC1idG46YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udHJlZS1tb2RlLWJ0bi5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udHJlZS1tb2RlLWljb24sXG4ucmVmcmVzaC1pY29uLFxuLmNvbHVtbi1pY29uIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRyZWUtbW9kZS10ZXh0LFxuLnJlZnJlc2gtdGV4dCxcbi5jb2x1bW4tdGV4dCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kcm9wZG93bi1hcnJvdyB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLyogQ29sdW1uIERyb3Bkb3duICovXG4uY29sdW1uLWRyb3Bkb3duIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0cmlnaHQ6IDA7XG5cdG1hcmdpbi10b3A6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmNvbHVtbi10b2dnbGUtY2hlY2tib3gge1xuXHRtYXJnaW46IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvbHVtbi10b2dnbGUtbGFiZWwge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gZm9yIEhlYWRlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxMnB4O1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHR9XG5cblx0LnRhYmxlLWhlYWRlci1sZWZ0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhYmxlLWhlYWRlci1sZWZ0LFxuXHQudGFibGUtaGVhZGVyLXJpZ2h0IHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC50YWJsZS1jb250cm9scy1jb250YWluZXIge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXG5cdC50YWJsZS1jb250cm9sLWJ0biB7XG5cdFx0ZmxleDogMTtcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0XHRyaWdodDogYXV0bztcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi8qIERhcmsgTW9kZSBBZGp1c3RtZW50cyBmb3IgSGVhZGVyICovXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRoZW1lLWRhcmsgLmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiBDdXN0b20gQXV0by1TdWdnZXN0IERyb3Bkb3duICovXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG1heC1oZWlnaHQ6IDIwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtaW4td2lkdGg6IDE1MHB4O1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbSB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtOmhvdmVyLFxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0uc2VsZWN0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBFbmhhbmNlZCBUcmVlIFZpZXcgU3R5bGVzICovXG4udGFzay10YWJsZS1zdWJ0YXNrIHtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXBhcmVudCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stdGFibGUtc3VidGFzay1jZWxsIHtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1mb2N1cyk7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS10cmVlLXN0cnVjdHVyZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1saW5lIHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR3aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFzay10YWJsZS10cmVlLWNvbm5lY3RvciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS12ZXJ0aWNhbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLnRhc2stdGFibGUtc3VidGFzay1pbmRpY2F0b3Ige1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRmbGV4LXNocmluazogMDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLXRhYmxlLXRvcC1sZXZlbC1leHBhbmQge1xuXHRtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLnRhc2stdGFibGUtY29udGVudC13cmFwcGVyIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4udGFzay10YWJsZS1jaGlsZC1pbmRpY2F0b3Ige1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWxlZnQ6IDZweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEVuaGFuY2VkIFN0YXR1cyBDZWxsICovXG4udGFzay10YWJsZS1zdGF0dXMuY2xpY2thYmxlLXN0YXR1cyB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmNsaWNrYWJsZS1zdGF0dXM6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogRW5oYW5jZWQgUHJpb3JpdHkgSWNvbnMgKi9cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24uaGlnaGVzdCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0ZmlsdGVyOiBicmlnaHRuZXNzKDEuMik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ubG93ZXN0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4vKiBUcmVlIGV4cGFuZCBidXR0b24gaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1leHBhbmQtYnRuLmNsaWNrYWJsZS1pY29uIHtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0bi5jbGlja2FibGUtaWNvbjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi8qIE92ZXJyaWRlIGV4aXN0aW5nIHRyZWUgaW5kZW50YXRpb24gdG8gdXNlIG5ldyBzeXN0ZW0gKi9cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0xIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMiAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTMgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC00IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAxMnB4OyAvKiBSZXNldCB0byBub3JtYWwgcGFkZGluZywgbGV0IHRyZWUgc3RydWN0dXJlIGhhbmRsZSBpbmRlbnRhdGlvbiAqL1xufVxuIiwgIi8qIFRhc2sgR2VuaXVzIC0gUXVhZHJhbnQgVmlldyBTdHlsZXMgKi9cblxuLyogTWFpbiBRdWFkcmFudCBDb250YWluZXIgKi9cbi50Zy1xdWFkcmFudC1jb21wb25lbnQtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogSGVhZGVyIFNlY3Rpb24gKi9cbi50Zy1xdWFkcmFudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGctcXVhZHJhbnQtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW46IDA7XG59XG5cbi50Zy1xdWFkcmFudC1jb250cm9scyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Qge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS0yLTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Q6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4udGctcXVhZHJhbnQtdG9nZ2xlLWVtcHR5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdHdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctcXVhZHJhbnQtdG9nZ2xlLWVtcHR5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiBGaWx0ZXIgU2VjdGlvbiAqL1xuLnRnLXF1YWRyYW50LWZpbHRlci1jb250YWluZXIge1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogUXVhZHJhbnQgR3JpZCAqL1xuLnRnLXF1YWRyYW50LWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjtcblx0Z2FwOiAxcHg7XG5cdGZsZXg6IDE7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogSW5kaXZpZHVhbCBRdWFkcmFudCBDb2x1bW5zICovXG4udGctcXVhZHJhbnQtY29sdW1uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWluLWhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBRdWFkcmFudCBIZWFkZXJzICovXG4udGctcXVhZHJhbnQtY29sdW1uIC50Zy1xdWFkcmFudC1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG5cbi50Zy1xdWFkcmFudC10aXRsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udGctcXVhZHJhbnQtcHJpb3JpdHkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRnLXF1YWRyYW50LWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnRnLXF1YWRyYW50LWNvdW50IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4vKiBRdWFkcmFudCBDb250ZW50IEFyZWFzICovXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IDhweDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcbn1cblxuLyogUXVhZHJhbnQgU3BlY2lmaWMgU3R5bGluZyAtIFN1YnRsZSBhY2NlbnQgYmFycyAqL1xuLnF1YWRyYW50LXVyZ2VudC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1lcnJvcik7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLnF1YWRyYW50LW5vdC11cmdlbnQtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLnF1YWRyYW50LXVyZ2VudC1ub3QtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtd2FybmluZyk7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLnF1YWRyYW50LW5vdC11cmdlbnQtbm90LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0b3BhY2l0eTogMC40O1xufVxuXG4vKiBUYXNrIENhcmRzICovXG4udGctcXVhZHJhbnQtY2FyZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIENhcmQgSGVhZGVyICovXG4udGctcXVhZHJhbnQtY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1jaGVja2JveCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWFjdGlvbnMge1xuXHRmbGV4LXNocmluazogMDtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLWFjdGlvbnMge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0biB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogQ2FyZCBDb250ZW50ICovXG4udGctcXVhZHJhbnQtY2FyZC1jb250ZW50IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ub3JtYWwpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1wcmlvcml0eSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTItMSk7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtdGFncyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtdGFnIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtdGFnOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1xdWFkcmFudC10YWctLXVyZ2VudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50Zy1xdWFkcmFudC10YWctLWltcG9ydGFudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4vKiBDYXJkIE1ldGFkYXRhICovXG4udGctcXVhZHJhbnQtY2FyZC1tZXRhZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUtaWNvbiB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUtLXVyZ2VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS0tb3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1pbmZvIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1pY29uIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1uYW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRtYXgtd2lkdGg6IDEyMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtbGluZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRvcGFjaXR5OiAwLjY7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi8qIFByaW9yaXR5IENsYXNzZXMgLSBTdWJ0bGUgbGVmdCBib3JkZXIgKi9cbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1oaWdoZXN0IHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWhpZ2gge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1tZWRpdW0ge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1sb3cge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1sb3dlc3Qge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBEcmFnIGFuZCBEcm9wIFN0YXRlcyAqL1xuLnRnLXF1YWRyYW50LWNhcmQtLWdob3N0IHtcblx0b3BhY2l0eTogMC40O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZ2dpbmcge1xuXHQvKiBTdHlsZSBmb3IgdGhlIGNsb25lIGJlaW5nIGRyYWdnZWQgLSBmb2xsb3dpbmcga2FuYmFuIHBhdHRlcm4gKi9cblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpOyAvKiBNb3JlIHByb21pbmVudCBzaGFkb3cgKi9cbn1cblxuLyogUmVtb3ZlIG9sZCBkcmFnIGNsYXNzZXMgdGhhdCBhcmUgbm8gbG9uZ2VyIHVzZWQgKi9cbi50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi8qIEVtcHR5IFN0YXRlICovXG4udGctcXVhZHJhbnQtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMjBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGctcXVhZHJhbnQtZW1wdHktaWNvbiB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcblx0b3BhY2l0eTogMC41O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi50Zy1xdWFkcmFudC1lbXB0eS1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctcXVhZHJhbnQtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNCwgMWZyKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1oZWFkZXIge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKSB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY29sdW1uIC50Zy1xdWFkcmFudC1oZWFkZXIge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKSB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY2FyZCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jb250cm9scyB7XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdH1cbn1cblxuLyogRm9jdXMgc3RhdGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXG4udGctcXVhZHJhbnQtY2FyZDpmb2N1cyB7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0bjpmb2N1cyB7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiBBbmltYXRpb24gZm9yIHNtb290aCBpbnRlcmFjdGlvbnMgKi9cbkBrZXlmcmFtZXMgY2FyZENvbXBsZXRlIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0NTAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWNvbXBsZXRlZCB7XG5cdGFuaW1hdGlvbjogY2FyZENvbXBsZXRlIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEltcHJvdmVkIGhvdmVyIHN0YXRlcyAqL1xuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1wcmlvcml0eSB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi8qIEJldHRlciB2aXN1YWwgaGllcmFyY2h5ICovXG4udGctcXVhZHJhbnQtY2FyZC1jb250ZW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBMYXp5IGxvYWRpbmcgc3R5bGVzICovXG4udGctcXVhZHJhbnQtbG9hZGluZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4udGctcXVhZHJhbnQtbG9hZGluZy1zcGlubmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnRnLXF1YWRyYW50LXNwaW5uZXIge1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWxvYWRpbmctbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIEVuaGFuY2VkIGRyYWcgYW5kIGRyb3Agc3R5bGVzICovXG4udGctcXVhZHJhbnQtZHJhZ2dpbmcge1xuXHRjdXJzb3I6IGdyYWJiaW5nICFpbXBvcnRhbnQ7XG59XG5cbi50Zy1xdWFkcmFudC1kcmFnZ2luZyAqIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1naG9zdCB7XG5cdG9wYWNpdHk6IDAuNDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcblx0ei1pbmRleDogMTAwMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xuXHRvcGFjaXR5OiAwLjg7XG5cdGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWZhbGxiYWNrIHtcblx0b3BhY2l0eTogMC45O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi0tZHJhZy10YXJnZXQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWluLWhlaWdodDogNjBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIkRyb3AgdGFzayBoZXJlXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0b3BhY2l0eTogMC43O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogMTtcbn1cblxuLyogRmVlZGJhY2sgc3R5bGVzICovXG4udGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDIwcHg7XG5cdHJpZ2h0OiAyMHB4O1xuXHR6LWluZGV4OiAxMDAwMDtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1zaG93IHtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stLWhpZGUge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stLWVycm9yIC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLWljb24ge1xuXHRmb250LXNpemU6IDEuMnJlbTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay10ZXh0IHtcblx0Zm9udC1zaXplOiAwLjlyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIEVuaGFuY2VkIGNhcmQgaW50ZXJhY3Rpb25zICovXG4udGctcXVhZHJhbnQtY2FyZCB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGN1cnNvcjogZ3JhYjtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiBJbXByb3ZlZCBlbXB0eSBzdGF0ZSAqL1xuLnRnLXF1YWRyYW50LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW0gMXJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1pbi1oZWlnaHQ6IDEyMHB4O1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdG1hcmdpbjogMC41cmVtIDA7XG59XG5cbi50Zy1xdWFkcmFudC1lbXB0eS1pY29uIHtcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGctcXVhZHJhbnQtZW1wdHktbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4vKiBMb2FkaW5nIGFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBzcGluIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLnRnLXF1YWRyYW50LXNwaW5uZXIgY2lyY2xlIHtcblx0YW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcblx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayB7XG5cdFx0dG9wOiAxMHB4O1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHRcdGxlZnQ6IDEwcHg7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay0tc2hvdyB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLS1oaWRlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBEYXJrIG1vZGUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1jYXJkLS1mYWxsYmFjayB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLyogQWNjZXNzaWJpbGl0eSBpbXByb3ZlbWVudHMgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC50Zy1xdWFkcmFudC1jYXJkLFxuXHQudGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrLFxuXHQudGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuLFxuXHQudGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRhbmltYXRpb246IG5vbmU7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtc3Bpbm5lciBjaXJjbGUge1xuXHRcdGFuaW1hdGlvbjogbm9uZTtcblx0fVxufVxuXG4vKiBTY3JvbGwgY29udGFpbmVyIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdG1heC1oZWlnaHQ6IDcwdmg7XG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikgdHJhbnNwYXJlbnQ7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiA2cHg7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiBMb2FkIG1vcmUgaW5kaWNhdG9yIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS0tdmlzaWJsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtc3Bpbm5lciB7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIEFuaW1hdGUgdGhlIE9ic2lkaWFuIGxvYWRlciBpY29uICovXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLXNwaW5uZXIgc3ZnIHtcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiAwLjhyZW07XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogQ29sdW1uIGxheW91dCBhZGp1c3RtZW50cyBmb3Igc2Nyb2xsaW5nICovXG4udGctcXVhZHJhbnQtY29sdW1uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtaW4taGVpZ2h0OiA0MDBweDtcblx0bWF4LWhlaWdodDogODB2aDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuNXJlbTtcbn1cblxuLyogU21vb3RoIHNjcm9sbGluZyAqL1xuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLyogTG9hZGluZyBzdGF0ZXMgZHVyaW5nIHNjcm9sbCAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbi5sb2FkaW5nLW1vcmUgLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XG5cdG9wYWNpdHk6IDE7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBJbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgdGFyZ2V0IHN0eWxpbmcgKi9cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLyogRW5oYW5jZWQgZW1wdHkgc3RhdGUgZm9yIHNjcm9sbGFibGUgY29udGVudCAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50OmVtcHR5OjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWluLWhlaWdodDogMTAwcHg7XG59XG5cbi8qIEdyaWQgbGF5b3V0IGFkanVzdG1lbnRzICovXG4udGctcXVhZHJhbnQtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdGhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcblx0bWluLWhlaWdodDogNDAwcHg7XG59XG5cbi8qIFJlc3BvbnNpdmUgc2Nyb2xsIGNvbnRhaW5lciBoZWlnaHRzICovXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcblx0XHRtYXgtaGVpZ2h0OiA2MHZoO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNvbHVtbiB7XG5cdFx0bWF4LWhlaWdodDogNzB2aDtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xuXHRcdG1heC1oZWlnaHQ6IDUwdmg7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY29sdW1uIHtcblx0XHRtYXgtaGVpZ2h0OiA2MHZoO1xuXHRcdG1pbi1oZWlnaHQ6IDMwMHB4O1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuXG4vKiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zICovXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xuXHRjb250YWluOiBsYXlvdXQgc3R5bGU7XG5cdHdpbGwtY2hhbmdlOiBjb250ZW50cztcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQge1xuXHRjb250YWluOiBsYXlvdXQgc3R5bGUgcGFpbnQ7XG59XG5cbi8qIFNjcm9sbCBpbmRpY2F0b3JzICovXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lci5oYXMtc2Nyb2xsOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0dG8gYm90dG9tLFxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSksXG5cdFx0dHJhbnNwYXJlbnRcblx0KTtcblx0ei1pbmRleDogMTtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIuaGFzLXNjcm9sbDo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHRib3R0b206IDA7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLCB0cmFuc3BhcmVudCk7XG5cdHotaW5kZXg6IDE7XG59XG4iLCAiLnRnLWhhYml0LWNvbXBvbmVudC1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXG5cdHBhZGRpbmc6IDFyZW07IC8qIHAtNCAqL1xuXHRoZWlnaHQ6IDEwMCU7IC8qIEFsbG93IHNjcm9sbGluZyBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiA9PT0gSGFiaXQgTGlzdCBDb250YWluZXIgPT09ICovXG4uaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG5cdGdhcDogMXJlbTsgLyogZ2FwLTQgKi9cblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFx1NUMwRlx1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcblx0LmhhYml0LWxpc3QtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwLjVyZW07XG5cdFx0Z2FwOiAwLjc1cmVtO1xuXHR9XG59XG5cbi8qIFx1NEUyRFx1N0I0OVx1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyB+NzY4cHggKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdG1heC13aWR0aDogNDAwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG59XG5cbi8qIFx1NTkyN1x1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiA1MDBweDtcblx0fVxufVxuLyogQWRqdXN0IG1heC13aWR0aC9jb2x1bW5zIGJhc2VkIG9uIGRlc2lyZWQgbGF5b3V0ICovXG5cbi5oYWJpdC1jYXJkLXdyYXBwZXIge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi8qID09PSBDcmVhdGUgSGFiaXQgQnV0dG9uID09PSAqL1xuLmhhYml0LWNyZWF0ZS1idXR0b24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4vKiA9PT0gQmFzZSBDYXJkIFN0eWxlcyA9PT0gKi9cbi5oYWJpdC1jYXJkIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIFN0YW5kYXJkIG1lZGl1bSByYWRpdXMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBTdGFjayBoZWFkZXIgYW5kIGNvbnRlbnQgKi9cblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi5oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGdhcDogMC41cmVtO1xuXHQvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xufVxuXG4uaGFiaXQtY2FyZCAuY2FyZC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtOyAvKiBnYXAtMiAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpOyAvKiBMYXJnZXIgVUkgZm9udCAqL1xuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGl0bGUgdG8gdGFrZSBzcGFjZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGxvbmcgbmFtZXMgYnJlYWtpbmcgbGF5b3V0ICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uaGFiaXQtbmFtZS5oYWJpdC1uYW1lOmhvdmVyIHtcblx0LyogU3BlY2lmaWNpdHkgZm9yIGhvdmVyICovXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgLyogQ29uc2lzdGVudCBwYWRkaW5nICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGVudCB0byBmaWxsIHNwYWNlICovXG5cdC8qIExheW91dCBzcGVjaWZpY3MgZGVmaW5lZCBwZXIgY2FyZCB0eXBlICovXG59XG5cbi8qID09PSBEYWlseSBIYWJpdCBDYXJkID09PSAqL1xuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtaGVhZGVyIHtcblx0LyogTm8gYm9yZGVyIG5lZWRlZCBpZiBjaGVja2JveCBpcyBtYWluIGFjdGlvbiAqL1xuXHQvKiBib3JkZXItYm90dG9tOiBub25lOyAqL1xufVxuLmRhaWx5LWhhYml0LWNhcmQgLmhhYml0LWNoZWNrYm94LWNvbnRhaW5lciB7XG5cdC8qIFN0eWxlIGNvbnRhaW5lciBpZiBuZWVkZWQgKi9cbn1cbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveCB7XG5cdC0tY2hlY2tib3gtc2l6ZTogMS4yNXJlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRhY2NlbnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIFN0eWxlIGNoZWNrYm94IGNvbG9yICovXG59XG4uZGFpbHktaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHQvKiBDb250YWlucyBoZWF0bWFwICovXG5cdHBhZGRpbmc6IDByZW0gMXJlbSAwLjc1cmVtOyAvKiBBZGp1c3QgcGFkZGluZyBhcm91bmQgaGVhdG1hcCAqL1xufVxuXG4vKiA9PT0gQ291bnQgSGFiaXQgQ2FyZCA9PT0gKi9cbi5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIERlZmF1bHQgbW9iaWxlIGxheW91dCAqL1xuXHRnYXA6IDAuNzVyZW07IC8qIEFkanVzdGVkIGdhcCAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xuXHQtLWljb24tc2l6ZTogMnJlbTtcblx0aGVpZ2h0OiA0cmVtOyAvKiBTbGlnaHRseSBzbWFsbGVyIHRoYW4gaC0xNiAqL1xuXHR3aWR0aDogNHJlbTtcblx0YXNwZWN0LXJhdGlvOiAxO1xuXHRwYWRkaW5nOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogU21hbGxlciByYWRpdXMgKi9cblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMS41cmVtOyAvKiBGb3IgaWNvbiAqL1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWNhcmQtbmFtZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1hY3RpdmUtZGF5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciB0ZXh0IG9uIG1vYmlsZSAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZsZXgtZ3JvdzogMTtcbn1cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pbmZvIGgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgQ291bnQgQ2FyZCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG5cdC8qIHNtIGJyZWFrcG9pbnQgKi9cblx0LmNvdW50LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cblx0XHRnYXA6IDFyZW07XG5cdH1cblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBBbGxvdyBpdCB0byBzaHJpbmsgKi9cblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBFbnN1cmUgbWluaW11bSB3aWR0aCBmb3IgaGVhdG1hcC9wcm9ncmVzcyAqL1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLyogQWxpZ24gcHJvZ3Jlc3MgdG8gdGhlIHJpZ2h0ICovXG5cdH1cblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtc21hbGwge1xuXHRcdHdpZHRoOiAxMDAlOyAvKiBBbGxvdyBoZWF0bWFwIHRvIGRlZmluZSBpdHMgb3duIHdpZHRoICovXG5cdH1cbn1cblxuLyogPT09IFNjaGVkdWxlZCBIYWJpdCBDYXJkID09PSAqL1xuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cbn1cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBNb2JpbGUgZGVmYXVsdCAqL1xuXHRnYXA6IDAuNzVyZW07XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBvbiBtb2JpbGUgKi9cbn1cblxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGhlYXRtYXAgb24gbW9iaWxlICovXG59XG5cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBjb250cm9scyBvbiBtb2JpbGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBjb250cm9scyBvbiBtb2JpbGUgKi9cbn1cblxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1ldmVudC1kcm9wZG93biB7XG5cdHdpZHRoOiBhdXRvOyAvKiBBdXRvIHdpZHRoIGRyb3Bkb3duICovXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgU2NoZWR1bGVkIENhcmQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGlnbiB0b3AgKi9cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGhlYXRtYXAgdG8gc2hyaW5rICovXG5cdFx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHRha2UgYXZhaWxhYmxlIHNwYWNlICovXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtOyAvKiBTcGFjZSBiZXR3ZWVuIGhlYXRtYXAgYW5kIGNvbnRyb2xzICovXG5cdH1cblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XG5cdFx0d2lkdGg6IGF1dG87IC8qIFNocmluayBjb250cm9scyAqL1xuXHRcdG1pbi13aWR0aDogMTUwcHg7IC8qIE1pbmltdW0gd2lkdGggKi9cblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gY29udHJvbHMgbGVmdCAqL1xuXHR9XG59XG5cbi8qID09PSBNYXBwaW5nIEhhYml0IENhcmQgPT09ICovXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cblx0Z2FwOiAwLjc1cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDEuMnJlbTtcbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDEuNzVyZW07IC8qIExhcmdlciBlbW9qaS90ZXh0ICovXG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMTAwcHg7IC8qIExpbWl0IGJ1dHRvbiB3aWR0aCAqL1xuXHRoZWlnaHQ6IDMuNXJlbTsgLyogaC0xNiBlcXVpdmFsZW50ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1iZyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIEVuc3VyZSBlbW9qaSB2aXNpYmlsaXR5ICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJnKTtcbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcge1xuXHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIGZ1bGwgd2lkdGggKi9cblx0bWF4LXdpZHRoOiAyMDBweDsgLyogTGltaXQgc2xpZGVyIHdpZHRoICovXG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lOyAvKiBIaWRlIHNsaWRlciBsYWJlbCAqL1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHR3aWR0aDogMTAwJTsgLyogTWFrZSBzbGlkZXIgY29udHJvbCB0YWtlIGZ1bGwgd2lkdGggKi9cbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgTWFwcGluZyBDYXJkICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIGl0ZW1zIHZlcnRpY2FsbHkgKi9cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdH1cblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1pbi13aWR0aDogODBweDsgLyogV2lkdGggZm9yIGJ1dHRvbiArIHNsaWRlciAqL1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEtlZXAgYnV0dG9uIGFib3ZlIHNsaWRlciAqL1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAwLjc1cmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uIHtcblx0XHR3aWR0aDogNHJlbTsgLyogRml4ZWQgd2lkdGggYnV0dG9uICovXG5cdFx0aGVpZ2h0OiA0cmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcblx0XHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIHdpZHRoIG9mIGNvbnRyb2wgYXJlYSAqL1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0fVxufVxuXG4vKiA9PT0gUHJvZ3Jlc3MgQmFyIChDb21tb24gZm9yIENvdW50L1NjaGVkdWxlZCkgPT09ICovXG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMC43NXJlbTsgLyogU2xpZ2h0bHkgdGhpY2tlciAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTsgLyogUGlsbCBzaGFwZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIEZvciB0ZXh0IG92ZXJsYXkgKi9cbn1cbi5oYWJpdC1wcm9ncmVzcy1iYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dDtcbn1cbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIuZmlsbGVkIC5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcblx0bWl4LWJsZW5kLW1vZGU6IHVuc2V0O1xufVxuLmhhYml0LXByb2dyZXNzLXRleHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC42cmVtOyAvKiBUaW55IHRleHQgKi9cblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7IC8qIFRleHQgY29sb3Igb24gZmlsbGVkIHBhcnQgKi9cblx0bWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IC8qIFRyeSB0byBtYWtlIHRleHQgdmlzaWJsZSAqL1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiA9PT0gSGVhdG1hcCBTdHlsZXMgPT09ICovXG4udGctaGVhdG1hcC1yb290IHtcblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgYXZhaWxhYmxlIHdpZHRoICovXG59XG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cbn1cblxuLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWF0bWFwLWNlbGwge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIFNtYWxsIHJhZGl1cyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBjZWxscyBmcm9tIHNocmlua2luZyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxuXHQpOyAvKiBEZWZhdWx0IGJhY2tncm91bmQgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IC8qIEJvcmRlciBmb3IgYmxhbmsvY3VzdG9tICovXG59XG5cbi8qIEhlYXRtYXAgU2hhcGVzICovXG4uaGVhdG1hcC1jZWxsLXNxdWFyZSB7XG5cdC8qIERlZmluZWQgYnkgc2l6ZSAqL1xufVxuLmhlYXRtYXAtY2VsbC1kb3Qge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qIEhlYXRtYXAgU2l6ZXMgKi9cbi5oZWF0bWFwLXNtIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMC43NXJlbTtcblx0aGVpZ2h0OiAwLjc1cmVtO1xufVxuLmhhYml0LWhlYXRtYXAtbWVkaXVtIC5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMS40cmVtO1xuXHRoZWlnaHQ6IDEuNHJlbTtcblx0Zm9udC1zaXplOiAwLjdyZW07XG59XG5cbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMS4xcmVtO1xuXHRoZWlnaHQ6IDEuMXJlbTtcblx0Zm9udC1zaXplOiAwLjdyZW07XG59IC8qIE1hcHBpbmcvU2NoZWR1bGVkICovXG4uaGVhdG1hcC1sZyAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDEuMjVyZW07XG5cdGhlaWdodDogMS4yNXJlbTtcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xufSAvKiBEYWlseSAqL1xuXG4vKiBIZWF0bWFwIFZhcmlhbnRzICovXG4uaGVhdG1hcC1jZWxsLmRlZmF1bHQge1xuXHQvKiBEZWZhdWx0IHN0eWxlcyBhbHJlYWR5IHNldCAqL1xufVxuLmhlYXRtYXAtY2VsbC5maWxsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IG9uIGZpbGxlZCAoZS5nLiwgZW1vamkpICovXG59XG5cbi5oZWF0bWFwLWNlbGwuaGFzLWN1c3RvbS1jb250ZW50OmhhcygucGllLWRvdC1jb250YWluZXIpIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogdW5zZXQ7XG59XG5cbi8qIFN0eWxlIGZvciBjZWxscyB3aXRoIGN1c3RvbSBjb250ZW50IGxpa2UgUGllRG90IG9yIEVtb2ppICovXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudCxcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTsgLyogVXNlIGNhcmQgYmFja2dyb3VuZCAqL1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIGJvcmRlciAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgdGV4dC9lbW9qaSBpcyB2aXNpYmxlICovXG59XG4uaGVhdG1hcC1jZWxsLmhhcy10ZXh0LWNvbnRlbnQge1xuXHRsaW5lLWhlaWdodDogMTsgLyogQ2VudGVyIGVtb2ppIHZlcnRpY2FsbHkgKi9cbn1cblxuLyogUGllRG90IENvbnRhaW5lciAqL1xuLnBpZS1kb3QtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGllLWRvdC1jb250YWluZXIgc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7IC8qIFJlbW92ZSBleHRyYSBzcGFjZSBiZWxvdyBTVkcgKi9cbn1cblxuLyogPT09IEVtcHR5IFN0YXRlID09PSAqL1xuLmhhYml0LWVtcHR5LXN0YXRlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtIDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi5oYWJpdC1lbXB0eS1zdGF0ZSBwIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogPT09IEljb25zIFBsYWNlaG9sZGVyID09PSAqL1xuLmhhYml0LWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdC8qIHdpZHRoOiAxZW07ICovXG5cdGhlaWdodDogMWVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG5cdC0taWNvbi1zaXplOiAxLjVyZW07XG59XG5cbi8qID09PSBIYWJpdCBDaGFydCBNb2RhbCA9PT0gKi9cbi5oYWJpdC1jaGFydC1jb250cm9scyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuLmhhYml0LWNoYXJ0LWZpbHRlcnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogMC41cmVtO1xufVxuLmhhYml0LWNoYXJ0LWZpbHRlcnMgLmZpbHRlci1idG4ge1xuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNnJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuLmhhYml0LWNoYXJ0LWZpbHRlcnMgLmZpbHRlci1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG59XG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXJzLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFycy1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0Z2FwOiAwLjRyZW07XG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiAycHg7XG59XG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXItYnRuIHtcblx0cGFkZGluZzogMC4ycmVtIDAuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXItYnRuLnNlbGVjdGVkLFxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cbi5oYWJpdC1jaGFydC1oZWF0bWFwIHtcblx0LyogUmV1c2UgdGhlIGhlYXRtYXAgZ3JpZCBzdHlsZXM7IGFsbG93IG92ZXJmbG93ICovXG5cdG1heC1oZWlnaHQ6IDYwdmg7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuIiwgIi8qIERlZmluZSB0aGVtZSB2YXJpYWJsZXMgKi9cbjpyb290IHtcblx0LyogVGFzayBzdGF0dXMgY29sb3JzICovXG5cdC0tdGFzay1jb21wbGV0ZWQtY29sb3I6ICM0Y2FmNTA7XG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzgwZGVlNTtcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZjlkOTIzO1xuXHQtLXRhc2stYWJhbmRvbmVkLWNvbG9yOiAjZWI1MzUzO1xuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogIzljMjdiMDsgLyogUGxhbm5lZCB0YXNrIGNvbG9yICovXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzIxOTZmMzsgLyogUXVlc3Rpb24gdGFza3MgKi9cblx0LS10YXNrLWltcG9ydGFudC1jb2xvcjogI2Y0NDMzNjsgLyogSW1wb3J0YW50IHRhc2tzICovXG5cdC0tdGFzay1zdGFyLWNvbG9yOiAjZmZjMTA3OyAvKiBTdGFyIHRhc2tzICovXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzYwN2Q4YjsgLyogUXVvdGUgdGFza3MgKi9cblx0LS10YXNrLWxvY2F0aW9uLWNvbG9yOiAjNzk1NTQ4OyAvKiBMb2NhdGlvbiB0YXNrcyAqL1xuXHQtLXRhc2stYm9va21hcmstY29sb3I6ICNmZjk4MDA7IC8qIEJvb2ttYXJrIHRhc2tzICovXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzAwYmNkNDsgLyogSW5mb3JtYXRpb24gdGFza3MgKi9cblx0LS10YXNrLWlkZWEtY29sb3I6ICM5YzI3YjA7IC8qIElkZWEgdGFza3MgKi9cblx0LS10YXNrLXByb3MtY29sb3I6ICM0Y2FmNTA7IC8qIFByb3MgdGFza3MgKi9cblx0LS10YXNrLWNvbnMtY29sb3I6ICNmNDQzMzY7IC8qIENvbnMgdGFza3MgKi9cblx0LS10YXNrLWZpcmUtY29sb3I6ICNmZjU3MjI7IC8qIEZpcmUgdGFza3MgKi9cblx0LS10YXNrLWtleS1jb2xvcjogI2ZmZDcwMDsgLyogS2V5IHRhc2tzICovXG5cdC0tdGFzay13aW4tY29sb3I6ICM2NmJiNmE7IC8qIFdpbiB0YXNrcyAqL1xuXHQtLXRhc2stdXAtY29sb3I6ICM0Y2FmNTA7IC8qIFVwIHRhc2tzICovXG5cdC0tdGFzay1kb3duLWNvbG9yOiAjZjQ0MzM2OyAvKiBEb3duIHRhc2tzICovXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjOWU5ZTllOyAvKiBOb3RlIHRhc2tzICovXG5cdC0tdGFzay1hbW91bnQtY29sb3I6ICM4YmMzNGE7IC8qIEFtb3VudC9zYXZpbmdzIHRhc2tzICovXG5cdC0tdGFzay1zcGVlY2gtY29sb3I6ICMwM2E5ZjQ7IC8qIFNwZWVjaCBidWJibGUgdGFza3MgKi9cblxuXHQvKiBQcm9ncmVzcyBiYXIgZ3JhZGllbnQgY29sb3JzIC0gbGlnaHQgdGhlbWUgKi9cblx0LS1wcm9ncmVzcy0wLWNvbG9yOiAjYWU0MzFlO1xuXHQtLXByb2dyZXNzLTI1LWNvbG9yOiAjZTU4OTBhO1xuXHQtLXByb2dyZXNzLTUwLWNvbG9yOiAjYjRjNmE2O1xuXHQtLXByb2dyZXNzLTc1LWNvbG9yOiAjNmJjYjc3O1xuXHQtLXByb2dyZXNzLTEwMC1jb2xvcjogIzRkOTZmZjtcblxuXHQtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG59XG5cbi8qIERhcmsgdGhlbWUgY29sb3IgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIHtcblx0LS10YXNrLWNvbXBsZXRlZC1jb2xvcjogIzRjYWY1MDtcblx0LS10YXNrLWRvaW5nLWNvbG9yOiAjMzc5ZmE3O1xuXHQtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3I6ICNmZmMxMDc7XG5cdC0tdGFzay1hYmFuZG9uZWQtY29sb3I6ICNmNDQzMzY7XG5cdC0tdGFzay1wbGFubmVkLWNvbG9yOiAjY2U5M2Q4OyAvKiBQbGFubmVkIHRhc2sgY29sb3IgZm9yIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXF1ZXN0aW9uLWNvbG9yOiAjNDJhNWY1OyAvKiBRdWVzdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1pbXBvcnRhbnQtY29sb3I6ICNlZjUzNTA7IC8qIEltcG9ydGFudCB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1zdGFyLWNvbG9yOiAjZmZkNTRmOyAvKiBTdGFyIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXF1b3RlLWNvbG9yOiAjOTBhNGFlOyAvKiBRdW90ZSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1sb2NhdGlvbi1jb2xvcjogIzhkNmU2MzsgLyogTG9jYXRpb24gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stYm9va21hcmstY29sb3I6ICNmZmI3NGQ7IC8qIEJvb2ttYXJrIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWluZm9ybWF0aW9uLWNvbG9yOiAjMjZjNmRhOyAvKiBJbmZvcm1hdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1pZGVhLWNvbG9yOiAjY2U5M2Q4OyAvKiBJZGVhIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXByb3MtY29sb3I6ICM2NmJiNmE7IC8qIFByb3MgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stY29ucy1jb2xvcjogI2VmNTM1MDsgLyogQ29ucyB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1maXJlLWNvbG9yOiAjZmY3MDQzOyAvKiBGaXJlIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWtleS1jb2xvcjogI2ZmZDcwMDsgLyogS2V5IHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXdpbi1jb2xvcjogIzgxYzc4NDsgLyogV2luIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXVwLWNvbG9yOiAjNjZiYjZhOyAvKiBVcCB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1kb3duLWNvbG9yOiAjZWY1MzUwOyAvKiBEb3duIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLW5vdGUtY29sb3I6ICNiZGJkYmQ7IC8qIE5vdGUgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stYW1vdW50LWNvbG9yOiAjYWVkNTgxOyAvKiBBbW91bnQvc2F2aW5ncyB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1zcGVlY2gtY29sb3I6ICMyOWI2ZjY7IC8qIFNwZWVjaCBidWJibGUgdGFza3MgZGFyayB0aGVtZSAqL1xuXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcblx0LS1wcm9ncmVzcy0yNS1jb2xvcjogI2U1ODkwYTtcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3Nztcblx0LS1wcm9ncmVzcy0xMDAtY29sb3I6ICM0ZDk2ZmY7XG5cblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xufVxuIiwgIi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCB7XG5cdHdpZHRoOiBtYXgoNzAlLCA1MDBweCk7XG59XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBWaWV3IENvbmZpZ3VyYXRpb24gTW9kYWwgKi9cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtIHtcblx0LyogQWRkIHNvbWUgc3BhY2luZyBiZXR3ZWVuIHNldHRpbmdzIGluIHRoZSBtb2RhbCAqL1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWxcblx0LnNldHRpbmctaXRlbTpub3QoLnNldHRpbmctaXRlbS1oZWFkaW5nKVxuXHQuc2V0dGluZy1pdGVtLWluZm8ge1xuXHQvKiBFbnN1cmUgbGFiZWxzIGFyZSBhbGlnbmVkIHdlbGwgKi9cblx0d2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0LyogRW5zdXJlIHRleHQgaW5wdXRzIHRha2UgYXZhaWxhYmxlIHdpZHRoICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdC8qIFN0eWxlIGRlc2NyaXB0aW9ucyAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBNYW5hZ2VtZW50IExpc3QgaW4gU2V0dGluZ3MgVGFiICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIGJldHRlciBjb250cm9sICovXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgbmFtZS9kZXNjcmlwdGlvbiB0byB0YWtlIHVwIHNwYWNlICovXG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdC8qIEtlZXAgY29udHJvbHMgdG9nZXRoZXIgKi9cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7IC8qIFNwYWNlIGJldHdlZW4gdG9nZ2xlcy9idXR0b25zICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmJ1dHRvbi1jb21wb25lbnQge1xuXHRwYWRkaW5nOiA1cHg7IC8qIFNtYWxsZXIgcGFkZGluZyBmb3IgaWNvbiBidXR0b25zICovXG5cdGhlaWdodDogYXV0bztcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC52aWV3LW9yZGVyLWJ1dHRvbixcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1kZWxldGUtYnV0dG9uIHtcblx0LyogU3R5bGUgYWN0aW9uIGJ1dHRvbnMgKi9cblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIFNwZWNpZmljIHN0eWxpbmcgZm9yIHRvZ2dsZXMgaW4gdGhlIGxpc3QgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmNoZWNrYm94LWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMDsgLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2lucyBpZiBhbnkgKi9cbn1cblxuLyogSWNvbiBQaWNrZXIgTWVudSBTdHlsZXMgKFNjb3BlZCkgKi9cbi50Zy1pY29uLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4OyAvKiBMaW1pdCBvdmVyYWxsIG1lbnUgaGVpZ2h0ICovXG5cdHdpZHRoOiAyNTBweDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogUHJldmVudCBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIG1heC1oZWlnaHQgY2FsY3VsYXRpb24gZm9yIGZsZXggY2hpbGRyZW4gKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIGludGVybWVkaWF0ZSBjb250YWluZXIgKi9cbi8qIC5ibS1wbHVnaW4taWNvbi1tZW51IC5ibS1tZW51LWNvbnRlbnQgeyBcblx0ZmxleC1ncm93OiAxOyBcblx0b3ZlcmZsb3cteTogYXV0bzsgXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1pbi1oZWlnaHQ6IDA7IFxufSAqL1xuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LXNlYXJjaCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBzZWFyY2ggYmFyIGZyb20gc2hyaW5raW5nICovXG59XG5cbi50Zy1pY29uLW1lbnUgLnRnLW1lbnUtaWNvbnMge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEljb24gbGlzdCB0YWtlcyByZW1haW5pbmcgdmVydGljYWwgc3BhY2UgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogTWFrZSB0aGUgaWNvbiBsaXN0IHNjcm9sbGFibGUgKi9cblx0bWluLWhlaWdodDogMDsgLyogQ3J1Y2lhbCBmb3IgYWxsb3dpbmcgZmxleCBjaGlsZCB0byBzaHJpbmsgYW5kIHNjcm9sbCAqL1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzMnB4LCAxZnIpKTtcblx0Z2FwOiA0cHg7XG5cdC8qIFJlbW92ZSBtaW4taGVpZ2h0IHByZXZpb3VzbHkgbmVlZGVkIGZvciBncmlkIGluIGZsZXggKi9cbn1cblxuLyogU2NvcGUgdGhlIGNsaWNrYWJsZSBpY29uICp3aXRoaW4qIHRoZSBtZW51ICovXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiBDaGVja2JveCBTdGF0dXMgU3dpdGNoZXIgU3R5bGVzICovXG4udGFzay1zdGF0dXMtd2lkZ2V0IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4udGFzay1zdGF0ZS5saXZlLXByZXZpZXctbW9kZSB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udGFzay1zdGF0dXMtd2lkZ2V0IC5saXN0LWJ1bGxldDo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0LW1hcmtlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLyogVE9ETyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIiBcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBET0lORyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi9cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1kb2luZy1jb2xvcik7XG59XG5cbi8qIElOLVBST0dSRVNTIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiPlwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLyogRE9ORSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInhcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJYXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLyogQ0FOQ0VMTEVEIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiLVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi8qIFNDSEVEVUxFRCBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLyogUVVFU1RJT04gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI/XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcXVlc3Rpb24tY29sb3IpO1xufVxuXG4vKiBJTVBPUlRBTlQgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIhXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW1wb3J0YW50LWNvbG9yKTtcbn1cblxuLyogU1RBUiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIipcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1zdGFyLWNvbG9yKTtcbn1cblxuLyogUVVPVEUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9J1wiJ10ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1xdW90ZS1jb2xvcik7XG59XG5cbi8qIExPQ0FUSU9OIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwibFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWxvY2F0aW9uLWNvbG9yKTtcbn1cblxuLyogQk9PS01BUksgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJiXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYm9va21hcmstY29sb3IpO1xufVxuXG4vKiBJTkZPUk1BVElPTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImlcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcik7XG59XG5cbi8qIElERUEgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJJXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staWRlYS1jb2xvcik7XG59XG5cbi8qIFBST1Mgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJwXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcHJvcy1jb2xvcik7XG59XG5cbi8qIENPTlMgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJjXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29ucy1jb2xvcik7XG59XG5cbi8qIEZJUkUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJmXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stZmlyZS1jb2xvcik7XG59XG5cbi8qIEtFWSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImtcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1rZXktY29sb3IpO1xufVxuXG4vKiBXSU4gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ3XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2std2luLWNvbG9yKTtcbn1cblxuLyogVVAgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ1XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stdXAtY29sb3IpO1xufVxuXG4vKiBET1dOIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvd24tY29sb3IpO1xufVxuXG4vKiBOT1RFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiblwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLW5vdGUtY29sb3IpO1xufVxuXG4vKiBBTU9VTlQvU0FWSU5HUyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIlNcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1hbW91bnQtY29sb3IpO1xufVxuXG4vKiBTUEVFQ0ggQlVCQkxFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMFwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjFcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIyXCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiM1wiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjRcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI1XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNlwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjdcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI4XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXNwZWVjaC1jb2xvcik7XG59XG5cbi50YXNrLWZha2UtYnVsbGV0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogNXB4O1xuXHRoZWlnaHQ6IDVweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5vbCA+IC50YXNrLWxpc3QtaXRlbSAudGFzay1mYWtlLWJ1bGxldCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbm9sID4gLnRhc2stbGlzdC1pdGVtIC50YXNrLXN0YXRlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG59XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRhc2sgR2VuaXVzIE9uYm9hcmRpbmcgU3R5bGVzICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBNYWluIG9uYm9hcmRpbmcgc3R5bGVzIC0gc2hhcmVkIGJ5IG1vZGFsIGFuZCB2aWV3ICovXG4ub25ib2FyZGluZy1tb2RhbCxcbi5vbmJvYXJkaW5nLXZpZXcge1xuXHQtLWRpYWxvZy13aWR0aDogODAwcHg7XG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcblx0LS1kaWFsb2ctbWF4LWhlaWdodDogOTB2aDtcblx0LS1vbmJvYXJkaW5nLXNwYWNpbmc6IHZhcigtLXNpemUtNC00KTtcblx0LS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0LS1vbmJvYXJkaW5nLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBNb2RhbCBzcGVjaWZpYyBzdHlsZXMgKi9cbi5vbmJvYXJkaW5nLW1vZGFsIC5tb2RhbC1jb250ZW50LFxuLm9uYm9hcmRpbmctdmlldyAubW9kYWwtY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1vZGFsLWJhY2tncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1tb2RhbC1yYWRpdXMpO1xuXHRtYXgtd2lkdGg6IHZhcigtLWRpYWxvZy1tYXgtd2lkdGgpO1xuXHRtYXgtaGVpZ2h0OiB2YXIoLS1kaWFsb2ctbWF4LWhlaWdodCk7XG5cdGhlaWdodDogOTB2aDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogMTAwcHg7XG59XG5cbi8qIFZpZXcgc3BlY2lmaWMgc3R5bGVzICovXG4ub25ib2FyZGluZy12aWV3IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWNvbnRlbnQge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIEhlYWRlciBzZWN0aW9uICovXG4ub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1oZWFkZXIsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSB2YXIoLS1zaXplLTQtMilcblx0XHR2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLXN1YnRpdGxlLFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1zdWJ0aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdG1hcmdpbjogMDtcbn1cblxuLyogQ29udGVudCBzZWN0aW9uICovXG4ub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1jb250ZW50LFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWluLWhlaWdodDogMDtcbn1cblxuLyogRm9vdGVyIHNlY3Rpb24gKi9cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWZvb3Rlcixcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKVxuXHRcdHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdGJvcmRlci10b3A6IHZhcigtLW1vZGFsLWJvcmRlci13aWR0aCkgc29saWRcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1idXR0b25zLFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTZXR0aW5ncyBDaGVjayBTdGVwICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLWNoZWNrLXNlY3Rpb24sXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1zZWN0aW9uIHtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2VzLXN1bW1hcnktbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZXMtc3VtbWFyeS1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMikgMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2VzLXN1bW1hcnktbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZXMtc3VtbWFyeS1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY2hhbmdlLWNoZWNrLFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLWNoZWNrIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZS10ZXh0LFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLXRleHQge1xuXHRmbGV4OiAxO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1xdWVzdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctcXVlc3Rpb24ge1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tb3B0aW9ucyxcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLW9wdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1ZXN0aW9uLWJ1dHRvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1ZXN0aW9uLW9wdGlvbnMgLm1vZC1jdGEsXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1vcHRpb25zIC5tb2QtY3RhIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1ZXN0aW9uLW9wdGlvbnMgLm1vZC1jdGE6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1vcHRpb25zIC5tb2QtY3RhOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1ZXN0aW9uLWJ1dHRvbjpub3QoLm1vZC1jdGEpLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tYnV0dG9uOm5vdCgubW9kLWN0YSkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1ZXN0aW9uLWJ1dHRvbjpub3QoLm1vZC1jdGEpOmhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tYnV0dG9uOm5vdCgubW9kLWN0YSk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBXZWxjb21lIFN0ZXAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAud2VsY29tZS1zZWN0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAud2VsY29tZS1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVhdHVyZXMtb3ZlcnZpZXcsXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlcy1vdmVydmlldyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWF0dXJlLWl0ZW0sXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWF0dXJlLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlLWljb24ge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmbGV4LXNocmluazogMDtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR1cC1ub3RlLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dXAtbm90ZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR1cC1kZXNjcmlwdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHVwLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFVzZXIgTGV2ZWwgU2VsZWN0aW9uICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZHMsXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmQsXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkOmhvdmVyLFxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZC5jYXJkLWhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLmNhcmQtaG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmQuc2VsZWN0ZWQsXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS44ZW07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC10aXRsZSB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMgdWwge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTMpO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMgbGk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTIwMjJcIjtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogY2FsYygtMSAqIHZhcigtLXNpemUtNC0zKSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5yZWNvbW1lbmRhdGlvbi1iYWRnZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb25maWd1cmF0aW9uIFByZXZpZXcgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLW92ZXJ2aWV3LFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW92ZXJ2aWV3IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm1vZGUtY2FyZCxcbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGUtY2FyZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm1vZGUtaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGUtaWNvbiB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWZlYXR1cmVzLFxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctc2V0dGluZ3MsXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctc2V0dGluZ3Mge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZW5hYmxlZC1mZWF0dXJlcy1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmVuYWJsZWQtZmVhdHVyZXMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLmVuYWJsZWQtZmVhdHVyZXMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlYXR1cmUtY2hlY2ssXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlLWNoZWNrIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52aWV3cy1ncmlkLFxuLm9uYm9hcmRpbmctdmlldyAudmlld3MtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTIwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZpZXctaXRlbSxcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmlldy1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAudmlldy1pY29uIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmlldy1uYW1lLFxuLm9uYm9hcmRpbmctdmlldyAudmlldy1uYW1lIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaTpsYXN0LWNoaWxkLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IGxpOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZy1sYWJlbCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmctbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZy12YWx1ZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmctdmFsdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctb3B0aW9ucyxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1vcHRpb25zIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmN1c3RvbWl6YXRpb24tbm90ZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmN1c3RvbWl6YXRpb24tbm90ZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5ub3RlLXRleHQsXG4ub25ib2FyZGluZy12aWV3IC5ub3RlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBDb25maWd1cmF0aW9uIENoYW5nZXMgUHJldmlldyAqL1xuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1jaGFuZ2VzLXN1bW1hcnksXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctY2hhbmdlcy1zdW1tYXJ5IHtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLXZpZXdzLFxuLm9uYm9hcmRpbmctbW9kYWwgLmFkZGVkLXZpZXdzLFxuLm9uYm9hcmRpbmctbW9kYWwgLnVwZGF0ZWQtdmlld3MsXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3MtY2hhbmdlcyxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoYW5nZXMge1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0yKSAwO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByZXNlcnZlZC1oZWFkZXIsXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByZXNlcnZlZC1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAucHJlc2VydmVkLWljb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRmb250LXNpemU6IDEuMWVtO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLXRleHQsXG4ub25ib2FyZGluZy1tb2RhbCAuY2hhbmdlLXRleHQsXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnVwZGF0ZWQtdmlld3MsXG4ub25ib2FyZGluZy1tb2RhbCAudXBkYXRlZC12aWV3cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2UtaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTEpO1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLXZpZXdzLWxpc3QsXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3MtY2hhbmdlcy1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMSkgMCAwIHZhcigtLXNpemUtNC00KTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByZXNlcnZlZC12aWV3cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLWNoYW5nZXMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoYW5nZXMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2FmZXR5LW5vdGUsXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktbm90ZSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNhZmV0eS1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAuc2FmZXR5LWljb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2FmZXR5LXRleHQsXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRhc2sgQ3JlYXRpb24gR3VpZGUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAudGFzay1ndWlkZS1pbnRybyxcbi5vbmJvYXJkaW5nLXZpZXcgLnRhc2stZ3VpZGUtaW50cm8ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZ3VpZGUtZGVzY3JpcHRpb24sXG4ub25ib2FyZGluZy12aWV3IC5ndWlkZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnRhc2stZm9ybWF0cy1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLnF1aWNrLWNhcHR1cmUtc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmFjdGljZS1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLnNob3J0Y3V0cy1zZWN0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZm9ybWF0LWV4YW1wbGUsXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtZXhhbXBsZSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZm9ybWF0LWV4YW1wbGUgY29kZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1leGFtcGxlIGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZm9ybWF0LWxlZ2VuZCxcbi5vbmJvYXJkaW5nLW1vZGFsIC5mb3JtYXQtbGVnZW5kIHNtYWxsLFxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWxlZ2VuZCBzbWFsbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0YXR1cy1tYXJrZXJzLFxuLm9uYm9hcmRpbmctbW9kYWwgLm1ldGFkYXRhLXN5bWJvbHMsXG4ub25ib2FyZGluZy12aWV3IC5tZXRhZGF0YS1zeW1ib2xzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RhdHVzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5zdGF0dXMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLW1vZGFsIC5zeW1ib2xzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5zeW1ib2xzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGF0dXMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctbW9kYWwgLnN5bWJvbHMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLnN5bWJvbHMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0YXR1cy1saXN0IGNvZGUsXG4ub25ib2FyZGluZy12aWV3IC5zdGF0dXMtbGlzdCBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4td2lkdGg6IDQwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmRlbW8tY29udGVudCxcbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZGVtby1idXR0b24sXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZGVtby1idXR0b246aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmFjdGljZS1mZWVkYmFjayxcbi5vbmJvYXJkaW5nLXZpZXcgLnByYWN0aWNlLWZlZWRiYWNrIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmFsaWRhdGlvbi1tZXNzYWdlLFxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1tZXNzYWdlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52YWxpZGF0aW9uLXN1Y2Nlc3MsXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLXN1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZhbGlkYXRpb24tZXJyb3IsXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLWVycm9yIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1yZWQtcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52YWxpZGF0aW9uLXdhcm5pbmcsXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZhbGlkYXRpb24taW5mbyxcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24taW5mbyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2hvcnRjdXRzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zaG9ydGN1dHMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zaG9ydGN1dHMtbGlzdCBjb2RlLFxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3QgY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XG5cdG1pbi13aWR0aDogMTAwcHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29tcGxldGlvbiBQYWdlICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbXBsZXRpb24tc3VjY2Vzcyxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbXBsZXRpb24tc3VjY2VzcyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN1Y2Nlc3MtaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtaWNvbiB7XG5cdGZvbnQtc2l6ZTogM2VtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdWNjZXNzLW1lc3NhZ2UsXG4ub25ib2FyZGluZy12aWV3IC5zdWNjZXNzLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRtYXJnaW46IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb21wbGV0aW9uLXN1bW1hcnksXG4ub25ib2FyZGluZy1tb2RhbCAucXVpY2stc3RhcnQtc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5uZXh0LXN0ZXBzLXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2VzLXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stc2VjdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLXN1bW1hcnktY2FyZCxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1zdW1tYXJ5LWNhcmQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1oZWFkZXIsXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWljb24ge1xuXHRmb250LXNpemU6IDEuNWVtO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLW5hbWUsXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctbmFtZSB7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctZGVzY3JpcHRpb24sXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1aWNrLXN0YXJ0LXN0ZXBzLFxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1aWNrLXN0YXJ0LXN0ZXAsXG4ub25ib2FyZGluZy12aWV3IC5xdWljay1zdGFydC1zdGVwIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0ZXAtbnVtYmVyLFxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0ZXAtY29udGVudCxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtY29udGVudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5uZXh0LXN0ZXBzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5uZXh0LXN0ZXBzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5uZXh0LXN0ZXBzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5uZXh0LXN0ZXBzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGVwLWNoZWNrLFxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC1jaGVjayB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGVwLXRleHQsXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2VzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZXMtbGlzdCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlLWl0ZW0sXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2UtY2xpY2thYmxlLFxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2UtY2xpY2thYmxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2UtY2xpY2thYmxlOmhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2UtY2xpY2thYmxlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZS1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2UtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stZGVzY3JpcHRpb24sXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1idXR0b25zLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLWJ1dHRvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stcG9zaXRpdmU6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1wb3NpdGl2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stbmVnYXRpdmU6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1uZWdhdGl2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXRoYW5rcyxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay10aGFua3MtbWVzc2FnZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcy1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay10aGFua3MgYSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXRoYW5rcyBhOmhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzIGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZpbmFsLW1lc3NhZ2UsXG4ub25ib2FyZGluZy12aWV3IC5maW5hbC1tZXNzYWdlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5maW5hbC1tZXNzYWdlLXRleHQsXG4ub25ib2FyZGluZy12aWV3IC5maW5hbC1tZXNzYWdlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQub25ib2FyZGluZy1tb2RhbCxcblx0Lm9uYm9hcmRpbmctdmlldyB7XG5cdFx0LS1kaWFsb2ctd2lkdGg6IDk1dnc7XG5cdFx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5NXZ3O1xuXHRcdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDk1dmg7XG5cdH1cblxuXHQub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkcyxcblx0Lm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkcyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQub25ib2FyZGluZy1tb2RhbCAuZmVhdHVyZXMtb3ZlcnZpZXcsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmVzLW92ZXJ2aWV3IHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC52aWV3cy1ncmlkLFxuXHQub25ib2FyZGluZy12aWV3IC52aWV3cy1ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEwMHB4LCAxZnIpKTtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZXMtbGlzdCxcblx0Lm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLWJ1dHRvbnMsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWJ1dHRvbnMge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1idXR0b25zLFxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzIC0ga2VlcGluZyBtaW5pbWFsICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQW5pbWF0aW9uIGFuZCBUcmFuc2l0aW9ucyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWNvbnRlbnQsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRhbmltYXRpb246IGZhZGVJblVwIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCxcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCB7XG5cdGFuaW1hdGlvbjogY2FyZFNlbGVjdCAwLjJzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGNhcmRTZWxlY3Qge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxuXHQ1MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuIiwgIi8qIFRpbWVsaW5lIFNpZGViYXIgVmlldyBTdHlsZXMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLyogSGVhZGVyICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTM1ZGVnLFxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAxMDAlXG5cdCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250cm9scyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOCk7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuLmlzLWFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIFRpbWVsaW5lIENvbnRlbnQgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxuXHQudGltZWxpbmUtZGF0ZS1ncm91cDpub3QoLmlzLXRvZGF5KSB7XG5cdG9wYWNpdHk6IDAuMztcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1lbXB0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC04KTtcbn1cblxuLyogRGF0ZSBHcm91cHMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWdyb3VwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0bWFyZ2luOiAwIHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0ei1pbmRleDogMTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXlcblx0LnRpbWVsaW5lLWRhdGUtaGVhZGVyIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtcmVsYXRpdmUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyogRXZlbnRzIExpc3QgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcbn1cblxuLyogVGltZWxpbmUgRXZlbnRzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50OmhvdmVyOmhhcygudGltZWxpbmUtZXZlbnQtY2hlY2tib3g6aG92ZXIpIHtcblx0dHJhbnNmb3JtOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQuaXMtY29tcGxldGVkIHtcblx0b3BhY2l0eTogMC42O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQuaXMtY29tcGxldGVkXG5cdC50aW1lbGluZS1ldmVudC10ZXh0IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRXZlbnQgVGltZSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0bWluLXdpZHRoOiA0NXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIEVuaGFuY2VkIHRpbWUgZGlzcGxheSBzdHlsZXMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtc2luZ2xlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMCUsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3ZlcikgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1pbi13aWR0aDogODBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRhbmltYXRpb246IHN1YnRsZS1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlx1MjNGMVwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTZweDtcblx0cmlnaHQ6IC02cHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdG1pbi13aWR0aDogMThweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRwYWRkaW5nOiAwIDRweDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogV2hlbiBkdXJhdGlvbiBpcyBwcm92aWRlZCwgc2hvdyBpdCBpbnN0ZWFkIG9mIHRoZSBpY29uICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlW2RhdGEtZHVyYXRpb25dOjphZnRlciB7XG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1kdXJhdGlvbik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZGVmYXVsdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLWdyb3VwIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdGV4dC1hY2NlbnQpIDAlLCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRtaW4td2lkdGg6IDYwcHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZGF0ZS1vbmx5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtaW4td2lkdGg6IDYwcHg7XG59XG5cbi8qIFRpbWUgR3JvdXAgU3R5bGVzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cC1ldmVudHMge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC50aW1lbGluZS1ldmVudC1ncm91cGVkIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQudGltZWxpbmUtZXZlbnQtZ3JvdXBlZDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogRGF0ZS1vbmx5IEV2ZW50cyBTZWN0aW9uICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci10b3A6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5cbi8qIEhpZGUgcGVyLWV2ZW50IHRpbWUgbGFiZWxzIGluc2lkZSBBbGwgZGF5IHNlY3Rpb24gYXMgc2FmZXR5IG5ldCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1zZWN0aW9uIC50aW1lbGluZS1ldmVudCAudGltZWxpbmUtZXZlbnQtdGltZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRXZlbnQgQ29udGVudCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY2hlY2tib3hcblx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0bWFyZ2luOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10ZXh0IHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1pY29uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAxcHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHQge1xuXHRmbGV4OiAxO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vKiBFdmVudCBBY3Rpb25zICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50OmhvdmVyXG5cdC50aW1lbGluZS1ldmVudC1hY3Rpb25zIHtcblx0b3BhY2l0eTogMTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWFjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFF1aWNrIElucHV0IEFyZWEgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMTIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBDb2xsYXBzZWQgc3RhdGUgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWQge1xuXHRwYWRkaW5nOiAwO1xuXHRnYXA6IDA7XG5cdGhlaWdodDogYXV0bztcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxuXHQucXVpY2staW5wdXQtaGVhZGVyLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxuXHQucXVpY2staW5wdXQtZWRpdG9yLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxuXHQucXVpY2staW5wdXQtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFuaW1hdGlvbiBzdGF0ZXMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzaW5nIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWV4cGFuZGluZyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIENvbGxhcHNlZCBoZWFkZXIgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItY29sbGFwc2VkIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLWV4cGFuZC1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLWV4cGFuZC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtdGl0bGUge1xuXHRmbGV4OiAxO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1tb3JlLW9wdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC03KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmU6aG92ZXIsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9uczpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIEV4cGFuZGVkIGhlYWRlciB3aXRoIGNvbGxhcHNlIGJ1dHRvbiAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogUm90YXRlIGNvbGxhcHNlIGJ1dHRvbiBpY29uICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHN2ZyB7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXG5cdC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG5cblx0c3ZnIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LXRhcmdldC1pbmZvIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcblx0bWluLWhlaWdodDogODBweDtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGV4dCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHJlc2l6ZTogdmVydGljYWw7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3I6Zm9jdXMtd2l0aGluIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciAuY20tZWRpdG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciAuY20tZm9jdXNlZCB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC5xdWljay1pbnB1dC1lZGl0b3Jcblx0LmNtLWVkaXRvci5jbS1mb2N1c2VkIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLW1vZGFsLWJ0biB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWhlYWRlciB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250cm9scyB7XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcblx0XHR3aWR0aDogdmFyKC0tc2l6ZS00LTcpO1xuXHRcdGhlaWdodDogdmFyKC0tc2l6ZS00LTcpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50cy1saXN0IHtcblx0XHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHRcdC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWQge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcblx0XHRtaW4taGVpZ2h0OiA2MHB4O1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmUsXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcblx0XHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xuXHRcdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xuXHR9XG59XG5cbi8qIFNjcm9sbGJhciBTdHlsaW5nICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogNnB4O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzdWJ0bGUtcHVsc2Uge1xuXHQwJSwgMTAwJSB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjQpO1xuXHR9XG5cdDUwJSB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XG5cdH1cbn1cblxuLyogRm9jdXMgTW9kZSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byBib3R0b20sXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC45KSAwJSxcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjcpIDUwJSxcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjkpIDEwMCVcblx0KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGVcblx0LnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIE1hcmtkb3duIHJlbmRlcmVyIHN0eWxlcyBpbiB0aW1lbGluZSBldmVudHMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRwIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRzdHJvbmcsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRlbSxcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdGNvZGUge1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdGEge1xuXHRjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0YTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHR1bCxcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdG9sIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0bGkge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCAiLyogU3R5bGVzIGZvciB0aGUgUmV3YXJkIE1vZGFsICovXG4ucmV3YXJkLW1vZGFsLWNvbnRlbnQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRlciBhbGlnbiBjb250ZW50ICovXG59XG5cbi5yZXdhcmQtbW9kYWwgLm1vZGFsLXRpdGxlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmV3YXJkLW5hbWUge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnJld2FyZC1pbWFnZS1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgY2VudGVyaW5nICovXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBDZW50ZXIgaG9yaXpvbnRhbGx5ICovXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciB2ZXJ0aWNhbGx5ICovXG59XG5cbi5yZXdhcmQtaW1hZ2Uge1xuXHRtYXgtd2lkdGg6IDgwJTsgLyogTGltaXQgaW1hZ2Ugd2lkdGggKi9cblx0bWF4LWhlaWdodDogMzAwcHg7IC8qIExpbWl0IGltYWdlIGhlaWdodCAqL1xuXHRib3JkZXItcmFkaXVzOiA4cHg7IC8qIE9wdGlvbmFsOiBhZGQgcm91bmRlZCBjb3JuZXJzICovXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIE9wdGlvbmFsOiBhZGQgc3VidGxlIHNoYWRvdyAqL1xufVxuXG4ucmV3YXJkLWltYWdlLWVycm9yIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIFVzZSBPYnNpZGlhbidzIG11dGVkIHRleHQgY29sb3IgKi9cbn1cblxuLnJld2FyZC1zcGFjZXIge1xuXHRoZWlnaHQ6IDIwcHg7IC8qIEFkZCBzb21lIHNwYWNlIGJlZm9yZSB0aGUgYnV0dG9ucyAqL1xufVxuXG4vKiBTdHlsZSB0aGUgYnV0dG9ucyB3aXRoaW4gdGhlIG1vZGFsICovXG4udGFzay1nZW5pdXMtcmV3YXJkLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBDZW50ZXIgYnV0dG9ucyAqL1xuXHRnYXA6IDEwcHg7IC8qIEFkZCBzcGFjZSBiZXR3ZWVuIGJ1dHRvbnMgKi9cbn1cbiIsICIubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWZpbGUtZm9sZGluZy1vZmZzZXQpO1xufVxuXG4uaXMtbW9iaWxlIC5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1ndXR0ZXJzLnRhc2stZ3V0dGVyIHtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIudGctbWVudSB7XG5cdHotaW5kZXg6IDIwO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcbn1cblxuLnRhc2stZ3V0dGVyIHtcblx0d2lkdGg6IDI2cHg7XG59XG5cbi50YXNrLWd1dHRlci1tYXJrZXIge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVyKTtcblx0b3BhY2l0eTogMC4xO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ3V0dGVyLW1hcmtlcjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0bWF4LWhlaWdodDogNDAwcHg7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4udGFzay1tZXRhZGF0YS1lZGl0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5maWVsZC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi5maWVsZC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVzdCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmFjdGlvbi1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uYWN0aW9uLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVzdCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay1ndXR0ZXItbWFya2VyLmNsaWNrYWJsZS1pY29uIHtcblx0d2lkdGg6IDI0cHg7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIFRhYmJlZCBJbnRlcmZhY2UgU3R5bGVzICovXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYnMtbWFpbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR3aWR0aDogMTAwJTsgLyogRW5zdXJlIGl0IHRha2VzIGF2YWlsYWJsZSB3aWR0aCAqL1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYnMtbmF2aWdhdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpOyAvKiBBZGp1c3RlZCBmb3IgY29uc2lzdGVuY3kgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiAtMXB4OyAvKiBBbGlnbiB3aXRoIHBhcmVudCBib3JkZXIgKi9cblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b24uYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLXBhbmUge1xuXHRkaXNwbGF5OiBub25lOyAvKiBIaWRlIGluYWN0aXZlIHBhbmVzIGJ5IGRlZmF1bHQgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRW5zdXJlIGNvbnRlbnQgd2l0aGluIHBhbmUgZmxvd3MgdmVydGljYWxseSAqL1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogQWRkIHNvbWUgZ2FwIGJldHdlZW4gZWxlbWVudHMgaW4gdGhlIHBhbmUgKi9cbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZS5hY3RpdmUge1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBTaG93IGFjdGl2ZSBwYW5lICovXG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3IsXG4udGFzay1zdGF0dXMtZWRpdG9yIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvcixcbi50YXNrLXN0YXR1cy1lZGl0b3IgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLWxhYmVsLFxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3ItbGFiZWwge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kYWwtY29udGVudC50YXNrLW1ldGFkYXRhLWVkaXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubWV0YWRhdGEtZnVsbC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm1ldGFkYXRhLWZ1bGwtY29udGFpbmVyIC5kYXRlcy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cbiIsICIuaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XG5cdG1heC1oZWlnaHQ6IDgwMHB4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIHtcblx0d2lkdGg6IDQ0cHg7XG5cdG1pbi13aWR0aDogNDRweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYtaXRlbSB7XG5cdHBhZGRpbmc6IDhweCAxMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC05KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsIGZsZXgtc2hyaW5rIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIgLnNpZGViYXItbmF2IHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYtaXRlbSB7XG5cdHBhZGRpbmc6IDhweCAxMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC05KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciAubmF2LWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stbGlzdCB7XG5cdG1heC1oZWlnaHQ6IDgwMHB4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnByb2plY3RzLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmludGVybmFsLWVtYmVkIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiAyNDBweDtcbn1cblxuLmludGVybmFsLWVtYmVkIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDFweDtcblx0cGFkZGluZzogMCA1cHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXktaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDNweCAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXktaGVhZGVyLmNhbGVuZGFyLXdlZWtlbmQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLmZvcmVjYXN0LWxlZnQtY29sdW1uIC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0YXNwZWN0LXJhdGlvOiAxO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDFweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXkuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXkudG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LnBhc3QtZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5Lm90aGVyLW1vbnRoIHtcblx0b3BhY2l0eTogMC41O1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDFweDtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1jb3VudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IDAuNmVtO1xuXHRwYWRkaW5nOiAxcHggM3B4O1xuXHRtYXJnaW46IDFweCBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1jb3VudC5oYXMtcHJpb3JpdHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFncy1jb250YWluZXIge1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQudGFzay1nZW5pdXMtY29udGFpbmVyOmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpXG5cdC50YWdzLWxlZnQtY29sdW1uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcblx0LnByb2plY3RzLWxlZnQtY29sdW1uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmludGVybmFsLWVtYmVkIC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmludGVybmFsLWVtYmVkIC50Zy1rYW5iYW4tdmlldyB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmJhc2VzLXZpZXcudGFzay1nZW5pdXMtY29udGFpbmVyIHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG59XG5cbi8qIEJhc2VzIHVwZGF0ZSBlcnJvciBub3RpZmljYXRpb24gKi9cbi5iYXNlcy11cGRhdGUtZXJyb3Itbm90aWZpY2F0aW9uIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDIwcHg7XG5cdHJpZ2h0OiAyMHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDEycHggMTZweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGFuaW1hdGlvbjogc2xpZGVJblJpZ2h0IDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5iYXNlcy11cGRhdGUtZXJyb3Itbm90aWZpY2F0aW9uOmhvdmVyIHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uYmFzZXMtdXBkYXRlLWVycm9yLW5vdGlmaWNhdGlvbiAuZXJyb3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uYmFzZXMtdXBkYXRlLWVycm9yLW5vdGlmaWNhdGlvbiAuZXJyb3ItbWVzc2FnZSAuZXJyb3ItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb24gLmVycm9yLW1lc3NhZ2UgLmVycm9yLWRldGFpbHMge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cbiIsICIvKiBWMiBWaWV3IE1haW4gTGF5b3V0ICovXG4udGFzay1nZW5pdXMtdjItdmlldyB7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcbn1cblxuLnRnLXYyLWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udmlldy1jb250ZW50LnRhc2stZ2VuaXVzLXYyLXZpZXcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGctdjItbGF5b3V0IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogU2lkZWJhciBTdHlsZXMgKi9cbi50Zy12Mi1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAyNjBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi52Mi1zaWRlYmFyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udjItc2lkZWJhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3Jrc3BhY2UgU2VsZWN0b3IgKi9cbi53b3Jrc3BhY2Utc2VsZWN0b3ItYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLndvcmtzcGFjZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLndvcmtzcGFjZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4ud29ya3NwYWNlLWljb24ge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi53b3Jrc3BhY2UtaWNvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4ud29ya3NwYWNlLWRldGFpbHMge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ud29ya3NwYWNlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya3NwYWNlLWxhYmVsIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogTmV3IFRhc2sgQnV0dG9uICovXG4udjItbmV3LXRhc2stYnRuIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLnYyLW5ldy10YXNrLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi52Mi1uZXctdGFzay1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLyogU2lkZWJhciBDb250ZW50ICovXG4udjItc2lkZWJhci1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogOHB4IDA7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xufVxuXG4udjItc2lkZWJhci1zZWN0aW9uIHtcblx0cGFkZGluZzogOHB4IDA7XG59XG5cbi52Mi1zaWRlYmFyLXNlY3Rpb24gKyAudjItc2lkZWJhci1zZWN0aW9uIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnYyLXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA0cHggMTZweDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4udjItc2VjdGlvbi1oZWFkZXIgc3BhbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udjItcHJvamVjdC1oZWFkZXItYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4udjItYWRkLXByb2plY3QtYnRuLFxuLnYyLXNvcnQtcHJvamVjdC1idG4sXG4udjItdHJlZS10b2dnbGUtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcbn1cblxuLnYyLWFkZC1wcm9qZWN0LWJ0bjpob3Zlcixcbi52Mi1zb3J0LXByb2plY3QtYnRuOmhvdmVyLFxuLnYyLXRyZWUtdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIE5hdmlnYXRpb24gSXRlbXMgKi9cbi52Mi1uYXZpZ2F0aW9uLWxpc3Qge1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLnYyLW5hdmlnYXRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnYyLW5hdmlnYXRpb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udjItbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLnYyLW5hdmlnYXRpb24taWNvbiB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi52Mi1uYXZpZ2F0aW9uLWl0ZW0uaXMtYWN0aXZlIC52Mi1uYXZpZ2F0aW9uLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItbmF2aWdhdGlvbi1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnYyLW5hdmlnYXRpb24tYmFkZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IDExcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdG1pbi13aWR0aDogMThweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBQcm9qZWN0IExpc3QgKi9cbi52Mi1wcm9qZWN0LXNjcm9sbCB7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLnYyLXByb2plY3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi52Mi1wcm9qZWN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnYyLXByb2plY3QtaXRlbS5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi52Mi1wcm9qZWN0LWNvbG9yIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnYyLXByb2plY3QtY29sb3ItZGFzaGVkIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Ym9yZGVyOiAxLjVweCBkYXNoZWQgdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnYyLXByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi52Mi1hZGQtcHJvamVjdCAudjItcHJvamVjdC1uYW1lIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udjItcHJvamVjdC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBUcmVlIFZpZXcgU3R5bGVzICovXG4udjItcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAudjItcHJvamVjdC1pdGVtIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi52Mi1wcm9qZWN0LWNoZXZyb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi52Mi1wcm9qZWN0LWNoZXZyb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItcHJvamVjdC1jaGV2cm9uIHN2ZyB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG59XG5cbi52Mi1wcm9qZWN0LWNoZXZyb24tc3BhY2VyIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBUcmVlIGluZGVudGF0aW9uICovXG4udjItcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAudjItcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIxXCJdIHtcblx0cGFkZGluZy1sZWZ0OiAyOHB4O1xufVxuXG4udjItcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAudjItcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIyXCJdIHtcblx0cGFkZGluZy1sZWZ0OiA0OHB4O1xufVxuXG4udjItcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAudjItcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIzXCJdIHtcblx0cGFkZGluZy1sZWZ0OiA2OHB4O1xufVxuXG4vKiBUcmVlIGhpZXJhcmNoeSBsaW5lcyAob3B0aW9uYWwgLSBjYW4gYmUgYWRkZWQgbGF0ZXIpICovXG4udjItcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAudjItcHJvamVjdC1pdGVtOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDhweDtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbn1cblxuLnYyLXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXdcblx0LnYyLXByb2plY3QtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKTpob3Zlcjo6YmVmb3JlIHtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4vKiBWaXJ0dWFsIHByb2plY3Qgbm9kZXMgKGludGVybWVkaWF0ZSBmb2xkZXJzKSAqL1xuLnYyLXByb2plY3QtaXRlbS5pcy12aXJ0dWFsIC52Mi1wcm9qZWN0LW5hbWUge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG9wYWNpdHk6IDAuODU7XG59XG5cbi52Mi1wcm9qZWN0LWl0ZW0uaXMtdmlydHVhbCAudjItcHJvamVjdC1jb2xvciB7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLnYyLXByb2plY3QtaXRlbS5pcy12aXJ0dWFsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIE1haW4gQ29udGFpbmVyICovXG4udGctdjItbWFpbi1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBUb3AgTmF2aWdhdGlvbiAqL1xuLnRnLXYyLXRvcC1uYXYge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udjItdG9wLW5hdmlnYXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGhlaWdodDogNTZweDtcblx0cGFkZGluZzogMCAyMHB4O1xuXHRnYXA6IDIwcHg7XG59XG5cbi52Mi1uYXYtbGVmdCB7XG5cdGZsZXg6IDAgMSA0MDBweDtcbn1cblxuLnYyLXNlYXJjaC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ZmxleDogMTtcbn1cblxuLyogQ2VudGVyIE5hdmlnYXRpb24gKi9cbi52Mi1uYXYtY2VudGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udjItdmlldy10YWJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDJweDtcbn1cblxuLnYyLXZpZXctdGFiIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4udjItdmlldy10YWI6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItdmlldy10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnYyLXZpZXctdGFiLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udjItbmF2LXNlcGFyYXRvciB7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMjRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udjItbmF2LWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi52Mi1uYXYtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi52Mi1uYXYtYnV0dG9uLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBSaWdodCBOYXZpZ2F0aW9uICovXG4udjItbmF2LXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udjItbmF2LWljb24tYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4udjItbmF2LWljb24tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52Mi1ub3RpZmljYXRpb24tYmFkZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTJweDtcblx0cmlnaHQ6IC0ycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0bWluLXdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIENvbnRlbnQgQXJlYSAqL1xuLnRnLXYyLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLnRnLXYyLWNvbnRlbnQgLmNvbnRlbnQtaGVhZGVyLFxuLnRnLXYyLWNvbnRlbnQgLnRnLWthbmJhbi1maWx0ZXJzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogVmlldy1zcGVjaWZpYyBzdHlsZXMgKi9cbi50Zy12Mi1saXN0LXZpZXcsXG4udGctdjIta2FuYmFuLXZpZXcsXG4udGctdjItdHJlZS12aWV3LFxuLnRnLXYyLWNhbGVuZGFyLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctdjItc2lkZWJhci1jb250YWluZXI6bm90KC5pcy1tb2JpbGUtZHJhd2VyKSB7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHR9XG5cblx0LnYyLW5hdi1jZW50ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudjItc2VhcmNoLWNvbnRhaW5lciB7XG5cdFx0ZmxleDogMTtcblx0fVxuXG5cdC52Mi1uYXYtbGVmdCAuc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbi8qIE1vYmlsZS1zcGVjaWZpYyBtZWRpYSBxdWVyeSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdC8qIEVuc3VyZSBkcmF3ZXIgdGFrZXMgYXBwcm9wcmlhdGUgd2lkdGggb24gc21hbGwgc2NyZWVucyAqL1xuXHQudGctdjItc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciB7XG5cdFx0d2lkdGg6IDc1dncgIWltcG9ydGFudDtcblx0XHRtYXgtd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvKiBNYWtlIGhhbWJ1cmdlciBidXR0b24gbW9yZSBwcm9taW5lbnQgb24gbW9iaWxlICovXG5cdC52Mi1oYW1idXJnZXItYnV0dG9uIHtcblx0XHR3aWR0aDogNDRweDtcblx0XHRoZWlnaHQ6IDQ0cHg7XG5cdH1cblxuXHQvKiBBZGp1c3QgdG9wIG5hdmlnYXRpb24gc3BhY2luZyBvbiBtb2JpbGUgKi9cblx0LnYyLXRvcC1uYXZpZ2F0aW9uIHtcblx0XHRwYWRkaW5nOiAwIDEycHg7XG5cdH1cblxuXHQvKiBIaWRlIHZpZXcgdGFicyBvbiB2ZXJ5IHNtYWxsIHNjcmVlbnMgKi9cblx0LnYyLXZpZXctdGFicyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC8qIE9wdGltaXplIHNlYXJjaCBjb250YWluZXIgb24gbW9iaWxlICovXG5cdC52Mi1zZWFyY2gtY29udGFpbmVyIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1heC13aWR0aDogY2FsYygxMDB2dyAtIDE4MHB4KTtcblx0fVxufVxuXG4vKiA9PT09PSBDb2xsYXBzZWQgU2lkZWJhciAoUmFpbCkgPT09PT0gKi9cbi50Zy12Mi1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZSwgbWluLXdpZHRoIDAuMnMgZWFzZSwgbWF4LXdpZHRoIDAuMnMgZWFzZTtcbn1cblxuLyogV2hlbiB0aGUgc2lkZWJhciBlbGVtZW50IGl0c2VsZiBpcyBjb2xsYXBzZWQgKi9cbi50Zy12Mi1zaWRlYmFyLWNvbnRhaW5lci5pcy1jb2xsYXBzZWQsXG4vKiBPciB3aGVuIHRoZSByb290IGFkZHMgYSBoZWxwZXIgY2xhc3MgKi9cbi52Mi1zaWRlYmFyLWNvbGxhcHNlZCAudGctdjItc2lkZWJhci1jb250YWluZXIge1xuXHR3aWR0aDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xuXHRtYXgtd2lkdGg6IDQ0cHg7XG59XG5cbi8qIFJhaWwgbGF5b3V0ICovXG4udjItc2lkZWJhci1yYWlsIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4IDRweDtcbn1cblxuLnYyLXJhaWwtYnRuIHtcblx0d2lkdGg6IDM2cHg7XG5cdGhlaWdodDogMzZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLnYyLXJhaWwtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52Mi1yYWlsLWJ0biBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBBY3RpdmUgc3RhdGUgZm9yIHJhaWwgYnV0dG9ucyAqL1xuLnYyLXJhaWwtYnRuLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWJldGEge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1iZXRhOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiYmV0YVwiO1xuXHRmb250LXNpemU6IDAuNDRlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50LWludmVydGVkKTtcblx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdHBhZGRpbmctcmlnaHQ6IDJweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRyaWdodDogLTJweDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nLXRvcDogMXB4O1xufVxuXG4vKiA9PT09PSBNb2JpbGUgRHJhd2VyIFN0eWxlcyA9PT09PSAqL1xuLmRyYXdlci1vdmVybGF5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0ei1pbmRleDogOTk5O1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kcmF3ZXItb3BlbiAuZHJhd2VyLW92ZXJsYXkge1xuXHRvcGFjaXR5OiAxO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLyogTW9iaWxlIGRyYXdlciBzaWRlYmFyICovXG4udGctdjItc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDg1dncgIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiAxMDAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRib3gtc2hhZG93OiA0cHggMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIFdoZW4gZHJhd2VyIGlzIG9wZW4gKi9cbi5kcmF3ZXItb3BlbiAudGctdjItc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLyogRW5zdXJlIHNpZGViYXIgY29udGVudCBpcyB2aXNpYmxlIG9uIG1vYmlsZSBldmVuIHdoZW4gXCJjb2xsYXBzZWRcIiAqL1xuLnRnLXYyLXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIgLnYyLXNpZGViYXIuaXMtY29sbGFwc2VkIHtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIEhpZGUgcmFpbCBtb2RlIG9uIG1vYmlsZSAqL1xuLnRnLXYyLXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIgLnYyLXNpZGViYXItcmFpbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE1vYmlsZS1zcGVjaWZpYyBzaWRlYmFyIGNvbnRlbnQgYWRqdXN0bWVudHMgKi9cbi5pcy1tb2JpbGUgLnYyLXNpZGViYXIge1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uaXMtbW9iaWxlIC52Mi1zaWRlYmFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIEVuc3VyZSBhbGwgc2VjdGlvbnMgYXJlIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtbW9iaWxlIC52Mi1zaWRlYmFyLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtaGVpZ2h0OiBjYWxjKFxuXHRcdDEwMHZoIC0gMTUwcHhcblx0KTsgLyogQWNjb3VudCBmb3IgaGVhZGVyIGFuZCBuZXcgdGFzayBidXR0b24gKi9cbn1cblxuLmlzLW1vYmlsZSAudjItc2lkZWJhci1zZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKiBFbnN1cmUgc2VjdGlvbiBoZWFkZXJzIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLW1vYmlsZSAudjItc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmlzLW1vYmlsZSAudjItbmF2aWdhdGlvbi1pdGVtLFxuLmlzLW1vYmlsZSAudjItcHJvamVjdC1pdGVtIHtcblx0cGFkZGluZzogMTBweCAxNnB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cbi5pcy1tb2JpbGUgLnYyLW5ldy10YXNrLWJ0biB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLmlzLW1vYmlsZSAudjItbmF2aWdhdGlvbi1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pcy1tb2JpbGUgc3Bhbi52Mi1uYXZpZ2F0aW9uLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogVG91Y2gtZnJpZW5kbHkgc2l6aW5nICovXG4uaXMtbW9iaWxlIC52Mi1uYXZpZ2F0aW9uLWl0ZW0sXG4uaXMtbW9iaWxlIC52Mi1wcm9qZWN0LWl0ZW0sXG4uaXMtbW9iaWxlIC52Mi1hZGQtcHJvamVjdCB7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi8qIEFkanVzdCBtYWluIGNvbnRhaW5lciBvbiBtb2JpbGUgd2hlbiBkcmF3ZXIgaXMgb3BlbiAqL1xuLmRyYXdlci1vcGVuIC50Zy12Mi1tYWluLWNvbnRhaW5lciB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBIYW1idXJnZXIgbWVudSBidXR0b24gZm9yIG1vYmlsZSAqL1xuLnYyLWhhbWJ1cmdlci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi52Mi1oYW1idXJnZXItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52Mi1oYW1idXJnZXItYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG59XG5cbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIG9uIG1vYmlsZSB3aGVuIGhhbWJ1cmdlciBpcyBwcmVzZW50ICovXG4udjItbmF2LWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogSGlkZSBzaWRlYmFyIHRvZ2dsZSBvbiBkZXNrdG9wIHdoZW4gaW4gbW9iaWxlIGRyYXdlciBtb2RlICovXG4udGctdjItc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlclxuXHR+IC50Zy12Mi1tYWluLWNvbnRhaW5lclxuXHQuc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFuaW1hdGlvbiBmb3IgZHJhd2VyIGZyb20gcmlnaHQgKG9wdGlvbmFsIC0gY2FuIGJlIGNvbmZpZ3VyZWQpICovXG4udGctdjItc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlci5kcmF3ZXItcmlnaHQge1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRib3gtc2hhZG93OiAtNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4uZHJhd2VyLW9wZW4gLnRnLXYyLXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIuZHJhd2VyLXJpZ2h0IHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vKiBTbW9vdGggYW5pbWF0aW9ucyBmb3IgYWxsIHRyYW5zaXRpb25zICovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tTGVmdCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0b3BhY2l0eTogMC44O1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tUmlnaHQge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdFx0b3BhY2l0eTogMC44O1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuIiwgIi8qIFRhc2sgR2VuaXVzIFYyIEVuaGFuY2VkIFN0eWxlcyAtIFNoYWRjbi1pbnNwaXJlZCAqL1xuXG4vKiA9PT09PT09PT09IEJhc2UgVmFyaWFibGVzID09PT09PT09PT0gKi9cbjpyb290IHtcblx0LyogU2hhZG93cyAqL1xuXHQtLXRnLXNoYWRvdy1zbTogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7XG5cdC0tdGctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xuXHQtLXRnLXNoYWRvdy1tZDogMCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcblx0LS10Zy1zaGFkb3ctbGc6IDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcblx0LS10Zy1zaGFkb3cteGw6IDAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSk7XG5cblx0LyogQW5pbWF0aW9ucyAqL1xuXHQtLXRnLXRyYW5zaXRpb24tZmFzdDogMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0LS10Zy10cmFuc2l0aW9uLWJhc2U6IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdC0tdGctdHJhbnNpdGlvbi1zbG93OiAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG5cdC8qIEJvcmRlciByYWRpdXMgKi9cblx0LS10Zy1yYWRpdXMtc206IDAuMjVyZW07XG5cdC0tdGctcmFkaXVzOiAwLjM3NXJlbTtcblx0LS10Zy1yYWRpdXMtbWQ6IDAuNXJlbTtcblx0LS10Zy1yYWRpdXMtbGc6IDAuNzVyZW07XG5cdC0tdGctcmFkaXVzLWZ1bGw6IDk5OTlweDtcbn1cblxuLyogPT09PT09PT09PSBUYXNrIExpc3QgVmlldyBTdHlsZXMgPT09PT09PT09PSAqL1xuLnRhc2stbGlzdC1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDEuNXJlbTtcblx0YW5pbWF0aW9uOiBmYWRlSW4gdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLnRhc2stbGlzdC13cmFwcGVyIHtcblx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4udGFzay1saXN0LWl0ZW0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1tZCk7XG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cdHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stbGlzdC1pdGVtOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFzay1saXN0LWl0ZW06aG92ZXIge1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stbGlzdC1pdGVtOmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGFzay1saXN0LWl0ZW0uaXMtY29tcGxldGVkIHtcblx0b3BhY2l0eTogMC42O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLWxpc3QtaXRlbS5pcy1vdmVyZHVlOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stbGlzdC1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogM3JlbSAxLjVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qID09PT09PT09PT0gVGFzayBUcmVlIFZpZXcgU3R5bGVzID09PT09PT09PT0gKi9cbi50YXNrLXRyZWUtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAxLjVyZW07XG5cdGFuaW1hdGlvbjogZmFkZUluIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi50YXNrLXRyZWUtd3JhcHBlciB7XG5cdG1heC13aWR0aDogMTIwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0IHtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1sZyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4udGFzay10cmVlLXByb2plY3Q6aG92ZXIge1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xufVxuXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcblx0cGFkZGluZzogMXJlbSAxLjI1cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMC45NXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjVCNlwiO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4udGFzay10cmVlLXByb2plY3QuaXMtZXhwYW5kZWQgLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlcjo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4udGFzay10cmVlLXRhc2tzIHtcblx0cGFkZGluZzogMC41cmVtO1xufVxuXG4udGFzay10cmVlLWl0ZW0ge1xuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdG1hcmdpbjogMC4yNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4udGFzay10cmVlLWl0ZW06OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMXJlbTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG59XG5cbi50YXNrLXRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10cmVlLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzcmVtIDEuNXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogPT09PT09PT09PSBGaWx0ZXIgUGFuZWwgU3R5bGVzID09PT09PT09PT0gKi9cbi50Zy12Mi1maWx0ZXItcGFuZWwge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAtMzgwcHg7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMzgwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cteGwpO1xuXHR0cmFuc2l0aW9uOiByaWdodCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGctdjItZmlsdGVyLXBhbmVsLmlzLW9wZW4ge1xuXHRyaWdodDogMDtcbn1cblxuLmZpbHRlci1wYW5lbC1oZWFkZXIge1xuXHRwYWRkaW5nOiAxLjI1cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5maWx0ZXItcGFuZWwtdGl0bGUge1xuXHRmb250LXNpemU6IDEuMXJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1wYW5lbC1jbG9zZSB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsdGVyLXBhbmVsLWNsb3NlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItcGFuZWwtY29udGVudCB7XG5cdHBhZGRpbmc6IDEuMjVyZW07XG59XG5cbi5maWx0ZXItZ3JvdXAge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5maWx0ZXItZ3JvdXAtbGFiZWwge1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG59XG5cbi5maWx0ZXItb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xufVxuXG4uZmlsdGVyLW9wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1vcHRpb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZpbHRlci1vcHRpb24uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWNoZWNrYm94IHtcblx0bWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4vKiBGaWx0ZXIgc3BlY2lmaWMgc3R5bGVzICovXG4uZmlsdGVyLXNlbGVjdCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmlsdGVyLXNlbGVjdDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1zZWxlY3Q6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZmlsdGVyLXRhZ3MtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5maWx0ZXItdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZmlsdGVyLXRhZzpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmlsdGVyLXRhZy5pcy1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1kYXRlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC43NXJlbTtcbn1cblxuLmZpbHRlci1kYXRlLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi5maWx0ZXItZGF0ZS1maWVsZCBzcGFuIHtcblx0bWluLXdpZHRoOiA1MHB4O1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWx0ZXItZGF0ZS1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZmlsdGVyLWRhdGUtaW5wdXQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItZGF0ZS1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1hY3Rpb24tYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC43NXJlbTtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xuXHRwYWRkaW5nLXRvcDogMS41cmVtO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmlsdGVyLWFjdGlvbi1idXR0b25zIGJ1dHRvbiB7XG5cdGZsZXg6IDE7XG59XG5cbi5wcmlvcml0eS1jb2xvci1kb3Qge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiA9PT09PT09PT09IExvYWRpbmcgU3RhdGVzID09PT09PT09PT0gKi9cbi50Zy12Mi1sb2FkaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Z2FwOiAxcmVtO1xufVxuXG4udGctdjItc3Bpbm5lciB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4udGctdjItbG9hZGluZy10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogPT09PT09PT09PSBFbXB0eSBTdGF0ZXMgPT09PT09PT09PSAqL1xuLnRnLXYyLWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMnJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGctdjItZW1wdHktaWNvbiB7XG5cdHdpZHRoOiA2NHB4O1xuXHRoZWlnaHQ6IDY0cHg7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGctdjItZW1wdHktdGl0bGUge1xuXHRmb250LXNpemU6IDEuMjVyZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnRnLXYyLWVtcHR5LWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdG1heC13aWR0aDogNDAwcHg7XG59XG5cbi50Zy12Mi1lbXB0eS1hY3Rpb24ge1xuXHRwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGctdjItZW1wdHktYWN0aW9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xufVxuXG4vKiA9PT09PT09PT09IFRvb2x0aXBzID09PT09PT09PT0gKi9cbi50Zy12Mi10b29sdGlwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbGcpO1xuXHR6LWluZGV4OiA5OTk5O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGctdjItdG9vbHRpcC5pcy12aXNpYmxlIHtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiA9PT09PT09PT09IENhcmRzID09PT09PT09PT0gKi9cbi50Zy12Mi1jYXJkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbGcpO1xuXHRwYWRkaW5nOiAxLjI1cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLnRnLXYyLWNhcmQ6aG92ZXIge1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50Zy12Mi1jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuNzVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50Zy12Mi1jYXJkLXRpdGxlIHtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctdjItY2FyZC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi50Zy12Mi1jYXJkLWFjdGlvbiB7XG5cdHdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50Zy12Mi1jYXJkLWFjdGlvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiA9PT09PT09PT09IEJ1dHRvbnMgPT09PT09PT09PSAqL1xuLnRnLXYyLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1tZCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGctdjItYnV0dG9uOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0dHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KSxcblx0aGVpZ2h0IHZhcigtLXRnLXRyYW5zaXRpb24tc2xvdyk7XG59XG5cbi50Zy12Mi1idXR0b246YWN0aXZlOjpiZWZvcmUge1xuXHR3aWR0aDogMzAwcHg7XG5cdGhlaWdodDogMzAwcHg7XG59XG5cbi50Zy12Mi1idXR0b24tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50Zy12Mi1idXR0b24tcHJpbWFyeTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcbn1cblxuLnRnLXYyLWJ1dHRvbi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRnLXYyLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGctdjItYnV0dG9uLWdob3N0IHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy12Mi1idXR0b24tZ2hvc3Q6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRnLXYyLWJ1dHRvbi1kYW5nZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4udGctdjItYnV0dG9uLWRhbmdlcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6ICNkYzI2MjY7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcbn1cblxuLyogPT09PT09PT09PSBBbmltYXRpb25zID09PT09PT09PT0gKi9cbkBrZXlmcmFtZXMgZmFkZUluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZVVwIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG5cdDAlLFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi8qID09PT09PT09PT0gUmVzcG9uc2l2ZSBEZXNpZ24gPT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXHQudGFzay1saXN0LWNvbnRhaW5lcixcblx0LnRhc2stdHJlZS1jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdH1cblxuXHQudGctdjItZmlsdGVyLXBhbmVsIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRyaWdodDogLTEwMCU7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG5cdC50YXNrLWxpc3QtaXRlbSB7XG5cdFx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHR9XG5cblx0LnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlciB7XG5cdFx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHR9XG5cblx0LnRnLXYyLWNhcmQge1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdH1cbn1cblxuLyogPT09PT09PT09PSBEYXJrIE1vZGUgQWRqdXN0bWVudHMgPT09PT09PT09PSAqL1xuLnRoZW1lLWRhcmsge1xuXHQtLXRnLXNoYWRvdy1zbTogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4zKTtcblx0LS10Zy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuNCksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMyk7XG5cdC0tdGctc2hhZG93LW1kOiAwIDRweCA2cHggLTFweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAwLjMpO1xuXHQtLXRnLXNoYWRvdy1sZzogMCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjMpO1xuXHQtLXRnLXNoYWRvdy14bDogMCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDhweCAxMHB4IC02cHggcmdiKDAgMCAwIC8gMC4zKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLXYyLWNhcmQ6aG92ZXIsXG4udGhlbWUtZGFyayAudGFzay1saXN0LWl0ZW06aG92ZXIsXG4udGhlbWUtZGFyayAudGFzay10cmVlLXByb2plY3Q6aG92ZXIge1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSxcblx0dmFyKC0tdGctc2hhZG93LW1kKTtcbn1cblxuLyogPT09PT09PT09PSBQcm9ncmVzcyBCYXJzID09PT09PT09PT0gKi9cbi50Zy12Mi1wcm9ncmVzcyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMC41cmVtIDA7XG59XG5cbi50Zy12Mi1wcm9ncmVzcy1iYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0dHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGctdjItcHJvZ3Jlc3MtYmFyOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0OTBkZWcsXG5cdFx0dHJhbnNwYXJlbnQsXG5cdFx0cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLFxuXHRcdHRyYW5zcGFyZW50XG5cdCk7XG5cdGFuaW1hdGlvbjogc2hpbW1lciAycyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHR9XG59XG5cbi8qID09PT09PT09PT0gVGFncyA9PT09PT09PT09ICovXG4udGctdjItdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRnLXYyLXRhZzpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50Zy12Mi10YWctcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLXYyLXRhZy1zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogIzEwYjk4MTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6ICMxMGI5ODE7XG59XG5cbi50Zy12Mi10YWctd2FybmluZyB7XG5cdGJhY2tncm91bmQ6ICNmNTllMGI7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiAjZjU5ZTBiO1xufVxuXG4udGctdjItdGFnLWRhbmdlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi53b3Jrc3BhY2UtbmFtZS13aXRoLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuIiwgIi8qIFRhc2sgR2VuaXVzIFYyIENvbnRlbnQgSGVhZGVyIFN0eWxlcyAqL1xuXG4vKiA9PT0gQ29udGVudCBXcmFwcGVyID09PSAqL1xuLnRnLXYyLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09IENvbnRlbnQgSGVhZGVyID09PSAqL1xuLnYyLWNvbnRlbnQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiAxMnB4IDIwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IDU2cHg7XG5cdGdhcDogMTZweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAuaGVhZGVyLWxlZnQtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0bWluLXdpZHRoOiAyMDBweDtcbn1cblxuLnYyLWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLnRhc2stY291bnQge1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDJweCA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLmhlYWRlci1jZW50ZXItc2VjdGlvbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLnYyLWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LWZpbHRlciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLmZpbHRlci1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLmZpbHRlci1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcbn1cblxuLnYyLWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItcmlnaHQtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0bixcbi52Mi1jb250ZW50LWhlYWRlciAuc29ydC1idXR0b24sXG4udjItY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuOmhvdmVyLFxuLnYyLWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbjpob3Zlcixcbi52Mi1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0bjphY3RpdmUsXG4udjItY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uOmFjdGl2ZSxcbi52Mi1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbjphY3RpdmUge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0biBzdmcsXG4udjItY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uIHN2Zyxcbi52Mi1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4vKiA9PT0gQ29udGVudCBBcmVhICh3aXRoIGhlYWRlcikgPT09ICovXG4udGctdjItY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi8qID09PSBSZXNwb25zaXZlIGFkanVzdG1lbnRzID09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC52Mi1jb250ZW50LWhlYWRlciB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR9XG5cblx0LnYyLWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItbGVmdC1zZWN0aW9uIHtcblx0XHRtaW4td2lkdGg6IGF1dG87XG5cdH1cblxuXHQudjItY29udGVudC1oZWFkZXIgLmhlYWRlci1jZW50ZXItc2VjdGlvbiB7XG5cdFx0b3JkZXI6IDM7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXG5cdC52Mi1jb250ZW50LWhlYWRlciAuY29udGVudC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAxLjFyZW07XG5cdH1cbn1cbiIsICIvKiBQcm9qZWN0IFBvcG92ZXIgU3R5bGVzICovXG4udjItcHJvamVjdC1wb3BvdmVyLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTAwMDtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdG1pbi13aWR0aDogMzIwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGFuaW1hdGlvbjogcG9wb3Zlci1mYWRlLWluIDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgcG9wb3Zlci1mYWRlLWluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi52Mi1wb3BvdmVyLWFycm93LFxuLnYyLXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwcHg7XG5cdGhlaWdodDogMTBweDtcblx0YmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuLnYyLXBvcG92ZXItYXJyb3cge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52Mi1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRjb250ZW50OiBcIlwiO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogQXJyb3cgcG9zaXRpb25pbmcgZm9yIGRpZmZlcmVudCBwbGFjZW1lbnRzICovXG4udjItcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0gLnYyLXBvcG92ZXItYXJyb3cge1xuXHRib3R0b206IC01cHg7XG59XG5cbi52Mi1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSAudjItcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi52Mi1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudjItcG9wb3Zlci1hcnJvdyB7XG5cdHRvcDogLTVweDtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC52Mi1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi52Mi1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0gLnYyLXBvcG92ZXItYXJyb3cge1xuXHRyaWdodDogLTVweDtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSAudjItcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi52Mi1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC52Mi1wb3BvdmVyLWFycm93IHtcblx0bGVmdDogLTVweDtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnYyLXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnYyLXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi52Mi1wb3BvdmVyLWhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdHBhZGRpbmctYm90dG9tOiAxMnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udjItcG9wb3Zlci1oZWFkZXIgaDMge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnYyLXBvcG92ZXItc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi52Mi1wb3BvdmVyLXNlY3Rpb24gbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4udjItcG9wb3Zlci1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi52Mi1wb3BvdmVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnYyLXBvcG92ZXItaW5wdXQuaXMtZXJyb3Ige1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRhbmltYXRpb246IHNoYWtlIDAuM3M7XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuXHQwJSxcblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdDI1JSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpO1xuXHR9XG5cdDc1JSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG5cdH1cbn1cblxuLnYyLWNvbG9yLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRnYXA6IDhweDtcbn1cblxuLnYyLWNvbG9yLWJ1dHRvbiB7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnYyLWNvbG9yLWJ1dHRvbjpob3ZlciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnYyLWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi52Mi1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcdTI3MTNcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnYyLXBvcG92ZXItYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTZweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnYyLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4udjItYnV0dG9uLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udjItYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udjItYnV0dG9uLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnYyLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogTW9kYWwgU3R5bGVzIHVzaW5nIE9ic2lkaWFuIG5hdGl2ZSBNb2RhbCAqL1xuLnYyLXByb2plY3QtbW9kYWwge1xuXHQvKiBNb2RhbCB3aWxsIHVzZSBPYnNpZGlhbidzIGRlZmF1bHQgc3R5bGluZyAqL1xufVxuXG4udjItcHJvamVjdC1tb2RhbCAubW9kYWwtY29udGVudCBoMiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnYyLW1vZGFsLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4udjItbW9kYWwtc2VjdGlvbiBsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udjItbW9kYWwtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMTBweCAxNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLnYyLW1vZGFsLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnYyLW1vZGFsLWlucHV0LmlzLWVycm9yIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YW5pbWF0aW9uOiBzaGFrZSAwLjNzO1xufVxuXG4udjItbW9kYWwtY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cdGdhcDogMTJweDtcbn1cblxuLnYyLW1vZGFsLWNvbG9yLWJ1dHRvbiB7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnYyLW1vZGFsLWNvbG9yLWJ1dHRvbjpob3ZlciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnYyLW1vZGFsLWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi52Mi1tb2RhbC1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcdTI3MTNcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLnYyLW1vZGFsLXByZXZpZXcge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnYyLXByb2plY3QtaXRlbS1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLnYyLXByb2plY3QtaXRlbS1wcmV2aWV3IC52Mi1wcm9qZWN0LWNvbG9yIHtcblx0d2lkdGg6IDhweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udjItcHJvamVjdC1pdGVtLXByZXZpZXcgLnYyLXByb2plY3QtbmFtZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnYyLW1vZGFsLWZvb3RlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnYyLW1vZGFsLWZvb3RlciAudjItYnV0dG9uIHtcblx0cGFkZGluZzogMTBweCAyNHB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsQ0FBQztBQUNBLFdBQVM7QUFDVCxZQUFVO0FBQ1YsZUFBYTtBQUNiLGlCQUFlO0FBQ2hCO0FBRUEsQ0FBQyxnQkFBZ0IsQ0FQaEI7QUFRQSxXQUFTO0FBQ1Y7QUFFQSxDQUFDLGVBQWUsQ0FYZjtBQVlBLFdBQVM7QUFDVCxZQUFVO0FBQ1YsZUFBYTtBQUNiLGlCQUFlO0FBQ2hCO0FBRUEsQ0FBQztBQUNBLFVBQVE7QUFDUixZQUFVO0FBQ1g7QUFHQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdkI7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdkI7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdkI7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdkI7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdkI7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdkI7QUFHQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdEIsV0FBUztBQUNWO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3RCLFdBQVM7QUFDVCxZQUFVO0FBQ1YsT0FBSztBQUNMLFVBQVE7QUFDVDtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN0QixXQUFTO0FBQ1QsWUFBVTtBQUNWLE9BQUs7QUFDTCxVQUFRO0FBQ1Q7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdEIsV0FBUztBQUNULFlBQVU7QUFDVixPQUFLO0FBQ0wsVUFBUTtBQUNUO0FBRUEsQ0FBQztBQUNBLFNBQU87QUFDUCxvQkFBa0IsSUFBSTtBQUN0QixpQkFBZTtBQUNmLGtCQUFnQjtBQUNoQixtQkFBaUI7QUFDakIsZUFBYTtBQUNiLFNBQU87QUFDUCxZQUFV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 */