.block--capabilities-V2{background:#f7f6ff;overflow:hidden;padding:48px 1rem 108px;position:relative}@media (min-width:992px){.block--capabilities-V2{padding-bottom:140px;padding-top:80px}}.block--capabilities-V2__inner{margin:0 auto;max-width:1228px;position:relative;z-index:2}.block--capabilities-V2__shape{height:28rem;opacity:.5;pointer-events:none;position:absolute;right:calc(-23rem + 185px);top:-1rem;width:32rem;will-change:transform;z-index:1}.block--capabilities-V2__shape svg{display:block;height:100%;width:100%}@media (max-width:1440px){.block--capabilities-V2__shape{right:calc(-23rem - 520.6px + 49vw)}}.block--capabilities-V2__lines{bottom:0;height:60px;max-width:100%;opacity:.2;overflow:hidden;pointer-events:none;position:absolute;right:calc(-4rem + max(0px, 50% - 720px));width:750px;z-index:0}.block--capabilities-V2__lines img{display:block;height:auto;width:100%}@media (max-width:767px){.block--capabilities-V2__lines{display:none}}.block--capabilities-V2__heading{color:#23004b;font-family:Avenir LT Pro Bold,sans-serif;font-size:2.1875rem;line-height:1.15;margin:0 0 2rem;text-align:center}@media (min-width:768px){.block--capabilities-V2__heading{font-size:2.8125rem;margin-bottom:2.5rem}}.block--capabilities-V2__tabs{display:none}@media (min-width:768px){.block--capabilities-V2__tabs{display:flex;gap:0;margin-bottom:1rem}}.block--capabilities-V2__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#23004b;cursor:pointer;flex:1 1 0;font-family:Avenir LT Pro Bold,sans-serif;font-size:1.75rem;line-height:1.1;opacity:.4;padding:12px 0;position:relative;text-align:left;transition:opacity .2s ease}@media (min-width:768px){.block--capabilities-V2__tab{padding-left:35px;padding-right:35px}}.block--capabilities-V2__tab.is-active{background-color:#e2dfff;border-radius:8px;opacity:1}.block--capabilities-V2__tabs-mobile{margin-bottom:1rem;position:relative;z-index:3}@media (min-width:768px){.block--capabilities-V2__tabs-mobile{display:none}}.block--capabilities-V2__tabs-mobile-trigger{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2dfff;border:0;border-radius:8px;color:#23004b;cursor:pointer;display:flex;font-family:Avenir LT Pro Bold,sans-serif;font-size:1.375rem;justify-content:space-between;padding:.5rem 1rem;width:100%}.block--capabilities-V2__tabs-mobile-trigger[aria-expanded=true] .block--capabilities-V2__tabs-mobile-chevron{transform:rotate(180deg)}.block--capabilities-V2__tabs-mobile-chevron{height:7px;transition:transform .2s ease;width:14px}.block--capabilities-V2__tabs-mobile-list{background:#fff;border:1px solid rgba(65,50,155,.2);border-radius:4px;left:0;list-style:none;margin:0;padding:.5rem 0;position:absolute;right:0;top:100%;z-index:2}.block--capabilities-V2__tabs-mobile-list button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#23004b;cursor:pointer;font-family:Avenir LT Pro Bold,sans-serif;padding:.5rem 1rem;text-align:left;width:100%}.block--capabilities-V2__stage{border-radius:8px;height:300px;isolation:isolate;margin-bottom:1.5rem;overflow:hidden;position:relative}@media (min-width:768px){.block--capabilities-V2__stage{aspect-ratio:16/7;border-radius:0 0 8px 8px;height:auto}}.block--capabilities-V2__slide{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s ease;z-index:2}.block--capabilities-V2__slide.is-active{opacity:1;pointer-events:auto}.block--capabilities-V2__media-layer{inset:0;position:absolute;z-index:0}.block--capabilities-V2__media{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;opacity:0;position:absolute;transition:opacity .4s ease;width:100%}.block--capabilities-V2__media.is-active{opacity:1}.block--capabilities-V2__autoplay-toggle{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(65,50,155,.5);border:0;border-radius:50%;bottom:1rem;color:#fff;cursor:pointer;display:inline-flex;height:40px;justify-content:center;position:absolute;right:1rem;transition:background-color .2s ease,transform .15s ease;width:40px;z-index:4}.block--capabilities-V2__autoplay-toggle:hover{background:rgba(65,50,155,.7)}.block--capabilities-V2__autoplay-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.block--capabilities-V2__autoplay-toggle:active{transform:scale(.95)}.block--capabilities-V2__autoplay-ring{height:100%;inset:0;position:absolute;width:100%}.block--capabilities-V2__autoplay-ring-track{fill:none;stroke:hsla(0,0%,100%,.3);stroke-width:2}.block--capabilities-V2__autoplay-ring-progress{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:50% 50%}.block--capabilities-V2__autoplay-icon-pause,.block--capabilities-V2__autoplay-icon-play{fill:currentColor;height:14px;position:relative;width:14px;z-index:1}.block--capabilities-V2__overlay{background:linear-gradient(180deg,hsla(0,0%,100%,0) 55%,rgba(35,0,75,.85) 90%,#23004b);display:block;inset:0;pointer-events:none;position:absolute;z-index:1}.block--capabilities-V2__slide-description{bottom:1.5rem;color:#fff;font-family:Avenir LT Pro Medium,sans-serif;font-size:1.25rem;left:1rem;line-height:1.2;margin:0;position:absolute;right:3.5rem;z-index:2}@media (min-width:768px){.block--capabilities-V2__slide-description{bottom:2rem;font-size:1.75rem;left:2.5rem;max-width:26rem;right:auto}}.block--capabilities-V2__sub-nav{padding-top:1rem;position:relative}@media (min-width:768px){.block--capabilities-V2__sub-nav{padding-left:34px;padding-right:34px}}.block--capabilities-V2__progress{background:#828ce1;height:5px;left:0;overflow:hidden;position:absolute;right:0;top:0}.block--capabilities-V2__progress[hidden]{display:none}.block--capabilities-V2__progress-fill{background:#23004b;cursor:grab;height:100%;left:0;position:absolute;top:0;width:0}.block--capabilities-V2__progress-fill.is-dragging{cursor:grabbing}.block--capabilities-V2__sub-items{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:1.25rem;list-style:none;margin:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0;scroll-snap-type:x proximity;scrollbar-width:none;width:100%}.block--capabilities-V2__sub-items::-webkit-scrollbar{display:none}@media (min-width:768px){.block--capabilities-V2__sub-items{gap:17px;scroll-snap-type:none}.block--capabilities-V2__sub-items.is-scrollable{cursor:grab}.block--capabilities-V2__sub-items.is-scrollable.is-dragging{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}}.block--capabilities-V2__sub-item{align-items:flex-start;display:flex;flex:0 0 calc(50% - 0.625rem);flex-direction:column;gap:.75rem;min-width:0;opacity:.2;scroll-snap-align:start;transition:opacity .2s ease}.block--capabilities-V2__sub-item.is-active{opacity:1}@media (min-width:768px){.block--capabilities-V2__sub-item{flex:1 0 12rem;min-width:12rem}}.block--capabilities-V2__sub-item-title{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#23004b;cursor:pointer;font-family:Avenir LT Pro Bold,sans-serif;font-size:1.25rem;line-height:1.3;padding:0;text-align:left}.block--capabilities-V2__sub-item-link,.block--capabilities-V2__sub-item-link:focus,.block--capabilities-V2__sub-item-link:hover,.block--capabilities-V2__sub-item-link:link,.block--capabilities-V2__sub-item-link:visited{align-items:center;color:#23004b;display:inline-flex;font-family:Avenir LT Pro Medium,sans-serif;font-size:1rem;pointer-events:none;text-decoration:none;visibility:hidden}.block--capabilities-V2__sub-item-link svg{display:inline-block;height:.5rem;margin-left:.25rem;vertical-align:middle;width:1.75rem}.block--capabilities-V2__sub-item.is-active .block--capabilities-V2__sub-item-link{pointer-events:auto;visibility:visible}.block--capabilities-V2__cta-wrap{display:flex;justify-content:center;margin-top:2rem}.block--capabilities-V2__cta{background:#ffbe00;border-radius:3px;color:#23004b;display:none;font-family:Avenir LT Pro Medium,sans-serif;font-size:1.125rem;font-weight:500;line-height:1;padding:.9rem 2rem;text-align:center;text-decoration:none;width:100%}.block--capabilities-V2__cta.is-active{display:inline-block}@media (min-width:768px){.block--capabilities-V2__cta{min-width:13rem;width:auto}}.block--capabilities-V2 .block--capabilities-V2__cta,.block--capabilities-V2 .block--capabilities-V2__cta:focus,.block--capabilities-V2 .block--capabilities-V2__cta:hover,.block--capabilities-V2 .block--capabilities-V2__cta:link,.block--capabilities-V2 .block--capabilities-V2__cta:visited{color:#23004b}@media (prefers-reduced-motion:reduce){.block--capabilities-V2__media,.block--capabilities-V2__slide,.block--capabilities-V2__sub-item,.block--capabilities-V2__tab,.block--capabilities-V2__tabs-mobile-chevron{transition:none}}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzL2NhcGFiaWxpdGllcy1WMi9kaXN0L3N0eWxlLm1pbi5jc3MiLCJtYXBwaW5ncyI6IkFBS0Esd0JBVUMsa0JDTFksQ0RIWixnQkFPQSx3QkFSQSxpQkFFRCxDRXVESSx5QkYxREosd0JBYUUscUJHd0NDLGdCSDlDRCxDQUNGLENBV0MsK0JBSUMsY0FEQSxpQkFGQSxrQkFDQSxTQUZGLENBWUMsK0JBS0MsYUFFQSxXQUNBLG9CQVBBLGtCQUVBLDJCQURBLFVBRUEsWUFLQSxzQkFIQSxTQVBGLENBWUUsbUNBQ0MsY0FFQSxZQURBLFVBVEgsQ0FlRSwwQkFuQkQsK0JBb0JFLG1DQVpELENBQ0YsQ0FrQkMsK0JBU0MsU0FHQSxZQURBLGVBSUEsV0FGQSxnQkFHQSxvQkFmQSxrQkFPQSwwQ0FFQSxZQUlBLFNBcEJGLENBd0JFLG1DQUNDLGNBRUEsWUFEQSxVQXJCSCxDQXlCRSx5QkF4QkQsK0JBeUJFLFlBdEJELENBQ0YsQ0E0QkMsaUNBR0MsYUMvRmEsQ0Q2RmIseUNDL0JZLENEa0NaLG9CQUNBLGlCQUNBLGdCQUpBLGlCQXRCRixDRVpJLHlCRmdDSCxpQ0FTRSxvQkFDQSxvQkF6QkQsQ0FDRixDQStCQyw4QkFDQyxZQTdCRixDRXJCSSx5QkZpREgsOEJBSUUsYUFDQSxNQUNBLGtCQTVCRCxDQUNGLENBK0JDLDZCQUVDLDZEQUNBLHVCQUNBLFNBTUEsYUNqSWEsQ0RtSWIsZUFYQSxXQU1BLHlDQ2hFWSxDRGlFWixrQkFDQSxnQkFFQSxXQU5BLGVBUUEsa0JBUEEsZ0JBUUEsMkJBN0JGLENFNUNJLHlCRjJESCw2QkFpQkUsa0JBQ0Esa0JBNUJELENBQ0YsQ0E4QkUsdUNBRUMseUJBQ0Esa0JBRkEsU0ExQkgsQ0FtQ0MscUNBS0MsbUJBSkEsa0JBR0EsU0FsQ0YsQ0U1REkseUJGMEZILHFDQVFFLFlBbENELENBQ0YsQ0FxQ0MsNkNBRUMsbUJBR0EsNkRBQ0EsbUJBQ0EsU0FDQSxrQkFJQSxhQzlLYSxDRCtLYixlQVpBLGFBU0EseUNDOUdZLENEK0daLG1CQVJB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QSwyQ0NuZVcsQ0RvZVgsbUJBQ0EsZ0JBQ0EsY0FQQSxtQkFVQSxrQkFQQSxxQkFNQSxVQTlHRixDQWlIRSx1Q0FDQyxvQkEvR0gsQ0U3WEkseUJGNmRILDZCQW9CRSxnQkFEQSxVQTlHRCxDQUNGLENBdUhDLGtTQUtDLGFBekhGLENBK0hDLHVDQUNDLDBLQUtDLGVBaklELENBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3dlYm1lY2hhbml4Ly4vYmxvY2tzL2NhcGFiaWxpdGllcy1WMi9zcmMvX2NhcGFiaWxpdGllcy1WMi5zY3NzIiwid2VicGFjazovL3dlYm1lY2hhbml4Ly4vc3JjL3Njc3MvY3VzdG9tL19icmFuZGluZy5zY3NzIiwid2VicGFjazovL3dlYm1lY2hhbml4Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly93ZWJtZWNoYW5peC8uL3NyYy9zY3NzL2N1c3RvbS9wYXJ0aWFscy9faG91c2UtbWl4aW5zLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vLi4vc3JjL3Njc3MvYmFyZS1icy1uZWNlc3NpdGllcyc7XG5cbi8vIE1vYmlsZS1maXJzdDogYmFzZSBzdHlsZXMgdGFyZ2V0IHRoZSBzbWFsbGVzdCB2aWV3cG9ydC5cbi8vIFVzZSBgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyDigKYgfWAgLyBgdXAobGcpIHsg4oCmIH1gIHRvIGxheWVyIG9uIGxhcmdlciBicmVha3BvaW50cy5cbi8vIEF2b2lkIGBtZWRpYS1icmVha3BvaW50LWRvd24oKWAgdW5sZXNzIHlvdSBnZW51aW5lbHkgbmVlZCB0byBvdmVycmlkZSBzb21ldGhpbmcgb25seSBvbiBzbWFsbCBzY3JlZW5zLlxuLmJsb2NrLS1jYXBhYmlsaXRpZXMtVjIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8vIGNsaXAgZGVjb3JhdGl2ZSBzaGFwZXMgdGhhdCBleHRlbmQgb2ZmIHRoZSByaWdodCBlZGdlXG5cdC8vIEhvcml6b250YWwgaW5zZXQgc3RheXMgb24gdGhlIHJvb3QgaGVyZSAodGhpcyBibG9jayBoYXMgbm8gMTQ0MCBpbm5lciB3cmFwcGVyXG5cdC8vIGNhcnJ5aW5nIGl0KS4gVmVydGljYWwgdGFrZXMgdGhlIHNoYXJlZCB0b2tlbiBvbiB0b3A7IHRoZSBib3R0b20gaXMgdGhlIHRva2VuXG5cdC8vIHBsdXMgYSA2MHB4IHJlc2VydmUgc28gY29udGVudCBjbGVhcnMgdGhlIGxpbmUgZGVjb3JhdGlvbiBwaW5uZWQgdG8gdGhhdCBlZGdlLlxuXHRAaW5jbHVkZSB2Mi1zZWN0aW9uLXBhZGRpbmcoJHNpZGVzOiB0b3ApO1xuXHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHYyLXNlY3Rpb24tcGFkZGluZy1zbX0gKyA2MHB4KTtcblx0YmFja2dyb3VuZDogJHByaW1hcnktNTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGMoI3skdjItc2VjdGlvbi1wYWRkaW5nLWxnfSArIDYwcHgpO1xuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09XG5cdC8vIElubmVyOiBjb25zdHJhaW5zIGVudGlyZSBjb250ZW50IHRvIDEyMjhweCBtYXhcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09XG5cdCZfX2lubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMjtcblx0XHRtYXgtd2lkdGg6IDEyMjhweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PVxuXHQvLyBEZWNvcmF0aXZlOiByaWdodC1zaWRlIHBhcmFsbGVsb2dyYW0gKHRvcC1yaWdodCwgZXh0ZW5kcyBvZmYgc2NyZWVuKVxuXHQvLyBQYXJhbGxheCB2aWEgZGF0YS1wYXJhbGxheC1zcGVlZDsgc2xpZGVzIGZ1cnRoZXIgcmlnaHQgYXMgdmlld3BvcnRcblx0Ly8gc2hyaW5rcyBiZWxvdyAxNDQwcHggc28gaXQncyBmdWxseSBvZmYtc2NyZWVuIGF0IDc2OHB4LlxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Jl9fc2hhcGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xcmVtO1xuXHRcdHJpZ2h0OiBjYWxjKC0yM3JlbSArIDE4NXB4KTsgLy8gcmVzdCDigJQgMTg1cHggZnVydGhlciBsZWZ0IHRoYW4gcHJpb3IgLTIzcmVtIGFuY2hvclxuXHRcdHdpZHRoOiAzMnJlbTtcblx0XHRoZWlnaHQ6IDI4cmVtO1xuXHRcdHotaW5kZXg6IDE7IC8vIHNpdCBiZWxvdyB0aGUgaW5uZXIgY29udGVudCAoaGVhZGluZy90YWJzL3N0YWdlIHN0YWNraW5nIGNvbnRleHQgYXQgei1pbmRleCAyKVxuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG5cdFx0c3ZnIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ly8gUHVzaCBmdXJ0aGVyIG9mZi1zY3JlZW4gYXMgdmlld3BvcnQgc2hyaW5rcyBiZWxvdyAxNDQwcHguXG5cdFx0Ly8gUmVzdCBhdCAxNDQwcHgg4oaSIC0yM3JlbSArIDE4NXB4ICjiiYggLTE4M3B4KS4gRnVsbHkgaGlkZGVuIGF0IDc2OHB4IOKGkiAtMzJyZW0gKC01MTJweCkuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDE0NDBweCkge1xuXHRcdFx0cmlnaHQ6IGNhbGMoLTIzcmVtICsgMTg1cHggLSAoMTQ0MHB4IC0gMTAwdncpICogMC40OSk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09XG5cdC8vIERlY29yYXRpdmU6IGRpYWdvbmFsIGxpbmVzIChib3R0b20tcmlnaHQ7IHNhbWUgYXNzZXQgKyBzaXppbmcgYXMgaG9tZSBoZXJvKVxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Jl9fbGluZXMge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQvLyBGcm96ZW4gYXQgdGhlIDE0NDBweCBwb3NpdGlvbi4gVGhpcyBkaXYgaXMgYSBzaWJsaW5nIG9mIF9faW5uZXIsIG5vdCBhXG5cdFx0Ly8gY2hpbGQsIHNvIGl0IGFuY2hvcnMgdG8gdGhlIGZ1bGwtYmxlZWQgYmxvY2sgcm9vdCDigJQgYSBiYXJlIGAtNHJlbWAgcGlubmVkXG5cdFx0Ly8gaXQgdG8gdGhlIHZpZXdwb3J0J3MgcmlnaHQgZWRnZSBhbmQgaXQgZHJpZnRlZCBvdXR3YXJkIG9uIHdpZGUgc2NyZWVucy5cblx0XHQvLyBBZGRpbmcgYG1heCgwcHgsIDUwJSAtIDcyMHB4KWAgaW5zZXRzIGl0IGJ5IHRoZSBndXR0ZXIgb3V0c2lkZSB0aGUgMTQ0MFxuXHRcdC8vIGJhbmQsIHdoaWNoIGlzIDAgYXQgYW5kIGJlbG93IDE0NDAgKHNvIG5vdGhpbmcgY2hhbmdlcyB0aGVyZSkgYW5kIGdyb3dzXG5cdFx0Ly8gYmV5b25kIGl0LCBob2xkaW5nIHRoZSBiYW5kLXJlbGF0aXZlIHBvc2l0aW9uIHRoZSBkZXNpZ24gd2FzIGRyYXduIGF0LlxuXHRcdHJpZ2h0OiBjYWxjKC00cmVtICsgbWF4KDBweCwgNTAlIC0gNzIwcHgpKTtcblx0XHRib3R0b206IDA7XG5cdFx0d2lkdGg6IDc1MHB4O1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR6LWluZGV4OiAwO1xuXHRcdG9wYWNpdHk6IDAuMjtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdGltZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gSGVhZGluZ1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Jl9faGVhZGluZyB7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItYm9sZDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHRmb250LXNpemU6IDIuMTg3NXJlbTsgLy8gMzVweCBtb2JpbGVcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRtYXJnaW46IDAgMCAycmVtO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0Zm9udC1zaXplOiAyLjgxMjVyZW07IC8vIDQ1cHggZGVza3RvcFxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXHRcdH1cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PVxuXHQvLyBUYWJzIOKAlCBkZXNrdG9wXG5cdC8vID09PT09PT09PT09PT09PT09PT09PVxuXHQmX190YWJzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGdhcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07IC8vIGdhcCBiZXR3ZWVuIHRhYiBuYW1lcyBhbmQgdGhlIGltYWdlIGJlbG93XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGFiIHtcblx0XHRmbGV4OiAxIDEgMDtcblx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMDtcblx0XHRwYWRkaW5nOiAxMnB4IDA7IC8vIGV2ZW4gdmVydGljYWwgcGFkZGluZyBmb3IgdGhlIGFjdGl2ZSBwaWxsIGZpbGxcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGZvbnQtZmFtaWx5OiAkYXZlbmlyLWJvbGQ7XG5cdFx0Zm9udC1zaXplOiAxLjc1cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHRvcGFjaXR5OiAwLjQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMzVweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDM1cHg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNlMmRmZmY7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0fVxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09XG5cdC8vIFRhYnMg4oCUIG1vYmlsZSBkcm9wZG93blxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Jl9fdGFicy1tb2JpbGUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQvLyBUaGUgb3BlbiBsaXN0IG92ZXJoYW5ncyB0aGUgc3RhZ2UgYmVsb3cgaXQsIHdoaWNoIGNvbWVzIGxhdGVyIGluIHRoZVxuXHRcdC8vIERPTSDigJQgbGlmdCB0aGUgd2hvbGUgZHJvcGRvd24gYWJvdmUgaXQuXG5cdFx0ei1pbmRleDogMztcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX190YWJzLW1vYmlsZS10cmlnZ2VyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogI2UyZGZmZjsgLy8gbWF0Y2ggdGhlIGRlc2t0b3AgYWN0aXZlLXRhYiBwaWxsXG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0XHRmb250LWZhbWlseTogJGF2ZW5pci1ib2xkO1xuXHRcdGZvbnQtc2l6ZTogMS4zNzVyZW07XG5cdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHQmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSAuYmxvY2stLWNhcGFiaWxpdGllcy1WMl9fdGFicy1tb2JpbGUtY2hldnJvbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RhYnMtbW9iaWxlLWNoZXZyb24ge1xuXHRcdHdpZHRoOiAxNHB4O1xuXHRcdGhlaWdodDogN3B4O1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cdH1cblxuXHQmX190YWJzLW1vYmlsZS1saXN0IHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmc6IDAuNXJlbSAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktNTAsIDAuMik7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdHotaW5kZXg6IDI7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdFx0XHRmb250LWZhbWlseTogJGF2ZW5pci1ib2xkO1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gTWVkaWEgc3RhZ2Vcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09XG5cdCZfX3N0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly8gS2VlcCB0aGUgc3RhZ2UncyBpbnRlcm5hbCBsYXllcmluZyAobWVkaWEgMCAvIG92ZXJsYXkgMSAvIHNsaWRlIDIgL1xuXHRcdC8vIHRvZ2dsZSA0KSBpbnNpZGUgdGhlIHN0YWdlLiBXaXRob3V0IGEgc3RhY2tpbmcgY29udGV4dCBoZXJlLCB0aGVcblx0XHQvLyB6LWluZGV4OiAyIG9uIHRoZSBhY3RpdmUgc2xpZGUgY29tcGV0ZXMgd2l0aCBldmVyeXRoaW5nIGVsc2UgaW5zaWRlXG5cdFx0Ly8gX19pbm5lciDigJQgYW5kIHNpbmNlIGl0IGNvbWVzIGxhdGVyIGluIHRoZSBET00gaXQgd29uLCBzbyB0aGUgbW9iaWxlXG5cdFx0Ly8gdGFiIGRyb3Bkb3duIChhbHNvIHotaW5kZXg6IDIpIG9wZW5lZCBVTkRFUiBhIGZ1bGwtc3RhZ2UsXG5cdFx0Ly8gcG9pbnRlci1ldmVudHM6IGF1dG8gc2xpZGUgdGhhdCBzd2FsbG93ZWQgZXZlcnkgdGFwIG9uIGFuIG9wdGlvbi5cblx0XHRpc29sYXRpb246IGlzb2xhdGU7XG5cdFx0aGVpZ2h0OiAzMDBweDsgLy8gbW9iaWxlOiBmdWxsIHdpZHRoLCBmaXhlZCAzMDBweCBoZWlnaHQgKG5vIGFzcGVjdCByYXRpbylcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7IC8vIG1vYmlsZTogYWxsIGNvcm5lcnMgcm91bmRlZFxuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDc7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDsgLy8gZGVza3RvcDogc3F1YXJlIHRvcCwgcm91bmRlZCBib3R0b21cblx0XHR9XG5cdH1cblxuXHQvLyBDYXB0aW9uIGxheWVyLiBIb2xkcyBvbmx5IHRoZSBzbGlkZSBkZXNjcmlwdGlvbiDigJQgdGhlIG1lZGlhIGJlbmVhdGggaXQgaXNcblx0Ly8gc2hhcmVkIChzZWUgX19tZWRpYS1sYXllciksIHNvIGNhcHRpb25zIGNhbiBjcm9zcy1mYWRlIG9uIHRoZWlyIG93biB3aGlsZVxuXHQvLyBhIHZpZGVvIHRoYXQgYm90aCBzbGlkZXMgdXNlIGtlZXBzIHBsYXlpbmcgdW5kZXJuZWF0aC5cblx0Jl9fc2xpZGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHR6LWluZGV4OiAyO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0Ly8gT25lIGVsZW1lbnQgcGVyIGRpc3RpbmN0IGZpbGUsIHNoYXJlZCBieSBldmVyeSBzbGlkZSB0aGF0IHJlc29sdmVzIHRvIGl0LlxuXHQvLyBUaGUgYWN0aXZlIG9uZSBpcyB0b2dnbGVkIGJ5IEpTOyB0aGUgZmFkZSBsaXZlcyBoZXJlIHJhdGhlciB0aGFuIG9uXG5cdC8vIF9fc2xpZGUgc28gdGhhdCBzd2l0Y2hpbmcgYmV0d2VlbiBzbGlkZXMgb24gdGhlIHNhbWUgbWVkaWEgaXMgYSBuby1vcC5cblx0Jl9fbWVkaWEtbGF5ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHR6LWluZGV4OiAwO1xuXHR9XG5cblx0Jl9fbWVkaWEge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0Ly8gTWFzdGVyIHBsYXkvcGF1c2UgdG9nZ2xlIChXQ0FHIDIuMi4yKS4gUGF1c2luZyBmcmVlemVzIHNsaWRlIGF1dG8tYWR2YW5jZVxuXHQvLyDigJQgdGhlIGNpcmN1bGFyIHJpbmcgY291bnRzIGRvd24gdG8gdGhlIG5leHQgc2xpZGUg4oCUIGFuZCBhbnkgYmFja2dyb3VuZFxuXHQvLyB2aWRlbyBhdCBvbmNlLlxuXHQmX19hdXRvcGxheS10b2dnbGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMXJlbTtcblx0XHRib3R0b206IDFyZW07XG5cdFx0ei1pbmRleDogNDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGhlaWdodDogNDBweDtcblx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoNjUsIDUwLCAxNTUsIDAuNSk7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDY1LCA1MCwgMTU1LCAwLjcpO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRvdXRsaW5lOiAycHggc29saWQgI2ZmZjtcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0fVxuXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcblx0XHR9XG5cdH1cblxuXHQvLyBDaXJjdWxhciBjb3VudGRvd24gcmluZyBkcmF3biBhcm91bmQgdGhlIHBsYXkvcGF1c2UgaWNvbi4gVGhlIHByb2dyZXNzXG5cdC8vIGFyYydzIHN0cm9rZS1kYXNob2Zmc2V0IGlzIGFuaW1hdGVkIDEwMCAtPiAwIG92ZXIgdGhlIGF1dG9wbGF5IGludGVydmFsXG5cdC8vIGJ5IHRoZSBibG9jayBKUyAoV2ViIEFuaW1hdGlvbnMgQVBJKSwgc3RhcnRpbmcgZnJvbSAxMiBvJ2Nsb2NrLlxuXHQmX19hdXRvcGxheS1yaW5nIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aW5zZXQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0Jl9fYXV0b3BsYXktcmluZy10cmFjayB7XG5cdFx0ZmlsbDogbm9uZTtcblx0XHRzdHJva2U6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblx0XHRzdHJva2Utd2lkdGg6IDI7XG5cdH1cblxuXHQmX19hdXRvcGxheS1yaW5nLXByb2dyZXNzIHtcblx0XHRmaWxsOiBub25lO1xuXHRcdHN0cm9rZTogI2ZmZjtcblx0XHRzdHJva2Utd2lkdGg6IDI7XG5cdFx0c3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuXHRcdHN0cm9rZS1kYXNoYXJyYXk6IDEwMDtcblx0XHRzdHJva2UtZGFzaG9mZnNldDogMTAwOyAvLyBzdGFydCBlbXB0eTsgSlMgYW5pbWF0ZXMgdG93YXJkIDBcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG5cdH1cblxuXHQmX19hdXRvcGxheS1pY29uLXBsYXksXG5cdCZfX2F1dG9wbGF5LWljb24tcGF1c2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gc2l0IGFib3ZlIHRoZSBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgcmluZ1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0d2lkdGg6IDE0cHg7XG5cdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0fVxuXG5cdCZfX292ZXJsYXkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR6LWluZGV4OiAxO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdDE4MGRlZyxcblx0XHRcdHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNTUlLFxuXHRcdFx0cmdiYSgkcHJpbWFyeS0xMDAsIDAuODUpIDkwJSxcblx0XHRcdCRwcmltYXJ5LTEwMCAxMDAlXG5cdFx0KTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxuXG5cdCZfX3NsaWRlLWRlc2NyaXB0aW9uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMXJlbTtcblx0XHRyaWdodDogMy41cmVtO1xuXHRcdGJvdHRvbTogMS41cmVtO1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LWZhbWlseTogJGF2ZW5pci1tZWQ7XG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0bGVmdDogMi41cmVtO1xuXHRcdFx0Ym90dG9tOiAycmVtO1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRmb250LXNpemU6IDEuNzVyZW07XG5cdFx0XHRtYXgtd2lkdGg6IDI2cmVtO1xuXHRcdH1cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PVxuXHQvLyBTdWItbmF2OiBzY3JvbGwgaW5kaWNhdG9yICsgc3ViLWl0ZW1zXG5cdC8vID09PT09PT09PT09PT09PT09PT09PVxuXHQmX19zdWItbmF2IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy10b3A6IDFyZW07XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDM0cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzNHB4O1xuXHRcdH1cblx0fVxuXG5cdC8vIFNjcm9sbCBpbmRpY2F0b3I6IHRodW1iIHdpZHRoICsgcG9zaXRpb24gc2V0IGJ5IEpTOyBoaWRkZW4gdmlhIFtoaWRkZW5dIHdoZW4gY29udGVudCBmaXRzXG5cdCZfX3Byb2dyZXNzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiA1cHg7XG5cdFx0YmFja2dyb3VuZDogJGluay1ibHVlLTEwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQmW2hpZGRlbl0ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX19wcm9ncmVzcy1maWxsIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGJhY2tncm91bmQ6ICRpbmstYmx1ZS0xMDA7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXG5cdFx0Ji5pcy1kcmFnZ2luZyB7XG5cdFx0XHRjdXJzb3I6IGdyYWJiaW5nO1xuXHRcdH1cblx0fVxuXG5cdC8vIFN1Yi1pdGVtczogMiB2aXNpYmxlIHBlciB2aWV3cG9ydCBvbiBtb2JpbGUgKGhvcml6b250YWwgc2Nyb2xsIGlmID4yIGl0ZW1zKVxuXHQmX19zdWItaXRlbXMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0Z2FwOiAxLjI1cmVtO1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHRcdHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5O1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cblx0XHQmOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC8vIERlc2t0b3A6IGZyZWUtZm9ybSBzY3JvbGwuIE5vIHNuYXAg4oCUIGRyYWcgc2hvdWxkIHRyYWNrIHRoZSBwb2ludGVyIDE6MS5cblx0XHQvLyBFbmFibGUgZ3JhYi1kcmFnIGFmZm9yZGFuY2Ugb25seSB3aGVuIHRoZSByb3cgY2FuIGFjdHVhbGx5IHNjcm9sbC5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRnYXA6IDE3cHg7XG5cdFx0XHRzY3JvbGwtc25hcC10eXBlOiBub25lO1xuXG5cdFx0XHQmLmlzLXNjcm9sbGFibGUge1xuXHRcdFx0XHRjdXJzb3I6IGdyYWI7XG5cdFx0XHR9XG5cblx0XHRcdCYuaXMtc2Nyb2xsYWJsZS5pcy1kcmFnZ2luZyB7XG5cdFx0XHRcdGN1cnNvcjogZ3JhYmJpbmc7XG5cdFx0XHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3N1Yi1pdGVtIHtcblx0XHRmbGV4OiAwIDAgY2FsYyg1MCUgLSAwLjYyNXJlbSk7IC8vIDIgcGVyIHZpZXdwb3J0OyBnYXAgaXMgMS4yNXJlbSBzbyB0YWtlIGhhbGYgb2ZmIGVhY2ggc2lkZVxuXHRcdG1pbi13aWR0aDogMDsgLy8gb3ZlcnJpZGUgZmxleCBkZWZhdWx0IGBtaW4td2lkdGg6IGF1dG9gIHNvIGl0ZW1zIGRvbid0IGdyb3cgdG8gZml0IGNvbnRlbnRcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGdhcDogMC43NXJlbTtcblx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdGZsZXg6IDEgMCAxMnJlbTsgLy8gZ3JvdyB0byBmaWxsLCBuZXZlciBzaHJpbmsgYmVsb3cgMTJyZW1cblx0XHRcdG1pbi13aWR0aDogMTJyZW07XG5cdFx0fVxuXHR9XG5cblx0Jl9fc3ViLWl0ZW0tdGl0bGUge1xuXHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRmb250LWZhbWlseTogJGF2ZW5pci1ib2xkO1xuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cblx0Ly8gQWx3YXlzIHJlbmRlcmVkIChkaXNwbGF5ICsgc2l6ZSkgc28gZXZlcnkgc3ViLWl0ZW0gcmVzZXJ2ZXMgdGhlIHNhbWVcblx0Ly8gdmVydGljYWwgc3BhY2Ug4oCUIGtlZXBzIHRoZSBmbGV4IHJvdyBoZWlnaHQgc3RhYmxlIHJlZ2FyZGxlc3Mgb2Ygd2hpY2hcblx0Ly8gaXRlbSBpcyBhY3RpdmUuIFZpc2liaWxpdHkgaXMgZmxpcHBlZCBvbiBgLmlzLWFjdGl2ZWAuXG5cdCZfX3N1Yi1pdGVtLWxpbmssXG5cdCZfX3N1Yi1pdGVtLWxpbms6bGluayxcblx0Jl9fc3ViLWl0ZW0tbGluazp2aXNpdGVkLFxuXHQmX19zdWItaXRlbS1saW5rOmhvdmVyLFxuXHQmX19zdWItaXRlbS1saW5rOmZvY3VzIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGZvbnQtZmFtaWx5OiAkYXZlbmlyLW1lZDtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0Jl9fc3ViLWl0ZW0tbGluayBzdmcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMS43NXJlbTtcblx0XHRoZWlnaHQ6IDAuNXJlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuXHR9XG5cblx0Jl9fc3ViLWl0ZW0uaXMtYWN0aXZlICZfX3N1Yi1pdGVtLWxpbmsge1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gQ1RBIChwZXItdGFiOyBKUyBzd2FwcyB2aXNpYmlsaXR5KVxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT1cblx0Jl9fY3RhLXdyYXAge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bWFyZ2luLXRvcDogMnJlbTtcblx0fVxuXG5cdCZfX2N0YSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwYWRkaW5nOiAwLjlyZW0gMnJlbTtcblx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWdvbGQ7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItbWVkO1xuXHRcdGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWluLXdpZHRoOiAxM3JlbTtcblx0XHR9XG5cdH1cblxuXHQvLyBUaGUgYm90dG9tIENUQSBpcyBhbiA8YT4gd2l0aCBubyBgLmJ0bmAgY2xhc3MsIHNvIHRoZSBnbG9iYWxcblx0Ly8gYGE6bm90KC5idG4sIOKApilgIGJyaWdodC1ibHVlIGxpbmsgcnVsZSAoMCwyLDEpIGZyb20gX3R5cG9ncmFwaHkuc2Nzc1xuXHQvLyBhcHBsaWVzIGFuZCBvdmVycmlkZXMgdGhlIGluayBgY29sb3JgIHNldCBhYm92ZS4gUHJlZml4aW5nIHdpdGggdGhlXG5cdC8vIGJsb2NrIHJvb3QgKyBsaW5rIHN0YXRlcyByZWFjaGVzICgwLDMsMCkgc28gaW5rIHdpbnMg4oCUIG1hdGNoaW5nIGV2ZXJ5XG5cdC8vIG90aGVyIENUQSAod2hpY2ggYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIGdsb2JhbCBydWxlIHZpYSB0aGVpciBgLmJ0bmApLlxuXHQmICZfX2N0YSxcblx0JiAmX19jdGE6bGluayxcblx0JiAmX19jdGE6dmlzaXRlZCxcblx0JiAmX19jdGE6aG92ZXIsXG5cdCYgJl9fY3RhOmZvY3VzIHtcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09XG5cdC8vIFJlZHVjZWQgbW90aW9uXG5cdC8vID09PT09PT09PT09PT09PT09PT09PVxuXHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHRcdCZfX3NsaWRlLFxuXHRcdCZfX21lZGlhLFxuXHRcdCZfX3RhYixcblx0XHQmX19zdWItaXRlbSxcblx0XHQmX190YWJzLW1vYmlsZS1jaGV2cm9uIHtcblx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBQcmltYXJ5XG4kYmx1ZTogICAgXHRcdCMzMjBGRkY7XG4kZGFyay1ibHVlOiAgICBcdCM0MTMyOUI7XG4kaW5rLWJsdWUtMTAwOlx0IzIzMDA0QjtcbiRpbmstYmx1ZS05MDpcdCMyODBBNUY7XG4kaW5rLWJsdWUtNzA6XHQjMzIxNDc4O1xuJGluay1ibHVlLTUwOlx0IzQxMzI5QjtcbiRpbmstYmx1ZS0zMDpcdCM1RjVGQzM7XG4kaW5rLWJsdWUtMTA6XHQjODI4Q0UxO1xuJGluay1ibHVlLTg6XHQjQ0REMUYzO1xuJGluay1ibHVlLTU6XHQjZjdmNmZmO1xuJHByaW1hcnk6XHQgIFx0JGJsdWU7XG4kcHJpbWFyeS1kYXJrOiBcdCRkYXJrLWJsdWU7XG4kcHJpbWFyeS0xMDA6IFx0JGluay1ibHVlLTEwMDtcbiRwcmltYXJ5LTkwOiBcdCRpbmstYmx1ZS05MDtcbiRwcmltYXJ5LTcwOiBcdCRpbmstYmx1ZS03MDtcbiRwcmltYXJ5LTUwOiBcdCRpbmstYmx1ZS01MDtcbiRwcmltYXJ5LTMwOiBcdCRpbmstYmx1ZS0zMDtcbiRwcmltYXJ5LTEwOiBcdCRpbmstYmx1ZS0xMDtcbiRwcmltYXJ5LTg6IFx0JGluay1ibHVlLTg7XG4kcHJpbWFyeS01OiBcdCRpbmstYmx1ZS01O1xuXG5cbi8vIFNlY29uZGFyeVxuJHJlZDpcdFx0XHQjRTYxRTJEO1xuJGJyaWdodC1ibHVlOlx0IzMyMEZGRjtcbiRnb2xkOlx0XHRcdCNGRkJFMDA7XG5cbiRzZWNvbmRhcnktcmVkOlx0XHQkcmVkO1xuJHNlY29uZGFyeS1ibHVlOlx0JGJyaWdodC1ibHVlO1xuJHNlY29uZGFyeS1nb2xkOlx0JGdvbGQ7XG5cbi8vIE5ldXRyYWxcbiRibGFjazogXHQjMDAwMDAwO1xuJGRhcmstZ3JheTogIzc5NzI3OTtcbiR3YXJtLWdyYXk6XHQjQjRCNEI5O1xuJHNub3ctZ3JheTogI0YwRjBGMTtcbiR3aGl0ZTogXHQjRkZGRkZGO1xuXG5cbi8vIEV4dHJhc1xuJGNvbG9yczogKFxuXHQncHJpbWFyeSdcdFx0XHQ6ICRwcmltYXJ5LFxuXHQncHJpbWFyeS1kYXJrJ1x0XHQ6ICRwcmltYXJ5LWRhcmssXG5cdCdwcmltYXJ5LTEwMCcgXHRcdDogJHByaW1hcnktMTAwLFxuXHQncHJpbWFyeS05MCcgXHRcdDogJHByaW1hcnktOTAsXG5cdCdwcmltYXJ5LTcwJyBcdFx0OiAkcHJpbWFyeS03MCxcblx0J3ByaW1hcnktNTAnIFx0XHQ6ICRwcmltYXJ5LTUwLFxuXHQncHJpbWFyeS0zMCcgXHRcdDogJHByaW1hcnktMzAsXG5cdCdwcmltYXJ5LTEwJyBcdFx0OiAkcHJpbWFyeS0xMCxcblx0J3ByaW1hcnktOCcgXHRcdDogJHByaW1hcnktOCxcblx0J3ByaW1hcnktNScgXHRcdDogJHByaW1hcnktNSxcblx0J3JlZCdcdFx0XHRcdDogJHNlY29uZGFyeS1yZWQsXG5cdCdicmlnaHQtYmx1ZSdcdFx0OiAkc2Vjb25kYXJ5LWJsdWUsXG5cdCdnb2xkJ1x0XHRcdFx0OiAkc2Vjb25kYXJ5LWdvbGQsXG5cdCd3YXJtLWdyYXknXHRcdFx0OiAkd2FybS1ncmF5LFxuXHQnZGFyay1ncmF5J1x0XHRcdDogJGRhcmstZ3JheSxcblx0J2JsYWNrJ1x0XHRcdFx0OiAkYmxhY2ssXG5cdCd3aGl0ZSdcdFx0XHRcdDogJHdoaXRlXG4pO1xuXG4vLyBTYW4tc2VyaWYgRm9udHNcbiRhdmVuaXItcmVnOiAnQXZlbmlyIExUIFBybyBSZWd1bGFyJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhdmVuaXItbWVkOiAnQXZlbmlyIExUIFBybyBNZWRpdW0nLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGF2ZW5pci1kZW1pOiAnQXZlbmlyIExUIFBybyBEZW1pJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhdmVuaXItYm9sZDogJ0F2ZW5pciBMVCBQcm8gQm9sZCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFNlcmlmIEZvbnRzXG4kZ2VvcmdpYTogJ0dlb3JnaWEnLCBzZXJpZiAhZGVmYXVsdDsiLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnc2FzczptYXRoJztcblxuLy8gU29tZSBob3VzZSBtaXhpbnM6XG5AZnVuY3Rpb24gdXJsRW5jb2RlQ29sb3IoJHN0cmluZyl7XG5cdEBpZiB0eXBlLW9mKCRzdHJpbmcpID09ICdjb2xvcid7XG5cdFx0JGhleDogc3RyLXNsaWNlKGllLWhleC1zdHIoJHN0cmluZyksIDQpO1xuXHRcdCRzdHJpbmc6IHVucXVvdGUoXCIjeyRoZXh9XCIpO1xuXHR9XG5cdCRzdHJpbmc6ICclMjMnICsgJHN0cmluZztcblx0QHJldHVybiAkc3RyaW5nO1xufVxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJHZhbHVlKXtcblx0QHJldHVybiBtYXRoLmRpdigkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKTtcbn1cbkBtaXhpbiBmbHVpZC10eXBlKCRtaW4tdncsICRtYXgtdncsICRtaW4tZm9udC1zaXplLCAkbWF4LWZvbnQtc2l6ZSl7XG5cdCR1MTogdW5pdCgkbWluLXZ3KTtcblx0JHUyOiB1bml0KCRtYXgtdncpO1xuXHQkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xuXHQkdTQ6IHVuaXQoJG1heC1mb250LXNpemUpO1xuXHRAaWYgJHUxID09ICR1MiBhbmQgJHUxID09ICR1MyBhbmQgJHUxID09ICR1NHtcblx0XHQme1xuXHRcdFx0Zm9udC1zaXplOiAkbWluLWZvbnQtc2l6ZTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tdncpe1xuXHRcdFx0XHRmb250LXNpemU6IGNhbGMoI3skbWluLWZvbnQtc2l6ZX0gKyAje3N0cmlwLXVuaXQoJG1heC1mb250LXNpemUgLSAkbWluLWZvbnQtc2l6ZSl9ICogKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pKTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYXgtdncpe1xuXHRcdFx0XHRmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLy8g4pSA4pSA4pSAIFYyIHNlY3Rpb24gcmh5dGhtIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVGhlIHNpbmdsZSB2ZXJ0aWNhbCBwYWRkaW5nIHRva2VuIGV2ZXJ5IFYyIHNlY3Rpb24gYmxvY2sgdXNlcy4gQmVmb3JlIHRoaXNcbi8vIGV4aXN0ZWQsIDI2IFYyIGJsb2NrcyBjYXJyaWVkIDEzIGRpZmZlcmVudCB0b3AvYm90dG9tIHBhaXJpbmdzIHN0ZXBwaW5nIGF0XG4vLyB0d28gZGlmZmVyZW50IGJyZWFrcG9pbnRzOyA0OCDihpIgODAgaXMgdGhlIG1lZGlhbiBvZiB3aGF0IHdhcyBhbHJlYWR5IHRoZXJlXG4vLyBhbmQgaW1hZ2UtYW5kLWl0ZW0tbGlzdC1WMiAvIHJlc291cmNlLWNhcm91c2VsLVYyIC8gc29jaWFsLXByb29mLXYyIGFscmVhZHlcbi8vIG1hdGNoZWQgaXQgZXhhY3RseSwgc28gaXQgaXMgdGhlIHNtYWxsZXN0IHRvdGFsIG1vdmUuXG4vL1xuLy8gU3RlcHBpbmcgYXQgYGxnYCAobm90IGBtZGApIGlzIGRlbGliZXJhdGU6IGl0IGxpbmVzIHRoZSB2ZXJ0aWNhbCBzdGVwIHVwIHdpdGhcbi8vIHRoZSBob3Jpem9udGFsIGd1dHRlciByYW1wICgxLjVyZW0g4oaSIDZyZW0gQGxnKSB0aGF0IDE5IGJsb2NrcyBhbHJlYWR5IHVzZSwgc29cbi8vIGEgc2VjdGlvbiBjaGFuZ2VzIGl0cyBzcGFjaW5nIGluIG9uZSBkaXJlY3Rpb24gYXQgb25lIHdpZHRoLlxuLy9cbi8vIGAkc2lkZXNgIGxldHMgYSBibG9jayB0YWtlIHRoZSB0b2tlbiBvbiBvbmUgZWRnZSB3aGlsZSBvd25pbmcgdGhlIG90aGVyIOKAlFxuLy8gY2FwYWJpbGl0aWVzLVYyIG5lZWRzIGl0cyBvd24gYm90dG9tIChpdCByZXNlcnZlcyA2MHB4IGZvciBhbiBhYnNvbHV0ZWx5XG4vLyBwb3NpdGlvbmVkIGVsZW1lbnQpLiBBbnl0aGluZyBvcHRpbmcgb3V0IGVudGlyZWx5IGp1c3QgZG9lc24ndCBpbmNsdWRlIHRoaXMuXG4kdjItc2VjdGlvbi1wYWRkaW5nLXNtOiA0OHB4O1xuJHYyLXNlY3Rpb24tcGFkZGluZy1sZzogODBweDtcblxuQG1peGluIHYyLXNlY3Rpb24tcGFkZGluZygkc2lkZXM6IGJvdGgpIHtcblx0QGlmICRzaWRlcyA9PSBib3RoIG9yICRzaWRlcyA9PSB0b3Age1xuXHRcdHBhZGRpbmctdG9wOiAkdjItc2VjdGlvbi1wYWRkaW5nLXNtO1xuXHR9XG5cdEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gYm90dG9tIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHYyLXNlY3Rpb24tcGFkZGluZy1zbTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRAaWYgJHNpZGVzID09IGJvdGggb3IgJHNpZGVzID09IHRvcCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogJHYyLXNlY3Rpb24tcGFkZGluZy1sZztcblx0XHR9XG5cdFx0QGlmICRzaWRlcyA9PSBib3RoIG9yICRzaWRlcyA9PSBib3R0b20ge1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICR2Mi1zZWN0aW9uLXBhZGRpbmctbGc7XG5cdFx0fVxuXHR9XG59XG4vLyDilIDilIDilIAgR3JhZGllbnQgdGV4dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERlc2NlbmRlciByb29tIGZvciBncmFkaWVudC1jbGlwcGVkIHRleHQuXG4vL1xuLy8gVjIgaGVhZGluZ3MgdGFrZSB0aGVpciBjb2xvdXIgZnJvbSBhIGdyYWRpZW50ICpiYWNrZ3JvdW5kKiBjbGlwcGVkIHRvIHRoZVxuLy8gZ2x5cGhzIChgYmFja2dyb3VuZC1jbGlwOiB0ZXh0YCBwbHVzIGEgdHJhbnNwYXJlbnQgdGV4dCBmaWxsKS4gQSBiYWNrZ3JvdW5kXG4vLyBvbmx5IHBhaW50cyBpbnNpZGUgdGhlIGVsZW1lbnQncyBib3gsIHNvIGluayBoYW5naW5nIGJlbG93IHRoYXQgYm94IGhhc1xuLy8gbm90aGluZyB0byBwYWludCB3aXRoIGFuZCBzaW1wbHkgZGlzYXBwZWFycy4gSXQgZG9lc24ndCByZWFkIGFzIGNsaXBwZWQg4oCUXG4vLyB0aGUgYm90dG9tIGxvb3Agb2YgYSBcImdcIiBvciB0aGUgdGFpbCBvZiBhIFwieVwiIGlzIGp1c3QgYWJzZW50IOKAlCB3aGljaCBpcyB3aHlcbi8vIGl0IGdvZXMgdW5ub3RpY2VkIHVudGlsIGFuIGVkaXRvciBoYXBwZW5zIHRvIHR5cGUgb25lIG9udG8gdGhlIGxhc3QgbGluZS5cbi8vXG4vLyBUaGUgb3ZlcmhhbmcgaXMgYSBjb25zZXF1ZW5jZSBvZiB0aGUgdGlnaHQgZWRpdG9yaWFsIGxpbmUtaGVpZ2h0cyB0aGUgZGVzaWduc1xuLy8gdXNlLiBBdmVuaXIncyBkZXNjZW5kZXIgaW5rIHJlYWNoZXMgMC4yNDBlbSBiZWxvdyB0aGUgYmFzZWxpbmUsIHNvIGNsaXBwaW5nXG4vLyBiZWdpbnMgd2hlcmV2ZXIgbGluZS1oZWlnaHQgZHJvcHMgYmVsb3cgfjEuMTc0LCBhbmQgbm8gVjIgaGVhZGluZyBpcyBhYm92ZVxuLy8gdGhhdC4gT25seSB0aGUgZmluYWwgbGluZSBpcyBldmVyIGFmZmVjdGVkOyBpbnRlcmlvciBsaW5lcyBzaXQgaW5zaWRlIHRoZSBib3guXG4vL1xuLy8gMC4xZW0gY292ZXJzIHRoZSB3b3JzdCBjYXNlICg5MHB4IGhlYWRsaW5lcyBhdCBsaW5lLWhlaWdodCAxKSB3aXRoIGhlYWRyb29tLlxuLy8gSW4gZW0gc28gaXQgdHJhY2tzIGEgaGVhZGluZydzIHJlc3BvbnNpdmUgc2l6ZXMg4oCUIGluY2x1ZGluZyBjbGFtcCgpIOKAlCB3aXRob3V0XG4vLyBwZXItYnJlYWtwb2ludCBvdmVycmlkZXMuIFJhaXNpbmcgbGluZS1oZWlnaHQgcGFzdCB+MS4xNzQgd291bGQgYWxzbyBmaXggaXQsXG4vLyBidXQgdGhhdCBsb29zZW5zIGV2ZXJ5IGxpbmUgb2YgYSBtdWx0aS1saW5lIGhlYWRpbmcgYnkgMTAtMTclIGFuZCB0aGUgdGlnaHRcbi8vIHNldHRpbmcgaXMgdGhlIGRlc2lnbi5cbi8vXG4vLyBPbmx5IHRoZSBib3R0b20gbmVlZHMgaXQ6IHRoZSB0YWxsZXN0IGluayBpbiB0aGUgZmFjZSBzaXRzIHdlbGwgaW5zaWRlIHRoZVxuLy8gbGluZSBib3ggdG9wLCBzbyBhc2NlbmRlcnMgYWxyZWFkeSBoYXZlIGNsZWFyYW5jZS5cbi8vXG4vLyBPbmUgc2lkZSBlZmZlY3Qgd29ydGgga25vd2luZzogYmFja2dyb3VuZC1vcmlnaW4gaXMgdGhlIHBhZGRpbmcgYm94LCBzbyB0aGlzXG4vLyBsZW5ndGhlbnMgdGhlIGdyYWRpZW50J3MgcGFpbnRpbmcgYXJlYSBieSB0aGUgc2FtZSAwLjFlbS4gVGhlIHJhbXAgc3RyZXRjaGVzXG4vLyB3aXRoIGl0IGFuZCB0aGUgY29sb3VycyBsYW5kIG1hcmdpbmFsbHkgbG93ZXIg4oCUIHVuZGVyIDEwJSBvZiB0aGUgcmFtcCBvbiBhXG4vLyBzaW5nbGUtbGluZSBoZWFkaW5nLCBwcm9wb3J0aW9uYWxseSBsZXNzIGFzIGxpbmVzIGFyZSBhZGRlZC4gRGVsaWJlcmF0ZWx5IG5vdFxuLy8gY29tcGVuc2F0ZWQgd2l0aCBhIG5lZ2F0aXZlIG1hcmdpbiBoZXJlOiBhIGJsb2NrIHRoYXQgc2V0cyBtYXJnaW4tYm90dG9tXG4vLyBhZnRlciB0aGUgaW5jbHVkZSB3b3VsZCBzaWxlbnRseSBjYW5jZWwgaXQuXG4vL1xuLy8gVGhlIHJvb20gYSBnaXZlbiBzZXR0aW5nIGFjdHVhbGx5IG5lZWRzLCBpbiBlbSwgaXNcbi8vXG4vLyAgIGlua19kZXNjZW50IC0gZm9udF9kZXNjZW50ICsgKGNvbnRlbnRfYXJlYSAtIGxpbmVfaGVpZ2h0KSAvIDJcbi8vXG4vLyB3aGljaCBmb3IgdGhlIHRocmVlIGZhY2VzIGluIHBsYXkgcHV0cyB0aGUgY2xpcHBpbmcgdGhyZXNob2xkIGF0XG4vL1xuLy8gICBBdmVuaXIgTFQgUHJvIEJvbGQgICAgIGluayAwLjI0MDIgIGRlc2NlbnQgMC4yNzAwICBjb250ZW50IDEuMjMyNSAgbGggPCAxLjE3M1xuLy8gICBBdmVuaXIgTFQgUHJvIE1lZGl1bSAgIGluayAwLjI0MDIgIGRlc2NlbnQgMC4yNzAwICBjb250ZW50IDEuMjIwMCAgbGggPCAxLjE2MFxuLy8gICBBdmVuaXIgTmV4dCAgICAgICAgICAgIGluayAwLjI0MDAgIGRlc2NlbnQgMC4zNjUwICBjb250ZW50IDEuMzY1MCAgbGggPCAxLjExNVxuLy9cbi8vIEF2ZW5pciBOZXh0J3MgZGVlcGVyIGRlc2NlbnQgbWV0cmljIGJ1eXMgaXQgMC4wNmVtIG9mIHNsYWNrIHRoZSBMVCBQcm8gZmFjZXNcbi8vIGRvbid0IGhhdmUsIHdoaWNoIGlzIHdoeSB0aGUgdHdvIGFjY29yZGlvbiBoZWFkaW5ncyBhdCBsaW5lLWhlaWdodCAxLjE1IGRvbid0XG4vLyBjbGlwIHdoaWxlIHRoZSBMVCBQcm8gaGVhZGluZ3MgYXQgMS4xMTEgZG8uIChDaGVja2VkIHRoZSBXaW5kb3dzIGZhbGxiYWNrIHRvbzpcbi8vIGdlbmVyaWMgc2Fucy1zZXJpZiBpcyAwLjIyMTIgLyAwLjIzMDAgLyAxLjE1MDAsIHRocmVzaG9sZCAxLjEzMiwgYWxzbyBjbGVhci4pXG4vL1xuLy8gJHJvb20gZXhpc3RzIGZvciB0aGUgc2hhbGxvdyB0aWVyLiBFbGV2ZW4gNDVweC81MHB4IGhlYWRpbmdzIG92ZXJoYW5nIGJ5XG4vLyAxLjRweDsgdGhlIGRlZmF1bHQgMC4xZW0gd291bGQgZml4IHRoYXQgYXQgYSBjb3N0IG9mIDQuNXB4IG9mIGV4dHJhIGdhcFxuLy8gdW5kZXIgZWFjaCBvbmUsIHNvIHRoZXkgdGFrZSAwLjA1ZW0gaW5zdGVhZCDigJQgMi4yNXB4LCBzdGlsbCA2MCUgaGVhZHJvb20gb3ZlciB0aGUgMS40cHgsXG4vLyBmb3IgYSBnYXAgY2hhbmdlIHRoYXQgc3RheXMgdW5kZXIgdGhlIDJweCB0aGUgaW5rIGl0c2VsZiBvY2N1cGllcy4gQW55dGhpbmdcbi8vIGRlZXBlciB0aGFuIH4yLjVweCBzaG91bGQgdGFrZSB0aGUgZGVmYXVsdC5cbkBtaXhpbiB2Mi1ncmFkaWVudC10ZXh0LWRlc2NlbmRlci1yb29tKCRyb29tOiAwLjFlbSkge1xuXHRwYWRkaW5nLWJvdHRvbTogJHJvb207XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/