.conseils-listing--posts{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;grid-row-gap:3.33333rem;/*!*/}@media only screen and (min-width: 900px){.conseils-listing--posts{-ms-grid-columns:(minmax(-webkit-calc(20% - 20px), 1fr))[2];-ms-grid-columns:(minmax(calc(20% - 20px), 1fr))[2];grid-template-columns:repeat(2, minmax(-webkit-calc(20% - 20px), 1fr));grid-template-columns:repeat(2, minmax(calc(20% - 20px), 1fr));grid-column-gap:1.33333rem;grid-row-gap:4rem}}.bloc-actualites .conseils-listing--posts{margin-bottom:-webkit-calc(1.66667rem + 3.75vw) !important;margin-bottom:calc(1.66667rem + 3.75vw) !important}@media (min-width: 1200px){.bloc-actualites .conseils-listing--posts{margin-bottom:4.66667rem !important}}.conseils-listing--post{display:-ms-grid;display:grid;-ms-grid-rows:auto 1rem auto;grid-template-areas:"image" "details";-ms-grid-columns:1fr;grid-template-columns:1fr;grid-row-gap:1rem;/*!*/}@media only screen and (min-width: 768px){.conseils-listing--post{grid-template-areas:"image details";-ms-grid-columns:1fr 1rem 0.8fr;grid-template-columns:1fr 0.8fr;grid-gap:1rem}}.conseils-post--image{-ms-grid-row:1;-ms-grid-column:1;grid-area:image}.conseils-post--image img{display:block;width:100%;height:100%}.conseils-post--details{-ms-grid-row:3;-ms-grid-column:1;grid-area:details;-ms-grid-row-align:center;align-self:center}@media only screen and (min-width: 768px){.conseils-post--image{-ms-grid-row:1;-ms-grid-column:1}.conseils-post--details{-ms-grid-row:1;-ms-grid-column:3}}.conseils-post--details h2{font-size:-webkit-calc(1.34667rem + .15vw);font-size:calc(1.34667rem + .15vw);margin-bottom:.8rem;-webkit-transition:color .3s;transition:color .3s}@media (min-width: 1200px){.conseils-post--details h2{font-size:1.46667rem}}.conseils-post--desc{margin-bottom:1rem}@media only screen and (max-width: 1023px){.conseils-post--desc{font-size:1.2rem}}.conseils-listing--pagination.text-center{margin-top:15px}.actus-listing--posts{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;grid-row-gap:3.33333rem;margin-bottom:-webkit-calc(1.53333rem + 2.25vw);margin-bottom:calc(1.53333rem + 2.25vw);/*!*/}@media (min-width: 1200px){.actus-listing--posts{margin-bottom:3.33333rem}}.bloc-actualites .actus-listing--posts{margin-bottom:-webkit-calc(1.36667rem + .375vw);margin-bottom:calc(1.36667rem + .375vw)}@media (min-width: 1200px){.bloc-actualites .actus-listing--posts{margin-bottom:1.66667rem}}@media only screen and (min-width: 768px){.actus-listing--posts{margin-bottom:-webkit-calc(1.93333rem + 6.75vw);margin-bottom:calc(1.93333rem + 6.75vw);gap:80px 30px}}@media only screen and (min-width: 768px) and (min-width: 1200px){.actus-listing--posts{margin-bottom:7.33333rem}}@media only screen and (min-width: 768px){.bloc-actualites .actus-listing--posts{margin-bottom:-webkit-calc(1.46667rem + 1.5vw);margin-bottom:calc(1.46667rem + 1.5vw)}}@media only screen and (min-width: 768px) and (min-width: 1200px){.bloc-actualites .actus-listing--posts{margin-bottom:2.66667rem}}@media only screen and (min-width: 768px){.actus-listing--posts[data-count="1"],.actus-listing--posts[data-count="2"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.actus-listing--posts[data-count="1"]>*,.actus-listing--posts[data-count="2"]>*{width:-webkit-calc(33.33% - 30px);width:calc(33.33% - 30px)}.actus-listing--posts:not([data-count="1"]):not([data-count="2"]){-ms-grid-columns:(minmax(-webkit-calc(33.33% - 30px), 1fr))[3];-ms-grid-columns:(minmax(calc(33.33% - 30px), 1fr))[3];grid-template-columns:repeat(3, minmax(-webkit-calc(33.33% - 30px), 1fr));grid-template-columns:repeat(3, minmax(calc(33.33% - 30px), 1fr))}}.actus-post-image{position:relative}.actus-post-image img{display:block;width:100%}.actus-post-text{padding-top:1rem}.actus-post-text h2{font-size:1.2rem;margin-bottom:.66667rem;line-height:1.2}.actus-post--infos{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;max-width:-webkit-calc(100% - 10px);max-width:calc(100% - 10px);position:absolute;font-size:.86667rem;top:5px;padding:.66667rem .33333rem 0;left:5px;line-height:1;-webkit-border-radius:10px;border-radius:10px;background-color:#FFF;-webkit-box-shadow:0px 4px 4px rgba(0,0,0,0.25);box-shadow:0px 4px 4px rgba(0,0,0,0.25)}.actus-post--infos .actus_entry_date,.actus-post--infos .actus_entry_cats{margin-bottom:.53333rem}.actus_entry_date{position:relative;margin-right:.33333rem;padding-right:.33333rem}.actus_entry_date:after{content:'';width:1px;height:10px;position:absolute;top:1px;right:0;background-color:#C4C4C4}.actus_entry_cats li{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;/*!*/}.actus_entry_cats li+li{position:relative;margin-left:.06667rem;padding-left:.33333rem}.actus_entry_cats li+li:before{content:'';width:1px;height:10px;position:absolute;top:1px;left:0;background-color:#C4C4C4}body .tmpl_ehpad .actus_entry_cats li{color:#ACC36D}body .tmpl_residences .actus_entry_cats li{color:#A1AF90}body .tmpl_ssr .actus_entry_cats li{color:#76B5BB}body .tmpl_sport .actus_entry_cats li{color:#36B3A8}.actus_entry_cats li strong{font-weight:800}.actus-post-holder{display:block;-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);transition:-webkit-transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);transition:transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1)}.actus-post-holder:hover{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}.actus-post-holder:hover .actus-post--infos{color:#FFF !important}body .tmpl_ehpad .actus-post-holder:hover .actus-post--infos{background-color:#ACC36D}body .tmpl_residences .actus-post-holder:hover .actus-post--infos{background-color:#A1AF90}body .tmpl_ssr .actus-post-holder:hover .actus-post--infos{background-color:#76B5BB}body .tmpl_sport .actus-post-holder:hover .actus-post--infos{background-color:#36B3A8}.actus-post-holder:hover .actus-post--infos li{color:#FFF !important}.actus-post-holder:hover .actus-post-text{/*!*/}body .tmpl_ehpad .actus-post-holder:hover .actus-post-text{color:#ACC36D}body .tmpl_residences .actus-post-holder:hover .actus-post-text{color:#A1AF90}body .tmpl_ssr .actus-post-holder:hover .actus-post-text{color:#76B5BB}body .tmpl_sport .actus-post-holder:hover .actus-post-text{color:#36B3A8}body .tmpl_ehpad .actus-post-holder:hover .actus-post-text h1,body .tmpl_ehpad .actus-post-holder:hover .actus-post-text h2,body .tmpl_ehpad .actus-post-holder:hover .actus-post-text h3,body .tmpl_ehpad .actus-post-holder:hover .actus-post-text h4,body .tmpl_ehpad .actus-post-holder:hover .actus-post-text h5,body .tmpl_ehpad .actus-post-holder:hover .actus-post-text h6{color:#ACC36D}body .tmpl_residences .actus-post-holder:hover .actus-post-text h1,body .tmpl_residences .actus-post-holder:hover .actus-post-text h2,body .tmpl_residences .actus-post-holder:hover .actus-post-text h3,body .tmpl_residences .actus-post-holder:hover .actus-post-text h4,body .tmpl_residences .actus-post-holder:hover .actus-post-text h5,body .tmpl_residences .actus-post-holder:hover .actus-post-text h6{color:#A1AF90}body .tmpl_ssr .actus-post-holder:hover .actus-post-text h1,body .tmpl_ssr .actus-post-holder:hover .actus-post-text h2,body .tmpl_ssr .actus-post-holder:hover .actus-post-text h3,body .tmpl_ssr .actus-post-holder:hover .actus-post-text h4,body .tmpl_ssr .actus-post-holder:hover .actus-post-text h5,body .tmpl_ssr .actus-post-holder:hover .actus-post-text h6{color:#76B5BB}body .tmpl_sport .actus-post-holder:hover .actus-post-text h1,body .tmpl_sport .actus-post-holder:hover .actus-post-text h2,body .tmpl_sport .actus-post-holder:hover .actus-post-text h3,body .tmpl_sport .actus-post-holder:hover .actus-post-text h4,body .tmpl_sport .actus-post-holder:hover .actus-post-text h5,body .tmpl_sport .actus-post-holder:hover .actus-post-text h6{color:#36B3A8}.actus-listing--posts--empty{color:#3D3D3D;font-size:-webkit-calc(1.36667rem + .375vw);font-size:calc(1.36667rem + .375vw);font-weight:400;line-height:1.2;text-align:center;margin-top:1rem}@media (min-width: 1200px){.actus-listing--posts--empty{font-size:1.66667rem}}.actus-listing--posts--empty .bloc-separateur{margin-bottom:0 !important}.conseils-post--details{-webkit-align-self:baseline !important;-ms-flex-item-align:baseline !important;align-self:baseline !important}body.tmpl_ehpad .conseils-post--details a:hover h2{color:#ACC36D}body.tmpl_residences .conseils-post--details a:hover h2{color:#A1AF90}body.tmpl_ssr .conseils-post--details a:hover h2{color:#76B5BB}body.tmpl_sport .conseils-post--details a:hover h2{color:#36B3A8}.conseils-listing .paginationjs .paginationjs-pages li.active>a{color:#6787B7;font-size:1.33333rem;font-weight:700;background:none}body.tmpl_ehpad .conseils-listing .paginationjs .paginationjs-pages li.active>a{color:#ACC36D}body.tmpl_residences .conseils-listing .paginationjs .paginationjs-pages li.active>a{color:#A1AF90}body.tmpl_ssr .conseils-listing .paginationjs .paginationjs-pages li.active>a{color:#76B5BB}body.tmpl_sport .conseils-listing .paginationjs .paginationjs-pages li.active>a{color:#36B3A8}.conseils-listing--post{width:-webkit-calc(50% - 3rem);width:calc(50% - 3rem)}@media only screen and (max-width: 1023px){.conseils-listing--post{width:100%;margin-left:0 !important}}.bloc-actualites .conseils-listing--post{width:100%}.conseils-listing--post{margin-left:3rem;margin-bottom:3rem}.conseils-listing .pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.paginationjs .paginationjs-pages ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline}.paginationjs .paginationjs-pages li{border:none !important}.paginationjs .paginationjs-pages ul{-webkit-box-align:center !important;-webkit-align-items:center !important;-ms-flex-align:center !important;align-items:center !important}.conseils-listing .paginationjs-next{display:inline-block;width:24px;height:24px;position:relative;-webkit-border-radius:50px !important;border-radius:50px !important;background:linear-gradient(92.41deg, #ACC36D 5%, #5777A6 100%) !important;outline:none !important;border-color:transparent !important}body.tmpl_ehpad .conseils-listing .paginationjs-next{background:linear-gradient(92.41deg, #ACC36D 5%, #6C9A2E 100%)}body.tmpl_residences .conseils-listing .paginationjs-next{background:#A1AF90}body.tmpl_ssr .conseils-listing .paginationjs-next{background:linear-gradient(92.41deg, #76B5BA 5%, #4E959B 100%)}body.tmpl_sport .conseils-listing .paginationjs-next{background:linear-gradient(92.41deg, #35B3A7 5%, #1CA699 100%)}.conseils-listing .paginationjs-next:after{content:'';width:18px;height:18px;position:absolute;top:3px;left:3px;text-align:center;background:url("data:image/svg+xml;charset=utf8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14.0791' cy='14.6401' r='14.04' fill='white'/%3E%3Cpath d='M12.2793 9.95996L17.3193 15L12.2793 20.04' stroke='%236787B7' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-size:cover !important}body.tmpl_ehpad .conseils-listing .paginationjs-next:after{background:url("data:image/svg+xml;charset=utf8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14.0791' cy='14.6401' r='14.04' fill='white'/%3E%3Cpath d='M12.2793 9.95996L17.3193 15L12.2793 20.04' stroke='%23ACC36D' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}body.tmpl_residences .conseils-listing .paginationjs-next:after{background:url("data:image/svg+xml;charset=utf8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14.0791' cy='14.6401' r='14.04' fill='white'/%3E%3Cpath d='M12.2793 9.95996L17.3193 15L12.2793 20.04' stroke='%23A1AF90' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}body.tmpl_ssr .conseils-listing .paginationjs-next:after{background:url("data:image/svg+xml;charset=utf8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14.0791' cy='14.6401' r='14.04' fill='white'/%3E%3Cpath d='M12.2793 9.95996L17.3193 15L12.2793 20.04' stroke='%2376B5BB' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}body.tmpl_sport .conseils-listing .paginationjs-next:after{background:url("data:image/svg+xml;charset=utf8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14.0791' cy='14.6401' r='14.04' fill='white'/%3E%3Cpath d='M12.2793 9.95996L17.3193 15L12.2793 20.04' stroke='%2336B3A8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.conseils-listing .paginationjs-next.angle-left{margin-right:-webkit-calc(1.36667rem + .375vw);margin-right:calc(1.36667rem + .375vw)}@media (min-width: 1200px){.conseils-listing .paginationjs-next.angle-left{margin-right:1.66667rem}}.conseils-listing .paginationjs-next.angle-left:after{left:3px;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.conseils-listing .paginationjs-next.angle-right{margin-left:-webkit-calc(1.36667rem + .375vw);margin-left:calc(1.36667rem + .375vw)}@media (min-width: 1200px){.conseils-listing .paginationjs-next.angle-right{margin-left:1.66667rem}}.conseils-listing .paginationjs-next-grid svg path{/*!*/}body.tmpl_ehpad .conseils-listing .paginationjs-next-grid svg path{fill:#ACC36D}body.tmpl_residences .conseils-listing .paginationjs-next-grid svg path{fill:#A1AF90}body.tmpl_ssr .conseils-listing .paginationjs-next-grid svg path{fill:#76B5BB}body.tmpl_sport .conseils-listing .paginationjs-next-grid svg path{fill:#36B3A8}.conseils-listing .paginationjs-next a{opacity:0}.paginationjs-prev{display:none}.bloc-liste-etablissement--chapo{font-size:1.33333rem}.etablissement-listing{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;grid-row-gap:2rem;margin-bottom:-webkit-calc(1.86667rem + 6vw);margin-bottom:calc(1.86667rem + 6vw);/*!*/}@media (min-width: 1200px){.etablissement-listing{margin-bottom:6.66667rem}}@media only screen and (min-width: 768px){.etablissement-listing{-ms-grid-columns:(minmax(-webkit-calc(33.33% - 30px), 1fr))[3];-ms-grid-columns:(minmax(calc(33.33% - 30px), 1fr))[3];grid-template-columns:repeat(3, minmax(-webkit-calc(33.33% - 30px), 1fr));grid-template-columns:repeat(3, minmax(calc(33.33% - 30px), 1fr));grid-column-gap:2rem;grid-row-gap:2rem}}.item-etablissement{display:block}.item-etablissement--inner{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;width:100%;max-width:435px;height:100%;position:relative;margin:auto}.item-etablissement--inner>*{-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1}.item-etablissement--image{position:relative}.item-etablissement--image img{display:block}.item-etablissement--image h2{width:100%;font-size:1.13333rem;position:absolute;bottom:0;left:0;color:#FFF;line-height:1;letter-spacing:0.1em;text-align:center;text-transform:uppercase;margin:0;background:-webkit-gradient(linear, left top, left bottom, from(#ACC36D), to(#6C9A2E));background:linear-gradient(180deg, #ACC36D 0%, #6C9A2E 100%);padding:.66667rem .33333rem;-webkit-transition:opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);transition:opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1)}body.tmpl_ehpad .item-etablissement--image h2{background:-webkit-gradient(linear, left top, left bottom, from(#ACC36D), to(#6C9A2E));background:linear-gradient(180deg, #ACC36D 0%, #6C9A2E 100%)}body.tmpl_residences .item-etablissement--image h2{background:-webkit-gradient(linear, left top, left bottom, from(#A1AF90), to(#7C8A6B));background:linear-gradient(180deg, #A1AF90 0%, #7C8A6B 100%)}body.tmpl_ssr .item-etablissement--image h2{background:-webkit-gradient(linear, left top, left bottom, from(#76B5BA), to(#4E959B));background:linear-gradient(180deg, #76B5BA 0%, #4E959B 100%)}body.tmpl_sport .item-etablissement--image h2{background:-webkit-gradient(linear, left top, left bottom, from(#35B3A7), to(#178C81));background:linear-gradient(180deg, #35B3A7 0%, #178C81 100%)}.item-etablissement--infos{z-index:9;opacity:0;background:-webkit-gradient(linear, left top, left bottom, from(rgba(172,195,109,0.8)), to(rgba(108,154,46,0.8)));background:linear-gradient(180deg, rgba(172,195,109,0.8) 0%, rgba(108,154,46,0.8) 100%);-webkit-transition:opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);transition:opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);visibility:hidden}body.tmpl_ehpad .item-etablissement--infos{background:-webkit-gradient(linear, left top, left bottom, from(rgba(172,195,109,0.8)), to(rgba(108,154,46,0.8)));background:linear-gradient(180deg, rgba(172,195,109,0.8) 0%, rgba(108,154,46,0.8) 100%)}body.tmpl_residences .item-etablissement--infos{background:-webkit-gradient(linear, left top, left bottom, from(rgba(161,175,144,0.8)), to(rgba(124,138,107,0.8)));background:linear-gradient(180deg, rgba(161,175,144,0.8) 0%, rgba(124,138,107,0.8) 100%)}body.tmpl_ssr .item-etablissement--infos{background:-webkit-gradient(linear, left top, left bottom, from(rgba(118,181,186,0.8)), to(rgba(78,149,155,0.8)));background:linear-gradient(180deg, rgba(118,181,186,0.8) 0%, rgba(78,149,155,0.8) 100%)}body.tmpl_sport .item-etablissement--infos{background:-webkit-gradient(linear, left top, left bottom, from(rgba(53,179,167,0.8)), to(rgba(23,140,129,0.8)));background:linear-gradient(180deg, rgba(53,179,167,0.8) 0%, rgba(23,140,129,0.8) 100%)}.item-etablissement--infos--inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;color:#FFF}.item-etablissement--title{font-size:1.2rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:.33333rem}.item-etablissement--title:after{content:'';display:block;width:45px;height:1px;margin:5px auto;background-color:#FFF}.item-etablissement--phone{font-size:1.13333rem;font-weight:700;letter-spacing:0.1em;margin-top:.4rem}.item-etablissement--link{margin-top:1.33333rem}.item-etablissement--link span{display:inline-block;min-width:190px;font-weight:700;line-height:1;letter-spacing:0.1em;text-transform:uppercase;border:1px solid #FFF;-webkit-border-radius:15px;border-radius:15px;background:#FFF;/*!*/padding:.8rem .33333rem .66667rem}body.tmpl_ehpad .item-etablissement--link span{color:#ACC36D}body.tmpl_residences .item-etablissement--link span{color:#A1AF90}body.tmpl_ssr .item-etablissement--link span{color:#76B5BB}body.tmpl_sport .item-etablissement--link span{color:#36B3A8}.item-etablissement:hover .item-etablissement--image h2{opacity:0;visibility:visible}.item-etablissement:hover .item-etablissement--infos{opacity:1;visibility:visible}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFyY2hpdmUtbGlzdGluZy5zY3NzIiwiaGVscGVycy9mdW5jdGlvbnMuc2NzcyIsImhlbHBlcnMvbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmZzL3Njc3Muc2NzcyIsIjxubyBzb3VyY2U+IiwiaGVscGVycy92YXJpYWJsZXMuc2NzcyIsImhlbHBlcnMvZWFzZXMuc2NzcyIsIm5vcy1ldGFibGlzc2VtZW50cy10ZW1wbGF0ZS5zY3NzIiwiY29tcG9uZW50cy9pdGVtLWV0YWJsaXNzZW1lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQyx5QkFDQyxnQkFBYSxDQUFiLFlBQWEsQ0FDYixvQkFBMEIsQ0FBMUIseUJBQTBCLENBQzFCLHVCQ2VrQyxDRGJsQyxJQUFBLENBQUssQ0VvSEwsMENGekhELHlCQU9FLDJEQUErRCxDQUEvRCxtREFBK0QsQ0FBL0Qsc0VBQStELENBQS9ELDhEQUErRCxDQUMvRCwwQkNVaUMsQ0RUakMsaUJDU2lDLENESGxDLENBSEEsMENHMFJNLDBEQWZFLENBZUYsa0RBZjZCLENBbkpqQywyQkh4SEYsMENHaVNNLG1DQWxGNkIsQ0g3TWxDLENBR0Ysd0JBQ0MsZ0JBQWEsQ0FBYixZQUFhLENBQ2IsNEJBQXNDLENBQXRDLHFDQUFzQyxDQUN0QyxvQkFBMEIsQ0FBMUIseUJBQTBCLENBQzFCLGlCQ0hrQyxDREtsQyxJQUFBLENBQUssQ0VrR0wsMENGeEdELHdCQVFFLG1DQUFvQyxDQUNwQywrQkFBZ0MsQ0FBaEMsK0JBQWdDLENBQ2hDLGFDVGlDLENEV2xDLENBTUQsc0JJdENELGVBQUEsa0JKdUNFLEFJdkNGLGVKdUNrQixDQURoQiwwQkFJQyxhQUFjLENBQ2QsVUFBVyxDQUNYLFdBQVksQ0FDWix3Qkk3Q0gsZUFBQSxrQkppREUsQUlqREYsaUJKaURvQixDQUNsQix5QkFBWSxDQUFaLGlCQUFrQixDSWxEcEIsMENKc0NDLHNCSXRDRCxlQUFBLGlCSnVDa0IsQ0FNZix3Qkk3Q0gsZUFBQSxpQkprRG9C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IiwiZmlsZSI6Im5vcy1ldGFibGlzc2VtZW50cy10ZW1wbGF0ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdoZWxwZXJzL2hlbHBlcnMnO1xuXG4uY29uc2VpbHMtbGlzdGluZyB7XG5cdCYtLXBvc3RzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdyaWQtcm93LWdhcDogcmVtKDUwKTtcblxuXHRcdC8qISovXG5cdFx0QGluY2x1ZGUgbXEoJ3dpZHRoLTkwMCcsICdtaW4nKSB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoY2FsYygyMCUgLSAyMHB4KSwgMWZyKSk7XG5cdFx0XHRncmlkLWNvbHVtbi1nYXA6IHJlbSgyMCk7XG5cdFx0XHRncmlkLXJvdy1nYXA6IHJlbSg2MCk7XG5cdFx0fVxuXG5cdFx0LmJsb2MtYWN0dWFsaXRlcyAmIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oNzBweCAhaW1wb3J0YW50KTtcblx0XHR9XG5cdH1cblxuXHQmLS1wb3N0IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaW1hZ2VcIiBcImRldGFpbHNcIjtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRncmlkLXJvdy1nYXA6IHJlbSgxNSk7XG5cblx0XHQvKiEqL1xuXHRcdEBpbmNsdWRlIG1xKCd0YWJsZXQnLCAnbWluJykge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSBkZXRhaWxzXCI7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAwLjhmcjtcblx0XHRcdGdyaWQtZ2FwOiByZW0oMTUpO1xuXHRcdH1cblx0fVxuXG5cdCYtLXBhZ2luYXRpb24ge31cbn1cblxuLmNvbnNlaWxzLXBvc3Qge1xuXHQmLS1pbWFnZSB7XG5cdFx0Z3JpZC1hcmVhOiBpbWFnZTtcblxuXHRcdGltZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCYtLWRldGFpbHMge1xuXHRcdGdyaWQtYXJlYTogZGV0YWlscztcblx0XHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cblx0XHRoMiB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMjJweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4tYm90dG9tKDEycHgpO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjNzO1xuXHRcdH1cblx0fVxuXG5cdCYtLWRlc2Mge1xuXHRcdEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oMTVweCk7XG5cblx0XHRAaW5jbHVkZSBtcSgndGFibGV0LXdpZGUnKSB7XG5cdFx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHR9XG5cdH1cbn1cblxuLmNvbnNlaWxzLWxpc3RpbmctLXBhZ2luYXRpb24udGV4dC1jZW50ZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uYWN0dXMtbGlzdGluZyB7XG5cdCYtLXBvc3RzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdyaWQtcm93LWdhcDogcmVtKDUwKTtcblx0XHRAaW5jbHVkZSBtYXJnaW4tYm90dG9tKDUwcHgpO1xuXG5cdFx0LmJsb2MtYWN0dWFsaXRlcyAmIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oMjVweCk7XG5cdFx0fVxuXG5cdFx0LyohKi9cblx0XHRAaW5jbHVkZSBtcSgndGFibGV0JywgJ21pbicpIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oMTEwcHgpO1xuXHRcdFx0Z2FwOiA4MHB4IDMwcHg7XG5cblx0XHRcdC5ibG9jLWFjdHVhbGl0ZXMgJiB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oNDBweCk7XG5cdFx0XHR9XG5cblx0XHRcdCZbZGF0YS1jb3VudD1cIjFcIl0sXG5cdFx0XHQmW2RhdGEtY291bnQ9XCIyXCJdIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdFx0Pioge1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDMzLjMzJSAtIDMwcHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6bm90KFtkYXRhLWNvdW50PVwiMVwiXSk6bm90KFtkYXRhLWNvdW50PVwiMlwiXSkge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoY2FsYygzMy4zMyUgLSAzMHB4KSwgMWZyKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5hY3R1cy1wb3N0IHtcblx0Ji1pbWFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0aW1nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Ji10ZXh0IHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nLXRvcCgxNXB4KTtcblxuXHRcdGgyIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oMTBweCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdH1cblx0fVxuXG5cdCYtLWluZm9zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxM3B4KTtcblx0XHR0b3A6IDVweDtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKDEwcHggNXB4IDApO1xuXHRcdGxlZnQ6IDVweDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblxuXHRcdC5hY3R1c19lbnRyeV9kYXRlLFxuXHRcdC5hY3R1c19lbnRyeV9jYXRzIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oOHB4KTtcblx0XHR9XG5cdH1cbn1cblxuLmFjdHVzX2VudHJ5X2RhdGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1yaWdodDogcmVtKDUpO1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0oNSk7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0d2lkdGg6IDFweDtcblx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMXB4O1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNDNEM0QzQ7XG5cdH1cbn1cblxuLmFjdHVzX2VudHJ5X2NhdHMge1xuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cblx0XHQrbGkge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbSgxKTtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDUpO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR3aWR0aDogMXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAxcHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNDNEM0QzQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyohKi9cblx0XHRAaW5jbHVkZSBjbGFzcy1vZi1wYXJlbnQoJ2NvbG9yJyk7XG5cblx0XHRzdHJvbmcge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHR9XG5cdH1cbn1cblxuLmFjdHVzLXBvc3QtaG9sZGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRlYXNlO1xuXG5cdCY6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG5cblx0XHQuYWN0dXMtcG9zdC0taW5mb3Mge1xuXHRcdFx0Y29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0XHRcdEBpbmNsdWRlIGNsYXNzLW9mLXBhcmVudCgnYmFja2dyb3VuZC1jb2xvcicpO1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmFjdHVzLXBvc3QtdGV4dCB7XG5cdFx0XHQvKiEqL1xuXHRcdFx0QGluY2x1ZGUgY2xhc3Mtb2YtcGFyZW50KCdjb2xvcicpO1xuXG5cdFx0XHQlaGVhZGluZ3Mge1xuXHRcdFx0XHRAaW5jbHVkZSBjbGFzcy1vZi1wYXJlbnQoJ2NvbG9yJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5hY3R1cy1saXN0aW5nLS1wb3N0cy0tZW1wdHkge1xuXHRjb2xvcjogIzNEM0QzRDtcblx0QGluY2x1ZGUgZm9udC1zaXplKDI1cHgpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdEBpbmNsdWRlIG1hcmdpbi10b3AoMTVweCk7XG59XG5cbi5hY3R1cy1saXN0aW5nLS1wb3N0cy0tZW1wdHkgLmJsb2Mtc2VwYXJhdGV1ciB7XG5cdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbnNlaWxzLXBvc3QtLWRldGFpbHMge1xuXHRhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5LnRtcGxfZWhwYWQgLmNvbnNlaWxzLXBvc3QtLWRldGFpbHMge1xuXHRhOmhvdmVyIGgyIHtcblx0XHRjb2xvcjogJGNvbG9yLWVocGFkO1xuXHR9XG59XG5cbmJvZHkudG1wbF9yZXNpZGVuY2VzIC5jb25zZWlscy1wb3N0LS1kZXRhaWxzIHtcblx0YTpob3ZlciBoMiB7XG5cdFx0Y29sb3I6ICRjb2xvci1yZXM7XG5cdH1cbn1cblxuYm9keS50bXBsX3NzciAuY29uc2VpbHMtcG9zdC0tZGV0YWlscyB7XG5cdGE6aG92ZXIgaDIge1xuXHRcdGNvbG9yOiAkY29sb3Itc3NyO1xuXHR9XG59XG5cbmJvZHkudG1wbF9zcG9ydCAuY29uc2VpbHMtcG9zdC0tZGV0YWlscyB7XG5cdGE6aG92ZXIgaDIge1xuXHRcdGNvbG9yOiAkY29sb3Itc3BvcnQ7XG5cdH1cbn1cblxuLmNvbnNlaWxzLWxpc3RpbmcgLnBhZ2luYXRpb25qcyAucGFnaW5hdGlvbmpzLXBhZ2VzIGxpLmFjdGl2ZT5hIHtcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdEBpbmNsdWRlIGNsYXNzLW9mLWJvZHkoJ2NvbG9yJyk7XG59XG5cbi5jb25zZWlscy1saXN0aW5nLS1wb3N0IHtcblx0d2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7XG5cblx0QGluY2x1ZGUgbXEoJ3RhYmxldC13aWRlJykge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuYmxvYy1hY3R1YWxpdGVzICYgeyBcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uY29uc2VpbHMtbGlzdGluZy0tcG9zdCB7XG5cdG1hcmdpbi1sZWZ0OiAzcmVtO1xuXHRtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4uY29uc2VpbHMtbGlzdGluZyAucGFnaW5hdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnBhZ2luYXRpb25qcyAucGFnaW5hdGlvbmpzLXBhZ2VzIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cblxuLnBhZ2luYXRpb25qcyAucGFnaW5hdGlvbmpzLXBhZ2VzIGxpIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdpbmF0aW9uanMgLnBhZ2luYXRpb25qcy1wYWdlcyB1bCB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmNvbnNlaWxzLWxpc3RpbmcgLnBhZ2luYXRpb25qcy1uZXh0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlci1yYWRpdXM6IDUwcHggIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkyLjQxZGVnLCAjQUNDMzZEIDUlLCAjNTc3N0E2IDEwMCUpICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG5cdGJvZHkudG1wbF9laHBhZCAmIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTIuNDFkZWcsICNBQ0MzNkQgNSUsICM2QzlBMkUgMTAwJSk7XG5cdH1cblxuXHRib2R5LnRtcGxfcmVzaWRlbmNlcyAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItcmVzO1xuXHR9XG5cblx0Ym9keS50bXBsX3NzciAmIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTIuNDFkZWcsICM3NkI1QkEgNSUsICM0RTk1OUIgMTAwJSk7XG5cdH1cblxuXHRib2R5LnRtcGxfc3BvcnQgJiB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkyLjQxZGVnLCAjMzVCM0E3IDUlLCAjMUNBNjk5IDEwMCUpO1xuXHRcdDtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHdpZHRoOiAxOHB4O1xuXHRcdGhlaWdodDogMThweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAzcHg7XG5cdFx0bGVmdDogM3B4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiBzdmctdXJpKCc8c3ZnIHdpZHRoPVwiMjlcIiBoZWlnaHQ9XCIyOVwiIHZpZXdCb3g9XCIwIDAgMjkgMjlcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48Y2lyY2xlIGN4PVwiMTQuMDc5MVwiIGN5PVwiMTQuNjQwMVwiIHI9XCIxNC4wNFwiIGZpbGw9XCJ3aGl0ZVwiLz48cGF0aCBkPVwiTTEyLjI3OTMgOS45NTk5NkwxNy4zMTkzIDE1TDEyLjI3OTMgMjAuMDRcIiBzdHJva2U9XCIjNjc4N0I3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIi8+PC9zdmc+Jyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuXG5cdFx0Ym9keS50bXBsX2VocGFkICYge1xuXHRcdFx0YmFja2dyb3VuZDogc3ZnLXVyaSgnPHN2ZyB3aWR0aD1cIjI5XCIgaGVpZ2h0PVwiMjlcIiB2aWV3Qm94PVwiMCAwIDI5IDI5XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGNpcmNsZSBjeD1cIjE0LjA3OTFcIiBjeT1cIjE0LjY0MDFcIiByPVwiMTQuMDRcIiBmaWxsPVwid2hpdGVcIi8+PHBhdGggZD1cIk0xMi4yNzkzIDkuOTU5OTZMMTcuMzE5MyAxNUwxMi4yNzkzIDIwLjA0XCIgc3Ryb2tlPVwiI0FDQzM2RFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPjwvc3ZnPicpO1xuXHRcdH1cblxuXHRcdGJvZHkudG1wbF9yZXNpZGVuY2VzICYge1xuXHRcdFx0YmFja2dyb3VuZDogc3ZnLXVyaSgnPHN2ZyB3aWR0aD1cIjI5XCIgaGVpZ2h0PVwiMjlcIiB2aWV3Qm94PVwiMCAwIDI5IDI5XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGNpcmNsZSBjeD1cIjE0LjA3OTFcIiBjeT1cIjE0LjY0MDFcIiByPVwiMTQuMDRcIiBmaWxsPVwid2hpdGVcIi8+PHBhdGggZD1cIk0xMi4yNzkzIDkuOTU5OTZMMTcuMzE5MyAxNUwxMi4yNzkzIDIwLjA0XCIgc3Ryb2tlPVwiI0ExQUY5MFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPjwvc3ZnPicpO1xuXHRcdH1cblxuXHRcdGJvZHkudG1wbF9zc3IgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBzdmctdXJpKCc8c3ZnIHdpZHRoPVwiMjlcIiBoZWlnaHQ9XCIyOVwiIHZpZXdCb3g9XCIwIDAgMjkgMjlcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48Y2lyY2xlIGN4PVwiMTQuMDc5MVwiIGN5PVwiMTQuNjQwMVwiIHI9XCIxNC4wNFwiIGZpbGw9XCJ3aGl0ZVwiLz48cGF0aCBkPVwiTTEyLjI3OTMgOS45NTk5NkwxNy4zMTkzIDE1TDEyLjI3OTMgMjAuMDRcIiBzdHJva2U9XCIjNzZCNUJCXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIi8+PC9zdmc+Jyk7XG5cdFx0fVxuXG5cdFx0Ym9keS50bXBsX3Nwb3J0ICYge1xuXHRcdFx0YmFja2dyb3VuZDogc3ZnLXVyaSgnPHN2ZyB3aWR0aD1cIjI5XCIgaGVpZ2h0PVwiMjlcIiB2aWV3Qm94PVwiMCAwIDI5IDI5XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGNpcmNsZSBjeD1cIjE0LjA3OTFcIiBjeT1cIjE0LjY0MDFcIiByPVwiMTQuMDRcIiBmaWxsPVwid2hpdGVcIi8+PHBhdGggZD1cIk0xMi4yNzkzIDkuOTU5OTZMMTcuMzE5MyAxNUwxMi4yNzkzIDIwLjA0XCIgc3Ryb2tlPVwiIzM2QjNBOFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPjwvc3ZnPicpO1xuXHRcdH1cblx0fVxuXG5cdCYuYW5nbGUtbGVmdCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luLXJpZ2h0KDI1cHgpO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRsZWZ0OiAzcHg7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblx0fVxuXG5cdCYuYW5nbGUtcmlnaHQge1xuXHRcdEBpbmNsdWRlIG1hcmdpbi1sZWZ0KDI1cHgpO1xuXHR9XG5cblx0Ji1ncmlkIHtcblx0XHRzdmcge1xuXHRcdFx0cGF0aCB7XG5cdFx0XHRcdC8qISovXG5cdFx0XHRcdEBpbmNsdWRlIGNsYXNzLW9mLWJvZHkoJ2ZpbGwnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5wYWdpbmF0aW9uanMtcHJldiAge1xuXHRkaXNwbGF5OiBub25lO1xufSIsIkBmdW5jdGlvbiB6KCRuYW1lKSB7XG4gIEBpZiBpbmRleCgkei1pbmRleGVzLCAkbmFtZSkge1xuXHRAcmV0dXJuICgobGVuZ3RoKCR6LWluZGV4ZXMpICsgOTk5KSAtIGluZGV4KCR6LWluZGV4ZXMsICRuYW1lKSkgKyAxO1xuICB9IEBlbHNlIHtcblx0QHdhcm4gJ1RoZXJlIGlzIG5vIGl0ZW0gXCIjeyRuYW1lfVwiIGluIHRoaXMgbGlzdDsgY2hvb3NlIG9uZSBvZjogI3skei1pbmRleGVzfSc7XG5cdEByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuXHRAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgfVxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbkBmdW5jdGlvbiBlbSgkcGl4ZWwsICRjb250ZXh0OiAkYnJvd3Nlci1jb250ZXh0KSB7XG4gIEByZXR1cm4gKCRwaXhlbCAvICRjb250ZXh0KSAqIDFlbTtcbn1cblxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWwsICRjb250ZXh0OiAkYnJvd3Nlci1jb250ZXh0KSB7XG4gIEByZXR1cm4gKCRwaXhlbCAvICRjb250ZXh0KSAqIDFyZW07XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQbGFpbiBTQVNTIFRyaWdvbm9tZXRyeSBBbGdvcml0aG0gaW4gVGF5bG9yIEV4cGFuc2lvbiAvL1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vIEJhc2VkIG9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgIGh0dHA6Ly9qYXBib3JzdC5uZXQvcG9zdHMvc2Fzcy1zaW5lcy1hbmQtY29zaW5lcyAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJHBpOiAzLjE0MTU5MjY1MzU5O1xuJF9wcmVjaXNpb246IDEwO1xuXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwKSB7XG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwID4gMSB7XG5cdEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cCB7XG5cdCAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcblx0fVxuICB9XG4gIEBpZiAkZXhwIDwgMSB7XG5cdEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHAge1xuXHQgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG5cdH1cbiAgfVxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xuICAkZmFjdDogMTtcbiAgQGlmICRudW0gPiAwIHtcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbnVtIHtcblx0ICAkZmFjdDogJGZhY3QgKiAkaTtcblx0fVxuICB9XG4gIEByZXR1cm4gJGZhY3Q7XG59XG5cbkBmdW5jdGlvbiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSkge1xuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xuXHQkYW5nbGU6ICRhbmdsZSAvIDE4MGRlZyAqICRwaTtcbiAgfVxuICBAaWYgdW5pdCgkYW5nbGUpID09IFwicmFkXCIge1xuXHQkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XG4gIH1cbiAgQHJldHVybiAkYW5nbGU7XG59XG5cbkBmdW5jdGlvbiBzaW4oJGFuZ2xlKSB7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRzaW46ICRhO1xuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcblx0JHNpbjogJHNpbiArIChwb3coLTEsICRuKSAvIGZhY3QoMiAqICRuICsgMSkgKSAqIHBvdygkYSwgKDIgKiAkbiArIDEpKTtcbiAgfVxuICBAcmV0dXJuICRzaW47XG59XG5cbkBmdW5jdGlvbiBjb3MoJGFuZ2xlKSB7XG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XG4gICRjb3M6IDE7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xuXHQkY29zOiAkY29zICsgKCBwb3coLTEsJG4pIC8gZmFjdCgyKiRuKSApICogcG93KCRhLDIqJG4pO1xuICB9XG4gIEByZXR1cm4gJGNvcztcbn1cblxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpIHtcbiAgQHJldHVybiBzaW4oJGFuZ2xlKSAvIGNvcygkYW5nbGUpO1xufVxuXG4vLy8vXG4vLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGVhc2lseSB1c2UgYW4gU1ZHIGlubGluZSBpbiBDU1Ncbi8vLyB3aXRob3V0IGVuY29kaW5nIGl0IHRvIGJhc2U2NCwgc2F2aW5nIGJ5dGVzLlxuLy8vIEl0IGFsc28gaGVscHMgd2l0aCBicm93c2VyIHN1cHBvcnQuXG4vLy8vXG5cbi8vLyBBIHNtYWxsIGZ1bmN0aW9uIGFsbG93aW5nIHNraXBwaW5nIGJhc2U2NCBlbmNvZGluZ1xuLy8vIGFuZCBzaW1wbHkgcGFzdGluZyB0aGUgU1ZHIG1hcmt1cCByaWdodCBpbiB0aGUgQ1NTLlxuLy8vIEBhdXRob3IgSmFrb2IgRXJpa3NlblxuLy8vIEBsaW5rIGh0dHA6Ly9jb2RlcGVuLmlvL2pha29iLWUvcGVuL2RvTW9NTFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3ZnIC0gU1ZHIGltYWdlIHRvIGVuY29kZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBFbmNvZGVkIFNWRyBkYXRhIHVyaVxuQGZ1bmN0aW9uIHN2Zy11cmkoJHN2Zykge1xuICAkZW5jb2RlZDogJyc7XG4gICRzbGljZTogMjAwMDtcbiAgJGluZGV4OiAwO1xuICAkbG9vcHM6IGNlaWwoc3RyLWxlbmd0aCgkc3ZnKSAvICRzbGljZSk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbG9vcHMge1xuXHQkY2h1bms6IHN0ci1zbGljZSgkc3ZnLCAkaW5kZXgsICRpbmRleCArICRzbGljZSAtIDEpO1xuXHQkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywgJ1wiJywgXCInXCIpO1xuXHQkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywgJzwnLCAnJTNDJyk7XG5cdCRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCAnPicsICclM0UnKTtcblx0JGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssICcmJywgJyUyNicpO1xuXHQkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywgJyMnLCAnJTIzJyk7XG5cdCRlbmNvZGVkOiAjeyRlbmNvZGVkfSN7JGNodW5rfTtcblx0JGluZGV4OiAkaW5kZXggKyAkc2xpY2U7XG4gIH1cblxuICBAcmV0dXJuIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsI3skZW5jb2RlZH1cIik7XG59XG5cbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGxpbmsgaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0LzFiNGYyZGE1NTI3ODMwMDg4ZTRkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcblx0QHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4iLCJAbWl4aW4gZm9udC1mYWNlKCRmb250LW5hbWUsICRmaWxlLW5hbWUsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwpIHtcbiAgQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBxdW90ZSgkZm9udC1uYW1lKTtcblx0c3JjOiB1cmwoJGZpbGUtbmFtZSArICcub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuXHRzcmM6IHVybCgkZmlsZS1uYW1lICsgJy5lb3QnKTtcblx0c3JjOiB1cmwoJGZpbGUtbmFtZSArICcuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcblx0dXJsKCRmaWxlLW5hbWUgKyAnLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0dXJsKCRmaWxlLW5hbWUgKyAnLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcblx0dXJsKCRmaWxlLW5hbWUgKyAnLnN2ZyMjeyRmb250LW5hbWV9JykgZm9ybWF0KCdzdmcnKTtcblx0Zm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cdGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgfVxufVxuXG5AbWl4aW4gZGVmYXVsdC1saW5rKCkge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZSwgYm9yZGVyLWJvdHRvbS1jb2xvciAuM3MgZWFzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2MzYzNjM7XG5cbiAgJjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIH1cbn1cblxuQG1peGluIGN1cnNvcigpIHtcbiAgYm9keS50bXBsX2VocGFkICYge1xuXHRjdXJzb3I6IHN2Zy11cmkoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgMzkgMzlcIiBmaWxsPVwibm9uZVwiPiA8Y2lyY2xlIHI9XCIxOS41XCIgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDE5LjUgMTkuNSlcIiBmaWxsPVwidXJsKCM1ZTVlYjQyZi1hODIwLTRiMTEtODk1Yy03ZmU3OWIxY2VjNjgpXCI+PC9jaXJjbGU+IDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xOC4xODM2IDEyLjk5OTlDMTguMTgzNiAxMi40NDc2IDE4LjYzMTMgMTEuOTk5OSAxOS4xODM2IDExLjk5OTlDMTkuNzM1OSAxMS45OTk5IDIwLjE4MzYgMTIuNDQ3NiAyMC4xODM2IDEyLjk5OTlWMTguODE4TDI2IDE4LjgxOEMyNi41NTIzIDE4LjgxOCAyNyAxOS4yNjU3IDI3IDE5LjgxOEMyNyAyMC4zNzAzIDI2LjU1MjMgMjAuODE4IDI2IDIwLjgxOEgyMC4xODM2VjI1Ljk5OTlDMjAuMTgzNiAyNi41NTIyIDE5LjczNTkgMjYuOTk5OSAxOS4xODM2IDI2Ljk5OTlDMTguNjMxMyAyNi45OTk5IDE4LjE4MzYgMjYuNTUyMiAxOC4xODM2IDI1Ljk5OTlWMjAuODE4SDEzQzEyLjQ0NzcgMjAuODE4IDEyIDIwLjM3MDMgMTIgMTkuODE4QzEyIDE5LjI2NTcgMTIuNDQ3NyAxOC44MTggMTMgMTguODE4TDE4LjE4MzYgMTguODE4VjEyLjk5OTlaXCIgZmlsbD1cIndoaXRlXCI+PC9wYXRoPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPVwiNWU1ZWI0MmYtYTgyMC00YjExLTg5NWMtN2ZlNzliMWNlYzY4XCIgeDE9XCIxLjgzMzMzXCIgeTE9XCI0LjY4XCIgeDI9XCI0MC4zNzg0XCIgeTI9XCI2LjMwNTA3XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+IDxzdG9wIHN0b3AtY29sb3I9XCIjQUNDMzZEXCI+PC9zdG9wPiA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM2QzlBMkVcIj48L3N0b3A+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPC9zdmc+JykgMjAgMjAsIGF1dG87XG4gIH1cblxuICBib2R5LnRtcGxfc3BvcnQgJiB7XG5cdGN1cnNvcjogc3ZnLXVyaSgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCAzOSAzOVwiIGZpbGw9XCJub25lXCI+IDxjaXJjbGUgcj1cIjE5LjVcIiB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgMTkuNSAxOS41KVwiIGZpbGw9XCJ1cmwoIzVlNWViNDJmLWE4MjAtNGIxMS04OTVjLTdmZTc5YjFjZWM2OClcIj48L2NpcmNsZT4gPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE4LjE4MzYgMTIuOTk5OUMxOC4xODM2IDEyLjQ0NzYgMTguNjMxMyAxMS45OTk5IDE5LjE4MzYgMTEuOTk5OUMxOS43MzU5IDExLjk5OTkgMjAuMTgzNiAxMi40NDc2IDIwLjE4MzYgMTIuOTk5OVYxOC44MThMMjYgMTguODE4QzI2LjU1MjMgMTguODE4IDI3IDE5LjI2NTcgMjcgMTkuODE4QzI3IDIwLjM3MDMgMjYuNTUyMyAyMC44MTggMjYgMjAuODE4SDIwLjE4MzZWMjUuOTk5OUMyMC4xODM2IDI2LjU1MjIgMTkuNzM1OSAyNi45OTk5IDE5LjE4MzYgMjYuOTk5OUMxOC42MzEzIDI2Ljk5OTkgMTguMTgzNiAyNi41NTIyIDE4LjE4MzYgMjUuOTk5OVYyMC44MThIMTNDMTIuNDQ3NyAyMC44MTggMTIgMjAuMzcwMyAxMiAxOS44MThDMTIgMTkuMjY1NyAxMi40NDc3IDE4LjgxOCAxMyAxOC44MThMMTguMTgzNiAxOC44MThWMTIuOTk5OVpcIiBmaWxsPVwid2hpdGVcIj48L3BhdGg+IDxkZWZzPiA8bGluZWFyR3JhZGllbnQgaWQ9XCI1ZTVlYjQyZi1hODIwLTRiMTEtODk1Yy03ZmU3OWIxY2VjNjhcIiB4MT1cIjEuODMzMzNcIiB5MT1cIjQuNjhcIiB4Mj1cIjQwLjM3ODRcIiB5Mj1cIjYuMzA1MDdcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj4gPHN0b3Agc3RvcC1jb2xvcj1cIiMzNUIzQTdcIj48L3N0b3A+IDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzE3OEM4MVwiPjwvc3RvcD4gPC9saW5lYXJHcmFkaWVudD4gPC9kZWZzPiA8L3N2Zz4nKSAyMCAyMCwgYXV0bztcbiAgfVxuXG4gIGJvZHkudG1wbF9yZXNpZGVuY2VzICYge1xuXHRjdXJzb3I6IHN2Zy11cmkoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgMzkgMzlcIiBmaWxsPVwibm9uZVwiPiA8Y2lyY2xlIHI9XCIxOS41XCIgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDE5LjUgMTkuNSlcIiBmaWxsPVwidXJsKCM1ZTVlYjQyZi1hODIwLTRiMTEtODk1Yy03ZmU3OWIxY2VjNjgpXCI+PC9jaXJjbGU+IDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xOC4xODM2IDEyLjk5OTlDMTguMTgzNiAxMi40NDc2IDE4LjYzMTMgMTEuOTk5OSAxOS4xODM2IDExLjk5OTlDMTkuNzM1OSAxMS45OTk5IDIwLjE4MzYgMTIuNDQ3NiAyMC4xODM2IDEyLjk5OTlWMTguODE4TDI2IDE4LjgxOEMyNi41NTIzIDE4LjgxOCAyNyAxOS4yNjU3IDI3IDE5LjgxOEMyNyAyMC4zNzAzIDI2LjU1MjMgMjAuODE4IDI2IDIwLjgxOEgyMC4xODM2VjI1Ljk5OTlDMjAuMTgzNiAyNi41NTIyIDE5LjczNTkgMjYuOTk5OSAxOS4xODM2IDI2Ljk5OTlDMTguNjMxMyAyNi45OTk5IDE4LjE4MzYgMjYuNTUyMiAxOC4xODM2IDI1Ljk5OTlWMjAuODE4SDEzQzEyLjQ0NzcgMjAuODE4IDEyIDIwLjM3MDMgMTIgMTkuODE4QzEyIDE5LjI2NTcgMTIuNDQ3NyAxOC44MTggMTMgMTguODE4TDE4LjE4MzYgMTguODE4VjEyLjk5OTlaXCIgZmlsbD1cIndoaXRlXCI+PC9wYXRoPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPVwiNWU1ZWI0MmYtYTgyMC00YjExLTg5NWMtN2ZlNzliMWNlYzY4XCIgeDE9XCIxLjgzMzMzXCIgeTE9XCI0LjY4XCIgeDI9XCI0MC4zNzg0XCIgeTI9XCI2LjMwNTA3XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+IDxzdG9wIHN0b3AtY29sb3I9XCIjQTFBRjkwXCI+PC9zdG9wPiA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM3QzhBNkJcIj48L3N0b3A+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPC9zdmc+JykgMjAgMjAsIGF1dG87XG4gIH1cblxuICBib2R5LnRtcGxfc3NyICYge1xuXHRjdXJzb3I6IHN2Zy11cmkoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgMzkgMzlcIiBmaWxsPVwibm9uZVwiPiA8Y2lyY2xlIHI9XCIxOS41XCIgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDE5LjUgMTkuNSlcIiBmaWxsPVwidXJsKCM1ZTVlYjQyZi1hODIwLTRiMTEtODk1Yy03ZmU3OWIxY2VjNjgpXCI+PC9jaXJjbGU+IDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xOC4xODM2IDEyLjk5OTlDMTguMTgzNiAxMi40NDc2IDE4LjYzMTMgMTEuOTk5OSAxOS4xODM2IDExLjk5OTlDMTkuNzM1OSAxMS45OTk5IDIwLjE4MzYgMTIuNDQ3NiAyMC4xODM2IDEyLjk5OTlWMTguODE4TDI2IDE4LjgxOEMyNi41NTIzIDE4LjgxOCAyNyAxOS4yNjU3IDI3IDE5LjgxOEMyNyAyMC4zNzAzIDI2LjU1MjMgMjAuODE4IDI2IDIwLjgxOEgyMC4xODM2VjI1Ljk5OTlDMjAuMTgzNiAyNi41NTIyIDE5LjczNTkgMjYuOTk5OSAxOS4xODM2IDI2Ljk5OTlDMTguNjMxMyAyNi45OTk5IDE4LjE4MzYgMjYuNTUyMiAxOC4xODM2IDI1Ljk5OTlWMjAuODE4SDEzQzEyLjQ0NzcgMjAuODE4IDEyIDIwLjM3MDMgMTIgMTkuODE4QzEyIDE5LjI2NTcgMTIuNDQ3NyAxOC44MTggMTMgMTguODE4TDE4LjE4MzYgMTguODE4VjEyLjk5OTlaXCIgZmlsbD1cIndoaXRlXCI+PC9wYXRoPiA8ZGVmcz4gPGxpbmVhckdyYWRpZW50IGlkPVwiNWU1ZWI0MmYtYTgyMC00YjExLTg5NWMtN2ZlNzliMWNlYzY4XCIgeDE9XCIxLjgzMzMzXCIgeTE9XCI0LjY4XCIgeDI9XCI0MC4zNzg0XCIgeTI9XCI2LjMwNTA3XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+IDxzdG9wIHN0b3AtY29sb3I9XCIjNzZCNUJBXCI+PC9zdG9wPiA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM0RTk1OUJcIj48L3N0b3A+IDwvbGluZWFyR3JhZGllbnQ+IDwvZGVmcz4gPC9zdmc+JykgMjAgMjAsIGF1dG87XG4gIH1cbn1cblxuQG1peGluIGFkbWluLXN0aWNreS1maXgoICRvZmZzZXQ6IDAgKSB7XG4gICRuYXJyb3ctb2Zmc2V0OiA0NnB4O1xuICAkd2lkZS1vZmZzZXQ6IDMycHg7XG4gIEBpZiAkb2Zmc2V0ICE9IDAgYW5kIHR5cGUtb2YoJG9mZnNldCkgPT0gJ251bWJlcicge1xuXHQkbmFycm93LW9mZnNldDogJG5hcnJvdy1vZmZzZXQgKyAkb2Zmc2V0O1xuXHQkd2lkZS1vZmZzZXQ6ICR3aWRlLW9mZnNldCArICRvZmZzZXQ7XG4gIH1cbiAgLmFkbWluLWJhciAmIHtcblx0dG9wOiAkbmFycm93LW9mZnNldDtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzgzcHgpIHtcblx0ICB0b3A6ICR3aWRlLW9mZnNldDtcblx0fVxuICB9XG59XG5cbkBtaXhpbiBsaW5lLWhlaWdodCgkcHMtZm9udC1zaXplLCAkcHMtbGluZS1oZWlnaHQ6IDApIHtcbiAgQGlmICRwcy1saW5lLWhlaWdodCA9PSAwIHtcblx0bGluZS1oZWlnaHQ6IDEuMjtcbiAgfSBAZWxzZSB7XG5cdGxpbmUtaGVpZ2h0OiAoJHBzLWxpbmUtaGVpZ2h0IC8gJHBzLWZvbnQtc2l6ZSk7XG4gIH1cbn1cblxuQG1peGluIGxldHRlci1zcGFjaW5nKCRwcy1sZXR0ZXItc3BhY2luZykge1xuICBsZXR0ZXItc3BhY2luZzogKCRwcy1sZXR0ZXItc3BhY2luZyAvIDEwMDApICsgZW07XG59XG5cbkBtaXhpbiBzY2FsZS1oZWFkaW5nKCRiYXNlLWZvbnQtc2l6ZSwgJGhlYWRpbmctc2NhbGUpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcblx0aCN7JGl9IHtcblx0ICBmb250LXNpemU6IHJlbSgkYmFzZS1mb250LXNpemUgKyAkaGVhZGluZy1zY2FsZSAqICg2IC0gJGkpKTtcblx0fVxuICB9XG59XG5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoJGNvbG9yLCAkZGlyZWN0aW9uLCAkc2l6ZTogNnB4LCAkcG9zaXRpb246IGFic29sdXRlLCAkcm91bmQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHBzZXVkbygkcG9zOiAkcG9zaXRpb24pO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBAaWYgJHJvdW5kIHtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuICB9XG4gIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuXHRib3JkZXItbGVmdDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci10b3A6ICRzaXplIHNvbGlkICRjb2xvcjtcblx0bWFyZ2luLXRvcDogMCAtIHJvdW5kKCAkc2l6ZSAvIDIuNSApO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuXHRib3JkZXItbGVmdDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcblx0bWFyZ2luLWJvdHRvbTogMCAtIHJvdW5kKCAkc2l6ZSAvIDIuNSApO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuXHRib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XG5cdG1hcmdpbi1yaWdodDogLSRzaXplO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG5cdGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XG5cdG1hcmdpbi1sZWZ0OiAtJHNpemU7XG4gIH1cbn1cblxuQG1peGluIGhlYWRpbmdzIHtcbiAgaDEsIGgyLCBoMyxcbiAgaDQsIGg1LCBoNiB7XG5cdEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtcSgkd2lkdGgsICR0eXBlOiBtYXgpIHtcbiAgQGlmIG1hcF9oYXNfa2V5KCRicmVha3BvaW50cywgJHdpZHRoKSB7XG5cdCR3aWR0aDogbWFwX2dldCgkYnJlYWtwb2ludHMsICR3aWR0aCk7XG4gIH0gQGVsc2Uge1xuXHQkd2lkdGg6ICR3aWR0aCAqIDFweDtcbiAgfVxuICBAaWYgJHR5cGUgPT0gbWF4IHtcblx0JHdpZHRoOiAkd2lkdGggLSAxcHg7XG4gIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoI3skdHlwZX0td2lkdGg6ICR3aWR0aCkge1xuXHRAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGhvdG9zaG9wLWxldHRlcigkZm9udC1zaXplLCAkbGV0dGVyLXNwYWNpbmctcHNkLCAkbGluZS1oZWlnaHQtcHNkOiAwLCAkaW1wb3J0YW50OiAwKSB7XG4gIEBpZiAkaW1wb3J0YW50ID09IDEge1xuXHRmb250LXNpemU6ICRmb250LXNpemUgKiAxcHggIWltcG9ydGFudDtcblx0bGV0dGVyLXNwYWNpbmc6ICgoJGxldHRlci1zcGFjaW5nLXBzZCAqICRmb250LXNpemUpIC8gMTAwMCkgKiAxcHggIWltcG9ydGFudDtcblx0QGlmICRsaW5lLWhlaWdodC1wc2QgPT0gMCB7XG5cdCAgbGluZS1oZWlnaHQ6ICgoMTIwICogJGZvbnQtc2l6ZSkgLyAxMDApICogMXB4ICFpbXBvcnRhbnQ7XG5cdH0gQGVsc2Uge1xuXHQgIGxpbmUtaGVpZ2h0OiAkZm9udC1zaXplICsgKCRsaW5lLWhlaWdodC1wc2QgLyAyKSAqIDFweCAhaW1wb3J0YW50O1xuXHR9XG4gIH0gQGVsc2Uge1xuXHRmb250LXNpemU6ICRmb250LXNpemUgKiAxcHg7XG5cdGxldHRlci1zcGFjaW5nOiAoKCRsZXR0ZXItc3BhY2luZy1wc2QgKiAkZm9udC1zaXplKSAvIDEwMDApICogMXB4O1xuXHRAaWYgJGxpbmUtaGVpZ2h0LXBzZCA9PSAwIHtcblx0ICBsaW5lLWhlaWdodDogKCgxMjAgKiAkZm9udC1zaXplKSAvIDEwMCkgKiAxcHg7XG5cdH0gQGVsc2Uge1xuXHQgIGxpbmUtaGVpZ2h0OiAkZm9udC1zaXplICsgKCRsaW5lLWhlaWdodC1wc2QgLyAyKSAqIDFweDtcblx0fVxuICB9XG59XG5cbi8qKlxuICBDT05WRVJUIFBIT1RPU0hPUCBCT1ggU0hBRE9XIFRPIENTU1xuICovXG5AbWl4aW4gcGhvdG9zaG9wLWJveC1zaGFkb3coJG9wYWNpdHksICRhbmdsZSwgJGRpc3RhbmNlLCAkc3ByZWFkLCAkc2l6ZSwgJHJlZDogMCwgJGdyZWVuOiAwLCAkYmx1ZTogMCwgJG1vcmVfYm94X3NoYWRvdzogMCkge1xuICAkY3NzT3BhY2l0eTogJG9wYWNpdHkgLyAxMDA7IC8vIGNvbnZlcnQgb3BhY2l0eSB0byBudW1iZXJcbiAgJGFuZzogKDE4MCAtICRhbmdsZSkgKiAzLjE0IC8gMTgwOyAvLyBjb252ZXJ0IHRvIHJhZGlhbnNcblxuICAkb2Zmc2V0WTogcm91bmQoc2luKCRhbmcpICogJGRpc3RhbmNlKTsgLy8gVmVydGljYWwgc2hhZG93XG4gICRvZmZzZXRYOiByb3VuZChjb3MoJGFuZykgKiAkZGlzdGFuY2UpOyAvLyBIb3Jpem9udGFsIHNoYWRvd1xuXG4gICRzcHJlYWRSYWQ6ICRzaXplICogJHNwcmVhZC8xMDA7IC8vIFNwcmVhZCByYWRpdXNcbiAgJGJsdXJSYWQ6ICRzaXplIC0gJHNwcmVhZFJhZDsgLy8gQmx1ciByYWRpdXNcblxuICBAaWYgJG1vcmVfYm94X3NoYWRvdyA9PSAwIHtcblx0Ym94LXNoYWRvdzogI3skb2Zmc2V0WH1weCAjeyRvZmZzZXRZfXB4ICN7JGJsdXJSYWR9cHggI3skc3ByZWFkUmFkfXB4IHJnYmEoJHJlZCwgJGdyZWVuLCAkYmx1ZSwgJGNzc09wYWNpdHkpO1xuICB9IEBlbHNlIHtcblx0Ym94LXNoYWRvdzogI3skb2Zmc2V0WH1weCAjeyRvZmZzZXRZfXB4ICN7JGJsdXJSYWR9cHggI3skc3ByZWFkUmFkfXB4IHJnYmEoJHJlZCwgJGdyZWVuLCAkYmx1ZSwgJGNzc09wYWNpdHkpLCAkbW9yZV9ib3hfc2hhZG93O1xuICB9XG59XG5cbi8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzL1xuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcblx0JG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG5cbkBmdW5jdGlvbiBoZXhUb1JHQigkaGV4KSB7XG4gIEByZXR1cm4gcmVkKCRoZXgpLCBncmVlbigkaGV4KSwgYmx1ZSgkaGV4KTtcbn1cblxuQG1peGluIGdlbmVyYXRlQ29sb3JzKCRjb2xvcnMpIHtcbiAgLy8gQ29sb3JzLCBSR0IgQ29sb3JzXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuXHRAaWYgc3RyLXNsaWNlKCN7JHZhbHVlfSwgMSwgMSkgPT0gXCIjXCIge1xuXHQgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG5cdCAgLS1SR0JfI3skY29sb3J9OiAje2hleFRvUkdCKCR2YWx1ZSl9O1xuXHR9IEBlbHNlIHtcblx0ICAtLSN7JGNvbG9yfTogdmFyKC0tI3skdmFsdWV9KTtcblx0ICAtLVJHQl8jeyRjb2xvcn06IHZhcigtLVJHQl8jeyR2YWx1ZX0pO1xuXHR9XG4gIH1cbn1cblxuQG1peGluIGxpbmVhckdyYWRpZW50Q29sb3JzKCkge1xuICBib2R5LnRtcGxfZWhwYWQgJiB7XG5cdGJhY2tncm91bmQ6ICNBQ0MzNkQ7XG4gIH1cblxuICBib2R5LnRtcGxfcmVzaWRlbmNlcyAmIHtcblx0YmFja2dyb3VuZDogI0ExQUY5MDtcbiAgfVxuXG4gIGJvZHkudG1wbF9zc3IgJiB7XG5cdGJhY2tncm91bmQ6ICM3NkI1QkE7XG4gIH1cblxuICBib2R5LnRtcGxfc3BvcnQgJiB7XG5cdGJhY2tncm91bmQ6ICMzNUIzQTc7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKiBNaXhpbiBwb3VyIGfDqW7DqXJlciBsZXMgY2xhc3MgcG91ciBsZXMgYXV0cmVzIGVudGl0w6lzICoqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWl4aW4gY2xhc3Mtb2YtYm9keSgkYXR0cmlidXRlLCAkYXR0cmlidXRlMjogbnVsbCkge1xuICBib2R5LnRtcGxfZWhwYWQgJiB7XG5cdCN7JGF0dHJpYnV0ZX06ICRjb2xvci1laHBhZDtcblx0QGlmICRhdHRyaWJ1dGUyICE9IG51bGwge1xuXHQgICN7JGF0dHJpYnV0ZTJ9OiAkY29sb3ItZWhwYWQ7XG5cdH1cbiAgfVxuICBib2R5LnRtcGxfcmVzaWRlbmNlcyAmIHtcblx0I3skYXR0cmlidXRlfTogJGNvbG9yLXJlcztcblx0QGlmICRhdHRyaWJ1dGUyICE9IG51bGwge1xuXHQgICN7JGF0dHJpYnV0ZTJ9OiAkY29sb3ItcmVzO1xuXHR9XG4gIH1cbiAgYm9keS50bXBsX3NzciAmIHtcblx0I3skYXR0cmlidXRlfTogJGNvbG9yLXNzcjtcblx0QGlmICRhdHRyaWJ1dGUyICE9IG51bGwge1xuXHQgICN7JGF0dHJpYnV0ZTJ9OiAkY29sb3Itc3NyO1xuXHR9XG4gIH1cbiAgYm9keS50bXBsX3Nwb3J0ICYge1xuXHQjeyRhdHRyaWJ1dGV9OiAkY29sb3Itc3BvcnQ7XG5cdEBpZiAkYXR0cmlidXRlMiAhPSBudWxsIHtcblx0ICAjeyRhdHRyaWJ1dGUyfTogJGNvbG9yLXNwb3J0O1xuXHR9XG4gIH1cbn1cblxuQG1peGluIGNsYXNzLW9mLXBhcmVudCgkYXR0cmlidXRlLCAkYXR0cmlidXRlMjogbnVsbCkge1xuICBib2R5IC50bXBsX2VocGFkICYge1xuXHQjeyRhdHRyaWJ1dGV9OiAkY29sb3ItZWhwYWQ7XG5cdEBpZiAkYXR0cmlidXRlMiAhPSBudWxsIHtcblx0ICAjeyRhdHRyaWJ1dGUyfTogJGNvbG9yLWVocGFkO1xuXHR9XG4gIH1cbiAgYm9keSAudG1wbF9yZXNpZGVuY2VzICYge1xuXHQjeyRhdHRyaWJ1dGV9OiAkY29sb3ItcmVzO1xuXHRAaWYgJGF0dHJpYnV0ZTIgIT0gbnVsbCB7XG5cdCAgI3skYXR0cmlidXRlMn06ICRjb2xvci1yZXM7XG5cdH1cbiAgfVxuICBib2R5IC50bXBsX3NzciAmIHtcblx0I3skYXR0cmlidXRlfTogJGNvbG9yLXNzcjtcblx0QGlmICRhdHRyaWJ1dGUyICE9IG51bGwge1xuXHQgICN7JGF0dHJpYnV0ZTJ9OiAkY29sb3Itc3NyO1xuXHR9XG4gIH1cbiAgYm9keSAudG1wbF9zcG9ydCAmIHtcblx0I3skYXR0cmlidXRlfTogJGNvbG9yLXNwb3J0O1xuXHRAaWYgJGF0dHJpYnV0ZTIgIT0gbnVsbCB7XG5cdCAgI3skYXR0cmlidXRlMn06ICRjb2xvci1zcG9ydDtcblx0fVxuICB9XG59XG5cbkBtaXhpbiBjbGFzcy1vZi1wYXJlbnQtZWxlbWVudCgkYXR0cmlidXRlLCAkYXR0cmlidXRlMjogbnVsbCkge1xuICAmLnRtcGxfZWhwYWQge1xuXHQjeyRhdHRyaWJ1dGV9OiAkY29sb3ItZWhwYWQ7XG5cdEBpZiAkYXR0cmlidXRlMiAhPSBudWxsIHtcblx0ICAjeyRhdHRyaWJ1dGUyfTogJGNvbG9yLWVocGFkO1xuXHR9XG4gIH1cbiAgJi50bXBsX3Jlc2lkZW5jZXMge1xuXHQjeyRhdHRyaWJ1dGV9OiAkY29sb3ItcmVzO1xuXHRAaWYgJGF0dHJpYnV0ZTIgIT0gbnVsbCB7XG5cdCAgI3skYXR0cmlidXRlMn06ICRjb2xvci1yZXM7XG5cdH1cbiAgfVxuICAmLnRtcGxfc3NyIHtcblx0I3skYXR0cmlidXRlfTogJGNvbG9yLXNzcjtcblx0QGlmICRhdHRyaWJ1dGUyICE9IG51bGwge1xuXHQgICN7JGF0dHJpYnV0ZTJ9OiAkY29sb3Itc3NyO1xuXHR9XG4gIH1cbiAgJi50bXBsX3Nwb3J0IHtcblx0I3skYXR0cmlidXRlfTogJGNvbG9yLXNwb3J0O1xuXHRAaWYgJGF0dHJpYnV0ZTIgIT0gbnVsbCB7XG5cdCAgI3skYXR0cmlidXRlMn06ICRjb2xvci1zcG9ydDtcblx0fVxuICB9XG59XG5cbkBtaXhpbiBzdWItbWVudS1jb2xvcigpIHtcbiAgLnRtcGxfZWhwYWQge1xuXHQudWJlcm1lbnUtc3VibWVudSB7XG5cdCAgPiAudWJlcm1lbnUtaXRlbS10eXBlLWNvbHVtbiB7XG5cdFx0PiAudWJlcm1lbnUtc3VibWVudS10eXBlLXN0YWNrIHtcblx0XHQgID4gLnViZXJtZW51LWl0ZW0tbGV2ZWwtMiB7XG5cdFx0XHQ+IGEge1xuXHRcdFx0ICBjb2xvcjogJGNvbG9yLWVocGFkO1xuXG5cdFx0XHQgICY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLXRleHQ7XG5cdFx0XHQgIH1cblx0XHRcdH1cblx0XHQgIH1cblx0XHR9XG5cblx0XHQudWJlcm1lbnUtc3VibWVudS10eXBlLWF1dG8ge1xuXHRcdCAgYSB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdCAgY29sb3I6ICRjb2xvci1laHBhZDtcblx0XHRcdH1cblx0XHQgIH1cblx0XHR9XG5cdCAgfVxuXHR9XG4gIH1cblxuICAudG1wbF9yZXNpZGVuY2VzIHtcblx0LnViZXJtZW51LXN1Ym1lbnUge1xuXHQgID4gLnViZXJtZW51LWl0ZW0tdHlwZS1jb2x1bW4ge1xuXHRcdD4gLnViZXJtZW51LXN1Ym1lbnUtdHlwZS1zdGFjayB7XG5cdFx0ICA+IC51YmVybWVudS1pdGVtLWxldmVsLTIge1xuXHRcdFx0PiBhIHtcblx0XHRcdCAgY29sb3I6ICRjb2xvci1yZXM7XG5cblx0XHRcdCAgJjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcblx0XHRcdCAgfVxuXHRcdFx0fVxuXHRcdCAgfVxuXHRcdH1cblxuXHRcdC51YmVybWVudS1zdWJtZW51LXR5cGUtYXV0byB7XG5cdFx0ICBhIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0ICBjb2xvcjogJGNvbG9yLXJlcztcblx0XHRcdH1cblx0XHQgIH1cblx0XHR9XG5cdCAgfVxuXHR9XG4gIH1cblxuICAudG1wbF9zc3Ige1xuXHQudWJlcm1lbnUtc3VibWVudSB7XG5cdCAgPiAudWJlcm1lbnUtaXRlbS10eXBlLWNvbHVtbiB7XG5cdFx0PiAudWJlcm1lbnUtc3VibWVudS10eXBlLXN0YWNrIHtcblx0XHQgID4gLnViZXJtZW51LWl0ZW0tbGV2ZWwtMiB7XG5cdFx0XHQ+IGEge1xuXHRcdFx0ICBjb2xvcjogJGNvbG9yLXNzcjtcblxuXHRcdFx0ICAmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xvci10ZXh0O1xuXHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0ICB9XG5cdFx0fVxuXG5cdFx0LnViZXJtZW51LXN1Ym1lbnUtdHlwZS1hdXRvIHtcblx0XHQgIGEge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHQgIGNvbG9yOiAkY29sb3Itc3NyO1xuXHRcdFx0fVxuXHRcdCAgfVxuXHRcdH1cblx0ICB9XG5cdH1cbiAgfVxuXG4gIC50bXBsX3Nwb3J0IHtcblx0LnViZXJtZW51LXN1Ym1lbnUge1xuXHQgID4gLnViZXJtZW51LWl0ZW0tdHlwZS1jb2x1bW4ge1xuXHRcdD4gLnViZXJtZW51LXN1Ym1lbnUtdHlwZS1zdGFjayB7XG5cdFx0ICA+IC51YmVybWVudS1pdGVtLWxldmVsLTIge1xuXHRcdFx0PiBhIHtcblx0XHRcdCAgY29sb3I6ICRjb2xvci1zcG9ydDtcblxuXHRcdFx0ICAmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xvci10ZXh0O1xuXHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0ICB9XG5cdFx0fVxuXG5cdFx0LnViZXJtZW51LXN1Ym1lbnUtdHlwZS1hdXRvIHtcblx0XHQgIGEge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHQgIGNvbG9yOiAkY29sb3Itc3BvcnQ7XG5cdFx0XHR9XG5cdFx0ICB9XG5cdFx0fVxuXHQgIH1cblx0fVxuICB9XG5cbn1cbkBtaXhpbiBsaXN0LWFkdmFuY2VkLXN0eWxlKCkge1xuICBsaSB7XG5cdHBhZGRpbmctbGVmdDogcmVtKDI1KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXG5cdCY6YmVmb3JlIHtcblx0ICBjb250ZW50OiAnJztcblx0ICB3aWR0aDogMTZweDtcblx0ICBoZWlnaHQ6IDE1LjQycHg7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIHRvcDogNHB4O1xuXHQgIGxlZnQ6IDA7XG5cdCAgYm9yZGVyLXJhZGl1czogMDtcblx0ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9waWN0by1nZW5lcmFsLnN2ZycpO1xuXHQgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdCAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuXHQgIGJvZHkudG1wbF9nZW5lcmFsICYge1xuXHRcdGhlaWdodDogMTZweDtcblx0ICB9XG5cblx0ICBib2R5LnRtcGxfZWhwYWQgJiB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvcGljdG8tZWhwYWQuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ICB9XG5cblx0ICBib2R5LnRtcGxfcmVzaWRlbmNlcyAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9waWN0by1yZXNpZGVuY2VzLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdCAgfVxuXG5cdCAgYm9keS50bXBsX3NzciAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9waWN0by1zc3Iuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ICB9XG5cblx0ICBib2R5LnRtcGxfc3BvcnQgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGljdG8tc3BvcnQuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ICB9XG5cblx0ICAudHh0LWNvbG9yLXdoaXRlICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BpY3RvLWJ1bGxldC13aGl0ZS5zdmcnKSAhaW1wb3J0YW50O1xuXHQgIH1cblx0fVxuICB9XG59XG5cbkBtaXhpbiBuZXctcHJvZ3Jlc3MtcGFnaW5hdGlvbigkbWFyZ2luVG9wOiAyMHB4LCAkZm9udFNpemU6IDlweCwgJHNob3dOYXZpZ2F0aW9uOiAxMTAwKSB7XG5cdG1hcmdpbi10b3A6ICRtYXJnaW5Ub3A7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTRweDtcblxuXHQmLmludmlzaWJsZS1uYXZpZ2F0aW9ucyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdEBpbmNsdWRlIG1xKCRzaG93TmF2aWdhdGlvbiwnbWluJykge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRidXR0b24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdCZfX2NvdW50ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiA0LjE4cHg7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZW5kO1xuXHRcdGp1c3RpZnktY29udGVudDogcmlnaHQ7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdGJvZHkudG1wbF9laHBhZCAmIHtcblx0XHRcdGJhY2tncm91bmQ6ICNBQ0MzNkQ7XG5cdFx0fVxuXG5cdFx0Ym9keS50bXBsX3Jlc2lkZW5jZXMgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjQTFBRjkwO1xuXHRcdH1cblxuXHRcdGJvZHkudG1wbF9zc3IgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjNzZCNUJCO1xuXHRcdH1cblxuXHRcdGJvZHkudG1wbF9zcG9ydCAmIHtcblx0XHRcdGJhY2tncm91bmQ6ICMzNkIzQTg7XG5cdFx0fVxuXHRcdFxuXHRcdC5wcm9ncmVzcy1iYXJfX3Byb2dyZXNzIHtcblx0XHRcdGZpbGw6IG5vbmU7XG5cdFx0XHRzdHJva2U6ICNGMkYyRjI7XG5cdFx0XHRzdHJva2UtZGFzaGFycmF5OiAxMDAgMTAwO1xuXHRcdFx0c3Ryb2tlLWRhc2hvZmZzZXQ6IDEwMDtcblx0XHRcdHN0cm9rZS1saW5lY2FwOiByb3VuZDtcblx0XHRcdHN0cm9rZS13aWR0aDogMC44O1xuXHRcdFx0dHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMC41cyBlYXNlLWluLW91dDtcblx0XHR9XG5cdFxuXHRcdC5wcm9ncmVzcy1iYXJfX2JhY2tncm91bmQge1xuXHRcdFx0ZmlsbDogbm9uZTtcblx0XHRcdHN0cm9rZTogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjMpO1xuXHRcdFx0c3Ryb2tlLXdpZHRoOiAwLjg7XG5cdFx0fVxuXHRcblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6IDUxLjYzMnB4O1xuXHRcdFx0aGVpZ2h0OiA1MS42MzJweDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY291bnRlcl9fbnVtYmVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdGNvbG9yOiAjRkZGO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6ICRmb250U2l6ZTtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHR9XG59IiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYWluL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIGRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZS1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJHZhbHVlLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyBjYWxjKCcgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgJyAtICcsICcgKyAnKSArICR2YXJpYWJsZS13aWR0aCArICcpJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWRWYWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWRWYWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZFZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZFZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIixudWxsLCIkYnJvd3Nlci1jb250ZXh0OiAxNTtcbiRyZnMtcmVtLXZhbHVlOiAkYnJvd3Nlci1jb250ZXh0O1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT0xPUlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogQmFzZSBjb2xvcnMgKi9cbiRjb2xvci1wcmltYXJ5OiAjNjc4N0I3O1xuJGNvbG9yLWVocGFkOiAjQUNDMzZEO1xuJGNvbG9yLXJlczogI0ExQUY5MDtcbiRjb2xvci1zc3I6ICM3NkI1QkI7XG4kY29sb3Itc3BvcnQ6ICMzNkIzQTg7XG4kY29sb3ItdGV4dDogIzYzNjM2MztcbiRjb2xvci1oZWFkaW5nczogIzNEM0QzRDtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTEFZT1VUXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjb250YWluZXItd2lkdGg6IDEzOTBweDtcbiRndXR0ZXI6IDE1cHg7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRZUE9HUkFQSFlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogRGVmYXVsdCBmb250cyAqL1xuJGZvbnQtc2VyaWY6IEdlb3JnaWEsIHNlcmlmO1xuJGZvbnQtc2Fucy1zZXJpZjogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiRmb250LW1vbm9zcGFjZTogQ291cmllciwgbW9ub3NwYWNlO1xuJGZvbnQtY3Vyc2l2ZTogY3Vyc2l2ZTtcblxuLyogQXBwIGZvbnRzICovXG4kZm9udC1wcmltYXJ5OiAnYWt0aXYtZ3JvdGVzaycsICRmb250LXNhbnMtc2VyaWY7XG4kZm9udC1ib2xkOiAnQWt0aXZHcm90ZXNrLWJvbGQnLCAkZm9udC1zYW5zLXNlcmlmO1xuJGZvbnQtYmxhY2s6ICdBa3Rpdkdyb3Rlc2stYmxhY2snLCAkZm9udC1zYW5zLXNlcmlmO1xuXG4vKiBGb250IHdlaWdodHMgKi9cbiR0aGluOiB2YXIoLS1mb250V2VpZ2h0VGhpbik7XG4kbGlnaHQ6IHZhcigtLWZvbnRXZWlnaHRMaWdodCk7XG4kcmVndWxhcjogdmFyKC0tZm9udFdlaWdodFJlZ3VsYXIpO1xuJG1lZGl1bTogdmFyKC0tZm9udFdlaWdodE1lZGl1bSk7XG4kc2VtaS1ib2xkOiB2YXIoLS1mb250V2VpZ2h0U2VtaUJvbGQpO1xuJGJvbGQ6IHZhcigtLWZvbnRXZWlnaHRCb2xkKTtcbiRleHRyYS1ib2xkOiB2YXIoLS1mb250V2VpZ2h0RXh0cmFCb2xkKTtcbiRibGFjazogdmFyKC0tZm9udFdlaWdodEJsYWNrKTtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQlJFQUtQT0lOVFNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG5cdFx0XCJwaG9uZVwiOiA0MDBweCxcblx0XHRcInBob25lLXdpZGVcIjogNDgwcHgsXG5cdFx0XCJwaGFibGV0XCI6IDU2MHB4LFxuXHRcdFwidGFibGV0LXNtYWxsXCI6IDY0MHB4LFxuXHRcdFwidGFibGV0XCI6IDc2OHB4LFxuXHRcdFwid2lkdGgtOTAwXCI6IDkwMHB4LFxuXHRcdFwid2lkdGgtMTAwMFwiOiAxMDAwcHgsXG5cdFx0XCJ0YWJsZXQtd2lkZVwiOiAxMDI0cHgsXG5cdFx0XCJ3aWR0aC0xMTAwXCI6IDExMDBweCxcblx0XHRcImRlc2t0b3BcIjogMTI0OHB4LFxuXHRcdFwiZGVza3RvcC13aWRlXCI6IDE0NDBweCxcbik7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFogSU5ERVhFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kei1pbmRleGVzOiAoXG5cdFx0J21vZGFsLXBvcHVwJyxcblx0XHQnaGVhZGVyJyxcblx0XHQnbWVudS1vdmVybGF5Jyxcblx0XHQnZG9jdG9saWItd2lkZ2V0Jyxcblx0XHQnd2lkZ2V0LWZvb3Rlci1tb2JpbGUnLFxuXHRcdCd3aWRnZXQtaW5jcmVhc2UtZGVjcmVhc2UtZm9udCcsXG5cdFx0J2ZhbmN5Ym94LWNvbnRhaW5lcicsXG5cdFx0J2JhY2stdG8tdG9wJ1xuKTtcbiIsIiRsaW5lYXI6IGN1YmljLWJlemllcigwLjI1MCwgMC4yNTAsIDAuNzUwLCAwLjc1MCk7XG4kZWFzZTogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjEwMCwgMC4yNTAsIDEuMDAwKTtcbiRlYXNlSW46IGN1YmljLWJlemllcigwLjc1MCwgMC4wMDAsIDAuMjUwLCAxLjAwMCk7XG4kZWFzZU91dDogY3ViaWMtYmV6aWVyKDAuMDAwLCAwLjAwMCwgMC41ODAsIDEuMDAwKTtcbiRlYXNlSW5PdXQ6IGN1YmljLWJlemllcigwLjQyMCwgMC4wMDAsIDAuNTgwLCAxLjAwMCk7XG5cbiRlYXNlSW5RdWFkOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2VJbkN1YmljOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2VJblF1YXJ0OiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2VJblF1aW50OiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2VJblNpbmU6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZUluRXhwbzogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlSW5DaXJjOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2VJbkJhY2s6IGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZU91dFF1YWQ6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZU91dEN1YmljOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2VPdXRRdWFydDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlT3V0UXVpbnQ6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZU91dFNpbmU6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZU91dEV4cG86IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZU91dENpcmM6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZU91dEJhY2s6IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlSW5PdXRRdWFkOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2VJbk91dEN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2VJbk91dFNpbmU6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZUluT3V0RXhwbzogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlSW5PdXRDaXJjOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2VJbk91dEJhY2s6IGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApOyIsIkBpbXBvcnQgJ2hlbHBlcnMvaGVscGVycyc7XG5cbkBpbXBvcnQgJ2FyY2hpdmUtbGlzdGluZyc7XG5cbi5ibG9jLWxpc3RlLWV0YWJsaXNzZW1lbnQge1xuICAmLS1jaGFwbyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcbiAgfVxufVxuXG5AaW1wb3J0ICdjb21wb25lbnRzL2l0ZW0tZXRhYmxpc3NlbWVudCc7IiwiLmV0YWJsaXNzZW1lbnQtbGlzdGluZyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXJvdy1nYXA6IHJlbSgzMCk7XG4gIEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oMTAwcHgpO1xuICAvKiEqL1xuICBAaW5jbHVkZSBtcSgndGFibGV0JywgJ21pbicpIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KGNhbGMoMzMuMzMlIC0gMzBweCksIDFmcikpO1xuXHRncmlkLWNvbHVtbi1nYXA6IHJlbSgzMCk7XG5cdGdyaWQtcm93LWdhcDogcmVtKDMwKTtcbiAgfVxufVxuXG4uaXRlbS1ldGFibGlzc2VtZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJi0taW5uZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogNDM1cHg7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IGF1dG87XG5cblx0PiAqIHtcblx0ICBncmlkLWNvbHVtbjogMTtcblx0ICBncmlkLXJvdzogMTtcblx0fVxuICB9XG5cbiAgJi0taW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0aW1nIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdGgyIHtcblx0ICB3aWR0aDogMTAwJTtcblx0ICBAaW5jbHVkZSBmb250LXNpemUoMTdweCk7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIGJvdHRvbTogMDtcblx0ICBsZWZ0OiAwO1xuXHQgIGNvbG9yOiAjRkZGO1xuXHQgIGxpbmUtaGVpZ2h0OiAxO1xuXHQgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdCAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0ICBtYXJnaW46IDA7XG5cdCAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0FDQzM2RCAwJSwgIzZDOUEyRSAxMDAlKTtcblx0ICBAaW5jbHVkZSBwYWRkaW5nKDEwcHggNXB4KTtcblx0ICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgJGVhc2U7XG5cblx0ICBib2R5LnRtcGxfZWhwYWQgJiB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0FDQzM2RCAwJSwgIzZDOUEyRSAxMDAlKTtcblx0ICB9XG5cblx0ICBib2R5LnRtcGxfcmVzaWRlbmNlcyAmIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjQTFBRjkwIDAlLCAjN0M4QTZCIDEwMCUpO1xuXHQgIH1cblxuXHQgIGJvZHkudG1wbF9zc3IgJiB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzc2QjVCQSAwJSwgIzRFOTU5QiAxMDAlKTtcblx0ICB9XG5cblx0ICBib2R5LnRtcGxfc3BvcnQgJiB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzM1QjNBNyAwJSwgIzE3OEM4MSAxMDAlKTtcblx0ICB9XG5cdH1cbiAgfVxuXG4gICYtLWluZm9zIHtcblx0ei1pbmRleDogOTtcblx0b3BhY2l0eTogMDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNzIsIDE5NSwgMTA5LCAwLjgpIDAlLCByZ2JhKDEwOCwgMTU0LCA0NiwgMC44KSAxMDAlKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzICRlYXNlO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0Ym9keS50bXBsX2VocGFkICYge1xuXHQgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMTcyLCAxOTUsIDEwOSwgMC44KSAwJSwgcmdiYSgxMDgsIDE1NCwgNDYsIDAuOCkgMTAwJSk7XG5cdH1cblxuXHRib2R5LnRtcGxfcmVzaWRlbmNlcyAmIHtcblx0ICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDE2MSwgMTc1LCAxNDQsIDAuOCkgMCUsIHJnYmEoMTI0LCAxMzgsIDEwNywgMC44KSAxMDAlKTtcblx0fVxuXG5cdGJvZHkudG1wbF9zc3IgJiB7XG5cdCAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxMTgsIDE4MSwgMTg2LCAwLjgpIDAlLCByZ2JhKDc4LCAxNDksIDE1NSwgMC44KSAxMDAlKTtcblx0fVxuXG5cdGJvZHkudG1wbF9zcG9ydCAmIHtcblx0ICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDUzLCAxNzksIDE2NywgMC44KSAwJSwgcmdiYSgyMywgMTQwLCAxMjksIDAuOCkgMTAwJSk7XG5cdH1cblxuXHQmLS1pbm5lciB7XG5cdCAgZGlzcGxheTogZmxleDtcblx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHQgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdCAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdCAgaGVpZ2h0OiAxMDAlO1xuXHQgIGNvbG9yOiAjRkZGO1xuXHR9XG4gIH1cblxuICAmLS10aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcblx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRAaW5jbHVkZSBtYXJnaW4tYm90dG9tKDVweCk7XG5cblx0JjphZnRlciB7XG5cdCAgY29udGVudDogJyc7XG5cdCAgZGlzcGxheTogYmxvY2s7XG5cdCAgd2lkdGg6IDQ1cHg7XG5cdCAgaGVpZ2h0OiAxcHg7XG5cdCAgbWFyZ2luOiA1cHggYXV0bztcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHR9XG4gIH1cblxuICAmLS1waG9uZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxN3B4KTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRAaW5jbHVkZSBtYXJnaW4tdG9wKDZweCk7XG4gIH1cblxuICAmLS1saW5rIHtcblx0QGluY2x1ZGUgbWFyZ2luLXRvcCgyMHB4KTtcblxuXHRzcGFuIHtcblx0ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCAgbWluLXdpZHRoOiAxOTBweDtcblx0ICBmb250LXdlaWdodDogNzAwO1xuXHQgIGxpbmUtaGVpZ2h0OiAxO1xuXHQgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblx0ICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHQgIGJvcmRlcjogMXB4IHNvbGlkICNGRkY7XG5cdCAgYm9yZGVyLXJhZGl1czogMTVweDtcblx0ICBiYWNrZ3JvdW5kOiAjRkZGO1xuXHQgIC8qISovXG5cdCAgQGluY2x1ZGUgcGFkZGluZygxMnB4IDVweCAxMHB4KTtcblx0ICBAaW5jbHVkZSBjbGFzcy1vZi1ib2R5KCdjb2xvcicpO1xuXHR9XG4gIH1cblxuICAmOmhvdmVyIHtcblx0Lml0ZW0tZXRhYmxpc3NlbWVudC0taW1hZ2UgaDIge1xuXHQgIG9wYWNpdHk6IDA7XG5cdCAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXG5cdC5pdGVtLWV0YWJsaXNzZW1lbnQtLWluZm9zIHtcblx0ICBvcGFjaXR5OiAxO1xuXHQgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbiAgfVxufSJdfQ== */
