.validation-message{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-top:var(--ids-space-2xs);max-width:var(--ids-input-width-full)}.validation-message.has-custom-icon{color:var(--ids-icon-color-default)}.validation-message.disabled{color:var(--ids-input-color-text-disabled)}.validation-message .ids-icon{margin-inline-end:var(--ids-space-2xs)}.validation-message.alert{color:var(--ids-color-caution-default)}.validation-message.alert.disabled{color:var(--ids-color-yellow-30)}.validation-message.warning{color:var(--ids-color-warning-default)}.validation-message.warning.disabled{color:var(--ids-color-orange-30)}.validation-message.error{color:var(--ids-color-error-default)}.validation-message.error.disabled{color:var(--ids-color-red-30)}.validation-message.info{color:var(--ids-color-info-default)}.validation-message.info.disabled{color:var(--ids-color-blue-30)}.validation-message.success{color:var(--ids-color-success-default)}.validation-message.success.disabled{color:var(--ids-color-green-30)}.validation-message[hidden]{display:none}:host([suppress-error-message]) .validation-message{display:none}.icon-error-tracker{position:absolute;color:var(--ids-input-error-tracker-color-background, var(--ids-color-red-60));top:0;pointer-events:none}.icon-error-tracker[dir=rtl]{transform:rotate(90deg);top:0}.icon-field-indicator{position:absolute;top:0;pointer-events:none}.icon-field-indicator[dir=rtl]{transform:rotate(90deg);top:0}.icon-field-indicator-info{display:var(--ids-field-indicator-info-visibility, flex);align-items:center;margin-inline-end:var(--ids-field-indicator-info-margin, var(--ids-space-xs));cursor:pointer;color:var(--ids-field-indicator-icon-color, --ids-color-info-default)}.field-indicator-neutral{--ids-field-indicator-icon-color: var(--ids-color-accent-neutral-weak)}.field-indicator-neutral .icon-field-indicator{color:var(--ids-color-accent-neutral-weak)}.field-indicator-info{--ids-field-indicator-icon-color: var(--ids-color-info-default)}.field-indicator-info .icon-field-indicator{color:var(--ids-color-info-default)}.field-indicator-success{--ids-field-indicator-icon-color: var(--ids-color-success-default)}.field-indicator-success .icon-field-indicator{color:var(--ids-color-success-default)}.field-indicator-caution{--ids-field-indicator-icon-color: var(--ids-color-caution-default)}.field-indicator-caution .icon-field-indicator{color:var(--ids-color-caution-default)}.field-indicator-warning{--ids-field-indicator-icon-color: var(--ids-color-warning-default)}.field-indicator-warning .icon-field-indicator{color:var(--ids-color-warning-default)}.field-indicator-error{--ids-field-indicator-icon-color: var(--ids-color-error-default)}.field-indicator-error .icon-field-indicator{color:var(--ids-color-error-default)}[class*=field-indicator-].has-focus .icon-field-indicator-info{display:none}:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{display:flex;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:0;box-sizing:border-box;flex-shrink:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}@media(max-width: 927px){:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{margin-inline-start:0}}@media(width > 320px){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0}}@container (width > $breakpoint-xs){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0}}@media(min-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{flex-wrap:wrap;gap:8px}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{flex:0 0 auto;margin-bottom:unset;order:1}:host([label-position=inline-start]) .ids-input .field-container,:host([label-position=inline-start]) .ids-textarea .field-container{order:2}:host([label-position=inline-start]) .ids-input .textarea-field-group,:host([label-position=inline-start]) .ids-textarea .textarea-field-group{order:2;flex:1 1 auto;min-width:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{flex:1 1 100%;min-width:100%;order:3;margin-block-start:calc(0px - var(--ids-space-2xs))}:host([label-position=inline-start]) .ids-input.wrapped .validation-message,:host([label-position=inline-start]) .ids-textarea.wrapped .validation-message{margin-block-start:calc(0px - var(--ids-space-2xs));margin-inline-start:calc(var(--ids-label-width) + 6px)}}:host([label-position=inline-start]) .ids-checkbox{margin-top:var(--ids-space-00)}@media(min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}:host([label-position=inline-start]) .ids-checkbox.label-state-collapsed .validation-message{margin-inline-start:unset}}@container (min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{container-type:normal}@media(width <= 320px){:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][label-alignment=end]) .ids-input,:host([label-position=inline-start][label-alignment=end]) .ids-textarea{gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{display:inline-flex;align-items:var(--ids-label-align-y, center);justify-content:flex-end;text-align:end;position:relative}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{margin-inline-end:0;position:absolute;margin-top:unset;inset-inline-end:-5px;top:7px}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}:host([label-position=inline-start][label-alignment=end]) .field-container{flex:1}:host([label-position=inline-start][label-alignment=end]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 14px)}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:end}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label.required .label-checkbox span::after{margin-inline-end:0;position:absolute;margin-top:unset;right:-5px;top:-5px}@media(width > 767px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{display:inline-flex;align-items:center;justify-content:flex-end;text-align:end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}}@media(width > 767px)and (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{display:inline-flex;align-items:center;justify-content:flex-end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{justify-content:flex-start}}:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-input label,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-textarea label,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-textarea .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{column-gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea{display:flex;flex-wrap:nowrap}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea label{flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input,:host(.in-flex-item[label-position=inline-start]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{display:grid;gap:0;grid-template-columns:auto minmax(0, 1fr);column-gap:var(--ids-label-alignment-gap)}:host(.in-flex-item[label-position=inline-start]) .ids-input label,:host(.in-flex-item[label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea label{grid-column:1;grid-row:1}:host(.in-flex-item[label-position=inline-start]) .ids-input .field-container,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .field-container{grid-column:2;grid-row:1;min-width:0}:host(.in-flex-item[label-position=inline-start]) .ids-input .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .validation-message{grid-column:1/-1;grid-row:2;width:auto;margin-inline-start:0;margin-block-start:var(--ids-space-2xs)}:host(.in-flex-item[label-position=inline-start]) .ids-input.wrapped .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.wrapped .validation-message{grid-column:2;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input.sm,:host(.in-flex-item[label-position=inline-start]) .ids-input.mm,:host(.in-flex-item[label-position=inline-start]) .ids-input.md,:host(.in-flex-item[label-position=inline-start]) .ids-input.lg,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.sm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.mm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.md,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.lg{grid-template-columns:auto minmax(0, 1fr)}:host(.in-flex-item[label-position=inline-start]) .ids-input label{max-height:var(--ids-label-max-height-inline-start)}:host(.in-flex-item[label-position=inline-start]) .ids-checkbox input[type=checkbox]~.checkmark{inset-inline-end:0;margin-inline-end:0}:host(.in-flex-item[label-position=inline-start]) .ids-radio-group ids-text.group-label-text{margin-top:0}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@media(width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{display:block}:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{gap:0}}@container (width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{flex-wrap:wrap}}@media(width <= 320px){:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea{display:block;gap:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label{min-height:auto;margin-bottom:var(--ids-input-margin-bottom)}}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}:host([label-position=inline-start][label-break=break]) .ids-input,:host([label-position=inline-start][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-start][label-break=break]) .ids-input label,:host([label-position=inline-start][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0}:host([label-position=inline-start][label-break=break]) .ids-input .field-container,:host([label-position=inline-start][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=break]) .ids-input .validation-message,:host([label-position=inline-start][label-break=break]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host([label-position=inline-start][label-width="0px"]) .ids-label-text,:host([label-position=inline-start][label-width="0"]) .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text{overflow:visible}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required{padding-inline-end:0}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required::after{inset-inline-end:-7px}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 11px)}:host([label-position=inline-end][label-break=shrink-value]) .ids-input,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea{display:flex}:host([label-position=inline-end][label-break=shrink-value]) .ids-input label,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea label{flex-shrink:0;order:2}:host([label-position=inline-end][label-break=shrink-value]) .ids-input .field-container,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=shrink-value]) .ids-input{gap:var(--ids-space-2, 0.5rem)}@media(width > 320px){:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);justify-content:end;flex:0 1 auto;order:2}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0;order:1}}:host([label-position=inline-end][label-break=break]) .ids-input,:host([label-position=inline-end][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-end][label-break=break]) .ids-input label,:host([label-position=inline-end][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0;order:2}:host([label-position=inline-end][label-break=break]) .ids-input .field-container,:host([label-position=inline-end][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=break]) .ids-input .validation-message,:host([label-position=inline-end][label-break=break]) .ids-textarea .validation-message{margin-inline-start:0;order:3}:host([label-position=inline-end][label-break=break]) .ids-input{gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]){--ids-label-width: var(--ids-label-width-inline-start)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea label{align-self:var(--ids-label-align-y, center)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea .ids-label-text{overflow:visible}@media(width > 767px){:host([label-position=inline-start]:not([label-break=shrink-value]):not([size=full])) .ids-textarea{max-width:calc(370px + var(--ids-label-width))}:host([label-position=inline-start]:not([label-break=shrink-value]):not([size=full])) .ids-textarea .textarea-field{width:calc(370px + var(--ids-label-width))}}@media(width > 767px){:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-filter-field label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box}:host([label-position=inline-start]) .ids-filter-field #operator-button{position:relative;inset-inline-start:var(--ids-label-width)}:host([label-position=inline-start]) .ids-filter-field .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}}@media(width < 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox label{--ids-checkbox-padding-inline-start: inherit}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-inline-start:initial}}@media(min-width: 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox input[type=checkbox]~.checkmark{right:initial}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-block-start:0}}:host([label-position=inline-start]) .ids-radio-group.label-inline,:host([label-position=inline-end]) .ids-radio-group.label-inline{display:flex;align-items:var(--ids-label-align-y, flex-start);gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]) .ids-radio-group.label-inline ids-text.group-label-text,:host([label-position=inline-end]) .ids-radio-group.label-inline ids-text.group-label-text{min-width:var(--ids-label-width);margin-top:calc(var(--ids-space-xs) - 2px)}:host([label-position=inline-start]) .ids-radio-group.label-inline slot,:host([label-position=inline-end]) .ids-radio-group.label-inline slot{display:flex;flex-direction:column}:host([label-position=inline-end]) .ids-radio-group.label-inline ids-text.group-label-text{justify-content:end;order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline slot{order:1}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked{display:flex;align-items:var(--ids-label-align-y, baseline);gap:var(--ids-space-2, 0.5rem);flex-direction:column}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked slot{display:flex;flex-direction:column;order:1}@media(width > 767px){:host([label-position=inline-start]) .ids-switch{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-switch label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);padding-inline-start:0;box-sizing:border-box}:host([label-position=inline-start]) .ids-switch input[type=checkbox]~.slider{left:unset;right:-45px}:host([label-position=inline-start][label-state=collapsed]) .ids-switch label{padding-inline-end:0;width:0}:host([label-position=inline-start][dir=rtl]) .ids-switch input[type=checkbox]~.slider{left:-45px;right:initial}}@media(width > 767px){:host([label-position=inline-start]) .ids-data-label{display:flex;flex-direction:row;gap:8px;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-data-label .label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);box-sizing:border-box;margin-block-end:0;white-space:nowrap}:host([label-position=inline-start]) .ids-data-label .data,:host([label-position=inline-start]) .ids-data-label .description{display:flex;padding-block:var(--ids-label-padding-block)}}@media(max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}:host([label-state=collapsed]){--ids-label-width: 0;width:fit-content}:host(ids-checkbox[label-state=collapsed]){width:fit-content;display:block}@container (max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}@media(max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}@container (max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}:host .ids-input label,:host .ids-input .label,:host .ids-textarea label,:host .ids-textarea .label,:host .ids-checkbox label,:host .ids-checkbox .label,:host .ids-radio label,:host .ids-radio .label,:host .ids-switch label,:host .ids-switch .label,:host .ids-data-label label,:host .ids-data-label .label,:host .ids-filter-field label,:host .ids-filter-field .label{width:var(--ids-label-width)}:host([label-position=inline-start][label-state=collapsed]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=collapsed]) .ids-radio-group ids-text.group-label-text{display:none}:host([label-position=inline-start][label-state=hidden]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=hidden]) .ids-radio-group ids-text.group-label-text{visibility:hidden}:host{--ids-button-tertiary-color-background-hover: var(--ids-color-transparent);--ids-button-tertiary-color-border-hover: var(--ids-color-transparent);--ids-button-tertiary-color-background-pressed: var(--ids-color-transparent);--ids-button-tertiary-color-border-pressed: var(--ids-color-transparent);display:block}:host .ids-dropdown{display:inline-block;max-width:100%;width:var(--ids-box-dropdown-width, auto)}:host([field-indicator]){--ids-field-indicator-info-margin: 0}:host([field-indicator][readonly]),:host([field-indicator][disabled]){--ids-field-indicator-info-visibility: none}:host([hidden]){display:none}:host([label-position=inline-start]) ids-trigger-field::part(container){justify-content:var(--ids-box-justify-content, flex-start)}ids-trigger-field[readonly-background]:not([disabled])::part(input){cursor:var(--ids-cursor-pointer)}ids-trigger-field:not([autoselect])::part(input)::selection{background-color:var(--ids-color-transparent)}.ids-dropdown{display:block;position:relative}.ids-dropdown ids-trigger-field[size=full]{display:block}.ids-dropdown.full{display:block}.ids-dropdown.full ids-trigger-field,.ids-dropdown.full .ids-trigger-field{display:block}.ids-dropdown ::slotted(ids-list-box){height:var(--ids-popup-maxheight)}.trigger-icon{color:var(--ids-dropdown-color-icon);margin:0 0 0 var(--ids-dropdown-space-text);position:relative;top:0}:host([mode=light]) .typeahead.is-open ids-trigger-field::part(field-container){background-color:var(--ids-dropdown-typeahead-color-background)}:host([dir=rtl]) .trigger-icon{margin:0 var(--ids-dropdown-space-text) 0 0}::slotted(.sub-group){border-top:1px solid var(--ids-dropdown-separator-color-border);padding-top:var(--ids-dropdown-separator-padding)}.ids-dropdown.color-variant-borderless ids-trigger-field::part(field-container),.ids-dropdown.color-variant-in-cell ids-trigger-field::part(field-container){margin:0;border-radius:0}.ids-dropdown.color-variant-borderless ids-trigger-field::part(label),.ids-dropdown.color-variant-in-cell ids-trigger-field::part(label){display:none}.ids-dropdown.color-variant-borderless ids-trigger-field::part(container){margin:-1px}.ids-dropdown.color-variant-borderless ids-trigger-field::part(field-container){box-shadow:none !important}.ids-dropdown.color-variant-borderless.is-open .ids-trigger-field-slot-trigger-end{margin-block-start:2px}.ids-dropdown.color-variant-borderless.field-height-lg ids-trigger-field::part(input){padding-inline:12px;height:50px}.ids-dropdown.color-variant-borderless.field-height-lg.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:3px}.ids-dropdown.color-variant-borderless.field-height-md ids-trigger-field::part(input){padding-inline:13px;height:40px}.ids-dropdown.color-variant-borderless.field-height-md.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:10px}.ids-dropdown.color-variant-borderless.field-height-sm ids-trigger-field::part(input){padding-inline:9px;height:35px}.ids-dropdown.color-variant-borderless.field-height-sm.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:3px}.ids-dropdown.color-variant-borderless.field-height-xs ids-trigger-field::part(input){padding-inline:5px;height:30px}.ids-dropdown.color-variant-borderless.field-height-xs.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:-2px}.ids-dropdown.color-variant-borderless.field-height-xxs ids-trigger-field::part(input){padding-inline:3px;height:30px}.ids-dropdown.color-variant-borderless.field-height-xxs.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:-1px;margin-block-start:-2px}:host([combobox]) .ids-dropdown.color-variant-borderless .ids-trigger-field-slot-trigger-end{display:flex;align-items:center;margin-block-start:2px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-lg .ids-trigger-field-slot-trigger-end{margin-inline-end:3px;height:48px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-md .ids-trigger-field-slot-trigger-end{margin-inline-end:-1px;height:39px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-sm .ids-trigger-field-slot-trigger-end{margin-inline-end:-5px;height:33px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-xs .ids-trigger-field-slot-trigger-end{margin-inline-end:-10px;height:29px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-xxs .ids-trigger-field-slot-trigger-end{margin-inline-end:-10px;margin-block-start:0}.ids-dropdown.color-variant-in-cell ids-trigger-field::part(container){margin:1px 0}.ids-dropdown.color-variant-module-nav{color:var(--ids-module-nav-search-input-text-color);display:block;margin-block-end:0}.ids-dropdown.color-variant-module-nav ::slotted(ids-list-box){color:var(--ids-module-nav-search-input-text-color)}.ids-dropdown.color-variant-module-nav ::slotted(ids-list-box-option){color:inherit}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(field-container){background-color:var(--ids-module-nav-input-bg-color);border-radius:var(--ids-module-nav-common-border-radius);border:var(--ids-module-nav-input-border-width) solid var(--ids-module-nav-input-border-color);box-shadow:none;color:inherit;overflow:hidden}.ids-dropdown.color-variant-module-nav ids-trigger-field:hover::part(field-container){background-color:var(--ids-module-nav-input-hover-bg-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field:active::part(field-container){background-color:var(--ids-module-nav-item-selected-bg-color);border-color:var(--ids-module-nav-item-selected-text-color);color:var(--ids-module-nav-item-selected-text-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field:focus-within::part(field-container){background-color:var(--ids-module-nav-input-focus-bg-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(input){background-color:var(--ids-color-transparent);color:inherit}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(trigger-button){background-color:var(--ids-color-transparent)}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(input::placeholder){color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(input:active){color:var(--ids-module-nav-search-input-text-color)}.ids-dropdown.color-variant-module-nav ids-dropdown-list::part(dropdown-list){max-width:var(--ids-module-nav-expanded-size);width:calc(var(--ids-module-nav-switcher-dropdown-width) + var(--ids-module-nav-switcher-button-gutter-size) + var(--ids-module-nav-switcher-button-size))}.ids-dropdown.color-variant-module-nav ids-list-box-option{min-height:var(--ids-module-nav-item-height)}.ids-dropdown.color-variant-module-nav .fieldset{display:contents}.ids-dropdown.color-variant-module-nav .ids-input-field{padding-inline-start:var(--ids-module-nav-item-expanded-icon-text-space-size)}:host ids-dropdown-list{max-width:var(--ids-input-width-40)}:host([size=xs]) ids-dropdown-list{max-width:var(--ids-input-width-10)}:host([size=sm]) ids-dropdown-list{max-width:var(--ids-input-width-20)}:host([size=mm]) ids-dropdown-list{max-width:var(--ids-input-width-30)}:host([size=md]) ids-dropdown-list{max-width:var(--ids-input-width-40)}:host([size=lg]) ids-dropdown-list{max-width:var(--ids-input-width-50)}:host([size=full]) ids-dropdown-list{max-width:var(--ids-input-width-full)}:host ids-dropdown-list,:host([size=full]){width:var(--ids-input-width-full)}:host(.in-flex-item[size=xs]){min-width:var(--ids-input-width-10)}:host(.in-flex-item[size=sm]){min-width:var(--ids-input-width-20)}:host(.in-flex-item[size=mm]){min-width:var(--ids-input-width-30)}:host(.in-flex-item[size=md]){min-width:var(--ids-input-width-40)}:host(.in-flex-item[size=lg]){min-width:var(--ids-input-width-50)}:host(.in-flex-item[label-break=shrink-value][size]),:host(.in-flex-item[label-position=inline-start][size]){min-width:0}:host([list]:not([disabled])){cursor:var(--ids-cursor-pointer)}:host([auto-size=true]) ids-trigger-field::part(input){padding-inline-end:0}:host([text-align=end]) ids-trigger-field::part(input){padding-inline-end:var(--ids-dropdown-space-text)}:host([text-align=end][compact]) ids-trigger-field::part(input){padding-inline-end:var(--ids-dropdown-space-text-compact)}.ids-dropdown ids-trigger-field::part(clearable-button){margin-inline-end:-6px}.ids-checkbox{margin-bottom:0}ids-trigger-field ids-tag{align-self:center;display:flex;margin-top:var(--ids-space-2xs);margin-inline-start:var(--ids-space-2xs);max-width:100%}ids-trigger-field ids-tag[disabled]::part(tag){cursor:var(--ids-cursor-default)}ids-trigger-field ids-tag ids-icon{padding-left:6px;padding-right:1px;width:12px;top:0}:host([tags]),:host(:not([typeahead]):not([tags])){--ids-checkbox-padding-inline-start: 18px}:host([tags]) ids-trigger-field::part(content-area),:host(:not([typeahead]):not([tags])) ids-trigger-field::part(content-area){display:flex;width:calc(100% - 38px);flex-wrap:wrap}:host([tags]) ids-trigger-field::part(input),:host(:not([typeahead]):not([tags])) ids-trigger-field::part(input){opacity:0;color:rgba(0,0,0,0);width:0;padding:0;flex:1}:host([tags]) ids-trigger-field::part(input)::placeholder,:host(:not([typeahead]):not([tags])) ids-trigger-field::part(input)::placeholder{visibility:hidden}:host([tags]) ids-trigger-field::part(input)::selection,:host(:not([typeahead]):not([tags])) ids-trigger-field::part(input)::selection{color:var(--ids-color-transparent);background:var(--ids-color-transparent)}:host([tags]) ids-trigger-field ids-text,:host(:not([typeahead]):not([tags])) ids-trigger-field ids-text{max-width:100%}:host([tags]) ids-trigger-field ids-text.placeholder,:host(:not([typeahead]):not([tags])) ids-trigger-field ids-text.placeholder{color:var(--ids-multiselect-section-header-color)}:host([tags]) ids-trigger-field ids-text::part(text),:host(:not([typeahead]):not([tags])) ids-trigger-field ids-text::part(text){padding-inline-start:var(--ids-space-xs)}:host([tags]) ids-trigger-field[compact] ids-text::part(text),:host([tags]) ids-trigger-field[field-height=xs] ids-text::part(text),:host(:not([typeahead]):not([tags])) ids-trigger-field[compact] ids-text::part(text),:host(:not([typeahead]):not([tags])) ids-trigger-field[field-height=xs] ids-text::part(text){padding-inline-start:var(--ids-space-2xs);font-size:var(--ids-multiselect-font-size)}:host(:not([tags])) ids-trigger-field ids-text.placeholder{color:var(--ids-multiselect-section-header-color)}:host(:not([tags])) ids-trigger-field ids-text.placeholder::part(text){padding-inline-start:0}:host([overflow=ellipsis]:not([typeahead]):not([tags])) ids-trigger-field::part(content-area){width:calc(100% - 28px)}:host(.datagrid-editor) ids-trigger-field ids-text{margin-inline-start:5px}:host(:not([disabled])) .has-value ids-trigger-field::part(field-container){cursor:var(--ids-cursor-pointer)}:host([disabled]) ids-trigger-field::part(field-container){pointer-events:none}:host .trigger-icon,:host ids-trigger-button ids-icon{color:var(--ids-multiselect-dropdown-icon-color)}.is-open ids-trigger-field::part(field-container){box-shadow:var(--ids-multiselect-dropdown-box-shadow)}.is-open ids-trigger-field::part(field-container):not(.error){background-color:var(--ids-multiselect-open-background-color);border:var(--ids-multiselect-border-open)}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtbXVsdGlzZWxlY3QiLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXZhbGlkYXRpb24tbWl4aW4uc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1lcnJvci10cmFja2VyLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1maWVsZC1pbmRpY2F0b3ItbWl4aW4uc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MiLCIuLi9pZHMtZHJvcGRvd24vaWRzLWRyb3Bkb3duLnNjc3MiLCJpZHMtbXVsdGlzZWxlY3Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxvQkNRRSxtQ0FDQSxrQ0ROQSxhQUNBLDhFQUNBLGdDQUNBLHNDQUVBLG9DQUNFLG9DQUdGLDZCQUNFLDJDQUdGLDhCQUNFLHVDQUdGLDBCQUNFLHVDQUVBLG1DQUNFLGlDQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGlDQUlKLDBCQUNFLHFDQUVBLG1DQUNFLDhCQUlKLHlCQUNFLG9DQUVBLGtDQUNFLCtCQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGdDQUlKLDRCQUNFLGFBS0Ysb0RBQ0UsYUVwRUosb0JBQ0Usa0JBQ0EsK0VBQ0EsTUFDQSxvQkFFQSw2QkFDRSx3QkFDQSxNQ1JKLHNCQUNFLGtCQUNBLE1BQ0Esb0JBRUEsK0JBQ0Usd0JBQ0EsTUFJSiwyQkFDRSx5REFDQSxtQkFDQSw4RUFDQSxlQUNBLHNFQW9CRix5QkFmRSx1RUFTQSwrQ0FDRSwyQ0FTSixzQkFuQkUsZ0VBU0EsNENBQ0Usb0NBYUoseUJBdkJFLG1FQVNBLCtDQUNFLHVDQWlCSix5QkEzQkUsbUVBU0EsK0NBQ0UsdUNBcUJKLHlCQS9CRSxtRUFTQSwrQ0FDRSx1Q0F5QkosdUJBbkNFLGlFQVNBLDZDQUNFLHFDQThCRiwrREFDRSxhQzFERixtR0FFRSxhQUNBLDZDQUdBLCtHQUNFLDZCQUNBLDZDQUNBLHFCQUNBLHNCQUNBLGNBSUYsMklBQ0UsV0FDQSx3Q0FFQSx5QkFKRiwySUFLSSx1QkFLRixzQkFERixtSUFFSSxxQkFHRixvQ0FMRixtSUFNSSxxQkFJSix5QkFsQ0YsbUdBbUNJLGVBQ0EsUUFFQSwrR0FDRSxjQUNBLG9CQUNBLFFBR0YscUlBQ0UsUUFHRiwrSUFDRSxRQUNBLGNBQ0EsWUFHRiwySUFDRSxjQUNBLGVBQ0EsUUFDQSxvREFJQSwySkFDRSxvREFDQSx3REFNUixtREFDRSwrQkFHRix5QkFDRSxtREFDRSxhQUNBLGVBQ0EsNkNBR0EseURBQ0UsYUFDQSxtQkFDQSxXQUNBLDZDQUNBLHNCQUNBLHdCQUdGLG1FQUNFLDZCQUNBLGNBR0YscUVBQ0Usa0JBQ0Esb0JBR0Ysb0VBQ0UsT0FHRix1RUFDRSxXQUNBLHVFQUNBLHdDQUlBLDZGQUNFLDJCQU1SLDhCQUNFLG1EQUNFLGFBQ0EsZUFDQSw2Q0FHQSx5REFDRSxhQUNBLG1CQUNBLFdBQ0EsNkNBQ0Esc0JBQ0Esd0JBR0YsbUVBQ0UsNkJBQ0EsY0FHRixxRUFDRSxrQkFDQSxvQkFHRixvRUFDRSxPQUdGLHVFQUNFLFdBQ0EsdUVBQ0EseUNBUU4sdUVBQ0Usc0JBRUEsdUJBSEYsdUVBSUksYUFDQSxlQUNBLDZDQUVBLDZFQUNFLGFBQ0EsbUJBQ0EsV0FDQSw2Q0FDQSx1REFDQSxzQkFDQSx3QkFHRix1RkFDRSw2QkFDQSxjQUdGLHlGQUNFLGtCQUNBLG9CQUdGLHdGQUNFLE9BR0YsMkZBQ0UsV0FDQSx1RUFDQSx5Q0FPTiw2SUFFRSxtQ0FFQSxzVUFFRSxvQkFDQSw2Q0FDQSx5QkFDQSxlQUNBLGtCQUVBLHNCQVJGLHNVQVNJLDJCQUNBLGlCQUNBLGtCQUdGLDJCQWRGLHNVQWVJLDJCQUNBLGlCQUNBLGtCQUlBLHNZQUNFLG9CQUNBLGtCQUNBLGlCQUNBLHNCQUNBLFFBR0EsMkJBUkYsc1lBU0ksaUJBQ0EsaUJBQ0EsMEJBSUYsc0JBZkYsc1lBZ0JJLGlCQUNBLGlCQUNBLDBCQU9WLDJFQUNFLE9BR0YscU1BRUUsd0RBSUEsOEVBQ0UsZUFFQSxzQkFIRiw4RUFJSSxrQkFHRiwyQkFQRiw4RUFRSSxrQkFJQSxtSEFDRSxvQkFDQSxrQkFDQSxpQkFDQSxXQUNBLFNBT1Isc0JBRUksNEVBQ0Usb0JBQ0EsbUJBQ0EseUJBQ0EsZUFFQSwyQkFORiw0RUFPSSw2QkFHRix5Q0FWRiw0RUFXSSw0QkFRTixxR0FDRSxvQkFDQSxtQkFDQSx5QkFJSiwyQkFFSSxxR0FDRSw0QkFXSixrWkFFRSxhQU1KLCtSQUVFLDBDQU9GLGdjQUVFLGFBQ0EsaUJBRUEsd2RBQ0UsY0FHRixvZ0JBQ0UsWUFDQSxjQUlGLGdoQkFDRSxXQUNBLHNCQVFKLGtYQUVFLGFBQ0EsTUFDQSwwQ0FDQSwwQ0FFQSwwWUFDRSxjQUNBLFdBR0Ysc2JBQ0UsY0FDQSxXQUNBLFlBR0Ysa2NBQ0UsaUJBQ0EsV0FDQSxXQUNBLHNCQUNBLHdDQUdGLGtlQUNFLGNBQ0Esc0JBR0Ysdy9DQUNFLDBDQU1KLG1FQUNFLG9EQUlBLGdHQUNFLG1CQUNBLG9CQU1BLDZGQUNFLGFBT04sc0JBQ0UsZ0ZBQ0UsYUFDQSwrQ0FFQSwwR0FDRSw2QkFDQSxjQUdGLHFGQUNFLGFBQ0Esc0JBQ0EsZUFLTiwyQkFDRSxnRkFDRSxhQUNBLCtDQUVBLDBHQUNFLDZCQUNBLGNBR0YscUZBQ0UsYUFDQSxzQkFDQSxlQUtOLHNCQUNFLHVKQUVFLGNBR0YsNkVBQ0UsT0FJSiwyQkFDRSx1T0FHRSxnQkFNSix1QkFDRSw2R0FDRSxjQUNBLE1BRUEsbUhBQ0UsZ0JBQ0EsOENBT04sc0JBQ0UsZ0ZBQ0UsYUFDQSwrQ0FFQSwwR0FDRSw2QkFDQSxjQUdGLHFGQUNFLGFBQ0Esc0JBQ0EsZUFLTCwyQkFDQyxnRkFDRSxhQUNBLCtDQUVBLDBHQUNFLDZCQUNBLGNBR0YscUZBQ0UsYUFDQSxzQkFDQSxlQU9OLHlJQUVFLGFBQ0Esc0JBQ0Esb0JBRUEscUpBQ0UsV0FDQSxjQUdGLDJLQUNFLFlBQ0EsY0FJRixpTEFDRSxXQUNBLHNCQVFKLDhJQUNFLGFBUUEsb2NBQ0UsaUJBRUEsd2VBQ0UscUJBRUEsb2dCQUNFLHNCQUtOLG9mQUNFLHdEQVFKLG1KQUVFLGFBRUEsK0pBQ0UsY0FDQSxRQUdGLHFMQUNFLFlBQ0EsY0FDQSxRQUlKLHdFQUNFLCtCQUtGLHNCQUNFLDhFQUNFLGFBQ0EsK0NBRUEsd0dBQ0UsNkJBQ0Esb0JBQ0EsY0FDQSxRQUdGLG1GQUNFLGFBQ0Esc0JBQ0EsY0FDQSxTQU9OLHFJQUVFLGFBQ0Esc0JBQ0Esb0JBRUEsaUpBQ0UsV0FDQSxjQUNBLFFBR0YsdUtBQ0UsWUFDQSxjQUNBLFFBSUYsNktBQ0Usc0JBQ0EsUUFJSixpRUFDRSwrQkFJSixxQ0FDRSx1REFTRSxzVkFDRSw0Q0FHRiw4WEFDRSxpQkFNTixzQkFFSSxvR0FDRSwrQ0FFQSxvSEFDRSw0Q0FPUixzQkFFSSx1REFDRSxhQUNBLGVBQ0EsK0NBRUEsNkRBQ0UsNkJBQ0EsNkNBQ0EsdURBQ0Esc0JBSUYsd0VBQ0Usa0JBQ0EsMENBSUYsMkVBQ0UsV0FDQSx5Q0FRTixzQkFFSSxrRUFDRSw2Q0FHRixnRkFDRSw2QkFNUix5QkFFSSw0RkFDRSxjQUdGLGdGQUNFLHNCQVdOLG9JQUVFLGFBQ0EsaURBQ0EsK0JBRUEsd0xBQ0UsaUNBQ0EsMkNBR0YsOElBQ0UsYUFDQSxzQkFLRiwyRkFDRSxvQkFDQSxRQUdGLHNFQUNFLFFBS0osNkVBQ0UsYUFDQSwrQ0FDQSwrQkFDQSxzQkFFQSx1R0FDRSxpQ0FDQSxRQUdGLGtGQUNFLGFBQ0Esc0JBQ0EsUUFLSixzQkFDRSxpREFDRSxhQUNBLGVBQ0EsK0NBRUEsdURBQ0UsNkJBQ0EsNkNBQ0EsdURBQ0EsdUJBQ0Esc0JBR0YsOEVBQ0UsV0FDQSxZQUlKLDhFQUNFLHFCQUNBLFFBSUEsdUZBQ0UsV0FDQSxlQU1OLHNCQUNFLHFEQUNFLGFBQ0EsbUJBQ0EsUUFDQSwrQ0FFQSw0REFDRSw2QkFDQSw2Q0FDQSxzQkFDQSxtQkFDQSxtQkFHRiw2SEFFRSxhQUNBLDhDQU1OLHlCQUVJLDBKQUdFLGFBQ0Esc0JBQ0Esa0JBRUEsNEtBQ0UsV0FDQSxpQkFDQSxpQkFHRixzTkFDRSxzQkFNSixvSkFHRSxhQUNBLHNCQUNBLGtCQUNBLCtCQUVBLHNLQUNFLFdBQ0EsaUJBQ0EsaUJBR0YsZ05BQ0UsdUJBTVIsK0JBQ0UscUJBRUEsa0JBR0YsMkNBQ0Usa0JBQ0EsY0FHRiw4QkFFSSwwSkFHRSxhQUNBLHNCQUNBLGtCQUVBLDRLQUNFLFdBQ0EsaUJBQ0EsaUJBR0Ysc05BQ0Usc0JBTUosb0pBR0UsYUFDQSxzQkFDQSxrQkFDQSwrQkFFQSxzS0FDRSxXQUNBLGlCQUNBLGlCQUdGLGdOQUNFLHVCQU9OLHlCQUNFLG9GQUNFLGNBS04sOEJBRUksb0ZBQ0UsY0FjRiwrV0FFRSw2QkFTSiw0TUFDRSxhQU1GLHNNQUNFLGtCQ24vQkosTUFDRSwyRUFDQSx1RUFDQSw2RUFDQSx5RUFFQSxjQUVBLG9CQUNFLHFCQUNBLGVBQ0EsMENBSUoseUJBQ0UscUNBR0Ysc0VBRUUsNENBR0YsZ0JBQ0UsYUFJQSx3RUFDRSwyREFJSixvRUFDRSxpQ0FJQSw0REFDRSw4Q0FLSixjQUNFLGNBQ0Esa0JBR0UsMkNBQ0UsY0FJSixtQkFDRSxjQUVBLDJFQUVFLGNBSUosc0NBQ0Usa0NBS0osY0FDRSxxQ0FDQSw0Q0FDQSxrQkFDQSxNQUlBLGdGQUNFLGdFQUlKLCtCQUNFLDRDQUdGLHNCQUNFLGdFQUNBLGtEQU1BLDZKQUNFLFNBQ0EsZ0JBR0YseUlBQ0UsYUFNRiwwRUFDRSxZQUdGLGdGQUNFLDJCQUlBLG1GQUNFLHVCQUtGLHNGQUNFLG9CQUNBLFlBSUEsbUdBQ0Usc0JBTUosc0ZBQ0Usb0JBQ0EsWUFJQSxtR0FDRSx1QkFNSixzRkFDRSxtQkFDQSxZQUlBLG1HQUNFLHNCQU1KLHNGQUNFLG1CQUNBLFlBSUEsbUdBQ0UsdUJBTUosdUZBQ0UsbUJBQ0EsWUFJQSxvR0FDRSx1QkFDQSx3QkFRSiw2RkFDRSxhQUNBLG1CQUNBLHVCQUlBLDZHQUNFLHNCQUNBLFlBS0YsNkdBQ0UsdUJBQ0EsWUFLRiw2R0FDRSx1QkFDQSxZQUtGLDZHQUNFLHdCQUNBLFlBS0YsOEdBQ0Usd0JBQ0EscUJBUU4sdUVBQ0UsYUFLSix1Q0FDRSxvREFDQSxjQUNBLG1CQUVBLCtEQUNFLG9EQUdGLHNFQUNFLGNBR0YsZ0ZBQ0Usc0RBQ0EseURBQ0EsK0ZBQ0EsZ0JBQ0EsY0FDQSxnQkFHRixzRkFDRSw0REFHRix1RkFDRSw4REFDQSw0REFDQSxxREFHRiw2RkFDRSw0REFHRixzRUFDRSw4Q0FDQSxjQUdGLCtFQUNFLDhDQUdGLG1GQUNFLGdFQUdGLDZFQUNFLG9EQUdGLDhFQUNFLDhDQUNBLDJKQUdGLDJEQUNFLDZDQUdGLGlEQUNFLGlCQUdGLHdEQUNFLDhFQUtKLHdCQUNFLG9DQUdGLG1DQUNFLG9DQUdGLG1DQUNFLG9DQUdGLG1DQUNFLG9DQUdGLG1DQUNFLG9DQUdGLG1DQUNFLG9DQUdGLHFDQUNFLHNDQUdGLDJDQUVFLGtDQUdGLDhCQUNFLG9DQUdGLDhCQUNFLG9DQUdGLDhCQUNFLG9DQUdGLDhCQUNFLG9DQUdGLDhCQUNFLG9DQUdGLDZHQUVFLFlBSUYsOEJBQ0UsaUNBSUEsdURBQ0UscUJBS0YsdURBQ0Usa0RBS0YsZ0VBQ0UsMERBSUosd0RBQ0UsdUJDOVlGLGNBQ0UsZ0JBSUEsMEJBQ0Usa0JBQ0EsYUFDQSxnQ0FDQSx5Q0FDQSxlQUVBLCtDQUNFLGlDQUdGLG1DQUNFLGlCQUNBLGtCQUNBLFdBQ0EsTUFLTixtREFFRSwwQ0FHRSwrSEFDRSxhQUNBLHdCQUNBLGVBR0YsaUhBQ0UsVUFDQSxvQkFDQSxRQUNBLFVBQ0EsT0FFQSwySUFDRSxrQkFHRix1SUFDRSxtQ0FDQSx3Q0FJSix5R0FDRSxlQUVBLGlJQUNFLGtEQUdGLGlJQUNFLHlDQU1GLHNUQUNFLDBDQUNBLDJDQU9OLDJEQUNFLGtEQUVBLHVFQUNFLHVCQU9GLDhGQUNFLHdCQU1KLG1EQUNFLHdCQU9FLDRFQUNFLGlDQVFKLDJEQUNFLG9CQU1KLHNEQUVFLGlEQUtGLGtEQUNFLHNEQUVBLDhEQUNFLDhEQUNBIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gIEBpbmNsdWRlIG1peGlucy5hbnRpYWxpYXNlZCgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC1mdWxsKTtcblxuICAmLmhhcy1jdXN0b20taWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1pY29uLWNvbG9yLWRlZmF1bHQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgfVxuXG4gIC5pZHMtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICB9XG5cbiAgJi5hbGVydCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1jYXV0aW9uLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXllbGxvdy0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi53YXJuaW5nIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXdhcm5pbmctZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itb3JhbmdlLTMwKTtcbiAgICB9XG4gIH1cblxuICAmLmVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXJlZC0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5pbmZvIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWluZm8tZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItYmx1ZS0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5zdWNjZXNzIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXN1Y2Nlc3MtZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZ3JlZW4tMzApO1xuICAgIH1cbiAgfVxuXG4gICZbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbc3VwcHJlc3MtZXJyb3ItbWVzc2FnZV0pIHtcbiAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludHMgLSB0aGlzIGNhbnQgYmUgdG9rZW5zXG4kYnJlYWtwb2ludC14eGw6IDI0NjNweDtcbiRicmVha3BvaW50LXhsOiAxMTgzcHg7XG4kYnJlYWtwb2ludC1sZzogOTI4cHg7XG4kYnJlYWtwb2ludC1tZDogOTI3cHg7XG4kYnJlYWtwb2ludC1zbTogNzY3cHg7XG4kYnJlYWtwb2ludC14czogMzIwcHg7XG5cbi8vIFNldHMgVGV4dCBBbnRpYWxpYXNpbmdcbkBtaXhpbiBhbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyB2ZW5kb3IgcHJlZml4ZWQgdHJhbnNpdGlvbnMgZm9yIHJlZ3VsYXIgYXR0cmlidXRlcyAobm9uLXZlbmRvciBwcmVmaXhlZClcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucy1saXN0Li4uKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcmVmaXh9dHJhbnNpdGlvbjogJHRyYW5zaXRpb25zLWxpc3Q7XG4gIH1cbn1cblxuLy8gbWFrZSB0aGUgdGV4dCBpbnZpc2libGUgdmlzdWFsbHkgYnV0IHJlYWRhYmxlIGJ5IHNjcmVlbiByZWFkZXJzXG5AbWl4aW4gYXVkaWJsZSgpIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLWRlcHJlY2F0ZWQgKi9cbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAwO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuIiwiLy8gR2VuZXJhbCBFcnJvci1UcmFja2VyIGljb24gcGxhY2VtZW50XG4uaWNvbi1lcnJvci10cmFja2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWVycm9yLXRyYWNrZXItY29sb3ItYmFja2dyb3VuZCwgdmFyKC0taWRzLWNvbG9yLXJlZC02MCkpO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlyPSdydGwnXSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRvcDogMDtcbiAgfVxufVxuIiwiLy8gRmllbGQgSW5kaWNhdG9yIGljb24gcGxhY2VtZW50XG4uaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXI9J3J0bCddIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi5pY29uLWZpZWxkLWluZGljYXRvci1pbmZvIHtcbiAgZGlzcGxheTogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLXZpc2liaWxpdHksIGZsZXgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLW1hcmdpbiwgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWlkcy1maWVsZC1pbmRpY2F0b3ItaWNvbi1jb2xvciwgLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KTtcbn1cblxuLy8gTWl4aW4gdG8gYXBwbHkgZmllbGQgaW5kaWNhdG9yIGNvbG9yIHZhcmlhYmxlc1xuQG1peGluIGZpZWxkLWluZGljYXRvci1jb2xvcigkY29sb3IsICRib3JkZXItY29sb3I6IG51bGwpIHtcbiAgLS1pZHMtZmllbGQtaW5kaWNhdG9yLWljb24tY29sb3I6ICN7JGNvbG9yfTtcblxuICBAaWYgJGJvcmRlci1jb2xvciB7XG4gICAgLS1pZHMtaW5wdXQtYm9yZGVyLWRlZmF1bHQtY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyOiAjeyRib3JkZXItY29sb3J9O1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kaXNhYmxlZDogI3skYm9yZGVyLWNvbG9yfTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXM6ICN7JGJvcmRlci1jb2xvcn07XG4gIH1cblxuICAuaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAjeyRjb2xvcn07XG4gIH1cbn1cblxuLy8gRmllbGQgaW5kaWNhdG9yIHR5cGUgY2xhc3NlcyDigJQgYXBwbGllZCB0byB0aGUgZmllbGQgY29udGFpbmVyLlxuLmZpZWxkLWluZGljYXRvci1uZXV0cmFsIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrKSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItaW5mbyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itc3VjY2Vzcy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItY2F1dGlvbiB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itd2FybmluZyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itd2FybmluZy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItZXJyb3Ige1xuICBAaW5jbHVkZSBmaWVsZC1pbmRpY2F0b3ItY29sb3IodmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpKTtcbn1cblxuW2NsYXNzKj1cImZpZWxkLWluZGljYXRvci1cIl0uaGFzLWZvY3VzIHtcbiAgLmljb24tZmllbGQtaW5kaWNhdG9yLWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIExhYmVsIHBvc2l0aW9uIHN0eWxlc1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIExlZnQgYWxpZ25lZCBhbmQgUmlnaHQgQWxpZ25lZCBMYWJlbHNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDhweDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZC1ncm91cCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG4gICAgICB9XG5cbiAgICAgICYud3JhcHBlZCB7XG4gICAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0wMCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG5cbiAgICAgICYubGFiZWwtc3RhdGUtY29sbGFwc2VkIHtcbiAgICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGFsaWduZWQ6IHVzZSB2aWV3cG9ydCBtZWRpYSBxdWVyeSBpbnN0ZWFkIG9mIGNvbnRhaW5lciBxdWVyeVxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtob3Jpem9udGFsLWFsaWduZWRdKSB7XG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGNvbnRhaW5lci10eXBlOiBub3JtYWw7XG5cbiAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBnYXA6IHZhcigtLWlkcy1sYWJlbC1hbGlnbm1lbnQtZ2FwKTtcblxuICAgIGxhYmVsLFxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTVweDtcbiAgICAgICAgICB0b3A6IDdweDtcblxuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBpbml0aWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5pZHMtaW5wdXQud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlLFxuICAuaWRzLXRleHRhcmVhLndyYXBwZWQgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgMTRweCk7XG4gIH1cblxuICAuaWRzLWNoZWNrYm94IHtcbiAgICBsYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgJi5yZXF1aXJlZCAubGFiZWwtY2hlY2tib3ggc3BhbiB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpdGNoIGxhYmVsLWFsaWdubWVudCBlbmRcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gICAgLmlkcy1zd2l0Y2gge1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICAgIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSYWRpbyBncm91cCBsYWJlbC1hbGlnbm1lbnQgZW5kXG4gIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIHRoZSBsYWJlbCBpcyBjb2xsYXBzZWQsIHJlbW92ZSBpdCBmcm9tIHRoZSBpbnB1dC90ZXh0YXJlYSBsYXlvdXQgc28gdGhlXG4vLyBlbmQtYWxpZ25lZCBsYWJlbCBkb2VzIG5vdCByZXNlcnZlIHNwYWNlLlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnRdW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCxcbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF06bm90KFtlcnJvci10cmFja2VyXSkpIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgY29sdW1uLWdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuICB9XG59XG5cbi8vIExhYmVsIGJyZWFrIGJlaGF2aW9yIGZvciBpbmxpbmUtc3RhcnQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddOm5vdChbdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XSkpLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XVtlcnJvci10cmFja2VyXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gdmFsaWRhdGlvbiBpcyBwcmVzZW50IHdpdGggc2hyaW5rLXZhbHVlLCB1c2UgZ3JpZCB0byBrZWVwIGZpZWxkIHdpZHRoIHN0YWJsZVxuOmhvc3QoLmluLWZsZXgtaXRlbVtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XTpub3QoW2Vycm9yLXRyYWNrZXJdKSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgY29sdW1uLWdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuXG4gICAgbGFiZWwge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgICYud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG5cbiAgICAmLnNtLCAmLm1tLCAmLm1kLCAmLmxnIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLmluLWZsZXgtaXRlbVtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCBsYWJlbCB7XG4gICAgbWF4LWhlaWdodDogdmFyKC0taWRzLWxhYmVsLW1heC1oZWlnaHQtaW5saW5lLXN0YXJ0KTtcbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICB9XG4gIH1cblxuICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICBpZHMtdGV4dCB7XG4gICAgICAmLmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF0pKSB7XG4gIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZ2FwOiAwO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1pbnB1dC1tYXJnaW4tYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgQGNvbnRhaW5lciAod2lkdGggPiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBweFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXdpZHRoPVwiMFwiXSkge1xuICAvLyBXaGVuIGEgbGFiZWwgaXMgXCJpbmxpbmUtc3RhcnRcIiBhbmQgYGxhYmVsLXdpZHRoPVwiMHB4XCJgIHNpbXBseSBkb24ndCBkaXNwbGF5IGl0XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXNcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgMTFweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1lbmQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aC1pbmxpbmUtc3RhcnQpO1xufVxuXG4vLyBXaGVuIGxhYmVsLXdyYXAgY29uc3RyYWlucyB0aGUgbGFiZWwgc2l6ZSwgZW5zdXJlIGl0IHN0YXlzIHZlcnRpY2FsbHkgY2VudGVyZWRcbi8vIGluc3RlYWQgb2Ygc3RyZXRjaGluZyB0byBmaWxsIHRoZSBmbGV4IGNvbnRhaW5lciBoZWlnaHRcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cIndyYXAtbm8tc3RyZXRjaFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCB7XG4gICAgICBhbGlnbi1zZWxmOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgYXJlYVxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J106bm90KFtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pOm5vdChbc2l6ZT0nZnVsbCddKSkge1xuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDM3MHB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDM3MHB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbHRlciBmaWVsZFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cblxuICAgICAgLy8gRmlsdGVyIGZpZWxkIHNwZWNpZmljIHJ1bGVzXG4gICAgICAjb3BlcmF0b3ItYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRpb24gb24gdGhlIGJvdHRvbVxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja2JveGVzXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXNtKSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIC0taWRzLWNoZWNrYm94LXBhZGRpbmctaW5saW5lLXN0YXJ0OiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkgLmlkcy1jaGVja2JveCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmFkaW8gYnV0dG9uc1xuLy8gVGhlIGlubGluZSAoc2lkZSkgbGFiZWwgbGF5b3V0IGlzIHRvZ2dsZWQgYnkgYG9uTGFiZWxQb3NpdGlvbkNoYW5nZWAgaW5cbi8vIGlkcy1yYWRpby1ncm91cCB2aWEgdGhlIGBsYWJlbC1pbmxpbmVgIC8gYGxhYmVsLWlubGluZS1lbmQtc3RhY2tlZGAgY2xhc3Nlcyxcbi8vIHdoaWNoIGFyZSBkcml2ZW4gYnkgdGhlIGdyb3VwJ3Mgb3duIHdpZHRoLiBUaGlzIGxldHMgdGhlIGxheW91dCByZXNwb25kIHRvXG4vLyBpdHMgY29udGFpbmVyIHJhdGhlciB0aGFuIHRoZSB2aWV3cG9ydC5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBmbGV4LXN0YXJ0KTtcbiAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBtaW4td2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUge1xuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi8vIE5hcnJvdyBgaW5saW5lLWVuZGA6IHN0YWNrIHdpdGggdGhlIGxhYmVsIGJlbmVhdGggdGhlIG9wdGlvbnNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZS1lbmQtc3RhY2tlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vLyBTd2l0Y2hcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXN3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICByaWdodDogLTQ1cHg7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdW2xhYmVsLXN0YXRlPVwiY29sbGFwc2VkXCJdKSAuaWRzLXN3aXRjaCBsYWJlbCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSAuaWRzLXN3aXRjaCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGF0YSBMYWJlbFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtZGF0YS1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5kYXRhLFxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGJlaGF2aW9yXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1lbmRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IDA7XG5cbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG46aG9zdChpZHMtY2hlY2tib3hbbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLWVuZFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcbiAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9XCJoaWRkZW5cIl0pIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1pbnB1dCAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPVwiaGlkZGVuXCJdKSB7XG4gICAgLmlkcy1pbnB1dCAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSnVzdCB0aGUgbGFiZWwgd2lkdGhcbjpob3N0IHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSxcbiAgLmlkcy1jaGVja2JveCxcbiAgLmlkcy1yYWRpbyxcbiAgLmlkcy1zd2l0Y2gsXG4gIC5pZHMtZGF0YS1sYWJlbCxcbiAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgIGxhYmVsLFxuICAgIC5sYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVjbGFyZWQgbGFzdCBzbyBsYWJlbC1zdGF0ZSB3aW5zIG92ZXIgbGFiZWwtYWxpZ25tZW50L2xhYmVsLWJyZWFrL2xhYmVsLXdyYXAsXG4vLyBrZWVwaW5nIHRoZSByYWRpbyBncm91cCBsYWJlbCBoaWRkZW4gcmVnYXJkbGVzcyBvZiB0aGUgb3RoZXIgbGF5b3V0IGF0dHJpYnV0ZXMuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1zdGF0ZT0nY29sbGFwc2VkJ10pIHtcbiAgLmlkcy1yYWRpby1ncm91cCBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9J2hpZGRlbiddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLXN0YXRlPSdoaWRkZW4nXSkge1xuICAuaWRzLXJhZGlvLWdyb3VwIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLyogSWRzIERyb3Bkb3duIENvbXBvbmVudCAqL1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtdmFsaWRhdGlvbi1taXhpbic7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1lcnJvci10cmFja2VyLW1peGluJyBhcyAqO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtZmllbGQtaW5kaWNhdG9yLW1peGluJyBhcyAqO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtcG9zaXRpb24tbWl4aW4uc2NzcycgYXMgbGFiZWwtcG9zaXRpb247XG5cbjpob3N0IHtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLXByZXNzZWQ6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItcHJlc3NlZDogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICAuaWRzLWRyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiB2YXIoLS1pZHMtYm94LWRyb3Bkb3duLXdpZHRoLCBhdXRvKTtcbiAgfVxufVxuXG46aG9zdChbZmllbGQtaW5kaWNhdG9yXSkge1xuICAtLWlkcy1maWVsZC1pbmRpY2F0b3ItaW5mby1tYXJnaW46IDA7XG59XG5cbjpob3N0KFtmaWVsZC1pbmRpY2F0b3JdW3JlYWRvbmx5XSksXG46aG9zdChbZmllbGQtaW5kaWNhdG9yXVtkaXNhYmxlZF0pIHtcbiAgLS1pZHMtZmllbGQtaW5kaWNhdG9yLWluZm8tdmlzaWJpbGl0eTogbm9uZTtcbn1cblxuOmhvc3QoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGNvbnRhaW5lcikge1xuICAgIGp1c3RpZnktY29udGVudDogdmFyKC0taWRzLWJveC1qdXN0aWZ5LWNvbnRlbnQsIGZsZXgtc3RhcnQpO1xuICB9XG59XG5cbmlkcy10cmlnZ2VyLWZpZWxkW3JlYWRvbmx5LWJhY2tncm91bmRdOm5vdChbZGlzYWJsZWRdKTo6cGFydChpbnB1dCkge1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG59XG5cbmlkcy10cmlnZ2VyLWZpZWxkOm5vdChbYXV0b3NlbGVjdF0pOjpwYXJ0KGlucHV0KSB7XG4gICY6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgfVxufVxuXG4vLyBNb3N0IFN0eWxlcyBhcmUgaW4gbGlzdC1ib3gsIHBvcHVwIGFuZCB0cmlnZ2VyIGZpZWxkXG4uaWRzLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgJltzaXplPSdmdWxsJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi5mdWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGlkcy10cmlnZ2VyLWZpZWxkLFxuICAgIC5pZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICA6OnNsb3R0ZWQoaWRzLWxpc3QtYm94KSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1pZHMtcG9wdXAtbWF4aGVpZ2h0KTtcbiAgfVxufVxuXG4vLyBJY29uIFBsYWNlbWVudFxuLnRyaWdnZXItaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZHJvcGRvd24tY29sb3ItaWNvbik7XG4gIG1hcmdpbjogMCAwIDAgdmFyKC0taWRzLWRyb3Bkb3duLXNwYWNlLXRleHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbn1cblxuOmhvc3QoW21vZGU9J2xpZ2h0J10pIHtcbiAgLnR5cGVhaGVhZC5pcy1vcGVuIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kcm9wZG93bi10eXBlYWhlYWQtY29sb3ItYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuOmhvc3QoW2Rpcj0ncnRsJ10pIC50cmlnZ2VyLWljb24ge1xuICBtYXJnaW46IDAgdmFyKC0taWRzLWRyb3Bkb3duLXNwYWNlLXRleHQpIDAgMDtcbn1cblxuOjpzbG90dGVkKC5zdWItZ3JvdXApIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWlkcy1kcm9wZG93bi1zZXBhcmF0b3ItY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWlkcy1kcm9wZG93bi1zZXBhcmF0b3ItcGFkZGluZyk7XG59XG5cbi8vIERyb3Bkb3duIEVkaXRvclxuLmlkcy1kcm9wZG93bi5jb2xvci12YXJpYW50LWJvcmRlcmxlc3MsXG4uaWRzLWRyb3Bkb3duLmNvbG9yLXZhcmlhbnQtaW4tY2VsbCB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQobGFiZWwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIERyb3Bkb3duIEVkaXRvciBCb3JkZXJsZXNzXG4uaWRzLWRyb3Bkb3duLmNvbG9yLXZhcmlhbnQtYm9yZGVybGVzcyB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGNvbnRhaW5lcikge1xuICAgIG1hcmdpbjogLTFweDtcbiAgfVxuXG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAycHg7XG4gICAgfVxuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQtbGcge1xuICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMTJweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LW1kIHtcbiAgICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChpbnB1dCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQtc20ge1xuICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogOXB4O1xuICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgIH1cblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQteHMge1xuICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogNXB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LXh4cyB7XG4gICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAzcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0xcHg7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2NvbWJvYm94XSkge1xuICAuaWRzLWRyb3Bkb3duLmNvbG9yLXZhcmlhbnQtYm9yZGVybGVzcyB7XG4gICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDJweDtcbiAgICB9XG5cbiAgICAmLmZpZWxkLWhlaWdodC1sZyB7XG4gICAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAzcHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZpZWxkLWhlaWdodC1tZCB7XG4gICAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtMXB4O1xuICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5maWVsZC1oZWlnaHQtc20ge1xuICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLTVweDtcbiAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0xMHB4O1xuICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5maWVsZC1oZWlnaHQteHhzIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0xMHB4O1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIERyb3Bkb3duIEVkaXRvciBJbiBDZWxsXG4uaWRzLWRyb3Bkb3duLmNvbG9yLXZhcmlhbnQtaW4tY2VsbCB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGNvbnRhaW5lcikge1xuICAgIG1hcmdpbjogMXB4IDA7XG4gIH1cbn1cblxuLy8gTW9kdWxlIE5hdiBDb2xvciBWYXJpYW50XG4uaWRzLWRyb3Bkb3duLmNvbG9yLXZhcmlhbnQtbW9kdWxlLW5hdiB7XG4gIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtdGV4dC1jb2xvcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuXG4gIDo6c2xvdHRlZChpZHMtbGlzdC1ib3gpIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXRleHQtY29sb3IpO1xuICB9XG5cbiAgOjpzbG90dGVkKGlkcy1saXN0LWJveC1vcHRpb24pIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWlucHV0LWJnLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1jb21tb24tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pbnB1dC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWlkcy1tb2R1bGUtbmF2LWlucHV0LWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgaWRzLXRyaWdnZXItZmllbGQ6aG92ZXI6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtaG92ZXItYmctY29sb3IpO1xuICB9XG5cbiAgaWRzLXRyaWdnZXItZmllbGQ6YWN0aXZlOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWl0ZW0tc2VsZWN0ZWQtYmctY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaXRlbS1zZWxlY3RlZC10ZXh0LWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaXRlbS1zZWxlY3RlZC10ZXh0LWNvbG9yKTtcbiAgfVxuXG4gIGlkcy10cmlnZ2VyLWZpZWxkOmZvY3VzLXdpdGhpbjo6cGFydChmaWVsZC1jb250YWluZXIpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pbnB1dC1mb2N1cy1iZy1jb2xvcik7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChpbnB1dCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydCh0cmlnZ2VyLWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChpbnB1dDo6cGxhY2Vob2xkZXIpIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLXRleHQtY29sb3IpO1xuICB9XG5cbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQ6YWN0aXZlKSB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgfVxuXG4gIGlkcy1kcm9wZG93bi1saXN0OjpwYXJ0KGRyb3Bkb3duLWxpc3QpIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWV4cGFuZGVkLXNpemUpO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWlkcy1tb2R1bGUtbmF2LXN3aXRjaGVyLWRyb3Bkb3duLXdpZHRoKSArIHZhcigtLWlkcy1tb2R1bGUtbmF2LXN3aXRjaGVyLWJ1dHRvbi1ndXR0ZXItc2l6ZSkgKyB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zd2l0Y2hlci1idXR0b24tc2l6ZSkpO1xuICB9XG5cbiAgaWRzLWxpc3QtYm94LW9wdGlvbiB7XG4gICAgbWluLWhlaWdodDogdmFyKC0taWRzLW1vZHVsZS1uYXYtaXRlbS1oZWlnaHQpO1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgfVxuXG4gIC5pZHMtaW5wdXQtZmllbGQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pdGVtLWV4cGFuZGVkLWljb24tdGV4dC1zcGFjZS1zaXplKTtcbiAgfVxufVxuXG4vLyBEcm9wZG93biBtZW51IHdpZHRoXG46aG9zdCBpZHMtZHJvcGRvd24tbGlzdCB7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLTQwKTtcbn1cblxuOmhvc3QoW3NpemU9J3hzJ10pIGlkcy1kcm9wZG93bi1saXN0IHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMTApO1xufVxuXG46aG9zdChbc2l6ZT0nc20nXSkgaWRzLWRyb3Bkb3duLWxpc3Qge1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC0yMCk7XG59XG5cbjpob3N0KFtzaXplPSdtbSddKSBpZHMtZHJvcGRvd24tbGlzdCB7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLTMwKTtcbn1cblxuOmhvc3QoW3NpemU9J21kJ10pIGlkcy1kcm9wZG93bi1saXN0IHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApO1xufVxuXG46aG9zdChbc2l6ZT0nbGcnXSkgaWRzLWRyb3Bkb3duLWxpc3Qge1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC01MCk7XG59XG5cbjpob3N0KFtzaXplPSdmdWxsJ10pIGlkcy1kcm9wZG93bi1saXN0IHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG59XG5cbjpob3N0IGlkcy1kcm9wZG93bi1saXN0LFxuOmhvc3QoW3NpemU9J2Z1bGwnXSkge1xuICB3aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J3hzJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMTApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J3NtJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMjApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J21tJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMzApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J21kJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW3NpemU9J2xnJ10pIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNTApO1xufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVtzaXplXSksXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtzaXplXSkge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi8vIENoYW5nZSBzdGF0ZSBmb3IgZXh0ZXJuYWwgZHJvcGRvd24gbGlzdFxuOmhvc3QoW2xpc3RdOm5vdChbZGlzYWJsZWRdKSkge1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG59XG5cbjpob3N0KFthdXRvLXNpemU9XCJ0cnVlXCJdKSB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICB9XG59XG5cbjpob3N0KFt0ZXh0LWFsaWduPVwiZW5kXCJdKSB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZHJvcGRvd24tc3BhY2UtdGV4dCk7XG4gIH1cbn1cblxuOmhvc3QoW3RleHQtYWxpZ249XCJlbmRcIl1bY29tcGFjdF0pIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kcm9wZG93bi1zcGFjZS10ZXh0LWNvbXBhY3QpO1xuICB9XG59XG5cbi5pZHMtZHJvcGRvd24gaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoY2xlYXJhYmxlLWJ1dHRvbikge1xuICBtYXJnaW4taW5saW5lLWVuZDogLTZweDtcbn1cbiIsIi8qIElkcyBNdWx0aSBTZWxlY3QgQ29tcG9uZW50ICovXG5AdXNlICcuLi9pZHMtZHJvcGRvd24vaWRzLWRyb3Bkb3duJyBhcyAqO1xuXG4uaWRzLWNoZWNrYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaWRzLXRyaWdnZXItZmllbGQge1xuICBpZHMtdGFnIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW2Rpc2FibGVkXTo6cGFydCh0YWcpIHtcbiAgICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICBpZHMtaWNvbntcbiAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMXB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFt0YWdzXSksXG46aG9zdCg6bm90KFt0eXBlYWhlYWRdKTpub3QoW3RhZ3NdKSkge1xuICAtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydDogMThweDtcblxuICBpZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgJjo6cGFydChjb250ZW50LWFyZWEpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzhweCk7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJjo6cGFydChpbnB1dCkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDE7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAmOjpzZWxlY3Rpb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZHMtdGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICYucGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW11bHRpc2VsZWN0LXNlY3Rpb24taGVhZGVyLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjo6cGFydCh0ZXh0KSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbY29tcGFjdF0sXG4gICAgJltmaWVsZC1oZWlnaHQ9J3hzJ10ge1xuICAgICAgaWRzLXRleHQ6OnBhcnQodGV4dCkge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLW11bHRpc2VsZWN0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDpub3QoW3RhZ3NdKSkgaWRzLXRyaWdnZXItZmllbGQge1xuICBpZHMtdGV4dC5wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1tdWx0aXNlbGVjdC1zZWN0aW9uLWhlYWRlci1jb2xvcik7XG5cbiAgICAmOjpwYXJ0KHRleHQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbb3ZlcmZsb3c9J2VsbGlwc2lzJ106bm90KFt0eXBlYWhlYWRdKTpub3QoW3RhZ3NdKSkge1xuICBpZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgJjo6cGFydChjb250ZW50LWFyZWEpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOHB4KTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLmRhdGFncmlkLWVkaXRvcikgaWRzLXRyaWdnZXItZmllbGQge1xuICBpZHMtdGV4dCB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogNXB4O1xuICB9XG59XG5cbjpob3N0KDpub3QoW2Rpc2FibGVkXSkpIHtcbiAgLmhhcy12YWx1ZSB7XG4gICAgaWRzLXRyaWdnZXItZmllbGQge1xuICAgICAgJjo6cGFydChmaWVsZC1jb250YWluZXIpIHtcbiAgICAgICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbZGlzYWJsZWRdKSB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAmOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbjpob3N0IHtcbiAgLnRyaWdnZXItaWNvbixcbiAgaWRzLXRyaWdnZXItYnV0dG9uIGlkcy1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLW11bHRpc2VsZWN0LWRyb3Bkb3duLWljb24tY29sb3IpO1xuICB9XG59XG5cbi5pcy1vcGVuIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0taWRzLW11bHRpc2VsZWN0LWRyb3Bkb3duLWJveC1zaGFkb3cpO1xuXG4gICAgJjpub3QoLmVycm9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtbXVsdGlzZWxlY3Qtb3Blbi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIGJvcmRlcjogdmFyKC0taWRzLW11bHRpc2VsZWN0LWJvcmRlci1vcGVuKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */