/*
Stylus variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon_home_width;
}

The large array-like variables contain all information about a single icon
$icon_home = x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet = width height image $spritesheet_sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  spriteWidth($icon_home)
}

.icon-email {
  sprite($icon_email)
}

Example usage in HTML:

`display: block` sprite:
<div class="icon-home"></div>

To change `display` (e.g. `display: inline-block;`), we suggest using a common CSS class:

// CSS
.icon {
  display: inline-block;
}

// HTML
<i class="icon icon-home"></i>
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of Stylus

This must be run when you have at least 2 sprites.
  If run with a single sprite, then there will be reference errors.

sprites($spritesheet_sprites);
*/
* {
    margin: 0;
    padding: 0;
    font: inherit;
    box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-focus-ring-color: rgba(255, 255, 255, 0);
    cursor: default;
}

body {
    font-size: 100%;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

a {
    background: transparent;
    color: inherit;
    text-decoration: none;
}

*:focus,
*:active,
*:hover {
    outline: none;
}

hr {
    box-sizing: content-box;
    height: 0;
}

ol,
ul {
    list-style: none;
}

pre {
    -moz-tab-size: 4;
    tab-size: 4;
    white-space: pre-wrap;
}

q {
    quotes: '\201C' '\201D' '\2018' '\2019';
}

img {
    border: none;
}

svg:not(:root) {
    overflow: hidden;
}

button,
input {
    border: none;
    line-height: normal;
}

button,
select {
    text-transform: none;
}

button {
    overflow: visible;
}

button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

input[type='checkbox'],
input[type='radio'] {
    box-sizing: border-box;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    height: auto;
}

input[type='search'] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: none;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

button,
input,
select[multiple],
textarea {
    background-image: none;
}

input,
select,
textarea {
    border-radius: 0;
    box-shadow: none;
}

input,
textarea {
    resize: none;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

[placeholder]:focus::-webkit-input-placeholder {
    color: transparent;
}

[placeholder]:focus::-moz-placeholder {
    color: transparent;
}

[placeholder]:focus:-ms-input-placeholder {
    color: transparent;
}

[placeholder]:focus::placeholder {
    color: transparent;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.archive-fixed {
    height: 30px;
    background-color: #333;
    color: #fff;
    font-size: 13px;
}

.archive-fixed__inner {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: content-box;
    line-height: 28px;
}

@media only screen and (min-width: 1050px) {
    .archive-fixed__inner {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1800px) {
    .archive-fixed__inner {
        padding: 0 16px;
    }
}

@media only screen and (min-width: 1050px) {
    .archive-fixed__title::after {
        content: ':';
    }

    .archive-fixed__items {
        display: inline-block;
    }

    .archive-fixed__item {
        margin-left: 22px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }
}

@media only screen and (max-width: 1050px) {
    .archive-fixed__title {
        margin: 0 -16px;
        padding: 0 16px 2px;
        display: block;
    }

    .archive-fixed__title::after {
        background-image: url("../images/sprites/common.png");
        background-position: -295px -198px;
        width: 13px;
        height: 7px;
        margin-left: 7px;
        display: inline-block;
        content: '';
    }

    .archive-fixed__items {
        display: none;
        position: absolute;
        top: 30px;
        right: 0;
        left: 0;
        padding: 10px 5px;
        background-color: rgba(51, 51, 51, 0.9);
    }

    .archive-fixed__items_active {
        display: block;
    }

    .archive-fixed__wrap {
        max-width: 220px;
    }

    .archive-fixed__item {
        display: inline-block;
        padding: 5px 10px;
        margin-bottom: 2px;
        font-size: 14px;
    }
}

* + .banner {
    margin-top: 30px;
}

.btn {
    height: 45px;
    line-height: 45px;
    display: inline-block;
    font-size: 17px;
    background-color: #e64725;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
}

@media only screen and (min-width: 1050px) {
    .btn {
        width: 227px;
    }
}

@media only screen and (max-width: 1050px) {
    .btn {
        width: 100%;
    }
}

.btn:hover {
    background-color: #ed7f22;
}

.btn_registration {
    width: 180px;
    height: 40px;
    font-size: 13px;
    font-weight: bold;
    line-height: 40px;
}

@media only screen and (min-width: 1050px) {
    .content-columns {
        font-size: 0;
    }

    .content-columns__left,
    .content-columns__right {
        display: inline-block;
        font-size: 14px;
        vertical-align: top;
    }

    .content-columns__left {
        width: 74%;
    }

    .content-columns__right {
        margin-left: 3.5%;
        width: 22.5%;
    }
}

@media only screen and (max-width: 1050px) {
    .content-columns__right {
        padding-top: 16px;
    }
}

.content {
    padding-bottom: 30px;
    background-color: #f2f2f2;
}

.content__inner {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: content-box;
}

@media only screen and (min-width: 1050px) {
    .content__inner {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1800px) {
    .content__inner {
        padding: 0 16px;
    }
}

@media only screen and (min-width: 1050px) {
    .content__submenu {
        padding-bottom: 36px;
    }
}

@media only screen and (max-width: 1050px) {
    .content__submenu {
        padding-bottom: 16px;
    }
}

.file-icon {
    background-image: url("../images/sprites/common.png");
    background-position: -244px -84px;
    width: 37px;
    height: 45px;
    position: relative;
    display: block;
}

.file_white .file-icon {
    background-image: url("../images/sprites/common.png");
    background-position: 0px -222px;
    width: 36px;
    height: 45px;
}

.file-icon__ext {
    position: absolute;
    top: 33px;
    left: 6px;
    width: 29px;
    color: #ed7f22;
    font-size: 9px;
    line-height: 9px;
    text-align: center;
    text-transform: uppercase;
}

.file_white .file-icon__ext {
    color: #fff;
}

.file {
    display: block;
    line-height: 1em;
}

.file + .file {
    margin-top: 25px;
}

.file__icon {
    float: left;
}

.file__info {
    display: block;
    margin-left: 56px;
    padding-top: 6px;
    color: #333;
}

.file_white .file__info {
    color: #fff;
}

.file__name {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
}

.file__size {
    display: block;
    margin-top: 5px;
    font-size: 12px;
}

@media only screen and (min-width: 1050px) {
    .files {
        font-size: 0;
    }

    .files__item {
        margin-bottom: 40px;
        width: 28%;
        display: inline-block;
        vertical-align: top;
        font-size: 14px;
    }

    .files__item + .files__item {
        margin-left: 8%;
    }

    .files__item_half {
        width: 50%;
        padding-right: 40px;
    }

    .files__item_half + .files__item_half {
        margin-left: 0;
    }
}

@media only screen and (max-width: 1050px) {
    .files__item {
        display: block;
    }

    .files__item + .files__item {
        margin-top: 16px;
    }
}

.footer-column__title {
    font-size: 12px;
    text-transform: uppercase;
}

.footer__columns {
    flex-wrap: wrap;
}

.footer__columns .footer-column:nth-child(1) {
    width: 25%;
}

.footer__columns .footer-column:nth-child(2) {
    width: 71%;
}

.footer-column.support .footer-column__images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.footer-column__image_autodor {
    background-image: url("../images/sprites/common.png");
    background-position: 0px -189px;
    width: 152px;
    height: 25px;
}

.footer-column__image_double-eagle {
    background-image: url("../images/sprites/common.png");
    background-position: -185px -84px;
    width: 51px;
    height: 59px;
}

@media only screen and (max-width: 500px) {
    .footer__columns .footer-column:nth-child(1) {
        width: 71%;
    }
}

@media only screen and (min-width: 1050px) {
    .footer-column {
        padding-top: 46px;
    }

    .footer-column__image_autodor {
        margin-top: 32px;
    }

    .footer-column__image_double-eagle {
        margin-top: 8px;
    }
}

@media only screen and (max-width: 1050px) {
    .footer-column {
        padding-top: 27px;
        padding-bottom: 8px;
    }

    .footer-column__image_autodor {
        margin-top: 23px;
    }

    .footer-column__image_double-eagle {
        margin-top: 3px;
    }
}

.footer__inner {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: content-box;
}

@media only screen and (min-width: 1050px) {
    .footer__inner {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1800px) {
    .footer__inner {
        padding: 0 16px;
    }
}


@media only screen and (max-width: 1050px) {
    .footer {
        padding-bottom: 10px;
    }
}

.form-field__input {
    width: 100%;
    height: 28px;
    line-height: 28px;
    font-size: 16px;
    text-transform: uppercase;
    border: none;
    border-bottom: 1px solid #959595;
    background: none;
}

.form-field__input::-webkit-input-placeholder {
    color: #666;
    transition: color 0.2s;
}

.form-field__input::-moz-placeholder {
    color: #666;
    transition: color 0.2s;
}

.form-field__input:-ms-input-placeholder {
    color: #666;
    transition: color 0.2s;
}

.form-field__input::placeholder {
    color: #666;
    transition: color 0.2s;
}

.form-field_invalid .form-field__input {
    color: #e64725;
}

.form-field__label {
    margin-top: 6px;
    display: block;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    opacity: 0;
    transform: translate(5px, 0);
    transition: opacity 0.2s, transform 0.2s;
}

.form-field_invalid .form-field__label {
    color: #e64725;
}

.form-field__input:focus + .form-field__label,
.form-field__input_not-empty + .form-field__label {
    opacity: 1;
    transform: translate(0, 0);
}

.form-field__input:focus + .form-field__label::-webkit-input-placeholder,
.form-field__input_not-empty + .form-field__label::-webkit-input-placeholder {
    color: rgba(102, 102, 102, 0);
}

.form-field__input:focus + .form-field__label::-moz-placeholder,
.form-field__input_not-empty + .form-field__label::-moz-placeholder {
    color: rgba(102, 102, 102, 0);
}

.form-field__input:focus + .form-field__label:-ms-input-placeholder,
.form-field__input_not-empty + .form-field__label:-ms-input-placeholder {
    color: rgba(102, 102, 102, 0);
}

.form-field__input:focus + .form-field__label::placeholder,
.form-field__input_not-empty + .form-field__label::placeholder {
    color: rgba(102, 102, 102, 0);
}

.form__title {
    font-size: 27px;
    font-weight: bold;
    line-height: 1.5em;
    text-transform: uppercase;
}

@media only screen and (min-width: 1050px) {
    .form__title {
        margin-bottom: 23px;
    }
}

.form__fields {
    font-size: 0;
}

.form__fields + .form__fields {
    margin-top: 16px;
}

.form__field {
    font-size: 14px;
}

@media only screen and (min-width: 1050px) {
    .form__field {
        vertical-align: top;
        display: inline-block;
        width: 45%;
    }

    .form__field + .form__field {
        margin-left: 10%;
    }
}

@media only screen and (max-width: 1050px) {
    .form__field + .form__field {
        margin-top: 8px;
    }
}

@media only screen and (min-width: 1050px) {
    .form__submit {
        margin-top: 40px;
    }
}

@media only screen and (max-width: 1050px) {
    .form__submit {
        margin-top: 16px;
    }
}

.gallery {
    display: none;
}

.gallery_active {
    display: block;
}

.gallery__fixed {
    z-index: 200;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
}

.gallery__cross {
    background-image: url("../images/sprites/common.png");
    background-position: -261px -151px;
    width: 26px;
    height: 26px;
    z-index: 20000;
    position: fixed;
    cursor: pointer;
}

@media only screen and (min-width: 1050px) {
    .gallery__cross {
        top: 50px;
        right: 50px;
    }
}

@media only screen and (max-width: 1050px) {
    .gallery__cross {
        top: 20px;
        right: 20px;
    }
}

.gallery__window {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    max-width: 155vh;
    max-height: 770px;
    background-color: #e0e0e0;
}

@media only screen and (min-width: 1200px) {
    .gallery__window {
        height: 770px;
        width: 1200px;
        max-width: 1200px;
    }
}

@media only screen and (max-width: 1200px) {
    .gallery__window {
        width: 100%;
    }
}

.gallery_vertical .gallery__window {
    max-width: 1200px;
    width: 100%;
}

.gallery__inner {
    position: relative;
}

.gallery__arrow {
    z-index: 20;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
}

.gallery__arrow_left {
    background-image: url("../images/sprites/common.png");
    background-position: -295px 0px;
    width: 27px;
    height: 91px;
}

@media only screen and (min-width: 1850px) {
    .gallery__arrow_left {
        left: -300px;
    }
}

@media only screen and (min-width: 800px) and (max-width: 1850px) {
    .gallery__arrow_left {
        left: -50px;
    }
}

@media only screen and (max-width: 1050px) {
    .gallery__arrow_left {
        left: 10px;
    }
}

.gallery__arrow_right {
    background-image: url("../images/sprites/common.png");
    background-position: -295px -99px;
    width: 27px;
    height: 91px;
}

@media only screen and (min-width: 1850px) {
    .gallery__arrow_right {
        right: -300px;
    }
}

@media only screen and (min-width: 800px) and (max-width: 1850px) {
    .gallery__arrow_right {
        right: -50px;
    }
}

@media only screen and (max-width: 1050px) {
    .gallery__arrow_right {
        right: 10px;
    }
}

.gallery_vertical .gallery__arrow_left {
    left: 10px;
}

.gallery_vertical .gallery__arrow_right {
    right: 10px;
}

.gallery__slides {
    overflow: hidden;
    white-space: nowrap;
    font-size: 0;
}

.gallery__slide {
    display: inline-block;
    vertical-align: middle;
    max-height: 100vh;
    max-width: 156vw;
}

@media only screen and (min-width: 720px) {
    .gallery__slide {
        height: 460px;
        width: 720px;
        max-width: 720px;
    }
}

@media only screen and (max-width: 720px) {
    .gallery__slide {
        width: 100%;
    }
}

.gallery_vertical .gallery__slide {
    max-width: 100%;
}

.gallery_vertical .gallery__slide iframe {
    max-height: 100vh;
    max-width: 156vw;
}

@media only screen and (min-width: 720px) {
    .gallery_vertical .gallery__slide iframe {
        height: 460px;
        width: 720px;
        max-width: 720px;
    }
}

@media only screen and (max-width: 720px) {
    .gallery_vertical .gallery__slide iframe {
        width: 100%;
    }
}

.fancybox-overlay {
    background: rgba(0, 0, 0, 0.9);
}

.fancybox-close {
    background-image: url("../images/sprites/common.png");
    background-position: -261px -151px;
    width: 26px;
    height: 26px;
    z-index: 20000;
    position: fixed;
    cursor: pointer;
}

@media only screen and (min-width: 1050px) {
    .fancybox-close {
        top: 50px;
        right: 50px;
    }
}

@media only screen and (max-width: 1050px) {
    .fancybox-close {
        top: 20px;
        right: 20px;
    }
}

.fancybox-prev,
.fancybox-next {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
    z-index: 2000;
}

.fancybox-prev span,
.fancybox-next span {
    display: none;
}

.fancybox-prev {
    background-image: url("../images/sprites/common.png");
    background-position: -295px 0px;
    width: 27px;
    height: 91px;
}

@media only screen and (min-width: 1850px) {
    .fancybox-prev {
        left: -300px;
    }
}

@media only screen and (min-width: 800px) and (max-width: 1850px) {
    .fancybox-prev {
        left: -50px;
    }
}

@media only screen and (max-width: 1050px) {
    .fancybox-prev {
        left: 10px;
    }
}

.fancybox-next {
    background-image: url("../images/sprites/common.png");
    background-position: -295px -99px;
    width: 27px;
    height: 91px;
}

@media only screen and (min-width: 1850px) {
    .fancybox-next {
        right: -300px;
    }
}

@media only screen and (min-width: 800px) and (max-width: 1850px) {
    .fancybox-next {
        right: -50px;
    }
}

@media only screen and (max-width: 1050px) {
    .fancybox-next {
        right: 10px;
    }
}

.fancybox-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 7px 15px;
    text-align: center;
}

@media only screen and (min-width: 1050px) {
    .grid__row {
        font-size: 0;
    }

    .grid__row + .grid__row {
        margin-top: 31px;
    }

    .grid__column {
        display: inline-block;
        vertical-align: top;
        font-size: 14px;
    }

    .grid__column + .grid__column {
        margin-left: 2.546%;
    }

    .grid__column_width_1 {
        width: 6%;
    }

    .grid__column_width_2 {
        width: 14.54545454%;
    }

    .grid__column_width_3 {
        width: 23.09090908%;
    }

    .grid__column_width_4 {
        width: 31.63636362%;
    }

    .grid__column_width_5 {
        width: 40.18181816%;
    }

    .grid__column_width_6 {
        width: 48.7272727%;
    }

    .grid__column_width_7 {
        width: 57.27272724%;
    }

    .grid__column_width_8 {
        width: 65.81818178%;
    }

    .grid__column_width_9 {
        width: 74.36363632%;
    }

    .grid__column_width_10 {
        width: 82.90909086%;
    }

    .grid__column_width_11 {
        width: 91.4545454%;
    }

    .grid__column_width_12 {
        width: 99.99999994000001%;
    }
}

.header-fixed {
    height: 40px;
    background-color: #e0e0e0;
}

.header-fixed__inner {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: content-box;
}

@media only screen and (min-width: 1050px) {
    .header-fixed__inner {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1800px) {
    .header-fixed__inner {
        padding: 0 16px;
    }
}

.header-fixed__registration-btn {
    float: right;
}

.header-info {
    margin-top: -2px;
    color: #5c5c5c;
    text-align: right;
}

.header-info__hash {
    display: block;
    color: #e64725;
}

.header-info__date {
    color: #e64725;
    font-weight: bold;
    text-transform: uppercase;
}

.header-info__after-date {
    margin-top: 2px;
    text-transform: uppercase;
}

.header-info__place {
    margin-top: 6px;
    font-size: 14px;
}

@media only screen and (min-width: 1050px) {
    .header-info {
        margin-top: -2px;
    }

    .header-info__hash {
        font-size: 14px;
    }

    .header-info__date {
        margin-top: 6px;
        font-size: 30px;
    }
}

@media only screen and (max-width: 1050px) {
    .header-info {
        margin-top: 3px;
    }

    .header-info__hash {
        font-size: 11px;
    }

    .header-info__date {
        margin-top: 3px;
        font-size: 24px;
    }

    .header__logo__text {
        font-size: 11px;
    }

    .header__logo__text .header__logo__text-head {
        font-size: 9px;
    }

    .header-info__after-date {
        margin-top: 6px;
        font-size: 13px;
    }

    .header-info__place {
        margin-top: 4px;
        line-height: 1.5em;
    }
}

.header__inner {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: content-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header__logo__text {
    text-transform: uppercase;
    margin-top: 10px;
    color: #5c5c5c;
    max-width: 390px;
}

.header__logo__text-head {
    font-size: 12px;
    color: #e64725;
    font-weight: bold;
    padding-bottom: 4px;
}

@media only screen and (min-width: 1050px) {
    .header__inner {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1800px) {
    .header__inner {
        padding: 0 16px;
    }
}

@media only screen and (min-width: 1050px) {
    .header {
        padding: 24px 0;
    }
}

@media only screen and (max-width: 1050px) {
    .header {
        padding: 16px 0;
    }

    .header__header-info {
        max-width: 160px;
    }
}

.html {
    color: #4c4c4c;
}

@media only screen and (min-width: 1050px) {
    .html {
        font-size: 16px;
    }
}

@media only screen and (max-width: 1050px) {
    .html {
        font-size: 14px;
    }
}

.html b,
.html strong {
    font-weight: bold;
}

.html i,
.html em {
    color: #ed7f22;
}

.html p {
    line-height: 1.5em;
}

.html p + p {
    margin-top: 0.7em;
}

@media only screen and (min-width: 1050px) {
    .html h2 + p,
    .html h2 + blockquote {
        margin-top: 1.6em;
    }
}

@media only screen and (max-width: 1050px) {
    .html h2 + p,
    .html h2 + blockquote {
        margin-top: 0.6em;
    }
}

@media only screen and (min-width: 1050px) {
    .html h3 + p,
    .html h3 + blockquote {
        margin-top: 1.7em;
    }
}

@media only screen and (max-width: 1050px) {
    .html h3 + p,
    .html h3 + blockquote {
        margin-top: 0.6em;
    }
}

.html .lead {
    line-height: 1.5em;
}

@media only screen and (min-width: 1050px) {
    .html .lead {
        margin-bottom: 1.2em;
        font-size: 27px;
    }
}

@media only screen and (max-width: 1050px) {
    .html .lead {
        margin-bottom: 0.6em;
        font-size: 18px;
    }
}

.html * + .lead {
    margin-top: 36px;
}

.html h2 {
    font-weight: bold;
    line-height: 1.5em;
    text-transform: uppercase;
}

@media only screen and (min-width: 1050px) {
    .html h2 {
        font-size: 27px;
    }
}

@media only screen and (max-width: 1050px) {
    .html h2 {
        font-size: 22px;
    }
}

@media only screen and (min-width: 1050px) {
    .html * + h2 {
        margin-top: 1.6em;
    }
}

@media only screen and (max-width: 1050px) {
    .html * + h2 {
        margin-top: 0.6em;
    }
}

.html h3 {
    font-weight: bold;
    line-height: 1.5em;
    text-transform: uppercase;
}

@media only screen and (min-width: 1050px) {
    .html h3 {
        font-size: 21px;
    }
}

@media only screen and (max-width: 1050px) {
    .html h3 {
        clear: left;
        font-size: 20px;
    }
}

@media only screen and (min-width: 1050px) {
    .html * + h3 {
        margin-top: 1.2em;
    }
}

@media only screen and (max-width: 1050px) {
    .html * + h3 {
        margin-top: 0.6em;
    }
}

.html h2 + h3 {
    margin-top: 0.3em;
}

.html ul,
.html ol {
    margin-top: 0.4em;
    padding-left: 2.3ex;
}

.html ul li,
.html ol li {
    line-height: 1.5em;
}

.html ul li + li,
.html ol li + li {
    margin-top: 1em;
}

.html ol {
    padding-left: 1.5ex;
}

.html ol li {
    position: relative;
}

.html ol li::before {
    width: 4px;
    height: 4px;
    content: '';
    display: block;
    position: absolute;
    top: 0.75em;
    left: -1.2ex;
    background-color: #e64725;
    border-radius: 50%;
}

.html ul {
    counter-reset: ul-counter;
}

.html ul li {
    position: relative;
    counter-increment: ul-counter;
}

.html ul li::before {
    position: absolute;
    left: -2.3ex;
    color: #e64725;
    content: counter(ul-counter) '.';
}

.html .important {
    position: relative;
    background-color: #e64725;
    color: #fff;
    line-height: 1.5em;
    margin-left: 30px;
    padding: 23px 23px 28px 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 16px 27px;
}

.html .important::before {
    background-image: url("../images/sprites/common.png");
    background-position: -185px -151px;
    width: 30px;
    height: 28px;
    position: absolute;
    top: 0;
    left: -30px;
    content: '';
    display: block;
}

.html .important > span::before,
.html .important > div::before {
    position: absolute;
    width: 30px;
    top: 28px;
    left: -30px;
    bottom: 0;
    display: block;
    content: '';
    border-bottom-left-radius: 12px;
    background-color: #e64725;
}

.html blockquote {
    position: relative;
    background-color: #ed7f22;
    color: #fff;
    line-height: 1.5em;
    margin-left: 30px;
    padding: 23px 23px 28px 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 16px 27px;
    margin-bottom: 25px;
}

.html blockquote::before {
    background-image: url("../images/sprites/common.png");
    background-position: -82px -222px;
    width: 30px;
    height: 28px;
    position: absolute;
    top: 0;
    left: -30px;
    content: '';
    display: block;
}

.html blockquote > span::before,
.html blockquote > div::before {
    position: absolute;
    width: 30px;
    top: 28px;
    left: -30px;
    bottom: 0;
    display: block;
    content: '';
    border-bottom-left-radius: 12px;
    background-color: #ed7f22;
}

.html blockquote > span::after,
.html blockquote > div::after {
    background-image: url("../images/sprites/common.png");
    background-position: -160px -189px;
    width: 23px;
    height: 17px;
    position: absolute;
    display: block;
    content: '';
    bottom: -17px;
    left: 1px;
}

.html blockquote.top {
    margin-top: 2em;
}

.html blockquote.top span::after {
    bottom: auto;
    top: -17px;
    transform: scale(-1, -1);
}

.html img {
    width: 100%;
}

.html img.inline,
.html img.left,
.html img.right {
    width: auto;
}

.html img.left {
    float: left;
    margin: 0 1em 1em 0;
}

@media only screen and (max-width: 500px) {
    .html img.left {
        float: none;
        display: block;
    }
}

.html img.right {
    float: right;
    margin: 0 0 1em 1em;
}

@media only screen and (max-width: 500px) {
    .html img.right {
        float: none;
        display: block;
    }
}

@media only screen and (min-width: 1050px) {
    .html * + .files {
        margin-top: 32px;
    }
}

@media only screen and (max-width: 1050px) {
    .html * + .files {
        margin-top: 16px;
    }
}

.html .greeting + .greeting {
    margin-top: 20px;
    border-top: 2px solid #ed7f22;
    padding-top: 50px;
}

.index-address__title {
    text-transform: uppercase;
}

@media only screen and (min-width: 1050px) {
    .index-address__title {
        margin-top: 12px;
        font-size: 16px;
        max-width: 160px;
    }

    .index-address__bottom {
        position: absolute;
        left: 0;
        bottom: 19px;
        max-width: 160px;
    }
}

@media only screen and (max-width: 1050px) {
    .index-address {
        margin: 2px 0 0;
    }

    .index-address__title {
        font-size: 14px;
    }

    .index-address__bottom {
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.5em;
    }
}

.index-contacts b {
    font-weight: bold;
}

.index-contacts a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

@media only screen and (min-width: 1050px) {
    .index-contacts {
        margin: -7px 0;
    }
}

@media only screen and (max-width: 1050px) {
    .index-contacts {
        margin: -5px 0;
        font-size: 14px;
        line-height: 1.2em;
    }

    .index-contacts p + p {
        margin-top: 0.9em;
    }
}

.index__inner {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: content-box;
}

@media only screen and (min-width: 1050px) {
    .index__inner {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1800px) {
    .index__inner {
        padding: 0 16px;
    }
}

.languages {
    padding-top: 9px;
    font-size: 0;
}

.languages__item {
    padding: 0 5px 1px;
    display: inline-block;
    font-size: 14px;
    line-height: 19px;
    vertical-align: middle;
}

.languages__item_selected {
    border: 1px solid #e64725;
}

.languages__item + .languages__item {
    margin-left: 8px;
}

.languages__item span {
    display: inline-block;
    line-height: 19px;
    border-bottom: 1px solid rgba(230, 71, 37, 0.4);
}

.languages__item_selected span {
    line-height: 18px;
    border-bottom-color: transparent;
}

@media only screen and (min-width: 1050px) {
    .logo__left,
    .logo__right {
        display: inline-block;
        vertical-align: middle;
    }

    .logo__left {
        background-image: url("../images/sprites/common.png");
        background-position: -93px -84px;
        width: 84px;
        height: 97px;
    }

    .logo__right {
        background-image: url("../images/sprites/common.png");
        background-position: 0px 0px;
        width: 153px;
        height: 76px;
        margin-left: 43px;
    }

    .logo_en .logo__right {
        background-image: url("../images/sprites/common.png");
        background-position: -161px 0px;
        width: 126px;
        height: 72px;
    }

    .logo__logo-image {
        height: 90px;
    }
}

@media only screen and (max-width: 1050px) {
    .logo__logo-image {
        display: block;
        height: 60px;
    }

    .logo__logo-text {
        margin-top: 19px;
        height: 60px;
        display: block;
    }
}

.map {
    margin-top: 1em;
}

@media only screen and (min-width: 1050px) {
    .map {
        width: 100%;
        height: 500px;
    }
}

@media only screen and (max-width: 1050px) {
    .map {
        width: 100%;
        height: 300px;
    }
}

.media-item {
    position: relative;
    display: block;
    background-color: #e3e3e3;
    height: 155px;
    overflow: hidden;
}

.media-item__image {
    cursor: pointer;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.media-item__text {
    position: absolute;
    top: 14px;
    left: 16px;
    right: 16px;
    color: #fff;
    font-size: 13px;
    line-height: 1.4em;
}

.media-item__video {
    background-image: url("../images/sprites/common.png");
    background-position: -44px -222px;
    width: 30px;
    height: 34px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

@media only screen and (min-width: 600px) {
    .media__items {
        margin: 0 -16px;
        font-size: 0;
    }

    .media__item {
        margin-bottom: 50px;
        padding: 0 16px;
        display: inline-block;
        vertical-align: top;
    }
}

@media only screen and (min-width: 1050px) {
    .media__item {
        width: 33%;
    }
}

@media only screen and (min-width: 600px) and (max-width: 1050px) {
    .media__item {
        width: 50%;
    }
}

@media only screen and (max-width: 600px) {
    .media__item {
        margin-bottom: 20px;
        width: 100%;
    }
}

.menu {
    line-height: 0;
    text-align: justify;
}

.menu__inner {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: content-box;
}

@media only screen and (min-width: 1050px) {
    .menu__inner {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1800px) {
    .menu__inner {
        padding: 0 16px;
    }
}

.menu__inner::after {
    width: 100%;
    display: inline-block;
    content: '';
    vertical-align: top;
}

.menu__item {
    padding: 12px 0;
    display: inline-block;
    font-size: 15px;
    line-height: 1em;
    text-transform: uppercase;
}

.menu__item_active,
.menu__item:hover {
    color: #e64725;
}

.news-item__date {
    color: #666;
    font-size: 15px;
}

.news-item__image {
    margin-top: 9px;
    display: block;
}

.news-item__image img {
    display: block;
    width: 100%;
}

.news-item__title {
    margin-top: 11px;
    color: #e64725;
    font-size: 13px;
    line-height: 1.4em;
    text-transform: uppercase;
}

.news-item__title a {
    text-decoration: none;
    border-bottom: 1px solid rgba(230, 71, 37, 0.4);
}

.news {
    display: block;
}

.news__items {
    margin: 0 -16px;
    font-size: 0;
}

.news__item {
    margin-bottom: 40px;
    padding: 0 16px;
    display: inline-block;
    font-size: 14px;
    vertical-align: top;
}

@media only screen and (min-width: 1050px) {
    .news__item {
        width: 33%;
    }
}

@media only screen and (max-width: 1050px) {
    .news__item {
        width: 100%;
    }
}

.page {
    font-family: 'Open Sans', sans-serif;
    background: url("/assets/images/bg.png") center 40px no-repeat;
}

.page__archive-fixed,
.page__header-fixed {
    position: fixed;
    right: 0;
    left: 0;
}

.page__archive-fixed {
    z-index: 101;
    top: 0;
}

.page__header-fixed {
    z-index: 100;
    top: 0;
}

.page__archive-fixed + .page__header-fixed {
    top: 30px;
}

.page__header {
    padding-top: 80px;
}

.page__menu {
    padding-bottom: 8px;
}

.page__body {
    margin-top: 10px;
}

html,
body {
    height: 100%;
}

.page_sticky .page__wrapper {
    min-height: 100%;
    margin-bottom: -173px;
}

.page_sticky .page__wrapper::after {
    content: '';
    display: block;
}

.page_sticky .page__footer,
.page_sticky .page__wrapper::after {
    height: 173px;
}

.pagination {
    padding: 12px 0;
}

.pagination__items {
    font-size: 0;
}

.pagination__item {
    display: inline-block;
    font-size: 15px;
    vertical-align: middle;
    color: #e64725;
    text-decoration: none;
}

.pagination__item + .pagination__item {
    margin-left: 26px;
}

.pagination__item_active {
    color: #000;
}

.participant__name {
    font-size: 22px;
}

.participant__organization,
.participant__job {
    font-size: 14px;
    margin-top: 0 !important;
}

.participant__organization {
    font-weight: 600;
}

.participants__item + .participants__item {
    margin-top: 15px;
}

.partners-item {
    margin-bottom: 11px;
}

@media only screen and (min-width: 1050px) {
    .partners-item {
        padding: 40px 0;
    }
}

@media only screen and (max-width: 1050px) {
    .partners-item {
        padding: 16px 0;
    }
}

.partners-item__image {
    width: 122px;
    height: 122px;
    margin: 0 auto;
    display: block;
    border-radius: 50%;
}

.partners-item__image img {
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 1050px) {
    .partners-item_single .partners-item__image {
        display: inline-block;
        vertical-align: middle;
    }
}

.partners-item__name {
    margin-top: 35px;
    font-size: 16px;
}

@media only screen and (min-width: 1050px) {
    .partners-item__name {
        font-size: 14px;
    }
}

@media only screen and (min-width: 1050px) {
    .partners-item_single .partners-item__name {
        margin-top: 2px;
        margin-left: 26px;
        display: inline-block;
        vertical-align: middle;
    }
}

.partners-item_section_12 .partners-item__name {
    margin-top: -10px;
}

.partners__items {
    font-size: 0;
}

.partners__item {
    display: inline-block;
    font-size: 14px;
    vertical-align: top;
    text-align: center;
}

@media only screen and (min-width: 1050px) {
    .partners__item {
        width: 25%;
    }
}

@media only screen and (max-width: 1050px) {
    .partners__item {
        width: 100%;
    }
}

@media only screen and (min-width: 1050px) {
    .partners__item_single {
        display: block;
        width: 100%;
        text-align: left;
    }
}

.program-content-item {
    display: block;
}

.program-content {
    position: relative;
    overflow: hidden;
}

.program-content__item {
    position: absolute;
    left: 100%;
    opacity: 0;
    transform: translate(100px, 0);
    transition: transform 0.2s, opacity 0.2s, left step-end 0.2s;
}

.program-content__item_active {
    position: static;
    left: 0;
    opacity: 1;
    transform: translate(0, 0);
    transition: transform 0.2s, opacity 0.2s, left step-start 0.2s;
}

.program-day {
    padding-bottom: 7px;
    color: #e64725;
    border-bottom: 1px solid rgba(230, 71, 37, 0.4);
    cursor: pointer;
}

.program-day_active {
    color: #000;
    font-weight: bold;
    border-bottom-color: transparent;
    cursor: default;
}

@media only screen and (min-width: 1050px) {
    .program-day__date {
        font-size: 46px;
    }

    .program-day__month {
        font-size: 17px;
    }
}

@media only screen and (max-width: 1050px) {
    .program-day__date {
        font-size: 32px;
    }

    .program-day__month {
        font-size: 12px;
    }
}

.program-days__item {
    display: inline;
}

@media only screen and (min-width: 1050px) {
    .program-days__item + .program-days__item {
        margin-left: 43px;
    }
}

@media only screen and (max-width: 1050px) {
    .program-days__item + .program-days__item {
        margin-left: 20px;
    }
}

.program__days {
    padding-top: 11px;
    padding-bottom: 40px;
}

.registration-btn {
    display: block;
}

@media only screen and (min-width: 1050px) {
    .schedule-row {
        font-size: 0;
    }

    .schedule-row__time,
    .schedule-row__content {
        display: inline-block;
        vertical-align: top;
    }

    .schedule-row__time {
        width: 12%;
    }

    .schedule-row__content {
        margin-left: 3%;
        width: 85%;
    }
}

.schedule__row + .schedule__row {
    margin-top: 21px;
}

.shaped-block_orange {
    position: relative;
    background-color: #ed7f22;
    color: #fff;
    line-height: 1.5em;
    margin-left: 30px;
    padding: 23px 23px 28px 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 16px 27px;
}

.shaped-block_orange::before {
    background-image: url("../images/sprites/common.png");
    background-position: -82px -222px;
    width: 30px;
    height: 28px;
    position: absolute;
    top: 0;
    left: -30px;
    content: '';
    display: block;
}

.shaped-block_orange > span::before,
.shaped-block_orange > div::before {
    position: absolute;
    width: 30px;
    top: 28px;
    left: -30px;
    bottom: 0;
    display: block;
    content: '';
    border-bottom-left-radius: 12px;
    background-color: #ed7f22;
}

.shaped-block_coral {
    position: relative;
    background-color: #e64725;
    color: #fff;
    line-height: 1.5em;
    margin-left: 30px;
    padding: 23px 23px 28px 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 16px 27px;
}

.shaped-block_coral::before {
    background-image: url("../images/sprites/common.png");
    background-position: -185px -151px;
    width: 30px;
    height: 28px;
    position: absolute;
    top: 0;
    left: -30px;
    content: '';
    display: block;
}

.shaped-block_coral > span::before,
.shaped-block_coral > div::before {
    position: absolute;
    width: 30px;
    top: 28px;
    left: -30px;
    bottom: 0;
    display: block;
    content: '';
    border-bottom-left-radius: 12px;
    background-color: #e64725;
}

.shaped-block_red {
    position: relative;
    background-color: #e21e2a;
    color: #fff;
    line-height: 1.5em;
    margin-left: 30px;
    padding: 23px 23px 28px 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 16px 27px;
}

.shaped-block_red::before {
    background-image: url("../images/sprites/common.png");
    background-position: -223px -151px;
    width: 30px;
    height: 28px;
    position: absolute;
    top: 0;
    left: -30px;
    content: '';
    display: block;
}

.shaped-block_red > span::before,
.shaped-block_red > div::before {
    position: absolute;
    width: 30px;
    top: 28px;
    left: -30px;
    bottom: 0;
    display: block;
    content: '';
    border-bottom-left-radius: 12px;
    background-color: #e21e2a;
}

@media only screen and (min-width: 1050px) {
    .shaped-block_fill {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
    }
}

@media only screen and (max-width: 1050px) {
    .shaped-block {
        margin-top: 22px;
    }
}

.submenu {
    display: block;
}

.submenu__items {
    margin: 0 -13px;
    font-size: 0;
}

.submenu__item {
    padding: 5px 12px;
    display: inline;
    color: #e64725;
    font-size: 17px;
    font-weight: bold;
    vertical-align: middle;
    text-decoration: none;
    text-transform: uppercase;
    border: 1px solid transparent;
    white-space: nowrap;
}

.submenu__item + .submenu__item {
    margin-left: 24px;
}

.submenu__item:hover {
    color: #ed7f22;
}

.submenu__item_active {
    border-color: #e64725;
    color: #000 !important;
}

.submenu__item span {
    border-bottom: 1px solid rgba(230, 71, 37, 0.4);
}

.submenu__item:hover span {
    border-bottom-color: rgba(237, 127, 34, 0.4);
}

.submenu__item_active span {
    border-bottom-color: transparent !important;
}

@media only screen and (max-width: 1050px) {
    .submenu__item {
        display: inline-block;
        margin-bottom: 5px;
    }

    .submenu__item + .submenu__item {
        margin-left: 0;
    }
}

.tile {
    display: block;
    background-position: center center;
    background-size: 100% auto;
    transition: background-size 0.4s;
}

.tile:hover {
    background-size: 105% auto;
}

.tile__text {
    display: block;
    color: #fff;
    font-size: 15px;
    text-transform: uppercase;
}

@media only screen and (min-width: 1050px) {
    .tile {
        position: relative;
        height: 121px;
        box-shadow: 0 0 0 0 #e0e0e0;
    }

    .tile_shadowed {
        transition: box-shadow 0.07s, background-size 0.4s;
    }

    .tile_shadowed:hover {
        box-shadow: 0 0 20px 7px #e0e0e0;
    }

    .tile + .tile {
        margin-top: 31px;
    }

    .tile_height_1 {
        height: 121px;
    }

    .tile_height_2 {
        height: 273px;
    }

    .tile_height_3 {
        height: 425px;
    }

    .tile_height_4 {
        height: 577px;
    }

    .tile_height_5 {
        height: 729px;
    }

    .tile__text {
        position: absolute;
        top: 30px;
        left: 30px;
        font-weight: bold;
    }
}

@media only screen and (max-width: 1050px) {
    .tile {
        position: relative;
        overflow: hidden;
        margin-bottom: 7px;
    }

    .tile__text {
        padding: 22px 23px 23px;
    }

    .tile__image {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        width: 100%;
        z-index: -1;
    }
}

.title {
    line-height: 1.3em;
    text-transform: uppercase;
}

@media only screen and (min-width: 1050px) {
    .title {
        padding: 43px 0;
        font-size: 42px;
    }
}

@media only screen and (max-width: 1050px) {
    .title {
        padding: 20px 0;
        font-size: 24px;
    }
}

.clear_margin {
    margin-top: 0 !important;
}

.cart p.name {
    padding-bottom: 5px;
}

.cart p.name + i {
    display: block;
    padding-bottom: 5px;
}

.widget {
    display: block;
    font-size: 0;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    max-width: 262px;
}

* + .widget {
    margin-top: 30px;
}

.widget__title {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.widget__list {
    position: relative;
    margin: 20px auto 0;
    max-width: 80%;
    white-space: nowrap;
}

.widget__list .slick-list {
    overflow: hidden;
}

.widget__item {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    white-space: normal;
    width: 100%;
}

.widget[data-slides-to-show=















2
]
.widget__item {
    width: 50%;
}

.widget[data-slides-to-show=















3
]
.widget__item {
    width: 33%;
}

.widget[data-slides-to-show=















4
]
.widget__item {
    width: 25%;
}

.widget[data-slides-to-show=















5
]
.widget__item {
    width: 20%;
}

.widget__logo {
    display: inline-block;
    vertical-align: middle;
    max-width: 85%;
    margin: 0 auto;
}

.widget__item-title,
.widget__item-group {
    font-size: 14px;
    text-align: center;
    line-height: 1.5em;
}

.widget__item-title {
    margin-top: 20px;
    font-weight: bold;
}

.widget .slick-arrow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: transparent;
    border: none;
}

.widget .slick-arrow::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.widget .slick-arrow.slick-prev {
    right: auto;
    left: -15px;
    width: 15px;
}

.widget .slick-arrow.slick-prev::before {
    background-image: url("../images/sprites/common.png");
    background-position: 0px -275px;
    width: 15px;
    height: 29px;
}

.widget .slick-arrow.slick-next {
    left: auto;
    right: -15px;
    width: 15px;
}

.widget .slick-arrow.slick-next::before {
    background-image: url("../images/sprites/common.png");
    background-position: -23px -275px;
    width: 15px;
    height: 29px;
}

.widget[data-slides-to-show='1'] .slick-arrow::before {
    bottom: auto;
    top: 68px;
}

.footer-column__images a {
    padding: 10px 0;
}

.footer-column__images img {
    width: 100%;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNwcml0ZXMvY29tbW9uLnN0eWwiLCJoZWxwZXJzL29wdGltaXplLnN0eWwiLCIuLi9ibG9ja3MvYXJjaGl2ZS1maXhlZC9hcmNoaXZlLWZpeGVkLnN0eWwiLCJoZWxwZXJzL21peGlucy5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3J1cHR1cmUvcnVwdHVyZS9pbmRleC5zdHlsIiwiLi4vYmxvY2tzL2Jhbm5lci9iYW5uZXIuc3R5bCIsIi4uL2Jsb2Nrcy9idG4vYnRuLnN0eWwiLCIuLi9ibG9ja3MvY29udGVudC1jb2x1bW5zL2NvbnRlbnQtY29sdW1ucy5zdHlsIiwiLi4vYmxvY2tzL2NvbnRlbnQvY29udGVudC5zdHlsIiwiLi4vYmxvY2tzL2ZpbGUtaWNvbi9maWxlLWljb24uc3R5bCIsIi4uL2Jsb2Nrcy9maWxlL2ZpbGUuc3R5bCIsIi4uL2Jsb2Nrcy9maWxlcy9maWxlcy5zdHlsIiwiLi4vYmxvY2tzL2Zvb3Rlci1jb2x1bW4vZm9vdGVyLWNvbHVtbi5zdHlsIiwiLi4vYmxvY2tzL2Zvb3Rlci9mb290ZXIuc3R5bCIsIi4uL2Jsb2Nrcy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuc3R5bCIsIi4uL2Jsb2Nrcy9mb3JtL2Zvcm0uc3R5bCIsIi4uL2Jsb2Nrcy9nYWxsZXJ5L2dhbGxlcnkuc3R5bCIsIi4uL2Jsb2Nrcy9ncmlkL2dyaWQuc3R5bCIsIi4uL2Jsb2Nrcy9oZWFkZXItZml4ZWQvaGVhZGVyLWZpeGVkLnN0eWwiLCIuLi9ibG9ja3MvaGVhZGVyLWluZm8vaGVhZGVyLWluZm8uc3R5bCIsIi4uL2Jsb2Nrcy9oZWFkZXIvaGVhZGVyLnN0eWwiLCIuLi9ibG9ja3MvaHRtbC9odG1sLnN0eWwiLCIuLi9ibG9ja3MvaW5kZXgtYWRkcmVzcy9pbmRleC1hZGRyZXNzLnN0eWwiLCIuLi9ibG9ja3MvaW5kZXgtY29udGFjdHMvaW5kZXgtY29udGFjdHMuc3R5bCIsIi4uL2Jsb2Nrcy9pbmRleC9pbmRleC5zdHlsIiwiLi4vYmxvY2tzL2xhbmd1YWdlcy9sYW5ndWFnZXMuc3R5bCIsIi4uL2Jsb2Nrcy9sb2dvL2xvZ28uc3R5bCIsIi4uL2Jsb2Nrcy9tYXAvbWFwLnN0eWwiLCIuLi9ibG9ja3MvbWVkaWEtaXRlbS9tZWRpYS1pdGVtLnN0eWwiLCIuLi9ibG9ja3MvbWVkaWEvbWVkaWEuc3R5bCIsIi4uL2Jsb2Nrcy9tZW51L21lbnUuc3R5bCIsIi4uL2Jsb2Nrcy9uZXdzLWl0ZW0vbmV3cy1pdGVtLnN0eWwiLCIuLi9ibG9ja3MvbmV3cy9uZXdzLnN0eWwiLCIuLi9ibG9ja3MvcGFnZS9wYWdlLnN0eWwiLCIuLi9ibG9ja3MvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnN0eWwiLCIuLi9ibG9ja3MvcGFydGljaXBhbnQvcGFydGljaXBhbnQuc3R5bCIsIi4uL2Jsb2Nrcy9wYXJ0aWNpcGFudHMvcGFydGljaXBhbnRzLnN0eWwiLCIuLi9ibG9ja3MvcGFydG5lcnMtaXRlbS9wYXJ0bmVycy1pdGVtLnN0eWwiLCIuLi9ibG9ja3MvcGFydG5lcnMvcGFydG5lcnMuc3R5bCIsIi4uL2Jsb2Nrcy9wcm9ncmFtLWNvbnRlbnQtaXRlbS9wcm9ncmFtLWNvbnRlbnQtaXRlbS5zdHlsIiwiLi4vYmxvY2tzL3Byb2dyYW0tY29udGVudC9wcm9ncmFtLWNvbnRlbnQuc3R5bCIsIi4uL2Jsb2Nrcy9wcm9ncmFtLWRheS9wcm9ncmFtLWRheS5zdHlsIiwiLi4vYmxvY2tzL3Byb2dyYW0tZGF5cy9wcm9ncmFtLWRheXMuc3R5bCIsIi4uL2Jsb2Nrcy9wcm9ncmFtL3Byb2dyYW0uc3R5bCIsIi4uL2Jsb2Nrcy9yZWdpc3RyYXRpb24tYnRuL3JlZ2lzdHJhdGlvbi1idG4uc3R5bCIsIi4uL2Jsb2Nrcy9zY2hlZHVsZS1yb3cvc2NoZWR1bGUtcm93LnN0eWwiLCIuLi9ibG9ja3Mvc2NoZWR1bGUvc2NoZWR1bGUuc3R5bCIsIi4uL2Jsb2Nrcy9zaGFwZWQtYmxvY2svc2hhcGVkLWJsb2NrLnN0eWwiLCIuLi9ibG9ja3Mvc3VibWVudS9zdWJtZW51LnN0eWwiLCIuLi9ibG9ja3MvdGlsZS90aWxlLnN0eWwiLCIuLi9ibG9ja3MvdGl0bGUvdGl0bGUuc3R5bCIsIi4uL2Jsb2Nrcy91dGlscy91dGlscy5zdHlsIiwiLi4vYmxvY2tzL3dpZGdldC93aWRnZXQuc3R5bCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztBQXlPQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4RUE7Ozs7Ozs7OztBQ2xUQTtFQUNDLFVBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBOztBQU1EOzs7Ozs7Ozs7Ozs7RUFZQyxlQUFBOztBQUlEOzs7O0VBSUMsc0JBQUE7RUFDQSx5QkFBQTs7QUFJRDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUlEOztFQUVDLGNBQUE7O0FBU0Q7RUFDQyx3QkFBQTtFQUNBLDJCQUFBO0VBQ0EsK0JBQUE7RUFDQSwyQ0FBQTtFQUNBLDhDQUFBO0VBQ0EsZ0JBQUE7O0FBR0Q7RUFDQyxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQ0FBQTtFQUNBLG9DQUFBOztBQU1EO0VBQ0Msd0JBQUE7RUFDQSxlQUFBO0VBQ0Esc0JBQUE7O0FBR0Q7OztFQUNDLGNBQUE7O0FBTUQ7RUFDQyx3QkFBQTtFQUNBLFVBQUE7O0FBR0Q7O0VBRUMsaUJBQUE7O0FBR0Q7RUFDQyxpQkFBQTtPQUFBLFlBQUE7RUFDQSxzQkFBQTs7QUFHRDtFQUNDLHdDQUFBOztBQU1EO0VBQ0MsYUFBQTs7QUFHRDtFQUNDLGlCQUFBOztBQU1EOztFQUVDLGFBQUE7RUFDQSxvQkFBQTs7QUFNRDs7RUFFQyxxQkFBQTs7QUFHRDtFQUNDLGtCQUFBOztBQUtEOzs7O0VBSUMsMkJBQUE7RUFDQSxnQkFBQTs7QUFHRDs7RUFFQyxnQkFBQTs7QUFHRDs7RUFFQyx1QkFBQTs7QUFLRDs7RUFFQyxhQUFBOztBQUlEO0VBQ0MsOEJBQUE7RUFDQSx3QkFBQTs7QUFHRDs7RUFFQyx5QkFBQTs7QUFHRDs7RUFFQyxhQUFBO0VBQ0EsV0FBQTs7QUFJRDtFQUNDLGVBQUE7RUFDQSxvQkFBQTs7QUFH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QkFBQTtFQUNBLFlBQUE7O0FBQ0Q7RUFDQyxXQUFBOztBQUNEO0VBQ0MsV0FBQTs7QUFDRDtFQUNDLFdBQUE7O0FBQ0Q7RUFDQyxXQUFBOztBQUVEO0VBQ0Msc0JBQUE7RUFDQSx1QkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBOztBQUVEOztFQUVDLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTs7QUFDRDtFQUNDLGlCQUFBO0VBQ0Esa0JBQUE7O0FBRUQ7RWpEeERBLG1CQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RWlEcURDLHdCQUFBO0VBQ0EsYUFBQTs7QUFFQTtFakRyREQsWUFBQTtFQUNBLGVBQUE7RUFUQSxtQkFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBOztBaUQ0REM7RUFDQyxZQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7O0FBQ0E7RXBEME1ELHNEQUFBO0VBSkEsZ0NBQUE7RUFSQSxZQUFBO0VBSUEsYUFBQTs7QW9EaE1BO0VBQ0MsV0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBOztBQUNBO0VwRG9NRCxzREFBQTtFQUpBLGtDQUFBO0VBUkEsWUFBQTtFQUlBLGFBQUE7O0FvRDFMRDtFQUNDLGFBQUE7RUFDQSxVQUFBIiwiZmlsZSI6ImFwcC5taW4uY3NzIiwic291cmNlUm9vdCI6Ii9zb3VyY2UvIiwic291cmNlc0NvbnRlbnQiOlsiLypcblN0eWx1cyB2YXJpYWJsZXMgYXJlIGluZm9ybWF0aW9uIGFib3V0IGljb24ncyBjb21waWxlZCBzdGF0ZSwgc3RvcmVkIHVuZGVyIGl0cyBvcmlnaW5hbCBmaWxlIG5hbWVcblxuLmljb24taG9tZSB7XG4gIHdpZHRoOiAkaWNvbl9ob21lX3dpZHRoO1xufVxuXG5UaGUgbGFyZ2UgYXJyYXktbGlrZSB2YXJpYWJsZXMgY29udGFpbiBhbGwgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgaWNvblxuJGljb25faG9tZSA9IHggeSBvZmZzZXRfeCBvZmZzZXRfeSB3aWR0aCBoZWlnaHQgdG90YWxfd2lkdGggdG90YWxfaGVpZ2h0IGltYWdlX3BhdGg7XG5cbkF0IHRoZSBib3R0b20gb2YgdGhpcyBzZWN0aW9uLCB3ZSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcHJpdGVzaGVldCBpdHNlbGZcbiRzcHJpdGVzaGVldCA9IHdpZHRoIGhlaWdodCBpbWFnZSAkc3ByaXRlc2hlZXRfc3ByaXRlcztcbiovXG4kYXJyb3dfZ2FsbGVyeV9sZWZ0X25hbWUgPSAnYXJyb3ctZ2FsbGVyeS1sZWZ0JztcbiRhcnJvd19nYWxsZXJ5X2xlZnRfeCA9IDI5NXB4O1xuJGFycm93X2dhbGxlcnlfbGVmdF95ID0gMHB4O1xuJGFycm93X2dhbGxlcnlfbGVmdF9vZmZzZXRfeCA9IC0yOTVweDtcbiRhcnJvd19nYWxsZXJ5X2xlZnRfb2Zmc2V0X3kgPSAwcHg7XG4kYXJyb3dfZ2FsbGVyeV9sZWZ0X3dpZHRoID0gMjdweDtcbiRhcnJvd19nYWxsZXJ5X2xlZnRfaGVpZ2h0ID0gOTFweDtcbiRhcnJvd19nYWxsZXJ5X2xlZnRfdG90YWxfd2lkdGggPSAzMjJweDtcbiRhcnJvd19nYWxsZXJ5X2xlZnRfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kYXJyb3dfZ2FsbGVyeV9sZWZ0X2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGFycm93X2dhbGxlcnlfbGVmdCA9IDI5NXB4IDBweCAtMjk1cHggMHB4IDI3cHggOTFweCAzMjJweCAzMDRweCAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZycgJ2Fycm93LWdhbGxlcnktbGVmdCc7XG4kYXJyb3dfZ2FsbGVyeV9yaWdodF9uYW1lID0gJ2Fycm93LWdhbGxlcnktcmlnaHQnO1xuJGFycm93X2dhbGxlcnlfcmlnaHRfeCA9IDI5NXB4O1xuJGFycm93X2dhbGxlcnlfcmlnaHRfeSA9IDk5cHg7XG4kYXJyb3dfZ2FsbGVyeV9yaWdodF9vZmZzZXRfeCA9IC0yOTVweDtcbiRhcnJvd19nYWxsZXJ5X3JpZ2h0X29mZnNldF95ID0gLTk5cHg7XG4kYXJyb3dfZ2FsbGVyeV9yaWdodF93aWR0aCA9IDI3cHg7XG4kYXJyb3dfZ2FsbGVyeV9yaWdodF9oZWlnaHQgPSA5MXB4O1xuJGFycm93X2dhbGxlcnlfcmlnaHRfdG90YWxfd2lkdGggPSAzMjJweDtcbiRhcnJvd19nYWxsZXJ5X3JpZ2h0X3RvdGFsX2hlaWdodCA9IDMwNHB4O1xuJGFycm93X2dhbGxlcnlfcmlnaHRfaW1hZ2UgPSAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZyc7XG4kYXJyb3dfZ2FsbGVyeV9yaWdodCA9IDI5NXB4IDk5cHggLTI5NXB4IC05OXB4IDI3cHggOTFweCAzMjJweCAzMDRweCAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZycgJ2Fycm93LWdhbGxlcnktcmlnaHQnO1xuJGFycm93X3doaXRlX2Rvd25fbmFtZSA9ICdhcnJvdy13aGl0ZS1kb3duJztcbiRhcnJvd193aGl0ZV9kb3duX3ggPSAyOTVweDtcbiRhcnJvd193aGl0ZV9kb3duX3kgPSAxOThweDtcbiRhcnJvd193aGl0ZV9kb3duX29mZnNldF94ID0gLTI5NXB4O1xuJGFycm93X3doaXRlX2Rvd25fb2Zmc2V0X3kgPSAtMTk4cHg7XG4kYXJyb3dfd2hpdGVfZG93bl93aWR0aCA9IDEzcHg7XG4kYXJyb3dfd2hpdGVfZG93bl9oZWlnaHQgPSA3cHg7XG4kYXJyb3dfd2hpdGVfZG93bl90b3RhbF93aWR0aCA9IDMyMnB4O1xuJGFycm93X3doaXRlX2Rvd25fdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kYXJyb3dfd2hpdGVfZG93bl9pbWFnZSA9ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJztcbiRhcnJvd193aGl0ZV9kb3duID0gMjk1cHggMTk4cHggLTI5NXB4IC0xOThweCAxM3B4IDdweCAzMjJweCAzMDRweCAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZycgJ2Fycm93LXdoaXRlLWRvd24nO1xuJGNvcm5lcl9jb3JhbF9uYW1lID0gJ2Nvcm5lci1jb3JhbCc7XG4kY29ybmVyX2NvcmFsX3ggPSAxODVweDtcbiRjb3JuZXJfY29yYWxfeSA9IDE1MXB4O1xuJGNvcm5lcl9jb3JhbF9vZmZzZXRfeCA9IC0xODVweDtcbiRjb3JuZXJfY29yYWxfb2Zmc2V0X3kgPSAtMTUxcHg7XG4kY29ybmVyX2NvcmFsX3dpZHRoID0gMzBweDtcbiRjb3JuZXJfY29yYWxfaGVpZ2h0ID0gMjhweDtcbiRjb3JuZXJfY29yYWxfdG90YWxfd2lkdGggPSAzMjJweDtcbiRjb3JuZXJfY29yYWxfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kY29ybmVyX2NvcmFsX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGNvcm5lcl9jb3JhbCA9IDE4NXB4IDE1MXB4IC0xODVweCAtMTUxcHggMzBweCAyOHB4IDMyMnB4IDMwNHB4ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJyAnY29ybmVyLWNvcmFsJztcbiRjb3JuZXJfb3JhbmdlX25hbWUgPSAnY29ybmVyLW9yYW5nZSc7XG4kY29ybmVyX29yYW5nZV94ID0gODJweDtcbiRjb3JuZXJfb3JhbmdlX3kgPSAyMjJweDtcbiRjb3JuZXJfb3JhbmdlX29mZnNldF94ID0gLTgycHg7XG4kY29ybmVyX29yYW5nZV9vZmZzZXRfeSA9IC0yMjJweDtcbiRjb3JuZXJfb3JhbmdlX3dpZHRoID0gMzBweDtcbiRjb3JuZXJfb3JhbmdlX2hlaWdodCA9IDI4cHg7XG4kY29ybmVyX29yYW5nZV90b3RhbF93aWR0aCA9IDMyMnB4O1xuJGNvcm5lcl9vcmFuZ2VfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kY29ybmVyX29yYW5nZV9pbWFnZSA9ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJztcbiRjb3JuZXJfb3JhbmdlID0gODJweCAyMjJweCAtODJweCAtMjIycHggMzBweCAyOHB4IDMyMnB4IDMwNHB4ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJyAnY29ybmVyLW9yYW5nZSc7XG4kY29ybmVyX3JlZF9uYW1lID0gJ2Nvcm5lci1yZWQnO1xuJGNvcm5lcl9yZWRfeCA9IDIyM3B4O1xuJGNvcm5lcl9yZWRfeSA9IDE1MXB4O1xuJGNvcm5lcl9yZWRfb2Zmc2V0X3ggPSAtMjIzcHg7XG4kY29ybmVyX3JlZF9vZmZzZXRfeSA9IC0xNTFweDtcbiRjb3JuZXJfcmVkX3dpZHRoID0gMzBweDtcbiRjb3JuZXJfcmVkX2hlaWdodCA9IDI4cHg7XG4kY29ybmVyX3JlZF90b3RhbF93aWR0aCA9IDMyMnB4O1xuJGNvcm5lcl9yZWRfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kY29ybmVyX3JlZF9pbWFnZSA9ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJztcbiRjb3JuZXJfcmVkID0gMjIzcHggMTUxcHggLTIyM3B4IC0xNTFweCAzMHB4IDI4cHggMzIycHggMzA0cHggJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnICdjb3JuZXItcmVkJztcbiRmaWxlX29yYW5nZV9uYW1lID0gJ2ZpbGUtb3JhbmdlJztcbiRmaWxlX29yYW5nZV94ID0gMjQ0cHg7XG4kZmlsZV9vcmFuZ2VfeSA9IDg0cHg7XG4kZmlsZV9vcmFuZ2Vfb2Zmc2V0X3ggPSAtMjQ0cHg7XG4kZmlsZV9vcmFuZ2Vfb2Zmc2V0X3kgPSAtODRweDtcbiRmaWxlX29yYW5nZV93aWR0aCA9IDM3cHg7XG4kZmlsZV9vcmFuZ2VfaGVpZ2h0ID0gNDVweDtcbiRmaWxlX29yYW5nZV90b3RhbF93aWR0aCA9IDMyMnB4O1xuJGZpbGVfb3JhbmdlX3RvdGFsX2hlaWdodCA9IDMwNHB4O1xuJGZpbGVfb3JhbmdlX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGZpbGVfb3JhbmdlID0gMjQ0cHggODRweCAtMjQ0cHggLTg0cHggMzdweCA0NXB4IDMyMnB4IDMwNHB4ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJyAnZmlsZS1vcmFuZ2UnO1xuJGZpbGVfd2hpdGVfbmFtZSA9ICdmaWxlLXdoaXRlJztcbiRmaWxlX3doaXRlX3ggPSAwcHg7XG4kZmlsZV93aGl0ZV95ID0gMjIycHg7XG4kZmlsZV93aGl0ZV9vZmZzZXRfeCA9IDBweDtcbiRmaWxlX3doaXRlX29mZnNldF95ID0gLTIyMnB4O1xuJGZpbGVfd2hpdGVfd2lkdGggPSAzNnB4O1xuJGZpbGVfd2hpdGVfaGVpZ2h0ID0gNDVweDtcbiRmaWxlX3doaXRlX3RvdGFsX3dpZHRoID0gMzIycHg7XG4kZmlsZV93aGl0ZV90b3RhbF9oZWlnaHQgPSAzMDRweDtcbiRmaWxlX3doaXRlX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGZpbGVfd2hpdGUgPSAwcHggMjIycHggMHB4IC0yMjJweCAzNnB4IDQ1cHggMzIycHggMzA0cHggJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnICdmaWxlLXdoaXRlJztcbiRnYWxsZXJ5X2Nyb3NzX25hbWUgPSAnZ2FsbGVyeS1jcm9zcyc7XG4kZ2FsbGVyeV9jcm9zc194ID0gMjYxcHg7XG4kZ2FsbGVyeV9jcm9zc195ID0gMTUxcHg7XG4kZ2FsbGVyeV9jcm9zc19vZmZzZXRfeCA9IC0yNjFweDtcbiRnYWxsZXJ5X2Nyb3NzX29mZnNldF95ID0gLTE1MXB4O1xuJGdhbGxlcnlfY3Jvc3Nfd2lkdGggPSAyNnB4O1xuJGdhbGxlcnlfY3Jvc3NfaGVpZ2h0ID0gMjZweDtcbiRnYWxsZXJ5X2Nyb3NzX3RvdGFsX3dpZHRoID0gMzIycHg7XG4kZ2FsbGVyeV9jcm9zc190b3RhbF9oZWlnaHQgPSAzMDRweDtcbiRnYWxsZXJ5X2Nyb3NzX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGdhbGxlcnlfY3Jvc3MgPSAyNjFweCAxNTFweCAtMjYxcHggLTE1MXB4IDI2cHggMjZweCAzMjJweCAzMDRweCAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZycgJ2dhbGxlcnktY3Jvc3MnO1xuJGltYWdlX3BsYWNlaG9sZGVyX25hbWUgPSAnaW1hZ2UtcGxhY2Vob2xkZXInO1xuJGltYWdlX3BsYWNlaG9sZGVyX3ggPSAwcHg7XG4kaW1hZ2VfcGxhY2Vob2xkZXJfeSA9IDg0cHg7XG4kaW1hZ2VfcGxhY2Vob2xkZXJfb2Zmc2V0X3ggPSAwcHg7XG4kaW1hZ2VfcGxhY2Vob2xkZXJfb2Zmc2V0X3kgPSAtODRweDtcbiRpbWFnZV9wbGFjZWhvbGRlcl93aWR0aCA9IDg1cHg7XG4kaW1hZ2VfcGxhY2Vob2xkZXJfaGVpZ2h0ID0gOTdweDtcbiRpbWFnZV9wbGFjZWhvbGRlcl90b3RhbF93aWR0aCA9IDMyMnB4O1xuJGltYWdlX3BsYWNlaG9sZGVyX3RvdGFsX2hlaWdodCA9IDMwNHB4O1xuJGltYWdlX3BsYWNlaG9sZGVyX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGltYWdlX3BsYWNlaG9sZGVyID0gMHB4IDg0cHggMHB4IC04NHB4IDg1cHggOTdweCAzMjJweCAzMDRweCAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZycgJ2ltYWdlLXBsYWNlaG9sZGVyJztcbiRsb2dvX2F1dG9kb3JfbmFtZSA9ICdsb2dvLWF1dG9kb3InO1xuJGxvZ29fYXV0b2Rvcl94ID0gMHB4O1xuJGxvZ29fYXV0b2Rvcl95ID0gMTg5cHg7XG4kbG9nb19hdXRvZG9yX29mZnNldF94ID0gMHB4O1xuJGxvZ29fYXV0b2Rvcl9vZmZzZXRfeSA9IC0xODlweDtcbiRsb2dvX2F1dG9kb3Jfd2lkdGggPSAxNTJweDtcbiRsb2dvX2F1dG9kb3JfaGVpZ2h0ID0gMjVweDtcbiRsb2dvX2F1dG9kb3JfdG90YWxfd2lkdGggPSAzMjJweDtcbiRsb2dvX2F1dG9kb3JfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kbG9nb19hdXRvZG9yX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGxvZ29fYXV0b2RvciA9IDBweCAxODlweCAwcHggLTE4OXB4IDE1MnB4IDI1cHggMzIycHggMzA0cHggJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnICdsb2dvLWF1dG9kb3InO1xuJGxvZ29fZG91YmxlX2VhZ2xlX25hbWUgPSAnbG9nby1kb3VibGUtZWFnbGUnO1xuJGxvZ29fZG91YmxlX2VhZ2xlX3ggPSAxODVweDtcbiRsb2dvX2RvdWJsZV9lYWdsZV95ID0gODRweDtcbiRsb2dvX2RvdWJsZV9lYWdsZV9vZmZzZXRfeCA9IC0xODVweDtcbiRsb2dvX2RvdWJsZV9lYWdsZV9vZmZzZXRfeSA9IC04NHB4O1xuJGxvZ29fZG91YmxlX2VhZ2xlX3dpZHRoID0gNTFweDtcbiRsb2dvX2RvdWJsZV9lYWdsZV9oZWlnaHQgPSA1OXB4O1xuJGxvZ29fZG91YmxlX2VhZ2xlX3RvdGFsX3dpZHRoID0gMzIycHg7XG4kbG9nb19kb3VibGVfZWFnbGVfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kbG9nb19kb3VibGVfZWFnbGVfaW1hZ2UgPSAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZyc7XG4kbG9nb19kb3VibGVfZWFnbGUgPSAxODVweCA4NHB4IC0xODVweCAtODRweCA1MXB4IDU5cHggMzIycHggMzA0cHggJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnICdsb2dvLWRvdWJsZS1lYWdsZSc7XG4kbG9nb190ZXh0X2VuX25hbWUgPSAnbG9nby10ZXh0LWVuJztcbiRsb2dvX3RleHRfZW5feCA9IDE2MXB4O1xuJGxvZ29fdGV4dF9lbl95ID0gMHB4O1xuJGxvZ29fdGV4dF9lbl9vZmZzZXRfeCA9IC0xNjFweDtcbiRsb2dvX3RleHRfZW5fb2Zmc2V0X3kgPSAwcHg7XG4kbG9nb190ZXh0X2VuX3dpZHRoID0gMTI2cHg7XG4kbG9nb190ZXh0X2VuX2hlaWdodCA9IDcycHg7XG4kbG9nb190ZXh0X2VuX3RvdGFsX3dpZHRoID0gMzIycHg7XG4kbG9nb190ZXh0X2VuX3RvdGFsX2hlaWdodCA9IDMwNHB4O1xuJGxvZ29fdGV4dF9lbl9pbWFnZSA9ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJztcbiRsb2dvX3RleHRfZW4gPSAxNjFweCAwcHggLTE2MXB4IDBweCAxMjZweCA3MnB4IDMyMnB4IDMwNHB4ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJyAnbG9nby10ZXh0LWVuJztcbiRsb2dvX3RleHRfcnVfbmFtZSA9ICdsb2dvLXRleHQtcnUnO1xuJGxvZ29fdGV4dF9ydV94ID0gMHB4O1xuJGxvZ29fdGV4dF9ydV95ID0gMHB4O1xuJGxvZ29fdGV4dF9ydV9vZmZzZXRfeCA9IDBweDtcbiRsb2dvX3RleHRfcnVfb2Zmc2V0X3kgPSAwcHg7XG4kbG9nb190ZXh0X3J1X3dpZHRoID0gMTUzcHg7XG4kbG9nb190ZXh0X3J1X2hlaWdodCA9IDc2cHg7XG4kbG9nb190ZXh0X3J1X3RvdGFsX3dpZHRoID0gMzIycHg7XG4kbG9nb190ZXh0X3J1X3RvdGFsX2hlaWdodCA9IDMwNHB4O1xuJGxvZ29fdGV4dF9ydV9pbWFnZSA9ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJztcbiRsb2dvX3RleHRfcnUgPSAwcHggMHB4IDBweCAwcHggMTUzcHggNzZweCAzMjJweCAzMDRweCAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZycgJ2xvZ28tdGV4dC1ydSc7XG4kbG9nb19uYW1lID0gJ2xvZ28nO1xuJGxvZ29feCA9IDkzcHg7XG4kbG9nb195ID0gODRweDtcbiRsb2dvX29mZnNldF94ID0gLTkzcHg7XG4kbG9nb19vZmZzZXRfeSA9IC04NHB4O1xuJGxvZ29fd2lkdGggPSA4NHB4O1xuJGxvZ29faGVpZ2h0ID0gOTdweDtcbiRsb2dvX3RvdGFsX3dpZHRoID0gMzIycHg7XG4kbG9nb190b3RhbF9oZWlnaHQgPSAzMDRweDtcbiRsb2dvX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJGxvZ28gPSA5M3B4IDg0cHggLTkzcHggLTg0cHggODRweCA5N3B4IDMyMnB4IDMwNHB4ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJyAnbG9nbyc7XG4kb3JhbmdlX2Nvcm5lcl9uYW1lID0gJ29yYW5nZS1jb3JuZXInO1xuJG9yYW5nZV9jb3JuZXJfeCA9IDE2MHB4O1xuJG9yYW5nZV9jb3JuZXJfeSA9IDE4OXB4O1xuJG9yYW5nZV9jb3JuZXJfb2Zmc2V0X3ggPSAtMTYwcHg7XG4kb3JhbmdlX2Nvcm5lcl9vZmZzZXRfeSA9IC0xODlweDtcbiRvcmFuZ2VfY29ybmVyX3dpZHRoID0gMjNweDtcbiRvcmFuZ2VfY29ybmVyX2hlaWdodCA9IDE3cHg7XG4kb3JhbmdlX2Nvcm5lcl90b3RhbF93aWR0aCA9IDMyMnB4O1xuJG9yYW5nZV9jb3JuZXJfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kb3JhbmdlX2Nvcm5lcl9pbWFnZSA9ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJztcbiRvcmFuZ2VfY29ybmVyID0gMTYwcHggMTg5cHggLTE2MHB4IC0xODlweCAyM3B4IDE3cHggMzIycHggMzA0cHggJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnICdvcmFuZ2UtY29ybmVyJztcbiR2aWRlb19uYW1lID0gJ3ZpZGVvJztcbiR2aWRlb194ID0gNDRweDtcbiR2aWRlb195ID0gMjIycHg7XG4kdmlkZW9fb2Zmc2V0X3ggPSAtNDRweDtcbiR2aWRlb19vZmZzZXRfeSA9IC0yMjJweDtcbiR2aWRlb193aWR0aCA9IDMwcHg7XG4kdmlkZW9faGVpZ2h0ID0gMzRweDtcbiR2aWRlb190b3RhbF93aWR0aCA9IDMyMnB4O1xuJHZpZGVvX3RvdGFsX2hlaWdodCA9IDMwNHB4O1xuJHZpZGVvX2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJHZpZGVvID0gNDRweCAyMjJweCAtNDRweCAtMjIycHggMzBweCAzNHB4IDMyMnB4IDMwNHB4ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJyAndmlkZW8nO1xuJHdpZGdldF9hcnJvd19sZWZ0X25hbWUgPSAnd2lkZ2V0X2Fycm93X2xlZnQnO1xuJHdpZGdldF9hcnJvd19sZWZ0X3ggPSAwcHg7XG4kd2lkZ2V0X2Fycm93X2xlZnRfeSA9IDI3NXB4O1xuJHdpZGdldF9hcnJvd19sZWZ0X29mZnNldF94ID0gMHB4O1xuJHdpZGdldF9hcnJvd19sZWZ0X29mZnNldF95ID0gLTI3NXB4O1xuJHdpZGdldF9hcnJvd19sZWZ0X3dpZHRoID0gMTVweDtcbiR3aWRnZXRfYXJyb3dfbGVmdF9oZWlnaHQgPSAyOXB4O1xuJHdpZGdldF9hcnJvd19sZWZ0X3RvdGFsX3dpZHRoID0gMzIycHg7XG4kd2lkZ2V0X2Fycm93X2xlZnRfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kd2lkZ2V0X2Fycm93X2xlZnRfaW1hZ2UgPSAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZyc7XG4kd2lkZ2V0X2Fycm93X2xlZnQgPSAwcHggMjc1cHggMHB4IC0yNzVweCAxNXB4IDI5cHggMzIycHggMzA0cHggJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnICd3aWRnZXRfYXJyb3dfbGVmdCc7XG4kd2lkZ2V0X2Fycm93X3JpZ2h0X25hbWUgPSAnd2lkZ2V0X2Fycm93X3JpZ2h0JztcbiR3aWRnZXRfYXJyb3dfcmlnaHRfeCA9IDIzcHg7XG4kd2lkZ2V0X2Fycm93X3JpZ2h0X3kgPSAyNzVweDtcbiR3aWRnZXRfYXJyb3dfcmlnaHRfb2Zmc2V0X3ggPSAtMjNweDtcbiR3aWRnZXRfYXJyb3dfcmlnaHRfb2Zmc2V0X3kgPSAtMjc1cHg7XG4kd2lkZ2V0X2Fycm93X3JpZ2h0X3dpZHRoID0gMTVweDtcbiR3aWRnZXRfYXJyb3dfcmlnaHRfaGVpZ2h0ID0gMjlweDtcbiR3aWRnZXRfYXJyb3dfcmlnaHRfdG90YWxfd2lkdGggPSAzMjJweDtcbiR3aWRnZXRfYXJyb3dfcmlnaHRfdG90YWxfaGVpZ2h0ID0gMzA0cHg7XG4kd2lkZ2V0X2Fycm93X3JpZ2h0X2ltYWdlID0gJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnO1xuJHdpZGdldF9hcnJvd19yaWdodCA9IDIzcHggMjc1cHggLTIzcHggLTI3NXB4IDE1cHggMjlweCAzMjJweCAzMDRweCAnLi4vaW1hZ2VzL3Nwcml0ZXMvY29tbW9uLnBuZycgJ3dpZGdldF9hcnJvd19yaWdodCc7XG4kc3BfY29tbW9uX3dpZHRoID0gMzIycHg7XG4kc3BfY29tbW9uX2hlaWdodCA9IDMwNHB4O1xuJHNwX2NvbW1vbl9pbWFnZSA9ICcuLi9pbWFnZXMvc3ByaXRlcy9jb21tb24ucG5nJztcbiRzcF9jb21tb25fc3ByaXRlcyA9ICRhcnJvd19nYWxsZXJ5X2xlZnQgJGFycm93X2dhbGxlcnlfcmlnaHQgJGFycm93X3doaXRlX2Rvd24gJGNvcm5lcl9jb3JhbCAkY29ybmVyX29yYW5nZSAkY29ybmVyX3JlZCAkZmlsZV9vcmFuZ2UgJGZpbGVfd2hpdGUgJGdhbGxlcnlfY3Jvc3MgJGltYWdlX3BsYWNlaG9sZGVyICRsb2dvX2F1dG9kb3IgJGxvZ29fZG91YmxlX2VhZ2xlICRsb2dvX3RleHRfZW4gJGxvZ29fdGV4dF9ydSAkbG9nbyAkb3JhbmdlX2Nvcm5lciAkdmlkZW8gJHdpZGdldF9hcnJvd19sZWZ0ICR3aWRnZXRfYXJyb3dfcmlnaHQ7XG4kc3BfY29tbW9uID0gMzIycHggMzA0cHggJy4uL2ltYWdlcy9zcHJpdGVzL2NvbW1vbi5wbmcnICRzcF9jb21tb25fc3ByaXRlcztcblxyXG4vLyBUaGVzZSBcInJldGluYSBncm91cFwiIHZhcmlhYmxlcyBhcmUgbWFwcGluZ3MgZm9yIHRoZSBuYW1pbmcgYW5kIHBhaXJpbmcgb2Ygbm9ybWFsIGFuZCByZXRpbmEgc3ByaXRlcy5cclxuXHJcbi8vIFRoZSBsaXN0IGZvcm1hdHRlZCB2YXJpYWJsZXMgYXJlIGludGVuZGVkIGZvciBtaXhpbnMgbGlrZSBgcmV0aW5hU3ByaXRlYCBhbmQgYHJldGluYVNwcml0ZXNgLlxyXG5cclxuXG4vKlxuVGhlIHByb3ZpZGVkIG1peGlucyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBhcnJheS1saWtlIHZhcmlhYmxlc1xuXG4uaWNvbi1ob21lIHtcbiAgc3ByaXRlV2lkdGgoJGljb25faG9tZSlcbn1cblxuLmljb24tZW1haWwge1xuICBzcHJpdGUoJGljb25fZW1haWwpXG59XG5cbkV4YW1wbGUgdXNhZ2UgaW4gSFRNTDpcblxuYGRpc3BsYXk6IGJsb2NrYCBzcHJpdGU6XG48ZGl2IGNsYXNzPVwiaWNvbi1ob21lXCI+PC9kaXY+XG5cblRvIGNoYW5nZSBgZGlzcGxheWAgKGUuZy4gYGRpc3BsYXk6IGlubGluZS1ibG9jaztgKSwgd2Ugc3VnZ2VzdCB1c2luZyBhIGNvbW1vbiBDU1MgY2xhc3M6XG5cbi8vIENTU1xuLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIEhUTUxcbjxpIGNsYXNzPVwiaWNvbiBpY29uLWhvbWVcIj48L2k+XG4qL1xuc3ByaXRlV2lkdGgoJHNwcml0ZSkge1xuICB3aWR0aDogJHNwcml0ZVs0XTtcbn1cblxuc3ByaXRlSGVpZ2h0KCRzcHJpdGUpIHtcbiAgaGVpZ2h0OiAkc3ByaXRlWzVdO1xufVxuXG5zcHJpdGVQb3NpdGlvbigkc3ByaXRlKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRzcHJpdGVbMl0gJHNwcml0ZVszXTtcbn1cblxuc3ByaXRlSW1hZ2UoJHNwcml0ZSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNwcml0ZVs4XSk7XG59XG5cbnNwcml0ZSgkc3ByaXRlKSB7XG4gIHNwcml0ZUltYWdlKCRzcHJpdGUpXG4gIHNwcml0ZVBvc2l0aW9uKCRzcHJpdGUpXG4gIHNwcml0ZVdpZHRoKCRzcHJpdGUpXG4gIHNwcml0ZUhlaWdodCgkc3ByaXRlKVxufVxuXHJcblxyXG4vLyBUaGUgYHJldGluYVNwcml0ZWAgbWl4aW4gc2V0cyB1cCBydWxlcyBhbmQgYSBtZWRpYSBxdWVyeSBmb3IgYSBzcHJpdGUvcmV0aW5hIHNwcml0ZS5cclxuLy8gSXQgc2hvdWxkIGJlIHVzZWQgd2l0aCBhIFwicmV0aW5hIGdyb3VwXCIgdmFyaWFibGUuXHJcbi8vXHJcbi8vIFRoZSBtZWRpYSBxdWVyeSBpcyBmcm9tIENTUyBUcmlja3M6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL3JldGluYS1kaXNwbGF5LW1lZGlhLXF1ZXJ5L1xyXG4vL1xyXG4vLyAkaWNvbl9ob21lX2dyb3VwID0gJ2ljb24taG9tZScgJGljb25faG9tZSAkaWNvbl9ob21lXzJ4O1xyXG4vL1xyXG4vLyAuaWNvbi1ob21lIHtcclxuLy8gICAgIHJldGluYVNwcml0ZSgkaWNvbl9ob21lX2dyb3VwKVxyXG4vLyB9XHJcblxyXG5cclxuc3ByaXRlQmFja2dyb3VuZFNpemUoJHNwcml0ZSkge1xyXG5cdGJhY2tncm91bmQtc2l6ZSAkc3ByaXRlWzZdICRzcHJpdGVbN11cclxufVxyXG5cclxucmV0aW5hU3ByaXRlKCRyZXRpbmFfZ3JvdXApIHtcclxuXHQkbm9ybWFsX3Nwcml0ZSA9ICRyZXRpbmFfZ3JvdXBbMV1cclxuXHQkcmV0aW5hX3Nwcml0ZSA9ICRyZXRpbmFfZ3JvdXBbMl1cclxuXHRzcHJpdGUoJG5vcm1hbF9zcHJpdGUpXHJcblxyXG5cdEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcclxuXHRcdFx0XHQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcclxuXHRcdHNwcml0ZUltYWdlKCRyZXRpbmFfc3ByaXRlKVxyXG5cdFx0c3ByaXRlQmFja2dyb3VuZFNpemUoJG5vcm1hbF9zcHJpdGUpXHJcblx0fVxyXG59XHJcblxuLypcblRoZSBgc3ByaXRlc2AgbWl4aW4gZ2VuZXJhdGVzIGlkZW50aWNhbCBvdXRwdXQgdG8gdGhlIENTUyB0ZW1wbGF0ZVxuICBidXQgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIG9mIFN0eWx1c1xuXG5UaGlzIG11c3QgYmUgcnVuIHdoZW4geW91IGhhdmUgYXQgbGVhc3QgMiBzcHJpdGVzLlxuICBJZiBydW4gd2l0aCBhIHNpbmdsZSBzcHJpdGUsIHRoZW4gdGhlcmUgd2lsbCBiZSByZWZlcmVuY2UgZXJyb3JzLlxuXG5zcHJpdGVzKCRzcHJpdGVzaGVldF9zcHJpdGVzKTtcbiovXG5zcHJpdGVzKCRzcHJpdGVzKSB7XG4gIGZvciAkc3ByaXRlIGluICRzcHJpdGVzIHtcbiAgICAkc3ByaXRlX25hbWUgPSAkc3ByaXRlWzldO1xuICAgIC57JHNwcml0ZV9uYW1lfSB7XG4gICAgICBzcHJpdGUoJHNwcml0ZSk7XG4gICAgfVxuICB9XG59XG5cclxuLy8gVGhlIGByZXRpbmFTcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgYSBDU1MgcnVsZSBhbmQgbWVkaWEgcXVlcnkgZm9yIHJldGluYSBncm91cHNcclxuLy8gVGhpcyB5aWVsZHMgdGhlIHNhbWUgb3V0cHV0IGFzIENTUyByZXRpbmEgdGVtcGxhdGUgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGluIFN0eWx1c1xyXG4vL1xyXG4vLyByZXRpbmFTcHJpdGVzKCRyZXRpbmFfZ3JvdXBzKVxyXG5cclxucmV0aW5hU3ByaXRlcygkcmV0aW5hX2dyb3Vwcykge1xyXG5cdGZvciAkcmV0aW5hX2dyb3VwIGluICRyZXRpbmFfZ3JvdXBzIHtcclxuXHRcdCRzcHJpdGVfbmFtZSA9ICRyZXRpbmFfZ3JvdXBbMF07XHJcblx0XHQueyRzcHJpdGVfbmFtZX0ge1xyXG5cdFx0XHRyZXRpbmFTcHJpdGUgJHJldGluYV9ncm91cFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCJcbi8vIFJlc2V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBSZXNldCBkZWZhdWx0IHN0eWxlcy5cbiogLy8gQHN0eWxpbnQgaWdub3JlXG5cdG1hcmdpbiAwXG5cdHBhZGRpbmcgMFxuXHRmb250IGluaGVyaXRcblx0Ym94LXNpemluZyBib3JkZXItYm94XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbmFydGljbGVcbmFzaWRlXG5kZXRhaWxzXG5maWdjYXB0aW9uXG5maWd1cmVcbmZvb3RlclxuaGVhZGVyXG5oZ3JvdXBcbm1haW5cbm5hdlxuc2VjdGlvblxuc3VtbWFyeVxuXHRkaXNwbGF5IGJsb2NrXG5cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5hdWRpb1xuY2FudmFzXG5wcm9ncmVzc1xudmlkZW9cblx0ZGlzcGxheSBpbmxpbmUtYmxvY2sgICAgLy8gMVxuXHR2ZXJ0aWNhbC1hbGlnbiBiYXNlbGluZSAvLyAyXG5cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuYXVkaW86bm90KFtjb250cm9sc10pXG5cdGRpc3BsYXkgbm9uZVxuXHRoZWlnaHQgMFxuXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbltoaWRkZW5dXG50ZW1wbGF0ZVxuXHRkaXNwbGF5IG5vbmVcblxuLy8gQmFzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vLyAzLiBSZW1vdmUgaGlnaGxpdGUgb24gbW9iaWxlIGRldmljZXMuXG4vLyA0LiBTZXQgZGVmYXVsdCBjdXJzb3IuXG5odG1sXG5cdGZvbnQtZmFtaWx5IHNhbnMtc2VyaWYgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDFcblx0LW1zLXRleHQtc2l6ZS1hZGp1c3QgMTAwJSAgICAgICAgICAgICAgICAgICAgICAgLy8gMlxuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3QgMTAwJSAgICAgICAgICAgICAgICAgICAvLyAyXG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciByZ2JhKDAsIDAsIDAsIDApICAgIC8vIDNcblx0LXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgLy8gM1xuXHRjdXJzb3IgZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA0XG5cbi8vIFNldCAxMDAlIGxpbmUtaGVpZ2h0XG5ib2R5XG5cdGZvbnQtc2l6ZSAxMDAlXG5cdGxpbmUtaGVpZ2h0IDFcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmcgZ3JheXNjYWxlXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmcgYW50aWFsaWFzZWRcblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuYVxuXHRiYWNrZ3JvdW5kIHRyYW5zcGFyZW50XG5cdGNvbG9yIGluaGVyaXRcblx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcblxuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4qOmZvY3VzLCAqOmFjdGl2ZSwgKjpob3ZlciAvLyBAc3R5bGludCBpZ25vcmVcblx0b3V0bGluZSBub25lXG5cbi8vIFR5cG9ncmFwaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbmhyXG5cdGJveC1zaXppbmcgY29udGVudC1ib3hcblx0aGVpZ2h0IDBcblxuLy8gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbm9sXG51bFxuXHRsaXN0LXN0eWxlIG5vbmVcblxuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxucHJlXG5cdHRhYi1zaXplIDRcblx0d2hpdGUtc3BhY2UgcHJlLXdyYXBcblxuLy8gU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG5xXG5cdHF1b3RlcyAnXFwyMDFDJyAnXFwyMDFEJyAnXFwyMDE4JyAnXFwyMDE5J1xuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbmltZ1xuXHRib3JkZXIgbm9uZVxuXG4vLyBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5Llxuc3ZnOm5vdCg6cm9vdClcblx0b3ZlcmZsb3cgaGlkZGVuXG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluIHRoZSBVQSBzdHlsZXNoZWV0LlxuYnV0dG9uXG5pbnB1dFxuXHRib3JkZXIgbm9uZVxuXHRsaW5lLWhlaWdodCBub3JtYWxcblxuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA4Ky5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG5idXR0b25cbnNlbGVjdFxuXHR0ZXh0LXRyYW5zZm9ybSBub25lXG5cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLlxuYnV0dG9uXG5cdG92ZXJmbG93IHZpc2libGVcblxuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSBgaW5wdXRgIGFuZCBvdGhlcnMuXG5idXR0b25cbmh0bWwgaW5wdXRbdHlwZT0nYnV0dG9uJ10gICAvLyAxXG5pbnB1dFt0eXBlPSdyZXNldCddXG5pbnB1dFt0eXBlPSdzdWJtaXQnXVxuXHQtd2Via2l0LWFwcGVhcmFuY2UgYnV0dG9uIC8vIDJcblx0Y3Vyc29yIHBvaW50ZXIgICAgICAgICAgICAvLyAzXG5cbi8vIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG5idXR0b25bZGlzYWJsZWRdXG5odG1sIGlucHV0W2Rpc2FibGVkXVxuXHRjdXJzb3IgZGVmYXVsdFxuXG4vLyBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXVxuaW5wdXRbdHlwZT0ncmFkaW8nXVxuXHRib3gtc2l6aW5nIGJvcmRlci1ib3hcblxuLy8gRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvblxuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b25cblx0aGVpZ2h0IGF1dG9cblxuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZSAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbmlucHV0W3R5cGU9J3NlYXJjaCddXG5cdC13ZWJraXQtYXBwZWFyYW5jZSB0ZXh0ZmllbGQgLy8gMVxuXHRib3gtc2l6aW5nIGNvbnRlbnQtYm94XG5cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lIG9uIE9TIFguXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvblxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb25cblx0LXdlYmtpdC1hcHBlYXJhbmNlIG5vbmVcblxuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lclxuXHRib3JkZXIgbm9uZVxuXHRwYWRkaW5nIDBcblxuLy8gMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbi8vIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG50ZXh0YXJlYVxuXHRvdmVyZmxvdyBhdXRvICAgICAgLy8gMVxuXHR2ZXJ0aWNhbC1hbGlnbiB0b3AgLy8gMlxuXG4vLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlLlxuYnV0dG9uXG5pbnB1dFxuc2VsZWN0W211bHRpcGxlXVxudGV4dGFyZWFcblx0YmFja2dyb3VuZC1pbWFnZSBub25lXG5cbi8vIDEuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuLy8gMi4gUmVtb3ZlIGBib3gtc2hhZG93YCBpbiBpT1MuXG5pbnB1dFxuc2VsZWN0XG50ZXh0YXJlYVxuXHRib3JkZXItcmFkaXVzIDAgLy8gMVxuXHRib3gtc2hhZG93IG5vbmUgLy8gMlxuXG4vLyAxLiBEaXNhYmxlIHJlc2l6ZS5cbi8vIDIuIEFsbG93IHVzZXIgc2VsZWN0LlxuaW5wdXRcbnRleHRhcmVhXG5cdHJlc2l6ZSBub25lICAgICAgLy8gMVxuXHR1c2VyLXNlbGVjdCB0ZXh0IC8vIDJcblxuLy8gSGlkZSBwbGFjZWhvbGRlciBvbiBmb2N1cy5cbltwbGFjZWhvbGRlcl06Zm9jdXM6OnBsYWNlaG9sZGVyXG5cdGNvbG9yIHRyYW5zcGFyZW50XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxudGFibGVcblx0Ym9yZGVyLWNvbGxhcHNlIGNvbGxhcHNlXG5cdGJvcmRlci1zcGFjaW5nIDBcbiIsIi5hcmNoaXZlLWZpeGVkXG5cdGhlaWdodCBhcmNoaXZlSGVpZ2h0XG5cdGJhY2tncm91bmQtY29sb3IgdGV4dEdyZXlUaXRsZVxuXHRjb2xvciB3aGl0ZVxuXHRmb250LXNpemUgMTNweFxuXG5cdCZfX2lubmVyXG5cdFx0aW5uZXIoKVxuXHRcdGxpbmUtaGVpZ2h0IChhcmNoaXZlSGVpZ2h0IC0gMnB4KVxuXG5cdCthYm92ZSg1KVxuXHRcdCZfX3RpdGxlXG5cdFx0XHQmOjphZnRlclxuXHRcdFx0XHRjb250ZW50ICc6J1xuXHRcdCZfX2l0ZW1zXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdCZfX2l0ZW1cblx0XHRcdG1hcmdpbi1sZWZ0IDIycHhcblx0XHRcdGJvcmRlci1ib3R0b20gMXB4IHNvbGlkIHJnYmEod2hpdGUsIC4zKVxuXG5cdCtiZWxvdyg0KVxuXHRcdCZfX3RpdGxlXG5cdFx0XHRtYXJnaW4gMCAtMTZweFxuXHRcdFx0cGFkZGluZyAwIDE2cHggMnB4XG5cdFx0XHRkaXNwbGF5IGJsb2NrXG5cblx0XHRcdCY6OmFmdGVyXG5cdFx0XHRcdHNwcml0ZSgkYXJyb3dfd2hpdGVfZG93bilcblx0XHRcdFx0bWFyZ2luLWxlZnQgN3B4XG5cdFx0XHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0XHRcdGNvbnRlbnQgJydcblx0XHRcblx0XHQmX19pdGVtc1xuXHRcdFx0ZGlzcGxheSBub25lXG5cdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdFx0dG9wIGFyY2hpdmVIZWlnaHRcblx0XHRcdHJpZ2h0IDBcblx0XHRcdGxlZnQgMFxuXHRcdFx0cGFkZGluZyAxMHB4IDVweFxuXHRcdFx0YmFja2dyb3VuZC1jb2xvciByZ2JhKHRleHRHcmV5VGl0bGUsIC45KVxuXHRcdFx0XG5cdFx0XHQmX2FjdGl2ZVxuXHRcdFx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0XG5cdFx0Jl9fd3JhcFxuXHRcdFx0bWF4LXdpZHRoIDIyMHB4XG5cblx0XHQmX19pdGVtXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdFx0cGFkZGluZyA1cHggMTBweFxuXHRcdFx0bWFyZ2luLWJvdHRvbSAycHhcblx0XHRcdGZvbnQtc2l6ZSAxNHB4IiwiY2VudGVyKClcblx0cG9zaXRpb24gYWJzb2x1dGVcblx0dG9wIDBcblx0bGVmdCAwXG5cdHJpZ2h0IDBcblx0Ym90dG9tIDBcblx0bWFyZ2luIGF1dG9cblxucHNldWRvKClcblx0Y29udGVudCAnJ1xuXHRkaXNwbGF5IGJsb2NrXG5cbi8vIENsZWFyIHRoZSBmbG9hdCBvbiBhbnkgZWxlbWVudC5cbmNsZWFyZml4KClcblx0JjphZnRlclxuXHRcdGRpc3BsYXkgdGFibGVcblx0XHRjbGVhciBib3RoXG5cdFx0Y29udGVudCAnJ1xuXG4vLyBGaXggbm8gd29ya2luZyBgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO2AgaW4gQW5kcm9pZC5cbmZpeC10ZXh0LXNpemUtYWRqdXN0KClcblx0YmFja2dyb3VuZC1pbWFnZSBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KVxuXG4vLyBTZXQgZWxlbWVudCBzaXplXG5zaXplKCR3aWR0aCwgJGhlaWdodCA9ICR3aWR0aClcblx0d2lkdGggJHdpZHRoXG5cdGhlaWdodCAkaGVpZ2h0XG5cbi8vIFNldCBtYXJnaW4gb24gbGVmdCAmIHJpZ2h0XG5tYXJnaW4teCgkbWFyZ2luKVxuXHRtYXJnaW4tbGVmdCAkbWFyZ2luXG5cdG1hcmdpbi1yaWdodCAkbWFyZ2luXG5cbi8vIFNldCBtYXJnaW4gb24gdG9wICYgYm90dG9tXG5tYXJnaW4teSgkbWFyZ2luKVxuXHRtYXJnaW4tdG9wICRtYXJnaW5cblx0bWFyZ2luLWJvdHRvbSAkbWFyZ2luXG5cbi8vIFNldCBwYWRpbmcgb24gbGVmdCAmIHJpZ2h0XG5wYWRkaW5nLXgoJHBhZGRpbmcpXG5cdHBhZGRpbmctbGVmdCAkcGFkZGluZ1xuXHRwYWRkaW5nLXJpZ2h0ICRwYWRkaW5nXG5cbi8vIFNldCBwYWRkaW5nIG9uIHRvcCAmIGJvdHRvbVxucGFkZGluZy15KCRwYWRkaW5nKVxuXHRwYWRkaW5nLXRvcCAkcGFkZGluZ1xuXHRwYWRkaW5nLWJvdHRvbSAkcGFkZGluZ1xuXG4vLyBTZXQgb25lIHN0YXRpYyByZXRpbmEgaW1hZ2VcbnJldGluYUJhY2tncm91bmQoJGltYWdlLCAkZXh0ID0gJ3BuZycpIHtcblx0YmFja2dyb3VuZC1pbWFnZSB1cmwoJy4uL2ltYWdlcy8nICsgJGltYWdlICsgJy4nICsgJGV4dClcblxuXHRAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZSB1cmwoJy4uL2ltYWdlcy8nICsgJGltYWdlICsgJ0AyeC4nICsgJGV4dClcblx0fVxufVxuXG5pbm5lcigpXG5cdG1hcmdpbiAwIGF1dG9cblx0bWF4LXdpZHRoIHBhZ2VXaWR0aFxuXHRib3gtc2l6aW5nIGNvbnRlbnQtYm94XG5cdFxuXHQrYWJvdmUoNSlcblx0XHRwYWRkaW5nIDAgMjBweFxuXHQrYmVsb3coNSlcblx0XHRwYWRkaW5nIDAgMTZweFxuXG5pbWFnZVVybChmaWxlbmFtZSlcblx0dXJsKCcvYXNzZXRzL2ltYWdlcy8nICsgZmlsZW5hbWUpXG5cbmNvbG9yZWRCbG9jayh0eXBlLCBjb3JuID0gZmFsc2UpXG5cdGhhY2tXaWR0aCA9IGxvb2t1cCgnJGNvcm5lcl8nICsgdHlwZSArICdfd2lkdGgnKVxuXHRoYWNrSGVpZ2h0ID0gbG9va3VwKCckY29ybmVyXycgKyB0eXBlICsgJ19oZWlnaHQnKVxuXHRiZ0NvbG9yID0gY29ybmVyW3R5cGVdXG5cblx0cG9zaXRpb24gcmVsYXRpdmVcblx0YmFja2dyb3VuZC1jb2xvciBiZ0NvbG9yXG5cdGNvbG9yIHdoaXRlXG5cdGxpbmUtaGVpZ2h0IDEuNWVtXG5cdG1hcmdpbi1sZWZ0IGhhY2tXaWR0aFxuXHRwYWRkaW5nIDIzcHggMjNweCBoYWNrSGVpZ2h0IDBcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXMgMTJweFxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAxNnB4IDI3cHhcblx0XG5cdCY6OmJlZm9yZVxuXHRcdHNwcml0ZShsb29rdXAoJyRjb3JuZXJfJyArIHR5cGUpKVxuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0dG9wIDBcblx0XHRsZWZ0ICgtKGhhY2tXaWR0aCkpXG5cdFx0Y29udGVudCAnJ1xuXHRcdGRpc3BsYXkgYmxvY2tcblx0XG5cdD4gc3BhblxuXHQ+IGRpdlxuXHRcdCY6OmJlZm9yZVxuXHRcdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHRcdHdpZHRoIGhhY2tXaWR0aFxuXHRcdFx0dG9wIGhhY2tIZWlnaHRcblx0XHRcdGxlZnQgKC0oaGFja1dpZHRoKSlcblx0XHRcdGJvdHRvbSAwXG5cdFx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0XHRjb250ZW50ICcnXG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIDEycHhcblx0XHRcdGJhY2tncm91bmQtY29sb3IgYmdDb2xvclxuXG5cdFx0aWYgdHlwZSA9PSAnb3JhbmdlJyAmJiBjb3JuXG5cdFx0XHQmOjphZnRlclxuXHRcdFx0XHRzcHJpdGUoJG9yYW5nZV9jb3JuZXIpXG5cdFx0XHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdFx0Y29udGVudCAnJ1xuXHRcdFx0XHRib3R0b20gKC0oJG9yYW5nZV9jb3JuZXJfaGVpZ2h0KSlcblx0XHRcdFx0bGVmdCAxcHhcbiIsImJhc2UtZm9udC1zaXplID89IDE2cHhcbnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzID89IGZhbHNlXG5cbnJ1cHR1cmUgPSB7XG4gIHJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzOiByYXN0ZXJpc2UtbWVkaWEtcXVlcmllc1xuICBtb2JpbGUtY3V0b2ZmOiA0MDBweFxuICBkZXNrdG9wLWN1dG9mZjogMTA1MHB4XG4gIGhkLWN1dG9mZjogMTgwMHB4XG4gIGVuYWJsZS1lbS1icmVha3BvaW50czogZmFsc2VcbiAgYmFzZS1mb250LXNpemU6IGJhc2UtZm9udC1zaXplXG4gIGFudGktb3ZlcmxhcDogZmFsc2VcbiAgZGVuc2l0eS1xdWVyaWVzOiAnZHBweCcgJ3dlYmtpdCcgJ21veicgJ2RwaSdcbiAgcmV0aW5hLWRlbnNpdHk6IDEuNVxuICB1c2UtZGV2aWNlLXdpZHRoOiBmYWxzZVxufVxucnVwdHVyZS5zY2FsZSA9IDAgKHJ1cHR1cmUubW9iaWxlLWN1dG9mZikgNjAwcHggODAwcHggKHJ1cHR1cmUuZGVza3RvcC1jdXRvZmYpIChydXB0dXJlLmhkLWN1dG9mZilcbnJ1cHR1cmUuc2NhbGUtbmFtZXMgPSAneHMnICdzJyAnbScgJ2wnICd4bCcgJ2hkJ1xuXG4taXMtc3RyaW5nKHZhbClcbiAgaWYgdHlwZW9mKHZhbCkgaXMgbm90ICd1bml0J1xuICAgIGlmIHZhbCBpcyBhICdzdHJpbmcnIG9yIHZhbCBpcyBhICdpZGVudCdcbiAgICAgIHRydWVcbiAgICBlbHNlXG4gICAgICBmYWxzZVxuICBlbHNlXG4gICAgZmFsc2VcblxuLWdldC1zY2FsZS1udW1iZXIoc2NhbGUtbmFtZSlcbiAgZm9yIGxpc3QtaXRlbSwgaSBpbiBydXB0dXJlLnNjYWxlLW5hbWVzXG4gICAgaWYgbGlzdC1pdGVtIGlzIHNjYWxlLW5hbWVcbiAgICAgIHJldHVybiBpICsgMVxuICByZXR1cm4gZmFsc2VcblxuLWNvbnZlcnQtdG8odG8tdW5pdCwgdmFsdWUsIGNvbnRleHQgPSBydXB0dXJlLmJhc2UtZm9udC1zaXplKVxuICBmcm9tLXVuaXQgPSB1bml0KHZhbHVlKVxuICByZXR1cm4gdmFsdWUgaWYgdG8tdW5pdCBpcyBmcm9tLXVuaXRcbiAgaWYgdG8tdW5pdCBpbiAoJ2VtJyAncmVtJylcbiAgICByZXR1cm4gdmFsdWUgaWYgZnJvbS11bml0IGluICgnZW0nICdyZW0nKVxuICAgIHJldHVybiB1bml0KCh2YWx1ZSAvIGNvbnRleHQpLCB0by11bml0KVxuICBpZiB0by11bml0IGlzICdweCdcbiAgICByZXR1cm4gdW5pdCgodmFsdWUgKiBjb250ZXh0KSwgJ3B4JylcblxuLW9uLXNjYWxlKG4pXG4gIHJldHVybiB1bml0KG4pIGlzICcnXG5cbi1sYXJnZXItdGhhbi1zY2FsZShuKVxuICByZXR1cm4gKG4gPiAobGVuZ3RoKHJ1cHR1cmUuc2NhbGUpIC0gMSkpIGFuZCAtb24tc2NhbGUobilcblxuLWlzLXplcm8obilcbiAgcmV0dXJuIG4gaXMgMFxuXG4tb3ZlcmxhcC1zaGlmdChhbnRpLW92ZXJsYXAsIG4pXG4gIHNoaWZ0LXVuaXQgPSB1bml0KG4pXG4gIGFudGktb3ZlcmxhcCA9IDBweCB1bmxlc3MgYW50aS1vdmVybGFwXG4gIGFudGktb3ZlcmxhcCA9IDFweCBpZiBhbnRpLW92ZXJsYXAgaXMgdHJ1ZVxuICBpZiBsZW5ndGgoYW50aS1vdmVybGFwKSBpcyAxXG4gICAgcmV0dXJuIC1jb252ZXJ0LXRvKHNoaWZ0LXVuaXQsIGFudGktb3ZlcmxhcClcbiAgZm9yIHZhbCBpbiBhbnRpLW92ZXJsYXBcbiAgICByZXR1cm4gdmFsIGlmIHVuaXQodmFsKSBpcyBzaGlmdC11bml0XG5cbi1hZGp1c3Qtb3ZlcmxhcChhbnRpLW92ZXJsYXAsIG4sIHNpZGUgPSAnbWluJylcbiAgLXNoaWZ0ID0gLW92ZXJsYXAtc2hpZnQoYW50aS1vdmVybGFwLCBuKVxuICBpZiAoc2lkZSBpcyAnbWluJyBhbmQgLXNoaWZ0ID4gMCkgb3IgKHNpZGUgaXMgJ21heCcgYW5kIC1zaGlmdCA8IDApXG4gICAgbiA9IG4gKyAtc2hpZnRcbiAgcmV0dXJuIG5cblxuLWlzLXBvc2l0aXZlKG4pXG4gIHJldHVybiBuID49IDBcblxuLWRlbnNpdHktcXVlcmllcyhkZW5zaXR5KVxuICBpZiB0eXBlb2YoZGVuc2l0eSkgaXMgbm90ICd1bml0J1xuICAgIGlmIG5vdCAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICBkZW5zaXR5ID0gJyVzJyAlIGRlbnNpdHlcbiAgZGVuc2l0eSA9IHJ1cHR1cmUucmV0aW5hLWRlbnNpdHkgaWYgZGVuc2l0eSBpcyAncmV0aW5hJ1xuICBxdWVyaWVzID0gKClcbiAgZm9yIHF1ZXJ5IGluIHJ1cHR1cmUuZGVuc2l0eS1xdWVyaWVzXG4gICAgaWYgcXVlcnkgaXMgJ3dlYmtpdCdcbiAgICAgIHB1c2gocXVlcmllcywgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICVzKScgJSAoZGVuc2l0eSkpXG4gICAgZWxzZSBpZiBxdWVyeSBpcyAnbW96J1xuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJXMpJyAlIChkZW5zaXR5KSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdvJ1xuICAgICAgcHVzaChxdWVyaWVzLCAnKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICVzLzEpJyAlIChkZW5zaXR5KSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdyYXRpbydcbiAgICAgIHB1c2gocXVlcmllcywgJyhtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAlcyknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ2RwaSdcbiAgICAgIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICAgICAgZGVuc2l0eT1jb252ZXJ0KGRlbnNpdHkpXG4gICAgICBwdXNoKHF1ZXJpZXMsICcobWluLXJlc29sdXRpb246ICVzZHBpKScgJSAocm91bmQoZGVuc2l0eSAqIDk2LCAxKSkpXG4gICAgZWxzZSBpZiBxdWVyeSBpcyAnZHBweCdcbiAgICAgIHB1c2gocXVlcmllcywgJyhtaW4tcmVzb2x1dGlvbjogJXNkcHB4KScgJSAoZGVuc2l0eSkpXG4gIHJldHVybiBxdWVyaWVzXG5cbmNyZWF0ZS1mYWxsYmFjay1jbGFzcyhzZWxlY3RlZCwgY2xhc3MpXG4gIC97JycgKyBjbGFzcyArICcgJyArIHNlbGVjdGVkfVxuICAgIHtibG9ja31cblxuLy8gK2JldHdlZW4obWluLCBtYXgpXG4vLyB1c2FnZSAoc2NhbGUgY2FuIGJlIG1peGVkIHdpdGggY3VzdG9tIHZhbHVlcyk6XG4vLyAgIC0gK2JldHdlZW4oMSwgMykgc2NhbGU6c2NhbGVcbi8vICAgLSArYmV0d2VlbigwLCAzKSAwIHdpZHRoOnNjYWxlXG4vLyAgIC0gK2JldHdlZW4oMjAwcHgsIDUwMHB4KSBjdXN0b206Y3VzdG9tXG4vLyAgIC0gK2JldHdlZW4oMCwgMzAwcHgpIDAgd2lkdGg6Y3VzdG9tXG4vLyAgIC0gK2JldHdlZW4oMSwgMzAwcHgpIHNjYWxlOmN1c3RvbVxuLy8gICAtICtiZXR3ZWVuKDIwMHB4LCA0KSBjdXN0b206c2NhbGVcblxuYmV0d2VlbihtaW4sIG1heCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG5cbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICBpZiAtaXMtc3RyaW5nKG1pbilcbiAgICBtaW4gPSAtZ2V0LXNjYWxlLW51bWJlcihtaW4pXG4gIGlmIC1pcy1zdHJpbmcobWF4KVxuICAgIG1heCA9IC1nZXQtc2NhbGUtbnVtYmVyKG1heClcblxuICAtbWluID0gcnVwdHVyZS5zY2FsZVttaW4gLSAxXSB1bmxlc3MgLWlzLXplcm8obWluKSBvciAobm90IC1vbi1zY2FsZShtaW4pKVxuICAtbWF4ID0gcnVwdHVyZS5zY2FsZVttYXhdIHVubGVzcyBub3QgLW9uLXNjYWxlKG1heClcbiAgLW1pbiA/PSBtaW5cbiAgLW1heCA/PSBtYXhcblxuICBpZiAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBpZiBub3QgKGRlbnNpdHkgb3IgLW1heCBvciBvcmllbnRhdGlvbilcbiAgICAgIHtibG9ja31cbiAgZWxzZVxuICAgIGNvbmRpdGlvbiA9ICdvbmx5IHNjcmVlbidcbiAgICB1c2UtZGV2aWNlLXdpZHRoID0gdXNlLWRldmljZS13aWR0aCA/ICdkZXZpY2UtJyA6ICcnXG4gICAgdW5sZXNzIC1taW4gaXMgMFxuICAgICAgLW1pbiA9IC1jb252ZXJ0LXRvKCdlbScsIC1taW4pIGlmIHJ1cHR1cmUuZW5hYmxlLWVtLWJyZWFrcG9pbnRzXG4gICAgICAtbWluID0gLWFkanVzdC1vdmVybGFwKGFudGktb3ZlcmxhcCwgLW1pbiwgc2lkZTogJ21pbicpXG4gICAgICBjb25kaXRpb24gPSBjb25kaXRpb24gKyAnIGFuZCAobWluLScgKyB1c2UtZGV2aWNlLXdpZHRoICsgJ3dpZHRoOiAlcyknICUgKC1taW4pXG4gICAgdW5sZXNzIC1sYXJnZXItdGhhbi1zY2FsZShtYXgpXG4gICAgICAtbWF4ID0gLWNvbnZlcnQtdG8oJ2VtJywgLW1heCkgaWYgcnVwdHVyZS5lbmFibGUtZW0tYnJlYWtwb2ludHNcbiAgICAgIC1tYXggPSAtYWRqdXN0LW92ZXJsYXAoYW50aS1vdmVybGFwLCAtbWF4LCBzaWRlOiAnbWF4JylcbiAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChtYXgtJyArIHVzZS1kZXZpY2Utd2lkdGggKyAnd2lkdGg6ICVzKScgJSAoLW1heClcbiAgICBpZiBvcmllbnRhdGlvblxuICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uICsgJyBhbmQgKG9yaWVudGF0aW9uOiAlcyknICUgKG9yaWVudGF0aW9uKVxuICAgIGlmIGRlbnNpdHlcbiAgICAgIGNvbmRpdGlvbnMgPSAoKVxuICAgICAgZm9yIHF1ZXJ5IGluIC1kZW5zaXR5LXF1ZXJpZXMoZGVuc2l0eSlcbiAgICAgICAgcHVzaChjb25kaXRpb25zLCBjb25kaXRpb24gKyAnIGFuZCAlcycgJSAocXVlcnkpKVxuICAgICAgY29uZGl0aW9uID0gam9pbignLCAnLCBjb25kaXRpb25zKVxuICAgIEBtZWRpYSBjb25kaXRpb25cbiAgICAgIHtibG9ja31cbiAgaWYgZmFsbGJhY2stY2xhc3NcbiAgICArY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBmYWxsYmFjay1jbGFzcylcbiAgICAgIHtibG9ja31cblxuYXQoc2NhbGUtcG9pbnQsIGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2JldHdlZW4oc2NhbGUtcG9pbnQsIHNjYWxlLXBvaW50LCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmZyb20td2lkdGgoc2NhbGUtcG9pbnQsIGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2JldHdlZW4oc2NhbGUtcG9pbnQsIGxlbmd0aChydXB0dXJlLnNjYWxlKSwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5hYm92ZSA9IGZyb20td2lkdGhcblxudG8td2lkdGgoc2NhbGUtcG9pbnQsIGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2JldHdlZW4oMSwgc2NhbGUtcG9pbnQsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuYmVsb3cgPSB0by13aWR0aFxuXG5tb2JpbGUoYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmVsb3cocnVwdHVyZS5tb2JpbGUtY3V0b2ZmLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbnRhYmxldChhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICtiZXR3ZWVuKHJ1cHR1cmUubW9iaWxlLWN1dG9mZiwgcnVwdHVyZS5kZXNrdG9wLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5kZXNrdG9wKGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2Fib3ZlKHJ1cHR1cmUuZGVza3RvcC1jdXRvZmYsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuaGQoYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYWJvdmUocnVwdHVyZS5oZC1jdXRvZmYsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuZGVuc2l0eShkZW5zaXR5LCBvcmllbnRhdGlvbiA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG4gIGlmIG5vdCAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBjb25kaXRpb25zID0gKClcbiAgICBmb3IgcXVlcnkgaW4gLWRlbnNpdHktcXVlcmllcyhkZW5zaXR5KVxuICAgICAgY29uZGl0aW9uID0gJ29ubHkgc2NyZWVuIGFuZCAlcycgJSAocXVlcnkpXG4gICAgICBpZiBvcmllbnRhdGlvblxuICAgICAgICBjb25kaXRpb24gPSBjb25kaXRpb24gKyAnIGFuZCAob3JpZW50YXRpb246ICVzKScgJSAob3JpZW50YXRpb24pXG4gICAgICBwdXNoKGNvbmRpdGlvbnMsIGNvbmRpdGlvbilcbiAgICBjb25kaXRpb24gPSBqb2luKCcsICcsIGNvbmRpdGlvbnMpXG4gICAgQG1lZGlhIGNvbmRpdGlvblxuICAgICAge2Jsb2NrfVxuICAgIGlmIGZhbGxiYWNrLWNsYXNzXG4gICAgICArY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAge2Jsb2NrfVxuXG5waXhlbC1yYXRpbyA9IGRlbnNpdHlcblxucmV0aW5hKG9yaWVudGF0aW9uID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICArZGVuc2l0eSgncmV0aW5hJywgb3JpZW50YXRpb24sIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxubGFuZHNjYXBlKGRlbnNpdHkgPSBudWxsLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIHNlbGVjdGVkID0gc2VsZWN0b3IoKVxuICBpZiBub3QgKHJ1cHR1cmUucmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXMpXG4gICAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgICBpZiBkZW5zaXR5XG4gICAgICArcGl4ZWwtcmF0aW8oZGVuc2l0eSwgb3JpZW50YXRpb246IGxhbmRzY2FwZSwgZmFsbGJhY2stY2xhc3MpXG4gICAgICAgIHtibG9ja31cbiAgICBlbHNlXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVxuICAgICAgICB7YmxvY2t9XG4gICAgICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICAgICArY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAgICB7YmxvY2t9XG5cbnBvcnRyYWl0KGRlbnNpdHkgPSBudWxsLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIHNlbGVjdGVkID0gc2VsZWN0b3IoKVxuICBpZiBub3QgKHJ1cHR1cmUucmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXMpXG4gICAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgICBpZiBkZW5zaXR5XG4gICAgICArcGl4ZWwtcmF0aW8oZGVuc2l0eSwgb3JpZW50YXRpb246IHBvcnRyYWl0LCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAge2Jsb2NrfVxuICAgIGVsc2VcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdClcbiAgICAgICAge2Jsb2NrfVxuICAgICAgaWYgZmFsbGJhY2stY2xhc3NcbiAgICAgICAgK2NyZWF0ZS1mYWxsYmFjay1jbGFzcyhzZWxlY3RlZCwgZmFsbGJhY2stY2xhc3MpXG4gICAgICAgICAge2Jsb2NrfVxuIiwiLmJhbm5lclxuXHRcXCogKyAmXG5cdFx0bWFyZ2luLXRvcCAzMHB4XG4iLCIuYnRuXG5cdC8vIHBhZGRpbmctdG9wIDFweFxuXHRoZWlnaHQgNDVweFxuXHRsaW5lLWhlaWdodCA0NXB4XG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdGZvbnQtc2l6ZSAxN3B4XG5cdGJhY2tncm91bmQtY29sb3IgY29sb3JDb3JhbFxuXHRjb2xvciB3aGl0ZVxuXHR0ZXh0LWFsaWduIGNlbnRlclxuXHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2Vcblx0Y3Vyc29yIHBvaW50ZXJcblx0XG5cdCthYm92ZSg1KVxuXHRcdHdpZHRoIDIyN3B4XG5cdCtiZWxvdyg0KVxuXHRcdHdpZHRoIDEwMCVcblx0XG5cdCY6aG92ZXJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIGNvbG9yT3JhbmdlXG5cdFxuXHQmX3JlZ2lzdHJhdGlvblxuXHRcdHdpZHRoIDE4MHB4XG5cdFx0aGVpZ2h0IGhlYWRlckhlaWdodFxuXHRcdGZvbnQtc2l6ZSAxM3B4XG5cdFx0Zm9udC13ZWlnaHQgYm9sZFxuXHRcdGxpbmUtaGVpZ2h0IGhlYWRlckhlaWdodFxuIiwiLmNvbnRlbnQtY29sdW1uc1xuXHQrYWJvdmUoNSlcblx0XHRmb250LXNpemUgMFxuXHRcdFxuXHRcdCZfX2xlZnRcblx0XHQmX19yaWdodFxuXHRcdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRcdGZvbnQtc2l6ZSBiYXNlRm9udFNpemVcblx0XHRcdHZlcnRpY2FsLWFsaWduIHRvcFxuXG5cdFx0Jl9fbGVmdFxuXHRcdFx0d2lkdGggNzQlXG5cdFx0Jl9fcmlnaHRcblx0XHRcdG1hcmdpbi1sZWZ0IDMuNSVcblx0XHRcdHdpZHRoIDIyLjUlXG5cblx0K2JlbG93KDQpXG5cdFx0Jl9fcmlnaHRcblx0XHRcdHBhZGRpbmctdG9wIGFkYXB0aXZlUGFkZGluZyIsIi5jb250ZW50XG5cdHBhZGRpbmctYm90dG9tIDMwcHhcblx0YmFja2dyb3VuZC1jb2xvciBjb2xvckdyZXlcblxuXHQmX19pbm5lclxuXHRcdGlubmVyKClcblx0XG5cdCthYm92ZSg1KVxuXHRcdCZfX3N1Ym1lbnVcblx0XHRcdHBhZGRpbmctYm90dG9tIDM2cHhcblx0K2JlbG93KDQpXG5cdFx0Jl9fc3VibWVudVxuXHRcdFx0cGFkZGluZy1ib3R0b20gYWRhcHRpdmVQYWRkaW5nXG4iLCIuZmlsZS1pY29uXG5cdHNwcml0ZSgkZmlsZV9vcmFuZ2UpXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdGRpc3BsYXkgYmxvY2tcblx0XG5cdC8uZmlsZV93aGl0ZSAmXG5cdFx0c3ByaXRlKCRmaWxlX3doaXRlKVxuXHRcblx0Jl9fZXh0XG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHR0b3AgMzNweFxuXHRcdGxlZnQgNnB4XG5cdFx0d2lkdGggMjlweFxuXHRcdGNvbG9yIGNvbG9yT3JhbmdlXG5cdFx0Zm9udC1zaXplIDlweFxuXHRcdGxpbmUtaGVpZ2h0IDlweFxuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cblx0XHQvLmZpbGVfd2hpdGUgJlxuXHRcdFx0Y29sb3Igd2hpdGVcbiIsIi5maWxlXG5cdGRpc3BsYXkgYmxvY2tcblx0bGluZS1oZWlnaHQgMWVtXG5cdFxuXHQmICsgJlxuXHRcdG1hcmdpbi10b3AgMjVweFxuXG5cdCZfX2ljb25cblx0XHRmbG9hdCBsZWZ0XG5cdCZfX2luZm9cblx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0bWFyZ2luLWxlZnQgNTZweFxuXHRcdHBhZGRpbmctdG9wIDZweFxuXHRcdGNvbG9yIHRleHRHcmV5VGl0bGVcblx0Jl93aGl0ZSAmX19pbmZvXG5cdFx0Y29sb3Igd2hpdGVcblxuXHQmX19uYW1lXG5cdFx0Zm9udC1zaXplIDE0cHhcblx0XHRmb250LXdlaWdodCBib2xkXG5cdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cblx0Jl9fc2l6ZVxuXHRcdGRpc3BsYXkgYmxvY2tcblx0XHRtYXJnaW4tdG9wIDVweFxuXHRcdGZvbnQtc2l6ZSAxMnB4XG4iLCIuZmlsZXNcblx0K2Fib3ZlKDUpXHRcblx0XHRmb250LXNpemUgMFxuXG5cdFx0Jl9faXRlbVxuXHRcdFx0bWFyZ2luLWJvdHRvbSA0MHB4XG5cdFx0XHR3aWR0aCAyOCVcblx0XHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbiB0b3Bcblx0XHRcdGZvbnQtc2l6ZSAxNHB4XG5cblx0XHRcdCYgKyAmXG5cdFx0XHRcdG1hcmdpbi1sZWZ0IDglXG5cblx0XHRcdCZfaGFsZlxuXHRcdFx0XHR3aWR0aCA1MCVcblx0XHRcdFx0cGFkZGluZy1yaWdodCA0MHB4XG5cblx0XHRcdFx0JiArICZcblx0XHRcdFx0XHRtYXJnaW4tbGVmdCAwXG5cblx0K2JlbG93KDQpXG5cdFx0Jl9faXRlbVxuXHRcdFx0ZGlzcGxheSBibG9ja1xuXHRcdFx0XG5cdFx0XHQmICsgJlxuXHRcdFx0XHRtYXJnaW4tdG9wIGFkYXB0aXZlUGFkZGluZ1xuIiwiLmZvb3Rlci1jb2x1bW5cblx0Jl9fdGl0bGVcblx0XHRmb250LXNpemUgMTJweFxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuXG5cdCZfX2ltYWdlXG5cdFx0Jl9hdXRvZG9yXG5cdFx0XHRzcHJpdGUoJGxvZ29fYXV0b2Rvcilcblx0XHQmX2RvdWJsZS1lYWdsZVxuXHRcdFx0c3ByaXRlKCRsb2dvX2RvdWJsZV9lYWdsZSlcblxuXHQrYWJvdmUoNSlcblx0XHRwYWRkaW5nLXRvcCA0NnB4XG5cdFx0XG5cdFx0Jl9faW1hZ2Vcblx0XHRcdCZfYXV0b2RvclxuXHRcdFx0XHRtYXJnaW4tdG9wIDMycHhcblx0XHRcdCZfZG91YmxlLWVhZ2xlXG5cdFx0XHRcdG1hcmdpbi10b3AgOHB4XG5cdCtiZWxvdyg0KVxuXHRcdHBhZGRpbmctdG9wIDI3cHhcblx0XHRwYWRkaW5nLWJvdHRvbSA4cHhcblx0XHRcblx0XHQmX19pbWFnZVxuXHRcdFx0Jl9hdXRvZG9yXG5cdFx0XHRcdG1hcmdpbi10b3AgMjNweFxuXHRcdFx0Jl9kb3VibGUtZWFnbGVcblx0XHRcdFx0bWFyZ2luLXRvcCAzcHhcbiIsIi5mb290ZXJcblx0Jl9faW5uZXJcblx0XHRpbm5lcigpXG5cblx0K2Fib3ZlKDUpXHRcblx0XHQmX19jb2x1bW5zXG5cdFx0XHRmb250LXNpemUgMFxuXHRcdFxuXHRcdCZfX2NvbHVtblxuXHRcdFx0d2lkdGggMzIlXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0XHRmb250LXNpemUgYmFzZUZvbnRTaXplXG5cdFx0XHRcblx0XHRcdCYgKyAmXG5cdFx0XHRcdG1hcmdpbi1sZWZ0IDIlXG5cblx0K2JlbG93KDQpXG5cdFx0cGFkZGluZy1ib3R0b20gMTBweFxuIiwiLmZvcm0tZmllbGRcblx0Jl9faW5wdXRcblx0XHR3aWR0aCAxMDAlXG5cdFx0aGVpZ2h0IDI4cHhcblx0XHRsaW5lLWhlaWdodCAyOHB4XG5cdFx0Zm9udC1zaXplIDE2cHhcblx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2Vcblx0XHRib3JkZXIgbm9uZVxuXHRcdGJvcmRlci1ib3R0b20gMXB4IHNvbGlkICM5NTk1OTVcblx0XHRiYWNrZ3JvdW5kIG5vbmVcblx0XHRcblx0XHQmOjpwbGFjZWhvbGRlclxuXHRcdFx0Y29sb3IgcmdiYSh0ZXh0R3JleUxpZ2h0LCAxKVxuXHRcdFx0dHJhbnNpdGlvbiBjb2xvciAuMnNcblx0Jl9pbnZhbGlkICZfX2lucHV0XG5cdFx0Y29sb3IgY29sb3JDb3JhbFxuXG5cdCZfX2xhYmVsXG5cdFx0bWFyZ2luLXRvcCA2cHhcblx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0Y29sb3IgYmxhY2tcblx0XHRmb250LXNpemUgMTRweFxuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2Vcblx0XHRvcGFjaXR5IDBcblx0XHR0cmFuc2Zvcm0gdHJhbnNsYXRlKDVweCwgMClcblx0XHR0cmFuc2l0aW9uIG9wYWNpdHkgLjJzLCB0cmFuc2Zvcm0gLjJzXG5cdCZfaW52YWxpZCAmX19sYWJlbFxuXHRcdGNvbG9yIGNvbG9yQ29yYWxcblx0Jl9faW5wdXQ6Zm9jdXMgKyAmX19sYWJlbFxuXHQmX19pbnB1dF9ub3QtZW1wdHkgKyAmX19sYWJlbFxuXHRcdG9wYWNpdHkgMVxuXHRcdHRyYW5zZm9ybSB0cmFuc2xhdGUoMCwgMClcblx0XHRcblx0XHQmOjpwbGFjZWhvbGRlclxuXHRcdFx0Y29sb3IgcmdiYSh0ZXh0R3JleUxpZ2h0LCAwKVxuIiwiLmZvcm1cblx0Jl9fdGl0bGVcblx0XHRmb250LXNpemUgMjdweFxuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblx0XHRsaW5lLWhlaWdodCAxLjVlbVxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuXHRcdFxuXHRcdCthYm92ZSg1KVxuXHRcdFx0bWFyZ2luLWJvdHRvbSAyM3B4XG5cdFxuXHQmX19maWVsZHNcblx0XHRmb250LXNpemUgMFxuXHRcdFxuXHRcdCYgKyAmXG5cdFx0XHRtYXJnaW4tdG9wIDE2cHhcblxuXHQmX19maWVsZFxuXHRcdGZvbnQtc2l6ZSBiYXNlRm9udFNpemVcblx0XHRcblx0XHQrYWJvdmUoNSlcblx0XHRcdHZlcnRpY2FsLWFsaWduIHRvcFxuXHRcdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRcdHdpZHRoIDQ1JVxuXHRcdFxuXHRcdFx0JiArICZcblx0XHRcdFx0bWFyZ2luLWxlZnQgMTAlXG5cdFx0K2JlbG93KDQpXG5cdFx0XHQmICsgJlxuXHRcdFx0XHRtYXJnaW4tdG9wIGFkYXB0aXZlUGFkZGluZyAqIC41XG5cblx0Jl9fc3VibWl0XG5cdFx0K2Fib3ZlKDUpXG5cdFx0XHRtYXJnaW4tdG9wIDQwcHhcblx0XHQrYmVsb3coNClcblx0XHRcdG1hcmdpbi10b3AgYWRhcHRpdmVQYWRkaW5nXG4iLCIkbWF4V2lkdGggPSA3MjBweFxuJG1heEhlaWdodCA9IGZsb29yKDAuNjQgKiAkbWF4V2lkdGgpXG5cbi5nYWxsZXJ5XG5cdGRpc3BsYXkgbm9uZVxuXHRcblx0Jl9hY3RpdmVcblx0XHRkaXNwbGF5IGJsb2NrXG5cblx0Jl9fZml4ZWRcblx0XHR6LWluZGV4IDIwMFxuXHRcdHBvc2l0aW9uIGZpeGVkXG5cdFx0dG9wIDBcblx0XHRyaWdodCAwXG5cdFx0bGVmdCAwXG5cdFx0Ym90dG9tIDBcblx0XHRiYWNrZ3JvdW5kIHJnYmEoMCwgMCwgMCwgLjkpXG5cblx0Jl9fY3Jvc3Ncblx0XHRzcHJpdGUoJGdhbGxlcnlfY3Jvc3MpXG5cdFx0ei1pbmRleCAyMDAwMFxuXHRcdHBvc2l0aW9uIGZpeGVkXG5cdFx0Y3Vyc29yIHBvaW50ZXJcblxuXHRcdCthYm92ZSg1KVxuXHRcdFx0dG9wIDUwcHhcblx0XHRcdHJpZ2h0IDUwcHhcblx0XHQrYmVsb3coNClcblx0XHRcdHRvcCAyMHB4XG5cdFx0XHRyaWdodCAyMHB4XG5cblx0Jl9fd2luZG93XG5cdFx0cG9zaXRpb24gZml4ZWRcblx0XHR0b3AgMFxuXHRcdHJpZ2h0IDBcblx0XHRsZWZ0IDBcblx0XHRib3R0b20gMFxuXHRcdG1hcmdpbiBhdXRvXG5cdFx0bWF4LXdpZHRoIDE1NXZoXG5cdFx0bWF4LWhlaWdodCA3NzBweFxuXHRcdGJhY2tncm91bmQtY29sb3IgY29sb3JHcmV5RGFya1xuXHRcdFxuXHRcdCthYm92ZSgxMjAwcHgpXG5cdFx0XHRoZWlnaHQgNzcwcHhcblx0XHRcdHdpZHRoIDEyMDBweFxuXHRcdFx0bWF4LXdpZHRoIDEyMDBweFxuXHRcdCtiZWxvdygxMjAwcHgpXG5cdFx0XHR3aWR0aCAxMDAlXG5cdCZfdmVydGljYWwgJl9fd2luZG93XG5cdFx0bWF4LXdpZHRoIDEyMDBweFxuXHRcdHdpZHRoIDEwMCVcblxuXHQmX19pbm5lclxuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXG5cblx0Jl9fYXJyb3dcblx0XHR6LWluZGV4IDIwXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHR0b3AgMFxuXHRcdGJvdHRvbSAwXG5cdFx0bWFyZ2luIGF1dG9cblx0XHRjdXJzb3IgcG9pbnRlclxuXHRcdFxuXHRcdCZfbGVmdFxuXHRcdFx0c3ByaXRlKCRhcnJvd19nYWxsZXJ5X2xlZnQpXG5cdFx0XHQrYWJvdmUoMTg1MHB4KVxuXHRcdFx0XHRsZWZ0IC0zMDBweFxuXHRcdFx0K2JldHdlZW4oNCwgMTg1MHB4KVxuXHRcdFx0XHRsZWZ0IC01MHB4XG5cdFx0XHQrYmVsb3coNClcblx0XHRcdFx0bGVmdCAxMHB4XG5cdFx0Jl9yaWdodFxuXHRcdFx0c3ByaXRlKCRhcnJvd19nYWxsZXJ5X3JpZ2h0KVxuXHRcdFx0K2Fib3ZlKDE4NTBweClcblx0XHRcdFx0cmlnaHQgLTMwMHB4XG5cdFx0XHQrYmV0d2Vlbig0LCAxODUwcHgpXG5cdFx0XHRcdHJpZ2h0IC01MHB4XG5cdFx0XHQrYmVsb3coNClcblx0XHRcdFx0cmlnaHQgMTBweFxuXHQmX3ZlcnRpY2FsICZfX2Fycm93XG5cdFx0Jl9sZWZ0XG5cdFx0XHRsZWZ0IDEwcHhcblx0XHQmX3JpZ2h0XG5cdFx0XHRyaWdodCAxMHB4XG5cblx0Jl9fc2xpZGVzXG5cdFx0b3ZlcmZsb3cgaGlkZGVuXG5cdFx0d2hpdGUtc3BhY2Ugbm93cmFwXG5cdFx0Zm9udC1zaXplIDBcblx0XG5cdCZfX3NsaWRlXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0XHRtYXgtaGVpZ2h0IDEwMHZoXG5cdFx0bWF4LXdpZHRoIDE1NnZ3XG5cblx0XHQrYWJvdmUoJG1heFdpZHRoKVxuXHRcdFx0aGVpZ2h0ICRtYXhIZWlnaHRcblx0XHRcdHdpZHRoICRtYXhXaWR0aFxuXHRcdFx0bWF4LXdpZHRoICRtYXhXaWR0aFxuXHRcdCtiZWxvdygkbWF4V2lkdGgpXG5cdFx0XHR3aWR0aCAxMDAlXG5cdCZfdmVydGljYWwgJl9fc2xpZGVcblx0XHRtYXgtd2lkdGggMTAwJVxuXHRcdFxuXHRcdGlmcmFtZVxuXHRcdFx0bWF4LWhlaWdodCAxMDB2aFxuXHRcdFx0bWF4LXdpZHRoIDE1NnZ3XG5cblx0XHRcdCthYm92ZSgkbWF4V2lkdGgpXG5cdFx0XHRcdGhlaWdodCAkbWF4SGVpZ2h0XG5cdFx0XHRcdHdpZHRoICRtYXhXaWR0aFxuXHRcdFx0XHRtYXgtd2lkdGggJG1heFdpZHRoXG5cdFx0XHQrYmVsb3coJG1heFdpZHRoKVxuXHRcdFx0XHR3aWR0aCAxMDAlXG5cbi5mYW5jeWJveC1vdmVybGF5XG5cdGJhY2tncm91bmQgcmdiYSgwLCAwLCAwLCAuOSlcbi5mYW5jeWJveC1jbG9zZVxuXHRzcHJpdGUoJGdhbGxlcnlfY3Jvc3MpXG5cdHotaW5kZXggMjAwMDBcblx0cG9zaXRpb24gZml4ZWRcblx0Y3Vyc29yIHBvaW50ZXJcblxuXHQrYWJvdmUoNSlcblx0XHR0b3AgNTBweFxuXHRcdHJpZ2h0IDUwcHhcblx0K2JlbG93KDQpXG5cdFx0dG9wIDIwcHhcblx0XHRyaWdodCAyMHB4XG4vLyAuZmFuY3lib3gtb3ZlcmxheVxuXHQvLyBiYWNrZ3JvdW5kLWNvbG9yIHJnYmEoMCwwLDAsMC45KSAhaW1wb3J0YW50XG5cbi5mYW5jeWJveC1wcmV2XG4uZmFuY3lib3gtbmV4dFxuXHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHR0b3AgMFxuXHRib3R0b20gMFxuXHRtYXJnaW4gYXV0b1xuXHRjdXJzb3IgcG9pbnRlclxuXHR6LWluZGV4IDIwMDBcblx0XG5cdHNwYW5cblx0XHRkaXNwbGF5IG5vbmVcblx0XG4uZmFuY3lib3gtcHJldlxuXHRzcHJpdGUoJGFycm93X2dhbGxlcnlfbGVmdClcblx0K2Fib3ZlKDE4NTBweClcblx0XHRsZWZ0IC0zMDBweFxuXHQrYmV0d2Vlbig0LCAxODUwcHgpXG5cdFx0bGVmdCAtNTBweFxuXHQrYmVsb3coNClcblx0XHRsZWZ0IDEwcHhcbi5mYW5jeWJveC1uZXh0XG5cdHNwcml0ZSgkYXJyb3dfZ2FsbGVyeV9yaWdodClcblx0K2Fib3ZlKDE4NTBweClcblx0XHRyaWdodCAtMzAwcHhcblx0K2JldHdlZW4oNCwgMTg1MHB4KVxuXHRcdHJpZ2h0IC01MHB4XG5cdCtiZWxvdyg0KVxuXHRcdHJpZ2h0IDEwcHhcbi5mYW5jeWJveC10aXRsZVxuXHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRib3R0b20gMFxuXHRsZWZ0IDBcblx0cmlnaHQgMFxuXHRiYWNrZ3JvdW5kIHJnYmEoMCwgMCwgMCwgLjcpXG5cdGNvbG9yIHdoaXRlXG5cdHBhZGRpbmcgN3B4IDE1cHhcblx0dGV4dC1hbGlnbiBjZW50ZXJcbiIsIi5ncmlkXG5cdCthYm92ZSg1KVxuXHRcdCZfX3Jvd1xuXHRcdFx0Zm9udC1zaXplIDBcblx0XHRcdFxuXHRcdFx0JiArICZcblx0XHRcdFx0bWFyZ2luLXRvcCB0aWxlT2Zmc2V0XG5cblx0XHQmX19jb2x1bW5cblx0XHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbiB0b3Bcblx0XHRcdGZvbnQtc2l6ZSBiYXNlRm9udFNpemVcblxuXHRcdFx0JiArICZcblx0XHRcdFx0bWFyZ2luLWxlZnQgMi41NDYlXG5cdFx0XHRcblx0XHRcdGZvciB3aWR0aCBpbiAxLi4xMlxuXHRcdFx0XHQmX3dpZHRoX3t3aWR0aH1cblx0XHRcdFx0XHR3aWR0aCBncmlkQ29sdW1uV2lkdGggKiB3aWR0aCArIGdyaWRPZmZzZXRXaWR0aCAqICh3aWR0aCAtIDEpXG4iLCIuaGVhZGVyLWZpeGVkXG5cdGhlaWdodCBoZWFkZXJIZWlnaHRcblx0YmFja2dyb3VuZC1jb2xvciBjb2xvckdyZXlEYXJrXG5cblx0Jl9faW5uZXJcblx0XHRpbm5lcigpXG5cblx0Jl9fcmVnaXN0cmF0aW9uLWJ0blxuXHRcdGZsb2F0IHJpZ2h0XG4iLCIuaGVhZGVyLWluZm9cblx0bWFyZ2luLXRvcCAtMnB4XG5cdGNvbG9yIHRleHRHcmV5SGVhZGVyXG5cdHRleHQtYWxpZ24gcmlnaHRcblx0XG5cdCZfX2hhc2hcblx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0Y29sb3IgY29sb3JDb3JhbFxuXHRcblx0Jl9fZGF0ZVxuXHRcdGNvbG9yIGNvbG9yQ29yYWxcblx0XHRmb250LXdlaWdodCBib2xkXG5cdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cblx0Jl9fYWZ0ZXItZGF0ZVxuXHRcdG1hcmdpbi10b3AgMnB4XG5cdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cblx0Jl9fcGxhY2Vcblx0XHRtYXJnaW4tdG9wIDZweFxuXHRcdGZvbnQtc2l6ZSAxNHB4XG5cblx0K2Fib3ZlKDUpXG5cdFx0bWFyZ2luLXRvcCAtMnB4XG5cblx0XHQmX19oYXNoXG5cdFx0XHRmb250LXNpemUgMTRweFxuXHRcdCZfX2RhdGVcblx0XHRcdG1hcmdpbi10b3AgNnB4XG5cdFx0XHRmb250LXNpemUgNDZweFxuXG5cdCtiZWxvdyg0KVxuXHRcdG1hcmdpbi10b3AgM3B4XG5cblx0XHQmX19oYXNoXG5cdFx0XHRmb250LXNpemUgMTFweFxuXHRcdCZfX2RhdGVcblx0XHRcdG1hcmdpbi10b3AgM3B4XG5cdFx0XHRmb250LXNpemUgMzhweFxuXHRcdCZfX2FmdGVyLWRhdGVcblx0XHRcdG1hcmdpbi10b3AgNnB4XG5cdFx0XHRmb250LXNpemUgMTNweFxuXHRcdCZfX3BsYWNlXG5cdFx0XHRtYXJnaW4tdG9wIDRweFxuXHRcdFx0bGluZS1oZWlnaHQgMS41ZW0iLCIuaGVhZGVyXG5cdCZfX2lubmVyXG5cdFx0aW5uZXIoKVxuXHRcblx0Jl9faGVhZGVyLWluZm9cblx0XHRmbG9hdCByaWdodFxuXG5cdCthYm92ZSg1KVxuXHRcdHBhZGRpbmcgMjRweCAwXG5cdCtiZWxvdyg0KVxuXHRcdHBhZGRpbmcgMTZweCAwXG5cblx0XHQmX19oZWFkZXItaW5mb1xuXHRcdFx0bWF4LXdpZHRoIDE2MHB4IiwiLmh0bWxcblx0Y29sb3IgdGV4dEdyZXlDb250ZW50TGVhZFxuXHRcblx0K2Fib3ZlKDUpXG5cdFx0Zm9udC1zaXplIDE2cHhcblx0K2JlbG93KDQpXG5cdFx0Zm9udC1zaXplIDE0cHhcblxuXHRiXG5cdHN0cm9uZ1xuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblx0aVxuXHRlbVxuXHRcdGNvbG9yIHRleHRPcmFuZ2VcblxuXHRwXG5cdFx0bGluZS1oZWlnaHQgMS41ZW1cblx0XHRcblx0XHQmICsgcFxuXHRcdFx0bWFyZ2luLXRvcCAuN2VtXG5cdGgyXG5cdFx0JiArIHBcblx0XHQmICsgYmxvY2txdW90ZVxuXHRcdFx0K2Fib3ZlKDUpXG5cdFx0XHRcdG1hcmdpbi10b3AgMS42ZW1cblx0XHRcdCtiZWxvdyg0KVxuXHRcdFx0XHRtYXJnaW4tdG9wIC42ZW1cblx0aDNcblx0XHQmICsgcFxuXHRcdCYgKyBibG9ja3F1b3RlXG5cdFx0XHQrYWJvdmUoNSlcblx0XHRcdFx0bWFyZ2luLXRvcCAxLjdlbVxuXHRcdFx0K2JlbG93KDQpXG5cdFx0XHRcdG1hcmdpbi10b3AgLjZlbVxuXG5cdC5sZWFkXG5cdFx0bGluZS1oZWlnaHQgMS41ZW1cblx0XHQrYWJvdmUoNSlcblx0XHRcdG1hcmdpbi1ib3R0b20gMS4yZW1cblx0XHRcdGZvbnQtc2l6ZSAyN3B4XG5cdFx0K2JlbG93KDQpXG5cdFx0XHRtYXJnaW4tYm90dG9tIC42ZW1cblx0XHRcdGZvbnQtc2l6ZSAxOHB4XG5cdCogKyAubGVhZFxuXHRcdG1hcmdpbi10b3AgMzZweFxuXG5cdGgyXG5cdFx0Zm9udC13ZWlnaHQgYm9sZFxuXHRcdGxpbmUtaGVpZ2h0IDEuNWVtXG5cdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cdFx0K2Fib3ZlKDUpXG5cdFx0XHRmb250LXNpemUgMjdweFxuXHRcdCtiZWxvdyg0KVxuXHRcdFx0Zm9udC1zaXplIDIycHhcblx0KiArIGgyXG5cdFx0K2Fib3ZlKDUpXG5cdFx0XHRtYXJnaW4tdG9wIDEuNmVtXG5cdFx0K2JlbG93KDQpXG5cdFx0XHRtYXJnaW4tdG9wIC42ZW1cblxuXHRoM1xuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblx0XHRsaW5lLWhlaWdodCAxLjVlbVxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuXHRcdCthYm92ZSg1KVxuXHRcdFx0Zm9udC1zaXplIDIxcHhcblx0XHQrYmVsb3coNClcblx0XHRcdGNsZWFyIGxlZnRcblx0XHRcdGZvbnQtc2l6ZSAyMHB4XG5cdCogKyBoM1xuXHRcdCthYm92ZSg1KVxuXHRcdFx0bWFyZ2luLXRvcCAxLjJlbVxuXHRcdCtiZWxvdyg0KVxuXHRcdFx0bWFyZ2luLXRvcCAuNmVtXG5cdGgyXG5cdFx0JiArIGgzXG5cdFx0XHRtYXJnaW4tdG9wIC4zZW1cblxuXHR1bFxuXHRvbFxuXHRcdG1hcmdpbi10b3AgLjRlbVxuXHRcdHBhZGRpbmctbGVmdCAyLjNleFxuXG5cdFx0bGlcblx0XHRcdGxpbmUtaGVpZ2h0IDEuNWVtXG5cdFx0XHRcblx0XHRcdCYgKyBsaVxuXHRcdFx0XHRtYXJnaW4tdG9wIDFlbVxuXG5cdG9sXG5cdFx0cGFkZGluZy1sZWZ0IDEuNWV4XG5cblx0XHRsaVxuXHRcdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHRcdFxuXHRcdFx0Jjo6YmVmb3JlXG5cdFx0XHRcdHNpemUoNHB4KVxuXHRcdFx0XHRjb250ZW50ICcnXG5cdFx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHRcdFx0dG9wIC43NWVtXG5cdFx0XHRcdGxlZnQgLTEuMmV4XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgY29sb3JDb3JhbFxuXHRcdFx0XHRib3JkZXItcmFkaXVzIDUwJVxuXG5cdHVsXG5cdFx0Y291bnRlci1yZXNldCB1bC1jb3VudGVyXG5cdFx0XG5cdFx0bGlcblx0XHRcdHBvc2l0aW9uIHJlbGF0aXZlXG5cdFx0XHRjb3VudGVyLWluY3JlbWVudCB1bC1jb3VudGVyXG5cdFx0XHRcblx0XHRcdCY6OmJlZm9yZVxuXHRcdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdFx0XHRsZWZ0IC0yLjNleFxuXHRcdFx0XHRjb2xvciB0ZXh0Q29yYWxcblx0XHRcdFx0Y29udGVudCBjb3VudGVyKHVsLWNvdW50ZXIpICcuJ1xuXG5cdC5pbXBvcnRhbnRcblx0XHRjb2xvcmVkQmxvY2soJ2NvcmFsJylcblx0YmxvY2txdW90ZVxuXHRcdGNvbG9yZWRCbG9jaygnb3JhbmdlJywgdHJ1ZSlcblx0XHRtYXJnaW4tYm90dG9tIDI1cHhcblx0XHRcblx0XHQmLnRvcFxuXHRcdFx0bWFyZ2luLXRvcCAyZW1cblx0XHRcdFxuXHRcdFx0c3Bhbjo6YWZ0ZXJcblx0XHRcdFx0Ym90dG9tIGF1dG9cblx0XHRcdFx0dG9wIC0xN3B4XG5cdFx0XHRcdHRyYW5zZm9ybSBzY2FsZSgtMSwgLTEpXG5cblx0aW1nXG5cdFx0d2lkdGggMTAwJVxuXHRcdFxuXHRcdCYuaW5saW5lXG5cdFx0Ji5sZWZ0XG5cdFx0Ji5yaWdodFxuXHRcdFx0d2lkdGggYXV0b1xuXHRcdCYubGVmdFxuXHRcdFx0ZmxvYXQgbGVmdFxuXHRcdFx0bWFyZ2luIDAgMWVtIDFlbSAwXG5cblx0XHRcdCtiZWxvdyg1MDBweClcblx0XHRcdFx0ZmxvYXQgbm9uZVxuXHRcdFx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0Ji5yaWdodFxuXHRcdFx0ZmxvYXQgcmlnaHRcblx0XHRcdG1hcmdpbiAwIDAgMWVtIDFlbVxuXG5cdFx0XHQrYmVsb3coNTAwcHgpXG5cdFx0XHRcdGZsb2F0IG5vbmVcblx0XHRcdFx0ZGlzcGxheSBibG9ja1xuXG5cdCogKyAuZmlsZXNcblx0XHQrYWJvdmUoNSlcblx0XHRcdG1hcmdpbi10b3AgMzJweFxuXHRcdCtiZWxvdyg0KVxuXHRcdFx0bWFyZ2luLXRvcCBhZGFwdGl2ZVBhZGRpbmdcblx0XG5cdC5ncmVldGluZ1xuXHRcdCYgKyAuZ3JlZXRpbmdcblx0XHRcdG1hcmdpbi10b3AgMjBweFxuXHRcdFx0Ym9yZGVyLXRvcCAycHggc29saWQgY29sb3JPcmFuZ2Vcblx0XHRcdHBhZGRpbmctdG9wIDUwcHhcblx0XHRcdFxuIiwiLmluZGV4LWFkZHJlc3Ncblx0Jl9fdGl0bGVcblx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcblxuXHQrYWJvdmUoNSlcblx0XHQmX190aXRsZVxuXHRcdFx0bWFyZ2luLXRvcCAxMnB4XG5cdFx0XHRmb250LXNpemUgMTZweFxuXHRcdFx0bWF4LXdpZHRoIDE2MHB4XG5cdFx0XG5cdFx0Jl9fYm90dG9tXG5cdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdFx0bGVmdCAwXG5cdFx0XHRib3R0b20gMTlweFxuXHRcdFx0bWF4LXdpZHRoIDE2MHB4XG5cblx0K2JlbG93KDQpXG5cdFx0bWFyZ2luIDJweCAwIDBcblxuXHRcdCZfX3RpdGxlXG5cdFx0XHRmb250LXNpemUgMTRweFxuXHRcdCZfX2JvdHRvbVxuXHRcdFx0bWFyZ2luLXRvcCAzcHhcblx0XHRcdGZvbnQtc2l6ZSAxM3B4XG5cdFx0XHRsaW5lLWhlaWdodCAxLjVlbVxuIiwiLmluZGV4LWNvbnRhY3RzXG5cdGJcblx0XHRmb250LXdlaWdodCBib2xkXG5cdGFcblx0XHRib3JkZXItYm90dG9tIDFweCBzb2xpZCByZ2JhKHdoaXRlLCAuNClcblx0K2Fib3ZlKDUpXG5cdFx0bWFyZ2luIC03cHggMFxuXG5cdCtiZWxvdyg0KVxuXHRcdG1hcmdpbiAtNXB4IDBcblx0XHRmb250LXNpemUgMTRweFxuXHRcdGxpbmUtaGVpZ2h0IDEuMmVtXG5cdFx0XG5cdFx0cCArIHBcblx0XHRcdG1hcmdpbi10b3AgLjllbVxuIiwiLmluZGV4XG5cdCZfX2lubmVyXG5cdFx0aW5uZXIoKVxuIiwiLmxhbmd1YWdlc1xuXHRwYWRkaW5nLXRvcCA5cHhcblx0Zm9udC1zaXplIDBcblx0XG5cdCZfX2l0ZW1cblx0XHRwYWRkaW5nIDAgNXB4IDFweFxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0Zm9udC1zaXplIDE0cHhcblx0XHRsaW5lLWhlaWdodCAxOXB4XG5cdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cdFx0XG5cdFx0Jl9zZWxlY3RlZFxuXHRcdFx0Ym9yZGVyIDFweCBzb2xpZCB0ZXh0Q29yYWxcblx0XHRcblx0XHQmICsgJlxuXHRcdFx0bWFyZ2luLWxlZnQgOHB4XG5cblx0XHRzcGFuXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdFx0bGluZS1oZWlnaHQgMTlweFxuXHRcdFx0Ym9yZGVyLWJvdHRvbSAxcHggc29saWQgcmdiYSh0ZXh0Q29yYWwsIC40KVxuXHRcdCZfc2VsZWN0ZWQgc3BhblxuXHRcdFx0bGluZS1oZWlnaHQgMThweFxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvciB0cmFuc3BhcmVudCIsIi5sb2dvXG5cdCthYm92ZSg1KVxuXHRcdCZfX2xlZnRcblx0XHQmX19yaWdodFxuXHRcdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRcdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXHRcdCZfX2xlZnRcblx0XHRcdHNwcml0ZSgkbG9nbylcblx0XHQmX19yaWdodFxuXHRcdFx0c3ByaXRlKCRsb2dvX3RleHRfcnUpXG5cdFx0XHRtYXJnaW4tbGVmdCA0M3B4XG5cdFx0Jl9lbiAmX19yaWdodFxuXHRcdFx0c3ByaXRlKCRsb2dvX3RleHRfZW4pXG5cblx0XHQmX19sb2dvLWltYWdlXG5cdFx0Jl9fbG9nby10ZXh0XG5cdFx0XHRkaXNwbGF5IG5vbmVcblx0K2JlbG93KDQpXG5cdFx0Jl9fbG9nby1pbWFnZVxuXHRcdFx0ZGlzcGxheSBibG9ja1xuXHRcdFx0aGVpZ2h0IDc2cHhcblx0XHQmX19sb2dvLXRleHRcblx0XHRcdG1hcmdpbi10b3AgMTlweFxuXHRcdFx0aGVpZ2h0IDYwcHhcblx0XHRcdGRpc3BsYXkgYmxvY2tcbiIsIi5tYXBcblx0bWFyZ2luLXRvcCAxZW1cblxuXHQrYWJvdmUoNSlcblx0XHR3aWR0aCAxMDAlXG5cdFx0aGVpZ2h0IDUwMHB4XG5cdCtiZWxvdyg0KVxuXHRcdHdpZHRoIDEwMCVcblx0XHRoZWlnaHQgMzAwcHhcbiIsIi5tZWRpYS1pdGVtXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdGRpc3BsYXkgYmxvY2tcblx0YmFja2dyb3VuZC1jb2xvciAjZTNlM2UzXG5cdGhlaWdodCAxNTVweFxuXHRvdmVyZmxvdyBoaWRkZW5cblx0XG5cdCZfX2ltYWdlXG5cdFx0Y3Vyc29yIHBvaW50ZXJcblx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0d2lkdGggMTAwJVxuXHRcdG1heC13aWR0aCAxMDAlXG5cdFx0bWFyZ2luIDAgYXV0b1xuXG5cdFx0Ly8gJl92ZXJ0aWNhbFxuXHRcdC8vIFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHQvLyBcdHRvcCAtMzclXG5cblx0Jl9fdGV4dFxuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0dG9wIDE0cHhcblx0XHRsZWZ0IDE2cHhcblx0XHRyaWdodCAxNnB4XG5cdFx0Y29sb3Igd2hpdGVcblx0XHRmb250LXNpemUgMTNweFxuXHRcdGxpbmUtaGVpZ2h0IDEuNGVtXG5cblx0Jl9fdmlkZW9cblx0XHRzcHJpdGUoJHZpZGVvKVxuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0dG9wIDBcblx0XHRyaWdodCAwXG5cdFx0bGVmdCAwXG5cdFx0Ym90dG9tIDBcblx0XHRtYXJnaW4gYXV0byIsIi5tZWRpYVxuXHQrYWJvdmUoMylcblx0XHQmX19pdGVtc1xuXHRcdFx0bWFyZ2luIDAgLTE2cHhcblx0XHRcdGZvbnQtc2l6ZSAwXG5cdFx0XG5cdFx0Jl9faXRlbVxuXHRcdFx0bWFyZ2luLWJvdHRvbSA1MHB4XG5cdFx0XHRwYWRkaW5nIDAgMTZweFxuXHRcdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRcdHZlcnRpY2FsLWFsaWduIHRvcFxuXHQrYWJvdmUoNSlcblx0XHQmX19pdGVtXG5cdFx0XHR3aWR0aCAzMyVcblx0K2JldHdlZW4oMywgNClcblx0XHQmX19pdGVtXG5cdFx0XHR3aWR0aCA1MCVcblx0K2JlbG93KDIpXG5cdFx0Jl9faXRlbVxuXHRcdFx0bWFyZ2luLWJvdHRvbSAyMHB4XG5cdFx0XHR3aWR0aCAxMDAlXG4iLCIubWVudVxuXHRsaW5lLWhlaWdodCAwXG5cdHRleHQtYWxpZ24ganVzdGlmeVxuXG5cdCZfX2lubmVyXG5cdFx0aW5uZXIoKVxuXHRcdFxuXHRcdCY6OmFmdGVyXG5cdFx0XHR3aWR0aCAxMDAlXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdFx0Y29udGVudCAnJ1xuXHRcdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cblx0Jl9faXRlbVxuXHRcdHBhZGRpbmcgMTJweCAwXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRmb250LXNpemUgMTVweFxuXHRcdGxpbmUtaGVpZ2h0IDFlbVxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuXHRcdFxuXHRcdCZfYWN0aXZlXG5cdFx0Jjpob3ZlclxuXHRcdFx0Y29sb3IgY29sb3JDb3JhbFxuIiwiLm5ld3MtaXRlbVxuXHQmX19kYXRlXG5cdFx0Y29sb3IgdGV4dEdyZXlMaWdodFxuXHRcdGZvbnQtc2l6ZSAxNXB4XG5cblx0Jl9faW1hZ2Vcblx0XHRtYXJnaW4tdG9wIDlweFxuXHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcblx0XHRpbWdcblx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdHdpZHRoIDEwMCVcblxuXHQmX190aXRsZVxuXHRcdG1hcmdpbi10b3AgMTFweFxuXHRcdGNvbG9yIHRleHRDb3JhbFxuXHRcdGZvbnQtc2l6ZSAxM3B4XG5cdFx0bGluZS1oZWlnaHQgMS40ZW1cblx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcblxuXHRcdGFcblx0XHRcdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdFx0XHRib3JkZXItYm90dG9tIDFweCBzb2xpZCByZ2JhKHRleHRDb3JhbCwgLjQpXG4iLCIubmV3c1xuXHRkaXNwbGF5IGJsb2NrXG5cdFxuXHQmX19pdGVtc1xuXHRcdG1hcmdpbiAwIC0xNnB4XG5cdFx0Zm9udC1zaXplIDBcblx0Jl9faXRlbVxuXHRcdG1hcmdpbi1ib3R0b20gNDBweFxuXHRcdHBhZGRpbmcgMCAxNnB4XG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRmb250LXNpemUgYmFzZUZvbnRTaXplXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0XG5cdFx0K2Fib3ZlKDUpXG5cdFx0XHR3aWR0aCAzMyVcblx0XHQrYmVsb3coNClcblx0XHRcdHdpZHRoIDEwMCVcbiIsIi5wYWdlXG5cdGZvbnQtZmFtaWx5IGZvbnRcblx0YmFja2dyb3VuZCBpbWFnZVVybCgnYmcucG5nJykgY2VudGVyIGhlYWRlckhlaWdodCBuby1yZXBlYXRcblxuXHQmX19hcmNoaXZlLWZpeGVkXG5cdCZfX2hlYWRlci1maXhlZFxuXHRcdHBvc2l0aW9uIGZpeGVkXG5cdFx0cmlnaHQgMFxuXHRcdGxlZnQgMFxuXHQmX19hcmNoaXZlLWZpeGVkXG5cdFx0ei1pbmRleCAxMDFcblx0XHR0b3AgMFxuXHQmX19oZWFkZXItZml4ZWRcblx0XHR6LWluZGV4IDEwMFxuXHRcdHRvcCAwXG5cdCZfX2FyY2hpdmUtZml4ZWQgKyAmX19oZWFkZXItZml4ZWRcblx0XHR0b3AgYXJjaGl2ZUhlaWdodFxuXHRcblx0Jl9faGVhZGVyXG5cdFx0cGFkZGluZy10b3AgaGVhZGVySGVpZ2h0ICogMlxuXG5cdCZfX21lbnVcblx0XHRwYWRkaW5nLWJvdHRvbSA4cHhcblx0XHQvLyBkaXNwbGF5IG5vbmVcblxuXHQmX19ib2R5XG5cdFx0bWFyZ2luLXRvcCAxMHB4XG5cblx0Jl9zdGlja3lcblx0XHQvIGh0bWxcblx0XHQvIGJvZHlcblx0XHRcdGhlaWdodCAxMDAlXG5cdCZfc3RpY2t5ICZfX3dyYXBwZXJcblx0XHRtaW4taGVpZ2h0IDEwMCVcblx0XHRtYXJnaW4tYm90dG9tICgtKGZvb3RlckhlaWdodCkpXG5cblx0XHQmOjphZnRlclxuXHRcdFx0Y29udGVudCAnJ1xuXHRcdFx0ZGlzcGxheSBibG9ja1xuXHQmX3N0aWNreSAmX19mb290ZXJcblx0Jl9zdGlja3kgJl9fd3JhcHBlcjo6YWZ0ZXJcblx0XHRoZWlnaHQgZm9vdGVySGVpZ2h0XG4iLCIucGFnaW5hdGlvblxuXHRwYWRkaW5nIDEycHggMFxuXG5cdCZfX2l0ZW1zXG5cdFx0Zm9udC1zaXplIDBcblxuXHQmX19pdGVtXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRmb250LXNpemUgMTVweFxuXHRcdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXHRcdGNvbG9yIHRleHRDb3JhbFxuXHRcdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdFx0XG5cdFx0JiArICZcblx0XHRcdG1hcmdpbi1sZWZ0IDI2cHhcblx0XHRcblx0XHQmX2FjdGl2ZVxuXHRcdFx0Y29sb3IgYmxhY2tcbiIsIi5wYXJ0aWNpcGFudFxuXHQmX19uYW1lXG5cdFx0Zm9udC1zaXplIDIycHhcblxuXHQmX19vcmdhbml6YXRpb25cblx0Jl9fam9iXG5cdFx0Zm9udC1zaXplIDE0cHhcblx0XHRtYXJnaW4tdG9wIDAgIWltcG9ydGFudFxuXG5cdCZfX29yZ2FuaXphdGlvblxuXHRcdGZvbnQtd2VpZ2h0IDYwMFxuIiwiLnBhcnRpY2lwYW50c1xuXHQmX19pdGVtXG5cdFx0JiArICZcblx0XHRcdG1hcmdpbi10b3AgMTVweFxuIiwiLnBhcnRuZXJzLWl0ZW1cblx0JHJvb3QgPSBzZWxlY3RvcigpXG5cdG1hcmdpbi1ib3R0b20gMTFweFxuXHRcblx0K2Fib3ZlKDUpXG5cdFx0cGFkZGluZyA0MHB4IDBcblx0K2JlbG93KDQpXG5cdFx0cGFkZGluZyBhZGFwdGl2ZVBhZGRpbmcgMFxuXG5cdCZfX2ltYWdlXG5cdFx0c2l6ZSgxMjJweClcblx0XHRtYXJnaW4gMCBhdXRvXG5cdFx0ZGlzcGxheSBibG9ja1xuXHRcdGJvcmRlci1yYWRpdXMgNTAlXG5cdFx0XG5cdFx0aW1nXG5cdFx0XHR3aWR0aCAxMDAlXG5cdFx0XHRoZWlnaHQgMTAwJVxuXHQmX3NpbmdsZSAmX19pbWFnZVxuXHRcdCthYm92ZSg1KVxuXHRcdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRcdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXG5cdCZfX25hbWVcblx0XHRtYXJnaW4tdG9wIDM1cHhcblx0XHRmb250LXNpemUgMTZweFxuXHRcdCthYm92ZSg1KVxuXHRcdFx0Zm9udC1zaXplIDE0cHhcblx0Jl9zaW5nbGUgJl9fbmFtZVxuXHRcdCthYm92ZSg1KVxuXHRcdFx0bWFyZ2luLXRvcCAycHhcblx0XHRcdG1hcmdpbi1sZWZ0IDI2cHhcblx0XHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0Jl9zZWN0aW9uXG5cdFx0Jl8xMiAvLyBtZWRpYSBzZWN0aW9uXG5cdFx0XHQmIHskcm9vdH1fX25hbWVcblx0XHRcdFx0bWFyZ2luLXRvcCAtMTBweFxuIiwiLnBhcnRuZXJzXG5cdCZfX2l0ZW1zXG5cdFx0Zm9udC1zaXplIDBcblxuXHQmX19pdGVtXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRmb250LXNpemUgYmFzZUZvbnRTaXplXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0dGV4dC1hbGlnbiBjZW50ZXJcblxuXHRcdCthYm92ZSg1KVxuXHRcdFx0d2lkdGggMjUlXG5cdFx0K2JlbG93KDQpXG5cdFx0XHR3aWR0aCAxMDAlXG5cblx0XHQmX3NpbmdsZVxuXHRcdFx0K2Fib3ZlKDUpXG5cdFx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdFx0d2lkdGggMTAwJVxuXHRcdFx0XHR0ZXh0LWFsaWduIGxlZnRcbiIsIi5wcm9ncmFtLWNvbnRlbnQtaXRlbVxuXHRkaXNwbGF5IGJsb2NrXG4iLCIucHJvZ3JhbS1jb250ZW50XG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdG92ZXJmbG93IGhpZGRlblxuXG5cdCZfX2l0ZW1cblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdGxlZnQgMTAwJVxuXHRcdG9wYWNpdHkgMFxuXHRcdHRyYW5zZm9ybSB0cmFuc2xhdGUoMTAwcHgsIDApXG5cdFx0dHJhbnNpdGlvbiB0cmFuc2Zvcm0gLjJzLCBvcGFjaXR5IC4ycywgbGVmdCBzdGVwLWVuZCAuMnNcblx0XHRcblx0XHQmX2FjdGl2ZVxuXHRcdFx0cG9zaXRpb24gc3RhdGljXG5cdFx0XHRsZWZ0IDBcblx0XHRcdG9wYWNpdHkgMVxuXHRcdFx0dHJhbnNmb3JtIHRyYW5zbGF0ZSgwLCAwKVxuXHRcdFx0dHJhbnNpdGlvbiB0cmFuc2Zvcm0gLjJzLCBvcGFjaXR5IC4ycywgbGVmdCBzdGVwLXN0YXJ0IC4yc1xuIiwiLnByb2dyYW0tZGF5XG5cdHBhZGRpbmctYm90dG9tIDdweFxuXHRjb2xvciBjb2xvckNvcmFsXG5cdGJvcmRlci1ib3R0b20gMXB4IHNvbGlkIHJnYmEoY29sb3JDb3JhbCwgLjQpXG5cdGN1cnNvciBwb2ludGVyXG5cblx0Jl9hY3RpdmVcblx0XHRjb2xvciBibGFja1xuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblx0XHRib3JkZXItYm90dG9tLWNvbG9yIHRyYW5zcGFyZW50XG5cdFx0Y3Vyc29yIGRlZmF1bHRcblxuXHQrYWJvdmUoNSlcblx0XHQmX19kYXRlXG5cdFx0XHRmb250LXNpemUgNDZweFxuXHRcdCZfX21vbnRoXG5cdFx0XHRmb250LXNpemUgMTdweFxuXG5cdCtiZWxvdyg0KVxuXHRcdCZfX2RhdGVcblx0XHRcdGZvbnQtc2l6ZSAzMnB4XG5cdFx0Jl9fbW9udGhcblx0XHRcdGZvbnQtc2l6ZSAxMnB4XG4iLCIucHJvZ3JhbS1kYXlzXG5cdCZfX2l0ZW1cblx0XHRkaXNwbGF5IGlubGluZVxuXHRcblx0XHQmICsgJlxuXHRcdFx0K2Fib3ZlKDUpXG5cdFx0XHRcdG1hcmdpbi1sZWZ0IDQzcHhcblx0XHRcdCtiZWxvdyg0KVxuXHRcdFx0XHRtYXJnaW4tbGVmdCAyMHB4XG4iLCIucHJvZ3JhbVxuXHQmX19kYXlzXG5cdFx0cGFkZGluZy10b3AgMTFweFxuXHRcdHBhZGRpbmctYm90dG9tIDQwcHhcbiIsIi5yZWdpc3RyYXRpb24tYnRuXG5cdGRpc3BsYXkgYmxvY2tcbiIsIi5zY2hlZHVsZS1yb3dcblx0K2Fib3ZlKDUpXG5cdFx0Zm9udC1zaXplIDBcblxuXHRcdCZfX3RpbWVcblx0XHQmX19jb250ZW50XG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0XG5cdFx0Jl9fdGltZVxuXHRcdFx0d2lkdGggMTIlXG5cdFx0Jl9fY29udGVudFxuXHRcdFx0bWFyZ2luLWxlZnQgMyVcblx0XHRcdHdpZHRoIDg1JVxuIiwiLnNjaGVkdWxlXG5cdCZfX3Jvd1xuXHRcdCYgKyAmXG5cdFx0XHRtYXJnaW4tdG9wIDIxcHhcbiIsIi5zaGFwZWQtYmxvY2tcblx0Jl9vcmFuZ2Vcblx0XHRjb2xvcmVkQmxvY2soJ29yYW5nZScpXG5cdCZfY29yYWxcblx0XHRjb2xvcmVkQmxvY2soJ2NvcmFsJylcblx0Jl9yZWRcblx0XHRjb2xvcmVkQmxvY2soJ3JlZCcpXG5cblx0K2Fib3ZlKDUpXG5cdFx0Jl9maWxsXG5cdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdFx0dG9wIDBcblx0XHRcdHJpZ2h0IDBcblx0XHRcdGxlZnQgMFxuXHRcdFx0Ym90dG9tIDBcblxuXHQrYmVsb3coNClcblx0XHRtYXJnaW4tdG9wIDIycHhcbiIsIi5zdWJtZW51XG5cdGRpc3BsYXkgYmxvY2tcblx0XG5cdCZfX2l0ZW1zXG5cdFx0bWFyZ2luIDAgLTEzcHhcblx0XHRmb250LXNpemUgMFxuXHRcblx0Jl9faXRlbVxuXHRcdHBhZGRpbmcgNXB4IDEycHhcblx0XHRkaXNwbGF5IGlubGluZVxuXHRcdGNvbG9yIGNvbG9yQ29yYWxcblx0XHRmb250LXNpemUgMTdweFxuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblx0XHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0XHR0ZXh0LWRlY29yYXRpb24gbm9uZVxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuXHRcdGJvcmRlciAxcHggc29saWQgdHJhbnNwYXJlbnRcblx0XHR3aGl0ZS1zcGFjZSBub3dyYXBcblx0XHRcblx0XHQmICsgJlxuXHRcdFx0bWFyZ2luLWxlZnQgMjRweFxuXG5cdFx0Jjpob3ZlclxuXHRcdFx0Y29sb3IgY29sb3JPcmFuZ2Vcblx0XHQmX2FjdGl2ZVxuXHRcdFx0Ym9yZGVyLWNvbG9yIGNvbG9yQ29yYWxcblx0XHRcdGNvbG9yIGJsYWNrICFpbXBvcnRhbnRcblx0XHRcblx0XHRzcGFuXG5cdFx0XHRib3JkZXItYm90dG9tIDFweCBzb2xpZCByZ2JhKGNvbG9yQ29yYWwsIC40KVxuXHRcdCY6aG92ZXIgc3BhblxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvciByZ2JhKGNvbG9yT3JhbmdlLCAuNClcblx0XHQmX2FjdGl2ZSBzcGFuXG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yIHRyYW5zcGFyZW50ICFpbXBvcnRhbnRcblxuXHQrYmVsb3coNClcblx0XHQmX19pdGVtXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdFx0bWFyZ2luLWJvdHRvbSA1cHhcblx0XHRcdFxuXHRcdFx0JiArICZcblx0XHRcdFx0bWFyZ2luLWxlZnQgMFxuIiwiLnRpbGVcblx0ZGlzcGxheSBibG9ja1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uIGNlbnRlciBjZW50ZXJcblx0YmFja2dyb3VuZC1zaXplIDEwMCUgYXV0b1xuXHR0cmFuc2l0aW9uIGJhY2tncm91bmQtc2l6ZSAuNHNcblx0XG5cdCY6aG92ZXJcblx0XHRiYWNrZ3JvdW5kLXNpemUgMTA1JSBhdXRvXG5cblx0Jl9fdGV4dFxuXHRcdGRpc3BsYXkgYmxvY2tcblx0XHRjb2xvciB3aGl0ZVxuXHRcdGZvbnQtc2l6ZSAxNXB4XG5cdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cblx0K2Fib3ZlKDUpXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHRoZWlnaHQgdGlsZUhlaWdodFxuXHRcdGJveC1zaGFkb3cgMCAwIDAgMCBjb2xvckdyZXlEYXJrXG5cdFx0XG5cdFx0Jl9zaGFkb3dlZFxuXHRcdFx0dHJhbnNpdGlvbiBib3gtc2hhZG93IC4wN3MsIGJhY2tncm91bmQtc2l6ZSAuNHNcblxuXHRcdFx0Jjpob3ZlclxuXHRcdFx0XHRib3gtc2hhZG93IDAgMCAyMHB4IDdweCBjb2xvckdyZXlEYXJrXG5cdFx0XG5cdFx0JiArICZcblx0XHRcdG1hcmdpbi10b3AgdGlsZU9mZnNldFxuXG5cdFx0Zm9yIGhlaWdodCBpbiAxLi41XG5cdFx0XHQmX2hlaWdodF97aGVpZ2h0fVxuXHRcdFx0XHRoZWlnaHQgdGlsZUhlaWdodCAqIGhlaWdodCArIHRpbGVPZmZzZXQgKiAoaGVpZ2h0IC0gMSlcblxuXHRcdCZfX3RleHRcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0XHR0b3AgMzBweFxuXHRcdFx0bGVmdCAzMHB4XG5cdFx0XHRmb250LXdlaWdodCBib2xkXG5cblx0K2JlbG93KDQpXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHRvdmVyZmxvdyBoaWRkZW5cblx0XHRtYXJnaW4tYm90dG9tIDdweFxuXG5cdFx0Jl9fdGV4dFxuXHRcdFx0cGFkZGluZyAyMnB4IDIzcHggMjNweFxuXHRcdFxuXHRcdCZfX2ltYWdlXG5cdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdFx0dG9wIDBcblx0XHRcdGJvdHRvbSAwXG5cdFx0XHRyaWdodCAwXG5cdFx0XHRsZWZ0IDBcblx0XHRcdG1hcmdpbiBhdXRvXG5cdFx0XHR3aWR0aCAxMDAlXG5cdFx0XHR6LWluZGV4IC0xXG4iLCIudGl0bGVcblx0bGluZS1oZWlnaHQgMS4zZW1cblx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cblx0K2Fib3ZlKDUpXG5cdFx0cGFkZGluZyA0M3B4IDBcblx0XHRmb250LXNpemUgNDJweFxuXG5cdCtiZWxvdyg0KVxuXHRcdHBhZGRpbmcgMjBweCAwXG5cdFx0Zm9udC1zaXplIDI0cHhcbiIsIi5jbGVhcl9tYXJnaW5cblx0bWFyZ2luLXRvcCAwICFpbXBvcnRhbnRcblxuLmNhcnRcblx0cC5uYW1lXG5cdFx0cGFkZGluZy1ib3R0b20gNXB4XG5cdFx0XG5cdFx0JiArIGlcblx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdHBhZGRpbmctYm90dG9tIDVweCIsIi53aWRnZXRcblx0ZGlzcGxheSBibG9ja1xuXHRmb250LXNpemUgMFxuXHR3aWR0aCAxMDAlXG5cdG92ZXJmbG93IGhpZGRlblxuXHRtYXJnaW4tYm90dG9tIDMwcHhcblx0bWFyZ2luLWxlZnQgYXV0b1xuXHRtYXJnaW4tcmlnaHQgYXV0b1xuXHRtYXgtd2lkdGggMjYycHhcblxuXHQvICogKyAmXG5cdFx0bWFyZ2luLXRvcCAzMHB4XG5cblx0Jl9fdGl0bGVcblx0XHRmb250LXNpemUgMThweFxuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxuXG5cdCZfX2xpc3Rcblx0XHRwb3NpdGlvbiByZWxhdGl2ZVxuXHRcdG1hcmdpbiAyMHB4IGF1dG8gMFxuXHRcdG1heC13aWR0aCA4MCVcblx0XHR3aGl0ZS1zcGFjZSBub3dyYXBcblx0XHRcblx0XHQuc2xpY2stbGlzdFxuXHRcdFx0b3ZlcmZsb3cgaGlkZGVuXG5cblx0Jl9faXRlbVxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cdFx0dGV4dC1hbGlnbiBjZW50ZXJcblx0XHR3aGl0ZS1zcGFjZSBub3JtYWxcblx0XHR3aWR0aCAxMDAlXG5cdCZbZGF0YS1zbGlkZXMtdG8tc2hvdz0yXSAmX19pdGVtXG5cdFx0d2lkdGggNTAlXG5cdCZbZGF0YS1zbGlkZXMtdG8tc2hvdz0zXSAmX19pdGVtXG5cdFx0d2lkdGggMzMlXG5cdCZbZGF0YS1zbGlkZXMtdG8tc2hvdz00XSAmX19pdGVtXG5cdFx0d2lkdGggMjUlXG5cdCZbZGF0YS1zbGlkZXMtdG8tc2hvdz01XSAmX19pdGVtXG5cdFx0d2lkdGggMjAlXG5cblx0Jl9fbG9nb1xuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cdFx0bWF4LXdpZHRoIDg1JVxuXHRcdG1hcmdpbiAwIGF1dG9cblxuXHQmX19pdGVtLXRpdGxlXG5cdCZfX2l0ZW0tZ3JvdXBcblx0XHRmb250LXNpemUgMTRweFxuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0bGluZS1oZWlnaHQgMS41ZW1cblx0Jl9faXRlbS10aXRsZVxuXHRcdG1hcmdpbi10b3AgMjBweFxuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcblxuXHQuc2xpY2stYXJyb3dcblx0XHRjZW50ZXIoKVxuXHRcdGJhY2tncm91bmQgdHJhbnNwYXJlbnRcblx0XHRib3JkZXIgbm9uZVxuXG5cdFx0Jjo6YmVmb3JlXG5cdFx0XHRwc2V1ZG8oKVxuXHRcdFx0Y2VudGVyKClcblxuXHRcdCYuc2xpY2stcHJldlxuXHRcdFx0cmlnaHQgYXV0b1xuXHRcdFx0bGVmdCAoLSgkd2lkZ2V0X2Fycm93X2xlZnRfd2lkdGgpKVxuXHRcdFx0d2lkdGggJHdpZGdldF9hcnJvd19sZWZ0X3dpZHRoXG5cdFx0XHQmOjpiZWZvcmVcblx0XHRcdFx0c3ByaXRlKCR3aWRnZXRfYXJyb3dfbGVmdClcblx0XHQmLnNsaWNrLW5leHRcblx0XHRcdGxlZnQgYXV0b1xuXHRcdFx0cmlnaHQgKC0oJHdpZGdldF9hcnJvd19yaWdodF93aWR0aCkpXG5cdFx0XHR3aWR0aCAkd2lkZ2V0X2Fycm93X3JpZ2h0X3dpZHRoXG5cdFx0XHQmOjpiZWZvcmVcblx0XHRcdFx0c3ByaXRlKCR3aWRnZXRfYXJyb3dfcmlnaHQpXG5cdCZbZGF0YS1zbGlkZXMtdG8tc2hvdz0nMSddIC5zbGljay1hcnJvdzo6YmVmb3JlXG5cdFx0Ym90dG9tIGF1dG9cblx0XHR0b3AgNjhweFxuIl19 */
