/*! core.scss | Bulkit | CSS Ninja */
/*! themes/_colors.scss | Bulkit | CSS Ninja */
/*! themes/_main.scss | Bulkit | CSS Ninja */
.pageloader {
    background-color: #7F00FF;
    background: linear-gradient(to top, #7F00FF, #7F00FF) !important
}

.hero.is-theme-secondary,
.section.is-theme-secondary {
    background-color: #7F00FF;
    background: linear-gradient(to right, #7F00FF, #7F00FF);
    background: linear-gradient(to top, #7F00FF, #7F00FF)
}

.hero.is-theme-secondary .title,
.section.is-theme-secondary .title {
    color: #fff
}

.hero.is-theme-secondary .subtitle,
.section.is-theme-secondary .subtitle {
    color: #fff
}

/*! _navbar.scss | Bulkit | CSS Ninja */
.navbar-placeholder {
    z-index: 999
}

.navbar-wrapper {
    width: 100%;
    height: 4.6rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    transition: all 0.4s
}

.navbar-wrapper.is-static {
    position: static !important
}

.navbar-wrapper.is-solid {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.navbar-wrapper.is-cloned {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    z-index: 100;
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.navbar-wrapper.is-cloned.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.navbar-wrapper.is-transparent .navbar-item.is-slide,
.navbar-wrapper.is-transparent .navbar-link.is-slide {
    border-bottom: 1px solid transparent
}

.navbar-wrapper.is-transparent .navbar-item.is-slide:after,
.navbar-wrapper.is-transparent .navbar-link.is-slide:after {
    content: '';
    display: block;
    width: 0;
    min-width: 0;
    height: 1.6px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #4FC1EA;
    transition: width .3s
}

.navbar-wrapper.is-transparent .navbar-item.is-slide:hover:after,
.navbar-wrapper.is-transparent .navbar-link.is-slide:hover:after {
    width: 100%
}

.navbar-wrapper .navbar-brand {
    -ms-flex-align: center;
    align-items: center
}

.navbar-wrapper .navbar-brand img {
    height: 28px
}

.navbar-wrapper .navbar-brand img.light-logo {
    display: block
}

.navbar-wrapper .navbar-brand img.dark-logo {
    display: none
}

.navbar-wrapper .navbar-item:hover,
.navbar-wrapper .navbar-item.has-dropdown:hover {
    color: #999;
    background: transparent
}

.navbar-wrapper .navbar-item:hover a,
.navbar-wrapper .navbar-item.has-dropdown:hover a {
    background: transparent
}

.navbar-wrapper .navbar-item.is-menu:hover {
    background: #e8e8e8 !important
}

.navbar-wrapper .navbar-item.is-menu:hover i,
.navbar-wrapper .navbar-item.is-menu:hover span {
    color: #7F00FF !important
}

.navbar-wrapper .navbar-item.is-menu span {
    padding: 0 10px
}

.navbar-wrapper .navbar-item.is-menu i {
    font-size: 22px;
    color: #999
}

.navbar-wrapper .navbar-item.is-mega {
    position: static
}

.navbar-wrapper .navbar-item.is-mega .is-mega-menu-title {
    margin-bottom: 0;
    padding: .375rem 1rem
}

.navbar-wrapper .navbar-link:hover {
    background: transparent !important;
    color: #7F00FF
}

.navbar-wrapper .navbar-link:hover:after {
    border-color: #7F00FF
}

.navbar-wrapper .navbar-link:after {
    font-size: 0.85rem;
    border: 1.6px solid transparent;
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    border-color: #444F60;
    margin-top: -0.375em;
    right: 1.125em;
    transition: all .3s;
    right: 1.525em
}

.navbar-wrapper .custom-burger {
    margin-left: auto;
    display: none;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    height: 4.6rem;
    width: 4.6rem
}

.navbar-wrapper.navbar-light .icon-box-toggle span i {
    background: #fff !important
}

.navbar-wrapper.navbar-light .navbar-item,
.navbar-wrapper.navbar-light .navbar-link {
    color: #fff
}

.navbar-wrapper.navbar-light .navbar-item.is-slide,
.navbar-wrapper.navbar-light .navbar-link.is-slide {
    border-bottom: 1px solid transparent
}

.navbar-wrapper.navbar-light .navbar-item.is-slide:after,
.navbar-wrapper.navbar-light .navbar-link.is-slide:after {
    content: '';
    display: block;
    width: 0;
    min-width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #fff;
    transition: width .3s
}

.navbar-wrapper.navbar-light .navbar-item.is-slide:hover:after,
.navbar-wrapper.navbar-light .navbar-link.is-slide:hover:after {
    width: 100%
}

.navbar-wrapper.navbar-light .navbar-link:after {
    font-size: 0.85rem;
    border: 1.6px solid transparent;
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    border-color: #fff;
    margin-top: -0.375em;
    right: 1.125em;
    transition: all .3s;
    right: 1.525em
}

.navbar-wrapper.navbar-light .navbar-burger span {
    background: #fff !important
}

.navbar-wrapper.navbar-inverse.is-reverse {
    background: #344258
}

.navbar-wrapper.navbar-inverse.is-reverse .navbar-menu.is-active {
    background: #344258
}

.navbar-wrapper.navbar-inverse.is-blue {
    background: #039BE5
}

.navbar-wrapper.navbar-inverse.is-blue .navbar-menu.is-active {
    background: #039BE5
}

.navbar-wrapper.navbar-inverse.is-purple {
    background: #7F00FF
}

.navbar-wrapper.navbar-inverse.is-purple .navbar-menu.is-active {
    background: #7F00FF
}

.navbar-wrapper.navbar-inverse.is-red {
    background: #FF7273
}

.navbar-wrapper.navbar-inverse.is-red .navbar-menu.is-active {
    background: #FF7273
}

.navbar-wrapper.navbar-inverse .icon-box-toggle span i {
    background: #fff !important
}

.navbar-wrapper.navbar-inverse .navbar-item,
.navbar-wrapper.navbar-inverse .navbar-link {
    color: #fff
}

.navbar-wrapper.navbar-inverse .navbar-link:after {
    font-size: 0.85rem;
    border: 1.6px solid transparent;
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    border-color: #fff;
    margin-top: -0.375em;
    right: 1.125em;
    transition: all .3s;
    right: 1.525em
}

.navbar-wrapper.navbar-inverse .navbar-burger span {
    background: #fff !important
}

.navbar-wrapper .navbar-dropdown.is-medium {
    width: 200px
}

.navbar-wrapper .navbar-dropdown .navbar-item {
    color: #444F60
}

.navbar-wrapper.navbar-faded {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.navbar-wrapper.navbar-faded .navbar-brand img {
    height: 28px
}

.navbar-wrapper.navbar-faded .navbar-brand img.light-logo {
    display: none
}

.navbar-wrapper.navbar-faded .navbar-brand img.dark-logo {
    display: block
}

.account {
    position: relative;
    right: 20px;
    top: 5px;
    margin-left: 30px
}

.account .nav-item {
    border-bottom: 1px solid transparent !important
}

.account img.account-avatar {
    max-height: 40px;
    border-radius: 50px;
    border: 1px solid #EFF4F7
}

.account div a {
    color: #66676b !important
}

.account div a i {
    position: relative;
    top: 3px;
    left: 10px;
    font-size: 7px !important;
    color: #66676b
}

.account .dropOut ul {
    margin-left: 0 !important
}

.scroll-nav-wrapper {
    width: 100%;
    height: 60px;
    line-height: 60px;
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.scroll-nav-wrapper .tabs {
    background: #fff
}

.scroll-nav-wrapper .tabs a {
    padding-bottom: 0;
    padding-top: 0;
    border-bottom-color: transparent
}

.scroll-nav-wrapper .tabs ul {
    border-bottom: none
}

.scroll-nav-wrapper .tabs ul li a {
    color: #A9ABAC
}

.scroll-nav-wrapper .tabs ul li:hover a {
    color: #7F00FF;
    border-bottom-color: #7F00FF
}

.scroll-nav-wrapper .tabs ul li.is-active a {
    color: #7F00FF;
    border-bottom: 2px solid #7F00FF
}

.scroll-nav-wrapper .tabs ul li a.there {
    color: #7F00FF;
    border-bottom: 2px solid #7F00FF
}

.menu-toggle {
    font-size: 20px;
    color: #666;
    line-height: 48px;
    text-align: center;
    background: transparent;
    display: block;
    width: 24px;
    height: 26px;
    cursor: pointer;
    padding: 0;
    margin: 0 14px;
    transition: opacity 0.4s;
    opacity: 1;
    position: relative;
    top: 2px
}

.menu-toggle .icon-box-toggle {
    height: 100%;
    width: 100%;
    background: tranparent;
    position: relative;
    display: block;
    width: 30px;
    height: 30px
}

.menu-toggle .icon-box-toggle.active>span.rotate {
    -webkit-transform: rotate(90deg);
    transform: translate(0px, 0px) rotate(90deg)
}

.menu-toggle .icon-box-toggle.active>span>i.icon-line-center {
    visibility: hidden;
    width: 1px;
    height: 3px;
    left: 70%
}

.menu-toggle .icon-box-toggle.active>span>i.icon-line-bottom {
    margin: -2px 0 0 -10px;
    left: 50%;
    top: 12px;
    -webkit-transform: rotate(135deg);
    transform: translate(0px, 0px) rotate(135deg)
}

.menu-toggle .icon-box-toggle.active>span>i.icon-line-top {
    margin: -2px 0 0 -10px;
    left: 50%;
    top: 12px;
    -webkit-transform: rotate(45deg);
    transform: translate(0px, 0px) rotate(45deg)
}

.menu-toggle .icon-line-center {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #A9ABAC;
    margin: -1px 0 0 -10px;
    left: 50%;
    top: 11px;
    transition: all 0.2s ease
}

.menu-toggle .icon-line-top {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #A9ABAC;
    margin: -3px 0 0 -10px;
    left: 50%;
    top: 7px;
    transition: all 0.2s ease
}

.menu-toggle .icon-line-bottom {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #A9ABAC;
    margin: 2px 0 0 -10px;
    left: 50%;
    top: 14px;
    transition: all 0.2s ease
}

@media only screen and (min-width: 768px) and (max-width: 1088px) {
    .desktop.landscape .custom-burger {
        display: -ms-flexbox !important;
        display: flex !important
    }
}

/*! _sections.scss | Bulkit | CSS Ninja */
.section.section-light-grey {
    background-color: #EFF4F7
}

.section.section-feature-grey {
    background-color: #fbfbfb
}

.section.section-header-grey {
    background-color: #F5F9FC
}

.section.section-feature-grey-accent {
    background-color: #efefef
}

.section.section-primary {
    background-color: #4FC1EA
}

.section.section-secondary {
    background-color: #7F00FF
}

.section.has-border-bottom {
    border-bottom: 1px solid #ededed
}

.section.has-border-top {
    border-top: 1px solid #ededed
}

.section.is-relative {
    position: relative
}

.section.is-cover {
    background-size: cover !important
}

.section.no-margin {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.section.section-half {
    height: 75vh !important
}

.section.is-skewed-sm {
    -webkit-transform: skew(0deg, -3deg) translate(0, -45px);
    transform: skew(0deg, -3deg) translate(0, -45px);
    padding-top: 140px
}

.section .container {
    z-index: 1
}

.section .container.is-reverse-skewed-sm {
    -webkit-transform: skew(0deg, 3deg) translate(0, 45px);
    transform: skew(0deg, 3deg) translate(0, 45px)
}

.section .container.slanted-container {
    margin-top: -100px
}

.section .content-wrapper {
    padding-top: 40px
}

.section .bottom-spacer {
    padding-bottom: 200px
}

.section .section-title-wrapper {
    position: relative;
    padding: 40px 20px
}

.section .section-title-wrapper .bg-number,
.section .section-title-wrapper .bg-symbol {
    position: absolute;
    text-align: center;
    font-weight: bolder;
    top: -18px;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    font-size: 160px;
    z-index: 0;
    opacity: 0.1;
    color: #999;
    width: 160px;
    height: 160px;
    line-height: 160px
}

.section .section-title-wrapper .bg-number .material-icons,
.section .section-title-wrapper .bg-symbol .material-icons {
    font-size: 12rem
}

.section .section-title-wrapper .top-subtitle {
    text-transform: uppercase;
    color: #4FC1EA;
    font-family: 'Nexa Light', sans-serif;
    font-weight: 700;
    font-size: 1.05rem
}

.section .section-title-wrapper .icon-subtitle {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.section .section-title-wrapper .icon-subtitle.is-one i {
    margin: 10px 5px 0 5px;
    font-size: 2.2rem;
    color: #7F00FF
}

.section .section-title-wrapper .icon-subtitle.is-many i {
    margin: 10px 5px 0 5px;
    font-size: 1.4rem;
    color: #7F00FF
}

.section .title.section-title {
    font-size: 2.7rem;
    color: #A9ABAC;
    font-weight: bold;
    font-family: 'Nexa Bold', sans-serif
}

.section .title.section-subtitle {
    font-size: 2.3rem;
    color: #A9ABAC
}

.section .title.quick-feature {
    font-size: 2.7rem;
    color: #444F60;
    position: relative
}

.section .title.quick-feature .bg-number,
.section .title.quick-feature .bg-symbol {
    position: absolute;
    font-weight: bolder;
    top: -100px;
    left: 40px;
    font-size: 14rem;
    z-index: 0;
    opacity: 0.1;
    color: #999
}

.section .title.feature-title {
    font-weight: 600;
    color: #444F60;
    font-size: 2.2rem
}

.section .icon-subtitle i {
    font-size: 2.4rem;
    color: #4FC1EA
}

.section .detailed-feature-subtitle {
    text-transform: uppercase;
    font-family: 'Nexa Light';
    font-size: 15px;
    color: #A9ABAC;
    font-weight: 600
}

.section .title-divider {
    margin: 10px 0;
    width: 80px;
    height: 5px;
    background: #4FC1EA
}

.section .title-divider.is-right {
    margin-left: auto
}

.section .title-divider.is-centered {
    margin: 0 auto
}

.section h2.feature-headline {
    color: #4FC1EA !important;
    line-height: 1.2;
    padding: 5px 0;
    margin-bottom: 0 !important
}

.section .section-feature-description {
    color: #878787
}

.section .media.icon-box {
    border-top: none !important
}

.section .media.icon-box .media-content .content p span.icon-box-title {
    color: #444F60;
    font-size: 1.2rem;
    font-weight: 600
}

.section .media.icon-box .media-content .content p span.icon-box-text {
    color: #A9ABAC;
    font-size: 1.1rem;
    font-weight: 400
}

.section .flex-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.section .flex-wrapper.flex-center {
    -ms-flex-pack: center;
    justify-content: center
}

.section .flex-wrapper.flex-start {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.section .flex-wrapper.flex-end {
    -ms-flex-pack: end;
    justify-content: flex-end
}

.section .flex-wrapper img {
    width: 23%
}

.content.content-flex,
.content-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.content.content-flex.center-flex,
.content-flex.center-flex {
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.divider {
    display: table;
    white-space: nowrap;
    margin-top: 20px;
    padding: 0 20px
}

.divider .before-divider,
.divider .after-divider {
    display: table-cell;
    width: 50%;
    border-bottom: 1px solid #ededed;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #999
}

.divider .children {
    padding: 0 20px;
    font-size: 14px;
    color: #cecece
}

/*! _hero.scss | Bulkit | CSS Ninja */
.hero.is-relative {
    position: relative
}

.hero.is-cover {
    background-size: cover !important
}

.hero.is-theme-primary {
    background-color: #4FC1EA
}

.hero.is-theme-primary .title {
    color: #fff
}

.hero.is-theme-primary .subtitle {
    color: #fff
}

.hero.is-theme-secondary {
    background-color: #7F00FF
}

.hero.is-theme-secondary .title {
    color: #fff
}

.hero.is-theme-secondary .subtitle {
    color: #fff
}

.hero.is-theme-accent {
    background-color: #7F00FF
}

.hero.is-theme-accent .title {
    color: #fff
}

.hero.is-theme-accent .subtitle {
    color: #fff
}

.hero.is-theme-info {
    background-color: #039BE5
}

.hero.is-theme-info .title {
    color: #fff
}

.hero.is-theme-info .subtitle {
    color: #fff
}

.hero.is-theme-success {
    background-color: #00b289
}

.hero.is-theme-success .title {
    color: #fff
}

.hero.is-theme-success .subtitle {
    color: #fff
}

.hero.is-theme-warning {
    background-color: #eda514
}

.hero.is-theme-warning .title {
    color: #fff
}

.hero.is-theme-warning .subtitle {
    color: #fff
}

.hero.is-theme-danger {
    background-color: #FF7273
}

.hero.is-theme-danger .title {
    color: #fff
}

.hero.is-theme-danger .subtitle {
    color: #fff
}

.hero.is-feature-grey {
    background-color: #fbfbfb
}

.hero.is-feature-grey .title {
    color: #444F60
}

.hero.is-feature-grey .subtitle {
    color: #444F60
}

.hero.is-light-grey {
    background-color: #EFF4F7;
    background-image: linear-gradient(141deg, #d0e0ec 0%, #f5f7fa 71%, white 100%)
}

.hero.is-light-grey .title.dark {
    color: #444F60
}

.hero.is-light-grey .title.theme {
    color: #4FC1EA
}

.hero.is-light-grey .subtitle {
    margin-top: 0 !important;
    padding-right: 20%;
    line-height: 1.6 !important
}

.hero.is-coal {
    background-color: #444
}

.hero.is-coal .title {
    color: #fff
}

.hero.is-coal .subtitle {
    color: #fff
}

.hero-body {
    background-size: cover !important;
    background-repeat: no-repeat !important
}

.hero-body .title.main-title {
    color: #fff;
    z-index: 999;
    font-size: 3.5rem
}

.hero-body .title.big-title {
    color: #444F60;
    z-index: 999;
    font-size: 4rem
}

.hero-body .title.page-title {
    font-size: 3.5rem
}

.hero-body .title.medium-title {
    font-size: 2.5rem
}

.hero-body .title.small-title {
    font-size: 2rem
}

.hero-body .subtitle.page-subtitle {
    font-size: 1.8rem
}

.hero-body .clients-small {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 0
}

.hero-body .clients-small img {
    height: 42px;
    margin: 0 5px
}

.hero-body .clients-small.centered {
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.hero-body.is-relative {
    position: relative
}

.hero-foot img.partner-logo {
    height: 70px !important
}

.parallax-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-color: #333;
    opacity: 0.4
}

/*! _footer.scss | Bulkit | CSS Ninja */
footer.footer-dark {
    background: #ffa500;
    color: #fff;
    position: relative
}

footer.footer-dark .columns {
    padding-top: 30px;
    padding-bottom: 30px
}

footer.footer-dark .footer-logo {
    padding: 10px 0
}

footer.footer-dark .footer-logo img {
    height: 25px
}

footer.footer-dark .footer-column .footer-header {
    padding: 10px 0
}

footer.footer-dark .footer-column .footer-header h3 {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0 !important;
    color: #EFF4F7
}

a.navbar-item:focus,
a.navbar-item:focus-within,
a.navbar-item:hover,
a.navbar-item.is-active,
.navbar-link:focus,
.navbar-link:focus-within,
.navbar-link:hover,
.navbar-link.is-active {
    background-color: #ffa500;
    color: #3273dc;
}

footer.footer-dark .footer-column ul.link-list {
    line-height: 30px;
    font-size: 1rem
}

footer.footer-dark .footer-column ul.link-list a {
    color: #ffffff;
    font-weight: 400;
    transition: all 0.5s
}

footer.footer-dark .footer-column ul.link-list :hover {
    color: #fcfcfc
}

footer.footer-dark .footer-column .level-item .icon {
    color: #4FC1EA;
    transition: all 0.5s
}

footer.footer-dark .footer-column .level-item .icon i {
    font-size: 20px
}

footer.footer-dark .footer-column .level-item .icon :hover {
    color: #fcfcfc
}

footer.footer-dark .footer-column .copyright {
    padding: 10px 0
}

footer.footer-light {
    background: #fff;
    color: #444F60;
    position: relative
}

footer.footer-light .columns {
    padding-top: 30px;
    padding-bottom: 30px
}

footer.footer-light .footer-logo {
    padding: 10px 0
}

footer.footer-light .footer-logo img {
    height: 25px
}

footer.footer-light .footer-column .footer-header {
    padding: 10px 0
}

footer.footer-light .footer-column .footer-header h3 {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0 !important;
    color: #444F60
}

footer.footer-light .footer-column ul.link-list {
    line-height: 30px;
    font-size: 1rem
}

footer.footer-light .footer-column ul.link-list a {
    color: #98a9c3;
    font-weight: 400;
    transition: all 0.5s
}

footer.footer-light .footer-column ul.link-list :hover {
    color: #4FC1EA
}

footer.footer-light .footer-column .level-item .icon {
    color: #999;
    transition: all 0.5s
}

footer.footer-light .footer-column .level-item .icon i {
    font-size: 20px
}

footer.footer-light .footer-column .level-item .icon :hover {
    color: #7F00FF
}

footer.footer-light .footer-column .copyright {
    padding: 10px 0
}

@media (max-width: 768px) {
    .footer-columns.is-flex-mobile {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important
    }
}

footer.footer-light-left {
    padding: 5rem 1.5rem !important
}

footer.footer-light-left .footer-nav-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

footer.footer-light-left .footer-nav-right .footer-nav-link {
    margin: 0 10px;
    padding: 20px 0;
    color: #444F60 !important;
    border-bottom: 2px solid transparent
}

footer.footer-light-left .footer-nav-right .footer-nav-link:hover {
    color: #999 !important;
    border-bottom: 2px solid #999
}

footer.footer-light-left .footer-nav-right .footer-nav-link.is-active {
    color: #4FC1EA !important;
    border-bottom: 2px solid #4FC1EA !important
}

footer.footer-light-left .level-item .icon {
    color: #cecece;
    transition: all 0.5s
}

footer.footer-light-left .level-item .icon :hover {
    color: #4FC1EA
}

footer.footer-light-left .moto {
    color: #999
}

@media (max-width: 768px) {
    .footer-nav-right {
        margin-top: 0 !important
    }
}

footer.footer-dark-left {
    padding: 5rem 1.5rem !important;
    background: #444F60
}

footer.footer-dark-left .footer-nav-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

footer.footer-dark-left .footer-nav-right .footer-nav-link {
    margin: 0 10px;
    padding: 20px 0;
    color: #fff !important;
    border-bottom: 2px solid transparent
}

footer.footer-dark-left .footer-nav-right .footer-nav-link:hover {
    color: #fcfcfc !important;
    border-bottom: 2px solid #fff
}

footer.footer-dark-left .footer-nav-right .footer-nav-link.is-active {
    color: #4FC1EA !important;
    border-bottom: 2px solid #4FC1EA !important
}

footer.footer-dark-left .level-item .icon {
    color: #fff;
    transition: all 0.5s
}

footer.footer-dark-left .level-item .icon :hover {
    color: #4FC1EA
}

footer.footer-dark-left .moto {
    color: #fff
}

footer.footer-light-medium {
    padding-bottom: 10rem !important;
    padding-top: 8rem !important;
    background: #fff
}

footer.footer-light-medium .social-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

footer.footer-light-medium .social-links a {
    color: #A9ABAC;
    margin: 0 5px
}

footer.footer-light-medium .social-links a:hover {
    color: #4FC1EA
}

footer.footer-light-medium .footer-description {
    color: #A9ABAC
}

footer.footer-light-medium .footer-column {
    padding-top: 20px
}

footer.footer-light-medium .footer-column .column-header {
    font-family: 'Nexa Light', sans-serif;
    text-transform: uppercase;
    color: #444F60;
    font-size: 1rem;
    font-weight: 700;
    margin: 10px 0
}

footer.footer-light-medium .footer-column .column-item {
    padding-bottom: 10px
}

footer.footer-light-medium .footer-column .column-item a {
    color: #A9ABAC
}

footer.footer-light-medium .footer-column .column-item a:hover {
    color: #4FC1EA
}

footer.footer-light-medium .moto {
    color: #999
}

footer.footer-light-medium .small-footer-logo {
    height: 28px
}

/*! _animations.scss | Bulkit | CSS Ninja */
.animated {
    animation-duration: 0.5s;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-fill-mode: both
}

@-webkit-keyframes translateLeft {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes translateLeft {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.translateLeft {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes translateDown {
    from {
        -webkit-transform: translate3d(0, -100px, 0);
        transform: translate3d(0, -100px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes translateDown {
    from {
        -webkit-transform: translate3d(0, -100px, 0);
        transform: translate3d(0, -100px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.translateDown {
    -webkit-animation-name: translateDown;
    animation-name: translateDown;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes translateUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes translateUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.translateUp {
    -webkit-animation-name: translateUp;
    animation-name: translateUp;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.fadeIn {
    opacity: 0;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn
}

@-webkit-keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInLeft {
    opacity: 0
}

.fadeInLeft {
    opacity: 0;
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

@-webkit-keyframes fadeInRight {
    from {
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInRight {
    from {
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInRight {
    opacity: 0
}

.fadeInRight {
    opacity: 0;
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

@-webkit-keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInUp {
    opacity: 0
}

.fadeInUp {
    opacity: 0;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@-webkit-keyframes fadeInDown {
    from {
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInDown {
    from {
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInDown {
    opacity: 0
}

.fadeInDown {
    opacity: 0;
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

@-webkit-keyframes fadeOutUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 0
    }
}

@keyframes fadeOutUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 0
    }
}

.preFadeOutUp {
    opacity: 1
}

.fadeOutUp {
    opacity: 1;
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp
}

@-webkit-keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }

    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

@keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }

    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

.levitate {
    -webkit-animation-name: levitate;
    animation-name: levitate;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
}

@-webkit-keyframes gelatine {

    from,
    to {
        -webkit-transform: scale(1, 1)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0.9)
    }

    75% {
        -webkit-transform: scale(0.95, 1.05)
    }
}

@keyframes gelatine {

    from,
    to {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1);
        transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0.9);
        transform: scale(1.1, 0.9)
    }

    75% {
        -webkit-transform: scale(0.95, 1.05);
        transform: scale(0.95, 1.05)
    }
}

.gelatine {
    -webkit-animation: gelatine 0.6s;
    animation: gelatine 0.6s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes unzoom {

    from,
    to {
        -webkit-transform: scale(1, 0)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0)
    }
}

@keyframes unzoom {

    from,
    to {
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1);
        transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0);
        transform: scale(1.1, 0)
    }
}

.unzoom {
    -webkit-animation: unzoom 0.7s;
    animation: unzoom 0.7s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes dotPulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1.8);
        transform: scale(1.8);
        opacity: 0
    }
}

@keyframes dotPulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1.8);
        transform: scale(1.8);
        opacity: 0
    }
}

@-webkit-keyframes entrance {
    from {
        -webkit-transform: scale(0)
    }

    25% {
        -webkit-transform: scale(1.05)
    }

    50% {
        -webkit-transform: scale(0.95)
    }

    75% {
        -webkit-transform: scale(1.05)
    }

    to {
        -webkit-transform: none
    }
}

@keyframes entrance {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    25% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }

    50% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95)
    }

    75% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }

    to {
        -webkit-transform: none;
        transform: none
    }
}

.entrance {
    -webkit-animation: entrance 0.8s;
    animation: entrance 0.8s
}

@-webkit-keyframes scaleIn {
    from {
        -webkit-transform: scale(0)
    }

    to {
        -webkit-transform: scale(1)
    }
}

@keyframes scaleIn {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.scaleIn {
    -webkit-animation: scaleIn 0.5s;
    animation: scaleIn 0.5s;
    -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1)
}

@-webkit-keyframes scaleInCircle {
    from {
        -webkit-transform: scale(0)
    }

    to {
        -webkit-transform: scale(7)
    }
}

@keyframes scaleInCircle {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    to {
        -webkit-transform: scale(7);
        transform: scale(7)
    }
}

.scaleInCircle {
    -webkit-animation: scaleInCircle 0.6s;
    animation: scaleInCircle 0.6s;
    -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1)
}

@-webkit-keyframes scaleOut {
    from {
        -webkit-transform: scale(1)
    }

    to {
        -webkit-transform: scale(0)
    }
}

@keyframes scaleOut {
    from {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

.scaleOut {
    -webkit-animation: scaleOut 0.6s;
    animation: scaleOut 0.6s
}

@-webkit-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.1, 0.1);
        opacity: 0.0
    }

    50% {
        opacity: 1.0
    }

    100% {
        -webkit-transform: scale(1.2, 1.2);
        opacity: 0.0
    }
}

.pulsate {
    -webkit-animation: pulsate 1s ease-out;
    animation: pulsate 1s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    opacity: 0.0
}

.delay-1 {
    -webkit-animation-delay: .25s;
    animation-delay: .25s
}

.delay-2 {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.delay-3 {
    -webkit-animation-delay: .75s;
    animation-delay: .75s
}

.delay-4 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.delay-5 {
    -webkit-animation-delay: 1.25s;
    animation-delay: 1.25s
}

.delay-6 {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s
}

.delay-7 {
    -webkit-animation-delay: 1.75s;
    animation-delay: 1.75s
}

.delay-8 {
    -webkit-animation-delay: 2.25s;
    animation-delay: 2.25s
}

.delay-9 {
    -webkit-animation-delay: 2.5s;
    animation-delay: 2.5s
}

.delay-10 {
    -webkit-animation-delay: 2.75s;
    animation-delay: 2.75s
}

.delay-11 {
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

/*! _navigation.scss | Bulkit | CSS Ninja */
.side-navigation-menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    background: #344258;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 300px;
    overflow: hidden;
    -webkit-transform: translateX(-301px);
    transform: translateX(-301px);
    transition: width .05s linear;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    z-index: 1000
}

.side-navigation-menu.is-active {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.side-navigation-menu .category-menu-wrapper {
    height: 100%;
    position: relative;
    width: 80px;
    background: #7F00FF
}

.side-navigation-menu .category-menu-wrapper ul.categories li {
    height: 60px
}

.side-navigation-menu .category-menu-wrapper ul.categories li.square-logo {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.side-navigation-menu .category-menu-wrapper ul.categories li.square-logo img {
    max-height: 28px
}

.side-navigation-menu .category-menu-wrapper ul.categories li.category-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer
}

.side-navigation-menu .category-menu-wrapper ul.categories li.category-link i {
    font-size: 20px;
    color: #fff
}

.side-navigation-menu .category-menu-wrapper ul.categories li.category-link:hover {
    background: #7200e6
}

.side-navigation-menu .category-menu-wrapper ul.categories li.is-active {
    background: #60c
}

.side-navigation-menu .category-menu-wrapper .author {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%
}

.side-navigation-menu .category-menu-wrapper .author li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

.side-navigation-menu .category-menu-wrapper .author a {
    position: relative;
    z-index: 4
}

.side-navigation-menu .category-menu-wrapper .author .main-menu-author {
    width: 48px;
    height: 48px;
    border-radius: 100px;
    margin: 0 auto;
    margin-bottom: 10px;
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s
}

.side-navigation-menu .category-menu-wrapper .author .main-menu-author:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.side-navigation-menu .navigation-menu-wrapper {
    height: 100%;
    width: 100%;
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper ul.navigation-menu {
    height: calc(100% - 60px);
    margin: 0;
    padding: 0;
    max-width: 400px;
    list-style: none;
    list-style-type: none;
    overflow: auto
}

.side-navigation-menu .navigation-menu-wrapper ul.navigation-menu::-webkit-scrollbar {
    width: 10px
}

.side-navigation-menu .navigation-menu-wrapper ul.navigation-menu::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.1)
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu-header {
    height: 60px;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 25px;
    text-transform: uppercase;
    font-weight: 300;
    color: #fcfcfc;
    letter-spacing: 3px;
    font-size: 92%
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu-header .menu-toggle .icon-box-toggle span i {
    background: #fff
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu-header .navigation-close {
    opacity: 0
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a span {
    margin-right: 20px;
    color: #fff;
    font-size: 22px
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a {
    padding: 18px 25px;
    display: block;
    text-decoration: none;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a.is-submenu {
    padding: 12px 25px
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a.parent-link {
    height: 60px !important;
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a.parent-link.has-new:before {
    content: '';
    position: absolute;
    top: 18px;
    left: 22px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #039BE5;
    -webkit-animation: pulsate 1s ease-out;
    animation: pulsate 1s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    opacity: 0.0
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a:hover {
    background: #3d4e68
}

.side-navigation-menu .navigation-menu-wrapper li.has-children.active-section a.parent-link {
    color: #a54dff !important
}

.side-navigation-menu .navigation-menu-wrapper li.has-children.active-section a.parent-link span,
.side-navigation-menu .navigation-menu-wrapper li.has-children.active-section a.parent-link span:after {
    color: #a54dff !important
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul {
    padding: 0px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu {
    background-color: #2b3648;
    padding-left: 62px !important;
    font-size: 95%
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu:hover,
.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.is-active {
    color: #7F00FF
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-feature {
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-feature:after {
    content: '2.0';
    position: absolute;
    color: #fff;
    background: #7F00FF;
    padding: 0;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    padding: 3px 6px;
    right: 20px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-feature.is-2_2:after {
    content: '2.2';
    background: #eda514
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-feature.is-2_3:after {
    content: '2.3';
    background: #eda514
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-feature.is-2_4:after {
    content: '2.4';
    background: #FF7273
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-update {
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-update:after {
    content: '2.1';
    position: absolute;
    color: #fff;
    background: #4FC1EA;
    padding: 0;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    padding: 3px 6px;
    right: 20px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-update.is-2_2:after {
    content: '2.2';
    background: #eda514
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-update.is-2_3:after {
    content: '2.3';
    background: #eda514
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-update.is-2_4:after {
    content: '2.4';
    background: #FF7273
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a:hover {
    color: #fff;
    padding-left: 42px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children,
.side-navigation-menu .navigation-menu-wrapper li {
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper .has-children span::after {
    position: absolute;
    right: 30px;
    content: "\E315";
    color: #fff;
    transition: all .5s;
    font-size: 90%;
    padding-top: 2px
}

.side-navigation-menu .navigation-menu-wrapper li.active.has-children span::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.side-navigation-menu .navigation-menu-wrapper li.active.has-children {
    background: #3d4e68
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu .has-children>ul {
    display: none
}

/*! _pageloader.scss | Bulkit | CSS Ninja */
.pageloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #4FC1EA;
    z-index: 999998;
    transition: -webkit-transform 0.35s ease-out;
    transition: transform 0.35s ease-out;
    transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    will-change: transform
}

.pageloader.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.pageloader::after,
.pageloader::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    border-radius: 100%;
    content: "";
    z-index: 999999
}

.pageloader::after {
    margin-top: -100px;
    margin-left: -100px;
    width: 200px;
    height: 200px;
    background-color: rgba(255, 255, 255, 0.5);
    border: 3px solid rgba(255, 255, 255, 0.75);
    -webkit-animation: page-loader-inner 1.5s infinite ease-out;
    animation: page-loader-inner 1.5s infinite ease-out
}

.pageloader::before {
    margin-top: -30px;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: page-loader-outer 1.5s infinite ease-in;
    animation: page-loader-outer 1.5s infinite ease-in
}

@-webkit-keyframes page-loader-inner {

    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@keyframes page-loader-inner {

    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@-webkit-keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

@keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

.infraloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff;
    z-index: -1;
    opacity: 0;
    transition: opacity .35s
}

.infraloader.is-active {
    opacity: 1;
    z-index: 999997
}

/*! _buttons.scss | Bulkit | CSS Ninja */
.button {
    transition: all 0.5s
}

.button.button-signup {
    padding: 22px 40px !important
}

.button.button-signup.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.button-cta {
    padding: 22px 40px !important
}

.button.button-cta.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.no-lh {
    line-height: 0 !important
}

.button.button-action {
    padding: 25px 40px !important
}

.button.btn-align {
    padding: 3px 13px 6px 13px
}

.button.btn-align-md {
    padding: 5px 15px 18px 15px
}

.button.btn-align-lg {
    padding: 6px 15px 18px 15px
}

.button.btn-upper {
    text-transform: uppercase
}

.button.rounded {
    border-radius: 500px
}

.button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important;
    opacity: 0.8
}

.button.is-raised {
    box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important
}

.button.btn-fade:hover {
    opacity: 0.6
}

.button.btn-outlined {
    background: transparent
}

.button.btn-outlined.light-btn {
    border-color: #fff;
    color: #fff
}

.button.btn-outlined.light-btn:hover {
    background-color: #fff;
    color: #444F60
}

.button.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.btn-padding {
    padding: 6px 13px 16px 13px !important
}

.button.default-btn {
    color: #cecece !important
}

.button.is-link {
    text-decoration: none !important
}

.button.has-icon-right i {
    padding-left: 8px
}

.button:focus {
    border-color: #ccc
}

.button i {
    position: relative;
    top: 1px;
    padding-right: 8px
}

.button.has-icon i {
    position: relative;
    margin-right: 5px;
    font-size: 1.7rem
}

.button.is-fullwidth {
    display: block !important;
    width: 100% !important;
    text-align: center !important
}

.button.btn-square {
    width: 45px;
    height: 45px;
    text-align: center !important;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.button.btn-square.is-small {
    width: 36px;
    height: 36px
}

.button.btn-square.is-medium {
    width: 55px;
    height: 55px
}

.button.btn-square.is-large {
    width: 64px;
    height: 64px
}

.button.btn-square i {
    font-size: 21px;
    padding: 0 !important
}

.button.btn-square.is-small i {
    font-size: 18px
}

.button.btn-square.is-medium i {
    font-size: 28px
}

.button.btn-square.is-large i {
    font-size: 32px
}

.button.is-link {
    background: transparent !important
}

.button.is-link.btn-more {
    text-decoration: none !important
}

.button.is-link.color-primary i {
    font-size: 9px;
    margin-left: 10px;
    position: relative;
    top: 2px;
    color: #4FC1EA !important;
    transition: all 0.5s
}

.button.is-link:hover {
    background: #f5f5f5 !important
}

.button.is-link:hover i {
    -webkit-transform: translate(10px, 0);
    transform: translate(10px, 0)
}

.button.primary-btn {
    outline: none;
    border-color: #ffa500;
    background-color: #ffa500;
    color: #fff;
    transition: all 0.5s;
}

.button.primary-btn:hover {
    color: #fff
}

.button.primary-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important;
    opacity: 0.9 0.5
}

.button.primary-btn.btn-outlined {
    border-color: #4FC1EA;
    color: #4FC1EA;
    background-color: transparent
}

.button.primary-btn.btn-outlined:hover {
    color: #fff;
    background-color: #4FC1EA
}

.button.primary-btn:focus {
    border-color: #4FC1EA
}

.button.secondary-btn {
    outline: none;
    border-color: #7F00FF;
    background-color: #7F00FF;
    color: #fff;
    transition: all 0.5s
}

.button.secondary-btn:hover {
    color: #fff
}

.button.secondary-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important;
    opacity: 0.95
}

.button.secondary-btn.btn-outlined {
    border-color: #7F00FF;
    color: #7F00FF;
    background-color: transparent
}

.button.secondary-btn.btn-outlined:hover {
    color: #fff;
    background-color: #7F00FF
}

.button.secondary-btn:focus {
    border-color: #7F00FF
}

.button.accent-btn {
    outline: none;
    border-color: #7F00FF;
    background-color: #7F00FF;
    color: #fff;
    transition: all 0.5s
}

.button.accent-btn:hover {
    color: #fff
}

.button.accent-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important;
    opacity: 0.8
}

.button.accent-btn.btn-outlined {
    border-color: #7F00FF;
    color: #7F00FF;
    background-color: transparent
}

.button.accent-btn.btn-outlined:hover {
    color: #fff;
    background-color: #7F00FF
}

.button.accent-btn:focus {
    border-color: #7F00FF
}

.button.success-btn {
    outline: none;
    border-color: #000000;
    background-color: #000000;
    color: #fff;
    transition: all 0.5s
}

.button.success-btn:hover {
    color: #fff
}

.button.success-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important;
    opacity: 0.8
}

.button.success-btn.btn-outlined {
    border-color: #00b289;
    color: #00b289;
    background-color: transparent
}

.button.success-btn.btn-outlined:hover {
    color: #fff;
    background-color: #00b289
}

.button.success-btn:focus {
    border-color: #00b289
}

.button.warning-btn {
    outline: none;
    border-color: #eda514;
    background-color: #eda514;
    color: #fff;
    transition: all 0.5s
}

.button.warning-btn:hover {
    color: #fff
}

.button.warning-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important;
    opacity: 0.8
}

.button.warning-btn.btn-outlined {
    border-color: #eda514;
    color: #eda514;
    background-color: transparent
}

.button.warning-btn.btn-outlined:hover {
    color: #fff;
    background-color: #eda514
}

.button.warning-btn:focus {
    border-color: #eda514
}

.button.danger-btn {
    outline: none;
    border-color: #FF7273;
    background-color: #FF7273;
    color: #fff;
    transition: all 0.5s
}

.button.danger-btn:hover {
    color: #fff
}

.button.danger-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important;
    opacity: 0.8
}

.button.danger-btn.btn-outlined {
    border-color: #FF7273;
    color: #FF7273;
    background-color: transparent
}

.button.danger-btn.btn-outlined:hover {
    color: #fff;
    background-color: #FF7273
}

.button.danger-btn:focus {
    border-color: #FF7273
}

.button.info-btn {
    outline: none;
    border-color: #039BE5;
    background-color: #039BE5;
    color: #fff;
    transition: all 0.5s
}

.button.info-btn:hover {
    color: #fff
}

.button.info-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important;
    opacity: 0.8
}

.button.info-btn.btn-outlined {
    border-color: #039BE5;
    color: #039BE5;
    background-color: transparent
}

.button.info-btn.btn-outlined:hover {
    color: #fff;
    background-color: #039BE5
}

.button.info-btn:focus {
    border-color: #039BE5
}

.button.social-btn {
    color: #fff
}

.button.social-btn.facebook {
    background-color: #3B5998
}

.button.social-btn.twitter {
    background-color: #1dcaff
}

.button.social-btn.linkedin {
    background-color: #007bb6
}

.button.social-btn.tumblr {
    background-color: #35465c
}

.button.social-btn.github {
    background-color: #444
}

.ripple {
    overflow: hidden
}

.ripple-effect {
    position: absolute;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    background: white;
    -webkit-animation: ripple-animation 2s;
    animation: ripple-animation 2s
}

@-webkit-keyframes ripple-animation {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0.4
    }

    to {
        -webkit-transform: scale(100);
        transform: scale(100);
        opacity: 0
    }
}

@keyframes ripple-animation {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0.4
    }

    to {
        -webkit-transform: scale(100);
        transform: scale(100);
        opacity: 0
    }
}

/*! _cards.scss | Bulkit | CSS Ninja */
.feature-card {
    width: 300px;
    height: 320px;
    background-color: #fff;
    border-radius: 3px;
    margin: 0 auto;
    transition: all 0.6s
}

.feature-card.card-md {
    height: 350px
}

.feature-card.card-lg {
    height: 400px
}

.feature-card.card-shadow {
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.feature-card.hover-inset:hover {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px;
    cursor: pointer
}

.feature-card.light-bordered {
    border: 1px solid #e5e5e5 !important
}

.feature-card .card-title h4 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #444F60
}

.feature-card .card-icon img {
    height: 140px;
    margin-top: 20px
}

.feature-card .card-img img {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px
}

.feature-card .card-action {
    margin-top: 40px
}

.feature-card .card-feature-description {
    padding: 5px 30px !important
}

.feature-card .card-feature-description span {
    color: #878787;
    margin-top: 20px
}

.feature-card .card-img-description {
    padding-bottom: 10px
}

.feature-card .card-img-description span {
    color: #878787;
    margin-top: 20px
}

.feature-card .bookmark i {
    font-size: 1.4rem;
    color: #A9ABAC;
    position: relative;
    top: 3px;
    margin-right: 10px
}

.feature-card .bookmark i:hover {
    color: #7F00FF
}

.flex-card {
    position: relative;
    background-color: #fff;
    border: 1px solid #fcfcfc;
    border-radius: 0.1875rem;
    display: inline-block;
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
    transition: all 0.5s
}

.flex-card .flex-card-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    border-bottom: 1px solid #ededed;
    padding: 10px 15px
}

.flex-card .flex-card-header .header-avatar {
    max-height: 45px
}

.flex-card .flex-card-header .header-avatar img {
    height: 45px;
    border-radius: 100px
}

.flex-card .flex-card-header .header-info {
    margin: 0 10px
}

.flex-card .flex-card-header .header-info .header-title {
    font-size: 1.2rem
}

.flex-card .flex-card-header .header-info .header-subtitle {
    font-size: 0.9rem;
    color: #A9ABAC
}

.flex-card .flex-card-header .header-control {
    margin-right: 10px
}

.flex-card .flex-card-header .header-control i {
    font-size: 0.8rem;
    color: #A9ABAC
}

.flex-card .flex-card-header .header-control:hover i {
    color: #4FC1EA
}

.flex-card .flex-card-header.primary {
    background: #4FC1EA
}

.flex-card .flex-card-header.primary .header-info div,
.flex-card .flex-card-header.primary .header-control i {
    color: #fff !important
}

.flex-card .flex-card-header.secondary {
    background: #7F00FF
}

.flex-card .flex-card-header.secondary .header-info div,
.flex-card .flex-card-header.secondary .header-control i {
    color: #fff !important
}

.flex-card .flex-card-header.accent {
    background: #7F00FF
}

.flex-card .flex-card-header.accent .header-info div,
.flex-card .flex-card-header.accent .header-control i {
    color: #fff !important
}

.flex-card .card-body {
    padding: 30px 30px
}

.flex-card .card-body.is-small {
    padding: 20px 20px
}

.flex-card .card-body.is-large {
    padding: 40px 40px
}

.flex-card h3.card-title {
    margin-bottom: 10px;
    margin-top: 10px;
    font-size: 22px;
    line-height: 30px;
    text-decoration: none
}

.flex-card .card-description {
    line-height: 24px;
    cursor: default;
    color: #777;
    font-size: 16px
}

.flex-card.primary-card {
    background: #4FC1EA
}

.flex-card.primary-card .content,
.flex-card.primary-card .content h2 {
    color: #fff !important
}

.flex-card.secondary-card {
    background: #7F00FF
}

.flex-card.secondary-card .content,
.flex-card.secondary-card .content h2 {
    color: #fff !important
}

.flex-card.accent-card {
    background: #7F00FF
}

.flex-card.accent-card .content,
.flex-card.accent-card .content h2 {
    color: #fff !important
}

.flex-card.card-overflow {
    overflow: visible !important
}

.flex-card.light-bordered {
    border: 1px solid #e5e5e5 !important
}

.flex-card.simple-shadow {
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.flex-card.light-raised {
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04)
}

.flex-card.raised {
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flex-card.hover-raised:hover {
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2);
    cursor: pointer
}

.flex-card.hover-inset:hover {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px;
    cursor: pointer
}

.flex-card .tabs {
    padding: 15px 0.7rem
}

.flex-card .navtab-content {
    min-height: 190px
}

.flex-card .navtab-content p {
    padding: 0 0.8rem 20px
}

.flex-card.icon-card {
    box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.1);
    transition: inherit;
    margin-bottom: 0
}

.flex-card.icon-card img {
    max-height: 80px
}

.flex-card.icon-card .icon-card-text {
    font-size: 1.1rem;
    color: #A9ABAC
}

.flex-card.icon-card-hover {
    height: 170px;
    padding: 20px 20px 10px 130px;
    border-radius: 8px;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.04);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    text-align: left;
    background-color: #fff
}

.flex-card.icon-card-hover:hover {
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.1);
    -webkit-transform: translate(0, -10px);
    transform: translate(0, -10px)
}

.flex-card.icon-card-hover.first-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/chrono.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.first-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/chrono.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.icon-card-hover.second-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/tablet-dots.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.second-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/tablet-dots.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.icon-card-hover.third-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/cog.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.third-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/cog.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.icon-card-hover.fourth-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/plane.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.fourth-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/plane.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.testimonial-card .testimonial-title {
    color: #4FC1EA;
    font-weight: 500;
    padding: 5px 0
}

.flex-card.testimonial-card .testimonial-text {
    color: #999;
    font-size: 0.9rem;
    font-style: italic;
    padding: 5px 0
}

.flex-card.testimonial-card .user-id {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 0
}

.flex-card.testimonial-card .user-id img {
    height: 50px;
    border-radius: 100px
}

.flex-card.testimonial-card .user-id .info {
    padding: 0 10px
}

.flex-card.testimonial-card .user-id .info .name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #444F60
}

.flex-card.testimonial-card .user-id .info .position {
    font-size: 0.9rem;
    color: #cecece
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header.primary {
    background-color: #4FC1EA
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header.secondary {
    background-color: #7F00FF
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header.accent {
    background-color: #7F00FF
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header ul li a {
    color: #f2f2f2
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header ul li.is-active a {
    color: #fff;
    border: 1px solid #fff;
    border-bottom-color: #fff !important
}

.flex-card .icon-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.flex-card .icon-group img {
    height: 60px
}

.flex-card .icon-group span {
    font-size: 20px;
    margin-left: 20px;
    color: #999;
    transition: all 0.5s
}

.flex-card .icon-group span:hover {
    -webkit-transform: translate(10px, 0);
    transform: translate(10px, 0)
}

.flex-card.auth-card {
    padding: 0px 40px 20px 40px
}

.flex-card.auth-card .auth-card-header {
    height: 5rem;
    width: 100%;
    position: relative;
    top: -2.5rem;
    left: auto !important;
    right: auto !important;
    border-radius: 4px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.flex-card.auth-card .auth-card-header img {
    max-height: 30px
}

.flex-card.auth-card .auth-card-header.header-primary {
    background-color: #4FC1EA;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.flex-card.auth-card .auth-card-header.header-secondary {
    background-color: #7F00FF;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.flex-card.auth-card .auth-card-header.header-accent {
    background-color: #7F00FF;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.flex-card .card-content {
    position: relative;
    padding: 1rem !important
}

.flex-card .card-content .bottom-avatar img {
    height: 50px;
    border-radius: 100px;
    position: absolute;
    right: 0;
    bottom: 0
}

.floating-circle {
    width: 100px;
    height: 100px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 22px;
    border-radius: 50px;
    background-color: #fff;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.floating-circle img {
    width: 60px;
    position: relative;
    left: 20px
}

.event-card {
    overflow: hidden;
    width: 100%;
    height: 320px;
    display: inline-block;
    position: relative;
    background-color: #fff;
    transition: box-shadow 300ms ease-in;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border: 1px solid #ededed
}

.event-card:hover {
    box-shadow: 1px 1px 8px 2px rgba(0, 0, 0, 0.1)
}

.event-card .card-date {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #7F00FF;
    z-index: 1
}

.event-card .card-date .date {
    padding: 0 10px
}

.event-card .card-date .date .day {
    font-size: 2.7rem;
    color: #fff;
    font-weight: bold
}

.event-card .card-date .date .month {
    font-weight: 500;
    color: #fff
}

.img-container {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0
}

.img-container img {
    height: 100%;
    width: 100%;
    object-fit: cover
}

.card-text {
    bottom: -40%;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    transition: all 450ms cubic-bezier(0.6, 0.06, 0.34, 0.61)
}

@media (max-width: 768px) {
    .card-text {
        bottom: -71%
    }
}

@media (min-width: 768px) {
    .card-text {
        bottom: -55%
    }
}

@media (min-width: 1024px) {
    .card-text {
        bottom: -64%
    }
}

@media (min-width: 1420px) {
    .card-text {
        bottom: -70%
    }
}

.card-text.is-clicked,
.event-card:hover .card-text {
    bottom: 0%
}

.card-text .button.is-link i {
    font-size: 10px !important;
    transition: all 0.5s !important;
    margin-left: 20px;
    top: 2px
}

.card-text .text.text-container {
    padding: 20px 30px
}

.card-text .text.text-container .text-header .text-subtitle {
    color: #7F00FF;
    font-family: 'Nexa Light', sans-serif
}

.card-text .text.text-title {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 1.15em;
    margin-bottom: .25em;
    font-weight: bold;
    text-transform: uppercase
}

.card-text .text.text-details:before {
    content: "";
    display: block;
    width: 30%;
    height: 1px;
    background-color: #ddd;
    margin: 30px 0
}

.card-text .text.text-description {
    line-height: 1.4em
}

.card-text .text.text-link {
    text-decoration: none;
    margin-top: 1em;
    display: inline-block;
    color: #7F00FF
}

.card-text .text.text-link:hover {
    color: #b266ff
}

.card.card-shadow {
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.card .image {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px
}

.card img {
    display: block
}

.card.ressource-card {
    position: relative
}

.card.ressource-card .ressource-avatar img {
    position: absolute;
    top: 15px;
    right: 15px;
    height: 60px;
    width: 60px;
    border-radius: 1000px
}

.card.ressource-card .card-image {
    position: relative
}

.card.ressource-card .card-image figure {
    overflow: hidden
}

.card.ressource-card .card-image figure.zoomOut img {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    transition: .3s ease-in-out
}

.card.ressource-card .card-image figure.zoomIn img {
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: .3s ease-in-out
}

.card.ressource-card .card-image .card-image-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(68, 79, 96, 0.6);
    z-index: 1
}

.card.ressource-card .card-image .card-image-overlay.primary {
    background: #4FC1EA;
    opacity: 0.6
}

.card.ressource-card .card-image .card-image-overlay.secondary {
    background: #7F00FF;
    opacity: 0.6
}

.card.ressource-card .card-image .card-image-overlay.accent {
    background: #7F00FF;
    opacity: 0.6
}

.card.ressource-card .card-content .media-content a {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 16px;
    color: #444F60
}

.card.ressource-card .card-content .media-content a:hover {
    color: #4FC1EA
}

.card.ressource-card .card-content .media-content p {
    font-family: 'Nexa Light';
    font-weight: 700;
    color: #999
}

.card.ressource-card .avatar-rounded img {
    border-radius: 50px !important
}

.card.ressource-card:hover .card-image figure.zoomOut img {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.8
}

.card.ressource-card:hover .card-image figure.zoomIn img {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0.8
}

.card.card-floating-wide,
.card.card-floating-boxed {
    margin: 4%;
    border-radius: 6px
}

.card.card-floating-wide .title,
.card.card-floating-boxed .title {
    margin: 0 !important;
    padding: 10px 0
}

.card.card-floating-wide .subtitle,
.card.card-floating-boxed .subtitle {
    font-size: 0.9rem;
    color: #A9ABAC;
    margin: 0 !important
}

.card.card-floating-wide .card-image figure img {
    display: block;
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
    border-radius: 6px;
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}

.card.card-floating-boxed .title {
    margin-top: -10%
}

.card.card-floating-boxed .card-image figure img {
    display: block;
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
    border-radius: 6px;
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    margin-top: -10%
}

.card.card-floating-boxed .card-content {
    margin-top: -50px
}

.media-card {
    min-height: 260px
}

.media-card .media-card-image {
    height: 100% !important;
    min-height: 260px;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.media-card .mcard-content {
    padding: 20px
}

.media-card .mcard-content .mcard-title {
    line-height: 1.2 !important;
    font-size: 20px !important;
    font-weight: 600;
    color: #444F60
}

.media-card .mcard-content .mcard-title a {
    color: #444F60
}

.media-card .mcard-content .mcard-description {
    line-height: 1.4 !important;
    max-height: 4.2em !important;
    margin-top: 7px;
    color: #999
}

.media-card .mcard-controls {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px;
    position: absolute;
    bottom: 0 !important;
    width: 100%
}

.media-card .mcard-controls .mcard-avatar img {
    height: 40px;
    width: 40px;
    border-radius: 250px
}

.media-card .mcard-controls .mcard-info {
    margin-left: 15px
}

.media-card .mcard-controls .mcard-info span {
    font-size: 14px;
    line-height: 1.4
}

.media-card .mcard-controls .mcard-info div span {
    font-size: 12px;
    line-height: 1.2;
    color: #A9ABAC
}

.media-card .mcard-controls .mcard-info div i {
    font-size: 4px;
    position: relative;
    color: #999;
    top: -2px;
    margin: 0 5px
}

.media-card .mcard-controls .mcard-actions i {
    position: relative;
    top: 5px;
    color: #A9ABAC;
    cursor: pointer
}

.media-card .mcard-controls .mcard-actions i:hover {
    color: #7F00FF
}

.media-card .content-column {
    position: relative
}

/*! _boxes.scss | Bulkit | CSS Ninja */
.icon-box .box-icon {
    color: #cecece;
    font-size: 2.8rem;
    margin-bottom: 1rem
}

.icon-box .box-title {
    color: #444F60;
    margin-bottom: 10px;
    font-weight: 500
}

.icon-box .box-text {
    color: #A9ABAC;
    font-size: 13px
}

.icon-box.primary .box-icon {
    color: #4FC1EA
}

.icon-box.primary .box-title {
    color: #4FC1EA
}

.icon-box.secondary .box-icon {
    color: #7F00FF
}

.icon-box.secondary .box-title {
    color: #7F00FF
}

.icon-box.accent .box-icon {
    color: #7F00FF
}

.icon-box.accent .box-title {
    color: #7F00FF
}

.icon-box.info .box-icon {
    color: #039BE5
}

.icon-box.info .box-title {
    color: #039BE5
}

.icon-box.success .box-icon {
    color: #00b289
}

.icon-box.success .box-title {
    color: #00b289
}

.icon-box.warning .box-icon {
    color: #eda514
}

.icon-box.warning .box-title {
    color: #eda514
}

.icon-box.danger .box-icon {
    color: #FF7273
}

.icon-box.danger .box-title {
    color: #FF7273
}

.icon-box.compact .box-icon {
    color: #fff;
    font-size: 3rem;
    font-weight: bolder;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.icon-box.compact .box-icon i {
    padding: 1.4rem;
    background: #7F00FF;
    border-radius: 5px
}

.icon-box.compact .box-text {
    padding: 0 40px 0 40px
}

.diamond-box {
    text-align: center
}

.diamond-box .diamond-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.diamond-box .diamond {
    width: 60px;
    height: 60px;
    background-color: #999;
    position: relative;
    border-radius: 4px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-bottom: 1.5rem
}

.diamond-box .diamond i {
    font-size: 36px;
    position: absolute;
    color: #fff;
    left: 11px;
    top: 10px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.diamond-box .box-title {
    color: #444F60;
    margin-bottom: 10px;
    font-weight: 500
}

.diamond-box .box-text {
    color: #A9ABAC;
    font-size: 13px
}

.diamond-box.primary .diamond {
    background-color: #4FC1EA;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.diamond-box.primary .box-title {
    color: #4FC1EA
}

.diamond-box.secondary .diamond {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.diamond-box.secondary .box-title {
    color: #7F00FF
}

.diamond-box.accent .diamond {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.diamond-box.accent .box-title {
    color: #7F00FF
}

.diamond-box.info .diamond {
    background-color: #039BE5;
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important
}

.diamond-box.info .box-title {
    color: #039BE5
}

.diamond-box.success .diamond {
    background-color: #00b289;
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important
}

.diamond-box.success .box-title {
    color: #00b289
}

.diamond-box.warning .diamond {
    background-color: #eda514;
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important
}

.diamond-box.warning .box-title {
    color: #eda514
}

.diamond-box.danger .diamond {
    background-color: #FF7273;
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important
}

.diamond-box.danger .box-title {
    color: #FF7273
}

.square-icon-box {
    text-align: center
}

.square-icon-box:hover .icon-box-wrapper .icon-box:after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.square-icon-box.rounded .icon-box {
    border-radius: 100px !important
}

.square-icon-box.rounded .icon-box:after {
    border-radius: 100px !important
}

.square-icon-box .icon-box-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px
}

.square-icon-box .icon-box-wrapper .icon-box {
    width: 60px;
    height: 60px;
    background-color: #999;
    position: relative;
    border-radius: 4px;
    cursor: pointer
}

.square-icon-box .icon-box-wrapper .icon-box i {
    font-size: 28px;
    position: absolute;
    color: #fff;
    left: 16px;
    top: 16px
}

.square-icon-box .icon-box-wrapper .icon-box:after {
    width: 76px;
    height: 76px;
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: -8px;
    left: -8px;
    opacity: 0.8;
    border-radius: 4px;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    transition: all 0.3s
}

.square-icon-box .box-title {
    color: #444F60;
    padding: 5px;
    font-weight: 500
}

.square-icon-box .box-text {
    color: #A9ABAC;
    padding: 0 10px;
    font-size: 13px
}

.square-icon-box.primary .icon-box {
    background-color: #4FC1EA;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.square-icon-box.primary .icon-box:after {
    border: 2px solid #4FC1EA
}

.square-icon-box.primary .box-title {
    color: #4FC1EA
}

.square-icon-box.secondary .icon-box {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.square-icon-box.secondary .icon-box:after {
    border: 2px solid #7F00FF
}

.square-icon-box.secondary .box-title {
    color: #7F00FF
}

.square-icon-box.accent .icon-box {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.square-icon-box.accent .icon-box:after {
    border: 2px solid #7F00FF
}

.square-icon-box.accent .box-title {
    color: #7F00FF
}

.square-icon-box.info .icon-box {
    background-color: #039BE5;
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important
}

.square-icon-box.info .icon-box:after {
    border: 2px solid #039BE5
}

.square-icon-box.info .box-title {
    color: #039BE5
}

.square-icon-box.success .icon-box {
    background-color: #00b289;
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important
}

.square-icon-box.success .icon-box:after {
    border: 2px solid #00b289
}

.square-icon-box.success .box-title {
    color: #00b289
}

.square-icon-box.warning .icon-box {
    background-color: #eda514;
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important
}

.square-icon-box.warning .icon-box:after {
    border: 2px solid #eda514
}

.square-icon-box.warning .box-title {
    color: #eda514
}

.square-icon-box.danger .icon-box {
    background-color: #FF7273;
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important
}

.square-icon-box.danger .icon-box:after {
    border: 2px solid #FF7273
}

.square-icon-box.danger .box-title {
    color: #FF7273
}

.shadow-icon-box span {
    display: block;
    position: absolute;
    height: 75px;
    width: 75px;
    color: #fff;
    text-shadow: #19a2d3 1px 1px, #19a2d3 2px 2px, #19a2d3 3px 3px, #19a2d3 4px 4px, #19a2d3 5px 5px, #19a2d3 6px 6px, #19a2d3 7px 7px, #19a2d3 8px 8px, #19a2d3 9px 9px, #19a2d3 10px 10px, #19a2d3 11px 11px, #19a2d3 12px 12px, #19a2d3 13px 13px, #19a2d3 14px 14px, #19a2d3 15px 15px, #19a2d3 16px 16px, #19a2d3 17px 17px, #19a2d3 18px 18px, #19a2d3 19px 19px, #19a2d3 20px 20px, #19a2d3 21px 21px, #19a2d3 22px 22px, #19a2d3 23px 23px, #19a2d3 24px 24px, #19a2d3 25px 25px, #19a2d3 26px 26px, #19a2d3 27px 27px, #19a2d3 28px 28px, #19a2d3 29px 29px, #19a2d3 30px 30px, #19a2d3 31px 31px, #19a2d3 32px 32px, #19a2d3 33px 33px, #19a2d3 34px 34px, #19a2d3 35px 35px, #19a2d3 36px 36px, #19a2d3 37px 37px, #19a2d3 38px 38px, #19a2d3 39px 39px, #19a2d3 40px 40px, #19a2d3 41px 41px, #19a2d3 42px 42px, #19a2d3 43px 43px, #19a2d3 44px 44px, #19a2d3 45px 45px, #19a2d3 46px 46px, #19a2d3 47px 47px, #19a2d3 48px 48px, #19a2d3 49px 49px, #19a2d3 50px 50px, #19a2d3 51px 51px, #19a2d3 52px 52px, #19a2d3 53px 53px, #19a2d3 54px 54px, #19a2d3 55px 55px, #19a2d3 56px 56px, #19a2d3 57px 57px, #19a2d3 58px 58px, #19a2d3 59px 59px, #19a2d3 60px 60px, #19a2d3 61px 61px, #19a2d3 62px 62px, #19a2d3 63px 63px, #19a2d3 64px 64px, #19a2d3 65px 65px, #19a2d3 66px 66px, #19a2d3 67px 67px, #19a2d3 68px 68px, #19a2d3 69px 69px, #19a2d3 70px 70px, #19a2d3 71px 71px, #19a2d3 72px 72px, #19a2d3 73px 73px, #19a2d3 74px 74px, #19a2d3 75px 75px
}

.shadow-icon-box {
    position: relative;
    text-align: center;
    overflow: hidden;
    margin: 0 auto;
    width: 75px;
    height: 75px;
    font-size: 25px;
    line-height: 75px;
    background-color: #4FC1EA;
    border-radius: 10px;
    -ms-box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.shadow-icon-box.rounded {
    border-radius: 100px
}

.shadow-icon-box.is-secondary {
    background-color: #7F00FF;
    -ms-box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.shadow-icon-box.is-secondary span {
    text-shadow: #5900b3 1px 1px, #5900b3 2px 2px, #5900b3 3px 3px, #5900b3 4px 4px, #5900b3 5px 5px, #5900b3 6px 6px, #5900b3 7px 7px, #5900b3 8px 8px, #5900b3 9px 9px, #5900b3 10px 10px, #5900b3 11px 11px, #5900b3 12px 12px, #5900b3 13px 13px, #5900b3 14px 14px, #5900b3 15px 15px, #5900b3 16px 16px, #5900b3 17px 17px, #5900b3 18px 18px, #5900b3 19px 19px, #5900b3 20px 20px, #5900b3 21px 21px, #5900b3 22px 22px, #5900b3 23px 23px, #5900b3 24px 24px, #5900b3 25px 25px, #5900b3 26px 26px, #5900b3 27px 27px, #5900b3 28px 28px, #5900b3 29px 29px, #5900b3 30px 30px, #5900b3 31px 31px, #5900b3 32px 32px, #5900b3 33px 33px, #5900b3 34px 34px, #5900b3 35px 35px, #5900b3 36px 36px, #5900b3 37px 37px, #5900b3 38px 38px, #5900b3 39px 39px, #5900b3 40px 40px, #5900b3 41px 41px, #5900b3 42px 42px, #5900b3 43px 43px, #5900b3 44px 44px, #5900b3 45px 45px, #5900b3 46px 46px, #5900b3 47px 47px, #5900b3 48px 48px, #5900b3 49px 49px, #5900b3 50px 50px, #5900b3 51px 51px, #5900b3 52px 52px, #5900b3 53px 53px, #5900b3 54px 54px, #5900b3 55px 55px, #5900b3 56px 56px, #5900b3 57px 57px, #5900b3 58px 58px, #5900b3 59px 59px, #5900b3 60px 60px, #5900b3 61px 61px, #5900b3 62px 62px, #5900b3 63px 63px, #5900b3 64px 64px, #5900b3 65px 65px, #5900b3 66px 66px, #5900b3 67px 67px, #5900b3 68px 68px, #5900b3 69px 69px, #5900b3 70px 70px, #5900b3 71px 71px, #5900b3 72px 72px, #5900b3 73px 73px, #5900b3 74px 74px, #5900b3 75px 75px
}

.shadow-icon-box.is-accent {
    background-color: #7F00FF;
    -ms-box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.shadow-icon-box.is-accent span {
    text-shadow: #5900b3 1px 1px, #5900b3 2px 2px, #5900b3 3px 3px, #5900b3 4px 4px, #5900b3 5px 5px, #5900b3 6px 6px, #5900b3 7px 7px, #5900b3 8px 8px, #5900b3 9px 9px, #5900b3 10px 10px, #5900b3 11px 11px, #5900b3 12px 12px, #5900b3 13px 13px, #5900b3 14px 14px, #5900b3 15px 15px, #5900b3 16px 16px, #5900b3 17px 17px, #5900b3 18px 18px, #5900b3 19px 19px, #5900b3 20px 20px, #5900b3 21px 21px, #5900b3 22px 22px, #5900b3 23px 23px, #5900b3 24px 24px, #5900b3 25px 25px, #5900b3 26px 26px, #5900b3 27px 27px, #5900b3 28px 28px, #5900b3 29px 29px, #5900b3 30px 30px, #5900b3 31px 31px, #5900b3 32px 32px, #5900b3 33px 33px, #5900b3 34px 34px, #5900b3 35px 35px, #5900b3 36px 36px, #5900b3 37px 37px, #5900b3 38px 38px, #5900b3 39px 39px, #5900b3 40px 40px, #5900b3 41px 41px, #5900b3 42px 42px, #5900b3 43px 43px, #5900b3 44px 44px, #5900b3 45px 45px, #5900b3 46px 46px, #5900b3 47px 47px, #5900b3 48px 48px, #5900b3 49px 49px, #5900b3 50px 50px, #5900b3 51px 51px, #5900b3 52px 52px, #5900b3 53px 53px, #5900b3 54px 54px, #5900b3 55px 55px, #5900b3 56px 56px, #5900b3 57px 57px, #5900b3 58px 58px, #5900b3 59px 59px, #5900b3 60px 60px, #5900b3 61px 61px, #5900b3 62px 62px, #5900b3 63px 63px, #5900b3 64px 64px, #5900b3 65px 65px, #5900b3 66px 66px, #5900b3 67px 67px, #5900b3 68px 68px, #5900b3 69px 69px, #5900b3 70px 70px, #5900b3 71px 71px, #5900b3 72px 72px, #5900b3 73px 73px, #5900b3 74px 74px, #5900b3 75px 75px
}

.shadow-icon-box.is-info {
    background-color: #039BE5;
    -ms-box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important
}

.shadow-icon-box.is-info span {
    text-shadow: #026899 1px 1px, #026899 2px 2px, #026899 3px 3px, #026899 4px 4px, #026899 5px 5px, #026899 6px 6px, #026899 7px 7px, #026899 8px 8px, #026899 9px 9px, #026899 10px 10px, #026899 11px 11px, #026899 12px 12px, #026899 13px 13px, #026899 14px 14px, #026899 15px 15px, #026899 16px 16px, #026899 17px 17px, #026899 18px 18px, #026899 19px 19px, #026899 20px 20px, #026899 21px 21px, #026899 22px 22px, #026899 23px 23px, #026899 24px 24px, #026899 25px 25px, #026899 26px 26px, #026899 27px 27px, #026899 28px 28px, #026899 29px 29px, #026899 30px 30px, #026899 31px 31px, #026899 32px 32px, #026899 33px 33px, #026899 34px 34px, #026899 35px 35px, #026899 36px 36px, #026899 37px 37px, #026899 38px 38px, #026899 39px 39px, #026899 40px 40px, #026899 41px 41px, #026899 42px 42px, #026899 43px 43px, #026899 44px 44px, #026899 45px 45px, #026899 46px 46px, #026899 47px 47px, #026899 48px 48px, #026899 49px 49px, #026899 50px 50px, #026899 51px 51px, #026899 52px 52px, #026899 53px 53px, #026899 54px 54px, #026899 55px 55px, #026899 56px 56px, #026899 57px 57px, #026899 58px 58px, #026899 59px 59px, #026899 60px 60px, #026899 61px 61px, #026899 62px 62px, #026899 63px 63px, #026899 64px 64px, #026899 65px 65px, #026899 66px 66px, #026899 67px 67px, #026899 68px 68px, #026899 69px 69px, #026899 70px 70px, #026899 71px 71px, #026899 72px 72px, #026899 73px 73px, #026899 74px 74px, #026899 75px 75px
}

.shadow-icon-box.is-success {
    background-color: #00b289;
    -ms-box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important
}

.shadow-icon-box.is-success span {
    text-shadow: #00664e 1px 1px, #00664e 2px 2px, #00664e 3px 3px, #00664e 4px 4px, #00664e 5px 5px, #00664e 6px 6px, #00664e 7px 7px, #00664e 8px 8px, #00664e 9px 9px, #00664e 10px 10px, #00664e 11px 11px, #00664e 12px 12px, #00664e 13px 13px, #00664e 14px 14px, #00664e 15px 15px, #00664e 16px 16px, #00664e 17px 17px, #00664e 18px 18px, #00664e 19px 19px, #00664e 20px 20px, #00664e 21px 21px, #00664e 22px 22px, #00664e 23px 23px, #00664e 24px 24px, #00664e 25px 25px, #00664e 26px 26px, #00664e 27px 27px, #00664e 28px 28px, #00664e 29px 29px, #00664e 30px 30px, #00664e 31px 31px, #00664e 32px 32px, #00664e 33px 33px, #00664e 34px 34px, #00664e 35px 35px, #00664e 36px 36px, #00664e 37px 37px, #00664e 38px 38px, #00664e 39px 39px, #00664e 40px 40px, #00664e 41px 41px, #00664e 42px 42px, #00664e 43px 43px, #00664e 44px 44px, #00664e 45px 45px, #00664e 46px 46px, #00664e 47px 47px, #00664e 48px 48px, #00664e 49px 49px, #00664e 50px 50px, #00664e 51px 51px, #00664e 52px 52px, #00664e 53px 53px, #00664e 54px 54px, #00664e 55px 55px, #00664e 56px 56px, #00664e 57px 57px, #00664e 58px 58px, #00664e 59px 59px, #00664e 60px 60px, #00664e 61px 61px, #00664e 62px 62px, #00664e 63px 63px, #00664e 64px 64px, #00664e 65px 65px, #00664e 66px 66px, #00664e 67px 67px, #00664e 68px 68px, #00664e 69px 69px, #00664e 70px 70px, #00664e 71px 71px, #00664e 72px 72px, #00664e 73px 73px, #00664e 74px 74px, #00664e 75px 75px
}

.shadow-icon-box.is-warning {
    background-color: #eda514;
    -ms-box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important
}

.shadow-icon-box.is-warning span {
    text-shadow: #a8740d 1px 1px, #a8740d 2px 2px, #a8740d 3px 3px, #a8740d 4px 4px, #a8740d 5px 5px, #a8740d 6px 6px, #a8740d 7px 7px, #a8740d 8px 8px, #a8740d 9px 9px, #a8740d 10px 10px, #a8740d 11px 11px, #a8740d 12px 12px, #a8740d 13px 13px, #a8740d 14px 14px, #a8740d 15px 15px, #a8740d 16px 16px, #a8740d 17px 17px, #a8740d 18px 18px, #a8740d 19px 19px, #a8740d 20px 20px, #a8740d 21px 21px, #a8740d 22px 22px, #a8740d 23px 23px, #a8740d 24px 24px, #a8740d 25px 25px, #a8740d 26px 26px, #a8740d 27px 27px, #a8740d 28px 28px, #a8740d 29px 29px, #a8740d 30px 30px, #a8740d 31px 31px, #a8740d 32px 32px, #a8740d 33px 33px, #a8740d 34px 34px, #a8740d 35px 35px, #a8740d 36px 36px, #a8740d 37px 37px, #a8740d 38px 38px, #a8740d 39px 39px, #a8740d 40px 40px, #a8740d 41px 41px, #a8740d 42px 42px, #a8740d 43px 43px, #a8740d 44px 44px, #a8740d 45px 45px, #a8740d 46px 46px, #a8740d 47px 47px, #a8740d 48px 48px, #a8740d 49px 49px, #a8740d 50px 50px, #a8740d 51px 51px, #a8740d 52px 52px, #a8740d 53px 53px, #a8740d 54px 54px, #a8740d 55px 55px, #a8740d 56px 56px, #a8740d 57px 57px, #a8740d 58px 58px, #a8740d 59px 59px, #a8740d 60px 60px, #a8740d 61px 61px, #a8740d 62px 62px, #a8740d 63px 63px, #a8740d 64px 64px, #a8740d 65px 65px, #a8740d 66px 66px, #a8740d 67px 67px, #a8740d 68px 68px, #a8740d 69px 69px, #a8740d 70px 70px, #a8740d 71px 71px, #a8740d 72px 72px, #a8740d 73px 73px, #a8740d 74px 74px, #a8740d 75px 75px
}

.shadow-icon-box.is-danger {
    background-color: #FF7273;
    -ms-box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important
}

.shadow-icon-box.is-danger span {
    text-shadow: #ff2627 1px 1px, #ff2627 2px 2px, #ff2627 3px 3px, #ff2627 4px 4px, #ff2627 5px 5px, #ff2627 6px 6px, #ff2627 7px 7px, #ff2627 8px 8px, #ff2627 9px 9px, #ff2627 10px 10px, #ff2627 11px 11px, #ff2627 12px 12px, #ff2627 13px 13px, #ff2627 14px 14px, #ff2627 15px 15px, #ff2627 16px 16px, #ff2627 17px 17px, #ff2627 18px 18px, #ff2627 19px 19px, #ff2627 20px 20px, #ff2627 21px 21px, #ff2627 22px 22px, #ff2627 23px 23px, #ff2627 24px 24px, #ff2627 25px 25px, #ff2627 26px 26px, #ff2627 27px 27px, #ff2627 28px 28px, #ff2627 29px 29px, #ff2627 30px 30px, #ff2627 31px 31px, #ff2627 32px 32px, #ff2627 33px 33px, #ff2627 34px 34px, #ff2627 35px 35px, #ff2627 36px 36px, #ff2627 37px 37px, #ff2627 38px 38px, #ff2627 39px 39px, #ff2627 40px 40px, #ff2627 41px 41px, #ff2627 42px 42px, #ff2627 43px 43px, #ff2627 44px 44px, #ff2627 45px 45px, #ff2627 46px 46px, #ff2627 47px 47px, #ff2627 48px 48px, #ff2627 49px 49px, #ff2627 50px 50px, #ff2627 51px 51px, #ff2627 52px 52px, #ff2627 53px 53px, #ff2627 54px 54px, #ff2627 55px 55px, #ff2627 56px 56px, #ff2627 57px 57px, #ff2627 58px 58px, #ff2627 59px 59px, #ff2627 60px 60px, #ff2627 61px 61px, #ff2627 62px 62px, #ff2627 63px 63px, #ff2627 64px 64px, #ff2627 65px 65px, #ff2627 66px 66px, #ff2627 67px 67px, #ff2627 68px 68px, #ff2627 69px 69px, #ff2627 70px 70px, #ff2627 71px 71px, #ff2627 72px 72px, #ff2627 73px 73px, #ff2627 74px 74px, #ff2627 75px 75px
}

.shadow-title {
    padding-top: 10px;
    color: #444F60;
    font-weight: 500
}

.shadow-text {
    color: #A9ABAC;
    font-size: 13px
}

.simple-counter {
    position: relative
}

.simple-counter .counter-number {
    font-size: 3rem;
    color: #444F60;
    z-index: 99
}

.simple-counter .counter-number.is-bold {
    font-weight: 700 !important
}

.simple-counter .counter-text {
    text-transform: uppercase;
    font-family: 'Nexa Light', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    color: #4FC1EA !important
}

.simple-counter .background-icon {
    position: absolute;
    font-size: 5rem;
    top: -10px !important;
    left: 0;
    right: 0;
    color: #999;
    opacity: 0.1;
    z-index: 0
}

.card-counter .flex-card {
    padding: 20px;
    overflow: visible
}

.card-counter .flex-card:hover .round-icon i {
    -webkit-transform: rotate(360deg) scale(1.05);
    transform: rotate(360deg) scale(1.05);
    background: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.card-counter .flex-card:hover .counter-text {
    color: #7F00FF
}

.card-counter .round-icon i {
    font-size: 2rem;
    padding: 22px;
    color: #fff;
    background: #4FC1EA;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important;
    border-radius: 100px;
    margin-top: -40px;
    transition: all 0.4s
}

.card-counter .counter-number {
    font-weight: bolder;
    font-size: 2.6rem;
    color: #444F60
}

.card-counter .counter-text {
    color: #4FC1EA;
    font-weight: 600;
    transition: all 0.4s;
    font-size: 1.1rem
}

.icon-counter .counter-icon i {
    font-size: 3.4rem;
    color: #4FC1EA
}

.icon-counter .counter-number {
    font-weight: bolder;
    font-size: 3rem;
    color: #444F60
}

.icon-counter .counter-text {
    color: #4FC1EA;
    font-size: 1.1rem;
    font-weight: 600;
    transition: all 0.4s
}

.parallax-counter .counter-icon i {
    font-size: 3.4rem;
    color: #fff
}

.parallax-counter .counter-number {
    font-weight: bolder;
    font-size: 3rem;
    color: #fff
}

.parallax-counter .counter-text {
    color: #fff;
    font-family: 'Nexa Light', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    padding: 0 10px;
    transition: all 0.4s
}

.team-classic .team-member {
    position: relative
}

.team-classic .team-member img {
    height: 100%;
    width: 100%;
    display: block
}

.team-classic .team-member .item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0);
    transition: all 0.5s;
    overflow: hidden
}

.team-classic .team-member .item-overlay .overlay-quote {
    opacity: 0;
    opacity: 0;
    color: #fff;
    position: absolute;
    top: 55%;
    left: 0;
    padding: 5%;
    overflow: hidden;
    width: 100%;
    z-index: 2;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    transition: all .3s
}

.team-classic .team-member .item-overlay .overlay-quote .quote-text i {
    font-size: 18px
}

.team-classic .team-member .item-overlay .overlay-quote .social-links {
    padding: 20px 0;
    transition: all .3s
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span a {
    margin: 0 10px 0 10px;
    color: #fff
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span a:hover {
    opacity: 1
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span a i {
    font-size: 1.4em;
    padding: 15px;
    border-radius: 100px;
    border: 2px dashed #fff;
    transition: all 0.1
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span:first-child a i:hover {
    background: #1dcaff;
    border: 2px solid #1dcaff
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span:nth-child(2) a i:hover {
    background: #007bb6;
    border: 2px solid #007bb6
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span:last-child a i:hover {
    background: #ea4c89;
    border: 2px solid #ea4c89
}

.team-classic .team-member:hover .item-overlay {
    background: rgba(0, 0, 0, 0.7)
}

.team-classic .team-member:hover .overlay-quote {
    opacity: 1;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.team-classic .member-name {
    font-family: 'Nexa Light', sans-serif;
    text-transform: uppercase;
    font-size: 1.3rem
}

.team-classic .member-name .last-name {
    font-weight: bolder;
    font-family: 'Nexa Bold', sans-serif
}

.team-classic .member-name .position {
    font-size: 0.9rem;
    color: #4FC1EA;
    font-family: 'Nexa Light', sans-serif
}

.team-classic.circled .social-links span:first-child a i:hover {
    background: none !important;
    border: 2px solid #1dcaff;
    color: #1dcaff
}

.team-classic.circled .social-links span:nth-child(2) a i:hover {
    background: none !important;
    border: 2px solid #007bb6;
    color: #007bb6
}

.team-classic.circled .social-links span:last-child a i:hover {
    background: none !important;
    border: 2px solid #ea4c89;
    color: #ea4c89
}

.team-classic.squared .social-links span a i {
    border-radius: 3px !important
}

.team-classic.squared .social-links span:first-child a i:hover {
    background: none !important;
    border: 2px solid #1dcaff;
    color: #1dcaff
}

.team-classic.squared .social-links span:nth-child(2) a i:hover {
    background: none !important;
    border: 2px solid #007bb6;
    color: #007bb6
}

.team-classic.squared .social-links span:last-child a i:hover {
    background: none !important;
    border: 2px solid #ea4c89;
    color: #ea4c89
}

.modern-team {
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: start;
    align-items: flex-start
}

.modern-team .modern-team-item .item-wrapper {
    position: relative
}

.modern-team .modern-team-item .item-img {
    position: relative;
    overflow: hidden
}

.modern-team .modern-team-item .item-img:before {
    content: "";
    background-color: rgba(72, 27, 174, 0.7);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

.modern-team .modern-team-item .item-img .member-avatar {
    display: block;
    max-width: 100%;
    position: relative;
    z-index: 1
}

.modern-team .modern-team-item .overlay-wrapper {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    opacity: 0;
    will-change: opacity;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3
}

.modern-team .modern-team-item .overlay-wrapper .social {
    box-sizing: border-box;
    width: 42px;
    height: 42px;
    padding: 10px;
    background-color: #fff;
    border-radius: 100%;
    margin: 5px;
    position: relative;
    display: inline-block;
    vertical-align: middle
}

.modern-team .modern-team-item .overlay-wrapper .social i {
    position: relative;
    font-size: 1.6rem
}

.modern-team .modern-team-item .member-info {
    padding: 10px 20px
}

.modern-team .modern-team-item .member-info .member-name {
    font-family: 'Nexa Light', sans-serif;
    font-size: 1.2em;
    margin-top: 0;
    margin-bottom: 0;
    text-transform: uppercase
}

.modern-team .modern-team-item .member-info .member-name strong {
    font-family: 'Nexa Bold', sans-serif
}

.modern-team .modern-team-item .member-info .member-position {
    display: block;
    margin: .5em 0;
    font-family: 'Nexa Light', sans-serif;
    font-size: .8em;
    text-transform: uppercase;
    color: #4FC1EA
}

.modern-team .modern-team-item:hover .overlay-wrapper {
    opacity: 1;
    height: 100%;
    transition: opacity 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9) 0.2s
}

.modern-team .modern-team-item.circle-mask .item-img:before {
    width: 0;
    height: 0;
    padding: 25%;
    border-radius: 50%;
    transition: opacity .3s ease-out, -webkit-transform .3s ease;
    transition: transform .3s ease, opacity .3s ease-out;
    transition: transform .3s ease, opacity .3s ease-out, -webkit-transform .3s ease;
    will-change: opacity, transform;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0)
}

.modern-team .modern-team-item.circle-mask:hover .item-img:before {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(4);
    transform: translate(-50%, -50%) scale(4);
    transition-duration: .6s
}

.modern-team .modern-team-item.curtain-mask .item-img:before {
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-clip-path: polygon(50% 10%, 15% 90%, 85% 90%);
    clip-path: polygon(50% 10%, 15% 90%, 85% 90%);
    transition: opacity, -webkit-transform;
    transition: transform, opacity;
    transition: transform, opacity, -webkit-transform;
    transition-duration: .2s, .4s;
    transition-delay: .4s, 0s;
    transition-timing-function: ease-out;
    will-change: transform, opacity;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1)
}

.modern-team .modern-team-item.curtain-mask:hover .item-img:before {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(5);
    transform: translate(-50%, -50%) scale(5);
    transition-delay: .1s, 0s;
    transition-duration: .4s
}

.modern-team .modern-team-item.zoom-effect .member-avatar {
    transition: -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9), -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    will-change: transform;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.modern-team .modern-team-item.zoom-effect:hover .member-avatar {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

.modern-team .modern-team-item.rotate-zoom-effect .member-avatar {
    transition: -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9), -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    will-change: transform;
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0)
}

.modern-team .modern-team-item.rotate-zoom-effect:hover .member-avatar {
    -webkit-transform: scale(1.2) rotate(5deg);
    transform: scale(1.2) rotate(5deg)
}

.modern-team .modern-team-item.zoom-slide-effect .member-avatar {
    transition: -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9), -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    will-change: transform;
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0)
}

.modern-team .modern-team-item.zoom-slide-effect:hover .member-avatar {
    -webkit-transform: scale(1.2) translate(4%, 4%);
    transform: scale(1.2) translate(4%, 4%)
}

.card-team .card-team-item {
    text-align: center;
    height: 270px
}

.card-team .card-team-item .flex-card {
    height: 270px;
    margin-bottom: 0;
    border-radius: 0
}

.card-team .card-team-item .flex-card:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    z-index: 1000
}

.card-team .card-team-item .team-avatar {
    width: 100%
}

.card-team .card-team-item .team-avatar img {
    width: 70px;
    height: 70px;
    border-radius: 100px
}

.card-team .card-team-item .member-id .name {
    font-family: 'Nexa Bold', sans-serif;
    margin-top: 15px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #444F60
}

.card-team .card-team-item .member-id .position {
    font-family: 'Nexa Light', sans-serif;
    text-transform: uppercase;
    margin-top: 5px;
    font-size: .8rem;
    font-weight: 400;
    color: #4FC1EA
}

.card-team .card-team-item .card-social-links {
    padding-top: 35px;
    margin-bottom: 20px
}

.card-team .card-team-item .card-social-links a {
    color: #999;
    margin: 0 10px 0 10px
}

.card-team .card-team-item .card-social-links a:nth-child(2) i {
    transition-delay: 0.05s
}

.card-team .card-team-item .card-social-links a:last-child i {
    transition-delay: 0.10s
}

.card-team .card-team-item .card-social-links a:hover {
    color: #4FC1EA
}

.card-team .card-team-item .card-social-links a i {
    font-size: 1.3rem;
    -webkit-transform: translateY(300px);
    transform: translateY(300px);
    transition: all 0.35s
}

.card-team .card-team-item:hover .card-social-links a i {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.flip-boxes .flip-box {
    -webkit-perspective: 500px;
    perspective: 500px;
    min-height: 300px;
    cursor: pointer
}

.flip-boxes .flip-box-wrapper {
    position: relative;
    transition: all .5s ease-in-out;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    border: 1px solid #ededed;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flip-boxes .flip-box-wrapper div {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: #fff
}

.flip-boxes .flip-box-wrapper .front {
    z-index: 2;
    background-color: #fff;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flip-boxes .flip-box-wrapper .front img {
    height: 100%;
    width: 100%;
    display: block
}

.flip-boxes .flip-box-wrapper .back {
    z-index: 1;
    background: #fff;
    opacity: 1;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flip-boxes .flip-box-wrapper .back .flip-name {
    background: #fff;
    position: absolute;
    top: -22rem !important;
    left: 0;
    min-height: 25px;
    font-size: 1.4rem;
    text-transform: uppercase
}

.flip-boxes .flip-box-wrapper .back .flip-name span {
    font-size: 0.9rem;
    text-transform: uppercase;
    color: #4FC1EA
}

.flip-boxes .flip-box-wrapper .back .flip-social {
    position: absolute;
    top: -16rem
}

.flip-boxes .flip-box-wrapper .back .flip-social a {
    color: #999;
    font-size: 1.4rem;
    margin: 0 10px 0 10px
}

.flip-boxes .flip-box-wrapper .back .flip-social a:hover {
    color: #4FC1EA
}

.flip-boxes .flip-box-wrapper:hover {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

.grid-clients .client {
    max-height: 70px
}

.grid-clients.three-grid .column:nth-child(2),
.grid-clients.three-grid .column:nth-child(3) {
    border-right: 1px solid #ededed
}

.grid-clients.three-grid .is-separator {
    border-top: 1px solid #ededed
}

.grid-clients.four-grid .column:nth-child(2),
.grid-clients.four-grid .column:nth-child(3) {
    border-right: 1px solid #ededed
}

.grid-clients.four-grid .column:nth-child(5) {
    border-left: 1px solid #ededed
}

.grid-clients.four-grid .is-separator {
    border-top: 1px solid #ededed
}

.grid-clients.five-grid .column:nth-child(2),
.grid-clients.five-grid .column:nth-child(3),
.grid-clients.five-grid .column:nth-child(4) {
    border-right: 1px solid #ededed
}

.grid-clients.five-grid .column:nth-child(5),
.grid-clients.five-grid .column:nth-child(6) {
    border-left: 1px solid #ededed
}

.grid-clients.five-grid .is-separator {
    border-top: 1px solid #ededed
}

.grid-clients a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.image-carousel {
    text-align: center;
    max-width: 950px;
    margin: 0 auto
}

.image-carousel:hover .slick-custom {
    opacity: 1
}

.image-carousel .carousel-item {
    margin: 0 20px
}

.image-carousel .image-wrapper {
    position: relative
}

.image-carousel .image-wrapper .stack-logo {
    max-height: 130px
}

.image-carousel .slick-custom {
    opacity: 0
}

.image-carousel .slick-custom.is-prev {
    left: -4%
}

.image-carousel .slick-custom.is-next {
    right: -4%
}

.image-carousel .slick-dots {
    bottom: -60px !important
}

.image-carousel .slick-prev:before,
.image-carousel .slick-next:before {
    color: #999
}

.multiple-image-carousel {
    text-align: center;
    max-width: 950px;
    margin: 0 auto
}

.multiple-image-carousel:hover .slick-custom {
    opacity: 1
}

.multiple-image-carousel .carousel-item {
    margin: 0 20px
}

.multiple-image-carousel .image-wrapper {
    position: relative
}

.multiple-image-carousel .image-wrapper .stack-logo {
    max-height: 130px;
    margin: 0 auto
}

.multiple-image-carousel .slick-custom {
    opacity: 0;
    top: 35px
}

.multiple-image-carousel .slick-dots {
    bottom: -60px !important
}

.multiple-image-carousel .slick-prev:before,
.multiple-image-carousel .slick-next:before {
    color: #999
}

.single-image-carousel {
    text-align: center;
    max-width: 650px;
    margin: 0 auto
}

.single-image-carousel:hover .slick-custom {
    opacity: 1
}

.single-image-carousel .carousel-item {
    margin: 0 20px
}

.single-image-carousel .image-wrapper {
    position: relative
}

.single-image-carousel .image-wrapper:hover .caption {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.single-image-carousel .image-wrapper img {
    width: 100%;
    height: 100%;
    min-height: 400px
}

.single-image-carousel .image-wrapper .caption {
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0;
    z-index: 99;
    padding: 20px;
    background: rgba(0, 0, 0, 0.8);
    -webkit-transform: translateY(120%);
    transform: translateY(120%);
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s
}

.single-image-carousel .image-wrapper .caption span {
    color: white;
    font-size: 1.1rem
}

.single-image-carousel .slick-custom {
    opacity: 0
}

.single-image-carousel .slick-dots {
    bottom: -60px !important
}

.single-image-carousel .slick-prev:before,
.single-image-carousel .slick-next:before {
    color: #999
}

.slick-custom {
    position: absolute;
    top: 41%;
    border: 1px solid #ededed;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 100px;
    cursor: pointer;
    color: #444F60;
    transition: all 0.3s;
    z-index: 999
}

.slick-custom i {
    position: relative;
    top: 14px
}

.slick-custom:hover {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    background: #4FC1EA;
    border: 1px solid #4FC1EA;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.slick-custom.is-prev {
    left: -6px
}

.slick-custom.is-prev i {
    right: 2px
}

.slick-custom.is-next {
    right: -6px
}

.slick-custom.is-next i {
    left: 2px
}

/*! _tabs.scss | Bulkit | CSS Ninja */
.tabs-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%
}

.tabs-nav .tabs-container {
    overflow: hidden;
    width: 100%
}

.tabs-nav .tabs-container .tab-content {
    padding: 28px 33px;
    position: relative;
    z-index: 10;
    display: inline-block;
    width: 100%
}

.tabs-nav .tabs-container .tab-content p:last-child {
    margin-bottom: 0
}

.tabs-nav .tabs-container.type-2 {
    border-radius: 3px
}

.tabs-nav .tabs-container.type-1 .tab-content {
    border: none;
    border-top: 1px solid #e0e0e0;
    padding: 30px 0 0 0
}

.tabs-nav li {
    float: left;
    line-height: 45px;
    padding: 0;
    margin-right: 4px;
    position: relative;
    z-index: 12
}

.tabs-nav li.active .tab-reviews {
    color: #fff
}

.tabs-nav li a,
.tabs-nav tab-reviews {
    transition: all 0.25s ease-in-out
}

.tabs-nav li a {
    border-bottom: 2px solid transparent;
    color: #333;
    display: inline-block;
    outline: none;
    padding: 7px 15px;
    text-decoration: none;
    font-size: 15px;
    z-index: 11;
    position: relative;
    margin-bottom: -1px
}

.tabs-nav li a:hover {
    border-color: #66676b
}

.tabs-nav li a:hover,
.tabs-nav li.active a {
    border-color: #4FC1EA;
    color: #4FC1EA !important;
    z-index: 11
}

.tabs-nav li a i {
    padding-right: 5px;
    font-size: 16px;
    top: 1px;
    position: relative
}

.navigation-tabs {
    overflow: hidden
}

.navigation-tabs .navtab-content {
    display: none;
    padding: 15px;
    min-height: 190px
}

.navigation-tabs .navtab-content.navtab-modal {
    max-height: 350px;
    overflow: auto
}

.navigation-tabs .navtab-content.is-active {
    display: block
}

.navigation-tabs.animated-tabs .navtab-content {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.navigation-tabs.translated-tabs .navtab-content {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.navigation-tabs.simple-tabs .tabs ul li a {
    color: #A9ABAC
}

.navigation-tabs.simple-tabs .tabs ul li:hover a {
    border-bottom-color: #4FC1EA
}

.navigation-tabs.simple-tabs .tabs ul li.is-active a {
    color: #444F60;
    border-bottom: 2px solid #4FC1EA
}

.navigation-tabs.simple-tabs .tabs ul li.is-active a .icon i {
    color: #4FC1EA
}

.navigation-tabs.boxed-tabs .tabs ul li a {
    color: #A9ABAC
}

.navigation-tabs.boxed-tabs .tabs ul li.is-active a {
    color: #4FC1EA
}

.navigation-tabs.outlined-pills.rounded-pills .tabs ul li.is-active a {
    border-radius: 100px
}

.navigation-tabs.outlined-pills .tabs ul {
    border-bottom: 1px transparent !important
}

.navigation-tabs.outlined-pills .tabs a {
    border: 1px transparent
}

.navigation-tabs.outlined-pills .tabs ul li a {
    color: #A9ABAC;
    margin-bottom: 5px
}

.navigation-tabs.outlined-pills .tabs ul li.is-active a {
    color: #4FC1EA;
    border: 1px solid #4FC1EA;
    border-bottom-color: #4FC1EA !important;
    border-radius: 3px
}

.navigation-tabs.full-pills.rounded .tabs ul li.is-active a {
    border-radius: 100px !important
}

.navigation-tabs.full-pills .tabs ul {
    border-bottom: 1px transparent !important;
    padding-bottom: 10px
}

.navigation-tabs.full-pills .tabs a {
    border: 1px transparent
}

.navigation-tabs.full-pills .tabs ul li a {
    color: #A9ABAC;
    margin-bottom: 5px
}

.navigation-tabs.full-pills.primary .tabs ul li.is-active a {
    color: #fff;
    border: 1px solid #4FC1EA;
    background-color: #4FC1EA;
    border-radius: 3px;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.navigation-tabs.full-pills.secondary .tabs ul li.is-active a {
    color: #fff;
    border: 1px solid #7F00FF;
    background-color: #7F00FF;
    border-radius: 3px;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.navigation-tabs.full-pills.accent .tabs ul li.is-active a {
    color: #fff;
    border: 1px solid #7F00FF;
    background-color: #7F00FF;
    border-radius: 3px;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.navigation-tabs.square-pills.circle-pills .tabs ul li a {
    border-radius: 30px
}

.navigation-tabs.square-pills .tabs ul {
    padding: 20px
}

.navigation-tabs.square-pills .tabs ul li a {
    padding: 0 15.5px;
    text-align: center;
    height: 60px;
    width: 60px;
    border-radius: 3px;
    font-weight: 400;
    color: #9a9a9a;
    margin-right: 19px;
    background-color: rgba(222, 222, 222, 0.3);
    border-bottom: none !important;
    transition: all 0.5s
}

.navigation-tabs.square-pills .tabs ul li a :hover {
    border-bottom: none !important
}

.navigation-tabs.square-pills .tabs ul li a i {
    display: block;
    font-size: 18px
}

.navigation-tabs.square-pills .tabs ul li.is-active a {
    background-color: #4FC1EA;
    color: #fff;
    box-shadow: 0px 5px 35px 0px rgba(0, 0, 0, 0.18)
}

.tabs.partner-tabs ul {
    border-bottom: 1px transparent !important
}

.tab-reviews {
    color: #aaa
}

/*! _testimonials.scss | Bulkit | CSS Ninja */
.testimonials,
.demo {
    position: relative;
    width: 100%;
    display: block;
    box-sizing: border-box
}

.testimonials .testimonial-item,
.demo .testimonial-item {
    margin: 40px;
    outline: none !important
}

.testimonials .testimonial-item .testimonial-avatar,
.demo .testimonial-item .testimonial-avatar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.testimonials .testimonial-item .testimonial-avatar img,
.demo .testimonial-item .testimonial-avatar img {
    border-radius: 100px;
    width: 100px;
    height: 100px;
    position: relative;
    top: -30px
}

.testimonials .testimonial-item .testimonial-name,
.demo .testimonial-item .testimonial-name {
    text-align: center
}

.testimonials .testimonial-item .testimonial-name h3,
.demo .testimonial-item .testimonial-name h3 {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 18px;
    color: #ffa500;
}

.testimonials .testimonial-item .testimonial-name span,
.demo .testimonial-item .testimonial-name span {
    font-family: 'Nexa Light', sans-serif;
    font-size: 14px;
    color: #A9ABAC;
    position: relative;
    top: -15px
}

.testimonials .testimonial-item .testimonial-content p,
.demo .testimonial-item .testimonial-content p {
    padding: 20px 30px
}

.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #7F00FF !important
}

.vertical-testimonials {
    margin-top: 90px
}

.vertical-testimonials .vtestimonial-item {
    margin: 5px 80px;
    border-radius: 12px
}

.vertical-testimonials .vtestimonial-item:last-child {
    margin-bottom: 100px
}

.vertical-testimonials .vtestimonial-item .vt-avatar {
    height: 55px;
    border-radius: 100px
}

.vertical-testimonials .vtestimonial-item .vt-content {
    margin: 0 10px
}

.vertical-testimonials .vtestimonial-item .vt-content .vt-name {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 500;
    color: #7F00FF;
    margin-bottom: .7em !important
}

.vertical-testimonials .vtestimonial-item .vt-content .vt-text {
    padding-right: 5px;
    font-size: 12px
}

.vertical-testimonials .vtestimonial-item .vt-content .star-rating {
    float: right;
    position: relative;
    top: 3px;
    right: 15px
}

.vertical-testimonials .slick-current.slick-active.slick-center {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.vertical-testimonials .slick-slide:not(.slick-current) {
    opacity: 0.1 !important
}

.flat-testimonials .flat-testimonial-item {
    margin: 0 20px 50px 20px
}

.flat-testimonials .flat-testimonial-item .image-container {
    position: relative;
    overflow: hidden
}

.flat-testimonials .flat-testimonial-item .image-container img {
    border-radius: 10px;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.18)
}

.flat-testimonials .flat-testimonial-item .image-container .skewed-overlay {
    position: absolute;
    top: 95%;
    left: 0;
    height: 40%;
    width: 200%;
    -webkit-transform: skewY(8deg);
    transform: skewY(8deg);
    padding: 20px;
    background: #fff
}

.flat-testimonials .flat-testimonial-item .testimonial-text .quoted-text {
    color: #878787
}

.flat-testimonials .flat-testimonial-item .testimonial-text .client-name {
    margin-top: 20px;
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 400;
    font-size: 1.2rem
}

.flat-testimonials .flat-testimonial-item .testimonial-text .client-position {
    font-family: 'Nexa Light', sans-serif;
    font-size: 0.9rem;
    color: #444F60
}

.flat-testimonials .flat-testimonial-item .testimonial-text .company {
    max-height: 60px;
    margin-right: 50px;
    float: right
}

.flat-testimonials .flat-testimonial-item .testimonial-text .fa-quote-left {
    margin: 20px 0 !important
}

.flat-testimonials .flat-testimonial-item.primary .skewed-overlay {
    background: #4FC1EA
}

.flat-testimonials .flat-testimonial-item.primary .client-name {
    color: #4FC1EA
}

.flat-testimonials .flat-testimonial-item.primary .fa-quote-left {
    color: #4FC1EA
}

.flat-testimonials .flat-testimonial-item.secondary .skewed-overlay {
    background: #7F00FF
}

.flat-testimonials .flat-testimonial-item.secondary .client-name {
    color: #7F00FF
}

.flat-testimonials .flat-testimonial-item.secondary .fa-quote-left {
    color: #7F00FF
}

.flat-testimonials .flat-testimonial-item.accent .skewed-overlay {
    background: #7F00FF
}

.flat-testimonials .flat-testimonial-item.accent .client-name {
    color: #7F00FF
}

.flat-testimonials .flat-testimonial-item.accent .fa-quote-left {
    color: #7F00FF
}

/*! _dialogs.scss | Bulkit | CSS Ninja */
.modal {
    transition: all 0.5s;
    -webkit-transform: scale(0);
    transform: scale(0);
    z-index: 1000
}

.modal .modal-content {
    transition: all 0.4s;
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
    z-index: 99 !important
}

.modal .modal-close {
    transition: all 0.4s;
    z-index: 100 !important
}

.modal .modal-close:hover {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.modal a {
    border-radius: 6px
}

.modal.is-active {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.modal.is-active .modal-background {
    background: linear-gradient(45deg, #6a85b6 0%, #bac8e0 100%);
    background-color: #4FC1EA;
    width: 1000px;
    height: 1000px;
    border-radius: 10000px;
    transition: all 0.5s;
    -webkit-transform: scale(0);
    transform: scale(0);
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 98 !important;
    overflow: hidden !important
}

.modal.is-active .modal-background.scaleInCircle {
    -webkit-transform: scale(7);
    transform: scale(7)
}

.modal.is-active .modal-content.scaleIn {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.modal.is-active .modal-close {
    z-index: 100 !important
}

.modal.is-active.image-modal .modal-background {
    background: linear-gradient(45deg, #444F60, #444);
    background-color: #444F60
}

.modal.is-active.image-modal img {
    border-radius: 6px
}

.modal.is-active.image-modal .gallery-item figure {
    background: none
}

.modal.is-active .modal-card .modal-card-head,
.modal.is-active .modal-card .modal-card-foot {
    padding: 15px
}

.modal.is-active .modal-card .modal-card-head {
    background-color: #fff
}

.modal.is-active .modal-card .modal-card-head p {
    color: #444F60
}

.modal.is-active .modal-card .modal-card-head .delete {
    background: transparent !important;
    transition: all 0.3s
}

.modal.is-active .modal-card .modal-card-head .delete:before {
    background: #7F00FF
}

.modal.is-active .modal-card .modal-card-head .delete:after {
    background: #7F00FF
}

.modal.is-active .modal-card .modal-card-head .delete:hover {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.modal.is-active .modal-card .modal-card-body::-webkit-scrollbar {
    width: 10px
}

.modal.is-active .modal-card .modal-card-body::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.modal.is-active .modal-card .modal-card-foot {
    background-color: #fff;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-top: none
}

.modal.is-active.modal-sm .modal-card-body {
    max-height: 400px
}

.modal.is-active.modal-hero .modal-background {
    background: linear-gradient(to right, #7F00FF, #7F00FF);
    background: linear-gradient(to top, #7F00FF, #7F00FF);
    background-color: #7F00FF
}

.modal.is-active.modal-success .modal-background {
    background: #00b289
}

.modal.is-active.modal-error .modal-background {
    background: #FF7273
}

.modal.is-active.modal-warning .modal-background {
    background: #eda514
}

.modal.is-active.modal-info .modal-background {
    background: #039BE5
}

.modal.is-active .modal-svg {
    max-width: 110px;
    margin: 0 auto !important
}

@media screen and (min-width: 769px) {

    .modal.modal-lg .modal-card,
    .modal.modal-lg .modal-content {
        width: 800px !important
    }

    .modal.modal-sm .modal-card,
    .modal.modal-sm .modal-content {
        width: 400px !important
    }
}

/*! _forms.scss | Bulkit | CSS Ninja */
.input,
.textarea,
select {
    box-shadow: none !important
}

.form-label {
    padding-bottom: 5px;
    color: #999
}

input.input {
    color: #878787;
    box-shadow: none;
    transition: all 0.8s;
    padding-bottom: 3px;
    border-color: #ccc;
    font-size: 0.9rem
}

input.input.is-small {
    padding-bottom: 2px;
    padding-left: 10px
}

input.input.is-medium {
    padding-bottom: 5px;
    font-size: 1rem;
    height: 2.5rem
}

input.input.is-large {
    padding-bottom: 7px;
    font-size: 1.25rem;
    height: 3rem
}

input.input.rounded {
    border-radius: 100px
}

input.input.is-primary-focus:focus {
    border-color: #4FC1EA
}

input.input.is-primary-focus:focus~span.icon i {
    color: #4FC1EA
}

input.input.is-secondary-focus:focus {
    border-color: #7F00FF
}

input.input.is-secondary-focus:focus~span.icon i {
    color: #7F00FF
}

input.input.is-accent-focus:focus {
    border-color: #7F00FF
}

input.input.is-accent-focus:focus~span.icon i {
    color: #7F00FF
}

input.input.is-grey-focus:focus {
    border-color: #A9ABAC
}

input.input.is-grey-focus:focus~span.icon i {
    color: #A9ABAC
}

input.input:focus,
input.input:active {
    border-color: #EFF4F7
}

.input.custom-input {
    height: 46px;
    line-height: 46px;
    padding-left: 50px !important
}

.input.custom-input:focus {
    border-color: #dbdbdb !important
}

textarea.textarea {
    color: #878787;
    box-shadow: none;
    transition: all 0.8s
}

textarea.textarea:focus {
    border: 1px solid #ededed
}

textarea.textarea.is-primary-focus:focus {
    border-color: #4FC1EA
}

textarea.textarea.is-primary-focus:focus~span.icon i {
    color: #4FC1EA
}

textarea.textarea.is-secondary-focus:focus {
    border-color: #7F00FF
}

textarea.textarea.is-secondary-focus:focus~span.icon i {
    color: #7F00FF
}

textarea.textarea.is-accent-focus:focus {
    border-color: #7F00FF
}

textarea.textarea.is-accent-focus:focus~span.icon i {
    color: #7F00FF
}

textarea.textarea.is-grey-focus:focus {
    border-color: #A9ABAC
}

textarea.textarea.is-grey-focus:focus~span.icon i {
    color: #A9ABAC
}

textarea.textarea.is-default-focus:focus {
    border-color: #ccc
}

textarea.textarea.is-default-focus:focus~span.icon i {
    color: #ccc
}

textarea.textarea.is-grow {
    min-height: 40px !important;
    height: 40px;
    resize: none;
    transition: all 0.5s;
    overflow: hidden
}

textarea.textarea.is-grow:focus {
    height: 130px !important;
    border-color: #999
}

textarea.textarea.is-button {
    min-height: 40px !important;
    height: 40px !important;
    resize: none;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none !important;
    transition: all 0.6s
}

textarea.textarea.is-button:hover {
    border-color: #ccc
}

textarea.textarea.is-button:focus {
    height: 130px !important;
    padding-bottom: 40px !important;
    border-color: #ccc
}

textarea.textarea.is-button+.textarea-button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    border: 1px solid #ccc;
    border-top: none !important;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px
}

textarea.textarea.is-button+.textarea-button button {
    margin: 10px 7px 7px 7px
}

.field .control.datepicker-control .icon,
.field .control.timepicker-control .icon {
    top: -2px
}

.field .control i {
    transition: all .4s
}

.field .control.required {
    position: relative
}

.field .control.required i {
    display: none;
    position: absolute;
    right: 10px;
    top: 8px
}

.field .control.required small.validation-info {
    display: none;
    font-size: 0.8rem
}

.field .control.required.has-success input {
    border: 1px solid #00b289
}

.field .control.required.has-success small.validation-info.success {
    color: #00b289;
    display: block
}

.field .control.required.has-success .success i {
    display: block;
    color: #00b289
}

.field .control.required.has-error input {
    border: 1px solid #FF7273
}

.field .control.required.has-error small.validation-info.error {
    color: #FF7273;
    display: block
}

.field .control.required.has-error .error i {
    display: block;
    color: #FF7273
}

.control-material {
    position: relative;
    margin-bottom: 3em
}

.control-material input,
.control-material textarea {
    border-radius: 0 !important
}

.control-material.is-primary input.material-input:focus~label,
.control-material.is-primary input:valid~label,
.control-material.is-primary textarea:focus~label {
    color: #ffa500
}

.control-material.is-primary .bar:before,
.control-material.is-primary .bar:after {
    background: #4FC1EA
}

.control-material.is-primary.has-icon input:focus~i {
    color: #4FC1EA !important
}

.control-material.is-secondary input.material-input:focus~label,
.control-material.is-secondary input:valid~label,
.control-material.is-secondary textarea:focus~label {
    color: #7F00FF
}

.control-material.is-secondary .bar:before,
.control-material.is-secondary .bar:after {
    background: #7F00FF
}

.control-material.is-secondary.has-icon input:focus~i {
    color: #7F00FF !important
}

.control-material.is-accent input.material-input:focus~label,
.control-material.is-accent input:valid~label,
.control-material.is-accent textarea:focus~label {
    color: #7F00FF
}

.control-material.is-accent .bar:before,
.control-material.is-accent .bar:after {
    background: #7F00FF
}

.control-material.is-accent.has-icon input:focus~i {
    color: #7F00FF !important
}

.control-material.is-light input.material-input:focus~label,
.control-material.is-light input:valid~label,
.control-material.is-light textarea:focus~label {
    color: #fff
}

.control-material.is-light .bar:before,
.control-material.is-light .bar:after {
    background: #fff
}

.control-material.is-light.has-icon input:focus~i {
    color: #fff !important
}

.control-material input.material-input,
.control-material textarea {
    width: 100% !important;
    font-size: 15px;
    padding: 0.625em 0.625em 0.625em 0.3125em;
    display: block;
    width: 18.75em;
    border: none;
    border-bottom: 1px solid #A9ABAC;
    background-color: transparent !important
}

.control-material input.material-input:focus,
.control-material textarea:focus {
    outline: none
}

.control-material label {
    font-family: 'Arial';
    color: #cecece;
    font-size: 15px;
    font-weight: normal;
    position: absolute;
    pointer-events: none;
    left: 0.3125em;
    top: 0.625em;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.subtitle.is-5 {
    font-size: 16px;
    line-height: 1.5;
}

.projectFactsWrap {
    padding-top: 50px;
}

.section.is-medium {
    padding: 1rem 1rem;
    margin-top: 50px;
    margin-bottom: 50px;
}

div#projectFacts {
    margin-top: 80px;
}

p.numbernew {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 2.6rem;
    color: #000000;
    padding: 10px 0;
}

p.texttexttext {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 20px;
    color: #ffa500;
    padding: 0px 0;
}

.control-material input.material-input:focus~label,
.control-material input:valid~label,
.control-material textarea:focus~label {
    top: -15px;
    left: -2px;
    font-size: 12px
}

.control-material .bar {
    position: relative;
    display: block
}

.control-material .bar:before,
.control-material .bar:after {
    content: '';
    height: 2px;
    width: 0;
    bottom: 0px;
    position: absolute;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all
}

.control-material .bar:before {
    left: 50%
}

.control-material .bar:after {
    right: 50%
}

.control-material input.material-input:focus~.bar:before,
.control-material input.material-input:focus~.bar:after,
.control-material textarea:focus~.bar:before,
.control-material textarea:focus~.bar:after {
    width: 50%
}

.control-material.has-icon {
    position: relative
}

.control-material.has-icon input {
    padding-right: 25px
}

.control-material.has-icon i {
    position: absolute;
    right: 15px;
    top: 12px;
    color: #cecece
}

.control-material.required {
    position: relative
}

.control-material.required input {
    padding-right: 25px
}

.control-material.required i {
    position: absolute;
    right: 15px;
    top: 8px;
    color: #cecece;
    display: none
}

.control-material.required small.validation-info {
    display: none;
    font-size: 0.8rem
}

.control-material.required.has-success input {
    border-bottom-color: #00b289 !important
}

.control-material.required.has-success .bar:after,
.control-material.required.has-success .bar:before {
    background: #00b289 !important
}

.control-material.required.has-success .success i {
    color: #00b289 !important;
    display: block
}

.control-material.required.has-success label {
    color: #00b289 !important
}

.control-material.required.has-success small.validation-info.success {
    color: #00b289;
    display: block
}

.control-material.required.has-error input {
    border-bottom-color: #FF7273 !important
}

.control-material.required.has-error .bar:after,
.control-material.required.has-error .bar:before {
    background: #FF7273 !important
}

.control-material.required.has-error .error i {
    color: #FF7273 !important;
    display: block
}

.control-material.required.has-error label {
    color: #FF7273 !important
}

.control-material.required.has-error small.validation-info.error {
    color: #FF7273;
    display: block
}

.select:after {
    border: 1px solid #4FC1EA;
    border-right: 0;
    border-top: 0
}

.select:hover:after {
    border: 1px solid #21b1e5;
    border-right: 0;
    border-top: 0
}

.select select:active,
.select select:focus {
    border-color: #4FC1EA
}

.select:not(.is-multiple):not(.is-loading)::after {
    right: 1.525em;
    z-index: 4;
    font-size: .8rem;
    border: 1px solid #999;
    border-right: 0;
    border-top: 0
}

.control.has-icons-left .select i {
    z-index: 2 !important
}

.control.has-icons-left .select select {
    padding-left: 2.5rem
}

.control.has-icons-left .select.is-medium select {
    padding-left: 3rem
}

.control.has-icons-left .select.is-large+.icon {
    font-size: 1.6rem
}

.control.has-icons-left .select.is-large select {
    padding-left: 3.3rem
}

.autocpl {
    box-shadow: none !important
}

.autocpl .easy-autocomplete-container ul {
    padding: 10px !important
}

.autocpl .easy-autocomplete-container ul li {
    margin: 0 10px
}

.auto-cpl-control .icon {
    top: 3px !important
}

.template-wrapper {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.template-wrapper .autocpl-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 100px !important
}

.template-wrapper .entry-text {
    margin-left: 15px
}

.template-wrapper .entry-text span {
    font-size: 0.8rem;
    color: #A9ABAC
}

.datepicker-panel>ul>li.picked,
.datepicker-panel>ul>li.picked:hover {
    background-color: #7F00FF !important
}

.file-input-wrapper .control {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

.file-input-wrapper .control .inputfile {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1
}

.file-input-wrapper .control .inputfile+label {
    max-width: 80%;
    font-size: 1.05rem;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    border-radius: 5px;
    padding: 0.625rem 1.45rem 0.8rem 1.25rem;
    transition: all 0.4s
}

.file-input-wrapper .control .inputfile+label i {
    position: relative;
    top: 4px;
    margin-right: 10px
}

.file-input-wrapper .control .simple-file-input+label {
    color: #fff;
    background-color: #7F00FF
}

.file-input-wrapper .control .simple-file-input:focus+label,
.file-input-wrapper .control .simple-file-input.has-focus+label,
.file-input-wrapper .control .simple-file-input+label:hover {
    background-color: #8c1aff;
    outline: none;
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.field-input-wrapper {
    box-sizing: border-box
}

.field-input-wrapper .field-input {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    background: #fcfcfc;
    border: 1px solid #ededed;
    padding: 16px;
    width: 450px;
    position: relative;
    border-radius: 3px
}

.field-input-wrapper .field-input>[type='file'] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 10;
    cursor: pointer
}

.field-input-wrapper .field-input>.button {
    display: inline-block;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 2px;
    margin-right: 8px;
    line-height: 1
}

.field-input-wrapper .field-input>.label {
    color: #444F60;
    font-weight: 400;
    white-space: nowrap;
    opacity: .3
}

.field-input-wrapper .field-input.-chosen>.label {
    opacity: 1
}

.label--checkbox {
    position: relative;
    margin: .5rem;
    font-family: Arial, sans-serif;
    line-height: 135% !important;
    cursor: pointer;
    -webkit-transform: scale(0.7);
    transform: scale(0.7)
}

.label--checkbox span {
    position: relative;
    top: -7px;
    font-size: 14px;
    color: #444F60
}

.md-checkbox {
    position: relative;
    top: -0.375rem;
    margin: 0 1rem 0 0;
    cursor: pointer;
    -webkit-transform: scale(1.8);
    transform: scale(1.8)
}

.md-checkbox:before {
    transition: all 0.3s ease-in-out;
    content: "";
    position: absolute;
    left: 0;
    z-index: 1;
    width: 0.9rem;
    height: 0.9rem;
    border: 1.5px solid #ccc
}

.md-checkbox:checked:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    height: .5rem;
    border-color: #4FC1EA;
    border-top-style: none;
    border-right-style: none
}

.md-checkbox:after {
    content: "";
    position: absolute;
    top: -0.125rem;
    left: 0;
    width: 1rem;
    height: 1rem;
    background: #fff;
    cursor: pointer
}

@-webkit-keyframes slideUp {
    0% {
        -webkit-transform: translateY(6.25rem);
        transform: translateY(6.25rem)
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes slideUp {
    0% {
        -webkit-transform: translateY(6.25rem);
        transform: translateY(6.25rem)
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@media (min-width: 769px) {
    input.md-checkbox:focus {
        border-bottom-color: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        outline-offset: 0 !important;
        background: #fff !important
    }
}

.checkbox-wrap,
.radio-wrap {
    position: relative;
    cursor: pointer;
    padding: 1em
}

.checkbox-wrap::-moz-selection,
.radio-wrap::-moz-selection {
    background: transparent
}

.checkbox-wrap::selection,
.radio-wrap::selection {
    background: transparent
}

.checkbox-wrap input.d-checkbox+span,
.radio-wrap input.d-checkbox+span,
.checkbox-wrap input.b-radio+span,
.radio-wrap input.b-radio+span {
    background: #fff;
    content: "";
    display: inline-block;
    margin: 0 .5em 0 0;
    padding: 0;
    border: 1px solid #999;
    vertical-align: middle;
    width: 2em;
    height: 2em
}

.checkbox-wrap input.d-checkbox+span::after,
.radio-wrap input.d-checkbox+span::after,
.checkbox-wrap input.b-radio+span::after,
.radio-wrap input.b-radio+span::after {
    content: "";
    display: block;
    -webkit-transform: scale(0);
    transform: scale(0);
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s
}

.checkbox-wrap input.d-checkbox:checked+span::after,
.radio-wrap input.d-checkbox:checked+span::after,
.checkbox-wrap input.b-radio:checked+span::after,
.radio-wrap input.b-radio:checked+span::after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.checkbox-wrap input.d-checkbox,
.radio-wrap input.d-checkbox,
.checkbox-wrap input.b-radio,
.radio-wrap input.b-radio {
    position: absolute;
    cursor: pointer;
    opacity: 0
}

.checkbox-wrap input+span {
    border-radius: 2px
}

.checkbox-wrap input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 1.9em;
    height: 1.9em
}

.checkbox-wrap.is-medium input+span {
    width: 1.4em;
    height: 1.4em
}

.checkbox-wrap.is-medium input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 1.3em;
    height: 1.3em
}

.checkbox-wrap.is-small input+span {
    width: 1em;
    height: 1em
}

.checkbox-wrap.is-small input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 0.9em;
    height: 0.9em
}

.radio-wrap input+span {
    border-radius: 1000px
}

.radio-wrap input+span::after {
    border-radius: 1000px;
    margin: .55em;
    width: .75em;
    height: .75em
}

.radio-wrap input:checked+span::after {
    background: #444F60
}

.radio-wrap.is-small span {
    -webkit-transform: scale(0.6) !important;
    transform: scale(0.6) !important
}

.radio-wrap.is-small span::after {
    margin: .54em !important
}

.radio-wrap.is-medium span {
    -webkit-transform: scale(0.8) !important;
    transform: scale(0.8) !important
}

.radio-wrap.is-medium span::after {
    margin: .58em !important
}

.radio-wrap.is-primary input:checked+span::after {
    background: #4FC1EA
}

.radio-wrap.is-secondary input:checked+span::after {
    background: #7F00FF
}

.radio-wrap.is-accent input:checked+span::after {
    background: #7F00FF
}

.tagsinput {
    border: 1px solid #CCC;
    background: #FFF;
    padding: 5px;
    width: 300px;
    height: 100px;
    overflow-y: auto
}

.tagsinput .tag {
    position: relative;
    border: 1px solid #039BE5;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    float: left;
    padding: 4px 8px;
    text-decoration: none;
    background: #039BE5;
    color: #fff;
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: 13px
}

.tagsinput .tag span {
    position: relative;
    top: -2px
}

.tagsinput .tag:after {
    font-family: 'Material Icons';
    content: '\E5CD';
    color: #fff;
    opacity: 1;
    position: absolute;
    top: 3px;
    right: 4px;
    z-index: 0
}

.tagsinput .tag a {
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    opacity: 0;
    position: relative;
    z-index: 2
}

.tagsinput input {
    width: 80px;
    margin: 0 5px 5px 0;
    font-family: helvetica;
    font-size: 13px;
    border: 1px solid transparent;
    padding: 5px;
    background: 0 0;
    color: #000;
    outline: 0
}

.tagsinput div {
    display: block;
    float: left
}

.tags_clear {
    clear: both;
    width: 100%;
    height: 0
}

.not_valid {
    background: #FBD8DB !important;
    color: #90111A !important
}

.wickedpicker__controls {
    padding: 0 !important
}

/*! _tables.scss | Bulkit | CSS Ninja */
.table.device-table th,
.table.device-table td {
    text-align: center !important;
    border: none
}

.table.device-table th i {
    font-size: 35px;
    color: #cecece
}

.table.device-table td {
    padding: .75em 1em
}

.table.device-table td:first-child {
    text-align: left !important
}

.table.device-table td.feature-name {
    line-height: 1.9;
    font-family: 'Nexa Light', sans-serif
}

.table.device-table td i.im-icon-Yes {
    font-size: 24px;
    color: #4FC1EA
}

.table.device-table td i.im-icon-Close {
    font-size: 24px;
    color: #cecece
}

.table.device-table th {
    border-bottom: 1px solid #dbdbdb
}

.table.compare-table th,
.table.compare-table td {
    text-align: center !important;
    border: none
}

.table.compare-table th i {
    font-size: 35px;
    color: #cecece
}

.table.compare-table td {
    padding: .75em 1em
}

.table.compare-table td:first-child {
    text-align: left !important
}

.table.compare-table td.feature-name {
    line-height: 1.9;
    font-family: 'Nexa Light', sans-serif
}

.table.compare-table td i.fa-check {
    font-size: 24px;
    color: #4FC1EA
}

.table.compare-table td i.fa-close {
    font-size: 24px;
    color: #cecece
}

.table.compare-table th {
    border-bottom: 1px solid #dbdbdb;
    font-family: 'Nexa Bold', sans-serif
}

.responsive-table {
    margin: auto;
    min-width: 300px;
    max-width: 100%;
    border-collapse: collapse;
    color: #333;
    border-radius: .2em;
    overflow: hidden;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.responsive-table.is-primary tr:first-child {
    background: #4FC1EA
}

.responsive-table.is-secondary tr:first-child {
    background: #7F00FF
}

.responsive-table.is-accent tr:first-child {
    background: #7F00FF
}

.responsive-table tr:first-child {
    border-top: none;
    background: #999;
    color: #fff !important
}

.responsive-table tr {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background-color: #fff;
    border-color: #bfbfbf
}

.responsive-table:nth-child(odd):not(:first-child) {
    background-color: #fcfcfc
}

.responsive-table th {
    display: none;
    color: #fff
}

.responsive-table td {
    display: block
}

.responsive-table td:first-child {
    margin-top: .5em
}

.responsive-table td:last-child {
    margin-bottom: .5em
}

.responsive-table td:before {
    content: attr(data-th) ": ";
    font-weight: bold;
    width: 120px;
    display: inline-block;
    color: #000
}

.responsive-table th,
.responsive-table td {
    text-align: left;
    padding: .5em 1em
}

@media screen and (max-width: 601px) {
    .responsive-table tr:nth-child(2) {
        border-top: none
    }
}

@media screen and (min-width: 600px) {
    .responsive-table tr:hover:not(:first-child) {
        background-color: #f2f2f2
    }

    .responsive-table td:before {
        display: none
    }

    .responsive-table th,
    .responsive-table td {
        display: table-cell;
        padding: .25em .5em
    }

    .responsive-table th:first-child,
    .responsive-table td:first-child {
        padding-left: 0
    }

    .responsive-table th:last-child,
    .responsive-table td:last-child {
        padding-right: 0
    }

    .responsive-table th,
    .responsive-table td {
        padding: 1em !important
    }
}

/*! _lists.scss | Bulkit | CSS Ninja */
.content ul {
    list-style-type: disc
}

.content ol {
    list-style-type: decimal
}

ul,
ol {
    list-style-type: none
}

.icon-bullet-list {
    list-style: none;
    padding: 0
}

.icon-bullet-list li {
    padding-left: 1.3em;
    padding: 3px 0 3px 1.3em
}

.icon-bullet-list li:before {
    content: "\f10c";
    font-family: FontAwesome;
    display: inline-block;
    margin-left: -1.3em;
    margin-right: 0.7rem;
    width: 1.3em
}

.solid-list {
    display: inline-block
}

.solid-list .solid-list-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 5px 0
}

.solid-list .solid-list-item .list-bullet i {
    font-size: 1.5rem;
    margin-right: 15px;
    position: relative;
    top: 2px;
    color: #A9ABAC
}

.inline-list {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.inline-list i.inline-bullet {
    font-size: 0.4rem;
    margin: 0 10px;
    color: #ededed;
    position: relative;
    top: 8px
}

.list-block {
    border: 1px solid #ededed;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.list-block li {
    padding: 10px 20px
}

.list-block li a {
    color: #444
}

.list-block li.is-active {
    background: #4FC1EA
}

.list-block li.is-active:hover {
    background: #4FC1EA
}

.list-block li.is-active .b-badge {
    border: 1px solid #fff;
    background: transparent
}

.list-block li.is-active a {
    color: #fff
}

.list-block li:hover {
    background: #EFF4F7
}

.list-block.bordered li:not(last-child) {
    border-bottom: 1px solid #ededed
}

.list-block.minimal {
    border: none;
    box-shadow: none
}

.list-block.minimal li {
    border-bottom: 1px solid #ededed
}

.list-block .b-badge {
    float: right
}

.list-block.is-secondary li.is-active {
    background: #7F00FF
}

.list-block.is-accent li.is-active {
    background: #7F00FF
}

.level.nav-level {
    padding: 20px 40px;
    border: 1px solid #ededed;
    background: #fff
}

.level.nav-level i {
    cursor: pointer
}

.level.nav-level i:hover {
    color: #4FC1EA
}

.level.centered-level {
    padding: 20px 40px;
    border: 1px solid #ededed;
    background: #fff
}

.user-list li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 15px
}

.user-list .user-list-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 100px
}

.user-list .user-list-info {
    margin: 0 10px
}

.user-list .user-list-info .name {
    font-size: 14px;
    font-weight: 500;
    color: #444F60
}

.user-list .user-list-info .position {
    font-size: 12px;
    color: #A9ABAC
}

.user-list .user-list-status {
    height: 10px;
    width: 10px;
    border-radius: 100px;
    background: #A9ABAC;
    margin-left: auto
}

.user-list .user-list-status.is-offline {
    background: #ededed
}

.user-list .user-list-status.is-online {
    background: #00b289
}

.user-list .user-list-status.is-busy {
    background: #eda514
}

.user-media-list li {
    margin: 15px 0
}

.user-media-list .media-left .image {
    position: relative
}

.user-media-list .media-left .image .avatar-status {
    height: 10px;
    width: 10px;
    border-radius: 200px;
    background: #A9ABAC;
    position: absolute;
    right: 1px;
    top: 3px
}

.user-media-list .media-left .image .avatar-status.is-offline {
    background: #ededed
}

.user-media-list .media-left .image .avatar-status.is-online {
    background: #00b289
}

.user-media-list .media-left .image .avatar-status.is-busy {
    background: #eda514
}

.user-media-list .media-content span {
    color: #444F60;
    font-weight: 500
}

/*! _labels.scss | Bulkit | CSS Ninja */
.b-badge {
    height: 20px;
    min-width: 20px;
    max-width: 100px;
    padding: 3px 6px;
    line-height: 1.2;
    white-space: nowrap;
    vertical-align: middle;
    font-size: 0.8rem;
    color: #fff;
    background: #999;
    text-align: center;
    border-radius: 3px
}

.b-badge.rounded {
    border-radius: 200px
}

.b-badge.badge-outlined {
    background: transparent;
    border: 1px solid #999;
    color: #999
}

.b-badge.is-primary {
    background: #4FC1EA
}

.b-badge.is-primary.badge-outlined {
    background: transparent;
    border: 1px solid #4FC1EA;
    color: #4FC1EA
}

.b-badge.is-secondary {
    background: #7F00FF
}

.b-badge.is-secondary.badge-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.b-badge.is-accent {
    background: #7F00FF
}

.b-badge.is-accent.badge-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.b-badge.is-success {
    background: #00b289
}

.b-badge.is-success.badge-outlined {
    background: transparent;
    border: 1px solid #00b289;
    color: #00b289
}

.b-badge.is-warning {
    background: #eda514
}

.b-badge.is-warning.badge-outlined {
    background: transparent;
    border: 1px solid #eda514;
    color: #eda514
}

.b-badge.is-danger {
    background: #FF7273
}

.b-badge.is-danger.badge-outlined {
    background: transparent;
    border: 1px solid #FF7273;
    color: #FF7273
}

.b-badge.is-info {
    background: #039BE5
}

.b-badge.is-info.badge-outlined {
    background: transparent;
    border: 1px solid #039BE5;
    color: #039BE5
}

.tag {
    margin-bottom: 5px
}

.tag.squared {
    border-radius: 2px !important
}

.tag.is-outlined {
    border: 1px solid #999
}

.tag.is-primary {
    background: #4FC1EA;
    color: #fff
}

.tag.is-primary.is-outlined {
    background: transparent;
    border: 1px solid #4FC1EA;
    color: #4FC1EA
}

.tag.is-secondary {
    background: #7F00FF;
    color: #fff
}

.tag.is-secondary.is-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.tag.is-accent {
    background: #7F00FF;
    color: #fff
}

.tag.is-accent.is-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.tag.is-success {
    background: #00b289;
    color: #fff
}

.tag.is-success.is-outlined {
    background: transparent;
    border: 1px solid #00b289;
    color: #00b289
}

.tag.is-warning {
    background: #eda514 !important;
    color: #fff !important
}

.tag.is-warning.is-outlined {
    background: transparent !important;
    border: 1px solid #eda514 !important;
    color: #eda514 !important
}

.tag.is-danger {
    background: #FF7273;
    color: #fff
}

.tag.is-danger.is-outlined {
    background: transparent;
    border: 1px solid #FF7273;
    color: #FF7273
}

.tag.is-info {
    background: #039BE5;
    color: #fff
}

.tag.is-info.is-outlined {
    background: transparent;
    border: 1px solid #039BE5;
    color: #039BE5
}

.tag.is-light {
    background: #fff;
    color: #444F60
}

.tag.is-light.is-outlined {
    background: transparent;
    border: 1px solid #fff;
    color: #fff
}

.tag span.delete {
    top: 2px
}

.tags.has-addons span:first-child {
    border-bottom-right-radius: 0 !important;
    border-top-right-radius: 0 !important;
    margin-right: 0
}

.tags.has-addons span:last-child {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
    margin-left: -5px
}

.tags.has-addons.is-centered {
    -ms-flex-pack: center;
    justify-content: center
}

.control.tag-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.tag.is-delete {
    margin-left: 1px;
    padding: 0;
    position: relative;
    width: 2em;
    border-radius: 0 2px 2px 0 !important;
    margin-left: -5px
}

.tag.is-delete:before {
    height: 1px;
    width: 50%
}

.tag.is-delete:after {
    height: 50%;
    width: 1px
}

.tag.is-delete:before,
.tag.is-delete:after {
    background-color: currentColor;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
    -webkit-transform-origin: center center;
    transform-origin: center center
}

/*! _dropdowns.scss | Bulkit | CSS Ninja */
.is-drop {
    position: relative;
    cursor: pointer
}

.is-drop i.sl-icon-arrow-down {
    font-size: 8px !important;
    top: 2px !important
}

.is-drop .drop-caret {
    position: relative;
    top: 5px
}

.is-drop .dropContain {
    width: 220px;
    position: absolute;
    z-index: 3;
    left: 50%;
    margin-left: -165px;
    top: -500vh
}

.is-drop .dropContain .dropOut {
    width: 220px;
    background: #fff;
    float: left;
    position: relative;
    margin-top: 15px;
    opacity: 0;
    border: 1px solid #ededed;
    border-radius: 4px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04);
    transition: all .5s ease-out
}

.is-drop .dropContain .dropOut .triangle {
    width: 0;
    height: 0;
    position: absolute;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #fff;
    top: -8px;
    left: 50%;
    margin-left: -8px
}

.is-drop .dropContain .dropOut ul li {
    text-align: left;
    float: left;
    width: 200px;
    padding: 12px 0 10px 15px;
    margin: 3px 10px;
    color: #777;
    border-radius: 4px;
    transition: background .2s ease-out
}

.is-drop .dropContain .dropOut ul li:hover {
    background: #EFF4F7;
    cursor: pointer
}

.is-drop .dropContain .dropOut ul li i.drop-icon {
    position: relative;
    top: 4px;
    margin-right: 15px
}

.is-drop .dropContain .dropOut ul li i.drop-icon.sl {
    position: relative;
    top: 0;
    margin-right: 15px
}

.is-drop .dropContain .dropOut ul {
    float: left;
    padding: 10px 0;
    list-style: none
}

.is-drop .dropContain .dropOut ul.big-icons li {
    padding: 2px 0 10px 15px;
    color: #A9ABAC
}

.is-drop .dropContain .dropOut ul.big-icons i.im {
    font-size: 18px;
    color: #A9ABAC;
    margin-right: 10px;
    position: relative;
    top: 1px
}

.is-drop .dropContain .dropOut ul li.dropdown-divider {
    padding: 0 !important;
    border-radius: 0 !important;
    height: 5px;
    border-bottom: 1px solid #f2f2f2
}

.is-drop .dropContain .dropOut ul li.dropdown-divider:hover {
    background-color: #fff
}

.is-drop .dropContain .dropOut.is-primary ul li:hover {
    background: #4FC1EA;
    color: #fff
}

.is-drop .dropContain .dropOut.is-secondary ul li:hover {
    background: #7F00FF;
    color: #fff
}

.is-drop .dropContain .dropOut.is-accent ul li:hover {
    background: #7F00FF;
    color: #fff
}

.is-drop:hover .dropContain {
    top: 30px !important
}

.is-drop:hover .dropContain .dropOut {
    -webkit-animation: fadeInUp 0.27s ease-out;
    animation: fadeInUp 0.27s ease-out;
    opacity: 1
}

.is-drop.drop-sm:hover .dropContain {
    top: 15px !important
}

.is-drop.is-centered .dropContain {
    margin-left: -110px
}

.is-drop.is-right .dropContain {
    margin-left: -55px
}

button i.sl-icon-arrow-down {
    font-size: 8px !important;
    top: 2px !important;
    padding-left: 8px !important
}

.jq-dropdown {
    position: absolute;
    top: 5px;
    z-index: 1039;
    display: none;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    -webkit-animation-duration: 0.27s;
    animation-duration: 0.27s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease
}

.jq-dropdown .jq-dropdown-menu,
.jq-dropdown .jq-dropdown-panel {
    min-width: 220px;
    max-width: 360px;
    list-style: none;
    background: white;
    border: solid 1px #ddd;
    border-radius: 4px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04);
    overflow: visible;
    padding: 4px 0;
    margin: 0
}

.jq-dropdown .jq-dropdown-panel {
    padding: 20px
}

.jq-dropdown.jq-dropdown-tip {
    margin-top: 8px
}

.jq-dropdown.jq-dropdown-tip:before {
    position: absolute;
    top: -6px;
    left: 9px;
    content: "";
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ddd;
    display: inline-block
}

.jq-dropdown.jq-dropdown-tip:after {
    position: absolute;
    top: -5px;
    left: 10px;
    content: "";
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid white;
    display: inline-block
}

.jq-dropdown.jq-dropdown-tip.jq-dropdown-anchor-right:before {
    left: auto;
    right: 9px
}

.jq-dropdown.jq-dropdown-tip.jq-dropdown-anchor-right:after {
    left: auto;
    right: 10px
}

.jq-dropdown.jq-dropdown-scroll .jq-dropdown-menu,
.jq-dropdown.jq-dropdown-scroll .jq-dropdown-panel {
    max-height: 180px;
    overflow: auto
}

.jq-dropdown.jq-dropdown-scroll .jq-dropdown-menu::-webkit-scrollbar {
    width: 10px
}

.jq-dropdown.jq-dropdown-scroll .jq-dropdown-menu::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.jq-dropdown li {
    list-style: none;
    padding: 0 3px;
    text-indent: 0;
    margin: 0;
    line-height: 18px
}

.jq-dropdown li>a,
.jq-dropdown label {
    display: block;
    color: inherit;
    text-decoration: none;
    line-height: 18px;
    padding: 10px 15px;
    margin: 0;
    white-space: nowrap
}

.jq-dropdown li>a:hover,
.jq-dropdown label:hover {
    background-color: #EFF4F7;
    color: inherit;
    cursor: pointer
}

.jq-dropdown .jq-dropdown-divider {
    font-size: 1px;
    border-top: solid 1px #e5e5e5;
    padding: 0;
    margin: 5px 0
}

.jq-dropdown .jq-dropdown-menu li>a:hover,
.jq-dropdown .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #EFF4F7;
    color: inherit
}

.jq-dropdown.is-primary .jq-dropdown-menu li>a:hover,
.jq-dropdown.is-primary .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #4FC1EA;
    color: #fff
}

.jq-dropdown.is-secondary .jq-dropdown-menu li>a:hover,
.jq-dropdown.is-secondary .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #7F00FF;
    color: #fff
}

.jq-dropdown.is-accent .jq-dropdown-menu li>a:hover,
.jq-dropdown.is-accent .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #7F00FF;
    color: #fff
}

/*! _pricing.scss | Bulkit | CSS Ninja */
.classic-pricing .pricing-table {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.classic-pricing .pricing-table.is-comparative .pricing-plan {
    margin: 0
}

.classic-pricing .pricing-table.is-comparative .pricing-plan:not(:last-child) {
    border-right: none
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-header {
    width: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-price {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-items {
    width: 100%;
    background-color: #fcfcfc;
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    -webkit-column-gap: 0.1rem;
    column-gap: 0.1rem
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-footer {
    width: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto
}

.classic-pricing .pricing-table .pricing-plan {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex: 1;
    flex: 1;
    background-color: #fff;
    border: 0.1rem solid #ededed;
    border-radius: 3px;
    list-style-type: none;
    transition: 0.25s;
    margin: 0.5em
}

.classic-pricing .pricing-table .pricing-plan .plan-header {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    background-color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center
}

.classic-pricing .pricing-table .pricing-plan .plan-item {
    background: #fcfcfc;
    border-bottom: 1px solid #ededed;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center;
    font-size: 0.9em;
    color: #444F60
}

.classic-pricing .pricing-table .pricing-plan .plan-item:hover {
    background: #EFF4F7
}

.classic-pricing .pricing-table .pricing-plan .plan-price {
    background-color: #fff;
    font-size: 0.8rem;
    font-weight: normal;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center
}

.classic-pricing .pricing-table .pricing-plan .plan-price .plan-price-amount {
    font-size: 3rem;
    font-weight: bolder
}

.classic-pricing .pricing-table .pricing-plan .plan-price .plan-price-amount .plan-price-currency {
    vertical-align: super;
    font-size: 1.1rem !important;
    font-weight: normal !important;
    color: #444F60;
    margin-right: 0.25rem
}

.classic-pricing .pricing-table .pricing-plan .plan-footer {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center;
    margin-top: auto
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-header {
    color: #4FC1EA
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-price .plan-price-amount {
    color: #4FC1EA
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-price .plan-price-currency {
    color: #4FC1EA
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button {
    background-color: #4FC1EA;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button.is-hovered {
    background-color: #44bde9;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(79, 193, 234, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button.is-active {
    background-color: #38b9e7;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button[disabled] {
    background-color: #4FC1EA;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-header {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-price .plan-price-amount {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-price .plan-price-currency {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button {
    background-color: #7F00FF;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button.is-hovered {
    background-color: #7900f2;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(127, 0, 255, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button.is-active {
    background-color: #7200e6;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button[disabled] {
    background-color: #7F00FF;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-header {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-price .plan-price-amount {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-price .plan-price-currency {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button {
    background-color: #7F00FF;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button.is-hovered {
    background-color: #7900f2;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(127, 0, 255, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button.is-active {
    background-color: #7200e6;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button[disabled] {
    background-color: #7F00FF;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-header {
    color: #00b289
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-price .plan-price-amount {
    color: #00b289
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-price .plan-price-currency {
    color: #00b289
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button {
    background-color: #00b289;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button.is-hovered {
    background-color: #00a57f;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(0, 178, 137, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button.is-active {
    background-color: #009975;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button[disabled] {
    background-color: #00b289;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-header {
    color: #eda514
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-price .plan-price-amount {
    color: #eda514
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-price .plan-price-currency {
    color: #eda514
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button {
    background-color: #eda514;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button.is-hovered {
    background-color: #e39d11;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(237, 165, 20, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button.is-active {
    background-color: #d79510;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button[disabled] {
    background-color: #eda514;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-header {
    color: #FF7273
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-price .plan-price-amount {
    color: #FF7273
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-price .plan-price-currency {
    color: #FF7273
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button {
    background-color: #FF7273;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button.is-hovered {
    background-color: #ff6566;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(255, 114, 115, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button.is-active {
    background-color: #ff595a;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button[disabled] {
    background-color: #FF7273;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-header {
    color: #039BE5
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-price .plan-price-amount {
    color: #039BE5
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-price .plan-price-currency {
    color: #039BE5
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button {
    background-color: #039BE5;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button.is-hovered {
    background-color: #0392d8;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(3, 155, 229, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button.is-active {
    background-color: #038acc;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button[disabled] {
    background-color: #039BE5;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-active {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px;
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

@media (min-width: 768px) and (max-width: 1024px) {
    .classic-pricing .pricing-table.is-comparative {
        margin: 0.5rem
    }

    .classic-pricing .pricing-table.is-comparative.is-features {
        display: none
    }

    .classic-pricing .pricing-table.is-comparative .plan-item::before {
        content: attr("data-feature")
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-header {
        width: 50%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-price {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-items {
        width: 100%;
        background-color: #fcfcfc;
        columns: 2;
        -webkit-columns: 2;
        -moz-columns: 2;
        -webkit-column-gap: 0.1rem;
        column-gap: 0.1rem
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-footer {
        width: 50%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        margin: auto
    }
}

@media (max-width: 767px) {
    .classic-pricing .pricing-table.is-comparative .pricing-plan {
        width: 100% !important;
        margin: 0.5rem
    }

    .classic-pricing .pricing-table.is-comparative .pricing-plan.is-features {
        display: none
    }

    .classic-pricing .pricing-table.is-comparative .pricing-plan .plan-item::before {
        content: attr(data-feature);
        display: block;
        font-weight: 600;
        font-size: 0.8rem;
        color: #EFF4F7
    }

    .classic-pricing .pricing-table.is-horizontal .plan-items {
        display: none
    }

    .classic-pricing .pricing-plan.is-mobile {
        min-width: 100% !important;
        display: block !important
    }
}

.minimal-pricing {
    border: 2px solid #444F60;
    border-radius: 2px
}

.minimal-pricing.wide-box {
    max-width: 100%;
    margin: 0 10px 0 10px;
    padding: 20px 0 20px 0
}

.minimal-pricing.featured {
    border: 2px solid #4FC1EA
}

.minimal-pricing.featured .plan-name {
    color: #4FC1EA
}

.minimal-pricing.featured .price .price-number {
    color: #4FC1EA
}

.minimal-pricing.featured .price .price-currency {
    color: #4FC1EA
}

.minimal-pricing.bg-secondary {
    background-color: #7F00FF;
    border: 2px solid #7F00FF
}

.minimal-pricing.bg-secondary .plan-name {
    color: #fff
}

.minimal-pricing.bg-secondary .price .price-number {
    color: #fff
}

.minimal-pricing.bg-secondary .price .price-currency {
    color: #fff
}

.minimal-pricing.bg-secondary .price .price-period {
    color: #fff
}

.minimal-pricing.bg-secondary .plan-features {
    color: #fff
}

.minimal-pricing .plan-name {
    color: #444F60;
    font-size: 1.3rem;
    font-weight: 500
}

.minimal-pricing .price {
    margin-bottom: 20px
}

.minimal-pricing .price .price-currency {
    font-weight: bold;
    font-size: 1.2rem;
    margin-right: 15px
}

.minimal-pricing .price .price-number {
    font-size: 6rem;
    font-weight: bold
}

.minimal-pricing .plan-features {
    margin-bottom: 30px
}

.minimal-pricing .plan-features ul li {
    padding: 5px 10px 5px 10px
}

.minimal-pricing.wide-box {
    background-image: url(https://via.placeholder.com/1280x720);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.plan-controls {
    padding: 10px 0
}

.plan-controls span {
    margin: 0 5px 0 5px;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer
}

.plan-controls span.is-active {
    border: 1px solid #4FC1EA;
    border-radius: 4px;
    color: #4FC1EA
}

.period-select {
    padding: 20px 0;
    max-width: 245px
}

.period-select span {
    padding: 8px 20px;
    font-size: 14px;
    cursor: pointer;
    color: #444F60;
    border: 1px solid #444F60
}

.period-select span:first-child {
    border-right: 1px solid #444F60;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px
}

.period-select span:last-child {
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px
}

.period-select span.is-active {
    background: #444F60;
    color: #fff
}

.side-pricing .pricing-card {
    display: inline-block;
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    border: 1px solid #ededed;
    border-radius: 6px;
    color: rgba(0, 0, 0, 0.87);
    background: #fff;
    transition: all 0.5s
}

.side-pricing .pricing-card .popular {
    position: absolute;
    top: 15px;
    right: 25px
}

.side-pricing .pricing-card .popular i {
    font-size: 26px;
    color: #4FC1EA
}

.side-pricing .pricing-card .inner {
    padding: 15px
}

.side-pricing .pricing-card .inner .plan-name {
    font-size: 0.9em;
    text-transform: uppercase;
    font-weight: 500;
    color: #999
}

.side-pricing .pricing-card .inner .plan-price {
    color: #444F60;
    font-weight: bolder;
    font-size: 3.8em;
    line-height: 1.15em;
    position: relative
}

.side-pricing .pricing-card .inner .plan-price small.currency {
    position: relative;
    top: 38px;
    left: -90px;
    font-size: 26px
}

.side-pricing .pricing-card .inner .plan-price small:last-child {
    font-size: 12px;
    font-weight: 400
}

.side-pricing .pricing-card .inner ul {
    list-style: none;
    padding: 0;
    max-width: 240px;
    margin: 10px auto
}

.side-pricing .pricing-card .inner ul li {
    color: #999;
    text-align: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(153, 153, 153, 0.3)
}

.side-pricing .pricing-card .inner ul li b {
    color: #3C4858
}

.side-pricing .pricing-card .inner a {
    margin: 10px 0
}

.side-pricing .pricing-card.transparent {
    background: transparent !important;
    box-shadow: none !important
}

.side-pricing .pricing-card.card-raised:hover {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px !important
}

.fancy-pricing .fancy-pricing-card {
    padding: 20px;
    text-align: center;
    border-radius: 15px 15px 0 15px;
    transition: all 0.3s
}

.fancy-pricing .fancy-pricing-card:hover {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
}

.fancy-pricing .fancy-pricing-card:hover .plan-icon i {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.fancy-pricing .fancy-pricing-card .plan-name {
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 10px 0
}

.fancy-pricing .fancy-pricing-card .plan-icon {
    padding: 20px 0
}

.fancy-pricing .fancy-pricing-card .plan-icon i {
    font-size: 3rem;
    padding: 20px;
    border: 1px solid #ededed;
    color: #fff;
    border-radius: 200px;
    transition: all 0.5s
}

.fancy-pricing .fancy-pricing-card .plan-price {
    font-size: 3rem;
    padding: 30px 20px;
    color: #444F60;
    font-weight: bolder
}

.fancy-pricing .fancy-pricing-card .plan-price small:first-child {
    font-size: 1.4rem;
    position: relative;
    top: -20px
}

.fancy-pricing .fancy-pricing-card .plan-price small:last-child {
    font-size: 1rem;
    font-weight: 400
}

.fancy-pricing .fancy-pricing-card .plan-features {
    text-align: left;
    padding: 10px 0
}

.fancy-pricing .fancy-pricing-card .plan-features li {
    margin: 10px 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.fancy-pricing .fancy-pricing-card .plan-features li .feature-count.unlimited {
    font-size: 1rem;
    font-weight: 500
}

.fancy-pricing .fancy-pricing-card .plan-features li .feature-count-text {
    color: #999
}

.fancy-pricing .fancy-pricing-card.streched {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 40px
}

.fancy-pricing .fancy-pricing-card.streched .plan-name {
    font-family: 'Nexa Bold', sans-serif;
    margin-bottom: 0;
    margin-right: 25px
}

.fancy-pricing .fancy-pricing-card.streched .plan-price {
    margin-top: 0;
    font-size: 2rem
}

.fancy-pricing .fancy-pricing-card.streched .plan-price small:first-child {
    position: static !important
}

.fancy-pricing .fancy-pricing-card.streched .large-count {
    font-size: 1.3rem;
    font-weight: 500
}

.fancy-pricing .fancy-pricing-card.primary .plan-name {
    color: #4FC1EA
}

.fancy-pricing .fancy-pricing-card.primary .plan-icon i {
    color: #4FC1EA
}

.fancy-pricing .fancy-pricing-card.primary .plan-features li .large-count {
    color: #4FC1EA
}

.fancy-pricing .fancy-pricing-card.secondary .plan-name {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.secondary .plan-icon i {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.secondary .plan-features li .large-count {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.accent .plan-name {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.accent .plan-icon i {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.accent .plan-features li .large-count {
    color: #7F00FF
}

.header-pricing .header-pricing-card {
    text-align: center;
    border-radius: 15px 15px 0 15px;
    transition: all 0.3s
}

.header-pricing .header-pricing-card .plan-name {
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    color: #fff;
    background: #999;
    padding: 20px
}

.header-pricing .header-pricing-card .pricing-card-body {
    border: 1px solid #ededed;
    border-top-color: transparent
}

.header-pricing .header-pricing-card .pricing-card-body .plan-price {
    font-size: 3rem;
    padding: 40px 20px;
    color: #444F60;
    font-weight: bolder
}

.header-pricing .header-pricing-card .pricing-card-body .plan-price small:first-child {
    font-size: 1.4rem;
    position: relative;
    top: -20px
}

.header-pricing .header-pricing-card .pricing-card-body .plan-price small:last-child {
    font-size: 1rem;
    font-weight: 400
}

.header-pricing .header-pricing-card .pricing-card-body ul {
    list-style: none;
    padding: 0;
    max-width: 240px;
    margin: 10px auto
}

.header-pricing .header-pricing-card .pricing-card-body ul li {
    color: #999;
    text-align: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(153, 153, 153, 0.3)
}

.header-pricing .header-pricing-card .pricing-card-body ul li b {
    color: #3C4858
}

.header-pricing .header-pricing-card.primary .plan-name {
    background: #4FC1EA
}

.header-pricing .header-pricing-card.secondary .plan-name {
    background: #7F00FF
}

.header-pricing .header-pricing-card.accent .plan-name {
    background: #7F00FF
}

/*! _messages.scss | Bulkit | CSS Ninja */
.message .message-header {
    background: #999
}

.message.msg-primary .message-header {
    background: #4FC1EA
}

.message.msg-primary .message-body {
    border: 1px solid #4FC1EA
}

.message.msg-secondary .message-header {
    background: #7F00FF
}

.message.msg-secondary .message-body {
    border: 1px solid #7F00FF
}

.message.msg-accent .message-header {
    background: #7F00FF
}

.message.msg-accent .message-body {
    border: 1px solid #7F00FF
}

.message.msg-info .message-header {
    background: #039BE5
}

.message.msg-info .message-body {
    border: 1px solid #039BE5
}

.message.msg-success .message-header {
    background: #00b289
}

.message.msg-success .message-body {
    border: 1px solid #00b289
}

.message.msg-warning .message-header {
    background: #eda514
}

.message.msg-warning .message-body {
    border: 1px solid #eda514
}

.message.msg-danger .message-header {
    background: #FF7273
}

.message.msg-danger .message-body {
    border: 1px solid #FF7273
}

.message.icon-msg {
    position: relative
}

.message.icon-msg .message-body {
    padding: 1em 3em 1em 1.5em
}

.message.icon-msg .message-body h4 {
    padding-bottom: 5px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #444F60
}

.message.icon-msg i {
    position: absolute;
    top: -35px;
    right: -20px;
    padding: 20px;
    background: #999;
    border: 5px solid white;
    border-radius: 100px;
    color: #fff
}

.message.icon-msg.primary-msg i {
    background: #4FC1EA
}

.message.icon-msg.secondary-msg i {
    background: #7F00FF
}

.message.icon-msg.accent-msg i {
    background: #7F00FF
}

.message.icon-msg.info-msg i {
    background: #039BE5
}

.message.icon-msg.success-msg i {
    background: #00b289
}

.message.icon-msg.warning-msg i {
    background: #eda514
}

.message.icon-msg.danger-msg i {
    background: #FF7273
}

.ggpopover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: none;
    max-width: 276px;
    padding: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: left;
    white-space: normal;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ededed;
    border-radius: 4px;
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.ggpopover.fade {
    filter: alpha(opacity=0);
    opacity: 0;
    transition: opacity 0.15s linear
}

.ggpopover.fade.in {
    filter: alpha(opacity=100);
    opacity: 1
}

.ggpopover.top {
    margin-top: -20px
}

.ggpopover.top>.arrow {
    bottom: -11px;
    left: 50%;
    margin-left: -11px;
    border-top-color: #999;
    border-top-color: rgba(0, 0, 0, 0.25);
    border-bottom-width: 0
}

.ggpopover.top>.arrow>.after {
    bottom: 1px;
    margin-left: -10px;
    content: " ";
    border-top-color: #fff;
    border-bottom-width: 0
}

.ggpopover.right {
    margin-left: 20px
}

.ggpopover.right>.arrow {
    top: 50%;
    left: -11px;
    margin-top: -11px;
    border-right-color: #999;
    border-right-color: rgba(0, 0, 0, 0.25);
    border-left-width: 0
}

.ggpopover.right>.arrow>.after {
    bottom: -10px;
    left: 1px;
    content: " ";
    border-right-color: #fff;
    border-left-width: 0
}

.ggpopover.bottom {
    margin-top: 20px
}

.ggpopover.bottom .arrow .after {
    border-bottom-color: #f7f7f7
}

.ggpopover.bottom>.arrow {
    top: -11px;
    left: 50%;
    margin-left: -11px;
    border-top-width: 0;
    border-bottom-color: #999;
    border-bottom-color: rgba(0, 0, 0, 0.25)
}

.ggpopover.bottom>.arrow>.after {
    top: 1px;
    margin-left: -10px;
    content: " ";
    border-top-width: 0;
    border-bottom-color: #fff
}

.ggpopover.left {
    margin-left: -20px
}

.ggpopover.left>.arrow {
    top: 50%;
    right: -11px;
    margin-top: -11px;
    border-right-width: 0;
    border-left-color: #999;
    border-left-color: rgba(0, 0, 0, 0.25)
}

.ggpopover.left>.arrow>.after {
    right: 1px;
    bottom: -10px;
    content: " ";
    border-right-width: 0;
    border-left-color: #fff
}

.ggpopover .popover-title {
    padding: 8px 14px;
    margin: 0;
    font-size: 14px;
    background-color: #fff;
    border-bottom: 1px solid #000;
    border-color: #ededed;
    border-radius: 4px 4px 0 0;
    color: #444F60
}

.ggpopover .popover-content {
    padding: 9px 14px 15px 14px;
    border-radius: 0 0 4px 4px;
    font-size: 0.9rem;
    color: #666 !important
}

.ggpopover>.arrow,
.ggpopover .arrow>.after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid
}

.ggpopover>.arrow {
    border-width: 11px
}

.ggpopover .arrow>.after {
    content: "";
    border-width: 10px
}

.ggtooltip {
    position: absolute;
    z-index: 1030;
    display: block;
    padding: 5px;
    font-size: 10px;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: visible
}

.ggtooltip.fade {
    opacity: 0;
    transition: opacity 0.2s linear
}

.ggtooltip.fade.in {
    opacity: 1
}

.ggtooltip.in {
    opacity: 0.8;
    filter: alpha(opacity=80)
}

.ggtooltip.top {
    margin-top: -15px
}

.ggtooltip.top .ggtooltip-arrow,
.ggtooltip.top .ggtooltip-arrow-shadow {
    bottom: 1px;
    left: 50%;
    margin-left: -5px;
    border-top-color: #222 !important;
    border-width: 5px 5px 0
}

.ggtooltip.top .ggtooltip-arrow-shadow {
    bottom: 0
}

.ggtooltip.right {
    margin-left: 15px
}

.ggtooltip.right .ggtooltip-arrow,
.ggtooltip.right .ggtooltip-arrow-shadow {
    top: 50%;
    left: 1px;
    margin-top: -5px;
    border-right-color: #222 !important;
    border-width: 5px 5px 5px 0
}

.ggtooltip.right .ggtooltip-arrow-shadow {
    left: 0
}

.ggtooltip.bottom {
    margin-top: 15px
}

.ggtooltip.bottom .ggtooltip-arrow,
.ggtooltip.bottom .ggtooltip-arrow-shadow {
    top: 1px;
    left: 50%;
    margin-left: -5px;
    border-bottom-color: #222 !important;
    border-width: 0 5px 5px
}

.ggtooltip.bottom .ggtooltip-arrow-shadow {
    top: 0
}

.ggtooltip.left {
    margin-left: -15px
}

.ggtooltip.left .ggtooltip-arrow,
.ggtooltip.left .ggtooltip-arrow-shadow {
    top: 50%;
    right: 1px;
    margin-top: -5px;
    border-left-color: #222 !important;
    border-width: 5px 0 5px 5px
}

.ggtooltip.left .ggtooltip-arrow-shadow {
    right: 0
}

.ggtooltip .ggtooltip-inner {
    max-width: 200px;
    padding: 8px 12px;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none;
    background-color: #222 !important;
    border-radius: 4px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04)
}

.ggtooltip .ggtooltip-arrow,
.ggtooltip .ggtooltip-arrow-shadow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent !important;
    border-style: solid
}

/*! _checkboxes.scss | Bulkit | CSS Ninja */
.b-checkbox {
    position: relative
}

.b-checkbox label {
    padding-left: 5px;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1
}

.b-checkbox label::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 17px;
    left: 0;
    top: 1px;
    border: 1px solid #dbdbdb;
    border-radius: 3px;
    background-color: #fff;
    transition: background .1s ease-in-out
}

.b-checkbox label::after {
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    font-size: 12px;
    color: #363636
}

.b-checkbox input[type="checkbox"],
.b-checkbox input[type="radio"] {
    opacity: 0;
    z-index: 1;
    cursor: pointer
}

.b-checkbox input[type="checkbox"]:checked+label::after,
.b-checkbox input[type="radio"]:checked+label::after {
    font-family: "FontAwesome";
    content: "\f00c"
}

.b-checkbox input[type="checkbox"]:disabled,
.b-checkbox input[type="radio"]:disabled {
    cursor: not-allowed
}

.b-checkbox input[type="checkbox"]:disabled+label,
.b-checkbox input[type="radio"]:disabled+label {
    opacity: 0.65
}

.b-checkbox input[type="checkbox"]:disabled+label::before,
.b-checkbox input[type="radio"]:disabled+label::before {
    background-color: whitesmoke;
    cursor: not-allowed
}

.b-checkbox.is-circular label::before {
    border-radius: 50%
}

.b-checkbox.is-inline {
    display: inline-block;
    font-weight: normal
}

.b-checkbox.is-inline+.is-inline {
    margin-left: 10px
}

.b-checkbox.is-primary input[type="checkbox"]:checked+label::before {
    background-color: #4FC1EA;
    border-color: #4FC1EA
}

.b-checkbox.is-primary input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-secondary input[type="checkbox"]:checked+label::before {
    background-color: #7F00FF;
    border-color: #7F00FF
}

.b-checkbox.is-secondary input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-accent input[type="checkbox"]:checked+label::before {
    background-color: #7F00FF;
    border-color: #7F00FF
}

.b-checkbox.is-accent input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-danger input[type="checkbox"]:checked+label::before {
    background-color: #FF7273;
    border-color: #FF7273
}

.b-checkbox.is-danger input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-info input[type="checkbox"]:checked+label::before {
    background-color: #039BE5;
    border-color: #039BE5
}

.b-checkbox.is-info input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-warning input[type="checkbox"]:checked+label::before {
    background-color: #eda514;
    border-color: #eda514
}

.b-checkbox.is-warning input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-success input[type="checkbox"]:checked+label::before {
    background-color: #00b289;
    border-color: #00b289
}

.b-checkbox.is-success input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-dark input[type="checkbox"]:checked+label::before {
    background-color: #444;
    border-color: #444
}

.b-checkbox.is-dark input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox input[type="checkbox"].styled:checked+label:after {
    font-family: "FontAwesome";
    content: "\f00c"
}

.b-checkbox input[type="checkbox"] .styled:checked+label::before {
    color: #fff
}

.b-checkbox input[type="checkbox"] .styled:checked+label::after {
    color: #fff
}

/*! _details.scss | Bulkit | CSS Ninja */
.side-block {
    width: 100%;
    height: 100%;
    position: relative;
    background-color: transparent;
    overflow: visible;
    z-index: 2
}

.side-block .background-wrapper {
    background-color: #344258;
    border-radius: 10px;
    overflow: visible
}

.side-block .background-wrapper .video-wrapper {
    position: relative;
    height: 0;
    max-width: 100%;
    padding-bottom: 56.25%;
    margin-bottom: 0;
    overflow: hidden;
    cursor: pointer;
    display: block
}

.side-block .background-wrapper .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: 10px;
    overflow: hidden
}

.side-block .background-wrapper .video-wrapper .video-overlay {
    position: absolute;
    width: 100%;
    background-size: cover;
    filter: alpha(opacity=35);
    opacity: 0.2
}

.side-block .background-wrapper .video-wrapper .playbutton {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -40px;
    margin-top: -63px;
    cursor: pointer
}

.side-block .background-wrapper .video-wrapper .playbutton .icon-play i {
    font-size: 6rem;
    color: #4FC1EA;
    transition: all 0.5s
}

.side-block .background-wrapper .video-wrapper .playbutton .icon-play i:hover {
    color: #7F00FF
}

.image-grid .image-title {
    font-size: 1.1rem;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 2rem;
    color: #444F60
}

.image-grid figure {
    position: relative;
    overflow: hidden;
    background: transparent;
    text-align: center;
    cursor: pointer;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.18)
}

.image-grid figure img {
    position: relative;
    display: block;
    min-height: 100%;
    max-width: 100%;
    opacity: 0.8
}

.image-grid figure figcaption {
    padding: 2em;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.image-grid figure figcaption:before,
.image-grid figure figcaption:after {
    pointer-events: none
}

.image-grid figure figcaption a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0
}

.image-grid figure h2 {
    word-spacing: -0.15em;
    font-weight: 300;
    margin: 0
}

.image-grid figure h2 span {
    font-weight: 800
}

.image-grid figure p {
    margin: 0;
    letter-spacing: 1px;
    font-size: 68.5%
}

.image-grid figure p span {
    font-size: 75% !important;
    color: #fff
}

figure.round-corner {
    background: linear-gradient(-45deg, #000 0%, #fff 100%);
    border-radius: 5px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04)
}

figure.round-corner img {
    margin: -10px 0 0 -10px;
    max-width: none;
    width: calc(100% + 10px);
    opacity: 0.9;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(10px, 10px, 0);
    transform: translate3d(10px, 10px, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

figure.round-corner figcaption:before {
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    position: absolute;
    right: -100px;
    bottom: -100px;
    width: 300px;
    height: 300px;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 900px rgba(255, 255, 255, 0.2);
    content: '';
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 1);
    transform: scale3d(0.5, 0.5, 1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

figure.round-corner p {
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0 1.5em 1.5em 0;
    width: 140px;
    text-align: right;
    opacity: 0;
    -webkit-transform: translate3d(20px, 20px, 0);
    transform: translate3d(20px, 20px, 0)
}

figure.round-corner:hover img {
    opacity: 0.6;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.round-corner:hover figcaption::before {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1)
}

figure.round-corner:hover h2,
figure.round-corner:hover p {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.round-corner h2 {
    text-align: left;
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(5px, 5px, 0);
    transform: translate3d(5px, 5px, 0)
}

figure.cornered img {
    max-width: none;
    width: calc(100% + 60px);
    opacity: 1;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(-30px, 0, 0) scale(1.12);
    transform: translate3d(-30px, 0, 0) scale(1.12);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

figure.cornered h2 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 1em 1.2em
}

figure.cornered:hover img {
    opacity: 0.5;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale(1)
}

figure.cornered:hover p {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.cornered p {
    padding: 0 10px 0 0;
    width: 50%;
    border-right: 1px solid #fff;
    text-align: right;
    opacity: 0;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0)
}

figure.team-hover figcaption {
    top: auto;
    bottom: 0;
    padding: 1em;
    height: 3.75em;
    background: #fff;
    color: #3c4a50;
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0)
}

figure.team-hover h2 {
    float: left;
    display: inline-block
}

figure.team-hover p.icon-links a {
    float: right !important;
    color: #3c4a50;
    font-size: 1.4em
}

figure.team-hover p.icon-links a:hover span::before {
    color: #4FC1EA
}

figure.team-hover p.description {
    position: absolute;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
    bottom: 65px;
    padding: 1em;
    color: #fff;
    text-transform: none;
    font-size: 90%;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    transition: opacity 0.35s;
    -webkit-backface-visibility: hidden
}

figure.team-hover h2,
figure.team-hover p.icon-links a {
    position: static;
    width: auto;
    height: auto;
    z-index: 1000;
    text-indent: 0 !important;
    white-space: nowrap;
    opacity: inherit;
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 200%, 0);
    transform: translate3d(0, 200%, 0)
}

figure.team-hover p.icon-links a span::before {
    display: inline-block;
    font-size: 1.2rem;
    margin-top: -5px;
    padding: 8px 10px;
    font-family: 'FontAwesome';
    color: #444F60;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

figure.team-hover .icon-twitter::before {
    content: '\f099'
}

figure.team-hover .icon-linkedin::before {
    content: '\f0e1'
}

figure.team-hover .icon-dribbble::before {
    content: '\f17d'
}

figure.team-hover:hover p.icon-links a:hover,
figure.team-hover:hover p.icon-links a:focus {
    color: #252d31
}

figure.team-hover:hover p.description {
    opacity: 1
}

figure.team-hover:hover figcaption,
figure.team-hover:hover h2,
figure.team-hover:hover p.icon-links a {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.team-hover:hover h2 {
    transition-delay: 0.05s
}

figure.team-hover:hover p.icon-links a:nth-child(3) {
    transition-delay: 0.1s
}

figure.team-hover:hover p.icon-links a:nth-child(2) {
    transition-delay: 0.15s
}

figure.team-hover:hover p.icon-links a:first-child {
    transition-delay: 0.2s
}

figure.team-slanted {
    background: #162633;
    text-align: left
}

figure.team-slanted img {
    transition: opacity 0.45s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

figure.team-slanted figcaption::before {
    position: absolute;
    top: 95%;
    left: 10%;
    width: 200%;
    height: 100%;
    opacity: 0;
    background: rgba(255, 255, 255, 0.8) no-repeat center center;
    background-size: 100% 100%;
    content: '';
    transition: opacity 0.45s, -webkit-transform 0.45s;
    transition: opacity 0.45s, transform 0.45s;
    transition: opacity 0.45s, transform 0.45s, -webkit-transform 0.45s;
    -webkit-transform: rotate3d(0, 0, 1, 0);
    transform: rotate3d(0, 0, 1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

figure.team-slanted .member-position {
    position: static !important;
    font-size: 0.9rem;
    opacity: 0;
    transition: all 0.5s
}

figure.team-slanted h2 {
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0)
}

figure.team-slanted p {
    position: absolute;
    right: 0;
    bottom: -5px;
    padding: 0 1.5em 7% 0
}

figure.team-slanted a {
    margin: 0 10px;
    color: #5d504f;
    font-size: 170% !important;
    position: static !important;
    width: auto;
    height: auto;
    text-indent: 0 !important;
    white-space: nowrap;
    opacity: 1 !important
}

figure.team-slanted a:hover,
figure.team-slanted a:focus {
    color: #4FC1EA
}

figure.team-slanted p a i {
    opacity: 0;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0)
}

figure.team-slanted:hover img {
    opacity: 0.6
}

figure.team-slanted:hover h2 {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.team-slanted:hover figcaption::before {
    opacity: 0.9;
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg)
}

figure.team-slanted:hover p i {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.team-slanted:hover p a:nth-child(3) i {
    transition-delay: 0.05s
}

figure.team-slanted:hover p a:nth-child(2) i {
    transition-delay: 0.1s
}

figure.team-slanted:hover p a:first-child i {
    transition-delay: 0.15s
}

figure.team-slanted:hover .member-position {
    opacity: 1
}

.shadow-z-1 {
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37)
}

.shadow-z-2 {
    box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3), 0 2px 2px 0 rgba(0, 0, 0, 0.2)
}

.shadow-z-3 {
    box-shadow: 0 13px 25px 0 rgba(0, 0, 0, 0.3), 0 7px 7px 0 rgba(0, 0, 0, 0.19)
}

.shadow-z-4 {
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.3), 0 14px 12px 0 rgba(0, 0, 0, 0.17)
}

.shadow-z-5 {
    box-shadow: 0 27px 55px 0 rgba(0, 0, 0, 0.3), 0 17px 17px 0 rgba(0, 0, 0, 0.15)
}

.switcher .switcher-block {
    width: 48px;
    height: 48px;
    background-color: #999;
    position: fixed;
    top: 20px;
    left: 20px;
    border-radius: 4px;
    transition: all 0.5s;
    cursor: pointer;
    overflow: visible
}

.switcher .switcher-block.is-primary {
    background-color: #4FC1EA
}

.switcher .switcher-block.is-secondary {
    background-color: #7F00FF
}

.switcher .switcher-block.is-accent {
    background-color: #7F00FF
}

.switcher .switcher-block:hover {
    width: 200px
}

.switcher .switcher-block:hover .button-text {
    display: block
}

.switcher .switcher-block i {
    position: relative;
    top: 15px;
    left: 15px;
    color: #fff;
    font-size: 1.3rem
}

.switcher .switcher-block .button-text {
    position: absolute;
    top: 13px;
    left: 35%;
    color: #fff;
    display: none
}

/*! _auth.scss | Bulkit | CSS Ninja */
.top-logo {
    height: 40px
}

.intro-section .intro-text .intro-title {
    margin: 15px 0;
    font-size: 18px;
    color: #4FC1EA
}

.intro-section .intro-text .intro-sub {
    padding: 20px 30px;
    font-size: 14px;
    color: #A9ABAC
}

.login {
    padding: 10px 0
}

.column.login-column {
    padding: 0 !important
}

.login-wrapper {
    overflow: hidden !important;
    height: 100%;
    padding: 0;
    margin: 0
}

.login-wrapper.is-gapless:not(:last-child) {
    margin-bottom: 0 !important
}

.hero.login-hero,
.hero.signup-hero {
    background-position: center;
    background-size: auto
}

#signup-banner .hero {
    background: url("https://source.unsplash.com/DWui9DmfCXA/");
    background-position: center;
    background-size: cover;
    background-blend-mode: screen
}

.hero-banner .title {
    padding: 25px;
    padding-top: 25%
}

.hero-banner .subtitle {
    padding: 0 30px
}

.hero-banner img.login-city {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0
}

.hero-banner .button {
    position: relative;
    z-index: 2
}

.signup-hero .title {
    padding: 25px;
    padding-top: 15%
}

.signup-hero .subtitle {
    padding: 0 22%
}

.signup-hero img.mockup {
    position: absolute;
    bottom: -15%;
    left: 0;
    right: 0;
    z-index: 0
}

.signup-hero .already {
    position: absolute;
    top: 0;
    right: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px
}

.signup-hero .already span {
    margin-right: 15px;
    color: #fff
}

.signup-hero .already a {
    min-width: 80px
}

.forgot,
.no-account,
.return {
    color: #A9ABAC !important;
    transition: opacity 0.5s
}

.forgot:hover,
.no-account:hover,
.return:hover {
    opacity: 0.8;
    color: #4FC1EA !important
}

.forgot.is-secondary,
.no-account.is-secondary,
.return.is-secondary {
    color: #7F00FF !important
}

.forgot.is-accent,
.no-account.is-accent,
.return.is-accent {
    color: #7F00FF !important
}

.forgot-password a {
    color: #95A5A6;
    font-weight: normal;
    padding-right: 20px;
    transition: all 0.6s
}

.forgot-password a:hover {
    color: #4FC1EA
}

.no-account-link a {
    color: #A9ABAC;
    font-weight: 500
}

.no-account-link a:hover {
    color: #4FC1EA
}

.icon.user,
.icon.password {
    margin: 5px 10px 0 0
}

.checkbox-wrap {
    color: #A9ABAC;
    margin-bottom: 10px
}

.checkbox-wrap span {
    position: relative;
    top: -2px
}

/*! _landing.scss | Bulkit | CSS Ninja */
#landing-hero {
    background: #ffa500 url(../images/bg/shapes/bg.png) repeat 0 0;
    -webkit-animation: 18s linear 0s normal none infinite animate;
    animation: 18s linear 0s normal none infinite animate
}

@-webkit-keyframes animate {
    from {
        background-position: 0 0
    }

    to {
        background-position: 0 -1450px
    }
}

@keyframes animate {
    from {
        background-position: 0 0
    }

    to {
        background-position: 0 -1450px
    }
}

.hero.hero-waves:before {
    background: transparent url(../images/bg/shapes/wavy.png) no-repeat scroll 0 bottom/100% auto;
    content: "";
    height: 321px;
    width: 100%;
    z-index: 0 !important;
    position: absolute;
    bottom: -1px;
    left: 0
}

.header-caption {
    margin-top: -80px;
    padding: 0 20px;
    text-align: left
}

.header-caption .landing-title {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 3.4rem;
    font-weight: 900 !important;
    margin-bottom: 0 !important;
    color: #fff
}

.header-caption .landing-title.is-big {
    font-size: 4rem
}

.header-caption .subtitle {
    margin-bottom: 0;
    padding: 10px 0
}

.header-caption.is-centered {
    text-align: center !important
}

@media (max-width: 767px) {
    .header-caption {
        text-align: center;
        padding: 40px 10px
    }

    .header-caption .landing-title {
        font-size: 2.5rem
    }
}

@media (max-width: 768px) {
    .header-caption {
        margin-top: 0 !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .header-caption {
        text-align: center
    }
}

.section-title-wrapper .section-title-landing {
    margin-top: 40px;
    font-family: 'Nexa Bold', sans-serif;
    font-size: 2.6rem;
    color: #000000;
    padding: 10px 0;
}

.section-title-wrapper h4 {
    padding: 20px 40px;
    font-family: 'Nexa Light', sans-serif;
    font-weight: 300;
    font-size: 1.2rem;
    color: #999
}

.half-mockup {
    position: absolute;
    bottom: 0;
    max-height: 550px
}

.phone-slide {
    background-position: center left;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: 50% 50%;
    vertical-align: top;
    padding: 800px 30px 30px 30px
}

.phone-slide.is-first {
    background-image: url(../images/illustrations/mockups/landing/phone-slide-1.png)
}

.phone-slide.is-second {
    background-image: url(../images/illustrations/mockups/landing/phone-slide-2.png)
}

.phone-slide.is-third {
    background-image: url(../images/illustrations/mockups/landing/phone-slide-3.png)
}

.phone-slide.is-fourth {
    background-image: url(../images/illustrations/mockups/landing/phone-slide-4.png)
}

.featured-svg-lg {
    max-width: 550px;
    max-height: 550px
}

.wavy-icon-box i {
    font-size: 3.8rem;
    font-weight: normal;
    color: #7F00FF
}

.wavy-icon-box .box-title {
    font-family: 'Nexa Light', sans-serif;
    padding: 5px 0;
    font-size: 15px;
    line-height: 20px;
    font-weight: 500;
    margin-bottom: 10px;
    color: rgba(255, 194, 0, 1);
}

.wavy-icon-box .box-content {
    color: #000000;
}

.wavy-icon-box img {
    width: 50px;
    height: 50px;
    margin-bottom: 5px;
}

.square-icon-box.is-landing .box-title {
    font-family: 'Nexa Light', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #444F60
}

.square-icon-box.is-landing .box-text {
    font-size: 14px
}

.quick-feature.is-handwritten {
    font-size: 2.1rem !important;
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 400 !important;
    margin-bottom: 0.8rem !important
}

.quick-feature.is-handwritten .bg-number {
    padding-right: 10px !important;
    font-family: 'Roboto' !important
}

.event-card.is-wavy h2.text-title {
    font-family: 'Nexa Bold', sans-serif;
    text-transform: none;
    font-size: 1.35em
}

.event-card.is-wavy p.text-subtitle {
    font-family: 'Nexa Light', sans-serif;
    font-size: 0.9rem
}

.testimonials.is-wavy .testimonial-name h3 {
    font-family: 'Nexa Bold', sans-serif
}

@media (max-width: 768px) {
    .testimonial-item {
        margin: 40px 15px !important
    }

    .testimonial-item .testimonial-content p {
        padding: 20px !important
    }
}

.bottom-spacer {
    margin-bottom: 80px;
    min-height: 100px
}

.small-feature {
    padding: 5px 0;
    font-family: 'Nexa Bold', sans-serif;
    font-size: 1.3rem
}

#features-video {
    margin-top: -35%
}

#header-pricing {
    margin-top: -20%
}

@media (max-width: 768px) {
    #features-video {
        margin-top: 0 !important
    }
}

.pricing-picker span {
    color: #fff;
    font-family: 'Nexa Light', sans-serif;
    margin: 0 5px 0 5px;
    padding: 10px 20px 13px 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer
}

.pricing-picker span.is-active {
    border: 1px solid #fff
}

.header-pricing.is-wavy .flex-card {
    border: none !important
}

.header-pricing.is-wavy .flex-card .plan-name {
    font-family: 'Nexa Bold', sans-serif;
    text-transform: none;
    font-size: 1.4rem
}

.giant-input-wrapper.is-wavy {
    padding: 30px 40px;
    background: #efefef
}

.giant-input-wrapper.is-wavy .giant-input {
    position: relative;
    min-width: 300px;
    max-width: 100%
}

.giant-input-wrapper.is-wavy .giant-input input {
    padding: 20px 165px 20px 20px;
    width: 100%;
    background: #fff;
    color: #999;
    border: none;
    height: 60px;
    line-height: 60px;
    transition: all 0.5s;
    border: 1px solid rgba(213, 220, 247, 0.59);
    border-radius: 100px
}

.giant-input-wrapper.is-wavy .giant-input input:focus {
    outline: none !important;
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.giant-input-wrapper.is-wavy .giant-input button.inner {
    position: absolute;
    right: 7px;
    top: 7px
}

.section.footer-waves:after {
    background: transparent url(../images/bg/shapes/wavy-dark.png) no-repeat scroll 0 bottom/100% auto;
    content: "";
    height: 321px;
    width: 100%;
    z-index: 0 !important;
    position: absolute;
    bottom: -1px;
    left: 0
}

.hero.hero-waves-dark:before {
    background: transparent url(../images/bg/shapes/wavy-dark.png) no-repeat scroll 0 bottom/100% auto;
    content: "";
    height: 321px;
    width: 100%;
    z-index: 0 !important;
    position: absolute;
    bottom: -1px;
    left: 0
}

.wavy-login-card,
.wavy-signup-card {
    padding: 40px;
    border-radius: 6px;
    max-width: 400px;
    margin: auto;
    background-color: white;
    border: 1px solid #ecf0f1;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.05)
}

.wavy-login-card h2,
.wavy-signup-card h2 {
    font-size: 22px;
    margin-bottom: 40px;
    font-weight: 700 !important;
    font-family: 'Nexa Light', sans-serif
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    #landing-hero figure img {
        left: 25%;
        top: 20%
    }

    p.is-tablet-padded {
        padding: 0 10%
    }

    .column.slide-description {
        padding: 40px 0 !important
    }

    .event-card.is-wavy .text-title {
        font-size: 1.5rem !important
    }
}

/*! _layout-utils.scss | Bulkit | CSS Ninja */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    overflow: hidden !important
}

a,
a:active,
i,
i:active,
div,
div:active,
div:focus,
span:focus,
span:active {
    outline: none !important
}

.button.is-active,
.button:active,
.button:focus {
    box-shadow: none !important
}

section:focus {
    outline: none !important
}

@font-face {
    font-family: 'Nexa Light';
    src: url("../fonts/text/nexa/NexaLight.woff") format("woff"), url("../fonts/text/nexa/NexaLight.ttf") format("truetype")
}

@font-face {
    font-family: 'Nexa Bold';
    font-weight: bold;
    src: url("../fonts/text/nexa/NexaBold.woff") format("woff"), url("../fonts/text/nexa/NexaBold.ttf") format("truetype")
}

#backtotop {
    position: fixed;
    right: 0;
    opacity: 0;
    visibility: hidden;
    bottom: 25px;
    margin: 0 25px 0 0;
    z-index: 9999;
    transition: 0.35s;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    transition: all 0.5s
}

#backtotop.visible {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
    transform: scale(1)
}

#backtotop.visible a:hover {
    outline: none;
    opacity: 0.9;
    background: #7F00FF
}

#backtotop a {
    outline: none;
    text-decoration: none;
    border: 0 none;
    display: block;
    width: 46px;
    height: 46px;
    background-color: #66676b;
    opacity: 1;
    transition: all 0.3s;
    border-radius: 50%;
    text-align: center;
    font-size: 26px
}

body #backtotop a {
    outline: none;
    color: #fff
}

#backtotop a:after {
    outline: none;
    content: "\f106";
    font-family: "FontAwesome";
    position: relative;
    display: block;
    top: 50%;
    -webkit-transform: translateY(-55%);
    transform: translateY(-55%)
}

.progress {
    width: 100% !important
}

.progress.primary::-webkit-progress-value {
    background-color: #4FC1EA !important
}

.progress.secondary::-moz-progress-bar {
    background-color: #7F00FF !important
}

::-webkit-input-placeholder {
    color: #cecece
}

::-moz-placeholder {
    color: #cecece
}

:-ms-input-placeholder {
    color: #cecece
}

:-moz-placeholder {
    color: #cecece
}

*::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    width: 10px
}

*::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

/*! _helpers.scss | Bulkit | CSS Ninja */
.color-primary {
    color: #4FC1EA !important
}

.color-secondary {
    color: #7F00FF !important
}

.color-accent {
    color: #7F00FF !important
}

.color-red {
    color: #FF7273 !important
}

.border-light {
    border-color: #fff !important
}

.dark-text {
    color: #444F60 !important
}

.light-text {
    color: #fff !important
}

.primary-text {
    color: #4FC1EA !important
}

.secondary-text {
    color: #7F00FF !important
}

.accent-text {
    color: #7F00FF !important
}

.info-text {
    color: #039BE5 !important
}

.success-text {
    color: #00b289 !important
}

.warning-text {
    color: #eda514 !important
}

.danger-text {
    color: #FF7273 !important
}

.dark-bg {
    background: #444 !important
}

.light-bg {
    background: #fff !important
}

.font-w-400 {
    font-weight: 400 !important
}

.font-w-500 {
    font-weight: 500 !important
}

.font-w-600 {
    font-weight: 600 !important
}

.text-decoration-none {
    text-decoration: none !important
}

.text-upper {
    text-transform: uppercase !important
}

.text-bold {
    font-weight: 600 !important
}

.text-bolder {
    font-weight: 700 !important
}

.font-size-normal {
    font-size: 1rem
}

.font-size-2x {
    font-size: 2rem
}

.is-size-1 {
    font-size: 3rem
}

.is-size-2 {
    font-size: 2.5rem
}

.is-size-3 {
    font-size: 2rem
}

.is-size-4 {
    font-size: 1.5rem
}

.is-size-5 {
    font-size: 1.25rem
}

.is-size-6 {
    font-size: 1rem
}

.is-size-7 {
    font-size: 0.75rem
}

.is-flex {
    display: -ms-flexbox;
    display: flex
}

.is-flex.is-start {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.is-flex.is-center {
    -ms-flex-pack: center;
    justify-content: center
}

.is-flex.is-end {
    -ms-flex-pack: end;
    justify-content: flex-end
}

.is-flex.is-vcenter {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.is-block {
    display: block !important
}

.z-index-2 {
    z-index: 2 !important
}

.z-index-101 {
    z-index: 101 !important
}

.no-padding {
    padding: 0 !important
}

.no-padding-top {
    padding-top: 0 !important
}

.no-padding-bottom {
    padding-bottom: 0 !important
}

.no-padding-right {
    padding-right: 0 !important
}

.no-padding-left {
    padding-left: 0 !important
}

.padding-10 {
    padding: 10px
}

.padding-15 {
    padding: 15px
}

.padding-20 {
    padding: 20px
}

.padding-25 {
    padding: 25px
}

.padding-30 {
    padding: 30px
}

.padding-40 {
    padding: 40px
}

.padding-50 {
    padding: 50px
}

.padding-60 {
    padding: 60px
}

.padding-70 {
    padding: 70px
}

.padding-80 {
    padding: 80px
}

.padding-90 {
    padding: 90px
}

.padding-100 {
    padding: 100px
}

.pt-5 {
    padding-top: 5px
}

.pt-10 {
    padding-top: 10px
}

.pt-20 {
    padding-top: 20px
}

.pt-30 {
    padding-top: 30px
}

.pt-40 {
    padding-top: 40px
}

.pt-50 {
    padding-top: 50px
}

.pt-60 {
    padding-top: 60px
}

.pt-70 {
    padding-top: 70px
}

.pt-80 {
    padding-top: 80px
}

.pb-5 {
    padding-bottom: 5px
}

.pb-10 {
    padding-bottom: 10px
}

.pb-20 {
    padding-bottom: 20px
}

.pb-30 {
    padding-bottom: 30px
}

.pb-40 {
    padding-bottom: 40px
}

.pb-50 {
    padding-bottom: 50px
}

.pb-60 {
    padding-bottom: 60px
}

.pb-70 {
    padding-bottom: 70px
}

.pb-80 {
    padding-bottom: 80px
}

.pl-5 {
    padding-left: 5px
}

.pl-10 {
    padding-left: 10px
}

.pl-20 {
    padding-left: 20px
}

.pl-30 {
    padding-left: 30px
}

.pl-40 {
    padding-left: 40px
}

.pl-50 {
    padding-left: 50px
}

.pl-60 {
    padding-left: 60px
}

.pl-70 {
    padding-left: 70px
}

.pl-80 {
    padding-left: 80px
}

.pr-5 {
    padding-right: 5px
}

.pr-10 {
    padding-right: 10px
}

.pr-20 {
    padding-right: 20px
}

.pr-30 {
    padding-right: 30px
}

.pr-40 {
    padding-right: 40px
}

.pr-50 {
    padding-right: 50px
}

.pr-60 {
    padding-right: 60px
}

.pr-70 {
    padding-right: 70px
}

.pr-80 {
    padding-right: 80px
}

.huge-pt {
    padding-top: 100px
}

.huge-pb {
    padding-bottom: 100px
}

.giant-pb {
    padding-bottom: 150px
}

.no-margin {
    margin: 0 !important
}

.no-margin-left {
    margin-left: 0 !important
}

.no-margin-right {
    margin-right: 0 !important
}

.no-margin-top {
    margin-top: 0 !important
}

.no-margin-bottom {
    margin-bottom: 0 !important
}

.margin-x-auto {
    margin: 0 auto !important
}

.mr-auto {
    margin-right: auto !important
}

.ml-auto {
    margin-left: auto !important
}

.margin-10 {
    margin: 10px
}

.margin-20 {
    margin: 20px
}

.margin-25 {
    margin: 25px
}

.margin-30 {
    margin: 30px
}

.margin-40 {
    margin: 40px
}

.margin-50 {
    margin: 50px
}

.margin-60 {
    margin: 60px
}

.margin-70 {
    margin: 70px
}

.margin-80 {
    margin: 80px
}

.margin-90 {
    margin: 90px
}

.margin-100 {
    margin: 100px
}

.mt-5 {
    margin-top: 5px
}

.mt-10 {
    margin-top: 10px
}

.mt-20 {
    margin-top: 20px
}

.mt-30 {
    margin-top: 30px
}

.mt-40 {
    margin-top: 40px
}

.mt-50 {
    margin-top: 50px
}

.mt-60 {
    margin-top: 60px
}

.mt-70 {
    margin-top: 70px
}

.mt-80 {
    margin-top: 80px
}

.mt-120 {
    margin-top: 120px
}

.mb-5 {
    margin-bottom: 5px
}

.mb-10 {
    margin-bottom: 10px
}

.mb-20 {
    margin-bottom: 20px
}

.mb-30 {
    margin-bottom: 30px
}

.mb-40 {
    margin-bottom: 40px
}

.mb-50 {
    margin-bottom: 50px
}

.mb-60 {
    margin-bottom: 60px
}

.mb-70 {
    margin-bottom: 70px
}

.mb-80 {
    margin-bottom: 80px
}

.ml-5 {
    margin-left: 5px
}

.ml-10 {
    margin-left: 10px
}

.ml-20 {
    margin-left: 20px
}

.ml-30 {
    margin-left: 30px
}

.ml-40 {
    margin-left: 40px
}

.ml-50 {
    margin-left: 50px
}

.ml-60 {
    margin-left: 60px
}

.ml-70 {
    margin-left: 70px
}

.ml-80 {
    margin-left: 80px
}

.mr-5 {
    margin-right: 5px
}

.mr-10 {
    margin-right: 10px
}

.mr-20 {
    margin-right: 20px
}

.mr-30 {
    margin-right: 30px
}

.mr-40 {
    margin-right: 40px
}

.mr-50 {
    margin-right: 50px
}

.mr-60 {
    margin-right: 60px
}

.mr-70 {
    margin-right: 70px
}

.mr-80 {
    margin-right: 80px
}

.width-40 {
    width: 40px !important
}

.width-100 {
    width: 100px !important
}

.width-250 {
    width: 250px !important
}

.height-30 {
    height: 30px !important
}

.height-60 {
    height: 60px !important
}

.height-60 {
    height: 60px !important
}

.height-70 {
    height: 60px !important
}

.height-80 {
    height: 60px !important
}

.height-90 {
    height: 60px !important
}

.pull-right {
    float: right
}

.pull-left {
    float: left
}

.is-fixed {
    position: fixed;
    top: 0;
    left: 0
}

.is-hidden {
    display: none !important
}

.is-vhidden {
    visibility: hidden !important
}

.is-disabled {
    pointer-events: none;
    opacity: 0.4;
    cursor: default !important
}

.stuck {
    position: fixed !important;
    top: 0 !important;
    z-index: 2 !important;
    -webkit-animation-name: translateDown;
    animation-name: translateDown;
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s
}

.overflow-auto {
    overflow: auto !important
}

.im.is-icon-xs,
.sl.is-icon-xs,
.material-icons.is-icon-xs {
    font-size: 0.8rem !important
}

.im.is-icon-md,
.sl.is-icon-md,
.material-icons.is-icon-md {
    font-size: 1.5rem !important
}

.im.is-icon-2x,
.sl.is-icon-2x,
.material-icons.is-icon-2x {
    font-size: 2rem
}

.im.is-icon-3x,
.sl.is-icon-3x,
.material-icons.is-icon-3x {
    font-size: 3rem
}

.im.is-icon-4x,
.sl.is-icon-4x,
.material-icons.is-icon-4x {
    font-size: 4rem
}

.im.is-gigantic,
.sl.is-gigantic,
.material-icons.is-gigantic {
    font-size: 12rem
}

.img-circle {
    border-radius: 1000px
}

@media (max-width: 767px) {
    .mobile-padding-20 {
        padding: 20px 30px
    }

    .mobile-padding-40 {
        padding: 40px
    }

    .has-text-centered-mobile {
        text-align: center !important
    }
}

/*! _responsive.scss | Bulkit | CSS Ninja */
@media (max-width: 767px) {
    .section-title-wrapper {
        padding: 40px 0 !important
    }

    .content-wrapper {
        padding-top: 40px !important
    }
}

@media (max-width: 768px) {
    .nav-item.is-tab {
        padding-top: 8px;
        padding-bottom: 8px
    }

    .nav .nav-item.is-tab.is-active,
    .nav-menu.is-active .nav-item.is-tab.is-active {
        border-bottom: none !important;
        color: #4FC1EA !important
    }

    .nav-item.nav-inner {
        padding-top: 15px !important;
        padding-bottom: 15px !important
    }

    a.nav-item.is-not-mobile {
        display: none !important
    }

    .nav-item.is-menu-mobile {
        display: block !important;
        color: #7a7a7a !important
    }

    .navbar.navbar-light.is-dark-mobile {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu a {
        color: #fff
    }

    .navbar .navbar-menu .navbar-link,
    .navbar .navbar-menu .navbar-item,
    .navbar .navbar-menu .navbar-dropdown {
        width: 100%;
        text-align: center
    }

    .navbar .navbar-menu .navbar-link:after {
        display: block !important;
        right: 43%
    }

    .navbar .navbar-menu .button {
        width: 100%
    }

    .navbar-brand {
        min-height: 4.6rem
    }

    .custom-burger {
        display: -ms-flexbox !important;
        display: flex !important
    }

    .navbar-burger {
        height: 4.6rem;
        width: 4.6rem
    }

    .level-left.level-social {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .level-left.level-social .level-item:last-child .icon i {
        position: relative !important
    }

    #main-hero {
        max-height: 100vh;
        background-position-x: 55% !important
    }

    .parallax-overlay {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0 !important
    }

    .title.section-title {
        font-size: 2rem !important
    }

    .hero.is-fullheight.is-halfed-mobile {
        height: 35vh !important
    }

    .three-grid .column,
    .four-grid .column,
    .five-grid .column {
        border: none !important
    }

    .three-grid .is-separator,
    .four-grid .is-separator,
    .five-grid .is-separator {
        border: none !important
    }

    .single-image-carousel .image-wrapper img {
        min-height: 50px !important
    }

    .single-image-carousel .image-wrapper .caption {
        display: none
    }

    .video-caption {
        left: 5%
    }

    #navigation-trigger,
    .navigation-close {
        opacity: 1 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile {
        color: #fff !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile.is-active {
        color: #4FC1EA !important
    }

    .navbar-wrapper.navbar-fade.mobile-menu-dark {
        background-color: #fff !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .columns {
        padding: 0 10%
    }

    .columns.is-tablet-portrait {
        padding: 10%
    }

    .columns.is-not-tablet-portrait {
        padding: 0 !important
    }

    .content-wrapper {
        padding-top: 0 !important
    }
}

@media (max-width: 1007px) {
    .column.slide-description {
        padding: 20px 0 !important
    }

    .account {
        display: none
    }

    .media-card {
        min-height: 300px !important
    }

    .column.is-4.media-stretch {
        width: 100% !important
    }

    .column.is-4.media-stretch .media-card-image {
        min-height: 150px
    }

    .mcard-controls {
        position: relative !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    .navbar-brand {
        min-height: 4.6rem;
        height: 4.6rem
    }

    .navbar-brand .custom-burger {
        display: none !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile {
        color: #fff !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile.is-active {
        color: #4FC1EA !important
    }

    .navbar-wrapper.navbar-fade.mobile-menu-dark {
        background-color: #fff !important
    }

    .navbar.navbar-light.is-dark-mobile {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu a {
        color: #fff
    }

    .navbar .navbar-menu .navbar-link,
    .navbar .navbar-menu .navbar-item,
    .navbar .navbar-menu .navbar-dropdown {
        text-align: center
    }

    .navbar .navbar-menu .navbar-link:after {
        display: block !important;
        right: 43%
    }

    .navbar .navbar-menu .button {
        width: 100%
    }

    .navbar .navbar-menu #signup-btn,
    .navbar .navbar-menu #signup-btn-alt {
        width: 30% !important
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUuc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtY29sb3JzLnNjc3MiLCJwYXJ0aWFscy9fdGhlbWVzLW1haW4uc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtbmF2YmFyLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LXNlY3Rpb25zLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LWhlcm8uc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LWFuaW1hdGlvbnMuc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtbmF2aWdhdGlvbi5zY3NzIiwicGFydGlhbHMvX2xheW91dC1wYWdlbG9hZGVyLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1idXR0b25zLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1jYXJkcy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtYm94ZXMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLXRhYnMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLXRlc3RpbW9uaWFscy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtZGlhbG9ncy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtZm9ybXMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLXRhYmxlcy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtbGlzdHMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLWxhYmVscy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtZHJvcGRvd25zLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1wcmljaW5nLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1tZXNzYWdlcy5zY3NzIiwicGFydGlhbHMvX2V4dGVuc2lvbnMtY2hlY2tib3hlcy5zY3NzIiwicGFydGlhbHMvX3BhZ2VzLWRldGFpbHMuc2NzcyIsInBhcnRpYWxzL19wYWdlcy1hdXRoLnNjc3MiLCJwYXJ0aWFscy9fcGFnZXMtbGFuZGluZy5zY3NzIiwicGFydGlhbHMvX2xheW91dC11dGlscy5zY3NzIiwicGFydGlhbHMvX2xheW91dC1oZWxwZXJzLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LXJlc3BvbnNpdmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FBcUMsK0NDQVUsNkNDQUYsWUF3RHpDLHlCQUNBLCtEQUFxQyxDQUN4QyxxREFPTyx5QkFDQSx1REFDQSxvREF2Q29ELENBbUM1RCxtRUFNWSxVRGhEQSxDQzBDWix5RUFTWSxVRG5EQSxDQ29ESCx3Q0N6RStCLG9CQTRCcEMsV0FBWSxDQUNmLGdCQU1HLFdBQ0EsY0FDQSxlQUNBLE1BQ0EsT0FDQSxXQUNBLG1CQUFvQixDQVB4QiwwQkFVUSwwQkFBMkIsQ0FWbkMseUJBY1EsZ0JBQ0EscUNBQXlDLENBZmpELDBCQW9CUSxlQUNBLE1BQ0EsT0FDQSxXQUNBLG9DQUFBLEFBQ0EsNEJBQUEsWUFDQSxnQkFDQSxxQ0FBeUMsQ0EzQmpELG9DQThCWSxnQ0FBQSxBQUF3Qix1QkFBQSxDQTlCcEMsMEdBcUNnQixtQ0FBb0MsQ0FyQ3BELHNIQXdDb0IsV0FDQSxjQUNBLFFBQ0EsWUFDQSxhQUNBLGtCQUNBLE9BQ0EsU0FDQSxtQkFDQSxvQkFBcUIsQ0FqRHpDLGtJQXNEd0IsVUFBVyxDQXREbkMsOEJBOERRLHNCQUFBLEFBQW1CLGtCQUFBLENBOUQzQixrQ0FpRVksV0FBWSxDQWpFeEIsNkNBb0VnQixhQUFjLENBcEU5Qiw0Q0F3RWdCLFlBQWEsQ0F4RTdCLG1GQStFWSxXQUNBLHNCQUF1QixDQWhGbkMsdUZBbUZnQixzQkFBdUIsQ0FuRnZDLDJDQTJGZ0IsNkJBQThCLENBM0Y5Qyw2RkE4Rm9CLHdCQUE0QixDQTlGaEQsMENBbUdnQixjQUFlLENBbkcvQix1Q0F1R2dCLGVBQ0EsVUZ6R0MsQ0VDakIscUNBNkdZLGVBQWdCLENBN0c1Qix5REFnSGdCLGdCQUNBLG9CQUFxQixDQWpIckMsbUNBd0hZLGtDQUNBLGFEdElPLENDYW5CLHlDQTRIZ0Isb0JE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T0FBUSxDQUNYLHNDQUdHLG9CQUFxQixDQUN4QiwwREFHRyxtQ0FBcUMsQ0FEekMsOEVBR1EsbUNBQXFDLENBSDdDLHdHQUtZLHFCQUF3QixDQUxwQyxrSEFPZ0Isd0JBQTBCLENBQzdCLDZDQUtULGdDQUFtQyxDQUN0QyxDQU9MLDRHQUVJLFNBQ0ksYUFBYyxDQURsQiw0QkFHUSxXQUFZLENBSHBCLGdDQU1RLG9CQUFxQixDQTVKN0IsaUJBaUtJLHdCQUF5QixDQUM1QixDQU1MLDJCSGdPSSwwQkc3TkkseUJBQTBCLEMxQmlLbEMsUzBCN0pRLFlBQWEsQ2xCNGpCckIsWWtCeGpCUSwyQkFBNEIsQ0FDL0IsMkJBRUcscUJBQXNCLENBRDFCLDZDQUdRLGdCQUFpQixDQUNwQixnQkFHRCw0QkFBNkIsQ0FDaEMsQ0FTTCw2R0EzSUksY0E4SUksa0JBQ0EsYUFBYyxDQUZsQiw2QkFJUSx1QkFBd0IsQ0E3RWhDLDBEQWtGSSxtQ0FBcUMsQ0FsRnpDLDhFQW9GUSxtQ0FBcUMsQ0FwRjdDLHdHQXNGWSxxQkFBd0IsQ0F0RnBDLGtIQXdGZ0Isd0JBQTBCLENBNUUxQyw2Q0FrRkksZ0NBQW1DLENBOUx2QyxvQ0FtTVksa0I1QmxOQyxDNEJlYixpREFxTWdCLGtCNUJwTkgsQzRCZWIsbURBdU1vQixVNUIxT1osQzRCbUNSLDBHQThNWSxpQkFBa0IsQ0E5TTlCLHdDQWtOZ0IseUJBQ0EsU0FBVSxDQW5OMUIsNkJBdU5ZLFVBQVcsQ0F2QnZCLHNFQTBCWSxvQkFBcUIsQ0FDeEIsQ0FBQSIsImZpbGUiOiJjb3JlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBjb3JlLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblN0YXJ0dXAga2l0IGNvcmUgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENTUyBJbXBvcnRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENTUyBJbXBvcnRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AaW1wb3J0ICdwYXJ0aWFscy9sYXlvdXQtY29sb3JzJztcclxuQGltcG9ydCAncGFydGlhbHMvdGhlbWVzLW1haW4nO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9sYXlvdXQtbmF2YmFyJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LXNlY3Rpb25zJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LWhlcm8nO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9sYXlvdXQtZm9vdGVyJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LWFuaW1hdGlvbnMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9sYXlvdXQtbmF2aWdhdGlvbic7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC1wYWdlbG9hZGVyJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy1idXR0b25zJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy1jYXJkcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtYm94ZXMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLXRhYnMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLXRlc3RpbW9uaWFscyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtZGlhbG9ncyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtZm9ybXMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLXRhYmxlcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtbGlzdHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLWxhYmVscyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtZHJvcGRvd25zJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy1wcmljaW5nJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy1tZXNzYWdlcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2V4dGVuc2lvbnMtY2hlY2tib3hlcyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzLWRldGFpbHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy1hdXRoJztcclxuQGltcG9ydCAncGFydGlhbHMvcGFnZXMtbGFuZGluZyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC11dGlscyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC1oZWxwZXJzJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LXJlc3BvbnNpdmUnO1xyXG5cclxuXHJcbiIsIi8qISB0aGVtZXMvX2NvbG9ycy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CdWxraXQgZ2VuZXJhbCBjb2xvciB2YXJpYWJsZXMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEJ1bGtpdCBjb2xvcnNcclxuMS4gU3RhdGUgY29sb3JzXHJcbjIuIFNvY2lhbCBjb2xvcnNcclxuMy4gUHJlZGVmaW5lZCBncmFkaWVudHNcclxuNC4gUHJlZGVmaW5lZCBib3ggc2hhZG93c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBCdWxraXQgY29sb3JzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4kd2hpdGU6ICNmZmY7XHJcbiRzbW9rZS13aGl0ZTogI2ZjZmNmYztcclxuJGdyZXktd2hpdGU6ICNmMmYyZjI7XHJcbiRncmV5LXdoaXRlLWFjY2VudDogI2UyZTJlMjtcclxuJGNvbW1hbmQtZ3JleTogI2ZhZmJmYztcclxuJGxpZ2h0LWdyZXk6ICNFRkY0Rjc7XHJcbiR1bHRyYS1saWdodC1ncmV5OiAjZjdmY2ZmO1xyXG4kdGl0bGUtZ3JleTogI0E5QUJBQztcclxuJGJsdWUtZ3JleTogIzQ0NEY2MDtcclxuJGxpZ2h0LWJsdWUtZ3JleTogIzk4YTljMztcclxuJG1lZGl1bS1ncmV5OiAjNjY2NzZiO1xyXG4kYmFzYWx0aWMtZ3JleTogIzg3ODc4NztcclxuJG11dGVkLWdyZXk6ICM5OTk7XHJcbiRzZWN0aW9uLWdyZXk6ICNmYmZiZmI7XHJcbiRzZWN0aW9uLWdyZXktYWNjZW50OiAjZWZlZmVmO1xyXG4kYmFja2dyb3VuZC1ncmV5OiAjZjNmNWY3O1xyXG4kaGVhZGVyLWdyZXk6ICNGNUY5RkM7XHJcbiRkZWZhdWx0LWlucHV0OiAjY2NjO1xyXG4kcGxhY2Vob2xkZXI6ICNjZWNlY2U7XHJcbiRmYWRlLWdyZXk6ICNlZGVkZWQ7XHJcbiRzaWRlYmFyOiAjMzQ0MjU4O1xyXG4kY29hbDogIzQ0NDQ0NDtcclxuJGdyZXktNjogIzY2NjtcclxuJGdyZXktNTogIzU1NTtcclxuJGdyZXktMzogIzMzMztcclxuJGNyZWFtLWdyZXk6ICNmNmY0ZmY7XHJcbiRpY29uLWdyZXk6ICM4MThhOTc7XHJcbiRib3JkZXItZ3JleTogI2Q0ZGFkZjtcclxuJGRhc2hib2FyZC1ncmV5OiAjZjRmNmZiO1xyXG4kbGluay1ncmV5OiAjZjVmNWY1O1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gU3RhdGUgY29sb3JzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4kcmVkOiAjRkY3MjczO1xyXG4kYmx1ZTogIzAzOUJFNTtcclxuJGdyZWVuOiAjMDBiMjg5O1xyXG4kb3JhbmdlOiAjZWRhNTE0O1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gU29jaWFsIGNvbG9yc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJGZhY2Vib29rOiAjM0I1OTk4O1xyXG4kdHdpdHRlcjogIzFkY2FmZjtcclxuJGxpbmtlZGluOiAjMDA3YmI2O1xyXG4kdHVtYmxyOiAjMzU0NjVjO1xyXG4kZ2l0aHViOiAjNDQ0O1xyXG4kZHJpYmJibGU6ICNlYTRjODk7XHJcbiRnb29nbGUtcGx1czogI2QzNDgzNjtcclxuJHlvdXR1YmU6ICNjYzE4MWU7XHJcbiRyZWRkaXQ6ICNmZjQ1MDA7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gUHJlZGVmaW5lZCBncmFkaWVudHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIE1vZGFsIGdyYWRpZW50XHJcbiRtb2RhbC1nYTogIzZhODViNjtcclxuJG1vZGFsLWdiOiAjYmFjOGUwO1xyXG5cclxuJHdlYmtpdC1tb2RhbC1ncmFkaWVudDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsICRtb2RhbC1nYSAwJSwgJG1vZGFsLWdiIDEwMCUpO1xyXG4kbW9kYWwtZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJG1vZGFsLWdhIDAlLCAkbW9kYWwtZ2IgMTAwJSk7XHJcblxyXG4vLyBDb2FsXHJcbiRjb2FsLWE6ICRibHVlLWdyZXk7XHJcbiRjb2FsLWI6ICM0NDQ7XHJcblxyXG4kd2Via2l0LWNvYWwtZ3JhZGllbnQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAkY29hbC1hLCAkY29hbC1iKTsgLyogQ2hyb21lIDEwLTI1LCBTYWZhcmkgNS4xLTYgKi9cclxuJGNvYWwtZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJGNvYWwtYSwgJGNvYWwtYik7IC8qIFczQywgSUUgMTArLyBFZGdlLCBGaXJlZm94IDE2KywgQ2hyb21lIDI2KywgT3BlcmEgMTIrLCBTYWZhcmkgNysgKi9cclxuXHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gUHJlZGVmaW5lZCBib3ggc2hhZG93c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJGJhc2Utc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG5cclxuLy9PcmFuZ2UgYm94IHNoYWRvd1xyXG4kb3JhbmdlLXNoYWRvdy1mcm9tOiByZ2JhKDIzNywgMTY1LCAyMCwgMC40Mik7XHJcbiRvcmFuZ2Utc2hhZG93LXRvOiByZ2JhKDIzNywgMTY1LCAyMCwgMC4yKTtcclxuJG9yYW5nZS1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJG9yYW5nZS1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJG9yYW5nZS1zaGFkb3ctdG8gIWltcG9ydGFudDtcclxuXHJcbi8vR3JlZW4gYm94IHNoYWRvd1xyXG4kZ3JlZW4tc2hhZG93LWZyb206IHJnYmEoMCwgMTc4LCAxMzcsIDAuNDIpO1xyXG4kZ3JlZW4tc2hhZG93LXRvOiByZ2JhKDAsIDE3OCwgMTM3LCAwLjIpO1xyXG4kZ3JlZW4tYm94LXNoYWRvdzogIDAgMTRweCAyNnB4IC0xMnB4ICRncmVlbi1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJGdyZWVuLXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9SZWQgYm94IHNoYWRvd1xyXG4kcmVkLXNoYWRvdy1mcm9tOiByZ2JhKDI1NSwgMTE0LCAxMTUsIDAuNDIpO1xyXG4kcmVkLXNoYWRvdy10bzogcmdiYSgyNTUsIDExNCwgMTE1LCAwLjIpO1xyXG4kcmVkLWJveC1zaGFkb3c6ICAwIDE0cHggMjZweCAtMTJweCAkcmVkLXNoYWRvdy1mcm9tLCAwIDRweCAyM3B4IDBweCAkYmFzZS1zaGFkb3csIDAgOHB4IDEwcHggLTVweCAkcmVkLXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9CbHVlIGJveCBzaGFkb3dcclxuJGJsdWUtc2hhZG93LWZyb206IHJnYmEoMywgMTU1LCAyMjksIDAuNDIpO1xyXG4kYmx1ZS1zaGFkb3ctdG86IHJnYmEoMywgMTU1LCAyMjksIDAuMik7XHJcbiRibHVlLWJveC1zaGFkb3c6ICAwIDE0cHggMjZweCAtMTJweCAkYmx1ZS1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJGJsdWUtc2hhZG93LXRvICFpbXBvcnRhbnQ7IiwiLyohIHRoZW1lcy9fbWFpbi5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5NYWluIHRoZW1lIHZhcmlhYmxlcyBhbmQgc3R5bGVzIChNYWluIHRoZW1lIGlzIHVzZWQgaW4gXCJTdGFydHVwIEtpdFwiLCBpbiBcIkxhbmRpbmcga2l0IHYxXCIgYW5kIGluIGFsbCBjb21wb25lbnRzIHBhZ2VzKVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBUaGVtZSBjb2xvciB2YXJpYWJsZXNcclxuMS4gVGhlbWUgZ3JhZGllbnRcclxuMi4gQm94IHNoYWRvd3NcclxuMy4gUGFnZWxvYWRlclxyXG40LiBUaGVtZSBzcGVjaWZpYyBIZXJvXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFRoZW1lIGNvbG9yIHZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kcHJpbWFyeTogIzRGQzFFQTtcclxuJHNlY29uZGFyeTogIzdGMDBGRjtcclxuJGFjY2VudDogIzdGMDBGRjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIFRoZW1lIGdyYWRpZW50XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiR3ZWJraXQtaGVyby1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc2Vjb25kYXJ5LCAkYWNjZW50KTtcclxuJGhlcm8tZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRzZWNvbmRhcnksICRhY2NlbnQpO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gQm94IHNoYWRvd3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLy9CYXNlIHNoYWRvd1xyXG4kYmFzZS1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcblxyXG4vL1ByaW1hcnkgYm94IHNoYWRvd1xyXG4kcHJpbWFyeS1zaGFkb3ctZnJvbTogcmdiYSg3OSwgMTkzLCAyMzQsIDAuNDIpO1xyXG4kcHJpbWFyeS1zaGFkb3ctdG86IHJnYmEoNzksIDE5MywgMjM0LCAwLjIpO1xyXG4kcHJpbWFyeS1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJHByaW1hcnktc2hhZG93LWZyb20sIDAgNHB4IDIzcHggMHB4ICRiYXNlLXNoYWRvdywgMCA4cHggMTBweCAtNXB4ICRwcmltYXJ5LXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9TZWNvbmRhcnkgYm94IHNoYWRvd1xyXG4kc2Vjb25kYXJ5LXNoYWRvdy1mcm9tOiByZ2JhKDEwMywgNTgsIDE4MywgMC40Mik7XHJcbiRzZWNvbmRhcnktc2hhZG93LXRvOiByZ2JhKDEwMywgNTgsIDE4MywgMC4yKTtcclxuJHNlY29uZGFyeS1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJHNlY29uZGFyeS1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJHNlY29uZGFyeS1zaGFkb3ctdG8gIWltcG9ydGFudDtcclxuXHJcbi8vQWNjZW50IGJveCBzaGFkb3dcclxuJGFjY2VudC1zaGFkb3ctZnJvbTogcmdiYSgxMjcsIDAsIDI1NSwgMC40Mik7XHJcbiRhY2NlbnQtc2hhZG93LXRvOiByZ2JhKDEyNywgMCwgMjU1LCAwLjIpO1xyXG4kYWNjZW50LWJveC1zaGFkb3c6ICAwIDE0cHggMjZweCAtMTJweCAkYWNjZW50LXNoYWRvdy1mcm9tLCAwIDRweCAyM3B4IDBweCAkYmFzZS1zaGFkb3csIDAgOHB4IDEwcHggLTVweCAkYWNjZW50LXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFBhZ2Vsb2FkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnBhZ2Vsb2FkZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgIGJhY2tncm91bmQ6ICRoZXJvLWdyYWRpZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIFRoZW1lIHNwZWNpZmljIEhlcm9cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmhlcm8sIC5zZWN0aW9uIHtcclxuICAgICYuaXMtdGhlbWUtc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3ZWJraXQtaGVyby1ncmFkaWVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaGVyby1ncmFkaWVudDtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIi8qISBfbmF2YmFyLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbk5hdmJhciByZWxhdGVkIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBSZXNldHNcclxuMS4gTmF2YmFyIHBsYWNlaG9sZGVyXHJcbjIuIEZpeGVkIHNvbGlkIG5hdmJhclxyXG4zLiBTdGF0aWMgbmF2YmFyXHJcbjQuIFNoYXJlZCBzdHlsZXNcclxuNS4gU3RpY2t5IGZhZGUgbmF2YmFyXHJcbjYuIExpZ2h0IGFuZCB0cmFuc3BhcmVudCBuYXZiYXJcclxuNy4gQmFzZSBzdHlsZXNcclxuOC4gSGVybyBoZWFkXHJcbjkuIEFjY291bnQgYXZhdGFyXHJcbjEwLiBTY3JvbGxuYXZcclxuMTEuIEhhbWJ1cmdlciBtZW51IGljb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gTmF2YmFyIHBsYWNlaG9sZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5uYXZiYXItcGxhY2Vob2xkZXIge1xyXG4gICAgei1pbmRleDogOTk5O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBTdGF0aWMgbmF2YmFyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5uYXZiYXItd3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNC42cmVtO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDIwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XHJcblxyXG4gICAgJi5pcy1zdGF0aWMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLXNvbGlkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgICB9XHJcblxyXG4gICAgLy9DbG9uZWQgZml4ZWQgbmF2YmFyXHJcbiAgICAmLmlzLWNsb25lZCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuXHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtdHJhbnNwYXJlbnQge1xyXG4gICAgICAgIC5uYXZiYXItaXRlbSwgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgJi5pcy1zbGlkZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS42cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuXHJcbiAgICAgICAgICAgICYubGlnaHQtbG9nbyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5kYXJrLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWl0ZW0sIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWl0ZW0ge1xyXG4gICAgICAgICYuaXMtbWVudSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlOCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGksIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pcy1tZWdhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuXHJcbiAgICAgICAgICAgIC5pcy1tZWdhLW1lbnUtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVyZW0gMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgICAgICAgICBib3JkZXI6IDEuNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC4zNzVlbTtcclxuICAgICAgICAgICAgcmlnaHQ6IDEuMTI1ZW07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxLjUyNWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWJ1cmdlciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIHdpZHRoOiA0LjZyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLy9MaWdodCBuYXZiYXJcclxuICAgICYubmF2YmFyLWxpZ2h0IHtcclxuICAgICAgICAuaWNvbi1ib3gtdG9nZ2xlIHtcclxuICAgICAgICAgICAgc3BhbiBpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLWl0ZW0sIC5uYXZiYXItbGluayB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAmLmlzLXNsaWRlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuM3M7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdmJhci1pdGVtIHtcclxuICAgICAgICAgICAgJi5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdmJhci1saW5rOmFmdGVyIHt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItbGluayB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxLjZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjM3NWVtO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuMTI1ZW07XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuNTI1ZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItYnVyZ2VyIHtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm5hdmJhci1pbnZlcnNlIHtcclxuICAgICAgICAmLmlzLXJldmVyc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuXHJcbiAgICAgICAgICAgIC5uYXZiYXItbWVudS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaXMtYmx1ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG5cclxuICAgICAgICAgICAgLm5hdmJhci1tZW51LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pcy1wdXJwbGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG5cclxuICAgICAgICAgICAgLm5hdmJhci1tZW51LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmlzLXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcblxyXG4gICAgICAgICAgICAubmF2YmFyLW1lbnUuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uLWJveC10b2dnbGUge1xyXG4gICAgICAgICAgICBzcGFuIGkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItaXRlbSwgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXItaXRlbSB7XHJcbiAgICAgICAgICAgICYuaGFzLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5uYXZiYXItbGluazphZnRlciB7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMS42cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC4zNzVlbTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxLjEyNWVtO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxLjUyNWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLWJ1cmdlciB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1kcm9wZG93biB7XHJcbiAgICAgICAgJi5pcy1tZWRpdW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9BY3RpdmUgVHJhbnNwYXJlbnQgbmF2YmFyIG1vZGlmaWVyc1xyXG4gICAgJi5uYXZiYXItZmFkZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuXHJcbiAgICAgICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5saWdodC1sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuZGFyay1sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOS4gQWNjb3VudCBhdmF0YXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmFjY291bnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICB0b3A6IDVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG5cclxuICAgIC5uYXYtaXRlbSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nLmFjY291bnQtYXZhdGFyIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2IGEge1xyXG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyZXkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBkaXYgYSBpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDdweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyZXk7XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3BPdXQgdWwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBTY3JvbGxuYXYgKGNvbXBvbmVudCBwYWdlcyBzcHlzY3JvbGwgbmF2KVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2Nyb2xsLW5hdi13cmFwcGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuXHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIGxpIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCBsaTpob3ZlciBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCBsaS5pcy1hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFjY2VudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIGxpIGEudGhlcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMS4gSGFtYnVyZ2VyIG1lbnUgaWNvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubWVudS10b2dnbGUge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDAgMTRweDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDJweDtcclxuXHJcbiAgICAuaWNvbi1ib3gtdG9nZ2xlIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnBhcmVudDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAmLmFjdGl2ZSA+IHNwYW4ucm90YXRlIHtcclxuICAgICAgICAgICAgLyp0cmFuc2Zvcm0qL1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSA+IHNwYW4gPiBpLmljb24tbGluZS1jZW50ZXIge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiA3MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSA+IHNwYW4gPiBpLmljb24tbGluZS1ib3R0b20ge1xyXG4gICAgICAgICAgICBtYXJnaW46IC0ycHggMCAwIC0xMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRvcDogMTJweDtcclxuXHJcbiAgICAgICAgICAgIC8qdHJhbnNmb3JtKi9cclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSA+IHNwYW4gPiBpLmljb24tbGluZS10b3Age1xyXG4gICAgICAgICAgICBtYXJnaW46IC0ycHggMCAwIC0xMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRvcDogMTJweDtcclxuXHJcbiAgICAgICAgICAgIC8qdHJhbnNmb3JtKi9cclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1saW5lLWNlbnRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIG1hcmdpbjogLTFweCAwIDAgLTEwcHg7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogMTFweDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1saW5lLXRvcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIG1hcmdpbjogLTNweCAwIDAgLTEwcHg7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uLWxpbmUtYm90dG9tIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgbWFyZ2luOiAycHggMCAwIC0xMHB4O1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vQnVyZ2VyIHJlc3BvbnNpdmUgYWR1c3RtZW50XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDg4cHgpIHtcclxuICAgIC5kZXNrdG9wLmxhbmRzY2FwZSB7XHJcbiAgICAgICAgLmN1c3RvbS1idXJnZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfc2VjdGlvbnMuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuU2VjdGlvbnMgcmVsYXRlZCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gU2VjdGlvbnMgZ2VuZXJhbCBzdHlsZXNcclxuMS4gUXVpY2sgZmxleCBibG9ja1xyXG4yLiBEaXZpZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFNlY3Rpb25zIGdlbmVyYWwgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zZWN0aW9uIHtcclxuICAgIC8vU2VjdGlvbiBjb2xvcnNcclxuICAgICYuc2VjdGlvbi1saWdodC1ncmV5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1mZWF0dXJlLWdyZXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWN0aW9uLWdyZXk7XHJcbiAgICB9XHJcbiAgICAmLnNlY3Rpb24taGVhZGVyLWdyZXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItZ3JleTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1mZWF0dXJlLWdyZXktYWNjZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbi1ncmV5LWFjY2VudDtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1zZWNvbmRhcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcbiAgICAvL0JvcmRlcmVkIHNlY3Rpb25zXHJcbiAgICAmLmhhcy1ib3JkZXItYm90dG9tIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgIH1cclxuICAgICYuaGFzLWJvcmRlci10b3Age1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy9IZWxwZXJzXHJcbiAgICAmLmlzLXJlbGF0aXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLm5vLW1hcmdpbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5zZWN0aW9uLWhhbGYge1xyXG4gICAgICAgIGhlaWdodDogNzV2aCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9TbGFudGVkIHNlY3Rpb25cclxuICAgICYuaXMtc2tld2VkLXNtIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMGRlZywtM2RlZykgdHJhbnNsYXRlKDAsLTQ1cHgpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNDBweDtcclxuICAgIH1cclxuICAgIC8vUmV2ZXJzZSBzbGFudCBvbiBjb250YWluZXJcclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgJi5pcy1yZXZlcnNlLXNrZXdlZC1zbSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwZGVnLDNkZWcpIHRyYW5zbGF0ZSgwLDQ1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNsYW50ZWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ29udGVudCBzcGFjaW5nXHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgIH1cclxuICAgIC8vU3BhY2luZyB3cmFwcGVyXHJcbiAgICAuYm90dG9tLXNwYWNlciB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9TZWN0aW9uIHRpdGxlIHdyYXBwZXJcclxuICAgIC5zZWN0aW9uLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICAgICAgLy9CYWNrZ3JvdW5kIG51bWJlcnMgYW5kIHN5bWJvbHNcclxuICAgICAgICAuYmctbnVtYmVyLCAuYmctc3ltYm9sIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgIHRvcDogLTE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2MHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjBweDtcclxuICAgICAgICAgICAgLm1hdGVyaWFsLWljb25zIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9TbWFsbCBhYm92ZSBzdWJ0aXRsZVxyXG4gICAgICAgIC50b3Atc3VidGl0bGUge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9JY29uIHN1YnRpdGxlXHJcbiAgICAgICAgLmljb24tc3VidGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICYuaXMtb25lIGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDVweCAwIDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1tYW55IGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDVweCAwIDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1RpdGxlXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgICYuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VjdGlvbi1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4zcmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucXVpY2stZmVhdHVyZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAuYmctbnVtYmVyLCAuYmctc3ltYm9sIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0xMDBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cmVtO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmVhdHVyZS10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLy9TaW5nbGUgaWNvbiBzdWJ0aXRsZVxyXG4gICAgLmljb24tc3VidGl0bGUgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgfVxyXG4gICAgLy9EZXRhaWxlZCBmZWF0dXJlIHN1YnRpdGxlXHJcbiAgICAuZGV0YWlsZWQtZmVhdHVyZS1zdWJ0aXRsZSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIC8vRGl2aWRlclxyXG4gICAgLnRpdGxlLWRpdmlkZXIge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICAkcHJpbWFyeTtcclxuICAgICAgICAmLmlzLXJpZ2h0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtY2VudGVyZWQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0hlYWRsaW5lXHJcbiAgICBoMi5mZWF0dXJlLWhlYWRsaW5lIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vRmVhdHVyZSBkZXNjcmlwdGlvblxyXG4gICAgLnNlY3Rpb24tZmVhdHVyZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6ICRiYXNhbHRpYy1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy9NZWRpYSBpY29uIGJveFxyXG4gICAgLm1lZGlhLmljb24tYm94IHtcclxuICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm1lZGlhLWNvbnRlbnQgLmNvbnRlbnQgcCB7XHJcbiAgICAgICAgICAgIHNwYW4uaWNvbi1ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbi5pY29uLWJveC10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vRmxleC13cmFwcGVyXHJcbiAgICAuZmxleC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICYuZmxleC1jZW50ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mbGV4LXN0YXJ0IHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZsZXgtZW5kIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzJTtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBRdWljayBmbGV4IGJsb2NrXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5jb250ZW50LmNvbnRlbnQtZmxleCwgLmNvbnRlbnQtZmxleCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICYuY2VudGVyLWZsZXgge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIERpdmlkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmRpdmlkZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIC5iZWZvcmUtZGl2aWRlciwgLmFmdGVyLWRpdmlkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG4gICAgLmNoaWxkcmVuIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiIsIi8qISBfaGVyby5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5IZXJvIHJlbGF0ZWQgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEhlcm8gZ2VuZXJhbCBzdHlsZXNcclxuMS4gSGVybyBib2R5IFxyXG4yLiBIZXJvIGZvb3RlclxyXG4zLiBQYXJhbGxheCBPdmVybGF5XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEhlcm8gZ2VuZXJhbCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmhlcm8ge1xyXG4gICAgLy9IZWxwZXJzXHJcbiAgICAmLmlzLXJlbGF0aXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL1ByaW1hcnkgYmFja2dyb3VuZFxyXG4gICAgJi5pcy10aGVtZS1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vU2Vjb25kYXJ5IGJhY2tncm91bmRcclxuICAgICYuaXMtdGhlbWUtc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BY2NlbnQgYmFja2dyb3VuZFxyXG4gICAgJi5pcy10aGVtZS1hY2NlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0luZm8gYmFja2dyb3VuZFxyXG4gICAgJi5pcy10aGVtZS1pbmZvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vU3VjY2VzcyBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLXRoZW1lLXN1Y2Nlc3Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vV2FybmluZyBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLXRoZW1lLXdhcm5pbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0RhbmdlciBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLXRoZW1lLWRhbmdlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vRmVhdHVyZSBncmV5IGJhY2tncm91bmRcclxuICAgICYuaXMtZmVhdHVyZS1ncmV5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbi1ncmV5O1xyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0xpZ2h0IGdyZXkgYmFja2dyb3VuZFxyXG4gICAgJi5pcy1saWdodC1ncmV5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgzMDlkZWcsICNkMGUwZWMgMCUsICNmNWY3ZmEgNzElLCB3aGl0ZSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTQxZGVnLCAjZDBlMGVjIDAlLCAjZjVmN2ZhIDcxJSwgd2hpdGUgMTAwJSk7XHJcbiAgICAgICAgLnRpdGxlLmRhcmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdGxlLnRoZW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ29hbCBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLWNvYWx7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvYWw7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEhlcm8gYm9keSBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmhlcm8tYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XHJcbiAgICAvL3BhZ2UgdGl0bGUgc3R5bGVzXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgICYubWFpbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYmlnLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBhZ2UtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tZWRpdW0tdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zbWFsbC10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1N1YnRpdGxlIHN0eWxlc1xyXG4gICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAmLnBhZ2Utc3VidGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1NtYWxsIGNsaWVudHMgbG9nbyB1bmRlciBoZXJvIGNhcHRpb25cclxuICAgIC5jbGllbnRzLXNtYWxsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNlbnRlcmVkIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0hlbHBlcnNcclxuICAgICYuaXMtcmVsYXRpdmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gSGVybyBmb290ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5oZXJvLWZvb3Qge1xyXG4gICAgaW1nLnBhcnRuZXItbG9nbyB7XHJcbiAgICAgICAgaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFBhcmFsbGF4IE92ZXJsYXlcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5wYXJhbGxheC1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG59XHJcbiIsIi8qISBfZm9vdGVyLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkZvb3RlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gRGFyayBmb290ZXJcclxuMS4gTGlnaHQgRm9vdGVyXHJcbjIuIExpZ2h0IGxlZnQgRm9vdGVyXHJcbjMuIERhcmsgbGVmdCBGb290ZXJcclxuNC4gTGlnaHQgbWVkaXVtIGZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBEYXJrIGZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5mb290ZXIuZm9vdGVyLWRhcmsge1xyXG4gICAgYmFja2dyb3VuZDogJGJsdWUtZ3JleTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWxvZ28ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1jb2x1bW4ge1xyXG4gICAgICAgIC5mb290ZXItaGVhZGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo0MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsLmxpbmstbGlzdCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxldmVsLWl0ZW0gLmljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29weXJpZ2h0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gTGlnaHQgRm9vdGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbmZvb3Rlci5mb290ZXItbGlnaHQge1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWxvZ28ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1jb2x1bW4ge1xyXG4gICAgICAgIC5mb290ZXItaGVhZGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo0MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwubGluay1saXN0IHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sZXZlbC1pdGVtIC5pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb3B5cmlnaHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0Zvb3RlciBjb2x1bW5zIGFkanVzdG1lbnQgb24gbW9iaWxlXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmZvb3Rlci1jb2x1bW5zLmlzLWZsZXgtbW9iaWxlIHtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gTGlnaHQgbGVmdCBGb290ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuZm9vdGVyLmZvb3Rlci1saWdodC1sZWZ0IHtcclxuICAgIHBhZGRpbmc6IDVyZW0gMS41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAuZm9vdGVyLW5hdi1yaWdodCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5mb290ZXItbmF2LWxpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAubGV2ZWwtaXRlbSAuaWNvbiB7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICA6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vdG8ge1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxufVxyXG5cclxuLy9Nb2JpbGUgYWRqdXN0bWVudFxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5mb290ZXItbmF2LXJpZ2h0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIERhcmsgbGVmdCBGb290ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuZm9vdGVyLmZvb3Rlci1kYXJrLWxlZnQge1xyXG4gICAgcGFkZGluZzogNXJlbSAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6ICRibHVlLWdyZXk7XHJcbiAgICAuZm9vdGVyLW5hdi1yaWdodCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5mb290ZXItbmF2LWxpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNtb2tlLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLmxldmVsLWl0ZW0gLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb3RvIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gTGlnaHQgbWVkaXVtIGZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5mb290ZXIuZm9vdGVyLWxpZ2h0LW1lZGl1bSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTByZW0gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAuc29jaWFsLWxpbmtzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1jb2x1bW4ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIC5jb2x1bW4taGVhZGVyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2x1bW4taXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb3RvIHtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbiAgICAuc21hbGwtZm9vdGVyLWxvZ28ge1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgIH1cclxufSIsIi8qISBfYW5pbWF0aW9ucy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5Db3JlIGFuaW1hdGlvbiBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gRGVmYXVsdCBzZXR0aW5nc1xyXG4xLiBUcmFuc2xhdGUgTGVmdFxyXG4yLiBUcmFuc2xhdGUgRG93blxyXG4zLiBUcmFuc2xhdGUgVXBcclxuNC4gRmFkZSBJblxyXG41LiBGYWRlIEluIExlZnRcclxuNi4gRmFkZSBJbiBSaWdodFxyXG43LiBGYWRlIEluIFVwXHJcbjguIEZhZGUgSW4gRG93blxyXG45LiBGYWRlIE91dCBVcFxyXG4xMC4gTGV2aXRhdGVcclxuMTEuIEdlbGF0aW5lXHJcbjEyLiBVbnpvb21cclxuMTMuIERvdCBwdWxzYXRpb25cclxuMTQuIEJvdW5jeSBlbnRyYW5jZVxyXG4xNS4gU2NhbGUgaW4gXHJcbjE2LiBTY2FsZSBpbiBjaXJjbGVcclxuMTcuIFNjYWxlIG91dFxyXG4xOC4gUHVsc2F0ZVxyXG4xOS4gUHJlZGVmaW5lZCBhbmltYXRpb24gZGVsYXlzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIERlZmF1bHQgc2V0dGluZ3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmFuaW1hdGVkIHtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gVHJhbnNsYXRlIExlZnRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0cmFuc2xhdGVMZWZ0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgdHJhbnNsYXRlTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi50cmFuc2xhdGVMZWZ0IHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRyYW5zbGF0ZUxlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlTGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbiAgICB0cmFuc2l0aW9uOiAgICAgICAgIGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gVHJhbnNsYXRlIERvd25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0cmFuc2xhdGVEb3duIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHRyYW5zbGF0ZURvd24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnRyYW5zbGF0ZURvd24ge1xyXG4gICAgLy8tbW96LWFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVEb3duO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdHJhbnNsYXRlRG93bjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVEb3duO1xyXG4gICAgLy8tbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgLy8tbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFRyYW5zbGF0ZSBVcFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIHRyYW5zbGF0ZVVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgdHJhbnNsYXRlVXAge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4udHJhbnNsYXRlVXAge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdHJhbnNsYXRlVXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlVXA7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIEZhZGUgSW5cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5mYWRlSW4ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIEZhZGUgSW4gTGVmdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluTGVmdCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uZmFkZUluTGVmdCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyAgICBcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNi4gRmFkZSBJbiBSaWdodFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluUmlnaHQge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmZhZGVJblJpZ2h0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gRmFkZSBJbiBVcFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnByZUZhZGVJblVwIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5mYWRlSW5VcCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIEZhZGUgSW4gRG93blxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluRG93biB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uZmFkZUluRG93biB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG45LiBGYWRlIE91dCBVcFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZU91dFVwIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5mYWRlT3V0VXAge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBMZXZpdGF0ZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGxldml0YXRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxyXG5cclxuQGtleWZyYW1lcyBsZXZpdGF0ZSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCk7IH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9IH1cclxuLy9TZXR0aW5nc1xyXG4ubGV2aXRhdGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGV2aXRhdGU7XHJcbiAgICBhbmltYXRpb24tbmFtZTogbGV2aXRhdGU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMS4gR2VsYXRpbmVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBnZWxhdGluZSB7XHJcbiAgICBmcm9tLCB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxyXG4gICAgMjUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSwgMS4xKTsgfVxyXG4gICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSwgMC45KTsgfVxyXG4gICAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUsIDEuMDUpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBnZWxhdGluZSB7XHJcbiAgICBmcm9tLCB0byB7IHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7IH1cclxuICAgIDI1JSB7IHRyYW5zZm9ybTogc2NhbGUoMC45LCAxLjEpOyB9XHJcbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMC45KTsgfVxyXG4gICAgNzUlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1LCAxLjA1KTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLmdlbGF0aW5lIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBnZWxhdGluZSAwLjZzO1xyXG4gICAgYW5pbWF0aW9uOiBnZWxhdGluZSAwLjZzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMi4gVW56b29tXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgdW56b29tIHtcclxuICAgIGZyb20sIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDApOyB9XHJcbiAgICAyNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45LCAxLjEpOyB9XHJcbiAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xLCAwKTsgfVxyXG59XHJcbkBrZXlmcmFtZXMgdW56b29tIHtcclxuICAgIGZyb20sIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgxLCAwKTsgfVxyXG4gICAgMjUlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjksIDEuMSk7IH1cclxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xLCAwKTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnVuem9vbSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogdW56b29tIDAuN3M7XHJcbiAgICBhbmltYXRpb246IHVuem9vbSAwLjdzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMy4gRG90IHB1bHNhdGlvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGRvdFB1bHNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuOCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiAgc2NhbGUoMS44KTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZG90UHVsc2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS44KTtcclxuICAgICAgICB0cmFuc2Zvcm06ICBzY2FsZSgxLjgpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjE0LiBCb3VuY3kgZW50cmFuY2VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBlbnRyYW5jZSB7XHJcbiAgICBmcm9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbiAgICAyNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cclxuICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxyXG4gICAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XHJcbiAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiBub25lOyB9XHJcbn1cclxuQGtleWZyYW1lcyBlbnRyYW5jZSB7XHJcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG4gICAgMjUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxyXG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxyXG4gICAgNzUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxyXG4gICAgdG8geyB0cmFuc2Zvcm06IG5vbmU7IH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5lbnRyYW5jZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZW50cmFuY2UgMC44cztcclxuICAgIGFuaW1hdGlvbjogZW50cmFuY2UgMC44cztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTUuIFNjYWxlIGluIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlSW4ge1xyXG4gICAgZnJvbSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG4gICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5Aa2V5ZnJhbWVzIHNjYWxlSW4ge1xyXG4gICAgZnJvbSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuICAgIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnNjYWxlSW4ge1xyXG4gICAgLyogLi4uICovXHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2NhbGVJbiAwLjVzO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZUluIDAuNXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xNi4gU2NhbGUgaW4gY2lyY2xlICh1c2VkIGZvciBtb2RhbCBwb3B1cClcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZUluQ2lyY2xlIHtcclxuICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDcpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBzY2FsZUluQ2lyY2xlIHtcclxuICAgIGZyb20geyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbiAgICB0byB7IHRyYW5zZm9ybTogc2NhbGUoNyk7IH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5zY2FsZUluQ2lyY2xlIHtcclxuICAgIC8qIC4uLiAqL1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlSW5DaXJjbGUgMC42cztcclxuICAgIGFuaW1hdGlvbjogc2NhbGVJbkNpcmNsZSAwLjZzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTcuIFNjYWxlIG91dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlT3V0IHtcclxuICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuQGtleWZyYW1lcyBzY2FsZU91dCB7XHJcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgdG8geyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4uc2NhbGVPdXQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlT3V0IDAuNnM7XHJcbiAgICBhbmltYXRpb246IHNjYWxlT3V0IDAuNnM7XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xOC4gUHVsc2F0ZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNhdGUge1xyXG4gICAgMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEsIDAuMSk7IG9wYWNpdHk6IDAuMDt9XHJcbiAgICA1MCUge29wYWNpdHk6IDEuMDt9XHJcbiAgICAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpOyBvcGFjaXR5OiAwLjA7fVxyXG59XHJcblxyXG4ucHVsc2F0ZSB7XHJcbiAgICBhbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgXHJcbiAgICBvcGFjaXR5OiAwLjA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjE5LiBQcmVkZWZpbmVkIGRlbGF5c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmRlbGF5LTEge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzO1xyXG59XHJcbi5kZWxheS0yIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLjVzO1xyXG59XHJcbi5kZWxheS0zIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLjc1cztcclxufVxyXG4uZGVsYXktNCB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xyXG59XHJcbi5kZWxheS01IHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMS4yNXM7XHJcbn1cclxuLmRlbGF5LTYge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xyXG59XHJcbi5kZWxheS03IHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMS43NXM7XHJcbn1cclxuLmRlbGF5LTgge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyLjI1cztcclxufVxyXG4uZGVsYXktOSB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDIuNXM7XHJcbn1cclxuLmRlbGF5LTEwIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMi43NXM7XHJcbn1cclxuLmRlbGF5LTExIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogM3M7XHJcbn0iLCIvKiEgX25hdmlnYXRpb24uc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuV2Vic2l0ZSBzaWRlYmFyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFdlYnNpdGUgc2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBXZWJzaXRlIHNpZGViYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGUtbmF2aWdhdGlvbi1tZW51IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMDFweCk7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIC4wNXMgbGluZWFyO1xyXG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjA1cyBsaW5lYXI7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcblxyXG4gICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9DYXRlZ29yaWVzIHNpZGUgbWVudVxyXG4gICAgLmNhdGVnb3J5LW1lbnUtd3JhcHBlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG5cclxuICAgICAgICB1bC5jYXRlZ29yaWVzIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICYuc3F1YXJlLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5jYXRlZ29yeS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkc2Vjb25kYXJ5LCA1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHNlY29uZGFyeSwgMTAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9Cb3R0b20gYXZhdGFyXHJcbiAgICAgICAgLmF1dGhvciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogNDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm1haW4tbWVudS1hdXRob3Ige1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL1JpZ2h0IHBhcnQgb2YgdGhlIHNpZGViYXJcclxuICAgIC5uYXZpZ2F0aW9uLW1lbnUtd3JhcHBlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgdWwubmF2aWdhdGlvbi1tZW51IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9IZWFkZXJcclxuICAgICAgICAubmF2aWdhdGlvbi1tZW51LWhlYWRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNtb2tlLXdoaXRlO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkyJTtcclxuXHJcbiAgICAgICAgICAgIC5tZW51LXRvZ2dsZSAuaWNvbi1ib3gtdG9nZ2xlIHNwYW4gaSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uLWNsb3NlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vTWVudSBhbmQgbWVudSBpdGVtc1xyXG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgbGkgYSBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2aWdhdGlvbi1tZW51IGxpIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDI1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmLmlzLXN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnBhcmVudC1saW5rIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICYuaGFzLW5ldyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2aWdhdGlvbi1tZW51IGxpIGE6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzaWRlYmFyLCA1JSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaS5oYXMtY2hpbGRyZW4uYWN0aXZlLXNlY3Rpb24gYS5wYXJlbnQtbGluayB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRzZWNvbmRhcnksIDE1JSkgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIHNwYW4sIHNwYW46YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHNlY29uZGFyeSwgMTUlKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaS5oYXMtY2hpbGRyZW4gdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaS5oYXMtY2hpbGRyZW4gdWwgbGkgYS5pcy1zdWJtZW51IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzaWRlYmFyLCA1JSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDk1JTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmhhcy1uZXctZmVhdHVyZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzIuMCc7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtMl8yIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzIuMic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtMl8zIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzIuMyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtMl80IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzIuNCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmhhcy1uZXctdXBkYXRlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnMi4xJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtMl8yIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzIuMic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtMl8zIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzIuMyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtMl80IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzIuNCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaS5oYXMtY2hpbGRyZW4gdWwgbGkgYTpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpLmhhcy1jaGlsZHJlbiwgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGFzLWNoaWxkcmVuIHNwYW46OmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXEUzMTVcIjtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkuYWN0aXZlLmhhcy1jaGlsZHJlbiBzcGFuOjphZnRlciB7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaS5hY3RpdmUuaGFzLWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkc2lkZWJhciwgNSUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdmlnYXRpb24tbWVudSAuaGFzLWNoaWxkcmVuID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiEgX3BhZ2Vsb2FkZXIuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuUGFnZWxvYWRlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUGFnZWxvYWRlclxyXG4xLiBpbmZyYWxvYWRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBQYWdlbG9hZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5wYWdlbG9hZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgei1pbmRleDogOTk5OTk4O1xyXG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzIGVhc2Utb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwYWdlLWxvYWRlci1pbm5lciAxLjVzIGluZmluaXRlIGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbjogcGFnZS1sb2FkZXItaW5uZXIgMS41cyBpbmZpbml0ZSBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogcGFnZS1sb2FkZXItb3V0ZXIgMS41cyBpbmZpbml0ZSBlYXNlLWluO1xyXG4gICAgICAgIGFuaW1hdGlvbjogcGFnZS1sb2FkZXItb3V0ZXIgMS41cyBpbmZpbml0ZSBlYXNlLWluO1xyXG4gICAgfVxyXG59XHJcbi8vbG9hZGVyIEtleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcGFnZS1sb2FkZXItaW5uZXIge1xyXG4gICAgMCUsNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHBhZ2UtbG9hZGVyLWlubmVyIHtcclxuICAgIDAlLDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHBhZ2UtbG9hZGVyLW91dGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlLDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwYWdlLWxvYWRlci1vdXRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSw0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEluZnJhbG9hZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pbmZyYWxvYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXM7XHJcbiAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTk3O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfYnV0dG9ucy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CdXR0b24gc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIE1haW4gYnV0dG9uIGNsYXNzXHJcbjEuIFNxdWFyZSBidXR0b25zXHJcbjIuIExpbmsgYnV0dG9uc1xyXG4zLiBQcmltYXJ5IGJ1dHRvblxyXG40LiBTZWNvbmRhcnkgYnV0dG9uXHJcbjUuIEFjY2VudCBidXR0b25cclxuNi4gU3VjY2VzcyBidXR0b25cclxuNy4gV2FybmluZyBidXR0b25cclxuOC4gRGFuZ2VyIGJ1dHRvblxyXG45LiBJbmZvIGJ1dHRvblxyXG4xMC4gU29jaWFsIGJ1dHRvbnNcclxuMTEuIFJpcHBsZSBlZmZlY3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gTWFpbiBidXR0b24gY2xhc3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgIC8vU2lnbiB1cCBidXR0b25zXHJcbiAgICAmLmJ1dHRvbi1zaWdudXAge1xyXG4gICAgICAgIHBhZGRpbmc6IDIycHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuYnRuLW91dGxpbmVkLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0NUQSBidXR0b25zXHJcbiAgICAmLmJ1dHRvbi1jdGEge1xyXG4gICAgICAgIHBhZGRpbmc6IDIycHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuYnRuLW91dGxpbmVkLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0xpbmUgaGVpZ2h0IGZpeCBjbGFzc1xyXG4gICAgJi5uby1saCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vQWN0aW9uIGJ1dHRvblxyXG4gICAgJi5idXR0b24tYWN0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDQwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vQnV0dG9uIHRleHQgYWxpZ25tZW50c1xyXG4gICAgJi5idG4tYWxpZ24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCAxM3B4IDZweCAxM3B4O1xyXG4gICAgfVxyXG4gICAgJi5idG4tYWxpZ24tbWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDE4cHggMTVweDtcclxuICAgIH1cclxuICAgICYuYnRuLWFsaWduLWxnIHtcclxuICAgICAgICBwYWRkaW5nOiA2cHggMTVweCAxOHB4IDE1cHg7XHJcbiAgICB9XHJcbiAgICAvL1VwcGVyY2FzZSBidXR0b25zXHJcbiAgICAmLmJ0bi11cHBlciB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgIC8vUm91bmRlZCBidXR0b25zXHJcbiAgICAmLnJvdW5kZWQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9Ib3ZlciByYWlzZWQgYnV0dG9uc1xyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTRweCAyNnB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC40MiksIDAgNHB4IDIzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMikgIWltcG9ydGFudDtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcbiAgICAvL1JhaXNlZCBidXR0b25zXHJcbiAgICAmLmlzLXJhaXNlZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxNHB4IDI2cHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjQyKSwgMCA0cHggMjNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9GYWRlIGJ1dHRvbnNcclxuICAgICYuYnRuLWZhZGU6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIH1cclxuICAgIC8vT3V0bGluZWQgYnV0dG9uc1xyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC8vTGlnaHQgYnV0dG9uc1xyXG4gICAgICAgICYubGlnaHQtYnRuIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9ib2xkIG91dGxpbmVkIGJ1dHRvbnNcclxuICAgICAgICAmLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1BhZGRlZCBidXR0b25cclxuICAgICYuYnRuLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAxM3B4IDE2cHggMTNweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9EZWZhdWx0IGJ1dHRvblxyXG4gICAgJi5kZWZhdWx0LWJ0biB7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9MaW5rIGJ1dHRvbnNcclxuICAgICYuaXMtbGluayB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0ljb24gYnV0dG9uc1xyXG4gICAgJi5oYXMtaWNvbi1yaWdodCBpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICAgIH1cclxuICAgIC8vRGVmYXVsdCBib3JkZXJcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRlZmF1bHQtaW5wdXQ7XHJcbiAgICB9XHJcbiAgICAvL0J1dHRvbnMgd2l0aCBpY29uc1xyXG4gICAgaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgIH1cclxuICAgICYuaGFzLWljb24ge1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWZ1bGx3aWR0aCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBTcXVhcmUgYnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLmJ0bi1zcXVhcmUge1xyXG4gICAgd2lkdGg6IDQ1cHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvL0J1dHRvbiBzaXplc1xyXG4gICAgJi5pcy1zbWFsbCB7XHJcbiAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4OyAgXHJcbiAgICB9XHJcbiAgICAmLmlzLW1lZGl1bSB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4OyAgXHJcbiAgICB9XHJcbiAgICAmLmlzLWxhcmdlIHtcclxuICAgICAgICB3aWR0aDogNjRweDtcclxuICAgICAgICBoZWlnaHQ6IDY0cHg7ICBcclxuICAgIH1cclxuICAgIC8vSWNvbiBzaXplc1xyXG4gICAgaSB7XHJcbiAgICAgICAgLy90b3A6IDVweDtcclxuICAgICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pcy1zbWFsbCBpIHtcclxuICAgICAgICAvL3RvcDogNHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICAgICYuaXMtbWVkaXVtIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIH1cclxuICAgICYuaXMtbGFyZ2UgaSB7XHJcbiAgICAgICAgLy90b3A6IDdweDtcclxuICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIExpbmsgYnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLmlzLWxpbmsge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICYuYnRuLW1vcmUge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5jb2xvci1wcmltYXJ5IHtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpbmstZ3JleSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gUHJpbWFyeSBidXR0b25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbi5wcmltYXJ5LWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICAgICYucmFpc2VkOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkcHJpbWFyeS1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuOS41O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gU2Vjb25kYXJ5IGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLnNlY29uZGFyeS1idG4ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRzZWNvbmRhcnktYm94LXNoYWRvdztcclxuICAgICAgICBvcGFjaXR5OiAwLjk1O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBBY2NlbnQgYnV0dG9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5idXR0b24uYWNjZW50LWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGFjY2VudC1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBTdWNjZXNzIGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLnN1Y2Nlc3MtYnRuIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICRncmVlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGdyZWVuLWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gV2FybmluZyBidXR0b25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbi53YXJuaW5nLWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJG9yYW5nZS1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG44LiBEYW5nZXIgYnV0dG9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5idXR0b24uZGFuZ2VyLWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHJlZC1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG45LiBJbmZvIGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLmluZm8tYnRuIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICRibHVlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRibHVlLWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRibHVlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMC4gU29jaWFsIGJ1dHRvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbi5zb2NpYWwtYnRuIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAmLmZhY2Vib29rIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFjZWJvb2s7XHJcbiAgICB9XHJcbiAgICAmLnR3aXR0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0d2l0dGVyO1xyXG4gICAgfVxyXG4gICAgJi5saW5rZWRpbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmtlZGluO1xyXG4gICAgfVxyXG4gICAgJi50dW1ibHIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0dW1ibHI7XHJcbiAgICB9XHJcbiAgICAmLmdpdGh1YiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdpdGh1YjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIFJpcHBsZSBlZmZlY3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnJpcHBsZSB7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbi5yaXBwbGUtZWZmZWN0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBhbmltYXRpb246IHJpcHBsZS1hbmltYXRpb24gMnM7XHJcbn1cclxuXHJcbi8vUmlwcGxlIGFuaW1hdGlvbiBrZXlmcmFtZXNcclxuQGtleWZyYW1lcyByaXBwbGUtYW5pbWF0aW9uIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59IiwiLyohIF9jYXJkcy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5DYXJkIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBGZWF0dXJlIGNhcmRcclxuMS4gRmxleCBjYXJkXHJcbjIuIHJvdW5kZWQgY2FyZHNcclxuMy4gRXZlbnQgY2FyZHNcclxuNC4gQnVsbWEgY2FyZHNcclxuNS4gUmVzc291cmNlIGNhcmRzXHJcbjYuIENhcmQgdmFyaWF0aW9uc1xyXG43LiBNZWRpYSBjYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBGZWF0dXJlIGNhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmZlYXR1cmUtY2FyZCB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IDMyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XHJcbiAgICAvL3NpemVzXHJcbiAgICAmLmNhcmQtbWQge1xyXG4gICAgICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICB9XHJcbiAgICAmLmNhcmQtbGcge1xyXG4gICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICB9XHJcbiAgICAvL2JveCBzaGFkb3dzXHJcbiAgICAmLmNhcmQtc2hhZG93IHtcclxuICAgICAgICBib3gtc2hhZG93OiAgMHB4IDVweCA0M3B4IHJnYmEoMCwgMCwgMCwgMC4xOCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaG92ZXItaW5zZXQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLDE2MCwyNDEsMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLDIyMCwyNDcsMC41OSkgMCAxMHB4IDIwcHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgLy9ib3JkZXJzXHJcbiAgICAmLmxpZ2h0LWJvcmRlcmVkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1ICFpbXBvcnRhbnQ7IFxyXG4gICAgfVxyXG4gICAgLy90aXRsZVxyXG4gICAgLmNhcmQtdGl0bGUgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICB9XHJcbiAgICAvL0ljb25zIGFuZCBpbWFnZXNcclxuICAgIC5jYXJkLWljb24gaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuY2FyZC1pbWcgaW1nIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIH1cclxuICAgIC8vYWN0aW9uXHJcbiAgICAuY2FyZC1hY3Rpb24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAvL2Rlc2NyaXB0aW9uXHJcbiAgICAuY2FyZC1mZWF0dXJlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhc2FsdGljLWdyZXk7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtaW1nLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRiYXNhbHRpYy1ncmV5O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ib29rbWFyayBpIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBGbGV4IGNhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmZsZXgtY2FyZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNtb2tlLXdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgLy9oZWFkZXJcclxuICAgIC5mbGV4LWNhcmQtaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgLy9oZWFkZXIgZWxlbWVudHNcclxuICAgICAgICAuaGVhZGVyLWF2YXRhciB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaGVhZGVyLWluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgLmhlYWRlci10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaGVhZGVyLXN1YnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5oZWFkZXItY29udHJvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfS8vaGVhZGVyIGNvbG9yc1xyXG4gICAgICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAuaGVhZGVyLWluZm8gZGl2LCAuaGVhZGVyLWNvbnRyb2wgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAuaGVhZGVyLWluZm8gZGl2LCAuaGVhZGVyLWNvbnRyb2wgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NlbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAuaGVhZGVyLWluZm8gZGl2LCAuaGVhZGVyLWNvbnRyb2wgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgYm9keVxyXG4gICAgLmNhcmQtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4O1xyXG4gICAgICAgICYuaXMtc21hbGwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtbGFyZ2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jYXJkIHRpdGxlIGgzXHJcbiAgICBoMy5jYXJkLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICAgIC8vY2FyZC1kZXNjcmlwdGlvblxyXG4gICAgLmNhcmQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICBjb2xvcjogIzc3NztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgYmFja2dvdW5kIGNvbG9yc1xyXG4gICAgJi5wcmltYXJ5LWNhcmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIC5jb250ZW50LCAuY29udGVudCBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zZWNvbmRhcnktY2FyZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAuY29udGVudCwgLmNvbnRlbnQgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjZW50LWNhcmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgLmNvbnRlbnQsIC5jb250ZW50IGgyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgb3ZlcmZsb3dcclxuICAgICYuY2FyZC1vdmVyZmxvdyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vbGlnaHQgYm9yZGVyXHJcbiAgICAmLmxpZ2h0LWJvcmRlcmVkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1ICFpbXBvcnRhbnQ7IFxyXG4gICAgfVxyXG4gICAgLy9ib3ggc2hhZG93IG9wdGlvbnNcclxuICAgICYuc2ltcGxlLXNoYWRvdyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogLTFweCAzcHggMTBweCAwIHJnYmEoMCwwLDAsLjA2KTtcclxuICAgIH1cclxuICAgICYubGlnaHQtcmFpc2VkIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICB9XHJcbiAgICAmLmhvdmVyLXJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgJi5ob3Zlci1pbnNldDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAvL3RhYnMgaW5zaWRlIGNhcmRzXHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwLjdyZW07XHJcbiAgICB9XHJcbiAgICAubmF2dGFiLWNvbnRlbnQge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5MHB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuOHJlbSAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vSWNvbiBjYXJkIHZhcmlhdGlvblxyXG4gICAgJi5pY29uLWNhcmQge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4xKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogODBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24tY2FyZC10ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0ljb24gY2FyZCBob3ZlclxyXG4gICAgJi5pY29uLWNhcmQtaG92ZXIge1xyXG4gICAgICAgIGhlaWdodDogMTcwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDEwcHggMTMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDNweCAxMHB4IDAgcmdiYSgwLDAsMCwuMSk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtMTBweCk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC0xMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtMTBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmlyc3QtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS9jaHJvbm8uc3ZnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQpLHVybCguLi9pbWFnZXMvaWxsdXN0cmF0aW9ucy9pY29ucy9sYW5kaW5nLXYxL2Nocm9uby5zdmcpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IC0yNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWNvbmQtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS90YWJsZXQtZG90cy5zdmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsLTgwcHggMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC4uL2ltYWdlcy9pbGx1c3RyYXRpb25zL2ljb25zL2xhbmRpbmctdjEvdGFibGV0LWRvdHMuc3ZnKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwtODBweCAtMjVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQsbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGhpcmQtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS9jb2cuc3ZnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQpLHVybCguLi9pbWFnZXMvaWxsdXN0cmF0aW9ucy9pY29ucy9sYW5kaW5nLXYxL2NvZy5zdmcpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IC0yNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mb3VydGgtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS9wbGFuZS5zdmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsLTgwcHggMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC4uL2ltYWdlcy9pbGx1c3RyYXRpb25zL2ljb25zL2xhbmRpbmctdjEvcGxhbmUuc3ZnKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwtODBweCAtMjVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQsbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UZXN0aW1vbmlhbCBjYXJkIHZhcmlhdGlvblxyXG4gICAgJi50ZXN0aW1vbmlhbC1jYXJkIHtcclxuICAgICAgICAvL3RpdGxlXHJcbiAgICAgICAgLnRlc3RpbW9uaWFsLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy90ZXh0XHJcbiAgICAgICAgLnRlc3RpbW9uaWFsLXRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3VzZXIgbWV0YVxyXG4gICAgICAgIC51c2VyLWlkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmluZm8ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLm5hbWV7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ2FyZCB3aXJoIG5hdmlnYXRpb24gcGlsbHNcclxuICAgIC5uYXZpZ2F0aW9uLXRhYnMge1xyXG4gICAgICAgICYub3V0bGluZWQtcGlsbHMgLnRhYnMudGFicy1oZWFkZXIge1xyXG4gICAgICAgICAgICAmLnByaW1hcnkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIGxpIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9JY29uIGdyb3VwXHJcbiAgICAuaWNvbi1ncm91cCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9Mb2dpbiBhbmQgcmVnaXN0cmF0aW9uIGNhcmRzXHJcbiAgICAmLmF1dGgtY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDQwcHggMjBweCA0MHB4O1xyXG4gICAgICAgIC5hdXRoLWNhcmQtaGVhZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IC0yLjVyZW07XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5oZWFkZXItcHJpbWFyeSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkcHJpbWFyeS1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaGVhZGVyLXNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRzZWNvbmRhcnktYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmhlYWRlci1hY2NlbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYWNjZW50LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgY29udGVudCBjb250YWluZXJcclxuICAgIC5jYXJkLWNvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLmJvdHRvbS1hdmF0YXIge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFJvdW5kZWQgY2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mbG9hdGluZy1jaXJjbGUge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgcGFkZGluZy10b3A6IDIycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4wNik7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBFdmVudCBjYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmV2ZW50LWNhcmQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzMjBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDMwMG1zIGVhc2UtaW47XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggOHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICB9XHJcbiAgICAvL2V2ZW50IGRhdGVcclxuICAgIC5jYXJkLWRhdGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAvL2hlaWdodDogNjBweDtcclxuICAgICAgICAvL3dpZHRoOiAxMDBweDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAuZGF5IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubW9udGgge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZXZlbnQgY2FyZCBpbWFnZSBjb250YWluZXJcclxuLmltZy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZXZlbnQgY2FyZCB0ZXh0XHJcbi5jYXJkLXRleHQge1xyXG4gICAgYm90dG9tOiAtNDAlO1xyXG4gICAgLy9NZWRpYSBxdWVyaWVzIGFkanVzdG1lbnRzXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBib3R0b206IC03MSU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBib3R0b206IC01NSU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgYm90dG9tOiAtNjQlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MjBweCkge1xyXG4gICAgICAgIGJvdHRvbTogLTcwJTtcclxuICAgIH1cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHRyYW5zaXRpb246IGFsbCA0NTBtcyBjdWJpYy1iZXppZXIoMC42LCAwLjA2LCAwLjM0LCAwLjYxKTtcclxuICAgICYuaXMtY2xpY2tlZCwgLmV2ZW50LWNhcmQ6aG92ZXIgJiB7XHJcbiAgICAgICAgYm90dG9tOiAwJTtcclxuICAgIH1cclxuICAgIC8vYnV0dG9uXHJcbiAgICAuYnV0dG9uLmlzLWxpbmsgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB0b3A6IDJweDtcclxuICAgIH1cclxuICAgIC8vdGV4dFxyXG4gICAgLnRleHQge1xyXG4gICAgICAgICYudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIC50ZXh0LWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAudGV4dC1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRleHQtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIC8vbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi50ZXh0LWRldGFpbHMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi50ZXh0LWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRleHQtbGluayB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRhY2NlbnQsIDIwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIEJ1bG1hIGNhcmRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FyZCB7XHJcbiAgICAvL3NoYWRvd1xyXG4gICAgJi5jYXJkLXNoYWRvdyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogIDBweCA1cHggNDNweCByZ2JhKDAsIDAsIDAsIDAuMTgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL2ltYWdlIHJhZGl1c1xyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIFJlc3NvdXJjZSBjYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uY2FyZC5yZXNzb3VyY2UtY2FyZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL2F2YXRhclxyXG4gICAgLnJlc3NvdXJjZS1hdmF0YXIgaW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XHJcbiAgICB9XHJcbiAgICAvL2ltYWdlXHJcbiAgICAuY2FyZC1pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICYuem9vbU91dCBpbWcge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnpvb21JbiBpbWcge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vb3ZlcmxheVxyXG4gICAgICAgIC5jYXJkLWltYWdlLW92ZXJsYXkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjgsIDc5LCA5NiwgMC42KTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgJi5wcmltYXJ5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY2NlbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY29udGVudFxyXG4gICAgLmNhcmQtY29udGVudCB7XHJcbiAgICAgICAgLm1lZGlhLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0JztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXZhdGFyLXJvdW5kZWQgaW1nIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL1pvb20gRWZmZWN0c1xyXG4gICAgJjpob3ZlciAuY2FyZC1pbWFnZSBmaWd1cmUuem9vbU91dCBpbWcge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICY6aG92ZXIgLmNhcmQtaW1hZ2UgZmlndXJlLnpvb21JbiBpbWcge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIENhcmQgdmFyaWF0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uY2FyZCB7XHJcbiAgICAvL0dlbmVyYWwgc2V0dGluZ3NcclxuICAgICYuY2FyZC1mbG9hdGluZy13aWRlLCAmLmNhcmQtZmxvYXRpbmctYm94ZWQge1xyXG4gICAgICAgIG1hcmdpbjogNCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vV2lkZSBpbWFnZSBjYXJkXHJcbiAgICAmLmNhcmQtZmxvYXRpbmctd2lkZSB7XHJcbiAgICAgICAgLmNhcmQtaW1hZ2UgZmlndXJlIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggMCByZ2JhKDAsMCwwLC4yKSwgMCA2cHggMjBweCAwIHJnYmEoMCwwLDAsLjE5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0JveGVkIGltYWdlIGNhcmRcclxuICAgICYuY2FyZC1mbG9hdGluZy1ib3hlZCB7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmQtaW1hZ2UgZmlndXJlIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTQpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggMCByZ2JhKDAsMCwwLC4yKSwgMCA2cHggMjBweCAwIHJnYmEoMCwwLDAsLjE5KTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmQtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gTWVkaWEgY2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm1lZGlhLWNhcmQge1xyXG4gICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAvL2ltYWdlXHJcbiAgICAubWVkaWEtY2FyZC1pbWFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICB9XHJcbiAgICAvL2NvbnRlbnRcclxuICAgIC5tY2FyZC1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIC5tY2FyZC10aXRsZSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWNhcmQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40IWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNC4yZW0haW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL21ldGFcclxuICAgIC5tY2FyZC1jb250cm9scyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLm1jYXJkLWF2YXRhciBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1jYXJkLWluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRpdiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGl2IGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tY2FyZC1hY3Rpb25zIHtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29sdW1uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn0iLCIvKiEgX2JveGVzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkJveCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gU2ltcGxlIGljb24gYm94XHJcbjEuIERpYW1vbmQgaWNvbiBib3hcclxuMi4gU3F1YXJlIGljb24gYm94XHJcbjMuIExvbmcgc2hhZG93IGljb24gYm94ZXNcclxuNC4gU2ltcGxlIGNvdW50ZXJcclxuNS4gQ2FyZCBjb3VudGVyXHJcbjYuIEljb24gY291bnRlclxyXG43LiBQYXJhbGxheCBjb3VudGVyXHJcbjguIFRlYW0gVjFcclxuOS4gVGVhbSBWNFxyXG4xMC4gVGVhbSBWNVxyXG4xMS4gVGVhbSBWNlxyXG4xMi4gQ2xpZW50IGdyaWRzXHJcbjEzLiBDZW50ZXJlZCBpbWFnZXMgY2Fyb3VzZWxcclxuMTQuIE11bHRpcGxlIGltYWdlcyBjYXJvdXNlbFxyXG4xNS4gU2luZ2xlIGltYWdlIGNhcm91c2VsXHJcbjE2LiBDdXN0b21lIHNsaWNrIG5hdmlnYXRpb24gYXJyb3dzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8vVmVuZG9yIHByZWZpeCBNaXhpblxyXG5AbWl4aW4gcHJlZml4KCRwcm9wLCAkdmFsKSB7XHJcbiAgICBAZWFjaCAkcHJlZml4IGluICctd2Via2l0LScsICctbW96LScsICctbXMtJywgJycge1xyXG4gICAgICAgICN7JHByZWZpeH0jeyRwcm9wfTogJHZhbDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gU2ltcGxlIGljb24gYm94XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pY29uLWJveCB7XHJcbiAgICAvL2ljb25cclxuICAgIC5ib3gtaWNvbiB7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG4gICAgLy90aXRsZVxyXG4gICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuYm94LXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB9XHJcbiAgICAvL0NvbG9yc1xyXG4gICAgJi5wcmltYXJ5IHtcclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgLmJveC1pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbmZvIHtcclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgLmJveC1pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRncmVlbjsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLmJveC1pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kYW5nZXIge1xyXG4gICAgICAgIC5ib3gtaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ29tcGFjdCBzdHlsZVxyXG4gICAgJi5jb21wYWN0IHtcclxuICAgICAgICAvL2ljb25cclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3RleHRcclxuICAgICAgICAuYm94LXRleHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHggMCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gRGlhbW9uZCBpY29uIGJveFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uZGlhbW9uZC1ib3gge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy93cmFwcGVyXHJcbiAgICAuZGlhbW9uZC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvL2RpYW1vbmRcclxuICAgIC5kaWFtb25kIHtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgbGVmdDogMTFweDtcclxuICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vdGl0bGVcclxuICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICAgIC8vdGV4dFxyXG4gICAgLmJveC10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgfVxyXG4gICAgLy9jb2xvcnNcclxuICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgLmRpYW1vbmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgIC5kaWFtb25kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJHNlY29uZGFyeS1ib3gtc2hhZG93OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjZW50IHtcclxuICAgICAgICAuZGlhbW9uZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NlbnQtYm94LXNoYWRvdzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmluZm8ge1xyXG4gICAgICAgIC5kaWFtb25kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRibHVlLWJveC1zaGFkb3c7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgLmRpYW1vbmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRncmVlbi1ib3gtc2hhZG93OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAuZGlhbW9uZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRvcmFuZ2UtYm94LXNoYWRvdzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRhbmdlciB7XHJcbiAgICAgICAgLmRpYW1vbmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcmVkLWJveC1zaGFkb3c7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBTcXVhcmUgaWNvbiBib3hcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNxdWFyZS1pY29uLWJveCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAmOmhvdmVyIC5pY29uLWJveC13cmFwcGVyIC5pY29uLWJveDphZnRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIC8vcm91bmRlZCBzdHlsZVxyXG4gICAgJi5yb3VuZGVkIHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3dyYXBwZXJcclxuICAgIC5pY29uLWJveC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIC8vaWNvblxyXG4gICAgICAgIC5pY29uLWJveCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTZweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3NnB4O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDoxO1xyXG4gICAgICAgICAgICAgICAgdG9wOi04cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0Oi04cHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vdGl0bGVcclxuICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuYm94LXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgfVxyXG4gICAgLy9jb2xvcnNcclxuICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgLmljb24tYm94IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcmltYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkc2Vjb25kYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgLmljb24tYm94IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGFjY2VudC1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbmZvIHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJsdWUtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICRibHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRncmVlbi1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJGdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLmljb24tYm94IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJG9yYW5nZS1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJG9yYW5nZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kYW5nZXIge1xyXG4gICAgICAgIC5pY29uLWJveCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRyZWQtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICRyZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gTG9uZyBzaGFkb3cgaWNvbiBib3hlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9WYXJpYWJsZXNcclxuJGljb24tY29sb3I6ICR3aGl0ZTsgICAgIFxyXG4kcHJpbWFyeS1ib3gtYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiRzZWNvbmRhcnktYm94LWJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiRhY2NlbnQtYm94LWJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiRpbmZvLWJveC1iYWNrZ3JvdW5kOiAkYmx1ZTtcclxuJHN1Y2Nlc3MtYm94LWJhY2tncm91bmQ6ICRncmVlbjtcclxuJHdhcm5pbmctYm94LWJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiRkYW5nZXItYm94LWJhY2tncm91bmQ6ICRyZWQ7XHJcbiRwcmltYXJ5LXNoYWRvdy1jb2xvcjogZGFya2VuKCRwcmltYXJ5LDE1JSk7ICBcclxuJHNlY29uZGFyeS1zaGFkb3ctY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LDE1JSk7IFxyXG4kYWNjZW50LXNoYWRvdy1jb2xvcjogZGFya2VuKCRhY2NlbnQsMTUlKTsgXHJcbiRpbmZvLXNoYWRvdy1jb2xvcjogZGFya2VuKCRibHVlLDE1JSk7IFxyXG4kc3VjY2Vzcy1zaGFkb3ctY29sb3I6IGRhcmtlbigkZ3JlZW4sMTUlKTsgXHJcbiR3YXJuaW5nLXNoYWRvdy1jb2xvcjogZGFya2VuKCRvcmFuZ2UsMTUlKTsgXHJcbiRkYW5nZXItc2hhZG93LWNvbG9yOiBkYXJrZW4oJHJlZCwxNSUpOyBcclxuJGJveC1wcmltYXJ5LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuJGJveC1zZWNvbmRhcnktc2hhZG93OiAkc2Vjb25kYXJ5LWJveC1zaGFkb3c7XHJcbiRib3gtYWNjZW50LXNoYWRvdzogJGFjY2VudC1ib3gtc2hhZG93O1xyXG4kYm94LWluZm8tc2hhZG93OiAkYmx1ZS1ib3gtc2hhZG93O1xyXG4kYm94LXN1Y2Nlc3Mtc2hhZG93OiAkZ3JlZW4tYm94LXNoYWRvdztcclxuJGJveC13YXJuaW5nLXNoYWRvdzogJG9yYW5nZS1ib3gtc2hhZG93O1xyXG4kYm94LWRhbmdlci1zaGFkb3c6ICRyZWQtYm94LXNoYWRvdztcclxuJGxlbmd0aDogNzU7XHJcblxyXG4vL2xvbmcgc2hhZG93IG1peGluXHJcbkBtaXhpbiBsb25nLXNoYWRvdyAoJHNoYWRvdy1jb2xvciwgJGxlbmd0aCkge1xyXG4gICAgJGxpc3Q6ICgpO1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcclxuICAgICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkc2hhZG93LWNvbG9yICRpK3B4ICRpK3B4LCBjb21tYSk7XHJcbiAgICB9XHJcbiAgICB0ZXh0LXNoYWRvdzogJGxpc3Q7XHJcbn1cclxuXHJcbi8vbG9uZyBzaGFkb3dcclxuLnNoYWRvdy1pY29uLWJveCBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAkbGVuZ3RoK3B4O1xyXG4gICAgd2lkdGg6ICRsZW5ndGgrcHg7XHJcbiAgICBjb2xvcjogJGljb24tY29sb3I7XHJcbiAgICBAaW5jbHVkZSBsb25nLXNoYWRvdyAoJHByaW1hcnktc2hhZG93LWNvbG9yLCAkbGVuZ3RoKTtcclxufVxyXG5cclxuLy9pY29uLWJveFxyXG4uc2hhZG93LWljb24tYm94IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHdpZHRoOiAkbGVuZ3RoK3B4O1xyXG4gICAgaGVpZ2h0OiAkbGVuZ3RoK3B4O1xyXG4gICAgZm9udC1zaXplOiAkbGVuZ3RoLzMrcHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGxlbmd0aCtweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWJveC1iYWNrZ3JvdW5kO1xyXG4gICAgQGluY2x1ZGUgcHJlZml4KGJvcmRlci1yYWRpdXMsIDEwcHgpO1xyXG4gICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtcHJpbWFyeS1zaGFkb3cpO1xyXG4gICAgLy9yb3VuZGVkIHN0eWxlXHJcbiAgICAmLnJvdW5kZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByZWZpeChib3JkZXItcmFkaXVzLCAxMDBweCk7XHJcbiAgICB9XHJcbiAgICAvL0NvbG9yc1xyXG4gICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtc2Vjb25kYXJ5LXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkc2Vjb25kYXJ5LXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtYWNjZW50LXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkYWNjZW50LXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1pbmZvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mby1ib3gtYmFja2dyb3VuZDtcclxuICAgICAgICBAaW5jbHVkZSBwcmVmaXgoYm94LXNoYWRvdywgJGJveC1pbmZvLXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkaW5mby1zaGFkb3ctY29sb3IsICRsZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc3VjY2VzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtc3VjY2Vzcy1zaGFkb3cpO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBsb25nLXNoYWRvdyAoJHN1Y2Nlc3Mtc2hhZG93LWNvbG9yLCAkbGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXdhcm5pbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWJveC1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIEBpbmNsdWRlIHByZWZpeChib3gtc2hhZG93LCAkYm94LXdhcm5pbmctc2hhZG93KTtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbG9uZy1zaGFkb3cgKCR3YXJuaW5nLXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1kYW5nZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXItYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtZGFuZ2VyLXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkZGFuZ2VyLXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vTG9uZyBzaGFkb3cgYm94IHRpdGxlXHJcbi5zaGFkb3ctdGl0bGUge1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8vTG9uZyBzaGFkb3cgYm94IHRleHRcclxuLnNoYWRvdy10ZXh0IHtcclxuICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gU2ltcGxlIGNvdW50ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zaW1wbGUtY291bnRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL251bWJlclxyXG4gICAgLmNvdW50ZXItbnVtYmVyIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgJi5pcy1ib2xkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vdGV4dFxyXG4gICAgLmNvdW50ZXItdGV4dCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9iYWNrZ3JvdW5kIGljb25cclxuICAgIC5iYWNrZ3JvdW5kLWljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICAgICAgdG9wOiAtMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMTtcclxuICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBDYXJkIGNvdW50ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXJkLWNvdW50ZXIge1xyXG4gICAgLmZsZXgtY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLnJvdW5kLWljb24gaSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHNjYWxlKDEuMDUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NlbnQtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIC5jb3VudGVyLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2ljb25cclxuICAgIC5yb3VuZC1pY29uIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICBwYWRkaW5nOiAyMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtNDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcclxuICAgIH1cclxuICAgIC8vbnVtYmVyXHJcbiAgICAuY291bnRlci1udW1iZXIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICB9XHJcbiAgICAvL3RleHRcclxuICAgIC5jb3VudGVyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBJY29uIGNvdW50ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pY29uLWNvdW50ZXIge1xyXG4gICAgLy9pY29uXHJcbiAgICAuY291bnRlci1pY29uIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIC8vbnVtYmVyXHJcbiAgICAuY291bnRlci1udW1iZXIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuY291bnRlci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gUGFyYWxsYXggY291bnRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBhcmFsbGF4LWNvdW50ZXIge1xyXG4gICAgLy9pY29uXHJcbiAgICAuY291bnRlci1pY29uIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAvL251bWJlclxyXG4gICAgLmNvdW50ZXItbnVtYmVyIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuY291bnRlci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIFRlYW0gVjFcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50ZWFtLWNsYXNzaWMge1xyXG4gICAgLy9tZW1iZXIgaW1hZ2VcclxuICAgIC50ZWFtLW1lbWJlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL292ZXJsYXlcclxuICAgICAgICAuaXRlbS1vdmVybGF5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAub3ZlcmxheS1xdW90ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDU1JTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1JTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgIC5xdW90ZS10ZXh0IGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zb2NpYWwtbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgICAgICBzcGFuIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIGEgaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0d2l0dGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkdHdpdHRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbjpudGgtY2hpbGQoMikgYSBpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpbmtlZGluO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlua2VkaW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW46bGFzdC1jaGlsZCBhIGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZHJpYmJibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkcmliYmJsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAuaXRlbS1vdmVybGF5ICB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAub3ZlcmxheS1xdW90ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9tZXRhXHJcbiAgICAubWVtYmVyLW5hbWUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAubGFzdC1uYW1lIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucG9zaXRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY2lyY2xlZCBzb2NpYWwgaWNvbnNcclxuICAgICYuY2lyY2xlZCB7XHJcbiAgICAgICAgLnNvY2lhbC1saW5rcyB7XHJcbiAgICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQgYSBpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0d2l0dGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0d2l0dGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDIpIGEgaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlua2VkaW47XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmtlZGluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW46bGFzdC1jaGlsZCBhIGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRyaWJiYmxlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkcmliYmJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vU3F1YXJlIHNvY2lhbCBpY29uc1xyXG4gICAgJi5zcXVhcmVkIHtcclxuICAgICAgICAuc29jaWFsLWxpbmtzIHtcclxuICAgICAgICAgICAgc3BhbiBhIGkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCBhIGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHR3aXR0ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHR3aXR0ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbjpudGgtY2hpbGQoMikgYSBpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaW5rZWRpbjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlua2VkaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbjpsYXN0LWNoaWxkIGEgaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZHJpYmJibGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRyaWJiYmxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG45LiBUZWFtIFY0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5tb2Rlcm4tdGVhbSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIC8vVGVhbSBtZW1iZXJcclxuICAgIC5tb2Rlcm4tdGVhbS1pdGVtIHtcclxuICAgICAgICAuaXRlbS13cmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaXRlbS1pbWcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCAyNywgMTc0LCAuNyk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vT3ZlcmxheVxyXG4gICAgICAgIC5vdmVybGF5LXdyYXBwZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgICAgLnNvY2lhbCB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQycHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9NZXRhXHJcbiAgICAgICAgLm1lbWJlci1pbmZvIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAubWVtYmVyLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVtYmVyLXBvc2l0aW9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAuNWVtIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOGVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIC5vdmVybGF5LXdyYXBwZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLjcxLCAwLjA1LCAwLjI5LCAwLjkpIC4ycztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9DaXJjbGUgbWFzayBvdmVybGF5XHJcbiAgICAgICAgJi5jaXJjbGUtbWFzayAuaXRlbS1pbWc6YmVmb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjUlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNpcmNsZS1tYXNrOmhvdmVyIC5pdGVtLWltZzpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSg0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0N1cnRhaW4gbWFzayBvdmVybGF5XHJcbiAgICAgICAgJi5jdXJ0YWluLW1hc2sgLml0ZW0taW1nOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAxMCUsIDE1JSA5MCUsIDg1JSA5MCUpO1xyXG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDEwJSwgMTUlIDkwJSwgODUlIDkwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzLCAuNHM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC40cywgMHM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY3VydGFpbi1tYXNrOmhvdmVyIC5pdGVtLWltZzpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSg1KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjFzLCAwcztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjRzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3pvb20gZWZmZWN0XHJcbiAgICAgICAgJi56b29tLWVmZmVjdCAubWVtYmVyLWF2YXRhciB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKDAuNzEsIDAuMDUsIDAuMjksIDAuOSk7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuem9vbS1lZmZlY3Q6aG92ZXIgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vcm90YXRlIHpvb20gZWZmZWN0XHJcbiAgICAgICAgJi5yb3RhdGUtem9vbS1lZmZlY3QgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllcigwLjcxLCAwLjA1LCAwLjI5LCAwLjkpO1xyXG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yb3RhdGUtem9vbS1lZmZlY3Q6aG92ZXIgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgcm90YXRlKDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3pvb20gc2xpZGUgZWZmZWN0XHJcbiAgICAgICAgJi56b29tLXNsaWRlLWVmZmVjdCAubWVtYmVyLWF2YXRhciB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKDAuNzEsIDAuMDUsIDAuMjksIDAuOSk7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnpvb20tc2xpZGUtZWZmZWN0OmhvdmVyIC5tZW1iZXItYXZhdGFyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZSg0JSwgNCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTAuIFRlYW0gVjVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXJkLXRlYW0ge1xyXG4gICAgLy9jYXJkXHJcbiAgICAuY2FyZC10ZWFtLWl0ZW0ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gICAgICAgIC5mbGV4LWNhcmQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vYXZhdGFyXHJcbiAgICAgICAgLnRlYW0tYXZhdGFyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vbWV0YVxyXG4gICAgICAgIC5tZW1iZXItaWQgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lbWJlci1pZCAucG9zaXRpb24ge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zb2NpYWwgaWNvbnNcclxuICAgICAgICAuY2FyZC1zb2NpYWwtbGlua3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSBpIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCBpIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEwcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwcHgpO1xyXG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjM1cztcclxuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzVzO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXM7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQWN0aXZlIHN0YXRlXHJcbiAgICAgICAgJjpob3ZlciAuY2FyZC1zb2NpYWwtbGlua3MgYSBpIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIFRlYW0gVjZcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mbGlwLWJveGVzIHtcclxuICAgIC8vRmxpcCBjYXJkXHJcbiAgICAuZmxpcC1ib3gge1xyXG4gICAgICAgIHBlcnNwZWN0aXZlOjUwMHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIC8vd3JhcHBlclxyXG4gICAgLmZsaXAtYm94LXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vZnJvbnRcclxuICAgICAgICAuZnJvbnQge1xyXG4gICAgICAgICAgICB6LWluZGV4OjI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDI1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9iYWNrXHJcbiAgICAgICAgLmJhY2sge1xyXG4gICAgICAgICAgICB6LWluZGV4OjE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgIC5mbGlwLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMjJyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9zb2NpYWwgaWNvbnNcclxuICAgICAgICAgICAgLmZsaXAtc29jaWFsIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTE2cmVtO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEyLiBDbGllbnQgZ3JpZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5ncmlkLWNsaWVudHMge1xyXG4gICAgLmNsaWVudCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgIH1cclxuICAgIC8vMyBjb2x1bW5zIGdyaWRcclxuICAgICYudGhyZWUtZ3JpZCB7XHJcbiAgICAgICAgLmNvbHVtbjpudGgtY2hpbGQoMiksIC5jb2x1bW46bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vNCBjb2x1bW5zIGdyaWRcclxuICAgICYuZm91ci1ncmlkIHtcclxuICAgICAgICAuY29sdW1uOm50aC1jaGlsZCgyKSwgLmNvbHVtbjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sdW1uOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vNSBjb2x1bW5zIGdyaWRcclxuICAgICYuZml2ZS1ncmlkIHtcclxuICAgICAgICAuY29sdW1uOm50aC1jaGlsZCgyKSwgLmNvbHVtbjpudGgtY2hpbGQoMyksIC5jb2x1bW46bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbHVtbjpudGgtY2hpbGQoNSksIC5jb2x1bW46bnRoLWNoaWxkKDYpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaXMtc2VwYXJhdG9yIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTMuIENlbnRlcmVkIGltYWdlcyBjYXJvdXNlbFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmltYWdlLWNhcm91c2VsIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogOTUwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICY6aG92ZXIgLnNsaWNrLWN1c3RvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIC8vaXRlbVxyXG4gICAgLmNhcm91c2VsLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuc3RhY2stbG9nbyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1jdXN0b20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgJi5pcy1wcmV2IHtcclxuICAgICAgICAgICAgbGVmdDogLTQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLW5leHQge1xyXG4gICAgICAgICAgICByaWdodDogLTQlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1kb3RzIHtcclxuICAgICAgICBib3R0b206IC02MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stcHJldjpiZWZvcmUsIC5zbGljay1uZXh0OmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xNC4gTXVsdGlwbGUgaW1hZ2VzIGNhcm91c2VsXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubXVsdGlwbGUtaW1hZ2UtY2Fyb3VzZWwge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiA5NTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgJjpob3ZlciAuc2xpY2stY3VzdG9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgLy9pdGVtXHJcbiAgICAuY2Fyb3VzZWwtaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5zdGFjay1sb2dvIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1jdXN0b20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWRvdHMge1xyXG4gICAgICAgIGJvdHRvbTogLTYwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjE1LiBTaW5nbGUgaW1hZ2UgY2Fyb3VzZWxcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zaW5nbGUtaW1hZ2UtY2Fyb3VzZWwge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiA2NTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgJjpob3ZlciAuc2xpY2stY3VzdG9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgLy9pdGVtXHJcbiAgICAuY2Fyb3VzZWwtaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6aG92ZXIgLmNhcHRpb24ge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1jdXN0b20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgICAgYm90dG9tOiAtNjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTYuIEN1c3RvbSBzbGljayBjYXJvdXNlbCBuYXZpZ2F0aW9uIGFycm93c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnNsaWNrLWN1c3RvbSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDQxJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuICAgIH1cclxuICAgIC8vcHJldmlvdXMgYXJyb3dcclxuICAgICYuaXMtcHJldiB7XHJcbiAgICAgICAgbGVmdDogLTZweDtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDJweDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9uZXh0IGFycm93XHJcbiAgICAmLmlzLW5leHQge1xyXG4gICAgICAgIHJpZ2h0OiAtNnB4O1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBsZWZ0OiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfdGFicy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5OYXZpZ2F0aW9uIHRhYnMgYW5kIHBpbGxzIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBUYWJzIG5hdlxyXG4xLiBOYXZpZ2F0aW9uIHRhYnNcclxuMi4gUGFydG5lciB0YWJzXHJcbjMuIFRhYmJlZCByZXZpZXdzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFRhYnMgbmF2XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFicy1uYXYge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vY29udGFpbmVyXHJcbiAgICAudGFicy1jb250YWluZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLnRhYi1jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjhweCAzM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFiLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1jb250YWluZXIudHlwZS0yIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbiAgICAudGFicy1jb250YWluZXIudHlwZS0xIC50YWItY29udGVudCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTBlMGUwO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAwIDA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTI7XHJcbiAgICB9XHJcbiAgICBsaS5hY3RpdmUgLnRhYi1yZXZpZXdzIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgbGkgYSwgdGFiLXJldmlld3Mge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuICAgIGxpIGEge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiA3cHggMTVweDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDExO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM2NjY3NmI7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIGE6aG92ZXIsIGxpLmFjdGl2ZSBhIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHotaW5kZXg6IDExO1xyXG4gICAgfVxyXG4gICAgbGkgYSBpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gTmF2aWdhdGlvbiB0YWJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubmF2aWdhdGlvbi10YWJzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvL25hdnRhYiBjb250ZW50XHJcbiAgICAubmF2dGFiLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxOTBweDtcclxuICAgICAgICAmLm5hdnRhYi1tb2RhbCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2FjdGl2ZSBzdGF0ZVxyXG4gICAgLm5hdnRhYi1jb250ZW50LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAvL2ZhZGVkIHRhYnNcclxuICAgICYuYW5pbWF0ZWQtdGFicyB7XHJcbiAgICAgICAgLm5hdnRhYi1jb250ZW50IHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3RyYW5zbGF0ZWQgdGFic1xyXG4gICAgJi50cmFuc2xhdGVkLXRhYnMge1xyXG4gICAgICAgIC5uYXZ0YWItY29udGVudCB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVMZWZ0O1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2ltcGxlIHRhYnNcclxuICAgICYuc2ltcGxlLXRhYnMge1xyXG4gICAgICAgIC50YWJzIHVsIGxpIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzIHVsIGxpOmhvdmVyIGEge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaS5pcy1hY3RpdmUgYSAuaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvL2JveGVkIHRhYnNcclxuICAgICYuYm94ZWQtdGFicyB7XHJcbiAgICAgICAgLnRhYnMgdWwgbGkgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9vdXRsaW5lZCBwaWxsc1xyXG4gICAgJi5vdXRsaW5lZC1waWxscyB7XHJcbiAgICAgICAgJi5yb3VuZGVkLXBpbGxzIHtcclxuICAgICAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgYSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaSBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHhcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9mdWxsIHBpbGxzXHJcbiAgICAmLmZ1bGwtcGlsbHMge1xyXG4gICAgICAgICYucm91bmRlZCB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzIGEge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvL3BpbGxzIGNvbG9yc1xyXG4gICAgICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRzZWNvbmRhcnktYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NlbnQtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vc3F1YXJlIHBpbGxzXHJcbiAgICAmLnNxdWFyZS1waWxscyB7XHJcbiAgICAgICAgLy9yb3VuZGVkIHN0eWxlXHJcbiAgICAgICAgJi5jaXJjbGUtcGlsbHMge1xyXG4gICAgICAgICAgICAudGFicyB1bCBsaSBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaSBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxNS41cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBjb2xvcjogIzlhOWE5YTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMiwgMjIyLCAyMjIsIDAuMyk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgICAgIDpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaS5pcy1hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDM1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBQYXJ0bmVyIHRhYnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50YWJzIHtcclxuICAgICYucGFydG5lci10YWJzIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCBsaSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gVGFiYmVkIHJldmlld3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50YWItcmV2aWV3cyB7XHJcbiAgICBjb2xvcjogI2FhYTtcclxufSIsIi8qISBfdGVzdGltb25pYWxzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblRlc3RpbW9uaWFsIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBTaW1wbGUgdGVzdGltb25pYWxzXHJcbjEuIFZlcnRpY2FsIHRlc3RpbW9uaWFsc1xyXG4yLiBGbGF0IHRlc3RpbW9uaWFsc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBTaW1wbGUgdGVzdGltb25pYWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGVzdGltb25pYWxzLCAuZGVtbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC8vaXRlbVxyXG4gICAgLnRlc3RpbW9uaWFsLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogNDBweDtcclxuICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9hdmF0YXJcclxuICAgICAgICAudGVzdGltb25pYWwtYXZhdGFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL21ldGFcclxuICAgICAgICAudGVzdGltb25pYWwtbmFtZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jb250ZW50XHJcbiAgICAgICAgLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9QYWdpbmF0aW9uIGRvdHNcclxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xyXG4gICAgb3BhY2l0eTogLjc1O1xyXG4gICAgY29sb3I6ICRhY2NlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gVmVydGljYWwgdGVzdGltb25pYWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udmVydGljYWwtdGVzdGltb25pYWxzIHtcclxuICAgIG1hcmdpbi10b3A6IDkwcHg7XHJcbiAgICAvL2l0ZW1cclxuICAgIC52dGVzdGltb25pYWwtaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggODBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2F2YXRhclxyXG4gICAgICAgIC52dC1hdmF0YXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6NTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vY29udGVudFxyXG4gICAgICAgIC52dC1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIC52dC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC43ZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudnQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0YXItcmF0aW5nIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2FjdGl2ZSB0ZXN0aW1vbmlhbCBjYXJkXHJcbiAgICAuc2xpY2stY3VycmVudC5zbGljay1hY3RpdmUuc2xpY2stY2VudGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweDtcclxuICAgIH1cclxuICAgIC8vZmFkZSBvdXQgbm9uIGFjdGl2ZSBjYXJkc1xyXG4gICAgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICAmOm5vdCguc2xpY2stY3VycmVudCkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjEgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIEZsYXQgdGVzdGltb25pYWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZmxhdC10ZXN0aW1vbmlhbHMge1xyXG4gICAgLy9pdGVtXHJcbiAgICAuZmxhdC10ZXN0aW1vbmlhbC1pdGVtIHtcclxuICAgICAgICBtYXJnaW46IDAgMjBweCA1MHB4IDIwcHg7XHJcbiAgICAgICAgLy9pbWFnZVxyXG4gICAgICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogIDBweCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTgpOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2ltYWdlIG92ZXJsYXlcclxuICAgICAgICAgICAgLnNrZXdlZC1vdmVybGF5IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogOTUlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKDhkZWcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0NvbnRlbnRcclxuICAgICAgICAudGVzdGltb25pYWwtdGV4dCB7XHJcbiAgICAgICAgICAgIC5xdW90ZWQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJhc2FsdGljLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNsaWVudC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNsaWVudC1wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29tcGFueSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mYS1xdW90ZS1sZWZ0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jb2xvcnNcclxuICAgICAgICAmLnByaW1hcnkge1xyXG4gICAgICAgICAgICAuc2tld2VkLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNsaWVudC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZmEtcXVvdGUtbGVmdCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAuc2tld2VkLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2xpZW50LW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZhLXF1b3RlLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NlbnQge1xyXG4gICAgICAgICAgICAuc2tld2VkLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2xpZW50LW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZhLXF1b3RlLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyohIF9kaWFsb2dzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbk1vZGFsIGRpYWxvZ3Mgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBCYXNlIG1vZGFsIGNsYXNzXHJcbjEuIE1vZGFsIGFjdGl2ZSBzdGF0ZVxyXG4yLiBNZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEJhc2UgbW9kYWwgY2xhc3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm1vZGFsIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcblxyXG4gICAgLy9tb2RhbCBjb250ZW50IGRlZmF1bHQgc3R5bGVzXHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDk5ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL21vZGFsIGNsb3NlIGRlZmF1bHQgc3R5bGVzXHJcbiAgICAubW9kYWwtY2xvc2Uge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gTW9kYWwgYWN0aXZlIHN0YXRlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5tb2RhbC5pcy1hY3RpdmUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC8vbW9kYWwgb3ZlcmxheVxyXG4gICAgLm1vZGFsLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3ZWJraXQtbW9kYWwtZ3JhZGllbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG1vZGFsLWdyYWRpZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIHdpZHRoOiAxMDAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gO1xyXG4gICAgICAgIGxlZnQ6IDAgO1xyXG4gICAgICAgIHJpZ2h0OiAwIDtcclxuICAgICAgICB0b3A6IDAgO1xyXG4gICAgICAgIGJvdHRvbTogMCA7XHJcbiAgICAgICAgei1pbmRleDogOTggIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJi5zY2FsZUluQ2lyY2xlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSg3KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL21vZGFsLWNvbnRlbnRcclxuICAgIC5tb2RhbC1jb250ZW50IHtcclxuICAgICAgICAvL3NjYWxlIGluIGVudHJhbmNlXHJcbiAgICAgICAgJi5zY2FsZUluIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2Nsb3NlIGJ1dHRvbiB6LWluZGV4XHJcbiAgICAubW9kYWwtY2xvc2Uge1xyXG4gICAgICAgIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9pbWFnZSBtb2RhbCB2YXJpYXRpb25cclxuICAgICYuaW1hZ2UtbW9kYWwge1xyXG4gICAgICAgIC5tb2RhbC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdlYmtpdC1jb2FsLWdyYWRpZW50O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29hbC1ncmFkaWVudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2FsbGVyeS1pdGVtIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9Nb2RhbCBjYXJkXHJcbiAgICAubW9kYWwtY2FyZCB7XHJcbiAgICAgICAgLm1vZGFsLWNhcmQtaGVhZCwgLm1vZGFsLWNhcmQtZm9vdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaGVhZGVyXHJcbiAgICAgICAgLm1vZGFsLWNhcmQtaGVhZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2Nsb3NlIGJ1dHRvblxyXG4gICAgICAgICAgICAuZGVsZXRlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jYXJkIGJvZHlcclxuICAgICAgICAubW9kYWwtY2FyZC1ib2R5Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1vZGFsLWNhcmQtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jYXJkIGZvb3RlclxyXG4gICAgICAgIC5tb2RhbC1jYXJkLWZvb3Qge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9zbWFsbCBtb2RhbFxyXG4gICAgJi5tb2RhbC1zbSB7XHJcbiAgICAgICAgLm1vZGFsLWNhcmQtYm9keSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY3VycmVudCB0aGVtZSBncmFkaWVudCBvdmVybGF5IGNvbG9yXHJcbiAgICAmLm1vZGFsLWhlcm8ge1xyXG4gICAgICAgIC5tb2RhbC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdlYmtpdC1oZXJvLWdyYWRpZW50O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVyby1ncmFkaWVudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3N1Y2Nlc3Mgb3ZlcmxheVxyXG4gICAgJi5tb2RhbC1zdWNjZXNzIHtcclxuICAgICAgICAubW9kYWwtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2Vycm9yIG92ZXJsYXlcclxuICAgICYubW9kYWwtZXJyb3Ige1xyXG4gICAgICAgIC5tb2RhbC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3dhcm5pbmcgb3ZlcmxheVxyXG4gICAgJi5tb2RhbC13YXJuaW5nIHtcclxuICAgICAgICAubW9kYWwtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9pbmZvIG92ZXJsYXlcclxuICAgICYubW9kYWwtaW5mbyB7XHJcbiAgICAgICAgLm1vZGFsLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL21lc3NhZ2UgbW9kYWxzIGljb25cclxuICAgIC5tb2RhbC1zdmcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9Nb2JpbGUgYWRqdXRtZW50XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XHJcbiAgICAubW9kYWwubW9kYWwtbGcge1xyXG4gICAgICAgIC5tb2RhbC1jYXJkLCAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb2RhbC5tb2RhbC1zbSB7XHJcbiAgICAgICAgLm1vZGFsLWNhcmQsIC5tb2RhbC1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfZm9ybXMuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuRm9ybSBpbnB1dHMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFJlc2V0c1xyXG4xLiBGb3JtIGxhYmVsc1xyXG4yLiBUZXh0IGlucHV0c1xyXG4zLiBDdXN0b20gaW5wdXRcclxuNC4gVGV4dGFyZWFzXHJcbjUuIElucHV0IHdyYXBwZXJzXHJcbjYuIE1hdGVyaWFsIElucHV0c1xyXG43LiBOYXRpdmUgc2VsZWN0IGJveFxyXG44LiBBdXRvY29tcGxldGVcclxuOS4galF1ZXJ5IGRhdGVwaWNrZXJcclxuMTAuIEZpbGUgaW5wdXRzXHJcbjExLiBDaGVja2JveGVzIGFuZCByYWRpb3NcclxuMTIuIFRhZ3MgaW5wdXRcclxuMTMuIFRpbWUgcGlja2VyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFJlc2V0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmlucHV0LCAudGV4dGFyZWEsIHNlbGVjdCB7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEZvcm0gbGFiZWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZm9ybS1sYWJlbCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBUZXh0IGlucHV0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuaW5wdXQuaW5wdXQge1xyXG4gICAgY29sb3I6ICRiYXNhbHRpYy1ncmV5O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcclxuICAgIGJvcmRlci1jb2xvcjogJGRlZmF1bHQtaW5wdXQ7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIC8vc2l6ZXNcclxuICAgICYuaXMtc21hbGwge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJi5pcy1tZWRpdW0ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgfVxyXG4gICAgJi5pcy1sYXJnZSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgfVxyXG4gICAgLy9yb3VuZGVkIHN0eWxlXHJcbiAgICAmLnJvdW5kZWQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9mb2N1cyBjb2xvcnNcclxuICAgICYuaXMtcHJpbWFyeS1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB+IHNwYW4uaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc2Vjb25kYXJ5LWZvY3VzOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtYWNjZW50LWZvY3VzOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtZ3JleS1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB+IHNwYW4uaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vZGVmYXVsdFxyXG4gICAgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyZXk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIEN1c3RvbSBpbnB1dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uaW5wdXQuY3VzdG9tLWlucHV0IHtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICNkYmRiZGIgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gVGV4dGFyZWFzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbnRleHRhcmVhLnRleHRhcmVhIHtcclxuICAgIGNvbG9yOiAkYmFzYWx0aWMtZ3JleTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcclxuICAgIC8vZm9jdXMgY29sb3JzXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgJi5pcy1wcmltYXJ5LWZvY3VzOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH4gc3Bhbi5pY29uIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1zZWNvbmRhcnktZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB+IHNwYW4uaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQtZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICB+IHNwYW4uaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1ncmV5LWZvY3VzOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIH4gc3Bhbi5pY29uIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1kZWZhdWx0LWZvY3VzOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRkZWZhdWx0LWlucHV0O1xyXG4gICAgICAgIH4gc3Bhbi5pY29uIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtaW5wdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9ncm93aW5nIHRleHRhcmVhXHJcbiAgICAmLmlzLWdyb3cge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcmVzaXplOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTMwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2VtYmVkZWQgYnV0dG9uIGluc2lkZSB0ZXh0YXJlYVxyXG4gICAgJi5pcy1idXR0b24ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICByZXNpemU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRlZmF1bHQtaW5wdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRlZmF1bHQtaW5wdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgLnRleHRhcmVhLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtaW5wdXQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDdweCA3cHggN3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBJbnB1dCB3cmFwcGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZpZWxkIHtcclxuICAgIC5jb250cm9sIHtcclxuICAgICAgICAmLmRhdGVwaWNrZXItY29udHJvbCwgJi50aW1lcGlja2VyLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vdmFsaWRhdGlvblxyXG4gICAgICAgICYucmVxdWlyZWQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy92YWxpZGF0aW9uIGluZm9cclxuICAgICAgICAgICAgc21hbGwudmFsaWRhdGlvbi1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL3N1Y2Nlc3Mgc3RhdGVcclxuICAgICAgICAgICAgJi5oYXMtc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc21hbGwudmFsaWRhdGlvbi1pbmZvLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc3VjY2VzcyBpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vZXJyb3Igc3RhdGVcclxuICAgICAgICAgICAgJi5oYXMtZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzbWFsbC52YWxpZGF0aW9uLWluZm8uZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmVycm9yIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBNYXRlcmlhbCBJbnB1dHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTWF0ZXJpYWwgY29udHJvbFxyXG4uY29udHJvbC1tYXRlcmlhbCB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgXHJcbiAgICBtYXJnaW4tYm90dG9tOjNlbTtcclxuICAgIGlucHV0LCB0ZXh0YXJlYSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9wcmltYXJ5IGNvbG9yc1xyXG4gICAgJi5pcy1wcmltYXJ5IHtcclxuICAgICAgICBpbnB1dC5tYXRlcmlhbC1pbnB1dDpmb2N1cyB+IGxhYmVsLCBpbnB1dDp2YWxpZCB+IGxhYmVsLCB0ZXh0YXJlYTpmb2N1cyB+IGxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFyOmJlZm9yZSwgLmJhcjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhcy1pY29uIGlucHV0OmZvY3VzIH4gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vc2Vjb25kYXJ5IGNvbG9yc1xyXG4gICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgIGlucHV0Lm1hdGVyaWFsLWlucHV0OmZvY3VzIH4gbGFiZWwsIGlucHV0OnZhbGlkIH4gbGFiZWwsIHRleHRhcmVhOmZvY3VzIH4gbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhcjpiZWZvcmUsIC5iYXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhcy1pY29uIGlucHV0OmZvY3VzIH4gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9hY2NlbnQgY29sb3JzXHJcbiAgICAmLmlzLWFjY2VudCB7XHJcbiAgICAgICAgaW5wdXQubWF0ZXJpYWwtaW5wdXQ6Zm9jdXMgfiBsYWJlbCwgaW5wdXQ6dmFsaWQgfiBsYWJlbCwgdGV4dGFyZWE6Zm9jdXMgfiBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFyOmJlZm9yZSwgLmJhcjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGFzLWljb24gaW5wdXQ6Zm9jdXMgfiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2xpZ2h0IGNvbG9yc1xyXG4gICAgJi5pcy1saWdodCB7XHJcbiAgICAgICAgaW5wdXQubWF0ZXJpYWwtaW5wdXQ6Zm9jdXMgfiBsYWJlbCwgaW5wdXQ6dmFsaWQgfiBsYWJlbCwgdGV4dGFyZWE6Zm9jdXMgfiBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXI6YmVmb3JlLCAuYmFyOmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhcy1pY29uIGlucHV0OmZvY3VzIH4gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2JhaXNjIG1hdGVyaWFsIHN0eWxlc1xyXG4gICAgaW5wdXQubWF0ZXJpYWwtaW5wdXQsIHRleHRhcmVhIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgICAgIHBhZGRpbmc6MC42MjVlbSAgMC42MjVlbSAwLjYyNWVtIDAuMzEyNWVtO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgd2lkdGg6MTguNzVlbTtcclxuICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkdGl0bGUtZ3JleTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9GbG9hdGluZyBsYWJlbFxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OidBcmlhbCc7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjsgXHJcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XHJcbiAgICAgICAgbGVmdDowLjMxMjVlbTtcclxuICAgICAgICB0b3A6MC42MjVlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOjAuMnMgZWFzZSBhbGw7IFxyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjowLjJzIGVhc2UgYWxsOyBcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246MC4ycyBlYXNlIGFsbDtcclxuICAgIH1cclxuICAgIGlucHV0Lm1hdGVyaWFsLWlucHV0OmZvY3VzIH4gbGFiZWwsIGlucHV0OnZhbGlkIH4gbGFiZWwsIHRleHRhcmVhOmZvY3VzIH4gbGFiZWxcdFx0e1xyXG4gICAgICAgIHRvcDotMjBweDtcclxuICAgICAgICBsZWZ0OiAtMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgfVxyXG4gICAgLy9ib3R0b20gYmFyXHJcbiAgICAuYmFyIFx0e1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmJhcjpiZWZvcmUsIC5iYXI6YWZ0ZXIgXHR7XHJcbiAgICAgICAgY29udGVudDonJztcclxuICAgICAgICBoZWlnaHQ6MnB4OyBcclxuICAgICAgICB3aWR0aDowO1xyXG4gICAgICAgIGJvdHRvbTowcHg7IFxyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG5cclxuICAgICAgICB0cmFuc2l0aW9uOjAuMnMgZWFzZSBhbGw7IFxyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjowLjJzIGVhc2UgYWxsOyBcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246MC4ycyBlYXNlIGFsbDtcclxuICAgIH1cclxuICAgIC5iYXI6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OjUwJTtcclxuICAgIH1cclxuICAgIC5iYXI6YWZ0ZXIge1xyXG4gICAgICAgIHJpZ2h0OjUwJTsgXHJcbiAgICB9XHJcbiAgICBpbnB1dC5tYXRlcmlhbC1pbnB1dDpmb2N1cyB+IC5iYXI6YmVmb3JlLCBpbnB1dC5tYXRlcmlhbC1pbnB1dDpmb2N1cyB+IC5iYXI6YWZ0ZXIsIHRleHRhcmVhOmZvY3VzIH4gLmJhcjpiZWZvcmUsIHRleHRhcmVhOmZvY3VzIH4gLmJhcjphZnRlciB7XHJcbiAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgfVxyXG4gICAgLy93aXRoIGljb25cclxuICAgICYuaGFzLWljb24ge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy92YWxpZGF0aW9uXHJcbiAgICAmLnJlcXVpcmVkIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7IFxyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzbWFsbC52YWxpZGF0aW9uLWluZm8ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zdWNjZXNzIHN0YXRlXHJcbiAgICAgICAgJi5oYXMtc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXI6YWZ0ZXIsIC5iYXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdWNjZXNzIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNtYWxsLnZhbGlkYXRpb24taW5mby5zdWNjZXNzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL2Vycm9yIHN0YXRlXHJcbiAgICAgICAgJi5oYXMtZXJyb3Ige1xyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhcjphZnRlciwgLmJhcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lcnJvciBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNtYWxsLnZhbGlkYXRpb24taW5mby5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG43LiBOYXRpdmUgc2VsZWN0IGJveFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9iYXNlIGNsYXNzXHJcbi5zZWxlY3Qge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRwcmltYXJ5LCAxMCUpO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VsZWN0Om5vdCguaXMtbXVsdGlwbGUpOm5vdCguaXMtbG9hZGluZyk6OmFmdGVyIHtcclxuICAgIHJpZ2h0OiAxLjUyNWVtO1xyXG4gICAgei1pbmRleDogNDtcclxuICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbXV0ZWQtZ3JleTtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbn1cclxuXHJcbi8vd3JhcHBlciBzdHlsZXNcclxuLmNvbnRyb2wuaGFzLWljb25zLWxlZnQgLnNlbGVjdCB7XHJcbiAgICAvL25vcm1hbCBzaXplXHJcbiAgICBpIHtcclxuICAgICAgICB6LWluZGV4OiAyICFpbXBvcnRhbnRcclxuICAgIH1cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XHJcbiAgICB9XHJcbiAgICAvL21lZGl1bSBzaXplXHJcbiAgICAmLmlzLW1lZGl1bSAge1xyXG4gICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9sYXJnZSBzaXplXHJcbiAgICAmLmlzLWxhcmdlICB7XHJcbiAgICAgICAgKyAuaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuM3JlbTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG44LiBBdXRvY29tcGxldGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQmFzZSBjbGFzc1xyXG4uYXV0b2NwbCB7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAvL2NvbnRhaW5lclxyXG4gICAgLmVhc3ktYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmF1dG8tY3BsLWNvbnRyb2wge1xyXG4gICAgLmljb24ge1xyXG4gICAgICAgIHRvcDogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLy90ZW1wbGF0ZS13cmFwcGVyXHJcbi50ZW1wbGF0ZS13cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvL2F2YXRhclxyXG4gICAgLmF1dG9jcGwtYXZhdGFyIHtcclxuICAgICAgICB3aWR0aDogMzZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL3RleHRcclxuICAgIC5lbnRyeS10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjkuIGpRdWVyeSBkYXRlcGlja2VyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkucGlja2VkLFxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkucGlja2VkOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTAuIEZpbGUgaW5wdXRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL3dyYXBwZXJzXHJcbi5maWxlLWlucHV0LXdyYXBwZXIgLmNvbnRyb2wge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy9oaWRlIG5hdGl2ZSBpbnB1dFxyXG4gICAgLmlucHV0ZmlsZSB7XHJcbiAgICAgICAgd2lkdGg6IDAuMXB4O1xyXG4gICAgICAgIGhlaWdodDogMC4xcHg7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxuICAgIC8vRmlsZSBpbnB1dCBsYWJlbFxyXG4gICAgLmlucHV0ZmlsZSArIGxhYmVsIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgICAgICBmb250LXNpemU6IDEuMDVyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMS40NXJlbSAwLjhyZW0gMS4yNXJlbTtcclxuICAgICAgICBAaW5jbHVkZSBwcmVmaXgodHJhbnNpdGlvbiwgYWxsIC40cyk7XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2ltcGxlLWZpbGUtaW5wdXQgKyBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG4gICAgLnNpbXBsZS1maWxlLWlucHV0OmZvY3VzICsgbGFiZWwsXHJcbiAgICAuc2ltcGxlLWZpbGUtaW5wdXQuaGFzLWZvY3VzICsgbGFiZWwsXHJcbiAgICAuc2ltcGxlLWZpbGUtaW5wdXQgKyBsYWJlbDpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYWNjZW50LCA1JSk7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLDE2MCwyNDEsMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLDIyMCwyNDcsMC41OSkgMCAxMHB4IDIwcHg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCByZ2JhKDE0MywxNjAsMjQxLDAuMikgMCAwIDAgMXB4LCByZ2JhKDIxMywyMjAsMjQ3LDAuNTkpIDAgMTBweCAyMHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLDE2MCwyNDEsMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLDIyMCwyNDcsMC41OSkgMCAxMHB4IDIwcHg7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vL0ZpZWxkIHN0eWxlIGZpbGUgaW5wdXRcclxuLmZpZWxkLWlucHV0LXdyYXBwZXIge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC8vd3JhcHBlclxyXG4gICAgLmZpZWxkLWlucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNtb2tlLXdoaXRlO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICB3aWR0aDogNDUwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuICAgIC8vaGlkZSBuYXRpdmUgaW5wdXRcclxuICAgIC5maWVsZC1pbnB1dCA+IFt0eXBlPSdmaWxlJ10ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAvL2J1dHRvblxyXG4gICAgLmZpZWxkLWlucHV0ID4gLmJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAvL2xhYmVsXHJcbiAgICAuZmllbGQtaW5wdXQgPiAubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgIH1cclxuICAgIC5maWVsZC1pbnB1dC4tY2hvc2VuID4gLmxhYmVsIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcbi8vTWF0ZXJpYWwgQ2hlY2tib3ggd3JhcHBlclxyXG4ubGFiZWwtLWNoZWNrYm94IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogLjVyZW07XHJcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBsaW5lLWhlaWdodDogMTM1JSAhaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTdweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICB9XHJcbn1cclxuLy9jaGVja2JveFxyXG4ubWQtY2hlY2tib3gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMC4zNzVyZW07XHJcbiAgICBtYXJnaW46IDAgMXJlbSAwIDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogMC45cmVtO1xyXG4gICAgICAgIGhlaWdodDogMC45cmVtO1xyXG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgI2NjYzsgXHJcbiAgICB9XHJcbiAgICAmOmNoZWNrZWQ6YmVmb3JlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICBoZWlnaHQ6IC41cmVtO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0wLjEyNXJlbTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgICAgIGhlaWdodDogMXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy9DaGVja2VkIGFuaW1hdGlvblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVVcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNi4yNXJlbSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYuMjVyZW0pO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBzbGlkZVVwIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2LjI1cmVtKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNi4yNXJlbSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuQGtleWZyYW1lcyBzbGlkZVVwIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2LjI1cmVtKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNi4yNXJlbSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuLy9tb2JpbGUgYWRqdXN0bWVudHNcclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XHJcbiAgICBpbnB1dC5tZC1jaGVja2JveDpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vQmFzaWMgQ2hlY2tib3ggYW5kIHJhZGlvXHJcbiVjb250cm9sbGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDFlbTtcclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgLy9kLWNoZWNrYm94LCBiLXJhZGlvXHJcbiAgICBpbnB1dC5kLWNoZWNrYm94ICsgc3BhbiwgaW5wdXQuYi1yYWRpbyArIHNwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgLjVlbSAwIDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIHdpZHRoOiAyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAyZW07XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NoZWNrZWQgc3RhdGVcclxuICAgIGlucHV0LmQtY2hlY2tib3g6Y2hlY2tlZCArIHNwYW46OmFmdGVyLCBpbnB1dC5iLXJhZGlvOmNoZWNrZWQgKyBzcGFuOjphZnRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIC8vaGlkZSBuYXRpdmUgaW5wdXRcclxuICAgIGlucHV0LmQtY2hlY2tib3gsIGlucHV0LmItcmFkaW8ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy9jaGVja2JveCBzdHlsZVxyXG4uY2hlY2tib3gtd3JhcCB7XHJcbiAgICBAZXh0ZW5kICVjb250cm9sbGVyO1xyXG4gICAgLy9jaGVjayBzeW1ib2xcclxuICAgIGlucHV0ICsgc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0OElVUlBRMVJaVUVVZ2MzWm5JRkJWUWt4SlF5QWlMUzh2VnpOREx5OUVWRVFnVTFaSElERXVNUzh2UlU0aUlDSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OUhjbUZ3YUdsamN5OVRWa2N2TVM0eEwwUlVSQzl6ZG1jeE1TNWtkR1FpUGp4emRtY2dkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlUR0Y1WlhKZk1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpSUhkcFpIUm9QU0kyTkhCNElpQm9aV2xuYUhROUlqWTBjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJOQ0EyTkNJZ1pXNWhZbXhsTFdKaFkydG5jbTkxYm1ROUltNWxkeUF3SURBZ05qUWdOalFpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBqeG5Qanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlNVE11TnpBM0xETXlMakk1TXlBeE1pNHlPVE1zTXpNdU9EVTBJREkwTGpJNU15dzBOaUF5TlM0M01EY3NORFlnTkRrdU56QTNMREl4TGpnMU5DQTBPQzR5T1RNc01qQXVNelkySURJMUxEUXpMall5TXlBaUx6NDhMMmMrUEM5emRtYyspIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgd2lkdGg6IDEuOWVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuOWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY2hlY2sgc3ltYm9sIG1lZGl1bVxyXG4gICAgJi5pcy1tZWRpdW0gaW5wdXQgKyBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMS40ZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxLjRlbTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaUlIZHBaSFJvUFNJMk5IQjRJaUJvWldsbmFIUTlJalkwY0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTkNBMk5DSWdaVzVoWW14bExXSmhZMnRuY205MWJtUTlJbTVsZHlBd0lEQWdOalFnTmpRaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQanhuUGp4d2IyeDVaMjl1SUhCdmFXNTBjejBpTVRNdU56QTNMRE15TGpJNU15QXhNaTR5T1RNc016TXVPRFUwSURJMExqSTVNeXcwTmlBeU5TNDNNRGNzTkRZZ05Ea3VOekEzTERJeExqZzFOQ0EwT0M0eU9UTXNNakF1TXpZMklESTFMRFF6TGpZeU15QWlMejQ4TDJjK1BDOXpkbWMrKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjNlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjNlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NoZWNrIHN5bWJvbCBzbWFsbFxyXG4gICAgJi5pcy1zbWFsbCBpbnB1dCArIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSTJOSEI0SWlCb1pXbG5hSFE5SWpZMGNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMk5DQTJOQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnTmpRZ05qUWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4blBqeHdiMng1WjI5dUlIQnZhVzUwY3owaU1UTXVOekEzTERNeUxqSTVNeUF4TWk0eU9UTXNNek11T0RVMElESTBMakk1TXl3ME5pQXlOUzQzTURjc05EWWdORGt1TnpBM0xESXhMamcxTkNBME9DNHlPVE1zTWpBdU16WTJJREkxTERRekxqWXlNeUFpTHo0OEwyYytQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgICB3aWR0aDogMC45ZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMC45ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL1JhZGlvIGdyb3VwIHN0eWxlXHJcbi5yYWRpby13cmFwIHtcclxuICAgIEBleHRlbmQgJWNvbnRyb2xsZXI7XHJcbiAgICAvL2Jhc2VcclxuICAgIGlucHV0ICsgc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IC41NWVtO1xyXG4gICAgICAgICAgICB3aWR0aDogLjc1ZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogLjc1ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jaGVja2VkIHN0YXRlXHJcbiAgICBpbnB1dDpjaGVja2VkICsgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlLWdyZXk7XHJcbiAgICB9XHJcbiAgICAvL3NpemVzXHJcbiAgICAmLmlzLXNtYWxsIHNwYW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAuNTRlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtbWVkaXVtIHNwYW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAuNThlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY29sb3JzXHJcbiAgICAmLmlzLXByaW1hcnkge1xyXG4gICAgICAgIGlucHV0OmNoZWNrZWQgKyBzcGFuOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICBpbnB1dDpjaGVja2VkICsgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtYWNjZW50IHtcclxuICAgICAgICBpbnB1dDpjaGVja2VkICsgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEyLiBUYWdzIGlucHV0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFnc2lucHV0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAudGFnIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWU7XHJcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAvL2ZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcclxuICAgICAgICAgICAgY29udGVudDogJ1xcRTVDRCc7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0IHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDVweCAwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBoZWx2ZXRpY2E7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAwIDA7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxuICAgIGRpdiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IFxyXG4gICAgfVxyXG59XHJcblxyXG4udGFnc19jbGVhciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG59XHJcbi5ub3RfdmFsaWQge1xyXG4gICAgYmFja2dyb3VuZDogI0ZCRDhEQiFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzkwMTExQSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEzLiBUaW1lIHBpY2tlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLndpY2tlZHBpY2tlcl9fY29udHJvbHMge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59IiwiLyohIF90YWJsZXMuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuVGFibGUgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENvbXBhcmUgZGV2aWNlcyB0YWJsZVxyXG4xLiBmZWF0dXJlIGNvbXBhcmlzb24gdGFibGVcclxuMi4gUmVzcG9uc2l2ZSB0YWJsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDb21wYXJlIGRldmljZXMgdGFibGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50YWJsZS5kZXZpY2UtdGFibGUge1xyXG4gICAgdGgsIHRkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB0aCBpIHtcclxuICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAuNzVlbSAxZW07XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mZWF0dXJlLW5hbWUge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS45O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgJi5pbS1pY29uLVllcyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICYuaW0taWNvbi1DbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICB0aCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmRiZGI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIGZlYXR1cmUgY29tcGFyaXNvbiB0YWJsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnRhYmxlLmNvbXBhcmUtdGFibGUge1xyXG4gICAgdGgsIHRkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB0aCBpIHtcclxuICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAuNzVlbSAxZW07XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mZWF0dXJlLW5hbWUge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS45O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgJi5mYS1jaGVjayB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICYuZmEtY2xvc2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgdGgge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gUmVzcG9uc2l2ZSB0YWJsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGJvcmRlci1yYWRpdXM6IC4yZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm94LXNoYWRvdzogLTFweCAzcHggMTBweCAwIHJnYmEoMCwwLDAsLjA2KTtcclxuICAgIC8vY29sb3JlZCBoZWFkZXJzXHJcbiAgICAmLmlzLXByaW1hcnkgdHI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgfVxyXG4gICAgJi5pcy1zZWNvbmRhcnkgdHI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcbiAgICAmLmlzLWFjY2VudCB0cjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgIH1cclxuICAgIHRyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIHRyIHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmZiZmJmO1xyXG4gICAgfVxyXG4gICAgJjpudGgtY2hpbGQob2RkKTpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNtb2tlLXdoaXRlO1xyXG4gICAgfVxyXG4gICAgdGgge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIHRkOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAuNWVtO1xyXG4gICAgfVxyXG4gICAgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuICAgIH1cclxuICAgIHRkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSBcIjogXCI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwYWRkaW5nOiAuNWVtIDFlbTtcclxuICAgIH1cclxuICAgIC8vUmVzcG9uc2l2ZSBiZWhhdmlvdXJcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMXB4KSB7XHJcbiAgICAgICAgdHI6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xyXG4gICAgICAgIHRyOmhvdmVyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IC4yNWVtIC41ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkLCB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGg6bGFzdC1jaGlsZCwgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qISBfbGlzdHMuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuTGlzdCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUmVzZXRzXHJcbjEuIEJ1bGxldCBpY29uIGxpc3RcclxuMi4gU29saWQgbGlzdFxyXG4zLiBJbmxpbmUgbGlzdFxyXG40LiBMaXN0IGJsb2Nrc1xyXG41LiBMZXZlbHNcclxuNi4gVXNlciBsaXN0XHJcbjcuIE1lZGlhIGxpc3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUmVzZXRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY29udGVudCB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgfVxyXG4gICAgb2wge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuICAgIH1cclxufVxyXG51bCwgb2wge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBCdWxsZXQgaWNvbiBsaXN0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaWNvbi1idWxsZXQtbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuM2VtO1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCAwIDNweCAxLjNlbTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuM2VtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTtcclxuICAgICAgICAgICAgd2lkdGg6IDEuM2VtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gU29saWQgbGlzdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnNvbGlkLWxpc3Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLnNvbGlkLWxpc3QtaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAubGlzdC1idWxsZXQgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIElubGluZSBsaXN0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW5saW5lLWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgaS5pbmxpbmUtYnVsbGV0IHtcclxuICAgICAgICBmb250LXNpemU6IDAuNHJlbTtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICBjb2xvcjogJGZhZGUtZ3JleTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIExpc3QgYmxvY2tzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubGlzdC1ibG9jayB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgYm94LXNoYWRvdzogLTFweCAzcHggMTBweCAwIHJnYmEoMCwwLDAsLjA2KTtcclxuICAgIC8vaXRlbVxyXG4gICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2FsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2l0ZW0gYWN0aXZlIHN0YXRlXHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYi1iYWRnZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vYm9yZGVyZWQgc3R5bGVcclxuICAgICYuYm9yZGVyZWQge1xyXG4gICAgICAgIGxpOm5vdChsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vbWluaW1hbCBzdHlsZVxyXG4gICAgJi5taW5pbWFsIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vd2l0aCBiYWRnZSBmbG9hdGluZ1xyXG4gICAgLmItYmFkZ2Uge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICAgIC8vYWx0ZXJuYXRlIGNvbG9yc1xyXG4gICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgIGxpLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIGxpLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNS4gTGV2ZWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubGV2ZWwubmF2LWxldmVsIHtcclxuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBpIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vY2VudGVyZWQgbGV2ZWxcclxuLmxldmVsLmNlbnRlcmVkLWxldmVsIHtcclxuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIFVzZXIgbGlzdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnVzZXItbGlzdCB7XHJcbiAgICAvL2xpc3QgaXRlbVxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgfVxyXG4gICAgLy9hdmF0YXJcclxuICAgIC51c2VyLWxpc3QtYXZhdGFyIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9tZXRhXHJcbiAgICAudXNlci1saXN0LWluZm8ge1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgIC5uYW1lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvc2l0aW9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9zdGF0dXNlc1xyXG4gICAgLnVzZXItbGlzdC1zdGF0dXMge1xyXG4gICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAvL2NvbG9yc1xyXG4gICAgICAgICYuaXMtb2ZmbGluZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRmYWRlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtb25saW5lIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWJ1c3kge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gTWVkaWEgbGlzdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnVzZXItbWVkaWEtbGlzdCB7XHJcbiAgICAvL2xpc3QgaXRlbVxyXG4gICAgbGkge1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgfVxyXG4gICAgLy9hdmF0YXJcclxuICAgIC5tZWRpYS1sZWZ0IC5pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vc3RhdHVzXHJcbiAgICAgICAgLmF2YXRhci1zdGF0dXMge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDFweDtcclxuICAgICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgICAgIC8vc3RhdHVzIGNvbG9yc1xyXG4gICAgICAgICAgICAmLmlzLW9mZmxpbmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmlzLW9ubGluZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1idXN5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NvbnRlbnRcclxuICAgIC5tZWRpYS1jb250ZW50IHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbn0iLCIvKiEgX2xhYmVscy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CYWRnZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQmFkZ2VzXHJcbjEuIFRhZ3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQmFkZ2VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmItYmFkZ2Uge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWluLXdpZHRoOiAyMHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDBweDtcclxuICAgIHBhZGRpbmc6IDNweCA2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbXV0ZWQtZ3JleTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIC8vcm91bmRlZCBzdHlsZVxyXG4gICAgJi5yb3VuZGVkIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcclxuICAgIH1cclxuICAgIC8vb3V0bGluZWQgc3R5bGVcclxuICAgICYuYmFkZ2Utb3V0bGluZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtdXRlZC1ncmV5O1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxuICAgIC8vY29sb3JzXHJcbiAgICAmLmlzLXByaW1hcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICYuYmFkZ2Utb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAmLmJhZGdlLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtYWNjZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgICYuYmFkZ2Utb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1zdWNjZXNzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgJi5iYWRnZS1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW47XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy13YXJuaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xyXG4gICAgICAgICYuYmFkZ2Utb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1kYW5nZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgJi5iYWRnZS1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xyXG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWluZm8ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgICYuYmFkZ2Utb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIFRhZ3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50YWcge1xyXG4gICAgLy9wYWRkaW5nLWJvdHRvbTogMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgLy9zcXVhcmUgc3R5bGVcclxuICAgICYuc3F1YXJlZCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL291dGxpbmVkIHN0eWxlXHJcbiAgICAmLmlzLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxuICAgIC8vY29sb3JzXHJcbiAgICAmLmlzLXByaW1hcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgJi5pcy1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgJi5pcy1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFjY2VudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICYuaXMtb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1zdWNjZXNzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmLmlzLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcclxuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXdhcm5pbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2UgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJi5pcy1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRvcmFuZ2UgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWRhbmdlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICYuaXMtb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJlZDtcclxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1pbmZvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICYuaXMtb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWxpZ2h0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgJi5pcy1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1tZWRpdW0ge1xyXG4gICAgICAgIC8vcGFkZGluZy1ib3R0b206IDNweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pcy1sYXJnZSB7XHJcbiAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBzcGFuLmRlbGV0ZSB7XHJcbiAgICAgICAgdG9wOiAycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vVGFncyB3aXRoIGFkZG9uc1xyXG4udGFncy5oYXMtYWRkb25zIHtcclxuICAgIHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICBzcGFuOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNlbnRlcmVkIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy90YWcgZ3JvdXAgd3JhcHBlclxyXG4uY29udHJvbC50YWctZ3JvdXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vL3RhZyB3aXRoIGNsb3NlIGljb25cclxuLnRhZy5pcy1kZWxldGUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGhlaWdodDogNTAlO1xyXG4gICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxufSIsIi8qISBfZHJvcGRvd25zLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkRyb3Bkb3duIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBIb3ZlciBkcm9wZG93bnNcclxuMS4galF1ZXJ5IERyb3Bkb3duc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBIb3ZlciBkcm9wZG93bnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmlzLWRyb3Age1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLy9jYXJldFxyXG4gICAgaS5zbC1pY29uLWFycm93LWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAycHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5kcm9wLWNhcmV0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICB9XHJcbiAgICAvL2NvbnRhaW5lclxyXG4gICAgLmRyb3BDb250YWluIHtcclxuICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTY1cHg7IC8qIDMvNCBvZiB3aWR0aCAqL1xyXG4gICAgICAgIHRvcDogLTUwMHZoO1xyXG4gICAgICAgIC8vZHJvcGRvd25cclxuICAgICAgICAuZHJvcE91dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAzcHggMTBweCA0cHggcmdiYSgwLDAsMCwuMDQpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9hcnJvd1xyXG4gICAgICAgIC5kcm9wT3V0IC50cmlhbmdsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIHRvcDogLThweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9tZW51IGl0ZW1zXHJcbiAgICAgICAgLmRyb3BPdXQgdWwgbGkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTBweCAxNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDNweCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzc3NztcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLW91dDtcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2ljb25zXHJcbiAgICAgICAgICAgIGkuZHJvcC1pY29uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGkuZHJvcC1pY29uLnNsIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL21lbnUgY29udGFpbmVyXHJcbiAgICAgICAgLmRyb3BPdXQgdWwge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAmLmJpZy1pY29ucyB7XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDAgMTBweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkuaW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2RpdmlkZXJcclxuICAgICAgICAgICAgbGkuZHJvcGRvd24tZGl2aWRlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS13aGl0ZTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL01lbnUgaXRlbSBob3ZlciBjb2xvcnNcclxuICAgICAgICAuZHJvcE91dCB7XHJcbiAgICAgICAgICAgICYuaXMtcHJpbWFyeSB1bCBsaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1zZWNvbmRhcnkgdWwgbGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1hY2NlbnQgdWwgbGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgJjpob3ZlciAuZHJvcENvbnRhaW4ge1xyXG4gICAgICAgIHRvcDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciAuZHJvcENvbnRhaW4gLmRyb3BPdXQge1xyXG5cclxuICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDAuMjdzIGVhc2Utb3V0O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAmLmRyb3Atc206aG92ZXIgLmRyb3BDb250YWluIHtcclxuICAgICAgICB0b3A6IDE1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtY2VudGVyZWQgLmRyb3BDb250YWluIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTExMHB4OyAvKiBoYWxmIG9mIHdpZHRoICovXHJcbiAgICB9XHJcbiAgICAmLmlzLXJpZ2h0IC5kcm9wQ29udGFpbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01NXB4OyAvKiBxdWFydGVyIG9mIHdpZHRoICovXHJcbiAgICB9XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBpLnNsLWljb24tYXJyb3ctZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHggIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIGpRdWVyeSBEcm9wZG93bnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5qcS1kcm9wZG93biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDVweDtcclxuICAgIHotaW5kZXg6IDEwMzk7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjI3cztcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgICAuanEtZHJvcGRvd24tbWVudSwgLmpxLWRyb3Bkb3duLXBhbmVsIHtcclxuICAgICAgICBtaW4td2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMzYwcHg7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjZGRkO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDEwcHggNHB4IHJnYmEoMCwwLDAsLjA0KTtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDEwcHggNHB4IHJnYmEoMCwwLDAsLjA0KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLmpxLWRyb3Bkb3duLXBhbmVsIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi5qcS1kcm9wZG93bi10aXAge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA5cHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgI2RkZDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IC01cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgd2hpdGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qcS1kcm9wZG93bi1hbmNob3ItcmlnaHQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IDlweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qcS1kcm9wZG93bi1hbmNob3ItcmlnaHQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmpxLWRyb3Bkb3duLXNjcm9sbCB7XHJcbiAgICAgICAgLmpxLWRyb3Bkb3duLW1lbnUsIC5qcS1kcm9wZG93bi1wYW5lbCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE4MHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmpxLWRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgM3B4O1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIH1cclxuICAgIGxpID4gYSwgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkY0Rjc7XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmpxLWRyb3Bkb3duLWRpdmlkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjZTVlNWU1O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLy9DdXN0b21pemF0aW9uc1xyXG4uanEtZHJvcGRvd24ge1xyXG4gICAgLy9kZWZhdWx0XHJcbiAgICAuanEtZHJvcGRvd24tbWVudSBsaSA+IGE6aG92ZXIsIC5qcS1kcm9wZG93biAuanEtZHJvcGRvd24tbWVudSBsYWJlbDpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICAvL3ByaW1hcnlcclxuICAgICYuaXMtcHJpbWFyeSB7XHJcbiAgICAgICAgLmpxLWRyb3Bkb3duLW1lbnUgbGkgPiBhOmhvdmVyLCAuanEtZHJvcGRvd24gLmpxLWRyb3Bkb3duLW1lbnUgbGFiZWw6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3NlY29uZGFyeVxyXG4gICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgIC5qcS1kcm9wZG93bi1tZW51IGxpID4gYTpob3ZlciwgLmpxLWRyb3Bkb3duIC5qcS1kcm9wZG93bi1tZW51IGxhYmVsOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2FjY2VudFxyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIC5qcS1kcm9wZG93bi1tZW51IGxpID4gYTpob3ZlciwgLmpxLWRyb3Bkb3duIC5qcS1kcm9wZG93bi1tZW51IGxhYmVsOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiEgX3ByaWNpbmcuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuUHJpY2luZyB0YWJsZXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENsYXNzaWMgcHJpY2luZ1xyXG4xLiBNaW5pbWFsIHByaWNpbmdcclxuMi4gQ2xlYW4gcHJpY2luZ1xyXG4zLiBGYW5jeSBwcmljaW5nXHJcbjQuIENvbG9yZWQgaGVhZGVycyBwcmljaW5nXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENsYXNzaWMgcHJpY2luZ1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNsYXNzaWMtcHJpY2luZyB7XHJcbiAgICAvL3RhYmxlXHJcbiAgICAucHJpY2luZy10YWJsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIC8vY29tcGFyYXRpdmUgbGF5b3V0XHJcbiAgICAgICAgJi5pcy1jb21wYXJhdGl2ZSB7XHJcbiAgICAgICAgICAgIC5wcmljaW5nLXBsYW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaG9yaXpvbnRhbCBsYXlvdXRcclxuICAgICAgICAmLmlzLWhvcml6b250YWwge1xyXG4gICAgICAgICAgICAucHJpY2luZy1wbGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnBsYW4taXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uczogMjtcclxuICAgICAgICAgICAgICAgICAgICAtbW96LWNvbHVtbnM6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMC4xcmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vcHJpY2luZyBwbGFuXHJcbiAgICAgICAgLnByaWNpbmctcGxhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAuNWVtO1xyXG4gICAgICAgICAgICAvL2hlYWRlclxyXG4gICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVlbTtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2l0ZW1cclxuICAgICAgICAgICAgLnBsYW4taXRlbSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVlbTtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vcHJpY2VcclxuICAgICAgICAgICAgLnBsYW4tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC43NWVtO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy9udW1iZXJcclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWFtb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jdXJyZW5jeSBzeW1ib2xcclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vZm9vdGVyXHJcbiAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC43NWVtO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1ByaW1hcnkgc3R5bGVcclxuICAgICAgICAgICAgJi5pcy1wcmltYXJ5IHtcclxuICAgICAgICAgICAgICAgIC5wbGFuLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWFtb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWhvdmVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LCAyLjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWZvY3VzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLjVlbSByZ2JhKCRwcmltYXJ5LCAwLjI1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHByaW1hcnksIDUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9TZWNvbmRhcnkgc3R5bGVcclxuICAgICAgICAgICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1hbW91bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1ob3ZlcmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LCAyLjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWZvY3VzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLjVlbSByZ2JhKCRzZWNvbmRhcnksIDAuMjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LCA1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9BY2NlbnQgc3R5bGVcclxuICAgICAgICAgICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1hbW91bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1ob3ZlcmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYWNjZW50LCAyLjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWZvY3VzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLjVlbSByZ2JhKCRhY2NlbnQsIDAuMjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYWNjZW50LCA1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9TdWNjZXNzIHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtYW1vdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtaG92ZXJlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGdyZWVuLCAyLjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWZvY3VzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLjVlbSByZ2JhKCRncmVlbiwgMC4yNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRncmVlbiwgNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9XYXJuaW5nIHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtd2FybmluZyB7XHJcbiAgICAgICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWFtb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWhvdmVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRvcmFuZ2UsIDIuNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtZm9jdXNlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAuNWVtIHJnYmEoJG9yYW5nZSwgMC4yNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRvcmFuZ2UsIDUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL0RhbmdlciBzdHlsZVxyXG4gICAgICAgICAgICAmLmlzLWRhbmdlciB7XHJcbiAgICAgICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWFtb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWhvdmVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRyZWQsIDIuNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtZm9jdXNlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAuNWVtIHJnYmEoJHJlZCwgMC4yNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRyZWQsIDUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL0luZm8gc3R5bGVcclxuICAgICAgICAgICAgJi5pcy1pbmZvIHtcclxuICAgICAgICAgICAgICAgIC5wbGFuLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWFtb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWhvdmVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRibHVlLCAyLjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWZvY3VzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLjVlbSByZ2JhKCRibHVlLCAwLjI1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJsdWUsIDUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9BY3RpdmUgc3RhdGUgKEZlYXR1cmVkIHN0YXRlKVxyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCByZ2JhKDE0MywxNjAsMjQxLDAuMikgMCAwIDAgMXB4LCByZ2JhKDIxMywyMjAsMjQ3LDAuNTkpIDAgMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vVGFibGV0IHNldGluZ3NcclxuICAgIEBtZWRpYSAobWluLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LXdpZHRoIDogMTAyNHB4KSB7XHJcbiAgICAgICAgLnByaWNpbmctdGFibGUge1xyXG4gICAgICAgICAgICAvL2NvbXBhcmF0aXZlIHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtY29tcGFyYXRpdmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgJi5pcy1mZWF0dXJlcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucGxhbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKFwiZGF0YS1mZWF0dXJlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2hvcml6b250YWwgc3R5bGVcclxuICAgICAgICAgICAgJi5pcy1ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgICAgIC5wcmljaW5nLXBsYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4taXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNtb2tlLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbnM6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otY29sdW1uczogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMC4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL01vYmlsZSBzZXRpbmdzXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAucHJpY2luZy10YWJsZSB7XHJcbiAgICAgICAgICAgIC8vY29tcGFyYXRpdmUgc3R5bGVcclxuICAgICAgICAgICAgJi5pcy1jb21wYXJhdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAucHJpY2luZy1wbGFuIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtZmVhdHVyZXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9ob3Jpem9udGFsIHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgICAgICAucGxhbi1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2luZy1wbGFuLmlzLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gTWluaW1hbCBwcmljaW5nXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubWluaW1hbC1wcmljaW5nIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRibHVlLWdyZXk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAvL3dpZGUgYm94IHN0eWxlXHJcbiAgICAmLndpZGUtYm94IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDA7XHJcbiAgICB9XHJcbiAgICAvL2ZlYXR1cmVkIHN0YXRlXHJcbiAgICAmLmZlYXR1cmVkIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UgLnByaWNlLW51bWJlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlIC5wcmljZS1jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3NlY29uZGFyeSBhY2tncm91bmRcclxuICAgICYuYmctc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnk7XHJcbiAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgIC5wcmljZS1udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtcGVyaW9kIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICAucGxhbi1mZWF0dXJlcyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9wbGFuIGRlZmluaXRpb25cclxuICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICAvL3BsYW4gcHJpY2VcclxuICAgIC5wcmljZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAucHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLW51bWJlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1wZXJpb2Qge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3BsYW4gZmVhdHVyZXNcclxuICAgIC5wbGFuLWZlYXR1cmVzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIHVsIGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3dpZGUgYm94IGJhY2tncm91bmRcclxuLm1pbmltYWwtcHJpY2luZy53aWRlLWJveCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly92aWEucGxhY2Vob2xkZXIuY29tLzEyODB4NzIwKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gQ2xlYW4gcHJpY2luZ1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9DbGVhbiBwcmljaW5nIGJpbGxpbmcgc3dpdGNoXHJcbi5wbGFuLWNvbnRyb2xzIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggMCA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy9QZXJpb2Qgc2VsZWN0XHJcbi5wZXJpb2Qtc2VsZWN0IHtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIG1heC13aWR0aDogMjQ1cHg7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlLWdyZXk7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vL0NsZWFuIHByaWNpbmcgdGFibGVzXHJcbi5zaWRlLXByaWNpbmcge1xyXG4gICAgLy9jYXJkXHJcbiAgICAucHJpY2luZy1jYXJkIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsIDAuODcpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgLy9wb3B1bGFyIHBsYW4gc3ltYm9sXHJcbiAgICAgICAgLnBvcHVsYXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaW5uZXIgc2VjdGlvblxyXG4gICAgICAgIC5pbm5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIC8vbmFtZVxyXG4gICAgICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL3ByaWNlXHJcbiAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy44ZW07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNWVtO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgc21hbGwuY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDM4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTkwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc21hbGw6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9mZWF0dXJlc1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzNDNDg1ODtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3RyYW5zcGFyZW50IHRhYmxlIHN0eWxlXHJcbiAgICAgICAgJi50cmFuc3BhcmVudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zaGFkb3cgb24gaG92ZXJcclxuICAgICAgICAmLmNhcmQtcmFpc2VkOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIEZhbmN5IHByaWNpbmdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mYW5jeS1wcmljaW5nIHtcclxuICAgIC8vcHJpY2luZyBjYXJkXHJcbiAgICAuZmFuY3ktcHJpY2luZy1jYXJkIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4IDE1cHggMCAxNXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgICAgICAgICAucGxhbi1pY29uIGkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3BsYW4gbmFtZVxyXG4gICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2ljb25cclxuICAgICAgICAucGxhbi1pY29uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9wcmljZVxyXG4gICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgICAgICBzbWFsbDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc21hbGw6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vZmVhdHVyZXNcclxuICAgICAgICAucGxhbi1mZWF0dXJlcyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgLy9pdGVtXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCA0MHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vc21hbGwgbnVtYmVyXHJcbiAgICAgICAgICAgICAgICAuZmVhdHVyZS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi51bmxpbWl0ZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy90ZXh0XHJcbiAgICAgICAgICAgICAgICAuZmVhdHVyZS1jb3VudC10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zdHJlY2hlZCBwbGFuIHN0eWxlXHJcbiAgICAgICAgJi5zdHJlY2hlZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgICAgICBzbWFsbDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYXJnZS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jb2xvcnNcclxuICAgICAgICAmLnByaW1hcnkge1xyXG4gICAgICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGxhbi1pY29uIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wbGFuLWZlYXR1cmVzIHtcclxuICAgICAgICAgICAgICAgIGxpIC5sYXJnZS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGxhbi1pY29uIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBsYW4tZmVhdHVyZXMge1xyXG4gICAgICAgICAgICAgICAgbGkgLmxhcmdlLWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBsYW4taWNvbiBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wbGFuLWZlYXR1cmVzIHtcclxuICAgICAgICAgICAgICAgIGxpIC5sYXJnZS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIENvbG9yZWQgaGVhZGVycyBwcmljaW5nXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaGVhZGVyLXByaWNpbmcge1xyXG4gICAgLy9wcmljaW5nIGNhcmRcclxuICAgIC5oZWFkZXItcHJpY2luZy1jYXJkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweCAxNXB4IDAgMTVweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAvL3BsYW4gbmFtZVxyXG4gICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vY2FyZC1ib2R5XHJcbiAgICAgICAgLnByaWNpbmctY2FyZC1ib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIC8vcHJpY2VcclxuICAgICAgICAgICAgLnBsYW4tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgICAgICAgICAgc21hbGw6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0yMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc21hbGw6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9mZWF0dXJlc1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzNDNDg1ODtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jb2xvcnNcclxuICAgICAgICAmLnByaW1hcnkge1xyXG4gICAgICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWNjZW50IHtcclxuICAgICAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyohIF9tZXNzYWdlcy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5NZXNzYWdlcyBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gTWVzc2FnZXNcclxuMS4gR0dwb3BvdmVyc1xyXG4yLiBHR3Rvb2x0aXBzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIE1lc3NhZ2VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5tZXNzYWdlIHtcclxuICAgIC8vaGVhZGVyXHJcbiAgICAubWVzc2FnZS1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy9wcmltYXJ5IHN0eWxlXHJcbiAgICAmLm1zZy1wcmltYXJ5IHtcclxuICAgICAgICAubWVzc2FnZS1oZWFkZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5OyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3NlY29uZGFyeSBzdHlsZVxyXG4gICAgJi5tc2ctc2Vjb25kYXJ5IHtcclxuICAgICAgICAubWVzc2FnZS1oZWFkZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZS1ib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2FjY2VudCBzdHlsZVxyXG4gICAgJi5tc2ctYWNjZW50IHtcclxuICAgICAgICAubWVzc2FnZS1oZWFkZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZS1ib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9pbmZvIHN0eWxlXHJcbiAgICAmLm1zZy1pbmZvIHtcclxuICAgICAgICAubWVzc2FnZS1oZWFkZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vc3VjY2VzcyBzdHlsZVxyXG4gICAgJi5tc2ctc3VjY2VzcyB7XHJcbiAgICAgICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZS1ib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vd2FybmluZyBzdHlsZVxyXG4gICAgJi5tc2ctd2FybmluZyB7XHJcbiAgICAgICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9kYW5nZXIgc3R5bGVcclxuICAgICYubXNnLWRhbmdlciB7XHJcbiAgICAgICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9pY29uIG1lc3NhZ2VzXHJcbiAgICAmLmljb24tbXNnIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy9ib2R5XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAzZW0gMWVtIDEuNWVtO1xyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9pY29uXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMzVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2NvbG9yIHN0eWxlc1xyXG4gICAgICAgICYucHJpbWFyeS1tc2cgaSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlY29uZGFyeS1tc2cgaSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWNjZW50LW1zZyBpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbmZvLW1zZyBpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3VjY2Vzcy1tc2cgaSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53YXJuaW5nLW1zZyBpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kYW5nZXItbXNnIGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gR0dwb3BvdmVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdncG9wb3ZlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMTA2MDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDI3NnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsIDE2MCwgMjQxLCAwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsIDIyMCwgMjQ3LCAwLjU5KSAwIDEwcHggMjBweDtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLCAxNjAsIDI0MSwgMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLCAyMjAsIDI0NywgMC41OSkgMCAxMHB4IDIwcHg7XHJcbiAgICAmLmZhZGUge1xyXG4gICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcclxuICAgICAgICAmLmluIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gICAgICAgID4gLmFycm93IHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTFweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTExcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICM5OTk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuYXJyb3cgPiAuYWZ0ZXIge1xyXG4gICAgICAgICAgICBib3R0b206IDFweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJpZ2h0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgXHJcbiAgICAgICAgPiAuYXJyb3cge1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogLTExcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM5OTk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuYXJyb3cgPiAuYWZ0ZXIge1xyXG4gICAgICAgICAgICBib3R0b206IC0xMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIC5hcnJvdyAuYWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2IoMjQ3LCAyNDcsIDI0Nyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmFycm93IHtcclxuICAgICAgICAgICAgdG9wOiAtMTFweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTExcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuYXJyb3cgPiAuYWZ0ZXIge1xyXG4gICAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcclxuICAgICAgICA+IC5hcnJvdyB7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICByaWdodDogLTExcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IC5hcnJvdyA+IC5hZnRlciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wb3BvdmVyLXRpdGxlIHtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTRweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWRlZGVkO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xyXG4gICAgICAgIGNvbG9yOiAjNDQ0RjYwO1xyXG4gICAgfVxyXG4gICAgLnBvcG92ZXItY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogOXB4IDE0cHggMTVweCAxNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgIGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICA+IC5hcnJvdywgLmFycm93ID4gLmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIH1cclxuICAgID4gLmFycm93IHtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDExcHg7XHJcbiAgICB9XHJcbiAgICAuYXJyb3cgPiAuYWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBHR3Rvb2x0aXBzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZ2d0b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDEwMzA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgJi5mYWRlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG4gICAgICAgICYuaW4ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW4ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODApO1xyXG4gICAgfVxyXG4gICAgJi50b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3csIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgYm90dG9tOiAxcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMyMjIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmlnaHQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3csIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdndG9vbHRpcC1hcnJvdy1zaGFkb3cge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3csIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMjIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubGVmdCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3csIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdndG9vbHRpcC1hcnJvdy1zaGFkb3cge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ2d0b29sdGlwLWlubmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggNHB4IHJnYmEoMCwwLDAsLjA0KVxyXG4gICAgfVxyXG4gICAgLmdndG9vbHRpcC1hcnJvdywgLmdndG9vbHRpcC1hcnJvdy1zaGFkb3cge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLyohIF9jaGVja2JveGVzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkNoZWNrYm94IGV4dGVuc2lvbiBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQ2hhcnNldFxyXG4xLiBDb2xvcmVkIGNoZWNrYm94ZXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENoYXJzZXRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gQ29sb3JlZCBjaGVja2JveGVzIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYi1jaGVja2JveCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgIC8vbGFiZWxcclxuICAgIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbGVmdDogM3B4O1xyXG4gICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBjb2xvcjogIzM2MzYzNjtcclxuICAgIH1cclxuICAgIC8vaGlkZSBuYXRpdmUgaW5wdXRcclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIC8vY2hlY2tlZCBzdGF0ZVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcclxuICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xyXG4gICAgfVxyXG4gICAgLy9kaXNhYmxlZCBzdGF0ZVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgbGFiZWwsXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbCB7XHJcbiAgICAgICAgb3BhY2l0eTogMC42NTtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsOjpiZWZvcmUsXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgICAvL2NpcmN1bGFyIHN0eWxlXHJcbiAgICAmLmlzLWNpcmN1bGFyIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIH1cclxuICAgIC8vaW5saW5lIHN0eWxlXHJcbiAgICAmLmlzLWlubGluZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbiAgICAmLmlzLWlubGluZSArIC5pcy1pbmxpbmUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLy9jb2xvcnNcclxuICAgICYuaXMtcHJpbWFyeSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1wcmltYXJ5IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLmlzLXNlY29uZGFyeSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtc2Vjb25kYXJ5IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLmlzLWFjY2VudCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWNjZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtZGFuZ2VyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRyZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1kYW5nZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1pbmZvIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWluZm8gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy13YXJuaW5nIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy13YXJuaW5nIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtc3VjY2VzcyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLXN1Y2Nlc3MgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLmlzLWRhcmsgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29hbDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2FsO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtZGFyayBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uc3R5bGVkOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcclxuICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSAuc3R5bGVkOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gLnN0eWxlZDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxufVxyXG5cclxuIiwiLyohIF9kZXRhaWxzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbk1pc2NlbGxhbmVvdXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFZpZGVvIGVtYmVkXHJcbjEuIEltYWdlIGhvdmVyIGVmZmVjdHMgc2V0dXBcclxuMi4gSG92ZXIgZWZmZWN0cyBhbmQgdGVhbSBob3ZlciBlZmZlY3RzXHJcbjMuIE1hdGVyaWFsIGRlc2lnbiBib3ggc2hhZG93IGhlbHBlcnNcclxuNC4gRGFzaGJvYXJkIGxvZ2luIHN0eWxlIHN3aXRjaGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFZpZGVvIGVtYmVkXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zaWRlLWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICAuYmFja2dyb3VuZC13cmFwcGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIC52aWRlby13cmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC52aWRlby1vdmVybGF5IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIC8qaGVpZ2h0OiAxMDAlOyovXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucGxheWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02M3B4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgLmljb24tcGxheSBpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEltYWdlIGhvdmVyIGVmZmVjdHMgc2V0dXBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQmFzZSBzZXR1cFxyXG4uaW1hZ2UtZ3JpZCB7XHJcbiAgICAuaW1hZ2UtdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyBcclxuICAgICAgICBib3gtc2hhZG93OiAgMHB4IDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAyMDAlO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB3b3JkLXNwYWNpbmc6IC0wLjE1ZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjguNSU7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3NSUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIEhvdmVyIGVmZmVjdHMgYW5kIHRlYW0gaG92ZXIgZWZmZWN0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5maWd1cmUge1xyXG4gICAgLy8gUm91bmRlZCBjYXB0aW9uIG9uIGhvdmVyXHJcbiAgICAmLnJvdW5kLWNvcm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMDAwIDAlLCNmZmYgMTAwJSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzAwMCAwJSwjZmZmIDEwMCUpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAtMTBweCAwIDAgLTEwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlICsgMTBweCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LDEwcHgsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwxMHB4LDApO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC0xMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgOTAwcHggcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LDAuNSwxKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjUsMC41LDEpO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMS41ZW0gMDtcclxuICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsMjBweCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LDIwcHgsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaWdjYXB0aW9uOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDIsIHAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsNXB4LDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCw1cHgsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29ybmVyIGNhcHRpb24gb24gaG92ZXJcclxuICAgICYuY29ybmVyZWQge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlICsgNjBweCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwcHgsMCwwKSBzY2FsZSgxLjEyKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBweCwwLDApIHNjYWxlKDEuMTIpO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMWVtIDEuMmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDBweCwwLDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00MHB4LDAsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UZWFtIHNlY3Rpb24gaG92ZXIgZWZmZWN0XHJcbiAgICAmLnRlYW0taG92ZXIge1xyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMWVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMuNzVlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgY29sb3I6ICMzYzRhNTA7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcC5pY29uLWxpbmtzIGEge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICMzYzRhNTA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICY6aG92ZXIgc3Bhbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgICAgICAgICBib3R0b206IDY1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbTtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IFxyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyLCBwLmljb24tbGlua3MgYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IFxyXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgXHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bzsgXHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7IFxyXG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgXHJcbiAgICAgICAgICAgIG9wYWNpdHk6IGluaGVyaXQ7IFxyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwMCUsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwyMDAlLDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwLmljb24tbGlua3MgYSBzcGFuOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29uLXR3aXR0ZXI6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwOTknO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24tbGlua2VkaW46OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZTEnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24tZHJpYmJibGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxN2QnO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOmhvdmVyLCAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICMyNTJkMzE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgZmlnY2FwdGlvbiwgJjpob3ZlciBoMiwgJjpob3ZlciBwLmljb24tbGlua3MgYSB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIGgyIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcC5pY29uLWxpbmtzIGE6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vVGVhbSBzZWN0aW9uIHNsYW50ZWQgaG92ZXIgZWZmZWN0XHJcbiAgICAmLnRlYW0tc2xhbnRlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzE2MjYzMztcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjQ1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjQ1cztcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlnY2FwdGlvbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDk1JTtcclxuICAgICAgICAgICAgbGVmdDogMTAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCkgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNDVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjQ1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjQ1cywgdHJhbnNmb3JtIDAuNDVzO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwwLDEsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwwLDEsMCk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZW1iZXItcG9zaXRpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwcHgsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwyMHB4LDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNWVtIDclIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICM1ZDUwNGY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTcwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgXHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bzsgXHJcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBcclxuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIGEgaSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsNTBweCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDUwcHgsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgaW1nIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIGgyIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgZmlnY2FwdGlvbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICAgICAgICAvLy13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLDYwZGVnLDEsMCk7XHJcbiAgICAgICAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGUzZCgwLDYwZGVnLDEsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcCBpIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcCBhOm50aC1jaGlsZCgzKSBpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcCBhOm50aC1jaGlsZCgyKSBpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAgYTpmaXJzdC1jaGlsZCBpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIC5tZW1iZXItcG9zaXRpb24ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gTWF0ZXJpYWwgZGVzaWduIGJveCBzaGFkb3cgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2hhZG93LXotMSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xyXG59XHJcblxyXG4uc2hhZG93LXotMiB7XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuXHJcbi5zaGFkb3ctei0zIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMTNweCAyNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDdweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xyXG59XHJcblxyXG4uc2hhZG93LXotNCB7XHJcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCAwIHJnYmEoMCwgMCwgMCwgMC4zKSwgMCAxNHB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xyXG59XHJcblxyXG4uc2hhZG93LXotNSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDI3cHggNTVweCAwIHJnYmEoMCwgMCwgMCwgMC4zKSwgMCAxN3B4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gRGFzaGJvYXJkIGxvZ2luIHN0eWxlIHN3aXRjaGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zd2l0Y2hlciB7XHJcbiAgICAuc3dpdGNoZXItYmxvY2sge1xyXG4gICAgICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAyMHB4O1xyXG4gICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAmLmlzLXByaW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjY2VudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIC5idXR0b24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6MTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idXR0b24tdGV4dCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxM3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiAzNSU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyohIF9hdXRoLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkxvZ2luIGFuZCBTaWduIHVwIHNoYXJlZCBzdHlsZXMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIExvZ28gc2VjdGlvblxyXG4xLiBMYXlvdXRcclxuMi4gSGVybyBzZWN0aW9uc1xyXG4zLiBMaW5rc1xyXG40LiBNaXNjZWxsYW5lb3VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIExvZ28gc2VjdGlvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wLWxvZ28ge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4vL1RvcCB0ZXh0IGJlbG93IGxvZ29cclxuLmludHJvLXNlY3Rpb24ge1xyXG4gICAgLy9wYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgLmludHJvLXRleHQge1xyXG4gICAgICAgIC5pbnRyby10aXRsZSAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbnRyby1zdWIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIExheW91dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9sb2dpbiBjb250cm9sIHNwYWNpbmdcclxuLmxvZ2luIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxufVxyXG5cclxuLy9TdXBwcmVzc2luZyBwYWRkaW5nXHJcbi5jb2x1bW4ubG9naW4tY29sdW1uIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy9XcmFwcGVyXHJcbi5sb2dpbi13cmFwcGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAmLmlzLWdhcGxlc3M6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL0xvZ2luIGhlcm9cclxuLmhlcm8ubG9naW4taGVybywgLmhlcm8uc2lnbnVwLWhlcm8ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOmF1dG87XHJcbn1cclxuXHJcbi8vU2lnbnVwIGhlcm9cclxuI3NpZ251cC1iYW5uZXIgLmhlcm8ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL3NvdXJjZS51bnNwbGFzaC5jb20vRFd1aTlEbWZDWEEvJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBIZXJvIHNlY3Rpb25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0hlcm8gdGl0bGVcclxuLmhlcm8tYmFubmVyIHtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjUlO1xyXG4gICAgfVxyXG4gICAgLnN1YnRpdGxlIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICB9XHJcbiAgICBpbWcubG9naW4tY2l0eSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgIH1cclxufVxyXG5cclxuLy9IZXJvIHRpdGxlXHJcbi5zaWdudXAtaGVybyB7XHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1JTtcclxuICAgIH1cclxuICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMiU7XHJcbiAgICB9XHJcbiAgICBpbWcubW9ja3VwIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAtMTUlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgIH1cclxuICAgIC5hbHJlYWR5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gTGlua3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vU2lkZSBsaW5rcyAoZm9yZ290IHBhc3N3b3JkLCBkb24ndCBoYXZlIGFuIGFjY291bnQgZXRjLi4uKVxyXG4uZm9yZ290LCAubm8tYWNjb3VudCwgLnJldHVybiB7XHJcbiAgICBjb2xvcjogJHRpdGxlLWdyZXkgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgIH0gICBcclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vRm9yZ290IHBhc3N3b3JkXHJcbi5mb3Jnb3QtcGFzc3dvcmQgYSB7XHJcbiAgICBjb2xvcjogIzk1QTVBNjtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vTm8gYWNjb3VudFxyXG4ubm8tYWNjb3VudC1saW5rICB7XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5OyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBNaXNjZWxsYW5lb3VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0ljb24gcG9zaXRpb25uaW5nXHJcbi5pY29uLnVzZXIsXHJcbi5pY29uLnBhc3N3b3JkIHtcclxuICAgIG1hcmdpbjogNXB4IDEwcHggMCAwO1xyXG59XHJcblxyXG4vL0NoZWNrYm94XHJcbi5jaGVja2JveC13cmFwIHtcclxuICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgfVxyXG59IiwiLyohIF9sYW5kaW5nLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkxhbmRpbmcga2l0IHYxIFNDU1MgZmlsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBBbmltYXRlZCBIZXJvIGJhY2tncm91bmRcclxuMS4gSGVybyBIZWFkZXIgc3R5bGVzXHJcbjIuIExhbmRpbmcgcGFnZSBzdHlsZXNcclxuMy4gVmlkZW8gZW1iZWRcclxuNC4gUHJpY2luZyBwYWdlXHJcbjUuIEZvb3RlciBzdHlsZXNcclxuNi4gTG9naW4gYW5kIFNpZ24gdXBcclxuNy4gVGFibGV0IG1lZGlhIHF1ZXJpZXMgKHBvcnRyYWl0IG9yaWVudGF0aW9uKVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBBbmltYXRlZCBIZXJvIGJhY2tncm91bmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuI2xhbmRpbmctaGVybyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5IHVybCguLi9pbWFnZXMvYmcvc2hhcGVzL2ljb24tYmcucG5nKSByZXBlYXQgMCAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IDE4cyBsaW5lYXIgMHMgbm9ybWFsIG5vbmUgaW5maW5pdGUgYW5pbWF0ZTtcclxuICAgIC1tb3otYW5pbWF0aW9uOiAxOHMgbGluZWFyIDBzIG5vcm1hbCBub25lIGluZmluaXRlIGFuaW1hdGU7XHJcbiAgICAtbXMtYW5pbWF0aW9uOiAxOHMgbGluZWFyIDBzIG5vcm1hbCBub25lIGluZmluaXRlIGFuaW1hdGU7XHJcbiAgICAtby1hbmltYXRpb246IDE4cyBsaW5lYXIgMHMgbm9ybWFsIG5vbmUgaW5maW5pdGUgYW5pbWF0ZTtcclxuICAgIGFuaW1hdGlvbjogMThzIGxpbmVhciAwcyBub3JtYWwgbm9uZSBpbmZpbml0ZSBhbmltYXRlO1xyXG59XHJcblxyXG4vL0FuaW1hdGVkIGJhY2tncm91bmQga2V5ZnJhbWVzIGFuaW1hdGlvbnMgKGJhY2tncm91bmQgcG9zaXRpb24geSB2YWx1ZSBzaG91bGQgbWF0Y2ggeW91ciBiYWNrZ3JvdW5kIGltYWdlIGhlaWdodCB0byBhdm9pZCBcImp1bXBpbmcgZWZmZWN0c1wiKVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZSB7XHJcbiAgICBmcm9tIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDt9XHJcbiAgICB0byB7YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ1MHB4O31cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIGFuaW1hdGUge1xyXG4gICAgZnJvbSB7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fVxyXG4gICAgdG8ge2JhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NTBweDt9XHJcbn1cclxuXHJcbkAtbXMta2V5ZnJhbWVzIGFuaW1hdGUge1xyXG4gICAgZnJvbSB7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7fVxyXG4gICAgdG8ge2JhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NTBweDt9XHJcbn1cclxuXHJcbkAtby1rZXlmcmFtZXMgYW5pbWF0ZSB7XHJcbiAgICBmcm9tIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDt9XHJcbiAgICB0byB7YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ1MHB4O31cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlIHtcclxuICAgIGZyb20ge2JhY2tncm91bmQtcG9zaXRpb246MCAwO31cclxuICAgIHRvIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDUwcHg7fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBIZXJvIEhlYWRlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vSGVybyB3YXZlIHNoYXBlXHJcbi5oZXJvLmhlcm8td2F2ZXM6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYmcvc2hhcGVzL3dhdnkucG5nKSBuby1yZXBlYXQgc2Nyb2xsIDAgYm90dG9tIC8gMTAwJSBhdXRvO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGhlaWdodDogMzIxcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogLTFweDtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi8vSGVybyBjYXB0aW9uXHJcbi5oZWFkZXItY2FwdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAtODBweDtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAubGFuZGluZy10aXRsZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmLmlzLWJpZyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VidGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgJi5pcy1jZW50ZXJlZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vSGVhZGVyIGNhcHRpb24gbWVkaWEgcXVlcnkgKG1vYmlsZSlcclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuaGVhZGVyLWNhcHRpb24ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDEwcHg7XHJcbiAgICAgICAgLmxhbmRpbmctdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmhlYWRlci1jYXB0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vVGFibGV0IG9yaWVudGF0aW9uIHBvcnRyYWl0XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHtcclxuICAgIC5oZWFkZXItY2FwdGlvbiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBMYW5kaW5nIHBhZ2Ugc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL3NlY3Rpb24gdGl0bGVcclxuLnNlY3Rpb24tdGl0bGUtd3JhcHBlciB7XHJcbiAgICAuc2VjdGlvbi10aXRsZS1sYW5kaW5nIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL0hhbGYgbGFwdG9wIGFuZCBwaG9uZSBtb2NrdXBcclxuLmhhbGYtbW9ja3VwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xyXG59XHJcblxyXG4vL1NtYXJ0cGhvbmUgc2xpZGVyXHJcbi5waG9uZS1zbGlkZSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBwYWRkaW5nOiA4MDBweCAzMHB4IDMwcHggMzBweDtcclxuICAgICYuaXMtZmlyc3Qge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWxsdXN0cmF0aW9ucy9tb2NrdXBzL2xhbmRpbmcvcGhvbmUtc2xpZGUtMS5wbmcpO1xyXG4gICAgfVxyXG4gICAgJi5pcy1zZWNvbmQge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWxsdXN0cmF0aW9ucy9tb2NrdXBzL2xhbmRpbmcvcGhvbmUtc2xpZGUtMi5wbmcpO1xyXG4gICAgfVxyXG4gICAgJi5pcy10aGlyZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pbGx1c3RyYXRpb25zL21vY2t1cHMvbGFuZGluZy9waG9uZS1zbGlkZS0zLnBuZyk7XHJcbiAgICB9XHJcbiAgICAmLmlzLWZvdXJ0aCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pbGx1c3RyYXRpb25zL21vY2t1cHMvbGFuZGluZy9waG9uZS1zbGlkZS00LnBuZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vTGFyZ2UgZmVhdHVyZSBpbWFnZVxyXG4uZmVhdHVyZWQtc3ZnLWxne1xyXG4gICAgbWF4LXdpZHRoOiA1NTBweDtcclxuICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xyXG59XHJcblxyXG4vL0ljb24gYm94ZXNcclxuLndhdnktaWNvbi1ib3gge1xyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzLjhyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgIH1cclxuICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcbiAgICAuYm94LWNvbnRlbnQge1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxufVxyXG5cclxuLnNxdWFyZS1pY29uLWJveCB7XHJcbiAgICAmLmlzLWxhbmRpbmcge1xyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vRmVhdHVyZXMgdGV4dFxyXG4ucXVpY2stZmVhdHVyZS5pcy1oYW5kd3JpdHRlbiB7XHJcbiAgICBmb250LXNpemU6IDIuMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAuYmctbnVtYmVyIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vRXZlbnQgY2FyZHNcclxuLmV2ZW50LWNhcmQuaXMtd2F2eSB7XHJcbiAgICBoMi50ZXh0LXRpdGxlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjM1ZW07XHJcbiAgICB9XHJcbiAgICBwLnRleHQtc3VidGl0bGUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vVGVzdGltb25pYWxzXHJcbi50ZXN0aW1vbmlhbHMuaXMtd2F2eSB7XHJcbiAgICAudGVzdGltb25pYWwtbmFtZSBoMyB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL1Rlc3RpbW9uaWFsIGl0ZW0gbWVkaWEgcXVlcnkgKG1vYmlsZSlcclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAudGVzdGltb25pYWwtaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiA0MHB4IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAudGVzdGltb25pYWwtY29udGVudCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL1NwYWNlclxyXG4uYm90dG9tLXNwYWNlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi8vU21hbGwgZmVhdHVyZVxyXG4uc21hbGwtZmVhdHVyZSB7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBWaWRlbyBlbWJlZFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9BZGp1c3RtZW50c1xyXG4jZmVhdHVyZXMtdmlkZW8ge1xyXG4gICAgbWFyZ2luLXRvcDogLTM1JTtcclxufVxyXG5cclxuI2hlYWRlci1wcmljaW5nIHtcclxuICAgIG1hcmdpbi10b3A6IC0yMCU7XHJcbn1cclxuXHJcbi8vVmlkZW8gYmxvY2sgYWRqdXN0bWVudCBtZWRpYSBxdWVyeSAobW9iaWxlKVxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICNmZWF0dXJlcy12aWRlbyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBQcmljaW5nIHBhZ2VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vUHJpY2luZyBwbGFuIHN3aXRjaFxyXG4ucHJpY2luZy1waWNrZXIge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggMCA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEzcHggMjBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9QcmljaW5nIHRhYmxlcyB3aXRoIGhlYWRlclxyXG4uaGVhZGVyLXByaWNpbmcuaXMtd2F2eSB7XHJcbiAgICAuZmxleC1jYXJkIHtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0dpYW50IG5ld3NsZXR0ZXIgaW5wdXRcclxuLmdpYW50LWlucHV0LXdyYXBwZXIuaXMtd2F2eSB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1ncmV5LWFjY2VudDtcclxuICAgIC5naWFudC1pbnB1dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxNjVweCAyMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTMsMjIwLDI0NywwLjU5KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogIDBweCA1cHggNDNweCByZ2JhKDAsIDAsIDAsIDAuMTgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uLmlubmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogN3B4O1xyXG4gICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIEZvb3RlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vRm9vdGVyIFdhdmUgc2hhcGVcclxuLnNlY3Rpb24uZm9vdGVyLXdhdmVzOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYmcvc2hhcGVzL3dhdnktZGFyay5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMCBib3R0b20gLyAxMDAlIGF1dG87XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiAzMjFweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogMCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAtMXB4O1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNi4gTG9naW4gYW5kIFNpZ24gdXBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTG9naW4gYW5kIHNpZ251cCBkYXJrIHdhdmUgZm9vdGVyIHNoYXBlXHJcbi5oZXJvLmhlcm8td2F2ZXMtZGFyazpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltYWdlcy9iZy9zaGFwZXMvd2F2eS1kYXJrLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwIGJvdHRvbSAvIDEwMCUgYXV0bztcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDMyMXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IC0xcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4vL0xvZ2luIGFuZCBzaWdudXAgY2FyZHNcclxuLndhdnktbG9naW4tY2FyZCwgLndhdnktc2lnbnVwLWNhcmQge1xyXG4gICAgcGFkZGluZzogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlY2YwZjE7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLDAsMCwwLjA1KTtcclxuICAgIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gVGFibGV0IG1lZGlhIHF1ZXJpZXMgKHBvcnRyYWl0IG9yaWVudGF0aW9uKVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9UYWJsZXQgcG9ydHJhaXQgbWVkaWEgcXVlcmllc1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7IFxyXG4gICAgI2xhbmRpbmctaGVybyB7XHJcbiAgICAgICAgZmlndXJlIGltZyB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI1JTtcclxuICAgICAgICAgICAgdG9wOiAyMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcC5pcy10YWJsZXQtcGFkZGVkIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwJTtcclxuICAgIH1cclxuICAgIC5jb2x1bW4uc2xpZGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmV2ZW50LWNhcmQuaXMtd2F2eSAudGV4dC10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4iLCIvKiEgX2xheW91dC11dGlscy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CdWxraXQgdXRpbHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUmVzZXRzIGFuZCBiYXNlIHNldHVwXHJcbjEuIEJhY2sgdG8gdG9wIGJ1dHRvblxyXG4yLiBQcm9ncmVzcyBiYXJzXHJcbjMuIElucHV0IHBsYWNlaG9sZGVyc1xyXG40LiBXaW5kb3cgc2Nyb2xsYmFyXHJcbjUuIERlbW8gbGluayBjb2xvcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUmVzZXRzIGFuZCBiYXNlIHNldHVwXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuYSwgYTphY3RpdmUsIGksIGk6YWN0aXZlLCBkaXYsIGRpdjphY3RpdmUsIGRpdjpmb2N1cywgc3Bhbjpmb2N1cywgc3BhbjphY3RpdmUsIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ1dHRvbi5pcy1hY3RpdmUsIC5idXR0b246YWN0aXZlLCAuYnV0dG9uOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudFxyXG59XHJcblxyXG5zZWN0aW9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy90ZXh0L25leGEvTmV4YUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvdGV4dC9uZXhhL05leGFMaWdodC50dGZcIikgIGZvcm1hdChcInRydWV0eXBlXCIpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy90ZXh0L25leGEvTmV4YUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy90ZXh0L25leGEvTmV4YUJvbGQudHRmXCIpICBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEJhY2sgdG8gdG9wIGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuI2JhY2t0b3RvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBib3R0b206IDI1cHg7XHJcbiAgICBtYXJnaW46IDAgMjVweCAwIDA7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgdHJhbnNpdGlvbjogMC4zNXM7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxufVxyXG5cclxuI2JhY2t0b3RvcC52aXNpYmxlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHJcbn1cclxuXHJcbiNiYWNrdG90b3AudmlzaWJsZSBhOmhvdmVyIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwLjk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG59XHJcblxyXG4jYmFja3RvdG9wIGEge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogNDZweDtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JleTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMjZweFxyXG59XHJcblxyXG5ib2R5ICNiYWNrdG90b3AgYSB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbiNiYWNrdG90b3AgYTphZnRlciB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY29udGVudDogXCJcXGYxMDZcIjtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBQcm9ncmVzcyBiYXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucHJvZ3Jlc3Mge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByb2dyZXNzLnByaW1hcnk6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByb2dyZXNzLnNlY29uZGFyeTo6LW1vei1wcm9ncmVzcy1iYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gSW5wdXQgcGxhY2Vob2xkZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXHJcbiAgICBjb2xvcjogJHBsYWNlaG9sZGVyO1xyXG59XHJcbjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXHJcbiAgICBjb2xvcjogJHBsYWNlaG9sZGVyO1xyXG59XHJcbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbn1cclxuOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xyXG4gICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIFdpbmRvdyBzY3JvbGxiYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCBodG1sOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgYm9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbn1cclxuKjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIGh0bWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCBib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMilcclxufSIsIi8qISBfaGVscGVycy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5IZWxwZXIgY2xhc3NlcyAobXVzdCBhbHdheXMgYmUgYXQgdGhlIGVuZCBvZiB0aGUgY29yZSBpbXBvcnRzKVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDb2xvciBoZWxwZXJzXHJcbjEuIFR5cG9ncmFwaHkgaGVscGVyc1xyXG4yLiBEaXNwbGF5IGhlbHBlcnNcclxuMy4gUGFkZGluZyBoZWxwZXJzXHJcbjQuIE1hcmdpbiBoZWxwZXJzXHJcbjUuIFNpemluZyBoZWxwZXJzXHJcbjYuIFBvc2l0aW9uIGhlbHBlcnNcclxuNy4gU3RhdGVzIGhlbHBlcnNcclxuOC4gT3ZlcmZsb3cgaGVscGVyc1xyXG45LiBJY29uIGhlbHBlcnNcclxuMTAuIEltYWdlIGhlbHBlcnNcclxuMTEuIFJlc3BvbnNpdmUgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDb2xvciBoZWxwZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY29sb3ItcHJpbWFyeSB7XHJcbiAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNvbG9yLXNlY29uZGFyeSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY29sb3ItYWNjZW50IHtcclxuICAgIGNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb2xvci1yZWQge1xyXG4gICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJvcmRlci1saWdodCB7XHJcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGFyay10ZXh0IHtcclxuICAgIGNvbG9yOiAkYmx1ZS1ncmV5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5saWdodC10ZXh0IHtcclxuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByaW1hcnktdGV4dCB7XHJcbiAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlY29uZGFyeS10ZXh0IHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hY2NlbnQtdGV4dCB7XHJcbiAgICBjb2xvcjogJGFjY2VudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5mby10ZXh0IHtcclxuICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3VjY2Vzcy10ZXh0IHtcclxuICAgIGNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLndhcm5pbmctdGV4dCB7XHJcbiAgICBjb2xvcjogJG9yYW5nZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGFuZ2VyLXRleHQge1xyXG4gICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRhcmstYmcge1xyXG4gICAgYmFja2dyb3VuZDogJGNvYWwgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxpZ2h0LWJnIHtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBUeXBvZ3JhcGh5IGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb250LXctNDAwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcclxufVxyXG4uZm9udC13LTUwMCB7XHJcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmZvbnQtdy02MDAge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG59XHJcbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtdXBwZXIge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGV4dC1ib2xkIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtYm9sZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcclxufVxyXG4uZm9udC1zaXplLW5vcm1hbCB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi5mb250LXNpemUtMngge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG59XHJcblxyXG4uaXMtc2l6ZS0xIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxufVxyXG5cclxuLmlzLXNpemUtMiB7XHJcbiAgICBmb250LXNpemU6IDIuNXJlbTtcclxufVxyXG5cclxuLmlzLXNpemUtMyB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbn1cclxuXHJcbi5pcy1zaXplLTQge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbn1cclxuXHJcbi5pcy1zaXplLTUge1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG59XHJcblxyXG4uaXMtc2l6ZS02IHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLmlzLXNpemUtNyB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIERpc3BsYXkgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9xdWljayBmbGV4XHJcbi5pcy1mbGV4IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAmLmlzLXN0YXJ0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNlbnRlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLmlzLWVuZCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICAgICYuaXMtdmNlbnRlciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuLy9CbG9jayBkaXNwbGF5XHJcbi5pcy1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uei1pbmRleC0yIHtcclxuICAgIHotaW5kZXg6IDIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnotaW5kZXgtMTAxIHtcclxuICAgIHotaW5kZXg6IDEwMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBQYWRkaW5nIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5uby1wYWRkaW5nIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tcGFkZGluZy10b3Age1xyXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tcGFkZGluZy1ib3R0b20ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tcGFkZGluZy1yaWdodCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5vLXBhZGRpbmctbGVmdCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBhZGRpbmctMTAge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4ucGFkZGluZy0xNSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcbi5wYWRkaW5nLTIwIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuLnBhZGRpbmctMjUge1xyXG4gICAgcGFkZGluZzogMjVweDtcclxufVxyXG4ucGFkZGluZy0zMCB7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG59XHJcbi5wYWRkaW5nLTQwIHtcclxuICAgIHBhZGRpbmc6IDQwcHg7XHJcbn1cclxuLnBhZGRpbmctNTAge1xyXG4gICAgcGFkZGluZzogNTBweDtcclxufVxyXG4ucGFkZGluZy02MCB7XHJcbiAgICBwYWRkaW5nOiA2MHB4O1xyXG59XHJcbi5wYWRkaW5nLTcwIHtcclxuICAgIHBhZGRpbmc6IDcwcHg7XHJcbn1cclxuLnBhZGRpbmctODAge1xyXG4gICAgcGFkZGluZzogODBweDtcclxufVxyXG4ucGFkZGluZy05MCB7XHJcbiAgICBwYWRkaW5nOiA5MHB4O1xyXG59XHJcbi5wYWRkaW5nLTEwMCB7XHJcbiAgICBwYWRkaW5nOiAxMDBweDtcclxufVxyXG4ucHQtNSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG59XHJcbi5wdC0xMCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG4ucHQtMjAge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbn1cclxuLnB0LTMwIHtcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG59XHJcbi5wdC00MCB7XHJcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcclxufVxyXG4ucHQtNTAge1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbn1cclxuLnB0LTYwIHtcclxuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG59XHJcbi5wdC03MCB7XHJcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcclxufVxyXG4ucHQtODAge1xyXG4gICAgcGFkZGluZy10b3A6IDgwcHg7XHJcbn1cclxuLnBiLTUge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxufVxyXG4ucGItMTAge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuLnBiLTIwIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG59XHJcbi5wYi0zMCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxufVxyXG4ucGItNDAge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbn1cclxuLnBiLTUwIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG59XHJcbi5wYi02MCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxufVxyXG4ucGItNzAge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcbn1cclxuLnBiLTgwIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG59XHJcbi5wbC01IHtcclxuICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG59XHJcbi5wbC0xMCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbn1cclxuLnBsLTIwIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG4ucGwtMzAge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG59XHJcbi5wbC00MCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbn1cclxuLnBsLTUwIHtcclxuICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxufVxyXG4ucGwtNjAge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG59XHJcbi5wbC03MCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XHJcbn1cclxuLnBsLTgwIHtcclxuICAgIHBhZGRpbmctbGVmdDogODBweDtcclxufVxyXG4ucHItNSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbn1cclxuLnByLTEwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbn1cclxuLnByLTIwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuLnByLTMwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbn1cclxuLnByLTQwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbn1cclxuLnByLTUwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbn1cclxuLnByLTYwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XHJcbn1cclxuLnByLTcwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XHJcbn1cclxuLnByLTgwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XHJcbn1cclxuXHJcbi5odWdlLXB0IHtcclxuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxufVxyXG5cclxuLmh1Z2UtcGIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uZ2lhbnQtcGIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBNYXJnaW4gaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm5vLW1hcmdpbiB7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tbWFyZ2luLWxlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tbWFyZ2luLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5uby1tYXJnaW4tdG9wIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tbWFyZ2luLWJvdHRvbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcmdpbi14LWF1dG8ge1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxufVxyXG4ubXItYXV0byB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG4ubWwtYXV0byB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyZ2luLTEwIHtcclxuICAgIG1hcmdpbjogMTBweDtcclxufVxyXG4ubWFyZ2luLTIwIHtcclxuICAgIG1hcmdpbjogMjBweDtcclxufVxyXG4ubWFyZ2luLTI1IHtcclxuICAgIG1hcmdpbjogMjVweDtcclxufVxyXG4ubWFyZ2luLTMwIHtcclxuICAgIG1hcmdpbjogMzBweDtcclxufVxyXG4ubWFyZ2luLTQwIHtcclxuICAgIG1hcmdpbjogNDBweDtcclxufVxyXG4ubWFyZ2luLTUwIHtcclxuICAgIG1hcmdpbjogNTBweDtcclxufVxyXG4ubWFyZ2luLTYwIHtcclxuICAgIG1hcmdpbjogNjBweDtcclxufVxyXG4ubWFyZ2luLTcwIHtcclxuICAgIG1hcmdpbjogNzBweDtcclxufVxyXG4ubWFyZ2luLTgwIHtcclxuICAgIG1hcmdpbjogODBweDtcclxufVxyXG4ubWFyZ2luLTkwIHtcclxuICAgIG1hcmdpbjogOTBweDtcclxufVxyXG4ubWFyZ2luLTEwMCB7XHJcbiAgICBtYXJnaW46IDEwMHB4O1xyXG59XHJcbi5tdC01IHtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG4ubXQtMTAge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG4ubXQtMjAge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG4ubXQtMzAge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG4ubXQtNDAge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG4ubXQtNTAge1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxufVxyXG4ubXQtNjAge1xyXG4gICAgbWFyZ2luLXRvcDogNjBweDtcclxufVxyXG4ubXQtNzAge1xyXG4gICAgbWFyZ2luLXRvcDogNzBweDtcclxufVxyXG4ubXQtODAge1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxufVxyXG4ubXQtMTIwIHtcclxuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xyXG59XHJcbi5tYi01IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG4ubWItMTAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4ubWItMjAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG4ubWItMzAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG4ubWItNDAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG4ubWItNTAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG4ubWItNjAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG4ubWItNzAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxufVxyXG4ubWItODAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxufVxyXG4ubWwtNSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcbi5tbC0xMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG4ubWwtMjAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuLm1sLTMwIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG59XHJcbi5tbC00MCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcclxufVxyXG4ubWwtNTAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XHJcbn1cclxuLm1sLTYwIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG59XHJcbi5tbC03MCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcclxufVxyXG4ubWwtODAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbn1cclxuLm1yLTUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuLm1yLTEwIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG4ubXItMjAge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcbi5tci0zMCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbn1cclxuLm1yLTQwIHtcclxuICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxufVxyXG4ubXItNTAge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG59XHJcbi5tci02MCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XHJcbn1cclxuLm1yLTcwIHtcclxuICAgIG1hcmdpbi1yaWdodDogNzBweDtcclxufVxyXG4ubXItODAge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBTaXppbmcgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLndpZHRoLTQwIHtcclxuICAgIHdpZHRoOiA0MHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLndpZHRoLTEwMCB7XHJcbiAgICB3aWR0aDogMTAwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2lkdGgtMjUwIHtcclxuICAgIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGVpZ2h0LTMwIHtcclxuICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGVpZ2h0LTYwIHtcclxuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5oZWlnaHQtNjAge1xyXG4gICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmhlaWdodC03MCB7XHJcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcclxufVxyXG4uaGVpZ2h0LTgwIHtcclxuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5oZWlnaHQtOTAge1xyXG4gICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIFBvc2l0aW9uIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5wdWxsLXJpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG4ucHVsbC1sZWZ0IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uaXMtZml4ZWQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gU3RhdGVzIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pcy1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXMtdmhpZGRlbiB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLWRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdHVjayB7XHJcbiAgICBwb3NpdGlvbjpmaXhlZCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlRG93bjtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC40cztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOC4gT3ZlcmZsb3cgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm92ZXJmbG93LWF1dG8ge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOS4gSWNvbiBoZWxwZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW0sIC5zbCwgLm1hdGVyaWFsLWljb25zIHtcclxuICAgICYuaXMtaWNvbi14cyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtaWNvbi1tZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtaWNvbi0yeCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgfVxyXG4gICAgJi5pcy1pY29uLTN4IHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICB9XHJcbiAgICAmLmlzLWljb24tNHgge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgIH1cclxuICAgICYuaXMtZ2lnYW50aWMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBJbWFnZSBoZWxwZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW1nLWNpcmNsZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjExLiBSZXNwb25zaXZlIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLm1vYmlsZS1wYWRkaW5nLTIwIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICB9XHJcbiAgICAubW9iaWxlLXBhZGRpbmctNDAge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAuaGFzLXRleHQtY2VudGVyZWQtbW9iaWxlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxufSIsIi8qISBfcmVzcG9uc2l2ZS5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5HZW5lcmFsIHJlc3BvbnNpdmUgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIG1heC13aWR0aCA3NjdweFxyXG4xLiBtYXgtd2lkdGggNzY4cHhcclxuMi4gQmV0d2VlbiA3NjhweCBhbmQgMTAyNHB4IHBvcnRyYWl0IG9yaWVudGF0aW9uXHJcbjMuIG1heC13aWR0aCAxMDA3cHhcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gbWF4LXdpZHRoIDc2N3B4XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC8vc2VjdGlvbiB0aXRsZVxyXG4gICAgLnNlY3Rpb24tdGl0bGUtd3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBtYXgtd2lkdGggNzY4cHhcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cclxuICAgIC8vTmF2IGl0ZW1zXHJcbiAgICAubmF2LWl0ZW0uaXMtdGFiIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgICAubmF2IC5uYXYtaXRlbS5pcy10YWIuaXMtYWN0aXZlLCAubmF2LW1lbnUuaXMtYWN0aXZlIC5uYXYtaXRlbS5pcy10YWIuaXMtYWN0aXZlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubmF2LWl0ZW0ubmF2LWlubmVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBhLm5hdi1pdGVtLmlzLW5vdC1tb2JpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5uYXYtaXRlbS5pcy1tZW51LW1vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzdhN2E3YSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm5hdmJhciB7XHJcbiAgICAgICAgJi5uYXZiYXItbGlnaHQge1xyXG4gICAgICAgICAgICAmLmlzLWRhcmstbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyO1xyXG4gICAgICAgICAgICAgICAgLm5hdmJhci1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1tZW51IHtcclxuICAgICAgICAgICAgLm5hdmJhci1saW5rLCAubmF2YmFyLWl0ZW0sIC5uYXZiYXItZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQzJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNC42cmVtO1xyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1idXJnZXJ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm5hdmJhci1idXJnZXIge1xyXG4gICAgICAgIGhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIHdpZHRoOiA0LjZyZW07XHJcbiAgICB9XHJcbiAgICAvL0Zvb3RlciBzb2NpYWwgaWNvbnNcclxuICAgIC5sZXZlbC1sZWZ0LmxldmVsLXNvY2lhbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLmxldmVsLWl0ZW06bGFzdC1jaGlsZCAuaWNvbiBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9NYWluIGhlcm8gYmFja2dyb3VuZCBwb3NpdGlvblxyXG4gICAgI21haW4taGVybyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA1NSUgIWltcG9ydGFudFxyXG4gICAgfVxyXG4gICAgLy9NYWluIHRpdGxlXHJcbiAgICAvKi50aXRsZS5tYWluLXRpdGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbn0qL1xyXG4gICAgLy9QYXJhbGxheCBvdmVybGF5XHJcbiAgICAucGFyYWxsYXgtb3ZlcmxheSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9TZWN0aW9uIHRpdGxlXHJcbiAgICAudGl0bGUuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL21vY2t1cCBhbmQgaGVybyBmb3IgY29tcG9uZW50cyBzZWN0aW9uc1xyXG4gICAgLmhlcm8uaXMtZnVsbGhlaWdodC5pcy1oYWxmZWQtbW9iaWxlIHtcclxuICAgICAgICBoZWlnaHQ6IDM1dmggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvL0NsaWVudCBncmlkc1xyXG4gICAgLnRocmVlLWdyaWQsIC5mb3VyLWdyaWQsIC5maXZlLWdyaWQge1xyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ2Fyb3VzZWxzXHJcbiAgICAuc2luZ2xlLWltYWdlLWNhcm91c2VsIC5pbWFnZS13cmFwcGVyIGltZyB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNpbmdsZS1pbWFnZS1jYXJvdXNlbCAuaW1hZ2Utd3JhcHBlciAuY2FwdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC8vVmlkZW8gYmFja2dyb3VuZFxyXG4gICAgLnZpZGVvLWNhcHRpb24ge1xyXG4gICAgICAgIGxlZnQ6IDUlO1xyXG4gICAgfVxyXG4gICAgLy9tZW51IHRvZ2dsZXMgdmlzaWJpbGl0eSBvbiBtb2JpbGVcclxuICAgICNuYXZpZ2F0aW9uLXRyaWdnZXIsIC5uYXZpZ2F0aW9uLWNsb3NlIHtcclxuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0RhcmtlbiB0cmFuc3BhcmVudCBuYXZiYXIgd2hlbiByZXNwb25zaXZlIG1lbnUgaXMgb3BlbiBvbiBtb2JpbGUgKG9ubHkgaWYgaXQgaXMgYSBsaWdodCBuYXZiYXIpXHJcbiAgICAubmF2YmFyLXdyYXBwZXIubmF2YmFyLWZhZGUubmF2YmFyLWxpZ2h0Lm1vYmlsZS1tZW51LWRhcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm5hdi1tZW51LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5uYXYtaW5uZXIuaXMtbWVudS1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci13cmFwcGVyLm5hdmJhci1mYWRlLm1vYmlsZS1tZW51LWRhcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBCZXR3ZWVuIDc2OHB4IGFuZCAxMDI0cHggcG9ydHJhaXQgb3JpZW50YXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHsgXHJcbiAgICAvL3RhYmxldCBwb3J0cmFpdCBvcmllbnRhdGlvbiBhZGp1c3RtZW50c1xyXG4gICAgLmNvbHVtbnMge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTAlO1xyXG4gICAgICAgICYuaXMtdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLW5vdC10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIG1heC13aWR0aCAxMDA3cHhcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDdweCkge1xyXG4gICAgLy9TbGlkZSBkZXNjcmlwdGlvbiBwYWRkaW5nXHJcbiAgICAuY29sdW1uLnNsaWRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vQWNjb3VudFxyXG4gICAgLmFjY291bnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAvL01lZGlhIGNhcmQgc2V0dGluZ3NcclxuICAgIC5tZWRpYS1jYXJkIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNvbHVtbi5pcy00Lm1lZGlhLXN0cmV0Y2gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm1lZGlhLWNhcmQtaW1hZ2Uge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWNhcmQtY29udHJvbHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIFRhYmxldCBMYW5kc2NhcGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7XHJcblxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIGhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIC5jdXN0b20tYnVyZ2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vRGFya2VuIHRyYW5zcGFyZW50IG5hdmJhciB3aGVuIHJlc3BvbnNpdmUgbWVudSBpcyBvcGVuIG9uIG1vYmlsZSAob25seSBpZiBpdCBpcyBhIGxpZ2h0IG5hdmJhcilcclxuICAgIC5uYXZiYXItd3JhcHBlci5uYXZiYXItZmFkZS5uYXZiYXItbGlnaHQubW9iaWxlLW1lbnUtZGFyayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXIgIWltcG9ydGFudDtcclxuICAgICAgICAubmF2LW1lbnUuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLm5hdi1pbm5lci5pcy1tZW51LW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLXdyYXBwZXIubmF2YmFyLWZhZGUubW9iaWxlLW1lbnUtZGFyayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubmF2YmFyIHtcclxuICAgICAgICAmLm5hdmJhci1saWdodCB7XHJcbiAgICAgICAgICAgICYuaXMtZGFyay1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXI7XHJcbiAgICAgICAgICAgICAgICAubmF2YmFyLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2YmFyLW1lbnUge1xyXG4gICAgICAgICAgICAubmF2YmFyLWxpbmssIC5uYXZiYXItaXRlbSwgLm5hdmJhci1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQzJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICNzaWdudXAtYnRuLCAjc2lnbnVwLWJ0bi1hbHQgIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== */