: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;margin-block-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;margin-block-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));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}@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}}: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{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-checkbox label{text-align:end;padding-inline-end:0}@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,:host(.in-flex-item[label-position=inline-start]) .ids-radio-group.label-inline 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-start]) .ids-radio-group.label-inline.horizontal slot,:host([label-position=inline-end]) .ids-radio-group.label-inline.horizontal slot{flex-direction:row;flex-wrap:wrap}: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}.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{display:block}:host([hidden]){display:none}:host([size=full]:not([label-position=inline-start])){width:100%}:host([size=full]:not([label-position=inline-start])) ::part(container){display:block}.ids-date-picker{display:inline-block;max-width:100%;position:relative}.ids-date-picker ids-trigger-field,.ids-date-picker .ids-trigger-field{display:inline-block;max-width:100%}.ids-date-picker ids-trigger-field[size=full]{display:block}.ids-date-picker.full{display:block}.ids-date-picker.full ids-trigger-field,.ids-date-picker.full .ids-trigger-field{display:block}.ids-date-picker.full ids-trigger-field::part(container),.ids-date-picker.full .ids-trigger-field::part(container){flex-basis:100%}.ids-date-picker ids-trigger-button[field-height=xs]{margin-inline-end:2px}.ids-date-picker ids-trigger-button[field-height=xs]::part(button){inset-inline-start:unset}.ids-date-picker ids-trigger-button[field-height=md]{margin-inline-end:2px}.ids-date-picker ids-trigger-button.xs,.ids-date-picker ids-trigger-button.md{margin-top:-2px}.ids-date-picker ids-trigger-button.sm{margin-top:-1px}.ids-date-picker ids-trigger-button::part(button){block-size:28px;inline-size:28px;margin-inline-start:-10px;inset-inline-end:-1px;color:var(--ids-date-picker-icon-color);position:relative}.ids-date-picker ids-trigger-button[compact]{margin-inline-end:2px;width:24px;height:24px}.ids-date-picker.is-open:not(.is-dropdown) ids-trigger-button::part(button){color:var(--ids-date-picker-open-trigger-button-color-text)}.ids-date-picker.is-open:not(.is-dropdown) ids-trigger-field::part(field-container){border-color:var(--ids-date-picker-color-border)}.ids-date-picker ids-month-view{width:100%}.ids-date-picker:not(.has-time) ids-month-view::part(table-container){margin-bottom:10px}.ids-date-picker ids-popup::part(popup){padding-top:0;padding-bottom:0}.ids-date-picker .popup-footer{display:flex}.ids-date-picker .popup-btn{width:100%}.ids-date-picker .popup-btn::part(button){display:flex;padding-block:var(--ids-space-12);border-radius:0;justify-content:center}.ids-date-picker .popup-btn::part(button):not(:focus){border:1px solid rgba(0,0,0,0);border-top-color:var(--ids-date-picker-popup-button-color-border)}.ids-date-picker .popup-btn:not(.popup-btn-apply)::part(button){color:var(--ids-date-picker-popup-button-color-text-default)}.ids-date-picker .popup-btn:not(.popup-btn-apply)::part(button):hover{color:var(--ids-date-picker-popup-button-color-text-hover)}.ids-date-picker .popup-btn:not([hidden]):not(:last-child):not(:focus)::part(button){border-inline-end-color:var(--ids-date-picker-popup-button-color-border)}.ids-date-picker .popup-btn-apply:not([disabled])::part(button){color:var(--ids-date-picker-popup-button-primary-color-text)}.ids-date-picker .popup-btn-apply[disabled]::part(button){color:var(--ids-date-picker-popup-button-primary-color-text-disabled)}.ids-date-picker ids-time-picker{display:flex;justify-content:center}.ids-date-picker.field-height-xs ids-trigger-field,.ids-date-picker.field-height-sm ids-trigger-field,.ids-date-picker.field-height-md ids-trigger-field,.ids-date-picker.field-height-lg ids-trigger-field{display:flex}.ids-date-picker.is-dropdown .dropdown-btn::part(button){color:var(--ids-date-picker-dropdown-button-color-text);padding:4px;border:none;border-radius:var(--ids-border-radius-2xs)}.ids-date-picker.is-dropdown .dropdown-btn::part(button):focus{box-shadow:0 0 0 2px rgba(0,0,0,0),0 0 0 1px var(--ids-date-picker-dropdown-color-focus),0 0 4px 3px rgba(54,138,192,.3)}.ids-date-picker.is-dropdown .dropdown-btn-text,.ids-date-picker.is-dropdown .dropdown-btn-icon{padding-inline-start:0}.ids-date-picker.is-dropdown .dropdown-btn-icon{margin-top:2px}.ids-date-picker.is-dropdown.is-expanded .dropdown-btn::part(button){color:var(--ids-button-tertiary-color-text-hover)}.ids-date-picker.is-dropdown.is-expanded .dropdown-btn-icon{transform:rotate(180deg)}.ids-date-picker.is-dropdown ids-expandable-area::part(container){margin:0;padding:0;width:100%;position:absolute;z-index:3;border:none;top:43px;left:0}.ids-date-picker.is-dropdown ids-expandable-area::part(header){display:none}.ids-date-picker.is-dropdown ids-expandable-area::part(pane){background-color:var(--ids-color-background-default)}.ids-date-picker.is-dropdown ids-expandable-area::part(pane-content){margin-top:0}.ids-date-picker.is-dropdown .picklist{display:flex}.ids-date-picker.is-dropdown .picklist::after{background-color:var(--ids-date-picker-picklist-separator-color-background);position:absolute;content:" ";width:1px;left:0;right:0;margin-left:auto;margin-right:auto;height:calc(75% + 14px);top:calc(12.5% - 4px)}.ids-date-picker.is-dropdown:not(.is-expanded) .picklist::after{background-color:var(--ids-color-transparent)}.ids-date-picker.is-dropdown .picklist-section{height:100%;width:50%;flex:0 0 50%}.ids-date-picker.is-dropdown .picklist-list{display:flex;list-style:none;align-items:center;flex-direction:column;justify-content:space-around;padding:0;margin-top:0;margin-bottom:0;height:100%}.ids-date-picker.is-dropdown .picklist-item{border:1px solid rgba(0,0,0,0);box-sizing:border-box;display:flex;cursor:var(--ids-cursor-pointer);color:var(--ids-date-picker-picklist-item-color-text-default);padding-top:1px;padding-bottom:1px;user-select:none;height:12.5%;align-items:center;justify-content:center;width:100%}.ids-date-picker.is-dropdown .picklist-item ids-text{line-height:0}.ids-date-picker.is-dropdown .picklist-item.is-selected{color:var(--ids-date-picker-picklist-item-color-text-selected);background-color:var(--ids-date-picker-picklist-item-color-background-selected)}.ids-date-picker.is-dropdown .picklist-item.is-selected ids-text::part(text){font-weight:600}.ids-date-picker.is-dropdown .picklist-item:focus{border-color:var(--ids-date-picker-item-color-border-focus);box-shadow:var(--ids-date-picker-item-shadow-focus);outline:none}.ids-date-picker.is-dropdown .picklist-item.is-year-nav,.ids-date-picker.is-dropdown .picklist-item.is-month-nav{z-index:1}.ids-date-picker.is-dropdown .picklist-item.is-month-nav{width:calc(100% + 1px)}:host([is-calendar-toolbar=true]){display:flex}:host([dir=rtl]) .ids-date-picker .popup-btn+.popup-btn::part(button):not(:focus){border-left-color:var(--ids-color-transparent)}.ids-date-picker.color-variant-borderless ids-trigger-field::part(container){margin:1px 0}.ids-date-picker.color-variant-borderless ids-trigger-field::part(field-container){border:none}.ids-date-picker.color-variant-borderless ids-trigger-field::part(input){padding-inline-end:0 !important}.ids-date-picker.color-variant-borderless.field-height-lg ids-trigger-field::part(input){padding-inline:16px;height:50px}.ids-date-picker.color-variant-borderless.field-height-md ids-trigger-field::part(input){padding-inline:12px;height:40px}.ids-date-picker.color-variant-borderless.field-height-sm ids-trigger-field::part(container){display:flex}.ids-date-picker.color-variant-borderless.field-height-sm ids-trigger-field::part(input){padding-inline:8px;height:35px}.ids-date-picker.color-variant-borderless.field-height-xs ids-trigger-field::part(input){padding-inline:4px;height:30px}:host([field-indicator][readonly]),:host([field-indicator][disabled]){--ids-field-indicator-info-visibility: none}@media(width <= 767px){:host(:not([label-position=inline-start])) ids-trigger-field::part(container),:host(:not([label-position=inline-start])) ids-input::part(container){flex-direction:column;align-items:flex-start}:host(:not([label-position=inline-start])) ids-trigger-field:not(.ids-date-picker ids-trigger-field)::part(field-container),:host(:not([label-position=inline-start])) ids-input::part(field-container){width:100%}}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtZGF0ZS1waWNrZXIiLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1maWVsZC1pbmRpY2F0b3ItbWl4aW4uc2NzcyIsImlkcy1kYXRlLXBpY2tlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtFLG1HQUVFLGFBQ0EsNkNBR0EsK0dBQ0UsNkJBQ0EsNkNBQ0EscUJBQ0Esc0JBQ0EsY0FJRiwySUFDRSxXQUNBLHdDQUVBLHlCQUpGLDJJQUtJLHVCQUtGLHNCQURGLG1JQUVJLG9CQUNBLG9CQUdGLG9DQU5GLG1JQU9JLG9CQUNBLG9CQUlKLHlCQXBDRixtR0FxQ0ksZUFDQSxRQUVBLCtHQUNFLGNBQ0Esb0JBQ0EsUUFHRixxSUFDRSxRQUdGLCtJQUNFLFFBQ0EsY0FDQSxZQUdGLDJJQUNFLGNBQ0EsZUFDQSxRQUNBLG9EQU1BLHdEQUtOLG1EQUNFLCtCQUdGLHlCQUNFLG1EQUNFLGFBQ0EsZUFDQSw2Q0FHQSx5REFDRSxhQUNBLG1CQUNBLFdBQ0EsNkNBQ0Esc0JBQ0Esd0JBR0YsbUVBQ0UsNkJBQ0EsY0FHRixxRUFDRSxrQkFDQSxvQkFHRixvRUFDRSxPQUdGLHVFQUNFLFdBQ0EsdUVBQ0Esd0NBSUEsNkZBQ0UsMkJBTVIsOEJBQ0UsbURBQ0UsYUFDQSxlQUNBLDZDQUdBLHlEQUNFLGFBQ0EsbUJBQ0EsV0FDQSw2Q0FDQSxzQkFDQSx3QkFHRixtRUFDRSw2QkFDQSxjQUdGLHFFQUNFLGtCQUNBLG9CQUdGLG9FQUNFLE9BR0YsdUVBQ0UsV0FDQSx1RUFDQSx5Q0FRTix1RUFDRSxzQkFFQSx1QkFIRix1RUFJSSxhQUNBLGVBQ0EsNkNBRUEsNkVBQ0UsYUFDQSxtQkFDQSxXQUNBLDZDQUNBLHVEQUNBLHNCQUNBLHdCQUdGLHVGQUNFLDZC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Rix5REFDRSx1QkFLTixrQ0FDRSxhQU1FLGtGQUNFLCtDQU9KLDZFQUNFLGFBR0YsbUZBQ0UsWUFHRix5RUFDRSxnQ0FJQSx5RkFDRSxvQkFDQSxZQUtGLHlGQUNFLG9CQUNBLFlBS0YsNkZBQ0UsYUFHRix5RkFDRSxtQkFDQSxZQUtGLHlGQUNFLG1CQUNBLFlBS04sc0VBRUUsNENBR0YsdUJBRUksb0pBRUUsc0JBQ0EsdUJBR0Ysd01BRUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMYWJlbCBwb3NpdGlvbiBzdHlsZXNcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyAqO1xuXG4vLyBMZWZ0IGFsaWduZWQgYW5kIFJpZ2h0IEFsaWduZWQgTGFiZWxzXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gb24gdGhlIGJvdHRvbVxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiA4cHg7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuXG4gICAgICAudGV4dGFyZWEtZmllbGQtZ3JvdXAge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoMHB4IC0gdmFyKC0taWRzLXNwYWNlLTJ4cykpO1xuXG4gICAgICAgIC8vIExhYmVsIGFuZCBmaWVsZCBzaXQgc2lkZS1ieS1zaWRlIGF0IHRoaXMgYnJlYWtwb2ludCwgc28gdGhlIHdyYXBwZWRcbiAgICAgICAgLy8gbWVzc2FnZSBiZWxvdyBtdXN0IGluZGVudCB0byB0aGUgZmllbGQgc3RhcnQuIEFwcGxpZWQgdW5jb25kaXRpb25hbGx5XG4gICAgICAgIC8vIChub3Qgb25seSB2aWEgdGhlIEpTIGAud3JhcHBlZGAgY2xhc3MpIHNvIGFsaWdubWVudCBpcyBkZXRlcm1pbmlzdGljXG4gICAgICAgIC8vIGFuZCBub3Qgc3ViamVjdCB0byBSZXNpemVPYnNlcnZlciB0aW1pbmcuXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDZweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLTAwKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cblxuICAgICAgJi5sYWJlbC1zdGF0ZS1jb2xsYXBzZWQge1xuICAgICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhvcml6b250YWwgYWxpZ25lZDogdXNlIHZpZXdwb3J0IG1lZGlhIHF1ZXJ5IGluc3RlYWQgb2YgY29udGFpbmVyIHF1ZXJ5XG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2hvcml6b250YWwtYWxpZ25lZF0pIHtcbiAgLmlkcy1jaGVja2JveCB7XG4gICAgY29udGFpbmVyLXR5cGU6IG5vcm1hbDtcblxuICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYWxpZ25tZW50PVwiZW5kXCJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuXG4gICAgbGFiZWwsXG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIEF0L3VuZGVyIHRoZSB4cyBicmVha3BvaW50IHRoZSBsYWJlbCBzdGFja3Mgb24gdG9wIG9mIHRoZSBmaWVsZCwgc28gdGhlXG4gICAgICAvLyBlbmQgYWxpZ25tZW50IChyaWdodC1hbGlnbmVkLCBmdWxsIGxhYmVsIHdpZHRoKSBtdXN0IHJlc2V0IHRvIHN0YXJ0LlxuICAgICAgLy8gS2VwdCBpbiBzeW5jIHdpdGggdGhlIHN0YWNraW5nIHJ1bGUgYmVsb3cgKGBtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzYClcbiAgICAgIC8vIHNvIHRoZSBib3VuZGFyeSBhdCBleGFjdGx5ICRicmVha3BvaW50LXhzIGRvZXNuJ3QgbGVhdmUgdGhlIGxhYmVsXG4gICAgICAvLyByaWdodC1hbGlnbmVkIGFuZCBvdmVyZmxvd2luZyB0aGUgZmllbGQuXG4gICAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTVweDtcbiAgICAgICAgICB0b3A6IDdweDtcblxuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogaW5pdGlhbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXG4gICAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgJi5yZXF1aXJlZCAubGFiZWwtY2hlY2tib3ggc3BhbiB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpdGNoIGxhYmVsLWFsaWdubWVudCBlbmRcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gICAgLmlkcy1zd2l0Y2gge1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICAgIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSYWRpbyBncm91cCBsYWJlbC1hbGlnbm1lbnQgZW5kXG4gIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIHRoZSBsYWJlbCBpcyBjb2xsYXBzZWQsIHJlbW92ZSBpdCBmcm9tIHRoZSBpbnB1dC90ZXh0YXJlYSBsYXlvdXQgc28gdGhlXG4vLyBlbmQtYWxpZ25lZCBsYWJlbCBkb2VzIG5vdCByZXNlcnZlIHNwYWNlLlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnRdW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCxcbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF06bm90KFtlcnJvci10cmFja2VyXSkpIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgY29sdW1uLWdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuICB9XG59XG5cbi8vIExhYmVsIGJyZWFrIGJlaGF2aW9yIGZvciBpbmxpbmUtc3RhcnQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddOm5vdChbdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XSkpLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XVtlcnJvci10cmFja2VyXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gdmFsaWRhdGlvbiBpcyBwcmVzZW50IHdpdGggc2hyaW5rLXZhbHVlLCB1c2UgZ3JpZCB0byBrZWVwIGZpZWxkIHdpZHRoIHN0YWJsZVxuOmhvc3QoLmluLWZsZXgtaXRlbVtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XTpub3QoW2Vycm9yLXRyYWNrZXJdKSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgY29sdW1uLWdhcDogdmFyKC0taWRzLWxhYmVsLWFsaWdubWVudC1nYXApO1xuXG4gICAgbGFiZWwge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgICYud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG5cbiAgICAmLnNtLCAmLm1tLCAmLm1kLCAmLmxnIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLmluLWZsZXgtaXRlbVtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCBsYWJlbCB7XG4gICAgbWF4LWhlaWdodDogdmFyKC0taWRzLWxhYmVsLW1heC1oZWlnaHQtaW5saW5lLXN0YXJ0KTtcbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICB9XG4gIH1cblxuICAuaWRzLXJhZGlvLWdyb3VwLFxuICAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSB7XG4gICAgaWRzLXRleHQge1xuICAgICAgJi5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA+ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSkge1xuICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGdhcDogMDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtaW5wdXQtbWFyZ2luLWJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtd2lkdGg9XCIwcHhcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBcIl0pIHtcbiAgLy8gV2hlbiBhIGxhYmVsIGlzIFwiaW5saW5lLXN0YXJ0XCIgYW5kIGBsYWJlbC13aWR0aD1cIjBweFwiYCBzaW1wbHkgZG9uJ3QgZGlzcGxheSBpdFxuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzXCJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDExcHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIExhYmVsIGJyZWFrIGJlaGF2aW9yIGZvciBpbmxpbmUtZW5kIHBvc2l0aW9uXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgLy8gS2VlcCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGJlbG93IHRoZSBmaWVsZFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG9yZGVyOiAzO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gIC0taWRzLWxhYmVsLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgtaW5saW5lLXN0YXJ0KTtcbn1cblxuLy8gV2hlbiBsYWJlbC13cmFwIGNvbnN0cmFpbnMgdGhlIGxhYmVsIHNpemUsIGVuc3VyZSBpdCBzdGF5cyB2ZXJ0aWNhbGx5IGNlbnRlcmVkXG4vLyBpbnN0ZWFkIG9mIHN0cmV0Y2hpbmcgdG8gZmlsbCB0aGUgZmxleCBjb250YWluZXIgaGVpZ2h0XG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl0pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdW2xhYmVsLXdyYXA9XCJ3cmFwLW5vLXN0cmV0Y2hcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgbGFiZWwge1xuICAgICAgYWxpZ24tc2VsZjogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUZXh0IGFyZWFcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddOm5vdChbbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddKTpub3QoW3NpemU9J2Z1bGwnXSkpIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuXG4gICAgICAudGV4dGFyZWEtZmllbGQge1xuICAgICAgICB3aWR0aDogY2FsYygzNzBweCArIHZhcigtLWlkcy1sYWJlbC13aWR0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaWx0ZXIgZmllbGRcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSB7XG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbHRlciBmaWVsZCBzcGVjaWZpYyBydWxlc1xuICAgICAgI29wZXJhdG9yLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0aW9uIG9uIHRoZSBib3R0b21cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tib3hlc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSB7XG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC1zbSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgbGFiZWwge1xuICAgICAgICAtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydDogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJhZGlvIGJ1dHRvbnNcbi8vIFRoZSBpbmxpbmUgKHNpZGUpIGxhYmVsIGxheW91dCBpcyB0b2dnbGVkIGJ5IGBvbkxhYmVsUG9zaXRpb25DaGFuZ2VgIGluXG4vLyBpZHMtcmFkaW8tZ3JvdXAgdmlhIHRoZSBgbGFiZWwtaW5saW5lYCAvIGBsYWJlbC1pbmxpbmUtZW5kLXN0YWNrZWRgIGNsYXNzZXMsXG4vLyB3aGljaCBhcmUgZHJpdmVuIGJ5IHRoZSBncm91cCdzIG93biB3aWR0aC4gVGhpcyBsZXRzIHRoZSBsYXlvdXQgcmVzcG9uZCB0b1xuLy8gaXRzIGNvbnRhaW5lciByYXRoZXIgdGhhbiB0aGUgdmlld3BvcnQuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgZmxleC1zdGFydCk7XG4gIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG5cbiAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSAtIDJweCk7XG4gIH1cblxuICBzbG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLy8gV2hlbiBgaG9yaXpvbnRhbGAgaXMgc2V0LCB0aGUgb3B0aW9ucyBmbG93IGluIGEgcm93IHJlZ2FyZGxlc3Mgb2YgdGhlIGlubGluZVxuLy8gbGFiZWwgcG9zaXRpb24sIHNvIHRoZSBzbG90IG11c3Qgbm90IGZvcmNlIGEgdmVydGljYWwgc3RhY2suXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZS5ob3Jpem9udGFsLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLmhvcml6b250YWwge1xuICBzbG90IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUge1xuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi8vIE5hcnJvdyBgaW5saW5lLWVuZGA6IHN0YWNrIHdpdGggdGhlIGxhYmVsIGJlbmVhdGggdGhlIG9wdGlvbnNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZS1lbmQtc3RhY2tlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vLyBTd2l0Y2hcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLXN3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICByaWdodDogLTQ1cHg7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdW2xhYmVsLXN0YXRlPVwiY29sbGFwc2VkXCJdKSAuaWRzLXN3aXRjaCBsYWJlbCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSAuaWRzLXN3aXRjaCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5zbGlkZXIge1xuICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGF0YSBMYWJlbFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtZGF0YS1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5kYXRhLFxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGJlaGF2aW9yXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1lbmRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IDA7XG5cbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG46aG9zdChpZHMtY2hlY2tib3hbbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLWVuZFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcbiAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9XCJoaWRkZW5cIl0pIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1pbnB1dCAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPVwiaGlkZGVuXCJdKSB7XG4gICAgLmlkcy1pbnB1dCAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSnVzdCB0aGUgbGFiZWwgd2lkdGhcbjpob3N0IHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSxcbiAgLmlkcy1jaGVja2JveCxcbiAgLmlkcy1yYWRpbyxcbiAgLmlkcy1zd2l0Y2gsXG4gIC5pZHMtZGF0YS1sYWJlbCxcbiAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgIGxhYmVsLFxuICAgIC5sYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVjbGFyZWQgbGFzdCBzbyBsYWJlbC1zdGF0ZSB3aW5zIG92ZXIgbGFiZWwtYWxpZ25tZW50L2xhYmVsLWJyZWFrL2xhYmVsLXdyYXAsXG4vLyBrZWVwaW5nIHRoZSByYWRpbyBncm91cCBsYWJlbCBoaWRkZW4gcmVnYXJkbGVzcyBvZiB0aGUgb3RoZXIgbGF5b3V0IGF0dHJpYnV0ZXMuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1zdGF0ZT0nY29sbGFwc2VkJ10pIHtcbiAgLmlkcy1yYWRpby1ncm91cCBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9J2hpZGRlbiddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLXN0YXRlPSdoaWRkZW4nXSkge1xuICAuaWRzLXJhZGlvLWdyb3VwIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLy8gRmllbGQgSW5kaWNhdG9yIGljb24gcGxhY2VtZW50XG4uaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXI9J3J0bCddIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi5pY29uLWZpZWxkLWluZGljYXRvci1pbmZvIHtcbiAgZGlzcGxheTogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLXZpc2liaWxpdHksIGZsZXgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLW1hcmdpbiwgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWlkcy1maWVsZC1pbmRpY2F0b3ItaWNvbi1jb2xvciwgLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KTtcbn1cblxuLy8gTWl4aW4gdG8gYXBwbHkgZmllbGQgaW5kaWNhdG9yIGNvbG9yIHZhcmlhYmxlc1xuQG1peGluIGZpZWxkLWluZGljYXRvci1jb2xvcigkY29sb3IsICRib3JkZXItY29sb3I6IG51bGwpIHtcbiAgLS1pZHMtZmllbGQtaW5kaWNhdG9yLWljb24tY29sb3I6ICN7JGNvbG9yfTtcblxuICBAaWYgJGJvcmRlci1jb2xvciB7XG4gICAgLS1pZHMtaW5wdXQtYm9yZGVyLWRlZmF1bHQtY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyOiAjeyRib3JkZXItY29sb3J9O1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kaXNhYmxlZDogI3skYm9yZGVyLWNvbG9yfTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXM6ICN7JGJvcmRlci1jb2xvcn07XG4gIH1cblxuICAuaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAjeyRjb2xvcn07XG4gIH1cbn1cblxuLy8gRmllbGQgaW5kaWNhdG9yIHR5cGUgY2xhc3NlcyDigJQgYXBwbGllZCB0byB0aGUgZmllbGQgY29udGFpbmVyLlxuLmZpZWxkLWluZGljYXRvci1uZXV0cmFsIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrKSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItaW5mbyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itc3VjY2Vzcy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItY2F1dGlvbiB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itd2FybmluZyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itd2FybmluZy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItZXJyb3Ige1xuICBAaW5jbHVkZSBmaWVsZC1pbmRpY2F0b3ItY29sb3IodmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpKTtcbn1cblxuW2NsYXNzKj1cImZpZWxkLWluZGljYXRvci1cIl0uaGFzLWZvY3VzIHtcbiAgLmljb24tZmllbGQtaW5kaWNhdG9yLWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MnIGFzIGxhYmVsLXBvc2l0aW9uO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtZmllbGQtaW5kaWNhdG9yLW1peGluJyBhcyAqO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdChbaGlkZGVuXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG46aG9zdChbc2l6ZT0nZnVsbCddOm5vdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pKSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIDo6cGFydChjb250YWluZXIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uaWRzLWRhdGUtcGlja2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBGaXhlcyBpbnB1dCBkb2Vzbid0IHN0cmV0Y2ggdG8gbGcgc2l6ZSBhbmQgdXBcbiAgaWRzLXRyaWdnZXItZmllbGQsXG4gIC5pZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIGlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAmW3NpemU9J2Z1bGwnXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmZ1bGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaWRzLXRyaWdnZXItZmllbGQsXG4gICAgLmlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmOjpwYXJ0KGNvbnRhaW5lcikge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRyaWdnZXIgYnV0dG9uIHN0eWxpbmdcbiAgaWRzLXRyaWdnZXItYnV0dG9uIHtcbiAgICAmW2ZpZWxkLWhlaWdodD1cInhzXCJdIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAycHg7XG5cbiAgICAgICY6OnBhcnQoYnV0dG9uKSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltmaWVsZC1oZWlnaHQ9XCJtZFwiXSB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMnB4O1xuICAgIH1cblxuICAgICYueHMsXG4gICAgJi5tZCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICYuc20ge1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB9XG5cbiAgICAmOjpwYXJ0KGJ1dHRvbikge1xuICAgICAgYmxvY2stc2l6ZTogMjhweDtcbiAgICAgIGlubGluZS1zaXplOiAyOHB4O1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTEwcHg7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAtMXB4O1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1pY29uLWNvbG9yKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmW2NvbXBhY3RdIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAycHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICB9XG4gIH1cblxuICAvLyBJcyBvcGVuIHN0YXRlXG4gICYuaXMtb3Blbjpub3QoLmlzLWRyb3Bkb3duKSB7XG4gICAgaWRzLXRyaWdnZXItYnV0dG9uOjpwYXJ0KGJ1dHRvbikge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1vcGVuLXRyaWdnZXItYnV0dG9uLWNvbG9yLXRleHQpO1xuICAgIH1cblxuICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0ZS1waWNrZXItY29sb3ItYm9yZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3B1cCByZWxhdGVkXG4gIGlkcy1tb250aC12aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6bm90KC5oYXMtdGltZSkgaWRzLW1vbnRoLXZpZXc6OnBhcnQodGFibGUtY29udGFpbmVyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIGlkcy1wb3B1cDo6cGFydChwb3B1cCkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLnBvcHVwLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5wb3B1cC1idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnBvcHVwLWJ0bjo6cGFydChidXR0b24pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1zcGFjZS0xMik7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1pZHMtZGF0ZS1waWNrZXItcG9wdXAtYnV0dG9uLWNvbG9yLWJvcmRlcik7XG4gICAgfVxuICB9XG5cbiAgLnBvcHVwLWJ0bjpub3QoLnBvcHVwLWJ0bi1hcHBseSk6OnBhcnQoYnV0dG9uKSB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1wb3B1cC1idXR0b24tY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1wb3B1cC1idXR0b24tY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuICB9XG5cbiAgLnBvcHVwLWJ0bjpub3QoW2hpZGRlbl0pOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpmb2N1cyk6OnBhcnQoYnV0dG9uKSB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQtY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1wb3B1cC1idXR0b24tY29sb3ItYm9yZGVyKTtcbiAgfVxuXG4gIC5wb3B1cC1idG4tYXBwbHk6bm90KFtkaXNhYmxlZF0pOjpwYXJ0KGJ1dHRvbikge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0ZS1waWNrZXItcG9wdXAtYnV0dG9uLXByaW1hcnktY29sb3ItdGV4dCk7XG4gIH1cblxuICAucG9wdXAtYnRuLWFwcGx5W2Rpc2FibGVkXTo6cGFydChidXR0b24pIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGUtcGlja2VyLXBvcHVwLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICB9XG5cbiAgaWRzLXRpbWUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQteHMsXG4gICYuZmllbGQtaGVpZ2h0LXNtLFxuICAmLmZpZWxkLWhlaWdodC1tZCxcbiAgJi5maWVsZC1oZWlnaHQtbGcge1xuICAgIGlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG59XG5cbi8vIERyb3Bkb3duXG4uaWRzLWRhdGUtcGlja2VyLmlzLWRyb3Bkb3duIHtcbiAgLy8gQnV0dG9uXG4gIC5kcm9wZG93bi1idG46OnBhcnQoYnV0dG9uKSB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1kcm9wZG93bi1idXR0b24tY29sb3ItdGV4dCk7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy0yeHMpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdHJhbnNwYXJlbnQsIDAgMCAwIDFweCB2YXIoLS1pZHMtZGF0ZS1waWNrZXItZHJvcGRvd24tY29sb3ItZm9jdXMpLCAwIDAgNHB4IDNweCByZ2IoNTQgMTM4IDE5MiAvIDAuMyk7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLWJ0bi10ZXh0LFxuICAuZHJvcGRvd24tYnRuLWljb24ge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLWJ0bi1pY29uIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cblxuICAmLmlzLWV4cGFuZGVkIHtcbiAgICAuZHJvcGRvd24tYnRuOjpwYXJ0KGJ1dHRvbikge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLWJ0bi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gRXhwYW5kYWJsZSBhcmVhXG4gIGlkcy1leHBhbmRhYmxlLWFyZWE6OnBhcnQoY29udGFpbmVyKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRvcDogNDNweDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgaWRzLWV4cGFuZGFibGUtYXJlYTo6cGFydChoZWFkZXIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgaWRzLWV4cGFuZGFibGUtYXJlYTo6cGFydChwYW5lKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gIH1cblxuICBpZHMtZXhwYW5kYWJsZS1hcmVhOjpwYXJ0KHBhbmUtY29udGVudCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAvLyBQaWNrbGlzdFxuICAucGlja2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0ZS1waWNrZXItcGlja2xpc3Qtc2VwYXJhdG9yLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSArIDE0cHgpO1xuICAgICAgdG9wOiBjYWxjKDEyLjUlIC0gNHB4KTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguaXMtZXhwYW5kZWQpIC5waWNrbGlzdDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIH1cblxuICAucGlja2xpc3Qtc2VjdGlvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgfVxuXG4gIC5waWNrbGlzdC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5waWNrbGlzdC1pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0ZS1waWNrZXItcGlja2xpc3QtaXRlbS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBoZWlnaHQ6IDEyLjUlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBpZHMtdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmLmlzLXNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0ZS1waWNrZXItcGlja2xpc3QtaXRlbS1jb2xvci10ZXh0LXNlbGVjdGVkKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1waWNrbGlzdC1pdGVtLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuXG4gICAgICBpZHMtdGV4dDo6cGFydCh0ZXh0KSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRlLXBpY2tlci1pdGVtLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtZGF0ZS1waWNrZXItaXRlbS1zaGFkb3ctZm9jdXMpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmlzLXllYXItbmF2LFxuICAgICYuaXMtbW9udGgtbmF2IHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJi5pcy1tb250aC1uYXYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtpcy1jYWxlbmRhci10b29sYmFyPSd0cnVlJ10pIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8gVGV4dCBkaXJlY3Rpb25cbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIC5pZHMtZGF0ZS1waWNrZXIge1xuICAgIC5wb3B1cC1idG4gKyAucG9wdXAtYnRuOjpwYXJ0KGJ1dHRvbik6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG59XG5cbi8vIERhdGUgUGlja2VyIEVkaXRvciBCb3JkZXJsZXNzXG4uaWRzLWRhdGUtcGlja2VyLmNvbG9yLXZhcmlhbnQtYm9yZGVybGVzcyB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGNvbnRhaW5lcikge1xuICAgIG1hcmdpbjogMXB4IDA7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChmaWVsZC1jb250YWluZXIpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChpbnB1dCkge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQtbGcge1xuICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMTZweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gIH1cblxuICAmLmZpZWxkLWhlaWdodC1tZCB7XG4gICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LXNtIHtcbiAgICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChjb250YWluZXIpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiA4cHg7XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgfVxuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQteHMge1xuICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogNHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbZmllbGQtaW5kaWNhdG9yXVtyZWFkb25seV0pLFxuOmhvc3QoW2ZpZWxkLWluZGljYXRvcl1bZGlzYWJsZWRdKSB7XG4gIC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLXZpc2liaWxpdHk6IG5vbmU7XG59XG5cbkBtZWRpYSAod2lkdGggPD0gNzY3cHgpIHtcbiAgOmhvc3QoOm5vdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pKSB7XG4gICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoY29udGFpbmVyKSxcbiAgICBpZHMtaW5wdXQ6OnBhcnQoY29udGFpbmVyKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgaWRzLXRyaWdnZXItZmllbGQ6bm90KC5pZHMtZGF0ZS1waWNrZXIgaWRzLXRyaWdnZXItZmllbGQpOjpwYXJ0KGZpZWxkLWNvbnRhaW5lciksXG4gICAgaWRzLWlucHV0OjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iXX0= */