.block--resource-carousel-v2{background-color:#f7f6ff;overflow:hidden;padding-bottom:48px;padding-top:48px;position:relative}@media (min-width:992px){.block--resource-carousel-v2{padding-bottom:80px;padding-top:80px}}.block--resource-carousel-v2__layout{margin:0 auto;max-width:1440px;padding:0 1.5rem;position:relative;z-index:1}@media (min-width:992px){.block--resource-carousel-v2__layout{padding:0 6rem}}.block--resource-carousel-v2__intro{margin-bottom:2rem;max-width:46rem}.block--resource-carousel-v2__heading{color:#23004b;font-size:clamp(1.75rem,3vw,2.8125rem);line-height:1.15;margin:0 0 .75rem}.block--resource-carousel-v2__leader{color:#23004b;font-size:1.125rem;line-height:1.4;margin:0}.block--resource-carousel-v2__carousel{position:relative}.block--resource-carousel-v2__track{-webkit-overflow-scrolling:touch;display:flex;gap:1.5rem;list-style:none;margin:0;overflow-x:auto;padding:0;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.block--resource-carousel-v2__track::-webkit-scrollbar{display:none}.block--resource-carousel-v2__slide{flex:0 0 100%;scroll-snap-align:start;width:100%}.block--resource-carousel-v2__item{align-items:stretch;display:flex;flex-direction:column;gap:1.5rem;height:100%}@media (min-width:992px){.block--resource-carousel-v2__item{align-items:center;flex-direction:row}}.block--resource-carousel-v2__card{background-color:#fff;border-radius:8px;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;order:2;padding:2rem}@media (min-width:992px){.block--resource-carousel-v2__card{flex:0 0 42%;max-width:42%;min-height:453px;order:1;padding:2.5rem 3rem}}.block--resource-carousel-v2__title{background:linear-gradient(180deg,#41329b,#23004b);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(1.75rem,3vw,2.8125rem);font-weight:700;line-height:1.07;margin:0 0 .5rem;padding-bottom:.1em}.block--resource-carousel-v2__date{color:#41329b;font-size:.875rem;font-weight:500;margin:0}.block--resource-carousel-v2__excerpt{color:#23004b;font-size:1.125rem;line-height:1.22;margin:0}.block--resource-carousel-v2__link{align-items:center;display:flex;font-family:Avenir LT Pro Regular,sans-serif;font-size:1.125rem;font-weight:400;height:22px;line-height:normal;margin-top:8px;padding-right:48px;text-decoration:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:auto;text-underline-position:from-font;width:152px}.block--resource-carousel-v2 .block--resource-carousel-v2__link,.block--resource-carousel-v2 .block--resource-carousel-v2__link:link,.block--resource-carousel-v2 .block--resource-carousel-v2__link:visited{color:#23004b;text-decoration:underline}.block--resource-carousel-v2 .block--resource-carousel-v2__link:focus-visible,.block--resource-carousel-v2 .block--resource-carousel-v2__link:hover{color:#41329b;text-decoration:underline}.block--resource-carousel-v2__media{border-radius:8px;margin:0;order:1;overflow:hidden;position:relative}@media (min-width:992px){.block--resource-carousel-v2__media{align-self:stretch;flex:1 1 auto;order:2}}.block--resource-carousel-v2__media a{display:block;height:100%}.block--resource-carousel-v2__media img{border-radius:8px;display:block;height:100%;max-height:453px;-o-object-fit:cover;object-fit:cover;width:100%}@media (min-width:992px){.block--resource-carousel-v2__media img{min-height:453px}}@media (max-width:991.98px){.block--resource-carousel-v2__media img{aspect-ratio:16/10;height:auto;max-height:none}}.block--resource-carousel-v2__arrow{align-items:center;background-color:hsla(0,0%,100%,.85);border:none;border-radius:50%;box-shadow:0 2px 12px rgba(35,0,75,.18);color:#23004b;cursor:pointer;display:inline-flex;height:3.25rem;justify-content:center;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .2s ease,transform .2s ease;width:3.25rem;z-index:3}@media (max-width:767.98px){.block--resource-carousel-v2__arrow{display:none}}.block--resource-carousel-v2__arrow svg{height:1.5rem;width:1.5rem}.block--resource-carousel-v2__arrow:focus-visible,.block--resource-carousel-v2__arrow:hover{background-color:#fff}.block--resource-carousel-v2__arrow--prev{left:.75rem}@media (min-width:992px){.block--resource-carousel-v2__arrow--prev{left:calc(42% + 2.25rem)}}.block--resource-carousel-v2__arrow--next{right:.75rem}@media (min-width:992px){.block--resource-carousel-v2__arrow--next{right:1.5rem}}.block--resource-carousel-v2__dots{display:flex;gap:.625rem;justify-content:center;margin-top:.75rem}@media (min-width:768px){.block--resource-carousel-v2__dots{display:none}}.block--resource-carousel-v2__dot{background-color:transparent;border:1px solid #23004b;border-radius:50%;cursor:pointer;height:.625rem;padding:0;transition:background-color .2s ease,transform .2s ease;width:.625rem}.block--resource-carousel-v2__dot.is-active{background-color:#23004b;transform:scale(1.15)}.block--resource-carousel-v2__dot:focus-visible{outline:2px solid #23004b;outline-offset:2px}.block--resource-carousel-v2:after{aspect-ratio:3;background:repeating-linear-gradient(135deg,#ffbe00,#ffbe00 2px,transparent 0,transparent 14px);bottom:2rem;-webkit-clip-path:polygon(33.333% 0,100% 0,66.667% 100%,0 100%);clip-path:polygon(33.333% 0,100% 0,66.667% 100%,0 100%);content:"";height:40%;opacity:.2;pointer-events:none;position:absolute;right:calc(-14rem + max(0px, 50% - 720px));z-index:0}@media (max-width:767px){.block--resource-carousel-v2:after{display:none}}.block--resource-carousel-v2__empty{border:1px dashed rgba(35,0,75,.35);border-radius:8px;color:#23004b;padding:2rem}.block--resource-carousel-v2__empty p{margin:0}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzL3Jlc291cmNlLWNhcm91c2VsLVYyL2Rpc3Qvc3R5bGUubWluLmNzcyIsIm1hcHBpbmdzIjoiQUFFQSw2QkFHQyx3QkNLWSxDRE5aLGdCRWlEQyxtQkFSc0IsQ0FLdEIsZ0JBTHNCLENGMUN2QixpQkFHRCxDR3lESSx5Qkg3REosNkJFMkRHLG1CQWZxQixDQVlyQixnQkYvQ0QsQ0FDRixDQUFDLHFDQUlDLGNBREEsaUJBRUEsaUJBSkEsa0JBQ0EsU0FLRixDRzRDSSx5QkhuREgscUNBUUUsY0FHRCxDQUNGLENBQ0Msb0NBQ0MsbUJBQ0EsZUFDRixDQUVDLHNDQUlDLGFDL0JhLENENkJiLHVDQUNBLGlCQUZBLGlCQUdGLENBR0MscUNBSUMsYUN0Q2EsQ0RvQ2IsbUJBQ0EsZ0JBRkEsUUFFRixDQUtDLHVDQUNDLGlCQUhGLENBUUMsb0NBU0MsaUNBUkEsYUFDQSxXQUdBLGdCQUZBLFNBR0EsZ0JBRkEsVUFJQSx1QkFEQSw2QkFHQSxvQkFORixDQVFFLHVEQUNDLFlBTkgsQ0FVQyxvQ0FDQyxjQUVBLHdCQURBLFVBUEYsQ0FXQyxtQ0FLQyxvQkFKQSxhQUNBLHNCQUNBLFdBQ0EsV0FSRixDR1BJLHlCSFdILG1DQVNFLG1CQURBLGtCQVBELENBQ0YsQ0FZQyxtQ0FLQyxzQkFDQSxrQkFMQSxhQUNBLHNCQUVBLFdBREEsdUJBS0EsUUFEQSxZQVRGLENHdkJJLHlCSHlCSCxtQ0FZRSxhQUNBLGNBQ0EsaUJBSEEsUUFJQSxtQkFURCxDQUNGLENBWUMsb0NBTUMsbURBQ0EsNkJBQ0EscUJBQ0Esa0JBTkEsdUNBREEsZ0JBRUEsaUJBSEEsaUJFU0QsbUJGWEQsQ0FjQyxtQ0FJQyxhQzFIYyxDRHdIZCxrQkFDQSxnQkFGQSxRQVRGLENBZUMsc0NBSUMsYUNoSWEsQ0Q4SGIsbUJBQ0EsaUJBRkEsUUFWRixDQWdCQyxtQ0FFQyxtQkFEQSxhQU1BLDRDQy9FVyxDRGdGWCxtQkFDQSxnQkFMQSxZQU1BLG1CQUxBLGVBQ0EsbUJBS0EsMEJBQ0Esb0VBQ0EsMkJBQ0Esa0NBWEEsV0FIRixDQW1CRSw2TUFHQyxhQ3pKWSxDRDBKWix5QkFuQkgsQ0FzQkUsb0pBRUMsYUNoS2EsQ0RpS2IseUJBckJILENBMEJDLG9DQUdDLGtCQURBLFNBR0EsUUFEQSxnQkFIQSxpQkFwQkYsQ0d0RkkseUJIeUdILG9DQVVFLG1CQURBLGNBREEsT0FyQkQsQ0FDRixDQXlCRSxzQ0FDQyxjQUNBLFdBdkJILENBMEJFLHdDQU1DLGtCQUxBLGNBRUEsWUFDQSxpQkFDQSxxQ0FIQSxVQXBCSCxDR3pHSSx5QkgySEYsd0NBU0UsZ0JBdkJGLENBQ0YsQ0dqR0ksNEJIOEdGLHdDQW1CRSxtQkFGQSxZQUNBLGVBekJGLENBQ0YsQ0ErQkMsb0NBTUMsbUJBT0EscUNBRkEsWUFDQSxrQkFHQSx3Q0FEQSxhQzlOYSxDRGdPYixlQVhBLG9CQUlBLGVBRkEsdUJBR0EsVUFUQSxrQkFDQSxRQUNBLDJCQWNBLHdEQVRBLGNBSkEsU0FoQkYsQ0czSEksNEJIdUlILG9DQXFCRSxZQTdCRCxDQUNGLENBK0JFLHdDQUVDLGNBREEsWUE1QkgsQ0FnQ0UsNEZBRUMscUJBL0JILENBcUNFLDBDQUNDLFdBbkNILENHdkpJLHlCSHlMRiwwQ0FJRSx3QkFsQ0YsQ0FDRixDQXFDRSwwQ0FDQyxZQW5DSCxDRy9KSSx5QkhpTUYsMENBSUUsWUFsQ0YsQ0FDRixDQXdDQyxtQ0FDQyxhQUVBLFlBREEsdUJBRUEsaUJBdENGLENHMUtJLHlCSDRNSCxtQ0FPRSxZQXJDRCxDQUNGLENBd0NDLGtDQU1DLDZCQUZBLHlCQUNBLGtCQUVBLGVBTEEsZUFDQSxVQUtBLHdEQVBBLGFBL0JGLENBd0NFLDRDQUNDLHdCQzlSWSxDRCtSWixxQkF0Q0gsQ0F5Q0UsZ0RBQ0MsMEJBQ0Esa0JBdkNILENBZ0RDLG1DQVlDLGVBQ0EsZ0dBSkEsWUFXQSx3SEFuQkEsV0FVQSxXQVVBLFdBQ0Esb0JBcEJBLGtCQU1BLDJDQUVBLFNBN0NGLENBMkRFLHlCQXhCRCxtQ0F5QkUsWUF4REQsQ0FDRixDQTREQyxvQ0FFQyxvQ0FDQSxrQkFDQSxhQy9VYSxDRDRVYixZQXZERixDQTRERSxzQ0FDQyxRQTFESCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2VibWVjaGFuaXgvLi9ibG9ja3MvcmVzb3VyY2UtY2Fyb3VzZWwtVjIvc3JjL19yZXNvdXJjZS1jYXJvdXNlbC1WMi5zY3NzIiwid2VicGFjazovL3dlYm1lY2hhbml4Ly4vc3JjL3Njc3MvY3VzdG9tL19icmFuZGluZy5zY3NzIiwid2VicGFjazovL3dlYm1lY2hhbml4Ly4vc3JjL3Njc3MvY3VzdG9tL3BhcnRpYWxzL19ob3VzZS1taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly93ZWJtZWNoYW5peC8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vLi4vc3JjL3Njc3MvYmFyZS1icy1uZWNlc3NpdGllcyc7XG5cbi5ibG9jay0tcmVzb3VyY2UtY2Fyb3VzZWwtdjIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6ICRpbmstYmx1ZS01O1xuXHQvLyBUaGUgdG9rZW4ncyA0OHB4IG1vYmlsZSBib3R0b20gYWxzbyBjbGVhcnMgdGhlIGJsb2NrJ3MgYG92ZXJmbG93OiBoaWRkZW5gLFxuXHQvLyBzbyB0aGUgYWN0aXZlIGRvdCdzIHNjYWxlKDEuMTUpIGFuZCBpdHMgZm9jdXMgb3V0bGluZSBhcmVuJ3QgY2xpcHBlZC5cblx0QGluY2x1ZGUgdjItc2VjdGlvbi1wYWRkaW5nO1xuXG5cdC8vIENvbnN0cmFpbiBjb250ZW50IHRvIHRoZSAxNDQwIHRoZW1lIGNvbnZlbnRpb24gKEJvb3RzdHJhcCAuY29udGFpbmVyIGNhcHNcblx0Ly8gYXQgMTMyMCkg4oCUIG1hbmFnZSB0aGUgaW5uZXIgd3JhcHBlciBvdXJzZWx2ZXMuIE1pcnJvcnMgcmVzb3VyY2UtbGlicmFyeS1WMi5cblx0Jl9fbGF5b3V0IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRtYXgtd2lkdGg6IDE0NDBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRwYWRkaW5nOiAwIDEuNXJlbTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdHBhZGRpbmc6IDAgNnJlbTtcblx0XHR9XG5cdH1cblxuXHQvLyAtLS0tIEludHJvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQmX19pbnRybyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRtYXgtd2lkdGg6IDQ2cmVtO1xuXHR9XG5cblx0Jl9faGVhZGluZyB7XG5cdFx0bWFyZ2luOiAwIDAgMC43NXJlbTtcblx0XHRmb250LXNpemU6IGNsYW1wKDEuNzVyZW0sIDN2dywgMi44MTI1cmVtKTtcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHR9XG5cblx0Jl9fbGVhZGVyIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAxLjEyNXJlbTtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cdH1cblxuXHQvLyAtLS0tIENhcm91c2VsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQmX19jYXJvdXNlbCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0Ly8gTmF0aXZlIHNjcm9sbC1zbmFwIHRyYWNrIChtYXRjaGVzIGNhc2Utc3R1ZHktY2Fyb3VzZWwtdjIpLiBKUyBvbmx5IHN5bmNzXG5cdC8vIGFycm93L2RvdCBzdGF0ZSB0byB0aGUgc2Nyb2xsIHBvc2l0aW9uLlxuXHQmX190cmFjayB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRnYXA6IDEuNXJlbTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdFx0c2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG5cdFx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdHNjcm9sbGJhci13aWR0aDogbm9uZTsgLy8gRmlyZWZveFxuXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTsgLy8gU2FmYXJpL0Nocm9tZVxuXHRcdH1cblx0fVxuXG5cdCZfX3NsaWRlIHtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxLjVyZW07XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLS0tLSBUZXh0IGNhcmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Jl9fY2FyZCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGdhcDogMS41cmVtO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRcdHBhZGRpbmc6IDJyZW07XG5cdFx0b3JkZXI6IDI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRvcmRlcjogMTtcblx0XHRcdGZsZXg6IDAgMCA0MiU7XG5cdFx0XHRtYXgtd2lkdGg6IDQyJTtcblx0XHRcdG1pbi1oZWlnaHQ6IDQ1M3B4O1xuXHRcdFx0cGFkZGluZzogMi41cmVtIDNyZW07XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbjogMCAwIDAuNXJlbTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGZvbnQtc2l6ZTogY2xhbXAoMS43NXJlbSwgM3Z3LCAyLjgxMjVyZW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjA3O1xuXHRcdC8vIEluayBncmFkaWVudCB0aXRsZSAobWF0Y2hlcyB0aGUgRmlnbWEgdGV4dC1ncmFkaWVudCkuXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGRhcmstYmx1ZSwgJHByaW1hcnktMTAwKTtcblx0XHQtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG5cdFx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdEBpbmNsdWRlIHYyLWdyYWRpZW50LXRleHQtZGVzY2VuZGVyLXJvb207XG5cdH1cblxuXHQmX19kYXRlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHR9XG5cblx0Jl9fZXhjZXJwdCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjI7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0fVxuXG5cdCZfX2xpbmsge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogMTUycHg7XG5cdFx0aGVpZ2h0OiAyMnB4O1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuXHRcdGZvbnQtZmFtaWx5OiAkYXZlbmlyLXJlZztcblx0XHRmb250LXNpemU6IDEuMTI1cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG5cdFx0dGV4dC11bmRlcmxpbmUtb2Zmc2V0OiBhdXRvO1xuXHRcdHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiBmcm9tLWZvbnQ7XG5cblx0XHQvLyBCZWF0IHRoZSBnbG9iYWwgYGE6bm90KC5idG4sIOKApilgIGJyaWdodC1ibHVlIGxpbmsgcnVsZSAoMCwyLDEpIGZyb21cblx0XHQvLyBfdHlwb2dyYXBoeS5zY3NzOiBhIHBsYWluIGAmOmxpbmtgICgwLDIsMCkgbG9zZXMsIHNvIHByZWZpeCB3aXRoIHRoZVxuXHRcdC8vIGJsb2NrIHJvb3QgdG8gcmVhY2ggKDAsMywwKS4gU2VlIGZlZWRiYWNrX2FuY2hvcl9saW5rX2NvbG9yLlxuXHRcdC5ibG9jay0tcmVzb3VyY2UtY2Fyb3VzZWwtdjIgJixcblx0XHQuYmxvY2stLXJlc291cmNlLWNhcm91c2VsLXYyICY6bGluayxcblx0XHQuYmxvY2stLXJlc291cmNlLWNhcm91c2VsLXYyICY6dmlzaXRlZCB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXG5cdFx0LmJsb2NrLS1yZXNvdXJjZS1jYXJvdXNlbC12MiAmOmhvdmVyLFxuXHRcdC5ibG9jay0tcmVzb3VyY2UtY2Fyb3VzZWwtdjIgJjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLS0tLSBNZWRpYSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Jl9fbWVkaWEge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0b3JkZXI6IDE7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRvcmRlcjogMjtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0YWxpZ24tc2VsZjogc3RyZXRjaDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0bWF4LWhlaWdodDogNDUzcHg7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiA0NTNweDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU3RhY2tlZCBsYXlvdXQ6IGNyb3AgZXZlcnkgaW1hZ2UgdG8gYSB1bmlmb3JtIHJhdGlvIHNvIHNsaWRlc1xuXHRcdFx0Ly8gZG9uJ3QgdmFyeSBpbiBoZWlnaHQuIEVxdWFsLWhlaWdodCBzbGlkZXMgb3RoZXJ3aXNlIHN0cmV0Y2ggdGhlXG5cdFx0XHQvLyBzaG9ydCBvbmVzIChhbmQgcG9zdHMgd2l0aCBuby9mYWlsZWQgZmVhdHVyZWQgaW1hZ2UgY29sbGFwc2UgdGhlXG5cdFx0XHQvLyBtZWRpYSB0byAwKSwgbGVhdmluZyBhIGxhcmdlIGdhcCBhYm92ZSB0aGUgbW9iaWxlIGRvdCBuYXYuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXHRcdFx0XHRhc3BlY3QtcmF0aW86IDE2IC8gMTA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gLS0tLSBBcnJvd3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Jl9fYXJyb3cge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0ei1pbmRleDogMztcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHdpZHRoOiAzLjI1cmVtO1xuXHRcdGhlaWdodDogMy4yNXJlbTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAwLjg1KTtcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHRcdGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgkcHJpbWFyeS0xMDAsIDAuMTgpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuXHRcdC8vIE1vYmlsZSB1c2VzIGRvdCBidWJibGVzIGluc3RlYWQgb2YgYXJyb3dzLlxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6IDEuNXJlbTtcblx0XHRcdGhlaWdodDogMS41cmVtO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0fVxuXG5cdFx0Ly8gQm90aCBhcnJvd3Mgc2l0IG92ZXIgdGhlIHBpY3R1cmUgKG1hdGNoZXMgRmlnbWEpOiBwcmV2IG5lYXIgdGhlXG5cdFx0Ly8gaW1hZ2UncyBsZWZ0IGVkZ2UsIG5leHQgbmVhciBpdHMgcmlnaHQgZWRnZS4gVGhlIDQyJSBvZmZzZXQgbWlycm9yc1xuXHRcdC8vIHRoZSBjYXJkJ3MgZmxleC1iYXNpcyBzbyBwcmV2IGxhbmRzIGp1c3QgaW5zaWRlIHRoZSBtZWRpYSBjb2x1bW4uXG5cdFx0Ji0tcHJldiB7XG5cdFx0XHRsZWZ0OiAwLjc1cmVtO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdGxlZnQ6IGNhbGMoNDIlICsgMi4yNXJlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tbmV4dCB7XG5cdFx0XHRyaWdodDogMC43NXJlbTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0XHRyaWdodDogMS41cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIC0tLS0gRG90IGJ1YmJsZXMgKG1vYmlsZSBuYXYpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vIEFycm93cyBhcmUgaGlkZGVuIGJlbG93IG1kIChhYm92ZSk7IHRoZXNlIHRha2Ugb3Zlci4gSGlkZGVuIGZyb20gbWQgdXAuXG5cdCZfX2RvdHMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Z2FwOiAwLjYyNXJlbTtcblx0XHRtYXJnaW4tdG9wOiAwLjc1cmVtO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX19kb3Qge1xuXHRcdHdpZHRoOiAwLjYyNXJlbTtcblx0XHRoZWlnaHQ6IDAuNjI1cmVtO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHByaW1hcnktMTAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktMTAwO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHR9XG5cdH1cblxuXHQvLyAtLS0tIERlY29yYXRpdmUgeWVsbG93IGhhdGNoIChib3R0b20tcmlnaHQgY29ybmVyKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLyBBbmNob3JlZCBhdCB0aGUgcmlnaHQgKHJpZ2h0IGVkZ2UgZml4ZWQgb2ZmLXBhZ2UpOyB3aWRlbmluZyB0aGUgYXNwZWN0XG5cdC8vIHJhdGlvIGV4dGVuZHMgdGhlIGJhbmQgbGVmdHdhcmQgd2l0aCBtb3JlIG1hcmtzIG9mIHRoZSBzYW1lIDE0cHggc3BhY2luZy5cblx0Ly8gVGhlIGNsaXAtcGF0aCBvZmZzZXQgaXMgMS9hc3BlY3QtcmF0aW8gc28gdGhlIHNsYW50ZWQgZWRnZXMgc3RheSBhdCA0NcKwXG5cdC8vIChwYXJhbGxlbCB0byB0aGUgbWFya3MpIG5vIG1hdHRlciBob3cgd2lkZSB0aGUgYmFuZCBnZXRzLlxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdC8vIEZyb3plbiBhdCB0aGUgMTQ0MHB4IHBvc2l0aW9uLiBUaGlzIHBzZXVkby1lbGVtZW50IGhhbmdzIG9mZiB0aGUgYmxvY2tcblx0XHQvLyByb290LCB3aGljaCBoYXMgbm8gd2lkdGggY2FwLCBzbyBhIGJhcmUgYC0xNHJlbWAgcGlubmVkIHRoZSBiYW5kIHRvIHRoZVxuXHRcdC8vIHZpZXdwb3J0J3MgcmlnaHQgZWRnZSBhbmQgaXQgZHJpZnRlZCBvdXR3YXJkIG9uIHdpZGUgc2NyZWVucy4gVGhlXG5cdFx0Ly8gYG1heCgwcHgsIDUwJSAtIDcyMHB4KWAgdGVybSBpbnNldHMgaXQgYnkgdGhlIGd1dHRlciBvdXRzaWRlIHRoZSAxNDQwIGJhbmRcblx0XHQvLyDigJQgMCBhdCBhbmQgYmVsb3cgMTQ0MCwgZ3Jvd2luZyBiZXlvbmQgaXQuXG5cdFx0cmlnaHQ6IGNhbGMoLTE0cmVtICsgbWF4KDBweCwgNTAlIC0gNzIwcHgpKTtcblx0XHRib3R0b206IDJyZW07XG5cdFx0ei1pbmRleDogMDtcblx0XHRoZWlnaHQ6IDQwJTtcblx0XHRhc3BlY3QtcmF0aW86IDM7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdDEzNWRlZyxcblx0XHRcdCRnb2xkIDAsXG5cdFx0XHQkZ29sZCAycHgsXG5cdFx0XHR0cmFuc3BhcmVudCAycHgsXG5cdFx0XHR0cmFuc3BhcmVudCAxNHB4XG5cdFx0KTtcblx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMzMuMzMzJSAwLCAxMDAlIDAsIDY2LjY2NyUgMTAwJSwgMCAxMDAlKTtcblx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Ly8gLS0tLSBFZGl0b3Itb25seSBlbXB0eSBzdGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQmX19lbXB0eSB7XG5cdFx0cGFkZGluZzogMnJlbTtcblx0XHRib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgkcHJpbWFyeS0xMDAsIDAuMzUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBQcmltYXJ5XG4kYmx1ZTogICAgXHRcdCMzMjBGRkY7XG4kZGFyay1ibHVlOiAgICBcdCM0MTMyOUI7XG4kaW5rLWJsdWUtMTAwOlx0IzIzMDA0QjtcbiRpbmstYmx1ZS05MDpcdCMyODBBNUY7XG4kaW5rLWJsdWUtNzA6XHQjMzIxNDc4O1xuJGluay1ibHVlLTUwOlx0IzQxMzI5QjtcbiRpbmstYmx1ZS0zMDpcdCM1RjVGQzM7XG4kaW5rLWJsdWUtMTA6XHQjODI4Q0UxO1xuJGluay1ibHVlLTg6XHQjQ0REMUYzO1xuJGluay1ibHVlLTU6XHQjZjdmNmZmO1xuJHByaW1hcnk6XHQgIFx0JGJsdWU7XG4kcHJpbWFyeS1kYXJrOiBcdCRkYXJrLWJsdWU7XG4kcHJpbWFyeS0xMDA6IFx0JGluay1ibHVlLTEwMDtcbiRwcmltYXJ5LTkwOiBcdCRpbmstYmx1ZS05MDtcbiRwcmltYXJ5LTcwOiBcdCRpbmstYmx1ZS03MDtcbiRwcmltYXJ5LTUwOiBcdCRpbmstYmx1ZS01MDtcbiRwcmltYXJ5LTMwOiBcdCRpbmstYmx1ZS0zMDtcbiRwcmltYXJ5LTEwOiBcdCRpbmstYmx1ZS0xMDtcbiRwcmltYXJ5LTg6IFx0JGluay1ibHVlLTg7XG4kcHJpbWFyeS01OiBcdCRpbmstYmx1ZS01O1xuXG5cbi8vIFNlY29uZGFyeVxuJHJlZDpcdFx0XHQjRTYxRTJEO1xuJGJyaWdodC1ibHVlOlx0IzMyMEZGRjtcbiRnb2xkOlx0XHRcdCNGRkJFMDA7XG5cbiRzZWNvbmRhcnktcmVkOlx0XHQkcmVkO1xuJHNlY29uZGFyeS1ibHVlOlx0JGJyaWdodC1ibHVlO1xuJHNlY29uZGFyeS1nb2xkOlx0JGdvbGQ7XG5cbi8vIE5ldXRyYWxcbiRibGFjazogXHQjMDAwMDAwO1xuJGRhcmstZ3JheTogIzc5NzI3OTtcbiR3YXJtLWdyYXk6XHQjQjRCNEI5O1xuJHNub3ctZ3JheTogI0YwRjBGMTtcbiR3aGl0ZTogXHQjRkZGRkZGO1xuXG5cbi8vIEV4dHJhc1xuJGNvbG9yczogKFxuXHQncHJpbWFyeSdcdFx0XHQ6ICRwcmltYXJ5LFxuXHQncHJpbWFyeS1kYXJrJ1x0XHQ6ICRwcmltYXJ5LWRhcmssXG5cdCdwcmltYXJ5LTEwMCcgXHRcdDogJHByaW1hcnktMTAwLFxuXHQncHJpbWFyeS05MCcgXHRcdDogJHByaW1hcnktOTAsXG5cdCdwcmltYXJ5LTcwJyBcdFx0OiAkcHJpbWFyeS03MCxcblx0J3ByaW1hcnktNTAnIFx0XHQ6ICRwcmltYXJ5LTUwLFxuXHQncHJpbWFyeS0zMCcgXHRcdDogJHByaW1hcnktMzAsXG5cdCdwcmltYXJ5LTEwJyBcdFx0OiAkcHJpbWFyeS0xMCxcblx0J3ByaW1hcnktOCcgXHRcdDogJHByaW1hcnktOCxcblx0J3ByaW1hcnktNScgXHRcdDogJHByaW1hcnktNSxcblx0J3JlZCdcdFx0XHRcdDogJHNlY29uZGFyeS1yZWQsXG5cdCdicmlnaHQtYmx1ZSdcdFx0OiAkc2Vjb25kYXJ5LWJsdWUsXG5cdCdnb2xkJ1x0XHRcdFx0OiAkc2Vjb25kYXJ5LWdvbGQsXG5cdCd3YXJtLWdyYXknXHRcdFx0OiAkd2FybS1ncmF5LFxuXHQnZGFyay1ncmF5J1x0XHRcdDogJGRhcmstZ3JheSxcblx0J2JsYWNrJ1x0XHRcdFx0OiAkYmxhY2ssXG5cdCd3aGl0ZSdcdFx0XHRcdDogJHdoaXRlXG4pO1xuXG4vLyBTYW4tc2VyaWYgRm9udHNcbiRhdmVuaXItcmVnOiAnQXZlbmlyIExUIFBybyBSZWd1bGFyJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhdmVuaXItbWVkOiAnQXZlbmlyIExUIFBybyBNZWRpdW0nLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGF2ZW5pci1kZW1pOiAnQXZlbmlyIExUIFBybyBEZW1pJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhdmVuaXItYm9sZDogJ0F2ZW5pciBMVCBQcm8gQm9sZCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFNlcmlmIEZvbnRzXG4kZ2VvcmdpYTogJ0dlb3JnaWEnLCBzZXJpZiAhZGVmYXVsdDsiLCJAdXNlICdzYXNzOm1hdGgnO1xuXG4vLyBTb21lIGhvdXNlIG1peGluczpcbkBmdW5jdGlvbiB1cmxFbmNvZGVDb2xvcigkc3RyaW5nKXtcblx0QGlmIHR5cGUtb2YoJHN0cmluZykgPT0gJ2NvbG9yJ3tcblx0XHQkaGV4OiBzdHItc2xpY2UoaWUtaGV4LXN0cigkc3RyaW5nKSwgNCk7XG5cdFx0JHN0cmluZzogdW5xdW90ZShcIiN7JGhleH1cIik7XG5cdH1cblx0JHN0cmluZzogJyUyMycgKyAkc3RyaW5nO1xuXHRAcmV0dXJuICRzdHJpbmc7XG59XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpe1xuXHRAcmV0dXJuIG1hdGguZGl2KCR2YWx1ZSwgJHZhbHVlICogMCArIDEpO1xufVxuQG1peGluIGZsdWlkLXR5cGUoJG1pbi12dywgJG1heC12dywgJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplKXtcblx0JHUxOiB1bml0KCRtaW4tdncpO1xuXHQkdTI6IHVuaXQoJG1heC12dyk7XG5cdCR1MzogdW5pdCgkbWluLWZvbnQtc2l6ZSk7XG5cdCR1NDogdW5pdCgkbWF4LWZvbnQtc2l6ZSk7XG5cdEBpZiAkdTEgPT0gJHUyIGFuZCAkdTEgPT0gJHUzIGFuZCAkdTEgPT0gJHU0e1xuXHRcdCZ7XG5cdFx0XHRmb250LXNpemU6ICRtaW4tZm9udC1zaXplO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi12dyl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogY2FsYygjeyRtaW4tZm9udC1zaXplfSArICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKiAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSkpO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC12dyl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJG1heC1mb250LXNpemU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4vLyDilIDilIDilIAgVjIgc2VjdGlvbiByaHl0aG0g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBUaGUgc2luZ2xlIHZlcnRpY2FsIHBhZGRpbmcgdG9rZW4gZXZlcnkgVjIgc2VjdGlvbiBibG9jayB1c2VzLiBCZWZvcmUgdGhpc1xuLy8gZXhpc3RlZCwgMjYgVjIgYmxvY2tzIGNhcnJpZWQgMTMgZGlmZmVyZW50IHRvcC9ib3R0b20gcGFpcmluZ3Mgc3RlcHBpbmcgYXRcbi8vIHR3byBkaWZmZXJlbnQgYnJlYWtwb2ludHM7IDQ4IOKGkiA4MCBpcyB0aGUgbWVkaWFuIG9mIHdoYXQgd2FzIGFscmVhZHkgdGhlcmVcbi8vIGFuZCBpbWFnZS1hbmQtaXRlbS1saXN0LVYyIC8gcmVzb3VyY2UtY2Fyb3VzZWwtVjIgLyBzb2NpYWwtcHJvb2YtdjIgYWxyZWFkeVxuLy8gbWF0Y2hlZCBpdCBleGFjdGx5LCBzbyBpdCBpcyB0aGUgc21hbGxlc3QgdG90YWwgbW92ZS5cbi8vXG4vLyBTdGVwcGluZyBhdCBgbGdgIChub3QgYG1kYCkgaXMgZGVsaWJlcmF0ZTogaXQgbGluZXMgdGhlIHZlcnRpY2FsIHN0ZXAgdXAgd2l0aFxuLy8gdGhlIGhvcml6b250YWwgZ3V0dGVyIHJhbXAgKDEuNXJlbSDihpIgNnJlbSBAbGcpIHRoYXQgMTkgYmxvY2tzIGFscmVhZHkgdXNlLCBzb1xuLy8gYSBzZWN0aW9uIGNoYW5nZXMgaXRzIHNwYWNpbmcgaW4gb25lIGRpcmVjdGlvbiBhdCBvbmUgd2lkdGguXG4vL1xuLy8gYCRzaWRlc2AgbGV0cyBhIGJsb2NrIHRha2UgdGhlIHRva2VuIG9uIG9uZSBlZGdlIHdoaWxlIG93bmluZyB0aGUgb3RoZXIg4oCUXG4vLyBjYXBhYmlsaXRpZXMtVjIgbmVlZHMgaXRzIG93biBib3R0b20gKGl0IHJlc2VydmVzIDYwcHggZm9yIGFuIGFic29sdXRlbHlcbi8vIHBvc2l0aW9uZWQgZWxlbWVudCkuIEFueXRoaW5nIG9wdGluZyBvdXQgZW50aXJlbHkganVzdCBkb2Vzbid0IGluY2x1ZGUgdGhpcy5cbiR2Mi1zZWN0aW9uLXBhZGRpbmctc206IDQ4cHg7XG4kdjItc2VjdGlvbi1wYWRkaW5nLWxnOiA4MHB4O1xuXG5AbWl4aW4gdjItc2VjdGlvbi1wYWRkaW5nKCRzaWRlczogYm90aCkge1xuXHRAaWYgJHNpZGVzID09IGJvdGggb3IgJHNpZGVzID09IHRvcCB7XG5cdFx0cGFkZGluZy10b3A6ICR2Mi1zZWN0aW9uLXBhZGRpbmctc207XG5cdH1cblx0QGlmICRzaWRlcyA9PSBib3RoIG9yICRzaWRlcyA9PSBib3R0b20ge1xuXHRcdHBhZGRpbmctYm90dG9tOiAkdjItc2VjdGlvbi1wYWRkaW5nLXNtO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gdG9wIHtcblx0XHRcdHBhZGRpbmctdG9wOiAkdjItc2VjdGlvbi1wYWRkaW5nLWxnO1xuXHRcdH1cblx0XHRAaWYgJHNpZGVzID09IGJvdGggb3IgJHNpZGVzID09IGJvdHRvbSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHYyLXNlY3Rpb24tcGFkZGluZy1sZztcblx0XHR9XG5cdH1cbn1cbi8vIOKUgOKUgOKUgCBHcmFkaWVudCB0ZXh0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRGVzY2VuZGVyIHJvb20gZm9yIGdyYWRpZW50LWNsaXBwZWQgdGV4dC5cbi8vXG4vLyBWMiBoZWFkaW5ncyB0YWtlIHRoZWlyIGNvbG91ciBmcm9tIGEgZ3JhZGllbnQgKmJhY2tncm91bmQqIGNsaXBwZWQgdG8gdGhlXG4vLyBnbHlwaHMgKGBiYWNrZ3JvdW5kLWNsaXA6IHRleHRgIHBsdXMgYSB0cmFuc3BhcmVudCB0ZXh0IGZpbGwpLiBBIGJhY2tncm91bmRcbi8vIG9ubHkgcGFpbnRzIGluc2lkZSB0aGUgZWxlbWVudCdzIGJveCwgc28gaW5rIGhhbmdpbmcgYmVsb3cgdGhhdCBib3ggaGFzXG4vLyBub3RoaW5nIHRvIHBhaW50IHdpdGggYW5kIHNpbXBseSBkaXNhcHBlYXJzLiBJdCBkb2Vzbid0IHJlYWQgYXMgY2xpcHBlZCDigJRcbi8vIHRoZSBib3R0b20gbG9vcCBvZiBhIFwiZ1wiIG9yIHRoZSB0YWlsIG9mIGEgXCJ5XCIgaXMganVzdCBhYnNlbnQg4oCUIHdoaWNoIGlzIHdoeVxuLy8gaXQgZ29lcyB1bm5vdGljZWQgdW50aWwgYW4gZWRpdG9yIGhhcHBlbnMgdG8gdHlwZSBvbmUgb250byB0aGUgbGFzdCBsaW5lLlxuLy9cbi8vIFRoZSBvdmVyaGFuZyBpcyBhIGNvbnNlcXVlbmNlIG9mIHRoZSB0aWdodCBlZGl0b3JpYWwgbGluZS1oZWlnaHRzIHRoZSBkZXNpZ25zXG4vLyB1c2UuIEF2ZW5pcidzIGRlc2NlbmRlciBpbmsgcmVhY2hlcyAwLjI0MGVtIGJlbG93IHRoZSBiYXNlbGluZSwgc28gY2xpcHBpbmdcbi8vIGJlZ2lucyB3aGVyZXZlciBsaW5lLWhlaWdodCBkcm9wcyBiZWxvdyB+MS4xNzQsIGFuZCBubyBWMiBoZWFkaW5nIGlzIGFib3ZlXG4vLyB0aGF0LiBPbmx5IHRoZSBmaW5hbCBsaW5lIGlzIGV2ZXIgYWZmZWN0ZWQ7IGludGVyaW9yIGxpbmVzIHNpdCBpbnNpZGUgdGhlIGJveC5cbi8vXG4vLyAwLjFlbSBjb3ZlcnMgdGhlIHdvcnN0IGNhc2UgKDkwcHggaGVhZGxpbmVzIGF0IGxpbmUtaGVpZ2h0IDEpIHdpdGggaGVhZHJvb20uXG4vLyBJbiBlbSBzbyBpdCB0cmFja3MgYSBoZWFkaW5nJ3MgcmVzcG9uc2l2ZSBzaXplcyDigJQgaW5jbHVkaW5nIGNsYW1wKCkg4oCUIHdpdGhvdXRcbi8vIHBlci1icmVha3BvaW50IG92ZXJyaWRlcy4gUmFpc2luZyBsaW5lLWhlaWdodCBwYXN0IH4xLjE3NCB3b3VsZCBhbHNvIGZpeCBpdCxcbi8vIGJ1dCB0aGF0IGxvb3NlbnMgZXZlcnkgbGluZSBvZiBhIG11bHRpLWxpbmUgaGVhZGluZyBieSAxMC0xNyUgYW5kIHRoZSB0aWdodFxuLy8gc2V0dGluZyBpcyB0aGUgZGVzaWduLlxuLy9cbi8vIE9ubHkgdGhlIGJvdHRvbSBuZWVkcyBpdDogdGhlIHRhbGxlc3QgaW5rIGluIHRoZSBmYWNlIHNpdHMgd2VsbCBpbnNpZGUgdGhlXG4vLyBsaW5lIGJveCB0b3AsIHNvIGFzY2VuZGVycyBhbHJlYWR5IGhhdmUgY2xlYXJhbmNlLlxuLy9cbi8vIE9uZSBzaWRlIGVmZmVjdCB3b3J0aCBrbm93aW5nOiBiYWNrZ3JvdW5kLW9yaWdpbiBpcyB0aGUgcGFkZGluZyBib3gsIHNvIHRoaXNcbi8vIGxlbmd0aGVucyB0aGUgZ3JhZGllbnQncyBwYWludGluZyBhcmVhIGJ5IHRoZSBzYW1lIDAuMWVtLiBUaGUgcmFtcCBzdHJldGNoZXNcbi8vIHdpdGggaXQgYW5kIHRoZSBjb2xvdXJzIGxhbmQgbWFyZ2luYWxseSBsb3dlciDigJQgdW5kZXIgMTAlIG9mIHRoZSByYW1wIG9uIGFcbi8vIHNpbmdsZS1saW5lIGhlYWRpbmcsIHByb3BvcnRpb25hbGx5IGxlc3MgYXMgbGluZXMgYXJlIGFkZGVkLiBEZWxpYmVyYXRlbHkgbm90XG4vLyBjb21wZW5zYXRlZCB3aXRoIGEgbmVnYXRpdmUgbWFyZ2luIGhlcmU6IGEgYmxvY2sgdGhhdCBzZXRzIG1hcmdpbi1ib3R0b21cbi8vIGFmdGVyIHRoZSBpbmNsdWRlIHdvdWxkIHNpbGVudGx5IGNhbmNlbCBpdC5cbi8vXG4vLyBUaGUgcm9vbSBhIGdpdmVuIHNldHRpbmcgYWN0dWFsbHkgbmVlZHMsIGluIGVtLCBpc1xuLy9cbi8vICAgaW5rX2Rlc2NlbnQgLSBmb250X2Rlc2NlbnQgKyAoY29udGVudF9hcmVhIC0gbGluZV9oZWlnaHQpIC8gMlxuLy9cbi8vIHdoaWNoIGZvciB0aGUgdGhyZWUgZmFjZXMgaW4gcGxheSBwdXRzIHRoZSBjbGlwcGluZyB0aHJlc2hvbGQgYXRcbi8vXG4vLyAgIEF2ZW5pciBMVCBQcm8gQm9sZCAgICAgaW5rIDAuMjQwMiAgZGVzY2VudCAwLjI3MDAgIGNvbnRlbnQgMS4yMzI1ICBsaCA8IDEuMTczXG4vLyAgIEF2ZW5pciBMVCBQcm8gTWVkaXVtICAgaW5rIDAuMjQwMiAgZGVzY2VudCAwLjI3MDAgIGNvbnRlbnQgMS4yMjAwICBsaCA8IDEuMTYwXG4vLyAgIEF2ZW5pciBOZXh0ICAgICAgICAgICAgaW5rIDAuMjQwMCAgZGVzY2VudCAwLjM2NTAgIGNvbnRlbnQgMS4zNjUwICBsaCA8IDEuMTE1XG4vL1xuLy8gQXZlbmlyIE5leHQncyBkZWVwZXIgZGVzY2VudCBtZXRyaWMgYnV5cyBpdCAwLjA2ZW0gb2Ygc2xhY2sgdGhlIExUIFBybyBmYWNlc1xuLy8gZG9uJ3QgaGF2ZSwgd2hpY2ggaXMgd2h5IHRoZSB0d28gYWNjb3JkaW9uIGhlYWRpbmdzIGF0IGxpbmUtaGVpZ2h0IDEuMTUgZG9uJ3Rcbi8vIGNsaXAgd2hpbGUgdGhlIExUIFBybyBoZWFkaW5ncyBhdCAxLjExMSBkby4gKENoZWNrZWQgdGhlIFdpbmRvd3MgZmFsbGJhY2sgdG9vOlxuLy8gZ2VuZXJpYyBzYW5zLXNlcmlmIGlzIDAuMjIxMiAvIDAuMjMwMCAvIDEuMTUwMCwgdGhyZXNob2xkIDEuMTMyLCBhbHNvIGNsZWFyLilcbi8vXG4vLyAkcm9vbSBleGlzdHMgZm9yIHRoZSBzaGFsbG93IHRpZXIuIEVsZXZlbiA0NXB4LzUwcHggaGVhZGluZ3Mgb3ZlcmhhbmcgYnlcbi8vIDEuNHB4OyB0aGUgZGVmYXVsdCAwLjFlbSB3b3VsZCBmaXggdGhhdCBhdCBhIGNvc3Qgb2YgNC41cHggb2YgZXh0cmEgZ2FwXG4vLyB1bmRlciBlYWNoIG9uZSwgc28gdGhleSB0YWtlIDAuMDVlbSBpbnN0ZWFkIOKAlCAyLjI1cHgsIHN0aWxsIDYwJSBoZWFkcm9vbSBvdmVyIHRoZSAxLjRweCxcbi8vIGZvciBhIGdhcCBjaGFuZ2UgdGhhdCBzdGF5cyB1bmRlciB0aGUgMnB4IHRoZSBpbmsgaXRzZWxmIG9jY3VwaWVzLiBBbnl0aGluZ1xuLy8gZGVlcGVyIHRoYW4gfjIuNXB4IHNob3VsZCB0YWtlIHRoZSBkZWZhdWx0LlxuQG1peGluIHYyLWdyYWRpZW50LXRleHQtZGVzY2VuZGVyLXJvb20oJHJvb206IDAuMWVtKSB7XG5cdHBhZGRpbmctYm90dG9tOiAkcm9vbTtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/