.block--locations-v2{background-color:#f7f6ff;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;overflow-x:clip;padding-bottom:48px;padding-top:48px;position:relative;width:100vw}@media (min-width:992px){.block--locations-v2{padding-bottom:80px;padding-top:80px}}.block--locations-v2 .locations-v2__shape{aspect-ratio:465/382;clip-path:polygon(51.4% 0,100% 0,48.7% 100%,0 100%);-webkit-clip-path:polygon(51.4% 0,100% 0,48.7% 100%,0 100%);pointer-events:none;position:absolute;width:min(40%,460px);z-index:0}@media (max-width:767.98px){.block--locations-v2 .locations-v2__shape{display:none}}.block--locations-v2 .locations-v2__shape--gold{background:#ffbe00;left:calc(-20rem + 32px);top:calc(30% - 100px);z-index:1}.block--locations-v2 .locations-v2__shape--glass,.block--locations-v2 .locations-v2__shape--glass-border{left:calc(-17rem - 40px);top:calc(30% + 4rem);z-index:2}.block--locations-v2 .locations-v2__shape--glass{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:hsla(0,0%,100%,.15)}.block--locations-v2 .locations-v2__shape--glass-border{clip-path:none;-webkit-clip-path:none;z-index:3}.block--locations-v2 .locations-v2__shape--glass-border svg{display:block;height:100%;width:100%}.block--locations-v2 .locations-v2__inner{margin:0 auto;max-width:1048px;padding:0 1.5rem;position:relative;z-index:1}.block--locations-v2 .locations-v2__intro{margin:0;padding-bottom:43px;text-align:center}@media (min-width:768px){.block--locations-v2 .locations-v2__intro{padding-bottom:74px}}.block--locations-v2 .locations-v2__heading{-webkit-text-fill-color:transparent;background:linear-gradient(180deg,#41329b,#23004b);-webkit-background-clip:text;background-clip:text;font-family:Avenir LT Pro Bold,sans-serif;font-size:28px;line-height:32px;padding-bottom:.05em}@media (min-width:768px){.block--locations-v2 .locations-v2__heading{font-size:45px;line-height:50px}}.block--locations-v2 .locations-v2__intro-text{color:#23004b;font-family:Avenir LT Pro Medium,sans-serif;font-size:16px;line-height:1.5}.block--locations-v2 .locations-v2__intro-text p:last-child{margin-bottom:0}.block--locations-v2 .locations-v2__grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.block--locations-v2 .locations-v2__card{align-items:flex-start;background-color:#fff;border:1px solid #edeaf5;border-radius:5px;display:flex;flex:0 1 100%;gap:6px;padding:20px 10px}@media (min-width:576px){.block--locations-v2 .locations-v2__card{flex-basis:calc(50% - 12px)}}@media (min-width:992px){.block--locations-v2 .locations-v2__card{flex-basis:calc(33.33333% - 16px)}}.block--locations-v2 .locations-v2__bullet{color:#41329b;flex:0 0 auto;height:27.879px;width:22px}.block--locations-v2 .locations-v2__card-content{display:flex;flex-direction:column;gap:12px;min-width:0}.block--locations-v2 .locations-v2__title{color:#23004b;font-family:Avenir LT Pro Bold,sans-serif;font-size:22px;line-height:32px;margin:0}.block--locations-v2 .locations-v2__address{color:#23004b;font-family:Avenir LT Pro Regular,sans-serif;font-size:16px;line-height:26px;margin:0}.block--locations-v2 .locations-v2__link{align-items:center;display:inline-flex;font-family:Avenir LT Pro Medium,sans-serif;font-size:1.125rem;gap:.75rem;line-height:1;text-decoration:none!important}.block--locations-v2 .locations-v2__link,.block--locations-v2 .locations-v2__link:link,.block--locations-v2 .locations-v2__link:visited{color:#23004b}.block--locations-v2 .locations-v2__link:focus-visible,.block--locations-v2 .locations-v2__link:hover{color:#41329b}.block--locations-v2 .locations-v2__link-arrow{flex:0 0 auto;height:10px;width:29px}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzL2xvY2F0aW9ucy1WMi9kaXN0L3N0eWxlLm1pbi5jc3MiLCJtYXBwaW5ncyI6IkFBSUEscUJBRUMsd0JDSVksQ0RHWiw2QkFDQSw4QkFGQSxnQkFHQSxnQkVzQ0MsbUJBUnNCLENBS3RCLGdCQUxzQixDRnhDdkIsa0JBTUEsV0FERCxDR3FESSx5QkgzREoscUJFeURHLG1CQWZxQixDQVlyQixnQkYzQ0QsQ0FDRixDQUVDLDBDQUlDLHFCQUNBLG9EQUNBLDREQUNBLG9CQU5BLGtCQUVBLHFCQURBLFNBS0YsQ0dtREksNEJIMURILDBDQVVFLFlBQ0QsQ0FDRixDQUdDLGdEQUlDLGtCQ1hPLENEUVAseUJBQ0Esc0JBQ0EsU0FBRixDQVNDLHlHQUVDLHlCQUNBLHFCQUNBLFNBUEYsQ0FVQyxpREFFQywwQkFDQSxrQ0FGQSw4QkFORixDQVdDLHdEQUVDLGVBQ0EsdUJBRkEsU0FQRixDQVdFLDREQUNDLGNBRUEsWUFEQSxVQVJILENBYUMsMENBSUMsY0FEQSxpQkFFQSxpQkFKQSxrQkFDQSxTQVJGLENBY0MsMENBQ0MsU0FDQSxvQkFDQSxpQkFaRixDR05JLHlCSGVILDBDQU1FLG1CQVhELENBQ0YsQ0FjQyw0Q0FPQyxvQ0FIQSxtREFDQSw2QkFDQSxxQkFMQSx5Q0N4QlksQ0R5QlosZUFDQSxpQkUwQkQsb0JGakNELENHckJJLHlCSHlCSCw0Q0FXRSxlQUNBLGdCQVhELENBQ0YsQ0FjQywrQ0FJQyxhQ3pHYSxDRHNHYiwyQ0MxQ1csQ0QyQ1gsZUFDQSxlQVhGLENBY0UsNERBQWUsZUFYakIsQ0FpQkMseUNBQ0MsYUFDQSxlQUVBLFNBREEsc0JBZEYsQ0FrQkMseUNBR0MsdUJBR0EscUJDNUZPLENENkZQLHlCQUNBLGtCQU5BLGFBREEsY0FHQSxRQUNBLGlCQWJGLENHcERJLHlCSDRESCx5Q0FXRSwyQkFmRCxDQUNGLENHekRJLHlCSDRESCx5Q0FlRSxpQ0FkRCxDQUNGLENBaUJDLDJDQUlDLGFDNUlZLENEeUlaLGNBRUEsZ0JBREEsVUFiRixDQWtCQyxpREFDQyxhQUNBLHNCQUNBLFNBQ0EsV0FoQkYsQ0FtQkMsMENBS0MsYUM5SmEsQ0QySmIseUNDN0ZZLENEOEZaLGVBQ0EsaUJBSEEsUUFiRixDQW9CQyw0Q0FLQyxhQ3RLYSxDRG1LYiw0Q0N4R1csQ0R5R1gsZUFDQSxpQkFIQSxRQWRGLENBeUJDLHlDQUVDLG1CQURBLG9CQUdBLDJDQ3JIVyxDRHNIWCxtQkFGQSxXQUdBLGNBQ0EsOEJBdkJGLENBeUJFLHdJQUdDLGFBekJILENBNEJFLHNHQUVDLGFBM0JILENBK0JDLCtDQUNDLGNBRUEsWUFEQSxVQTVCRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2VibWVjaGFuaXgvLi9ibG9ja3MvbG9jYXRpb25zLVYyL3NyYy9fbG9jYXRpb25zLVYyLnNjc3MiLCJ3ZWJwYWNrOi8vd2VibWVjaGFuaXgvLi9zcmMvc2Nzcy9jdXN0b20vX2JyYW5kaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vd2VibWVjaGFuaXgvLi9zcmMvc2Nzcy9jdXN0b20vcGFydGlhbHMvX2hvdXNlLW1peGlucy5zY3NzIiwid2VicGFjazovL3dlYm1lY2hhbml4Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8uLi8uLi9zcmMvc2Nzcy9iYXJlLWJzLW5lY2Vzc2l0aWVzJztcblxuLy8gVmVydGljYWwgcGFkZGluZyBjb21lcyBmcm9tIHRoZSBzaGFyZWQgVjIgdG9rZW4g4oCUIHNlZSB0aGUgbWF0Y2hpbmcgbm90ZSBvbiBsaW5rLWNhcmRzLVYyLFxuLy8gd2hpY2ggc3RhY2tzIGRpcmVjdGx5IGFib3ZlIHRoaXMgYmxvY2sgb24gdGhlIHNhbWUgZ3JvdW5kLlxuLmJsb2NrLS1sb2NhdGlvbnMtdjIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LTU7IC8vIFplbGlzIEluayBNaXN0ICNmN2Y2ZmZcblx0QGluY2x1ZGUgdjItc2VjdGlvbi1wYWRkaW5nO1xuXG5cdC8vIEZ1bGwtYmxlZWQgYmFja2dyb3VuZCBzbyB0aGUgZGVjb3JhdGl2ZSBwYXJhbGxlbG9ncmFtIGNhbiBibGVlZCBvZmYgdGhlXG5cdC8vIHNjcmVlbiBlZGdlIHdoaWxlIGlubmVyIGNvbnRlbnQgc3RheXMgY2FwcGVkIChtaXJyb3JzIHJlc291cmNlLWxpYnJhcnktdjIpLlxuXHR3aWR0aDogMTAwdnc7XG5cdG1heC13aWR0aDogMTAwdnc7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG5cdG92ZXJmbG93LXg6IGNsaXA7XG5cblx0Ly8gRGVjb3JhdGl2ZSBnb2xkIHBhcmFsbGVsb2dyYW0gcGFpciBibGVlZGluZyBvZmYgdGhlIGxlZnQgc2NyZWVuIGVkZ2UuXG5cdC5sb2NhdGlvbnMtdjJfX3NoYXBlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMDtcblx0XHR3aWR0aDogbWluKDQwJSwgNDYwcHgpO1xuXHRcdGFzcGVjdC1yYXRpbzogNDY1IC8gMzgyO1xuXHRcdGNsaXAtcGF0aDogcG9seWdvbig1MS40JSAwLCAxMDAlIDAsIDQ4LjclIDEwMCUsIDAgMTAwJSk7XG5cdFx0LXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oNTEuNCUgMCwgMTAwJSAwLCA0OC43JSAxMDAlLCAwIDEwMCUpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vIFVwcGVyLCBzb2xpZCBnb2xkIHBhcmFsbGVsb2dyYW0g4oCUIHNpdHMgYmVsb3cgdGhlIGdsYXNzIG9uZS5cblx0LmxvY2F0aW9ucy12Ml9fc2hhcGUtLWdvbGQge1xuXHRcdGxlZnQ6IGNhbGMoLTIwcmVtICsgMzJweCk7XG5cdFx0dG9wOiBjYWxjKDMwJSAtIDEwMHB4KTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktZ29sZDtcblx0fVxuXG5cdC8vIExvd2VyLCBmcm9zdGVkLWdsYXNzIHBhcmFsbGVsb2dyYW0g4oCUIG92ZXJsYXBzIGFuZCBzaXRzIEFCT1ZFIHRoZSBnb2xkIG9uZS5cblx0Ly8gU3BsaXQgaW50byB0d28gbGF5ZXJzIChwZXIgdGhlIEZpZ21hIGV4cG9ydCk6IHRoZSBmcm9zdGVkIEZJTEwgaXNcblx0Ly8gY2xpcC1wYXRoJ2QgdG8gdGhlIHBhcmFsbGVsb2dyYW0sIHdoaWxlIHRoZSAxcHggYm9yZGVyIGlzIGRyYXduIG9uIGFcblx0Ly8gc2VwYXJhdGUgVU5DTElQUEVEIGxheWVyIHNvIHRoZSBmdWxsIHN0cm9rZSBzaG93cyAoY2xpcHBpbmcgdGhlIHN0cm9rZSBvblxuXHQvLyB0aGUgc2FtZSBlbGVtZW50IGhhbHZlcyBpdCBhbmQgaXQgZGlzYXBwZWFycyBhdCAwLjMgb3BhY2l0eSkuXG5cdC5sb2NhdGlvbnMtdjJfX3NoYXBlLS1nbGFzcyxcblx0LmxvY2F0aW9ucy12Ml9fc2hhcGUtLWdsYXNzLWJvcmRlciB7XG5cdFx0bGVmdDogY2FsYygtMTdyZW0gLSA0MHB4KTtcblx0XHR0b3A6IGNhbGMoMzAlICsgNHJlbSk7XG5cdFx0ei1pbmRleDogMjtcblx0fVxuXG5cdC5sb2NhdGlvbnMtdjJfX3NoYXBlLS1nbGFzcyB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMTUpO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuXHRcdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG5cdH1cblxuXHQubG9jYXRpb25zLXYyX19zaGFwZS0tZ2xhc3MtYm9yZGVyIHtcblx0XHR6LWluZGV4OiAzOyAvLyBib3JkZXIgc2l0cyBhYm92ZSB0aGUgZnJvc3RlZCBmaWxsXG5cdFx0Y2xpcC1wYXRoOiBub25lO1xuXHRcdC13ZWJraXQtY2xpcC1wYXRoOiBub25lO1xuXG5cdFx0c3ZnIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0LmxvY2F0aW9ucy12Ml9faW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdG1heC13aWR0aDogMTA0OHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBhZGRpbmc6IDAgMS41cmVtO1xuXHR9XG5cblx0LmxvY2F0aW9ucy12Ml9faW50cm8ge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNDNweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNzRweDtcblx0XHR9XG5cdH1cblxuXHQubG9jYXRpb25zLXYyX19oZWFkaW5nIHtcblx0XHRmb250LWZhbWlseTogJGF2ZW5pci1ib2xkO1xuXHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkcHJpbWFyeS01MCAwJSwgJHByaW1hcnktMTAwIDEwMCUpO1xuXHRcdC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXHRcdGJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0XHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0QGluY2x1ZGUgdjItZ3JhZGllbnQtdGV4dC1kZXNjZW5kZXItcm9vbSgwLjA1ZW0pO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0Zm9udC1zaXplOiA0NXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmxvY2F0aW9ucy12Ml9faW50cm8tdGV4dCB7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItbWVkO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cblx0XHRwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdH1cblxuXHQvLyBGbGV4IHJhdGhlciB0aGFuIGdyaWQgc28gYSBzaG9ydCBmaW5hbCByb3cgKDEgb3IgMiBjYXJkcykgY2VudHJlcyBpdHNlbGZcblx0Ly8gaW5zdGVhZCBvZiBoYW5naW5nIG9mZiB0aGUgbGVmdCBlZGdlLiBDYXJkcyBrZWVwIHRoZSBncmlkJ3MgY29sdW1uIHdpZHRoc1xuXHQvLyB2aWEgYW4gZXhwbGljaXQgZmxleC1iYXNpcyBhdCBlYWNoIGJyZWFrcG9pbnQuXG5cdC5sb2NhdGlvbnMtdjJfX2dyaWQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGdhcDogMjRweDtcblx0fVxuXG5cdC5sb2NhdGlvbnMtdjJfX2NhcmQge1xuXHRcdGZsZXg6IDAgMSAxMDAlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0Z2FwOiA2cHg7XG5cdFx0cGFkZGluZzogMjBweCAxMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZWRlYWY1O1xuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblx0XHRcdGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgLSAyNHB4KSAvIDIpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgLSA0OHB4KSAvIDMpO1xuXHRcdH1cblx0fVxuXG5cdC5sb2NhdGlvbnMtdjJfX2J1bGxldCB7XG5cdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0d2lkdGg6IDIycHg7XG5cdFx0aGVpZ2h0OiAyNy44NzlweDtcblx0XHRjb2xvcjogJHByaW1hcnktNTA7IC8vICM0MTMyOUJcblx0fVxuXG5cdC5sb2NhdGlvbnMtdjJfX2NhcmQtY29udGVudCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblx0XHRtaW4td2lkdGg6IDA7XG5cdH1cblxuXHQubG9jYXRpb25zLXYyX190aXRsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtZmFtaWx5OiAkYXZlbmlyLWJvbGQ7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cdH1cblxuXHQubG9jYXRpb25zLXYyX19hZGRyZXNzIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItcmVnO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHR9XG5cblx0Ly8gXCJMZWFybiBtb3JlXCIgYXJyb3cgbGluay4gTmVzdGVkIHVuZGVyIHRoZSBibG9jayByb290ICsgOmxpbmsvOnZpc2l0ZWQgPVxuXHQvLyAoMCwzLDApLCBiZWF0aW5nIHRoZSBnbG9iYWwgYnJpZ2h0LWJsdWUgYW5jaG9yIHJ1bGUgKDAsMiwxKS4gTk9URTogdXNlIHRoZVxuXHQvLyByZWFsIGNsYXNzIG5hbWUgaGVyZSwgbm90IHRoZSBTQ1NTIGAmX19saW5rYCBzaG9ydGN1dCDigJQgdGhhdCB3b3VsZCBlbWl0XG5cdC8vIGAuYmxvY2stLWxvY2F0aW9ucy12Ml9fbGlua2AsIHdoaWNoIHRoZSBtYXJrdXAgbmV2ZXIgdXNlcy5cblx0LmxvY2F0aW9ucy12Ml9fbGluayB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDAuNzVyZW07IC8vIDEycHhcblx0XHRmb250LWZhbWlseTogJGF2ZW5pci1tZWQ7XG5cdFx0Zm9udC1zaXplOiAxLjEyNXJlbTsgLy8gMThweFxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0Jixcblx0XHQmOmxpbmssXG5cdFx0Jjp2aXNpdGVkIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LTUwO1xuXHRcdH1cblx0fVxuXG5cdC5sb2NhdGlvbnMtdjJfX2xpbmstYXJyb3cge1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdHdpZHRoOiAyOXB4O1xuXHRcdGhlaWdodDogMTBweDtcblx0fVxufVxuIiwiLy8gUHJpbWFyeVxuJGJsdWU6ICAgIFx0XHQjMzIwRkZGO1xuJGRhcmstYmx1ZTogICAgXHQjNDEzMjlCO1xuJGluay1ibHVlLTEwMDpcdCMyMzAwNEI7XG4kaW5rLWJsdWUtOTA6XHQjMjgwQTVGO1xuJGluay1ibHVlLTcwOlx0IzMyMTQ3ODtcbiRpbmstYmx1ZS01MDpcdCM0MTMyOUI7XG4kaW5rLWJsdWUtMzA6XHQjNUY1RkMzO1xuJGluay1ibHVlLTEwOlx0IzgyOENFMTtcbiRpbmstYmx1ZS04Olx0I0NERDFGMztcbiRpbmstYmx1ZS01Olx0I2Y3ZjZmZjtcbiRwcmltYXJ5Olx0ICBcdCRibHVlO1xuJHByaW1hcnktZGFyazogXHQkZGFyay1ibHVlO1xuJHByaW1hcnktMTAwOiBcdCRpbmstYmx1ZS0xMDA7XG4kcHJpbWFyeS05MDogXHQkaW5rLWJsdWUtOTA7XG4kcHJpbWFyeS03MDogXHQkaW5rLWJsdWUtNzA7XG4kcHJpbWFyeS01MDogXHQkaW5rLWJsdWUtNTA7XG4kcHJpbWFyeS0zMDogXHQkaW5rLWJsdWUtMzA7XG4kcHJpbWFyeS0xMDogXHQkaW5rLWJsdWUtMTA7XG4kcHJpbWFyeS04OiBcdCRpbmstYmx1ZS04O1xuJHByaW1hcnktNTogXHQkaW5rLWJsdWUtNTtcblxuXG4vLyBTZWNvbmRhcnlcbiRyZWQ6XHRcdFx0I0U2MUUyRDtcbiRicmlnaHQtYmx1ZTpcdCMzMjBGRkY7XG4kZ29sZDpcdFx0XHQjRkZCRTAwO1xuXG4kc2Vjb25kYXJ5LXJlZDpcdFx0JHJlZDtcbiRzZWNvbmRhcnktYmx1ZTpcdCRicmlnaHQtYmx1ZTtcbiRzZWNvbmRhcnktZ29sZDpcdCRnb2xkO1xuXG4vLyBOZXV0cmFsXG4kYmxhY2s6IFx0IzAwMDAwMDtcbiRkYXJrLWdyYXk6ICM3OTcyNzk7XG4kd2FybS1ncmF5Olx0I0I0QjRCOTtcbiRzbm93LWdyYXk6ICNGMEYwRjE7XG4kd2hpdGU6IFx0I0ZGRkZGRjtcblxuXG4vLyBFeHRyYXNcbiRjb2xvcnM6IChcblx0J3ByaW1hcnknXHRcdFx0OiAkcHJpbWFyeSxcblx0J3ByaW1hcnktZGFyaydcdFx0OiAkcHJpbWFyeS1kYXJrLFxuXHQncHJpbWFyeS0xMDAnIFx0XHQ6ICRwcmltYXJ5LTEwMCxcblx0J3ByaW1hcnktOTAnIFx0XHQ6ICRwcmltYXJ5LTkwLFxuXHQncHJpbWFyeS03MCcgXHRcdDogJHByaW1hcnktNzAsXG5cdCdwcmltYXJ5LTUwJyBcdFx0OiAkcHJpbWFyeS01MCxcblx0J3ByaW1hcnktMzAnIFx0XHQ6ICRwcmltYXJ5LTMwLFxuXHQncHJpbWFyeS0xMCcgXHRcdDogJHByaW1hcnktMTAsXG5cdCdwcmltYXJ5LTgnIFx0XHQ6ICRwcmltYXJ5LTgsXG5cdCdwcmltYXJ5LTUnIFx0XHQ6ICRwcmltYXJ5LTUsXG5cdCdyZWQnXHRcdFx0XHQ6ICRzZWNvbmRhcnktcmVkLFxuXHQnYnJpZ2h0LWJsdWUnXHRcdDogJHNlY29uZGFyeS1ibHVlLFxuXHQnZ29sZCdcdFx0XHRcdDogJHNlY29uZGFyeS1nb2xkLFxuXHQnd2FybS1ncmF5J1x0XHRcdDogJHdhcm0tZ3JheSxcblx0J2RhcmstZ3JheSdcdFx0XHQ6ICRkYXJrLWdyYXksXG5cdCdibGFjaydcdFx0XHRcdDogJGJsYWNrLFxuXHQnd2hpdGUnXHRcdFx0XHQ6ICR3aGl0ZVxuKTtcblxuLy8gU2FuLXNlcmlmIEZvbnRzXG4kYXZlbmlyLXJlZzogJ0F2ZW5pciBMVCBQcm8gUmVndWxhcicsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYXZlbmlyLW1lZDogJ0F2ZW5pciBMVCBQcm8gTWVkaXVtJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhdmVuaXItZGVtaTogJ0F2ZW5pciBMVCBQcm8gRGVtaScsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYXZlbmlyLWJvbGQ6ICdBdmVuaXIgTFQgUHJvIEJvbGQnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBTZXJpZiBGb250c1xuJGdlb3JnaWE6ICdHZW9yZ2lhJywgc2VyaWYgIWRlZmF1bHQ7IiwiQHVzZSAnc2FzczptYXRoJztcblxuLy8gU29tZSBob3VzZSBtaXhpbnM6XG5AZnVuY3Rpb24gdXJsRW5jb2RlQ29sb3IoJHN0cmluZyl7XG5cdEBpZiB0eXBlLW9mKCRzdHJpbmcpID09ICdjb2xvcid7XG5cdFx0JGhleDogc3RyLXNsaWNlKGllLWhleC1zdHIoJHN0cmluZyksIDQpO1xuXHRcdCRzdHJpbmc6IHVucXVvdGUoXCIjeyRoZXh9XCIpO1xuXHR9XG5cdCRzdHJpbmc6ICclMjMnICsgJHN0cmluZztcblx0QHJldHVybiAkc3RyaW5nO1xufVxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJHZhbHVlKXtcblx0QHJldHVybiBtYXRoLmRpdigkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKTtcbn1cbkBtaXhpbiBmbHVpZC10eXBlKCRtaW4tdncsICRtYXgtdncsICRtaW4tZm9udC1zaXplLCAkbWF4LWZvbnQtc2l6ZSl7XG5cdCR1MTogdW5pdCgkbWluLXZ3KTtcblx0JHUyOiB1bml0KCRtYXgtdncpO1xuXHQkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xuXHQkdTQ6IHVuaXQoJG1heC1mb250LXNpemUpO1xuXHRAaWYgJHUxID09ICR1MiBhbmQgJHUxID09ICR1MyBhbmQgJHUxID09ICR1NHtcblx0XHQme1xuXHRcdFx0Zm9udC1zaXplOiAkbWluLWZvbnQtc2l6ZTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tdncpe1xuXHRcdFx0XHRmb250LXNpemU6IGNhbGMoI3skbWluLWZvbnQtc2l6ZX0gKyAje3N0cmlwLXVuaXQoJG1heC1mb250LXNpemUgLSAkbWluLWZvbnQtc2l6ZSl9ICogKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pKTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYXgtdncpe1xuXHRcdFx0XHRmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLy8g4pSA4pSA4pSAIFYyIHNlY3Rpb24gcmh5dGhtIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVGhlIHNpbmdsZSB2ZXJ0aWNhbCBwYWRkaW5nIHRva2VuIGV2ZXJ5IFYyIHNlY3Rpb24gYmxvY2sgdXNlcy4gQmVmb3JlIHRoaXNcbi8vIGV4aXN0ZWQsIDI2IFYyIGJsb2NrcyBjYXJyaWVkIDEzIGRpZmZlcmVudCB0b3AvYm90dG9tIHBhaXJpbmdzIHN0ZXBwaW5nIGF0XG4vLyB0d28gZGlmZmVyZW50IGJyZWFrcG9pbnRzOyA0OCDihpIgODAgaXMgdGhlIG1lZGlhbiBvZiB3aGF0IHdhcyBhbHJlYWR5IHRoZXJlXG4vLyBhbmQgaW1hZ2UtYW5kLWl0ZW0tbGlzdC1WMiAvIHJlc291cmNlLWNhcm91c2VsLVYyIC8gc29jaWFsLXByb29mLXYyIGFscmVhZHlcbi8vIG1hdGNoZWQgaXQgZXhhY3RseSwgc28gaXQgaXMgdGhlIHNtYWxsZXN0IHRvdGFsIG1vdmUuXG4vL1xuLy8gU3RlcHBpbmcgYXQgYGxnYCAobm90IGBtZGApIGlzIGRlbGliZXJhdGU6IGl0IGxpbmVzIHRoZSB2ZXJ0aWNhbCBzdGVwIHVwIHdpdGhcbi8vIHRoZSBob3Jpem9udGFsIGd1dHRlciByYW1wICgxLjVyZW0g4oaSIDZyZW0gQGxnKSB0aGF0IDE5IGJsb2NrcyBhbHJlYWR5IHVzZSwgc29cbi8vIGEgc2VjdGlvbiBjaGFuZ2VzIGl0cyBzcGFjaW5nIGluIG9uZSBkaXJlY3Rpb24gYXQgb25lIHdpZHRoLlxuLy9cbi8vIGAkc2lkZXNgIGxldHMgYSBibG9jayB0YWtlIHRoZSB0b2tlbiBvbiBvbmUgZWRnZSB3aGlsZSBvd25pbmcgdGhlIG90aGVyIOKAlFxuLy8gY2FwYWJpbGl0aWVzLVYyIG5lZWRzIGl0cyBvd24gYm90dG9tIChpdCByZXNlcnZlcyA2MHB4IGZvciBhbiBhYnNvbHV0ZWx5XG4vLyBwb3NpdGlvbmVkIGVsZW1lbnQpLiBBbnl0aGluZyBvcHRpbmcgb3V0IGVudGlyZWx5IGp1c3QgZG9lc24ndCBpbmNsdWRlIHRoaXMuXG4kdjItc2VjdGlvbi1wYWRkaW5nLXNtOiA0OHB4O1xuJHYyLXNlY3Rpb24tcGFkZGluZy1sZzogODBweDtcblxuQG1peGluIHYyLXNlY3Rpb24tcGFkZGluZygkc2lkZXM6IGJvdGgpIHtcblx0QGlmICRzaWRlcyA9PSBib3RoIG9yICRzaWRlcyA9PSB0b3Age1xuXHRcdHBhZGRpbmctdG9wOiAkdjItc2VjdGlvbi1wYWRkaW5nLXNtO1xuXHR9XG5cdEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gYm90dG9tIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHYyLXNlY3Rpb24tcGFkZGluZy1zbTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRAaWYgJHNpZGVzID09IGJvdGggb3IgJHNpZGVzID09IHRvcCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogJHYyLXNlY3Rpb24tcGFkZGluZy1sZztcblx0XHR9XG5cdFx0QGlmICRzaWRlcyA9PSBib3RoIG9yICRzaWRlcyA9PSBib3R0b20ge1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICR2Mi1zZWN0aW9uLXBhZGRpbmctbGc7XG5cdFx0fVxuXHR9XG59XG4vLyDilIDilIDilIAgR3JhZGllbnQgdGV4dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERlc2NlbmRlciByb29tIGZvciBncmFkaWVudC1jbGlwcGVkIHRleHQuXG4vL1xuLy8gVjIgaGVhZGluZ3MgdGFrZSB0aGVpciBjb2xvdXIgZnJvbSBhIGdyYWRpZW50ICpiYWNrZ3JvdW5kKiBjbGlwcGVkIHRvIHRoZVxuLy8gZ2x5cGhzIChgYmFja2dyb3VuZC1jbGlwOiB0ZXh0YCBwbHVzIGEgdHJhbnNwYXJlbnQgdGV4dCBmaWxsKS4gQSBiYWNrZ3JvdW5kXG4vLyBvbmx5IHBhaW50cyBpbnNpZGUgdGhlIGVsZW1lbnQncyBib3gsIHNvIGluayBoYW5naW5nIGJlbG93IHRoYXQgYm94IGhhc1xuLy8gbm90aGluZyB0byBwYWludCB3aXRoIGFuZCBzaW1wbHkgZGlzYXBwZWFycy4gSXQgZG9lc24ndCByZWFkIGFzIGNsaXBwZWQg4oCUXG4vLyB0aGUgYm90dG9tIGxvb3Agb2YgYSBcImdcIiBvciB0aGUgdGFpbCBvZiBhIFwieVwiIGlzIGp1c3QgYWJzZW50IOKAlCB3aGljaCBpcyB3aHlcbi8vIGl0IGdvZXMgdW5ub3RpY2VkIHVudGlsIGFuIGVkaXRvciBoYXBwZW5zIHRvIHR5cGUgb25lIG9udG8gdGhlIGxhc3QgbGluZS5cbi8vXG4vLyBUaGUgb3ZlcmhhbmcgaXMgYSBjb25zZXF1ZW5jZSBvZiB0aGUgdGlnaHQgZWRpdG9yaWFsIGxpbmUtaGVpZ2h0cyB0aGUgZGVzaWduc1xuLy8gdXNlLiBBdmVuaXIncyBkZXNjZW5kZXIgaW5rIHJlYWNoZXMgMC4yNDBlbSBiZWxvdyB0aGUgYmFzZWxpbmUsIHNvIGNsaXBwaW5nXG4vLyBiZWdpbnMgd2hlcmV2ZXIgbGluZS1oZWlnaHQgZHJvcHMgYmVsb3cgfjEuMTc0LCBhbmQgbm8gVjIgaGVhZGluZyBpcyBhYm92ZVxuLy8gdGhhdC4gT25seSB0aGUgZmluYWwgbGluZSBpcyBldmVyIGFmZmVjdGVkOyBpbnRlcmlvciBsaW5lcyBzaXQgaW5zaWRlIHRoZSBib3guXG4vL1xuLy8gMC4xZW0gY292ZXJzIHRoZSB3b3JzdCBjYXNlICg5MHB4IGhlYWRsaW5lcyBhdCBsaW5lLWhlaWdodCAxKSB3aXRoIGhlYWRyb29tLlxuLy8gSW4gZW0gc28gaXQgdHJhY2tzIGEgaGVhZGluZydzIHJlc3BvbnNpdmUgc2l6ZXMg4oCUIGluY2x1ZGluZyBjbGFtcCgpIOKAlCB3aXRob3V0XG4vLyBwZXItYnJlYWtwb2ludCBvdmVycmlkZXMuIFJhaXNpbmcgbGluZS1oZWlnaHQgcGFzdCB+MS4xNzQgd291bGQgYWxzbyBmaXggaXQsXG4vLyBidXQgdGhhdCBsb29zZW5zIGV2ZXJ5IGxpbmUgb2YgYSBtdWx0aS1saW5lIGhlYWRpbmcgYnkgMTAtMTclIGFuZCB0aGUgdGlnaHRcbi8vIHNldHRpbmcgaXMgdGhlIGRlc2lnbi5cbi8vXG4vLyBPbmx5IHRoZSBib3R0b20gbmVlZHMgaXQ6IHRoZSB0YWxsZXN0IGluayBpbiB0aGUgZmFjZSBzaXRzIHdlbGwgaW5zaWRlIHRoZVxuLy8gbGluZSBib3ggdG9wLCBzbyBhc2NlbmRlcnMgYWxyZWFkeSBoYXZlIGNsZWFyYW5jZS5cbi8vXG4vLyBPbmUgc2lkZSBlZmZlY3Qgd29ydGgga25vd2luZzogYmFja2dyb3VuZC1vcmlnaW4gaXMgdGhlIHBhZGRpbmcgYm94LCBzbyB0aGlzXG4vLyBsZW5ndGhlbnMgdGhlIGdyYWRpZW50J3MgcGFpbnRpbmcgYXJlYSBieSB0aGUgc2FtZSAwLjFlbS4gVGhlIHJhbXAgc3RyZXRjaGVzXG4vLyB3aXRoIGl0IGFuZCB0aGUgY29sb3VycyBsYW5kIG1hcmdpbmFsbHkgbG93ZXIg4oCUIHVuZGVyIDEwJSBvZiB0aGUgcmFtcCBvbiBhXG4vLyBzaW5nbGUtbGluZSBoZWFkaW5nLCBwcm9wb3J0aW9uYWxseSBsZXNzIGFzIGxpbmVzIGFyZSBhZGRlZC4gRGVsaWJlcmF0ZWx5IG5vdFxuLy8gY29tcGVuc2F0ZWQgd2l0aCBhIG5lZ2F0aXZlIG1hcmdpbiBoZXJlOiBhIGJsb2NrIHRoYXQgc2V0cyBtYXJnaW4tYm90dG9tXG4vLyBhZnRlciB0aGUgaW5jbHVkZSB3b3VsZCBzaWxlbnRseSBjYW5jZWwgaXQuXG4vL1xuLy8gVGhlIHJvb20gYSBnaXZlbiBzZXR0aW5nIGFjdHVhbGx5IG5lZWRzLCBpbiBlbSwgaXNcbi8vXG4vLyAgIGlua19kZXNjZW50IC0gZm9udF9kZXNjZW50ICsgKGNvbnRlbnRfYXJlYSAtIGxpbmVfaGVpZ2h0KSAvIDJcbi8vXG4vLyB3aGljaCBmb3IgdGhlIHRocmVlIGZhY2VzIGluIHBsYXkgcHV0cyB0aGUgY2xpcHBpbmcgdGhyZXNob2xkIGF0XG4vL1xuLy8gICBBdmVuaXIgTFQgUHJvIEJvbGQgICAgIGluayAwLjI0MDIgIGRlc2NlbnQgMC4yNzAwICBjb250ZW50IDEuMjMyNSAgbGggPCAxLjE3M1xuLy8gICBBdmVuaXIgTFQgUHJvIE1lZGl1bSAgIGluayAwLjI0MDIgIGRlc2NlbnQgMC4yNzAwICBjb250ZW50IDEuMjIwMCAgbGggPCAxLjE2MFxuLy8gICBBdmVuaXIgTmV4dCAgICAgICAgICAgIGluayAwLjI0MDAgIGRlc2NlbnQgMC4zNjUwICBjb250ZW50IDEuMzY1MCAgbGggPCAxLjExNVxuLy9cbi8vIEF2ZW5pciBOZXh0J3MgZGVlcGVyIGRlc2NlbnQgbWV0cmljIGJ1eXMgaXQgMC4wNmVtIG9mIHNsYWNrIHRoZSBMVCBQcm8gZmFjZXNcbi8vIGRvbid0IGhhdmUsIHdoaWNoIGlzIHdoeSB0aGUgdHdvIGFjY29yZGlvbiBoZWFkaW5ncyBhdCBsaW5lLWhlaWdodCAxLjE1IGRvbid0XG4vLyBjbGlwIHdoaWxlIHRoZSBMVCBQcm8gaGVhZGluZ3MgYXQgMS4xMTEgZG8uIChDaGVja2VkIHRoZSBXaW5kb3dzIGZhbGxiYWNrIHRvbzpcbi8vIGdlbmVyaWMgc2Fucy1zZXJpZiBpcyAwLjIyMTIgLyAwLjIzMDAgLyAxLjE1MDAsIHRocmVzaG9sZCAxLjEzMiwgYWxzbyBjbGVhci4pXG4vL1xuLy8gJHJvb20gZXhpc3RzIGZvciB0aGUgc2hhbGxvdyB0aWVyLiBFbGV2ZW4gNDVweC81MHB4IGhlYWRpbmdzIG92ZXJoYW5nIGJ5XG4vLyAxLjRweDsgdGhlIGRlZmF1bHQgMC4xZW0gd291bGQgZml4IHRoYXQgYXQgYSBjb3N0IG9mIDQuNXB4IG9mIGV4dHJhIGdhcFxuLy8gdW5kZXIgZWFjaCBvbmUsIHNvIHRoZXkgdGFrZSAwLjA1ZW0gaW5zdGVhZCDigJQgMi4yNXB4LCBzdGlsbCA2MCUgaGVhZHJvb20gb3ZlciB0aGUgMS40cHgsXG4vLyBmb3IgYSBnYXAgY2hhbmdlIHRoYXQgc3RheXMgdW5kZXIgdGhlIDJweCB0aGUgaW5rIGl0c2VsZiBvY2N1cGllcy4gQW55dGhpbmdcbi8vIGRlZXBlciB0aGFuIH4yLjVweCBzaG91bGQgdGFrZSB0aGUgZGVmYXVsdC5cbkBtaXhpbiB2Mi1ncmFkaWVudC10ZXh0LWRlc2NlbmRlci1yb29tKCRyb29tOiAwLjFlbSkge1xuXHRwYWRkaW5nLWJvdHRvbTogJHJvb207XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/