option {
}

/*
 * System-wide read-only / disabled form controls.
 * Grey background + duller text; small hint shown via readonly-fields.js on edit attempt.
 */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="file"]):is([readonly], :disabled),
textarea:is([readonly], :disabled),
select:is([readonly], :disabled),
.form-control:is([readonly], :disabled),
.form-select:is([readonly], :disabled) {
    background-color: #e9ecef !important;
    color: #6c757d !important;
    border-color: #ced4da !important;
    cursor: not-allowed;
    opacity: 1;
    -webkit-text-fill-color: #6c757d;
}

input:is([readonly], :disabled)::placeholder,
textarea:is([readonly], :disabled)::placeholder {
    color: #adb5bd !important;
    -webkit-text-fill-color: #adb5bd;
}

input[type="checkbox"]:is([readonly], :disabled),
input[type="radio"]:is([readonly], :disabled) {
    cursor: not-allowed;
    opacity: 0.65;
}

.select2-container--disabled .select2-selection,
.select2-container--disabled .select2-selection__rendered {
    background-color: #e9ecef !important;
    color: #6c757d !important;
    cursor: not-allowed;
}

.form-readonly-hint {
    display: none;
    margin: 0.2rem 0 0;
    padding: 0;
    font-size: 0.75rem;
    line-height: 1.25;
    color: #6c757d;
    font-style: italic;
    font-weight: 400;
}

.form-readonly-hint.is-visible {
    display: block;
}

/* Dropdown default - matches input design */
.formPrompt select {
    border-radius: 4px;
    display: block;
    margin: auto;
    margin-bottom: 4px;
    padding: 8px 32px 8px 12px;
    width: 96% !important;
    max-width: 100%;
    background-color: #ffffff;
    border: 1px solid #d0d0d0;
    color: #333333;
    font-size: 14px;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
    appearance: auto;
    cursor: pointer;
}

.formPrompt select:focus {
    outline: none;
    border-color: #4A90E2;
}

.formPrompt select.error,
.formPrompt select.has-error {
    border-color: #dc3545;
    color: #dc3545;
}

.formPrompt select:disabled,
.formPrompt select[readonly] {
    border-color: #d0d0d0;
    background-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
}

.checkbox-choice-around {
    display: flex;
}

.checkbox-choice-around div {
    border-bottom: solid 1px;
}

.checkbox-row {
    display: flex;
    width: 100%;
}

.choice-widget-label label {
    width: 100% !important;
    font-size: 0.8em;
}

.choice-widget-col {
    padding-right: 20px;
}

.choice-widget-col > table > tbody > tr > td {
    padding: 2px;
}

.cke_reset {
    margin: auto;
}

.ui-state-highlight {
    background-color: #cccccc;
}

.dropzone.dz-clickable {
    width: 100%;
}

.dz-button {
    border-radius: 4px;
    padding: 8px !important;
}

.dropzone > .dz-message > .dz-button {
    height: 100%;
}

.dropzone > .dz-message > .dz-button > span {
    display: none;
}

.formActions {
    text-align: center;
}

.formActions button, .formActions input, .formActions a, .formActions h3 {
    margin: auto;
    margin-bottom: 2px;
    margin-top: 2px;
    font-size: 1.4em;
    border-radius: 6px !important;
}

.formLabel {
    float: left;
    text-align: left;
    font-weight: bold;
    color: #333333;
}

.formCheckBoxes div.checkbox {
    float: left;
    width: 50%;
}

.formCheckBoxes div.checkbox label {
    line-height: 26px;
    vertical-align: middle;
}

.formCheckBoxes input, .formCheckBoxes div input {
    display: inline;
    margin: 4px;
}

/* Checkbox - design: selected = dark blue bg + white checkmark, enabled = dark grey border, disabled = light grey */
.formPrompt input[type="checkbox"],
.formCheckBoxes input[type="checkbox"],
.formPrompt .checkbox input[type="checkbox"],
.formPrompt .form-check input[type="checkbox"],
.choice-widget-col input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 8px 0 0;
    border: 2px solid #333333;
    border-radius: 3px;
    appearance: none;
    -webkit-appearance: none;
    background-color: #ffffff;
    cursor: pointer;
    vertical-align: middle;
    flex-shrink: 0;
}

.formPrompt input[type="checkbox"]:checked,
.formCheckBoxes input[type="checkbox"]:checked,
.formPrompt .checkbox input[type="checkbox"]:checked,
.formPrompt .form-check input[type="checkbox"]:checked,
.choice-widget-col input[type="checkbox"]:checked {
    background-color: #1e3a5f;
    border-color: #1e3a5f;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M10.28 2.28L3.989 8.575 1.695 6.28A1 1 0 00.28 7.695l3 3a1 1 0 001.414 0l7-7A1 1 0 0010.28 2.28z'/%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
}

.formPrompt input[type="checkbox"]:hover:checked,
.formCheckBoxes input[type="checkbox"]:hover:checked,
.choice-widget-col input[type="checkbox"]:hover:checked {
    background-color: #2c4a73;
    border-color: #2c4a73;
}

.formPrompt input[type="checkbox"]:disabled,
.formCheckBoxes input[type="checkbox"]:disabled,
.formPrompt .checkbox input[type="checkbox"]:disabled,
.choice-widget-col input[type="checkbox"]:disabled {
    border-color: #d0d0d0;
    background-color: #e9ecef;
    cursor: not-allowed;
}

.formPrompt label:has(input[type="checkbox"]:disabled),
.formCheckBoxes label:has(input[type="checkbox"]:disabled) {
    color: #999999;
}

/* Radio - design: selected = light blue border + light blue inner circle, enabled = dark grey border, disabled = light grey */
.formPrompt input[type="radio"],
.formCheckBoxes input[type="radio"],
.formPrompt .radio input[type="radio"],
.formPrompt .form-check input[type="radio"],
.choice-widget-col input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0 8px 0 0;
    border: 2px solid #333333;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background-color: #ffffff;
    cursor: pointer;
    vertical-align: middle;
    flex-shrink: 0;
}

.formPrompt input[type="radio"]:checked,
.formCheckBoxes input[type="radio"]:checked,
.formPrompt .radio input[type="radio"]:checked,
.formPrompt .form-check input[type="radio"]:checked,
.choice-widget-col input[type="radio"]:checked {
    border-color: #4A90E2;
    border-width: 2px;
    background-color: #ffffff;
    box-shadow: inset 0 0 0 4px #4A90E2;
}

.formPrompt input[type="radio"]:hover:checked,
.formCheckBoxes input[type="radio"]:hover:checked,
.choice-widget-col input[type="radio"]:hover:checked {
    border-color: #5a9fe8;
    box-shadow: inset 0 0 0 4px #5a9fe8;
}

.formPrompt input[type="radio"]:disabled,
.formCheckBoxes input[type="radio"]:disabled,
.choice-widget-col input[type="radio"]:disabled {
    border-color: #d0d0d0;
    background-color: #e9ecef;
    cursor: not-allowed;
}

.formPrompt input[type="radio"]:disabled:checked {
    box-shadow: inset 0 0 0 4px #b0b0b0;
}

.formPrompt label:has(input[type="radio"]:disabled),
.formCheckBoxes label:has(input[type="radio"]:disabled) {
    color: #999999;
}

/* Choice labels (Yes/No, checkbox labels) - dark grey text */
.formPrompt .choice-widget-col label,
.formPrompt .form-check label,
.formCheckBoxes label {
    color: #333333;
    font-weight: normal;
}

.formElement {
    text-align: left;
}

span.formError {
    display: block;
}

.formError ul li, .formError, .formError * {
    color: #dc3545 !important;
    font-weight: bold;
}

.formPrompt {
    align-items: left;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    line-height: 32px;
    text-align: left;
    font-weight: bold;
    position: relative;
}

/* Input wrapper for icon positioning */
.formPrompt .input-wrapper {
    position: relative;
    width: 96%;
    margin: auto;
    margin-bottom: 4px;
}

/* Input field default - white box, light grey border, rounded */
.formPrompt input[type="text"], .formPrompt input[type="email"], .formPrompt input[type="number"], .formPrompt input[type="password"], .formPrompt textarea {
    border-radius: 4px;
    display: block;
    margin: auto;
    margin-bottom: 4px;
    padding: 8px 32px 8px 12px;
    width: 96% !important;
    background-color: #ffffff;
    border: 1px solid #d0d0d0;
    color: #333333;
    font-size: 14px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

/* When input is inside wrapper, adjust width */
.formPrompt .input-wrapper input[type="text"],
.formPrompt .input-wrapper input[type="email"],
.formPrompt .input-wrapper input[type="number"],
.formPrompt .input-wrapper input[type="password"],
.formPrompt .input-wrapper textarea {
    margin: 0;
    width: 100% !important;
}

/* Placeholder styling - lighter grey */
.formPrompt input[type="text"]::placeholder,
.formPrompt input[type="email"]::placeholder,
.formPrompt input[type="number"]::placeholder,
.formPrompt input[type="password"]::placeholder,
.formPrompt textarea::placeholder {
    color: #999999;
}

/* Input field focused state - light blue border */
.formPrompt input[type="text"]:focus,
.formPrompt input[type="email"]:focus,
.formPrompt input[type="number"]:focus,
.formPrompt input[type="password"]:focus,
.formPrompt textarea:focus {
    outline: none;
    border-color: #4A90E2;
    background-color: #ffffff;
}

/* Input field error state - red border, red text */
.formPrompt input[type="text"].error,
.formPrompt input[type="email"].error,
.formPrompt input[type="number"].error,
.formPrompt input[type="password"].error,
.formPrompt textarea.error,
.formPrompt input[type="text"].has-error,
.formPrompt input[type="email"].has-error,
.formPrompt input[type="number"].has-error,
.formPrompt input[type="password"].has-error,
.formPrompt textarea.has-error {
    border-color: #dc3545;
    color: #dc3545;
    background-color: #ffffff;
}

/* Input field success state - light green border, checkmark */
.formPrompt input[type="text"].success,
.formPrompt input[type="email"].success,
.formPrompt input[type="number"].success,
.formPrompt input[type="password"].success,
.formPrompt textarea.success,
.formPrompt input[type="text"].valid,
.formPrompt input[type="email"].valid,
.formPrompt input[type="number"].valid,
.formPrompt input[type="password"].valid,
.formPrompt textarea.valid {
    border-color: #28a745;
    color: #28a745;
    background-color: #ffffff;
}

/* Input field disabled / readonly state - light grey background and duller text */
.formPrompt input[type="text"]:disabled,
.formPrompt input[type="email"]:disabled,
.formPrompt input[type="number"]:disabled,
.formPrompt input[type="password"]:disabled,
.formPrompt textarea:disabled,
.formPrompt input[type="text"][readonly],
.formPrompt input[type="email"][readonly],
.formPrompt input[type="number"][readonly],
.formPrompt input[type="password"][readonly],
.formPrompt textarea[readonly] {
    border-color: #d0d0d0;
    background-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
}

.formPrompt input[type="text"]:disabled::placeholder,
.formPrompt input[type="email"]:disabled::placeholder,
.formPrompt input[type="number"]:disabled::placeholder,
.formPrompt input[type="password"]:disabled::placeholder,
.formPrompt textarea:disabled::placeholder,
.formPrompt input[type="text"][readonly]::placeholder,
.formPrompt input[type="email"][readonly]::placeholder,
.formPrompt input[type="number"][readonly]::placeholder,
.formPrompt input[type="password"][readonly]::placeholder,
.formPrompt textarea[readonly]::placeholder {
    color: #adb5bd;
}

/* Input icon container */
.formPrompt .input-icon,
.formPrompt .input-wrapper .input-icon {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    font-size: 12px;
    font-weight: bold;
    z-index: 1;
}

/* Error icon - red circle with exclamation */
.formPrompt .input-icon.error-icon {
    background-color: #dc3545;
    color: #ffffff;
}

.formPrompt .input-icon.error-icon::before {
    content: "!";
}

/* Success icon - light green circle with checkmark */
.formPrompt .input-icon.success-icon {
    background-color: #28a745;
    color: #ffffff;
}

.formPrompt .input-icon.success-icon::before {
    content: "✓";
}

/* Clear button icon (for focused state) - grey circle */
.formPrompt .input-icon.clear-icon {
    background-color: #6c757d;
    color: #ffffff;
    cursor: pointer;
    pointer-events: all;
}

.formPrompt .input-icon.clear-icon::before {
    content: "×";
}

/* Input message below field */
.formPrompt .input-message {
    font-size: 14px;
    margin-top: 4px;
    margin-bottom: 4px;
    line-height: 1.4;
}

.formPrompt .input-message.error-message {
    color: #dc3545;
}

.formPrompt .input-message.success-message {
    color: #28a745;
}

.formPrompt .input-message.default-message {
    color: #666666;
}

.formPrompt .input-message.focus-message {
    color: #4A90E2;
}

.formPrompt input:disabled ~ .input-message,
.formPrompt input:disabled + .input-message {
    color: #cccccc;
}

.formPrompt .select2-container {
    width: 96% !important;
    white-space: normal;
}

/*
 * Multi-select Select2 layout (fixes clipped / vertically crooked choice tags).
 * Overrides base Select2 rules that set overflow:hidden + white-space:nowrap on
 * .select2-selection__rendered, and formPrompt white-space:nowrap on the container.
 */
.formPrompt .select2-container--default .select2-selection--multiple,
.select2-prompt .select2-container--default .select2-selection--multiple {
    min-height: 38px;
    height: auto !important;
    overflow: visible;
    padding: 2px 5px 4px;
    box-sizing: border-box;
}

.formPrompt .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.select2-prompt .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: block;
    width: 100%;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    padding: 0;
    margin: 0;
    line-height: 1.4;
}

.formPrompt .select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-prompt .select2-container--default .select2-selection--multiple .select2-selection__choice {
    display: inline-flex;
    align-items: center;
    float: none;
    margin: 3px 4px 3px 0;
    padding: 2px 6px;
    line-height: 1.35;
    vertical-align: middle;
    box-sizing: border-box;
}

.formPrompt .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.select2-prompt .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    display: inline-flex;
    align-items: center;
    margin-right: 4px;
    line-height: 1;
    position: static;
}

.formPrompt .select2-container--default .select2-selection--multiple .select2-selection__choice__display,
.select2-prompt .select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    padding: 0;
    line-height: 1.35;
}

.formPrompt .select2-container--default .select2-selection--multiple .select2-search--inline,
.select2-prompt .select2-container--default .select2-selection--multiple .select2-search--inline {
    float: none;
    display: inline-block;
    width: auto !important;
    max-width: 100%;
    margin: 0;
    vertical-align: middle;
}

.formPrompt .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field,
.select2-prompt .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    width: auto !important;
    min-width: 8em;
    max-width: 100%;
    margin: 3px 0;
    height: auto;
    line-height: 1.35;
    padding: 2px 0;
}

.formPrompt img {
    margin: 4px;
}

.formPromptMoney {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.formPromptMoney > input[type="text"],
.formPromptMoney > input[type="number"],
.formPromptMoney > input[type="email"],
.formPromptMoney > input[type="password"],
.formPromptMoney > .form-control {
    display: inline-block;
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
}

.formPromptMoney > .formError {
    flex: 1 1 100%;
    white-space: normal;
}

/* Expanded choice / flag radios: keep option + label on one line, wrap as a group */
.formPrompt > div:has(> input[type="radio"]),
.formPrompt .flagType,
.formPrompt [id$="_flag_type"],
.formPrompt .form-check,
.formPrompt .radio {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    max-width: 100%;
}

.formPrompt .form-check,
.formPrompt .radio {
    flex-wrap: nowrap;
    margin: 0;
    width: auto;
    max-width: 100%;
}

.formPrompt .form-check label,
.formPrompt .radio label,
.formPrompt label:has(> input[type="radio"]) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto !important;
    margin: 0;
}

/*
 * Mobile-first checkbox rows (system-wide):
 * label + single checkbox stay beside each other (not far-right / off-screen).
 * Covers form-group rows, form_row control-group rows, and wrapped checkbox widgets.
 * Excludes multi-checkbox grids (formCheckBoxes / choice tables).
 */
.row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 10px;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    position: relative;
}

.row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formLabel {
    flex: 0 1 auto;
    width: auto !important;
    max-width: calc(100% - 40px);
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formPrompt {
    flex: 0 0 auto;
    width: auto !important;
    max-width: 40px;
    min-width: 24px;
    padding-left: 0;
    padding-right: 0;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    position: static;
}

.row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formPrompt input[type="checkbox"] {
    margin: 0;
}

.row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formPrompt > .formError,
.row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formPrompt > .help-block {
    position: absolute;
    left: 8px;
    right: 8px;
    top: 100%;
    width: auto;
    max-width: none;
    margin-top: 4px;
    white-space: normal;
}

#location_physical_location_gmap_address_widget {
    width: 95%;
    margin: auto;
}

.map-widget-around {
    width: 100%;
}

.row-100 {
    width: 100%;
}

/*
.select2-container {
    padding: 0px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
}

.select2-container .select2-selection--single {
    border: solid 1px #000000 !important;
    height: 36px;
}
*/

/* Undo Select2 base CSS that clips multi-select choice tags. */
.select2-container .select2-selection--multiple {
    height: auto !important;
    min-height: 32px;
    overflow: visible;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: block !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip;
    line-height: 1.4;
}

.select2-country {
    width: 95%;
}

.select2-field {
    width: 95%;
}

.select2-prompt {
    padding-left: 18px !important;
}

.tel_no_widget {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.tel_no_widget_country {
    padding-left: 18px;
}

.ui-datepicker {
    background-color: #ffffff;
}

/* Mobile / tablet: stop form rows from running off the side (all standard label/prompt rows) */
@media only screen and (max-width: 991.98px) {
    form .form-group.row,
    form .row.control-group,
    form .row:has(> .formLabel):has(> .formPrompt) {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    form .form-group.row > [class*="col-"],
    form .row.control-group > [class*="col-"],
    form .row:has(> .formLabel):has(> .formPrompt) > [class*="col-"] {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding-left: 8px;
        padding-right: 8px;
    }

    .formLabel,
    .formPrompt {
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .formPrompt > *:not(.form-control) {
        white-space: normal !important;
    }

    .formPrompt input[type="text"],
    .formPrompt input[type="email"],
    .formPrompt input[type="number"],
    .formPrompt input[type="password"],
    .formPrompt textarea,
    .formPrompt select,
    .formPrompt .form-control {
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .formPromptMoney {
        max-width: 100%;
    }

    .formCheckBoxes,
    .checkbox-row,
    .checkbox-choice-around {
        max-width: 100%;
        float: none;
        width: 100%;
    }
}

/* Large screens: restore Bootstrap column widths for single-checkbox rows */
@media only screen and (min-width: 992px) {
    .row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formLabel.col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
        width: auto !important;
        padding-left: 15px;
        padding-right: 15px;
    }

    .row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formPrompt.col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
        width: auto !important;
        padding-left: 15px;
        padding-right: 15px;
    }

    .row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formPrompt > .formError,
    .row:has(> .formLabel):has(> .formPrompt input[type="checkbox"]):not(:has(textarea)):not(:has(select)):not(:has(input[type="text"])):not(:has(input[type="number"])):not(:has(input[type="email"])):not(:has(input[type="password"])):not(:has(.formCheckBoxes)):not(:has(.checkbox-row)):not(:has(.choice-widget-col)):not(:has(.checkbox-choice-around)) > .formPrompt > .help-block {
        position: static;
        margin-top: 0;
    }
}

@media only screen and (max-width: 600px) {

    .select2-country {
        width: 180px;
    }

    .select2-field {
        width: 95%;
        margin: auto;
    }

    .formPrompt input[type="text"], .formPrompt input[type="email"], .formPrompt input[type="number"], .formPrompt textarea, .formPrompt select2 {
        width: 95%;
        margin: auto;
    }

    .formPromptMoney > input[type="text"],
    .formPromptMoney > input[type="number"],
    .formPromptMoney > input[type="email"],
    .formPromptMoney > .form-control {
        width: auto !important;
        flex: 1 1 auto;
        margin: 0 !important;
    }

}

/* Website monitoring signup — mobile-first */
.web-site-monitoring {
    max-width: 100%;
}

.web-site-monitoring__actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 1rem 0;
}

.web-site-monitoring__actions .btn {
    min-height: 44px;
    width: 100%;
}

.web-site-monitoring__status {
    margin: 1rem 0;
}

.web-site-monitoring__status--active {
    font-weight: 600;
}

.web-site-monitoring__site-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
}

.web-site-monitoring__site {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #d0d0d0;
}

.web-site-monitoring__site-main {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.web-site-monitoring__site-email,
.web-site-monitoring__site-checked {
    font-size: 0.9rem;
}

.web-site-monitoring__delete-form .btn {
    min-height: 44px;
    width: 100%;
}

.web-site-monitoring__form textarea {
    min-height: 8rem;
}

@media (min-width: 768px) {
    .web-site-monitoring__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .web-site-monitoring__actions .btn,
    .web-site-monitoring__delete-form .btn {
        width: auto;
        min-width: 44px;
    }

    .web-site-monitoring__site {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjX0lHQV9Db250ZW50QnVuZGxlX1Jlc291cmNlc19wdWJsaWNfY3NzX2NvbnRlbnQtZm9ybV9jc3MuY3NzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7OztFQUdFO0FBQ0Y7Ozs7O0lBS0ksb0NBQW9DO0lBQ3BDLHlCQUF5QjtJQUN6QixnQ0FBZ0M7SUFDaEMsbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixnQ0FBZ0M7QUFDcEM7O0FBRUE7O0lBRUkseUJBQXlCO0lBQ3pCLGdDQUFnQztBQUNwQzs7QUFFQTs7SUFFSSxtQkFBbUI7SUFDbkIsYUFBYTtBQUNqQjs7QUFFQTs7SUFFSSxvQ0FBb0M7SUFDcEMseUJBQXlCO0lBQ3pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBLDRDQUE0QztBQUM1QztJQUNJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZix5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0NBQWtDO0lBQ2xDLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixxQkFBcUI7QUFDekI7O0FBRUE7O0lBRUkscUJBQXFCO0lBQ3JCLGNBQWM7QUFDbEI7O0FBRUE7O0lBRUkscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQSxvSEFBb0g7QUFDcEg7Ozs7O0lBS0ksV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLGNBQWM7QUFDbEI7O0FBRUE7Ozs7O0lBS0kseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQix1UEFBdVA7SUFDdlAscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQiw0QkFBNEI7QUFDaEM7O0FBRUE7OztJQUdJLHlCQUF5QjtJQUN6QixxQkFBcUI7QUFDekI7O0FBRUE7Ozs7SUFJSSxxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLG1CQUFtQjtBQUN2Qjs7QUFFQTs7SUFFSSxjQUFjO0FBQ2xCOztBQUVBLDhIQUE4SDtBQUM5SDs7Ozs7SUFLSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsY0FBYztBQUNsQjs7QUFFQTs7Ozs7SUFLSSxxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixtQ0FBbUM7QUFDdkM7O0FBRUE7OztJQUdJLHFCQUFxQjtJQUNyQixtQ0FBbUM7QUFDdkM7O0FBRUE7OztJQUdJLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksbUNBQW1DO0FBQ3ZDOztBQUVBOztJQUVJLGNBQWM7QUFDbEI7O0FBRUEsNkRBQTZEO0FBQzdEOzs7SUFHSSxjQUFjO0lBQ2QsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixRQUFRO0lBQ1IsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQSx1Q0FBdUM7QUFDdkM7SUFDSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUEsZ0VBQWdFO0FBQ2hFO0lBQ0ksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsZUFBZTtJQUNmLDhEQUE4RDtJQUM5RCxzQkFBc0I7QUFDMUI7O0FBRUEsK0NBQStDO0FBQy9DOzs7OztJQUtJLFNBQVM7SUFDVCxzQkFBc0I7QUFDMUI7O0FBRUEsdUNBQXVDO0FBQ3ZDOzs7OztJQUtJLGNBQWM7QUFDbEI7O0FBRUEsa0RBQWtEO0FBQ2xEOzs7OztJQUtJLGFBQWE7SUFDYixxQkFBcUI7SUFDckIseUJBQXlCO0FBQzdCOztBQUVBLG1EQUFtRDtBQUNuRDs7Ozs7Ozs7OztJQVVJLHFCQUFxQjtJQUNyQixjQUFjO0lBQ2QseUJBQXlCO0FBQzdCOztBQUVBLDhEQUE4RDtBQUM5RDs7Ozs7Ozs7OztJQVVJLHFCQUFxQjtJQUNyQixjQUFjO0lBQ2QseUJBQXlCO0FBQzdCOztBQUVBLGtGQUFrRjtBQUNsRjs7Ozs7Ozs7OztJQVVJLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsY0FBYztJQUNkLG1CQUFtQjtBQUN2Qjs7QUFFQTs7Ozs7Ozs7OztJQVVJLGNBQWM7QUFDbEI7O0FBRUEseUJBQXlCO0FBQ3pCOztJQUVJLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixVQUFVO0FBQ2Q7O0FBRUEsNkNBQTZDO0FBQzdDO0lBQ0kseUJBQXlCO0lBQ3pCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBLHFEQUFxRDtBQUNyRDtJQUNJLHlCQUF5QjtJQUN6QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQSx3REFBd0Q7QUFDeEQ7SUFDSSx5QkFBeUI7SUFDekIsY0FBYztJQUNkLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBLDhCQUE4QjtBQUM5QjtJQUNJLGVBQWU7SUFDZixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7O0lBRUksY0FBYztBQUNsQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixtQkFBbUI7QUFDdkI7O0FBRUE7Ozs7RUFJRTtBQUNGOztJQUVJLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixzQkFBc0I7QUFDMUI7O0FBRUE7O0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsU0FBUztJQUNULGdCQUFnQjtBQUNwQjs7QUFFQTs7SUFFSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEIsc0JBQXNCO0FBQzFCOztBQUVBOztJQUVJLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxnQkFBZ0I7QUFDcEI7O0FBRUE7O0lBRUksVUFBVTtJQUNWLGlCQUFpQjtBQUNyQjs7QUFFQTs7SUFFSSxXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsU0FBUztJQUNULHNCQUFzQjtBQUMxQjs7QUFFQTs7SUFFSSxzQkFBc0I7SUFDdEIsY0FBYztJQUNkLGVBQWU7SUFDZixhQUFhO0lBQ2IsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLFFBQVE7QUFDWjs7QUFFQTs7Ozs7SUFLSSxxQkFBcUI7SUFDckIsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osZUFBZTtJQUNmLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxtQkFBbUI7QUFDdkI7O0FBRUEsb0ZBQW9GO0FBQ3BGOzs7OztJQUtJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsZUFBZTtBQUNuQjs7QUFFQTs7SUFFSSxpQkFBaUI7SUFDakIsU0FBUztJQUNULFdBQVc7SUFDWCxlQUFlO0FBQ25COztBQUVBOzs7SUFHSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLFFBQVE7SUFDUixzQkFBc0I7SUFDdEIsU0FBUztBQUNiOztBQUVBOzs7OztFQUtFO0FBQ0Y7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsU0FBUztJQUNULGNBQWM7SUFDZCxlQUFlO0lBQ2YsV0FBVztJQUNYLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksY0FBYztJQUNkLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsWUFBWTtJQUNaLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2Qsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixlQUFlO0lBQ2YsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxTQUFTO0FBQ2I7O0FBRUE7O0lBRUksa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsU0FBUztJQUNULFdBQVc7SUFDWCxlQUFlO0lBQ2YsZUFBZTtJQUNmLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFVBQVU7SUFDVixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBOzs7Ozs7Ozs7Ozs7O0NBYUM7O0FBRUQsK0RBQStEO0FBQy9EO0lBQ0ksdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0FBQ2I7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUEsK0ZBQStGO0FBQy9GO0lBQ0k7OztRQUdJLHlCQUF5QjtRQUN6QiwwQkFBMEI7UUFDMUIsZUFBZTtRQUNmLHNCQUFzQjtJQUMxQjs7SUFFQTs7O1FBR0ksZUFBZTtRQUNmLFlBQVk7UUFDWixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtJQUN0Qjs7SUFFQTs7UUFFSSxlQUFlO1FBQ2YsWUFBWTtRQUNaLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLDhCQUE4QjtJQUNsQzs7SUFFQTs7Ozs7OztRQU9JLDBCQUEwQjtRQUMxQixzQkFBc0I7SUFDMUI7O0lBRUE7UUFDSSxlQUFlO0lBQ25COztJQUVBOzs7UUFHSSxlQUFlO1FBQ2YsV0FBVztRQUNYLFdBQVc7SUFDZjtBQUNKOztBQUVBLDRFQUE0RTtBQUM1RTtJQUNJO1FBQ0ksYUFBYTtRQUNiLGNBQWM7UUFDZCxzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtJQUN2Qjs7SUFFQTtRQUNJLGFBQWE7UUFDYixjQUFjO1FBQ2Qsc0JBQXNCO1FBQ3RCLGtCQUFrQjtRQUNsQixtQkFBbUI7SUFDdkI7O0lBRUE7O1FBRUksZ0JBQWdCO1FBQ2hCLGFBQWE7SUFDakI7QUFDSjs7QUFFQTs7SUFFSTtRQUNJLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxVQUFVO1FBQ1YsWUFBWTtJQUNoQjs7SUFFQTtRQUNJLFVBQVU7UUFDVixZQUFZO0lBQ2hCOztJQUVBOzs7O1FBSUksc0JBQXNCO1FBQ3RCLGNBQWM7UUFDZCxvQkFBb0I7SUFDeEI7O0FBRUo7O0FBRUEsNkNBQTZDO0FBQzdDO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1Ysa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGdDQUFnQztBQUNwQzs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsWUFBWTtBQUNoQjs7QUFFQTs7SUFFSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0k7UUFDSSxtQkFBbUI7UUFDbkIsZUFBZTtJQUNuQjs7SUFFQTs7UUFFSSxXQUFXO1FBQ1gsZUFBZTtJQUNuQjs7SUFFQTtRQUNJLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsOEJBQThCO0lBQ2xDO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvSUdBL0NvbnRlbnRCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9jc3MvY29udGVudC1mb3JtLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJvcHRpb24ge1xyXG59XHJcblxyXG4vKlxyXG4gKiBTeXN0ZW0td2lkZSByZWFkLW9ubHkgLyBkaXNhYmxlZCBmb3JtIGNvbnRyb2xzLlxyXG4gKiBHcmV5IGJhY2tncm91bmQgKyBkdWxsZXIgdGV4dDsgc21hbGwgaGludCBzaG93biB2aWEgcmVhZG9ubHktZmllbGRzLmpzIG9uIGVkaXQgYXR0ZW1wdC5cclxuICovXHJcbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiaGlkZGVuXCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwicmVzZXRcIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKTppcyhbcmVhZG9ubHldLCA6ZGlzYWJsZWQpLFxyXG50ZXh0YXJlYTppcyhbcmVhZG9ubHldLCA6ZGlzYWJsZWQpLFxyXG5zZWxlY3Q6aXMoW3JlYWRvbmx5XSwgOmRpc2FibGVkKSxcclxuLmZvcm0tY29udHJvbDppcyhbcmVhZG9ubHldLCA6ZGlzYWJsZWQpLFxyXG4uZm9ybS1zZWxlY3Q6aXMoW3JlYWRvbmx5XSwgOmRpc2FibGVkKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjY2VkNGRhICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjNmM3NTdkO1xyXG59XHJcblxyXG5pbnB1dDppcyhbcmVhZG9ubHldLCA6ZGlzYWJsZWQpOjpwbGFjZWhvbGRlcixcclxudGV4dGFyZWE6aXMoW3JlYWRvbmx5XSwgOmRpc2FibGVkKTo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICNhZGI1YmQgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjYWRiNWJkO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06aXMoW3JlYWRvbmx5XSwgOmRpc2FibGVkKSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmlzKFtyZWFkb25seV0sIDpkaXNhYmxlZCkge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIG9wYWNpdHk6IDAuNjU7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLFxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5mb3JtLXJlYWRvbmx5LWhpbnQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbjogMC4ycmVtIDAgMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgIGNvbG9yOiAjNmM3NTdkO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLmZvcm0tcmVhZG9ubHktaGludC5pcy12aXNpYmxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKiBEcm9wZG93biBkZWZhdWx0IC0gbWF0Y2hlcyBpbnB1dCBkZXNpZ24gKi9cclxuLmZvcm1Qcm9tcHQgc2VsZWN0IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgcGFkZGluZzogOHB4IDMycHggOHB4IDEycHg7XHJcbiAgICB3aWR0aDogOTYlICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcclxuICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBhcHBlYXJhbmNlOiBhdXRvO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZm9ybVByb21wdCBzZWxlY3Q6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogIzRBOTBFMjtcclxufVxyXG5cclxuLmZvcm1Qcm9tcHQgc2VsZWN0LmVycm9yLFxyXG4uZm9ybVByb21wdCBzZWxlY3QuaGFzLWVycm9yIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcclxuICAgIGNvbG9yOiAjZGMzNTQ1O1xyXG59XHJcblxyXG4uZm9ybVByb21wdCBzZWxlY3Q6ZGlzYWJsZWQsXHJcbi5mb3JtUHJvbXB0IHNlbGVjdFtyZWFkb25seV0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxuICAgIGNvbG9yOiAjNmM3NTdkO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLmNoZWNrYm94LWNob2ljZS1hcm91bmQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmNoZWNrYm94LWNob2ljZS1hcm91bmQgZGl2IHtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweDtcclxufVxyXG5cclxuLmNoZWNrYm94LXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jaG9pY2Utd2lkZ2V0LWxhYmVsIGxhYmVsIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG59XHJcblxyXG4uY2hvaWNlLXdpZGdldC1jb2wge1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxufVxyXG5cclxuLmNob2ljZS13aWRnZXQtY29sID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGQge1xyXG4gICAgcGFkZGluZzogMnB4O1xyXG59XHJcblxyXG4uY2tlX3Jlc2V0IHtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLnVpLXN0YXRlLWhpZ2hsaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xyXG59XHJcblxyXG4uZHJvcHpvbmUuZHotY2xpY2thYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZHotYnV0dG9uIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZHJvcHpvbmUgPiAuZHotbWVzc2FnZSA+IC5kei1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgPiAuZHotbWVzc2FnZSA+IC5kei1idXR0b24gPiBzcGFuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mb3JtQWN0aW9ucyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb3JtQWN0aW9ucyBidXR0b24sIC5mb3JtQWN0aW9ucyBpbnB1dCwgLmZvcm1BY3Rpb25zIGEsIC5mb3JtQWN0aW9ucyBoMyB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICBmb250LXNpemU6IDEuNGVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mb3JtTGFiZWwge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxufVxyXG5cclxuLmZvcm1DaGVja0JveGVzIGRpdi5jaGVja2JveCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5mb3JtQ2hlY2tCb3hlcyBkaXYuY2hlY2tib3ggbGFiZWwge1xyXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uZm9ybUNoZWNrQm94ZXMgaW5wdXQsIC5mb3JtQ2hlY2tCb3hlcyBkaXYgaW5wdXQge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgbWFyZ2luOiA0cHg7XHJcbn1cclxuXHJcbi8qIENoZWNrYm94IC0gZGVzaWduOiBzZWxlY3RlZCA9IGRhcmsgYmx1ZSBiZyArIHdoaXRlIGNoZWNrbWFyaywgZW5hYmxlZCA9IGRhcmsgZ3JleSBib3JkZXIsIGRpc2FibGVkID0gbGlnaHQgZ3JleSAqL1xyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbi5mb3JtQ2hlY2tCb3hlcyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbi5mb3JtUHJvbXB0IC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbi5mb3JtUHJvbXB0IC5mb3JtLWNoZWNrIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuLmNob2ljZS13aWRnZXQtY29sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbjogMCA4cHggMCAwO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgIzMzMzMzMztcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCxcclxuLmZvcm1DaGVja0JveGVzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkLFxyXG4uZm9ybVByb21wdCAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQsXHJcbi5mb3JtUHJvbXB0IC5mb3JtLWNoZWNrIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkLFxyXG4uY2hvaWNlLXdpZGdldC1jb2wgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlM2E1ZjtcclxuICAgIGJvcmRlci1jb2xvcjogIzFlM2E1ZjtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInJTNFJTNDcGF0aCBmaWxsPSclMjNmZmZmZmYnIGQ9J00xMC4yOCAyLjI4TDMuOTg5IDguNTc1IDEuNjk1IDYuMjhBMSAxIDAgMDAuMjggNy42OTVsMyAzYTEgMSAwIDAwMS40MTQgMGw3LTdBMSAxIDAgMDAxMC4yOCAyLjI4eicvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpob3ZlcjpjaGVja2VkLFxyXG4uZm9ybUNoZWNrQm94ZXMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmhvdmVyOmNoZWNrZWQsXHJcbi5jaG9pY2Utd2lkZ2V0LWNvbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06aG92ZXI6Y2hlY2tlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM0YTczO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMmM0YTczO1xyXG59XHJcblxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQsXHJcbi5mb3JtQ2hlY2tCb3hlcyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQsXHJcbi5mb3JtUHJvbXB0IC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQsXHJcbi5jaG9pY2Utd2lkZ2V0LWNvbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IGxhYmVsOmhhcyhpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQpLFxyXG4uZm9ybUNoZWNrQm94ZXMgbGFiZWw6aGFzKGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCkge1xyXG4gICAgY29sb3I6ICM5OTk5OTk7XHJcbn1cclxuXHJcbi8qIFJhZGlvIC0gZGVzaWduOiBzZWxlY3RlZCA9IGxpZ2h0IGJsdWUgYm9yZGVyICsgbGlnaHQgYmx1ZSBpbm5lciBjaXJjbGUsIGVuYWJsZWQgPSBkYXJrIGdyZXkgYm9yZGVyLCBkaXNhYmxlZCA9IGxpZ2h0IGdyZXkgKi9cclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4uZm9ybUNoZWNrQm94ZXMgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4uZm9ybVByb21wdCAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4uZm9ybVByb21wdCAuZm9ybS1jaGVjayBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbi5jaG9pY2Utd2lkZ2V0LWNvbCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICBtYXJnaW46IDAgOHB4IDAgMDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzMzMzMzM7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQsXHJcbi5mb3JtQ2hlY2tCb3hlcyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCxcclxuLmZvcm1Qcm9tcHQgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkLFxyXG4uZm9ybVByb21wdCAuZm9ybS1jaGVjayBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCxcclxuLmNob2ljZS13aWRnZXQtY29sIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzRBOTBFMjtcclxuICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjNEE5MEUyO1xyXG59XHJcblxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwicmFkaW9cIl06aG92ZXI6Y2hlY2tlZCxcclxuLmZvcm1DaGVja0JveGVzIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpob3ZlcjpjaGVja2VkLFxyXG4uY2hvaWNlLXdpZGdldC1jb2wgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmhvdmVyOmNoZWNrZWQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNWE5ZmU4O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICM1YTlmZTg7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCxcclxuLmZvcm1DaGVja0JveGVzIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCxcclxuLmNob2ljZS13aWRnZXQtY29sIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCB7XHJcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOmNoZWNrZWQge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNiMGIwYjA7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IGxhYmVsOmhhcyhpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQpLFxyXG4uZm9ybUNoZWNrQm94ZXMgbGFiZWw6aGFzKGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCkge1xyXG4gICAgY29sb3I6ICM5OTk5OTk7XHJcbn1cclxuXHJcbi8qIENob2ljZSBsYWJlbHMgKFllcy9ObywgY2hlY2tib3ggbGFiZWxzKSAtIGRhcmsgZ3JleSB0ZXh0ICovXHJcbi5mb3JtUHJvbXB0IC5jaG9pY2Utd2lkZ2V0LWNvbCBsYWJlbCxcclxuLmZvcm1Qcm9tcHQgLmZvcm0tY2hlY2sgbGFiZWwsXHJcbi5mb3JtQ2hlY2tCb3hlcyBsYWJlbCB7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5mb3JtRWxlbWVudCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5zcGFuLmZvcm1FcnJvciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmZvcm1FcnJvciB1bCBsaSwgLmZvcm1FcnJvciwgLmZvcm1FcnJvciAqIHtcclxuICAgIGNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmZvcm1Qcm9tcHQge1xyXG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogOHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8qIElucHV0IHdyYXBwZXIgZm9yIGljb24gcG9zaXRpb25pbmcgKi9cclxuLmZvcm1Qcm9tcHQgLmlucHV0LXdyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDk2JTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLyogSW5wdXQgZmllbGQgZGVmYXVsdCAtIHdoaXRlIGJveCwgbGlnaHQgZ3JleSBib3JkZXIsIHJvdW5kZWQgKi9cclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCAuZm9ybVByb21wdCB0ZXh0YXJlYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgIHBhZGRpbmc6IDhweCAzMnB4IDhweCAxMnB4O1xyXG4gICAgd2lkdGg6IDk2JSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XHJcbiAgICBjb2xvcjogIzMzMzMzMztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLyogV2hlbiBpbnB1dCBpcyBpbnNpZGUgd3JhcHBlciwgYWRqdXN0IHdpZHRoICovXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4uZm9ybVByb21wdCAuaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuLmZvcm1Qcm9tcHQgLmlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogUGxhY2Vob2xkZXIgc3R5bGluZyAtIGxpZ2h0ZXIgZ3JleSAqL1xyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJlbWFpbFwiXTo6cGxhY2Vob2xkZXIsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJudW1iZXJcIl06OnBsYWNlaG9sZGVyLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06OnBsYWNlaG9sZGVyLFxyXG4uZm9ybVByb21wdCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM5OTk5OTk7XHJcbn1cclxuXHJcbi8qIElucHV0IGZpZWxkIGZvY3VzZWQgc3RhdGUgLSBsaWdodCBibHVlIGJvcmRlciAqL1xyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXHJcbi5mb3JtUHJvbXB0IHRleHRhcmVhOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICM0QTkwRTI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4vKiBJbnB1dCBmaWVsZCBlcnJvciBzdGF0ZSAtIHJlZCBib3JkZXIsIHJlZCB0ZXh0ICovXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmVycm9yLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiZW1haWxcIl0uZXJyb3IsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJudW1iZXJcIl0uZXJyb3IsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXS5lcnJvcixcclxuLmZvcm1Qcm9tcHQgdGV4dGFyZWEuZXJyb3IsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmhhcy1lcnJvcixcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLmhhcy1lcnJvcixcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5oYXMtZXJyb3IsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXS5oYXMtZXJyb3IsXHJcbi5mb3JtUHJvbXB0IHRleHRhcmVhLmhhcy1lcnJvciB7XHJcbiAgICBib3JkZXItY29sb3I6ICNkYzM1NDU7XHJcbiAgICBjb2xvcjogI2RjMzU0NTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi8qIElucHV0IGZpZWxkIHN1Y2Nlc3Mgc3RhdGUgLSBsaWdodCBncmVlbiBib3JkZXIsIGNoZWNrbWFyayAqL1xyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwidGV4dFwiXS5zdWNjZXNzLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiZW1haWxcIl0uc3VjY2VzcyxcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5zdWNjZXNzLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uc3VjY2VzcyxcclxuLmZvcm1Qcm9tcHQgdGV4dGFyZWEuc3VjY2VzcyxcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cInRleHRcIl0udmFsaWQsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJlbWFpbFwiXS52YWxpZCxcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cIm51bWJlclwiXS52YWxpZCxcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLnZhbGlkLFxyXG4uZm9ybVByb21wdCB0ZXh0YXJlYS52YWxpZCB7XHJcbiAgICBib3JkZXItY29sb3I6ICMyOGE3NDU7XHJcbiAgICBjb2xvcjogIzI4YTc0NTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi8qIElucHV0IGZpZWxkIGRpc2FibGVkIC8gcmVhZG9ubHkgc3RhdGUgLSBsaWdodCBncmV5IGJhY2tncm91bmQgYW5kIGR1bGxlciB0ZXh0ICovXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJudW1iZXJcIl06ZGlzYWJsZWQsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpkaXNhYmxlZCxcclxuLmZvcm1Qcm9tcHQgdGV4dGFyZWE6ZGlzYWJsZWQsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdW3JlYWRvbmx5XSxcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImVtYWlsXCJdW3JlYWRvbmx5XSxcclxuLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtyZWFkb25seV0sXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtyZWFkb25seV0sXHJcbi5mb3JtUHJvbXB0IHRleHRhcmVhW3JlYWRvbmx5XSB7XHJcbiAgICBib3JkZXItY29sb3I6ICNkMGQwZDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xyXG4gICAgY29sb3I6ICM2Yzc1N2Q7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJlbWFpbFwiXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJudW1iZXJcIl06ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLFxyXG4uZm9ybVByb21wdCB0ZXh0YXJlYTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdW3JlYWRvbmx5XTo6cGxhY2Vob2xkZXIsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJlbWFpbFwiXVtyZWFkb25seV06OnBsYWNlaG9sZGVyLFxyXG4uZm9ybVByb21wdCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdW3JlYWRvbmx5XTo6cGxhY2Vob2xkZXIsXHJcbi5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtyZWFkb25seV06OnBsYWNlaG9sZGVyLFxyXG4uZm9ybVByb21wdCB0ZXh0YXJlYVtyZWFkb25seV06OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjYWRiNWJkO1xyXG59XHJcblxyXG4vKiBJbnB1dCBpY29uIGNvbnRhaW5lciAqL1xyXG4uZm9ybVByb21wdCAuaW5wdXQtaWNvbixcclxuLmZvcm1Qcm9tcHQgLmlucHV0LXdyYXBwZXIgLmlucHV0LWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDhweDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIEVycm9yIGljb24gLSByZWQgY2lyY2xlIHdpdGggZXhjbGFtYXRpb24gKi9cclxuLmZvcm1Qcm9tcHQgLmlucHV0LWljb24uZXJyb3ItaWNvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC1pY29uLmVycm9yLWljb246OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIiFcIjtcclxufVxyXG5cclxuLyogU3VjY2VzcyBpY29uIC0gbGlnaHQgZ3JlZW4gY2lyY2xlIHdpdGggY2hlY2ttYXJrICovXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC1pY29uLnN1Y2Nlc3MtaWNvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC1pY29uLnN1Y2Nlc3MtaWNvbjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwi4pyTXCI7XHJcbn1cclxuXHJcbi8qIENsZWFyIGJ1dHRvbiBpY29uIChmb3IgZm9jdXNlZCBzdGF0ZSkgLSBncmV5IGNpcmNsZSAqL1xyXG4uZm9ybVByb21wdCAuaW5wdXQtaWNvbi5jbGVhci1pY29uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC1pY29uLmNsZWFyLWljb246OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIsOXXCI7XHJcbn1cclxuXHJcbi8qIElucHV0IG1lc3NhZ2UgYmVsb3cgZmllbGQgKi9cclxuLmZvcm1Qcm9tcHQgLmlucHV0LW1lc3NhZ2Uge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmZvcm1Qcm9tcHQgLmlucHV0LW1lc3NhZ2UuZXJyb3ItbWVzc2FnZSB7XHJcbiAgICBjb2xvcjogI2RjMzU0NTtcclxufVxyXG5cclxuLmZvcm1Qcm9tcHQgLmlucHV0LW1lc3NhZ2Uuc3VjY2Vzcy1tZXNzYWdlIHtcclxuICAgIGNvbG9yOiAjMjhhNzQ1O1xyXG59XHJcblxyXG4uZm9ybVByb21wdCAuaW5wdXQtbWVzc2FnZS5kZWZhdWx0LW1lc3NhZ2Uge1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5pbnB1dC1tZXNzYWdlLmZvY3VzLW1lc3NhZ2Uge1xyXG4gICAgY29sb3I6ICM0QTkwRTI7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IGlucHV0OmRpc2FibGVkIH4gLmlucHV0LW1lc3NhZ2UsXHJcbi5mb3JtUHJvbXB0IGlucHV0OmRpc2FibGVkICsgLmlucHV0LW1lc3NhZ2Uge1xyXG4gICAgY29sb3I6ICNjY2NjY2M7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogOTYlICFpbXBvcnRhbnQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG4vKlxyXG4gKiBNdWx0aS1zZWxlY3QgU2VsZWN0MiBsYXlvdXQgKGZpeGVzIGNsaXBwZWQgLyB2ZXJ0aWNhbGx5IGNyb29rZWQgY2hvaWNlIHRhZ3MpLlxyXG4gKiBPdmVycmlkZXMgYmFzZSBTZWxlY3QyIHJ1bGVzIHRoYXQgc2V0IG92ZXJmbG93OmhpZGRlbiArIHdoaXRlLXNwYWNlOm5vd3JhcCBvblxyXG4gKiAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLCBhbmQgZm9ybVByb21wdCB3aGl0ZS1zcGFjZTpub3dyYXAgb24gdGhlIGNvbnRhaW5lci5cclxuICovXHJcbi5mb3JtUHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlLFxyXG4uc2VsZWN0Mi1wcm9tcHQgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgbWluLWhlaWdodDogMzhweDtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBwYWRkaW5nOiAycHggNXB4IDRweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsXHJcbi5zZWxlY3QyLXByb21wdCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlLFxyXG4uc2VsZWN0Mi1wcm9tcHQgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBtYXJnaW46IDNweCA0cHggM3B4IDA7XHJcbiAgICBwYWRkaW5nOiAycHggNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmZvcm1Qcm9tcHQgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSxcclxuLnNlbGVjdDItcHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19kaXNwbGF5LFxyXG4uc2VsZWN0Mi1wcm9tcHQgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX2Rpc3BsYXkge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xyXG59XHJcblxyXG4uZm9ybVByb21wdCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSxcclxuLnNlbGVjdDItcHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQsXHJcbi5zZWxlY3QyLXByb21wdCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4td2lkdGg6IDhlbTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogM3B4IDA7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcclxuICAgIHBhZGRpbmc6IDJweCAwO1xyXG59XHJcblxyXG4uZm9ybVByb21wdCBpbWcge1xyXG4gICAgbWFyZ2luOiA0cHg7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0TW9uZXkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiA4cHg7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0TW9uZXkgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuLmZvcm1Qcm9tcHRNb25leSA+IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbi5mb3JtUHJvbXB0TW9uZXkgPiBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbi5mb3JtUHJvbXB0TW9uZXkgPiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbi5mb3JtUHJvbXB0TW9uZXkgPiAuZm9ybS1jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZm9ybVByb21wdE1vbmV5ID4gLmZvcm1FcnJvciB7XHJcbiAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIEV4cGFuZGVkIGNob2ljZSAvIGZsYWcgcmFkaW9zOiBrZWVwIG9wdGlvbiArIGxhYmVsIG9uIG9uZSBsaW5lLCB3cmFwIGFzIGEgZ3JvdXAgKi9cclxuLmZvcm1Qcm9tcHQgPiBkaXY6aGFzKD4gaW5wdXRbdHlwZT1cInJhZGlvXCJdKSxcclxuLmZvcm1Qcm9tcHQgLmZsYWdUeXBlLFxyXG4uZm9ybVByb21wdCBbaWQkPVwiX2ZsYWdfdHlwZVwiXSxcclxuLmZvcm1Qcm9tcHQgLmZvcm0tY2hlY2ssXHJcbi5mb3JtUHJvbXB0IC5yYWRpbyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDZweCAxNHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9ybVByb21wdCAuZm9ybS1jaGVjayxcclxuLmZvcm1Qcm9tcHQgLnJhZGlvIHtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mb3JtUHJvbXB0IC5mb3JtLWNoZWNrIGxhYmVsLFxyXG4uZm9ybVByb21wdCAucmFkaW8gbGFiZWwsXHJcbi5mb3JtUHJvbXB0IGxhYmVsOmhhcyg+IGlucHV0W3R5cGU9XCJyYWRpb1wiXSkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiA2cHg7XHJcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKlxyXG4gKiBNb2JpbGUtZmlyc3QgY2hlY2tib3ggcm93cyAoc3lzdGVtLXdpZGUpOlxyXG4gKiBsYWJlbCArIHNpbmdsZSBjaGVja2JveCBzdGF5IGJlc2lkZSBlYWNoIG90aGVyIChub3QgZmFyLXJpZ2h0IC8gb2ZmLXNjcmVlbikuXHJcbiAqIENvdmVycyBmb3JtLWdyb3VwIHJvd3MsIGZvcm1fcm93IGNvbnRyb2wtZ3JvdXAgcm93cywgYW5kIHdyYXBwZWQgY2hlY2tib3ggd2lkZ2V0cy5cclxuICogRXhjbHVkZXMgbXVsdGktY2hlY2tib3ggZ3JpZHMgKGZvcm1DaGVja0JveGVzIC8gY2hvaWNlIHRhYmxlcykuXHJcbiAqL1xyXG4ucm93Omhhcyg+IC5mb3JtTGFiZWwpOmhhcyg+IC5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSk6bm90KDpoYXModGV4dGFyZWEpKTpub3QoOmhhcyhzZWxlY3QpKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwidGV4dFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJudW1iZXJcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwiZW1haWxcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0pKTpub3QoOmhhcyguZm9ybUNoZWNrQm94ZXMpKTpub3QoOmhhcyguY2hlY2tib3gtcm93KSk6bm90KDpoYXMoLmNob2ljZS13aWRnZXQtY29sKSk6bm90KDpoYXMoLmNoZWNrYm94LWNob2ljZS1hcm91bmQpKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnJvdzpoYXMoPiAuZm9ybUxhYmVsKTpoYXMoPiAuZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdCg6aGFzKHRleHRhcmVhKSk6bm90KDpoYXMoc2VsZWN0KSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cInRleHRcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwibnVtYmVyXCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cImVtYWlsXCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdKSk6bm90KDpoYXMoLmZvcm1DaGVja0JveGVzKSk6bm90KDpoYXMoLmNoZWNrYm94LXJvdykpOm5vdCg6aGFzKC5jaG9pY2Utd2lkZ2V0LWNvbCkpOm5vdCg6aGFzKC5jaGVja2JveC1jaG9pY2UtYXJvdW5kKSkgPiAuZm9ybUxhYmVsIHtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4ucm93Omhhcyg+IC5mb3JtTGFiZWwpOmhhcyg+IC5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSk6bm90KDpoYXModGV4dGFyZWEpKTpub3QoOmhhcyhzZWxlY3QpKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwidGV4dFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJudW1iZXJcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwiZW1haWxcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0pKTpub3QoOmhhcyguZm9ybUNoZWNrQm94ZXMpKTpub3QoOmhhcyguY2hlY2tib3gtcm93KSk6bm90KDpoYXMoLmNob2ljZS13aWRnZXQtY29sKSk6bm90KDpoYXMoLmNoZWNrYm94LWNob2ljZS1hcm91bmQpKSA+IC5mb3JtUHJvbXB0IHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogNDBweDtcclxuICAgIG1pbi13aWR0aDogMjRweDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbn1cclxuXHJcbi5yb3c6aGFzKD4gLmZvcm1MYWJlbCk6aGFzKD4gLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoOmhhcyh0ZXh0YXJlYSkpOm5vdCg6aGFzKHNlbGVjdCkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJ0ZXh0XCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cIm51bWJlclwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJlbWFpbFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSkpOm5vdCg6aGFzKC5mb3JtQ2hlY2tCb3hlcykpOm5vdCg6aGFzKC5jaGVja2JveC1yb3cpKTpub3QoOmhhcyguY2hvaWNlLXdpZGdldC1jb2wpKTpub3QoOmhhcyguY2hlY2tib3gtY2hvaWNlLWFyb3VuZCkpID4gLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLnJvdzpoYXMoPiAuZm9ybUxhYmVsKTpoYXMoPiAuZm9ybVByb21wdCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdCg6aGFzKHRleHRhcmVhKSk6bm90KDpoYXMoc2VsZWN0KSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cInRleHRcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwibnVtYmVyXCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cImVtYWlsXCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdKSk6bm90KDpoYXMoLmZvcm1DaGVja0JveGVzKSk6bm90KDpoYXMoLmNoZWNrYm94LXJvdykpOm5vdCg6aGFzKC5jaG9pY2Utd2lkZ2V0LWNvbCkpOm5vdCg6aGFzKC5jaGVja2JveC1jaG9pY2UtYXJvdW5kKSkgPiAuZm9ybVByb21wdCA+IC5mb3JtRXJyb3IsXHJcbi5yb3c6aGFzKD4gLmZvcm1MYWJlbCk6aGFzKD4gLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoOmhhcyh0ZXh0YXJlYSkpOm5vdCg6aGFzKHNlbGVjdCkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJ0ZXh0XCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cIm51bWJlclwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJlbWFpbFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSkpOm5vdCg6aGFzKC5mb3JtQ2hlY2tCb3hlcykpOm5vdCg6aGFzKC5jaGVja2JveC1yb3cpKTpub3QoOmhhcyguY2hvaWNlLXdpZGdldC1jb2wpKTpub3QoOmhhcyguY2hlY2tib3gtY2hvaWNlLWFyb3VuZCkpID4gLmZvcm1Qcm9tcHQgPiAuaGVscC1ibG9jayB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA4cHg7XHJcbiAgICByaWdodDogOHB4O1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG4jbG9jYXRpb25fcGh5c2ljYWxfbG9jYXRpb25fZ21hcF9hZGRyZXNzX3dpZGdldCB7XHJcbiAgICB3aWR0aDogOTUlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4ubWFwLXdpZGdldC1hcm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5yb3ctMTAwIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKlxyXG4uc2VsZWN0Mi1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzAwMDAwMCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAzNnB4O1xyXG59XHJcbiovXHJcblxyXG4vKiBVbmRvIFNlbGVjdDIgYmFzZSBDU1MgdGhhdCBjbGlwcyBtdWx0aS1zZWxlY3QgY2hvaWNlIHRhZ3MuICovXHJcbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWluLWhlaWdodDogMzJweDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvdW50cnkge1xyXG4gICAgd2lkdGg6IDk1JTtcclxufVxyXG5cclxuLnNlbGVjdDItZmllbGQge1xyXG4gICAgd2lkdGg6IDk1JTtcclxufVxyXG5cclxuLnNlbGVjdDItcHJvbXB0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMThweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGVsX25vX3dpZGdldCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogMTBweDtcclxufVxyXG5cclxuLnRlbF9ub193aWRnZXRfY291bnRyeSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi8qIE1vYmlsZSAvIHRhYmxldDogc3RvcCBmb3JtIHJvd3MgZnJvbSBydW5uaW5nIG9mZiB0aGUgc2lkZSAoYWxsIHN0YW5kYXJkIGxhYmVsL3Byb21wdCByb3dzKSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XHJcbiAgICBmb3JtIC5mb3JtLWdyb3VwLnJvdyxcclxuICAgIGZvcm0gLnJvdy5jb250cm9sLWdyb3VwLFxyXG4gICAgZm9ybSAucm93Omhhcyg+IC5mb3JtTGFiZWwpOmhhcyg+IC5mb3JtUHJvbXB0KSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtIC5mb3JtLWdyb3VwLnJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdLFxyXG4gICAgZm9ybSAucm93LmNvbnRyb2wtZ3JvdXAgPiBbY2xhc3MqPVwiY29sLVwiXSxcclxuICAgIGZvcm0gLnJvdzpoYXMoPiAuZm9ybUxhYmVsKTpoYXMoPiAuZm9ybVByb21wdCkgPiBbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybUxhYmVsLFxyXG4gICAgLmZvcm1Qcm9tcHQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1Qcm9tcHQgPiAqOm5vdCguZm9ybS1jb250cm9sKSB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuICAgIC5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICAgIC5mb3JtUHJvbXB0IHRleHRhcmVhLFxyXG4gICAgLmZvcm1Qcm9tcHQgc2VsZWN0LFxyXG4gICAgLmZvcm1Qcm9tcHQgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybVByb21wdE1vbmV5IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1DaGVja0JveGVzLFxyXG4gICAgLmNoZWNrYm94LXJvdyxcclxuICAgIC5jaGVja2JveC1jaG9pY2UtYXJvdW5kIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIExhcmdlIHNjcmVlbnM6IHJlc3RvcmUgQm9vdHN0cmFwIGNvbHVtbiB3aWR0aHMgZm9yIHNpbmdsZS1jaGVja2JveCByb3dzICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgIC5yb3c6aGFzKD4gLmZvcm1MYWJlbCk6aGFzKD4gLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoOmhhcyh0ZXh0YXJlYSkpOm5vdCg6aGFzKHNlbGVjdCkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJ0ZXh0XCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cIm51bWJlclwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJlbWFpbFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSkpOm5vdCg6aGFzKC5mb3JtQ2hlY2tCb3hlcykpOm5vdCg6aGFzKC5jaGVja2JveC1yb3cpKTpub3QoOmhhcyguY2hvaWNlLXdpZGdldC1jb2wpKTpub3QoOmhhcyguY2hlY2tib3gtY2hvaWNlLWFyb3VuZCkpID4gLmZvcm1MYWJlbC5jb2wtbGctMyB7XHJcbiAgICAgICAgZmxleDogMCAwIDI1JTtcclxuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3c6aGFzKD4gLmZvcm1MYWJlbCk6aGFzKD4gLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoOmhhcyh0ZXh0YXJlYSkpOm5vdCg6aGFzKHNlbGVjdCkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJ0ZXh0XCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cIm51bWJlclwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJlbWFpbFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSkpOm5vdCg6aGFzKC5mb3JtQ2hlY2tCb3hlcykpOm5vdCg6aGFzKC5jaGVja2JveC1yb3cpKTpub3QoOmhhcyguY2hvaWNlLXdpZGdldC1jb2wpKTpub3QoOmhhcyguY2hlY2tib3gtY2hvaWNlLWFyb3VuZCkpID4gLmZvcm1Qcm9tcHQuY29sLWxnLTkge1xyXG4gICAgICAgIGZsZXg6IDAgMCA3NSU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XHJcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAucm93Omhhcyg+IC5mb3JtTGFiZWwpOmhhcyg+IC5mb3JtUHJvbXB0IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSk6bm90KDpoYXModGV4dGFyZWEpKTpub3QoOmhhcyhzZWxlY3QpKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwidGV4dFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJudW1iZXJcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwiZW1haWxcIl0pKTpub3QoOmhhcyhpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0pKTpub3QoOmhhcyguZm9ybUNoZWNrQm94ZXMpKTpub3QoOmhhcyguY2hlY2tib3gtcm93KSk6bm90KDpoYXMoLmNob2ljZS13aWRnZXQtY29sKSk6bm90KDpoYXMoLmNoZWNrYm94LWNob2ljZS1hcm91bmQpKSA+IC5mb3JtUHJvbXB0ID4gLmZvcm1FcnJvcixcclxuICAgIC5yb3c6aGFzKD4gLmZvcm1MYWJlbCk6aGFzKD4gLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoOmhhcyh0ZXh0YXJlYSkpOm5vdCg6aGFzKHNlbGVjdCkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJ0ZXh0XCJdKSk6bm90KDpoYXMoaW5wdXRbdHlwZT1cIm51bWJlclwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJlbWFpbFwiXSkpOm5vdCg6aGFzKGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSkpOm5vdCg6aGFzKC5mb3JtQ2hlY2tCb3hlcykpOm5vdCg6aGFzKC5jaGVja2JveC1yb3cpKTpub3QoOmhhcyguY2hvaWNlLXdpZGdldC1jb2wpKTpub3QoOmhhcyguY2hlY2tib3gtY2hvaWNlLWFyb3VuZCkpID4gLmZvcm1Qcm9tcHQgPiAuaGVscC1ibG9jayB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcblxyXG4gICAgLnNlbGVjdDItY291bnRyeSB7XHJcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWxlY3QyLWZpZWxkIHtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybVByb21wdCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgLmZvcm1Qcm9tcHQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCAuZm9ybVByb21wdCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCAuZm9ybVByb21wdCB0ZXh0YXJlYSwgLmZvcm1Qcm9tcHQgc2VsZWN0MiB7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1Qcm9tcHRNb25leSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgLmZvcm1Qcm9tcHRNb25leSA+IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbiAgICAuZm9ybVByb21wdE1vbmV5ID4gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgLmZvcm1Qcm9tcHRNb25leSA+IC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiBXZWJzaXRlIG1vbml0b3Jpbmcgc2lnbnVwIOKAlCBtb2JpbGUtZmlyc3QgKi9cclxuLndlYi1zaXRlLW1vbml0b3Jpbmcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ud2ViLXNpdGUtbW9uaXRvcmluZ19fYWN0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMC43NXJlbTtcclxuICAgIG1hcmdpbjogMXJlbSAwO1xyXG59XHJcblxyXG4ud2ViLXNpdGUtbW9uaXRvcmluZ19fYWN0aW9ucyAuYnRuIHtcclxuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLndlYi1zaXRlLW1vbml0b3JpbmdfX3N0YXR1cyB7XHJcbiAgICBtYXJnaW46IDFyZW0gMDtcclxufVxyXG5cclxuLndlYi1zaXRlLW1vbml0b3JpbmdfX3N0YXR1cy0tYWN0aXZlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi53ZWItc2l0ZS1tb25pdG9yaW5nX19zaXRlLWxpc3Qge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07XHJcbn1cclxuXHJcbi53ZWItc2l0ZS1tb25pdG9yaW5nX19zaXRlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMC43NXJlbSAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7XHJcbn1cclxuXHJcbi53ZWItc2l0ZS1tb25pdG9yaW5nX19zaXRlLW1haW4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDAuMjVyZW07XHJcbn1cclxuXHJcbi53ZWItc2l0ZS1tb25pdG9yaW5nX19zaXRlLWVtYWlsLFxyXG4ud2ViLXNpdGUtbW9uaXRvcmluZ19fc2l0ZS1jaGVja2VkIHtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4ud2ViLXNpdGUtbW9uaXRvcmluZ19fZGVsZXRlLWZvcm0gLmJ0biB7XHJcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53ZWItc2l0ZS1tb25pdG9yaW5nX19mb3JtIHRleHRhcmVhIHtcclxuICAgIG1pbi1oZWlnaHQ6IDhyZW07XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLndlYi1zaXRlLW1vbml0b3JpbmdfX2FjdGlvbnMge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC53ZWItc2l0ZS1tb25pdG9yaW5nX19hY3Rpb25zIC5idG4sXHJcbiAgICAud2ViLXNpdGUtbW9uaXRvcmluZ19fZGVsZXRlLWZvcm0gLmJ0biB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWluLXdpZHRoOiA0NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC53ZWItc2l0ZS1tb25pdG9yaW5nX19zaXRlIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/