/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2014 Daniel Eden
*/@import url("https://fonts.googleapis.com/css?family=Oxygen:300,400,700&display=swap");.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}@keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}@keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -40px, 0);transform:translate3d(0, -40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -40px, 0);transform:translate3d(0, -40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible !important;backface-visibility:visible !important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@media print, screen and (min-width: 48em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 auto}}/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}main{display:block}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}input{overflow:visible}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;display:table;max-width:100%;padding:0;color:inherit;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}details{display:block}summary{display:list-item}menu{display:block}canvas{display:inline-block}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=48em&large=64em&xlarge=100em&xxlarge=120em"}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#f2f0f0;font-family:"Oxygen",sans-serifs;font-weight:normal;line-height:1.5;color:#807e7e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:0}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;line-height:1;cursor:pointer}[data-whatinput='mouse'] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}.row{max-width:100rem;margin-right:auto;margin-left:auto}.row::before,.row::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.row::after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-right:0;padding-left:0}.row .row{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 48em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}}@media print, screen and (min-width: 64em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}}@media screen and (min-width: 100em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}}.row .row.collapse{margin-right:0;margin-left:0}.row.expanded{max-width:none}.row.expanded .row{margin-right:auto;margin-left:auto}.row:not(.expanded) .row{max-width:none}.row.gutter-small>.column,.row.gutter-small>.columns{padding-right:.625rem;padding-left:.625rem}.row.gutter-medium>.column,.row.gutter-medium>.columns{padding-right:.9375rem;padding-left:.9375rem}.column,.columns{width:100%;float:left;padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 48em){.column,.columns{padding-right:.9375rem;padding-left:.9375rem}}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0%}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{float:left;width:100%}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{float:left;width:50%}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{float:left;width:33.33333%}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{float:left;width:25%}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{float:left;width:20%}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{float:left;width:16.66667%}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{float:left;width:14.28571%}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{float:left;width:12.5%}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-right:0;padding-left:0}.small-collapse .row{margin-right:0;margin-left:0}.expanded.row .small-collapse.row{margin-right:0;margin-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:.625rem;padding-left:.625rem}.small-centered{margin-right:auto;margin-left:auto}.small-centered,.small-centered:last-child:not(:first-child){float:none;clear:both}.small-uncentered,.small-push-0,.small-pull-0{position:static;float:left;margin-right:0;margin-left:0}@media print, screen and (min-width: 48em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0%}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{float:left;width:100%}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{float:left;width:50%}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{float:left;width:33.33333%}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{float:left;width:25%}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{float:left;width:20%}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{float:left;width:16.66667%}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{float:left;width:14.28571%}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{float:left;width:12.5%}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-right:0;padding-left:0}.medium-collapse .row{margin-right:0;margin-left:0}.expanded.row .medium-collapse.row{margin-right:0;margin-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}.medium-centered{margin-right:auto;margin-left:auto}.medium-centered,.medium-centered:last-child:not(:first-child){float:none;clear:both}.medium-uncentered,.medium-push-0,.medium-pull-0{position:static;float:left;margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0%}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{float:left;width:100%}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{float:left;width:50%}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{float:left;width:33.33333%}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{float:left;width:25%}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{float:left;width:20%}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{float:left;width:16.66667%}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{float:left;width:14.28571%}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{float:left;width:12.5%}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-right:0;padding-left:0}.large-collapse .row{margin-right:0;margin-left:0}.expanded.row .large-collapse.row{margin-right:0;margin-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}.large-centered{margin-right:auto;margin-left:auto}.large-centered,.large-centered:last-child:not(:first-child){float:none;clear:both}.large-uncentered,.large-push-0,.large-pull-0{position:static;float:left;margin-right:0;margin-left:0}}@media screen and (min-width: 100em){.xlarge-1{width:8.33333%}.xlarge-push-1{position:relative;left:8.33333%}.xlarge-pull-1{position:relative;left:-8.33333%}.xlarge-offset-0{margin-left:0%}.xlarge-2{width:16.66667%}.xlarge-push-2{position:relative;left:16.66667%}.xlarge-pull-2{position:relative;left:-16.66667%}.xlarge-offset-1{margin-left:8.33333%}.xlarge-3{width:25%}.xlarge-push-3{position:relative;left:25%}.xlarge-pull-3{position:relative;left:-25%}.xlarge-offset-2{margin-left:16.66667%}.xlarge-4{width:33.33333%}.xlarge-push-4{position:relative;left:33.33333%}.xlarge-pull-4{position:relative;left:-33.33333%}.xlarge-offset-3{margin-left:25%}.xlarge-5{width:41.66667%}.xlarge-push-5{position:relative;left:41.66667%}.xlarge-pull-5{position:relative;left:-41.66667%}.xlarge-offset-4{margin-left:33.33333%}.xlarge-6{width:50%}.xlarge-push-6{position:relative;left:50%}.xlarge-pull-6{position:relative;left:-50%}.xlarge-offset-5{margin-left:41.66667%}.xlarge-7{width:58.33333%}.xlarge-push-7{position:relative;left:58.33333%}.xlarge-pull-7{position:relative;left:-58.33333%}.xlarge-offset-6{margin-left:50%}.xlarge-8{width:66.66667%}.xlarge-push-8{position:relative;left:66.66667%}.xlarge-pull-8{position:relative;left:-66.66667%}.xlarge-offset-7{margin-left:58.33333%}.xlarge-9{width:75%}.xlarge-push-9{position:relative;left:75%}.xlarge-pull-9{position:relative;left:-75%}.xlarge-offset-8{margin-left:66.66667%}.xlarge-10{width:83.33333%}.xlarge-push-10{position:relative;left:83.33333%}.xlarge-pull-10{position:relative;left:-83.33333%}.xlarge-offset-9{margin-left:75%}.xlarge-11{width:91.66667%}.xlarge-push-11{position:relative;left:91.66667%}.xlarge-pull-11{position:relative;left:-91.66667%}.xlarge-offset-10{margin-left:83.33333%}.xlarge-12{width:100%}.xlarge-offset-11{margin-left:91.66667%}.xlarge-up-1>.column,.xlarge-up-1>.columns{float:left;width:100%}.xlarge-up-1>.column:nth-of-type(1n),.xlarge-up-1>.columns:nth-of-type(1n){clear:none}.xlarge-up-1>.column:nth-of-type(1n+1),.xlarge-up-1>.columns:nth-of-type(1n+1){clear:both}.xlarge-up-1>.column:last-child,.xlarge-up-1>.columns:last-child{float:left}.xlarge-up-2>.column,.xlarge-up-2>.columns{float:left;width:50%}.xlarge-up-2>.column:nth-of-type(1n),.xlarge-up-2>.columns:nth-of-type(1n){clear:none}.xlarge-up-2>.column:nth-of-type(2n+1),.xlarge-up-2>.columns:nth-of-type(2n+1){clear:both}.xlarge-up-2>.column:last-child,.xlarge-up-2>.columns:last-child{float:left}.xlarge-up-3>.column,.xlarge-up-3>.columns{float:left;width:33.33333%}.xlarge-up-3>.column:nth-of-type(1n),.xlarge-up-3>.columns:nth-of-type(1n){clear:none}.xlarge-up-3>.column:nth-of-type(3n+1),.xlarge-up-3>.columns:nth-of-type(3n+1){clear:both}.xlarge-up-3>.column:last-child,.xlarge-up-3>.columns:last-child{float:left}.xlarge-up-4>.column,.xlarge-up-4>.columns{float:left;width:25%}.xlarge-up-4>.column:nth-of-type(1n),.xlarge-up-4>.columns:nth-of-type(1n){clear:none}.xlarge-up-4>.column:nth-of-type(4n+1),.xlarge-up-4>.columns:nth-of-type(4n+1){clear:both}.xlarge-up-4>.column:last-child,.xlarge-up-4>.columns:last-child{float:left}.xlarge-up-5>.column,.xlarge-up-5>.columns{float:left;width:20%}.xlarge-up-5>.column:nth-of-type(1n),.xlarge-up-5>.columns:nth-of-type(1n){clear:none}.xlarge-up-5>.column:nth-of-type(5n+1),.xlarge-up-5>.columns:nth-of-type(5n+1){clear:both}.xlarge-up-5>.column:last-child,.xlarge-up-5>.columns:last-child{float:left}.xlarge-up-6>.column,.xlarge-up-6>.columns{float:left;width:16.66667%}.xlarge-up-6>.column:nth-of-type(1n),.xlarge-up-6>.columns:nth-of-type(1n){clear:none}.xlarge-up-6>.column:nth-of-type(6n+1),.xlarge-up-6>.columns:nth-of-type(6n+1){clear:both}.xlarge-up-6>.column:last-child,.xlarge-up-6>.columns:last-child{float:left}.xlarge-up-7>.column,.xlarge-up-7>.columns{float:left;width:14.28571%}.xlarge-up-7>.column:nth-of-type(1n),.xlarge-up-7>.columns:nth-of-type(1n){clear:none}.xlarge-up-7>.column:nth-of-type(7n+1),.xlarge-up-7>.columns:nth-of-type(7n+1){clear:both}.xlarge-up-7>.column:last-child,.xlarge-up-7>.columns:last-child{float:left}.xlarge-up-8>.column,.xlarge-up-8>.columns{float:left;width:12.5%}.xlarge-up-8>.column:nth-of-type(1n),.xlarge-up-8>.columns:nth-of-type(1n){clear:none}.xlarge-up-8>.column:nth-of-type(8n+1),.xlarge-up-8>.columns:nth-of-type(8n+1){clear:both}.xlarge-up-8>.column:last-child,.xlarge-up-8>.columns:last-child{float:left}.xlarge-collapse>.column,.xlarge-collapse>.columns{padding-right:0;padding-left:0}.xlarge-collapse .row{margin-right:0;margin-left:0}.expanded.row .xlarge-collapse.row{margin-right:0;margin-left:0}.xlarge-uncollapse>.column,.xlarge-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}.xlarge-centered{margin-right:auto;margin-left:auto}.xlarge-centered,.xlarge-centered:last-child:not(:first-child){float:none;clear:both}.xlarge-uncentered,.xlarge-push-0,.xlarge-pull-0{position:static;float:left;margin-right:0;margin-left:0}}.column-block{margin-bottom:1.25rem}.column-block>:last-child{margin-bottom:0}@media print, screen and (min-width: 48em){.column-block{margin-bottom:1.875rem}.column-block>:last-child{margin-bottom:0}}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:100rem;margin:0 auto}@media print, screen and (min-width: 48em){.grid-container{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.fluid{padding-right:.625rem;padding-left:.625rem;max-width:100%;margin:0 auto}@media print, screen and (min-width: 48em){.grid-container.fluid{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin:0 auto}.grid-x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.cell{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0px;min-width:0px;width:100%}.cell.auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.cell.shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-shrink,.grid-x>.small-full,.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 48em){.grid-x>.medium-shrink,.grid-x>.medium-full,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media screen and (min-width: 100em){.grid-x>.xlarge-shrink,.grid-x>.xlarge-full,.grid-x>.xlarge-1,.grid-x>.xlarge-2,.grid-x>.xlarge-3,.grid-x>.xlarge-4,.grid-x>.xlarge-5,.grid-x>.xlarge-6,.grid-x>.xlarge-7,.grid-x>.xlarge-8,.grid-x>.xlarge-9,.grid-x>.xlarge-10,.grid-x>.xlarge-11,.grid-x>.xlarge-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print, screen and (min-width: 48em){.grid-x>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.medium-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.grid-x>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.large-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}@media screen and (min-width: 100em){.grid-x>.xlarge-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.xlarge-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.grid-x>.xlarge-1{width:8.33333%}.grid-x>.xlarge-2{width:16.66667%}.grid-x>.xlarge-3{width:25%}.grid-x>.xlarge-4{width:33.33333%}.grid-x>.xlarge-5{width:41.66667%}.grid-x>.xlarge-6{width:50%}.grid-x>.xlarge-7{width:58.33333%}.grid-x>.xlarge-8{width:66.66667%}.grid-x>.xlarge-9{width:75%}.grid-x>.xlarge-10{width:83.33333%}.grid-x>.xlarge-11{width:91.66667%}.grid-x>.xlarge-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print, screen and (min-width: 48em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print, screen and (min-width: 48em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print, screen and (min-width: 48em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}@media screen and (min-width: 100em){.grid-margin-x>.xlarge-auto{width:auto}.grid-margin-x>.xlarge-shrink{width:auto}.grid-margin-x>.xlarge-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.xlarge-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.xlarge-3{width:calc(25% - 1.875rem)}.grid-margin-x>.xlarge-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.xlarge-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.xlarge-6{width:calc(50% - 1.875rem)}.grid-margin-x>.xlarge-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.xlarge-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.xlarge-9{width:calc(75% - 1.875rem)}.grid-margin-x>.xlarge-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.xlarge-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.xlarge-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 48em){.grid-padding-x .grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 48em){.grid-container:not(.full)>.grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 48em){.grid-padding-x>.cell{padding-right:.9375rem;padding-left:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print, screen and (min-width: 48em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print, screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}@media screen and (min-width: 100em){.xlarge-up-1>.cell{width:100%}.xlarge-up-2>.cell{width:50%}.xlarge-up-3>.cell{width:33.33333%}.xlarge-up-4>.cell{width:25%}.xlarge-up-5>.cell{width:20%}.xlarge-up-6>.cell{width:16.66667%}.xlarge-up-7>.cell{width:14.28571%}.xlarge-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print, screen and (min-width: 48em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media screen and (min-width: 100em){.grid-margin-x.xlarge-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.xlarge-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.xlarge-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.xlarge-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.xlarge-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.xlarge-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.xlarge-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.xlarge-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print, screen and (min-width: 48em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.33333%}.small-margin-collapse>.large-2{width:16.66667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.33333%}.small-margin-collapse>.large-5{width:41.66667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.33333%}.small-margin-collapse>.large-8{width:66.66667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.33333%}.small-margin-collapse>.large-11{width:91.66667%}.small-margin-collapse>.large-12{width:100%}}@media screen and (min-width: 100em){.small-margin-collapse>.xlarge-1{width:8.33333%}.small-margin-collapse>.xlarge-2{width:16.66667%}.small-margin-collapse>.xlarge-3{width:25%}.small-margin-collapse>.xlarge-4{width:33.33333%}.small-margin-collapse>.xlarge-5{width:41.66667%}.small-margin-collapse>.xlarge-6{width:50%}.small-margin-collapse>.xlarge-7{width:58.33333%}.small-margin-collapse>.xlarge-8{width:66.66667%}.small-margin-collapse>.xlarge-9{width:75%}.small-margin-collapse>.xlarge-10{width:83.33333%}.small-margin-collapse>.xlarge-11{width:91.66667%}.small-margin-collapse>.xlarge-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print, screen and (min-width: 48em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 48em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 48em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.33333%}.medium-margin-collapse>.large-2{width:16.66667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.33333%}.medium-margin-collapse>.large-5{width:41.66667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.33333%}.medium-margin-collapse>.large-8{width:66.66667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.33333%}.medium-margin-collapse>.large-11{width:91.66667%}.medium-margin-collapse>.large-12{width:100%}}@media screen and (min-width: 100em){.medium-margin-collapse>.xlarge-1{width:8.33333%}.medium-margin-collapse>.xlarge-2{width:16.66667%}.medium-margin-collapse>.xlarge-3{width:25%}.medium-margin-collapse>.xlarge-4{width:33.33333%}.medium-margin-collapse>.xlarge-5{width:41.66667%}.medium-margin-collapse>.xlarge-6{width:50%}.medium-margin-collapse>.xlarge-7{width:58.33333%}.medium-margin-collapse>.xlarge-8{width:66.66667%}.medium-margin-collapse>.xlarge-9{width:75%}.medium-margin-collapse>.xlarge-10{width:83.33333%}.medium-margin-collapse>.xlarge-11{width:91.66667%}.medium-margin-collapse>.xlarge-12{width:100%}}@media print, screen and (min-width: 48em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.33333%}.large-margin-collapse>.small-2{width:16.66667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.33333%}.large-margin-collapse>.small-5{width:41.66667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.33333%}.large-margin-collapse>.small-8{width:66.66667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.33333%}.large-margin-collapse>.small-11{width:91.66667%}.large-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.33333%}.large-margin-collapse>.medium-2{width:16.66667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.33333%}.large-margin-collapse>.large-2{width:16.66667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.33333%}.large-margin-collapse>.large-5{width:41.66667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.33333%}.large-margin-collapse>.large-8{width:66.66667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.33333%}.large-margin-collapse>.large-11{width:91.66667%}.large-margin-collapse>.large-12{width:100%}}@media screen and (min-width: 100em){.large-margin-collapse>.xlarge-1{width:8.33333%}.large-margin-collapse>.xlarge-2{width:16.66667%}.large-margin-collapse>.xlarge-3{width:25%}.large-margin-collapse>.xlarge-4{width:33.33333%}.large-margin-collapse>.xlarge-5{width:41.66667%}.large-margin-collapse>.xlarge-6{width:50%}.large-margin-collapse>.xlarge-7{width:58.33333%}.large-margin-collapse>.xlarge-8{width:66.66667%}.large-margin-collapse>.xlarge-9{width:75%}.large-margin-collapse>.xlarge-10{width:83.33333%}.large-margin-collapse>.xlarge-11{width:91.66667%}.large-margin-collapse>.xlarge-12{width:100%}}@media print, screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}@media screen and (min-width: 100em){.xlarge-margin-collapse{margin-right:0;margin-left:0}.xlarge-margin-collapse>.cell{margin-right:0;margin-left:0}}@media screen and (min-width: 100em){.xlarge-margin-collapse>.small-1{width:8.33333%}.xlarge-margin-collapse>.small-2{width:16.66667%}.xlarge-margin-collapse>.small-3{width:25%}.xlarge-margin-collapse>.small-4{width:33.33333%}.xlarge-margin-collapse>.small-5{width:41.66667%}.xlarge-margin-collapse>.small-6{width:50%}.xlarge-margin-collapse>.small-7{width:58.33333%}.xlarge-margin-collapse>.small-8{width:66.66667%}.xlarge-margin-collapse>.small-9{width:75%}.xlarge-margin-collapse>.small-10{width:83.33333%}.xlarge-margin-collapse>.small-11{width:91.66667%}.xlarge-margin-collapse>.small-12{width:100%}}@media screen and (min-width: 100em){.xlarge-margin-collapse>.medium-1{width:8.33333%}.xlarge-margin-collapse>.medium-2{width:16.66667%}.xlarge-margin-collapse>.medium-3{width:25%}.xlarge-margin-collapse>.medium-4{width:33.33333%}.xlarge-margin-collapse>.medium-5{width:41.66667%}.xlarge-margin-collapse>.medium-6{width:50%}.xlarge-margin-collapse>.medium-7{width:58.33333%}.xlarge-margin-collapse>.medium-8{width:66.66667%}.xlarge-margin-collapse>.medium-9{width:75%}.xlarge-margin-collapse>.medium-10{width:83.33333%}.xlarge-margin-collapse>.medium-11{width:91.66667%}.xlarge-margin-collapse>.medium-12{width:100%}}@media screen and (min-width: 100em){.xlarge-margin-collapse>.large-1{width:8.33333%}.xlarge-margin-collapse>.large-2{width:16.66667%}.xlarge-margin-collapse>.large-3{width:25%}.xlarge-margin-collapse>.large-4{width:33.33333%}.xlarge-margin-collapse>.large-5{width:41.66667%}.xlarge-margin-collapse>.large-6{width:50%}.xlarge-margin-collapse>.large-7{width:58.33333%}.xlarge-margin-collapse>.large-8{width:66.66667%}.xlarge-margin-collapse>.large-9{width:75%}.xlarge-margin-collapse>.large-10{width:83.33333%}.xlarge-margin-collapse>.large-11{width:91.66667%}.xlarge-margin-collapse>.large-12{width:100%}}@media screen and (min-width: 100em){.xlarge-margin-collapse>.xlarge-1{width:8.33333%}.xlarge-margin-collapse>.xlarge-2{width:16.66667%}.xlarge-margin-collapse>.xlarge-3{width:25%}.xlarge-margin-collapse>.xlarge-4{width:33.33333%}.xlarge-margin-collapse>.xlarge-5{width:41.66667%}.xlarge-margin-collapse>.xlarge-6{width:50%}.xlarge-margin-collapse>.xlarge-7{width:58.33333%}.xlarge-margin-collapse>.xlarge-8{width:66.66667%}.xlarge-margin-collapse>.xlarge-9{width:75%}.xlarge-margin-collapse>.xlarge-10{width:83.33333%}.xlarge-margin-collapse>.xlarge-11{width:91.66667%}.xlarge-margin-collapse>.xlarge-12{width:100%}}@media screen and (min-width: 100em){.xlarge-padding-collapse{margin-right:0;margin-left:0}.xlarge-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print, screen and (min-width: 48em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + .9375rem)}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print, screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + .9375rem)}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media screen and (min-width: 100em){.xlarge-offset-0{margin-left:0%}.grid-margin-x>.xlarge-offset-0{margin-left:calc(0% + .9375rem)}.xlarge-offset-1{margin-left:8.33333%}.grid-margin-x>.xlarge-offset-1{margin-left:calc(8.33333% + .9375rem)}.xlarge-offset-2{margin-left:16.66667%}.grid-margin-x>.xlarge-offset-2{margin-left:calc(16.66667% + .9375rem)}.xlarge-offset-3{margin-left:25%}.grid-margin-x>.xlarge-offset-3{margin-left:calc(25% + .9375rem)}.xlarge-offset-4{margin-left:33.33333%}.grid-margin-x>.xlarge-offset-4{margin-left:calc(33.33333% + .9375rem)}.xlarge-offset-5{margin-left:41.66667%}.grid-margin-x>.xlarge-offset-5{margin-left:calc(41.66667% + .9375rem)}.xlarge-offset-6{margin-left:50%}.grid-margin-x>.xlarge-offset-6{margin-left:calc(50% + .9375rem)}.xlarge-offset-7{margin-left:58.33333%}.grid-margin-x>.xlarge-offset-7{margin-left:calc(58.33333% + .9375rem)}.xlarge-offset-8{margin-left:66.66667%}.grid-margin-x>.xlarge-offset-8{margin-left:calc(66.66667% + .9375rem)}.xlarge-offset-9{margin-left:75%}.grid-margin-x>.xlarge-offset-9{margin-left:calc(75% + .9375rem)}.xlarge-offset-10{margin-left:83.33333%}.grid-margin-x>.xlarge-offset-10{margin-left:calc(83.33333% + .9375rem)}.xlarge-offset-11{margin-left:91.66667%}.grid-margin-x>.xlarge-offset-11{margin-left:calc(91.66667% + .9375rem)}}.grid-y{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.grid-y>.cell{width:auto}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-shrink,.grid-y>.small-full,.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 48em){.grid-y>.medium-shrink,.grid-y>.medium-full,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media screen and (min-width: 100em){.grid-y>.xlarge-shrink,.grid-y>.xlarge-full,.grid-y>.xlarge-1,.grid-y>.xlarge-2,.grid-y>.xlarge-3,.grid-y>.xlarge-4,.grid-y>.xlarge-5,.grid-y>.xlarge-6,.grid-y>.xlarge-7,.grid-y>.xlarge-8,.grid-y>.xlarge-9,.grid-y>.xlarge-10,.grid-y>.xlarge-11,.grid-y>.xlarge-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-y>.small-1{height:8.33333%}.grid-y>.small-2{height:16.66667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.33333%}.grid-y>.small-5{height:41.66667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.33333%}.grid-y>.small-8{height:66.66667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.33333%}.grid-y>.small-11{height:91.66667%}.grid-y>.small-12{height:100%}@media print, screen and (min-width: 48em){.grid-y>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print, screen and (min-width: 64em){.grid-y>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.33333%}.grid-y>.large-2{height:16.66667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.33333%}.grid-y>.large-5{height:41.66667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.33333%}.grid-y>.large-8{height:66.66667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.33333%}.grid-y>.large-11{height:91.66667%}.grid-y>.large-12{height:100%}}@media screen and (min-width: 100em){.grid-y>.xlarge-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.xlarge-shrink{height:auto}.grid-y>.xlarge-1{height:8.33333%}.grid-y>.xlarge-2{height:16.66667%}.grid-y>.xlarge-3{height:25%}.grid-y>.xlarge-4{height:33.33333%}.grid-y>.xlarge-5{height:41.66667%}.grid-y>.xlarge-6{height:50%}.grid-y>.xlarge-7{height:58.33333%}.grid-y>.xlarge-8{height:66.66667%}.grid-y>.xlarge-9{height:75%}.grid-y>.xlarge-10{height:83.33333%}.grid-y>.xlarge-11{height:91.66667%}.grid-y>.xlarge-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 48em){.grid-padding-y .grid-padding-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 48em){.grid-padding-y>.cell{padding-top:.9375rem;padding-bottom:.9375rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 48em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 48em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 48em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}@media screen and (min-width: 100em){.grid-margin-y>.xlarge-auto{height:auto}.grid-margin-y>.xlarge-shrink{height:auto}.grid-margin-y>.xlarge-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.xlarge-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.xlarge-3{height:calc(25% - 1.875rem)}.grid-margin-y>.xlarge-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.xlarge-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.xlarge-6{height:calc(50% - 1.875rem)}.grid-margin-y>.xlarge-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.xlarge-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.xlarge-9{height:calc(75% - 1.875rem)}.grid-margin-y>.xlarge-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.xlarge-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.xlarge-12{height:calc(100% - 1.875rem)}}.grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}@media print, screen and (min-width: 48em){.medium-grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.medium-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}@media print, screen and (min-width: 64em){.large-grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.large-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}@media screen and (min-width: 100em){.xlarge-grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .xlarge-grid-frame{width:100%}.xlarge-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.xlarge-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.xlarge-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.xlarge-cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}.grid-y.grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}@media print, screen and (min-width: 48em){.grid-y.medium-grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}@media print, screen and (min-width: 64em){.grid-y.large-grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}@media screen and (min-width: 100em){.grid-y.xlarge-grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print, screen and (min-width: 48em){.cell .grid-y.medium-grid-frame{height:100%}}@media print, screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}@media screen and (min-width: 100em){.cell .grid-y.xlarge-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 48em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 48em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 48em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}@media screen and (min-width: 100em){.grid-margin-y>.xlarge-auto{height:auto}.grid-margin-y>.xlarge-shrink{height:auto}.grid-margin-y>.xlarge-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.xlarge-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.xlarge-3{height:calc(25% - 1.875rem)}.grid-margin-y>.xlarge-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.xlarge-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.xlarge-6{height:calc(50% - 1.875rem)}.grid-margin-y>.xlarge-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.xlarge-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.xlarge-9{height:calc(75% - 1.875rem)}.grid-margin-y>.xlarge-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.xlarge-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.xlarge-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print, screen and (min-width: 48em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media screen and (min-width: 100em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 48em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}@media screen and (min-width: 100em){.grid-margin-y.xlarge-grid-frame{height:calc(100vh + 1.875rem)}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Oxygen",sans-serifs;font-style:normal;font-weight:normal;color:inherit;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#cccaca}h1,.h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.1875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 48em){h1,.h1{font-size:4.5rem}h2,.h2{font-size:3rem}h3,.h3{font-size:2.25rem}h4,.h4{font-size:1.875rem}h5,.h5{font-size:1.5rem}h6,.h6{font-size:1.25rem}}a{line-height:inherit;color:#807e7e;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#262626}a img{border:0}hr{clear:both;max-width:100rem;height:0;margin:0;border-top:0;border-right:0;border-bottom:1px solid #f2f0f0;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:0 0 0 1.6875rem;border-left:5px solid #313131}blockquote,blockquote p{line-height:1.6;color:#262626}cite{display:block;font-size:1rem;color:#807e7e}cite:before{content:"— "}abbr,abbr[title]{border-bottom:1px dotted #262626;cursor:help;text-decoration:none}figure{margin:0}code{padding:.125rem .3125rem .0625rem;border:1px solid #cccaca;background-color:#f2f0f0;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#262626}kbd{margin:0;padding:.125rem .25rem 0;background-color:#f2f0f0;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#262626}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 48em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}@media screen and (min-width: 100em){.xlarge-text-left{text-align:left}.xlarge-text-right{text-align:right}.xlarge-text-center{text-align:center}.xlarge-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;-webkit-box-shadow:none !important;box-shadow:none !important;color:black !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.button{display:inline-block;vertical-align:middle;margin:0;font-family:inherit;padding:21px 28px;-webkit-appearance:none;border:1px solid transparent;border-radius:0;-webkit-transition:background-color 0.25s ease-out,color 0.25s ease-out;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-size:1rem;line-height:1;text-align:center;cursor:pointer;background-color:#262626;color:#e9e9f2}[data-whatinput='mouse'] .button{outline:0}.button:hover,.button:focus{background-color:#202020;color:#e9e9f2}.button.tiny{font-size:.75rem}.button.small{font-size:.875rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button.primary{background-color:#262626;color:#e9e9f2}.button.primary:hover,.button.primary:focus{background-color:#1e1e1e;color:#e9e9f2}.button.secondary{background-color:#807e7e;color:#e9e9f2}.button.secondary:hover,.button.secondary:focus{background-color:#666565;color:#e9e9f2}.button.success{background-color:#3adb76;color:#313131}.button.success:hover,.button.success:focus{background-color:#22bb5b;color:#313131}.button.warning{background-color:#ffae00;color:#313131}.button.warning:hover,.button.warning:focus{background-color:#cc8b00;color:#313131}.button.alert{background-color:#cc4b37;color:#e9e9f2}.button.alert:hover,.button.alert:focus{background-color:#a53b2a;color:#e9e9f2}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled,.button.disabled:hover,.button.disabled:focus,.button[disabled],.button[disabled]:hover,.button[disabled]:focus{background-color:#262626;color:#e9e9f2}.button.disabled.primary,.button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary,.button.disabled.primary:hover,.button.disabled.primary:focus,.button[disabled].primary,.button[disabled].primary:hover,.button[disabled].primary:focus{background-color:#262626;color:#e9e9f2}.button.disabled.secondary,.button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#807e7e;color:#e9e9f2}.button.disabled.success,.button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#3adb76;color:#313131}.button.disabled.warning,.button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#ffae00;color:#313131}.button.disabled.alert,.button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cc4b37;color:#e9e9f2}.button.hollow{border:1px solid #262626;color:#262626}.button.hollow,.button.hollow:hover,.button.hollow:focus{background-color:transparent}.button.hollow.disabled,.button.hollow.disabled:hover,.button.hollow.disabled:focus,.button.hollow[disabled],.button.hollow[disabled]:hover,.button.hollow[disabled]:focus{background-color:transparent}.button.hollow:hover,.button.hollow:focus{border-color:#131313;color:#131313}.button.hollow:hover.disabled,.button.hollow:hover[disabled],.button.hollow:focus.disabled,.button.hollow:focus[disabled]{border:1px solid #262626;color:#262626}.button.hollow.primary{border:1px solid #262626;color:#262626}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#131313;color:#131313}.button.hollow.primary:hover.disabled,.button.hollow.primary:hover[disabled],.button.hollow.primary:focus.disabled,.button.hollow.primary:focus[disabled]{border:1px solid #262626;color:#262626}.button.hollow.secondary{border:1px solid #807e7e;color:#807e7e}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#403f3f;color:#403f3f}.button.hollow.secondary:hover.disabled,.button.hollow.secondary:hover[disabled],.button.hollow.secondary:focus.disabled,.button.hollow.secondary:focus[disabled]{border:1px solid #807e7e;color:#807e7e}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#157539;color:#157539}.button.hollow.success:hover.disabled,.button.hollow.success:hover[disabled],.button.hollow.success:focus.disabled,.button.hollow.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#805700;color:#805700}.button.hollow.warning:hover.disabled,.button.hollow.warning:hover[disabled],.button.hollow.warning:focus.disabled,.button.hollow.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.hollow.alert{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#67251a;color:#67251a}.button.hollow.alert:hover.disabled,.button.hollow.alert:hover[disabled],.button.hollow.alert:focus.disabled,.button.hollow.alert:focus[disabled]{border:1px solid #cc4b37;color:#cc4b37}.button.clear{border:1px solid #262626;color:#262626}.button.clear,.button.clear:hover,.button.clear:focus{background-color:transparent}.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{background-color:transparent}.button.clear:hover,.button.clear:focus{border-color:#131313;color:#131313}.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus.disabled,.button.clear:focus[disabled]{border:1px solid #262626;color:#262626}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear:hover,.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus,.button.clear:focus.disabled,.button.clear:focus[disabled]{border-color:transparent}.button.clear.primary{border:1px solid #262626;color:#262626}.button.clear.primary:hover,.button.clear.primary:focus{border-color:#131313;color:#131313}.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border:1px solid #262626;color:#262626}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary:hover,.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus,.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border-color:transparent}.button.clear.secondary{border:1px solid #807e7e;color:#807e7e}.button.clear.secondary:hover,.button.clear.secondary:focus{border-color:#403f3f;color:#403f3f}.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border:1px solid #807e7e;color:#807e7e}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary:hover,.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus,.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border-color:transparent}.button.clear.success{border:1px solid #3adb76;color:#3adb76}.button.clear.success:hover,.button.clear.success:focus{border-color:#157539;color:#157539}.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success:hover,.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus,.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border-color:transparent}.button.clear.warning{border:1px solid #ffae00;color:#ffae00}.button.clear.warning:hover,.button.clear.warning:focus{border-color:#805700;color:#805700}.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning:hover,.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus,.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border-color:transparent}.button.clear.alert{border:1px solid #cc4b37;color:#cc4b37}.button.clear.alert:hover,.button.clear.alert:focus{border-color:#67251a;color:#67251a}.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border:1px solid #cc4b37;color:#cc4b37}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert:hover,.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus,.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border-color:transparent}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fff transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:28px}.button.dropdown.hollow::after{border-top-color:#262626}.button.dropdown.hollow.primary::after{border-top-color:#262626}.button.dropdown.hollow.secondary::after{border-top-color:#807e7e}.button.dropdown.hollow.success::after{border-top-color:#3adb76}.button.dropdown.hollow.warning::after{border-top-color:#ffae00}.button.dropdown.hollow.alert::after{border-top-color:#cc4b37}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.button:focus{text-decoration:none}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.6875rem;margin:0 0 1.25rem;padding:.625rem 1.25rem;border:1px solid #f2f0f0;border-radius:0;background-color:#fff;-webkit-box-shadow:none;box-shadow:none;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#262626;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:1px solid #8a8a8a;background-color:none;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#cccaca}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#cccaca}input::placeholder,textarea::placeholder{color:#cccaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#f2f0f0;cursor:not-allowed}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type='search']{-webkit-box-sizing:border-box;box-sizing:border-box}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1.25rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.625rem;margin-right:1.25rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.625rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#262626}label.middle{margin:0 0 1.25rem;padding:.6875rem 0}.help-text{margin-top:-.625rem;font-size:.8125rem;font-style:italic;color:#262626}.input-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1.25rem;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child{border-radius:0 0 0 0}.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-label,.input-group-field,.input-group-button,.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #cccaca;background:#f2f0f0;color:#262626;text-align:center;white-space:nowrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{height:auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.625rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #f2f0f0}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.6875rem;margin:0 0 1.25rem;padding:.625rem 1.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #f2f0f0;border-radius:0;background-color:#fff;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#262626;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -1.25rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.875rem;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #8a8a8a;background-color:none;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}select:disabled{background-color:#f2f0f0;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){border-color:#cc4b37;background-color:#faedeb}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.is-invalid-label{color:#cc4b37}.form-error{display:none;margin-top:-.625rem;margin-bottom:1.25rem;font-size:.75rem;font-weight:bold;color:#cc4b37}.form-error.is-visible{display:block}.accordion{margin-left:0;background:rgba(0,0,0,0);list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0 0 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{position:relative;display:block;padding:1.25rem 0;border:1px solid #f2f0f0;border-bottom:0;font-size:.75rem;line-height:1;color:#262626}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #f2f0f0;border-radius:0 0 0 0}.accordion-title:hover,.accordion-title:focus{background-color:rgba(0,0,0,0)}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:'+'}.is-active>.accordion-title::before{content:'\2013'}.accordion-content{display:none;padding:1rem;border:1px solid #f2f0f0;border-bottom:0;background-color:rgba(0,0,0,0);color:#666565}:last-child>.accordion-content:last-child{border-bottom:1px solid #f2f0f0}.accordion-menu li{width:100%}.accordion-menu a{padding:0.7rem 1rem}.accordion-menu .is-accordion-submenu a{padding:0.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-right:0;margin-left:1rem}.accordion-menu.align-right .nested.is-accordion-submenu{margin-right:1rem;margin-left:0}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#262626 transparent transparent;position:absolute;top:50%;margin-top:-3px;right:1rem}.accordion-menu.align-left .is-accordion-submenu-parent>a::after{left:auto;right:1rem}.accordion-menu.align-right .is-accordion-submenu-parent>a::after{right:auto;left:1rem}.accordion-menu .is-accordion-submenu-parent[aria-expanded='true']>a::after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{position:absolute;top:0;right:0;cursor:pointer;width:40px;height:40px}.submenu-toggle::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#262626 transparent transparent;top:0;bottom:0;margin:auto}.submenu-toggle[aria-expanded='true']::after{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.submenu-toggle-text{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center;background:#262626;color:#fff}.badge.primary{background:#262626;color:#fff}.badge.secondary{background:#807e7e;color:#fff}.badge.success{background:#3adb76;color:#262626}.badge.warning{background:#ffae00;color:#262626}.badge.alert{background:#cc4b37;color:#fff}.breadcrumbs{margin:0 0 15px 0;list-style:none}.breadcrumbs::before,.breadcrumbs::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#262626;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#cccaca}.breadcrumbs a{color:#262626}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cccaca;cursor:not-allowed}.button-group{margin-bottom:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.button-group::before,.button-group::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.button-group::after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:1rem;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.75rem}.button-group.small .button{font-size:.875rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.button-group.primary .button{background-color:#262626;color:#e9e9f2}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#1e1e1e;color:#e9e9f2}.button-group.secondary .button{background-color:#807e7e;color:#e9e9f2}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#666565;color:#e9e9f2}.button-group.success .button{background-color:#3adb76;color:#313131}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#22bb5b;color:#313131}.button-group.warning .button{background-color:#ffae00;color:#313131}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#cc8b00;color:#313131}.button-group.alert .button{background-color:#cc4b37;color:#e9e9f2}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#a53b2a;color:#e9e9f2}.button-group.stacked,.button-group.stacked-for-small,.button-group.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-small .button,.button-group.stacked-for-medium .button{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-medium .button:last-child{margin-bottom:0}@media print, screen and (min-width: 48em){.button-group.stacked-for-small .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media screen and (max-width: 47.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(38,38,38,0.25);border-radius:0;background-color:#fff;color:#807e7e}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#dedede;color:#807e7e}.callout.secondary{background-color:#ececec;color:#807e7e}.callout.success{background-color:#e1faea;color:#807e7e}.callout.warning{background-color:#fff3d9;color:#807e7e}.callout.alert{background-color:#f7e4e1;color:#807e7e}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:15px;border:1px solid #f2f0f0;border-radius:0;background:#fff;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#807e7e}.card>:last-child{margin-bottom:0}.card-divider{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:25px 18px;background:#f2f0f0}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;padding:25px 18px}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.close-button{position:absolute;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#262626}.close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.close-button,.close-button.medium{right:1rem;top:0.5rem;font-size:2em;line-height:1}.menu{padding:0;margin:0;list-style:none;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}[data-whatinput='mouse'] .menu li{outline:0}.menu a,.menu .button{line-height:1;text-decoration:none;display:block;padding:0.7rem 1rem}.menu input,.menu select,.menu a,.menu button{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.simple{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print, screen and (min-width: 48em){.menu.medium-horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.medium-vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.medium-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.medium-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 64em){.menu.large-horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.large-vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.large-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.large-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media screen and (min-width: 100em){.menu.xlarge-horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.xlarge-vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.xlarge-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.xlarge-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-top a,.menu.icon-right a,.menu.icon-bottom a,.menu.icon-left a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-left li a img,.menu.icon-left li a i,.menu.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-right li a img,.menu.icon-right li a i,.menu.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-top li a img,.menu.icon-top li a i,.menu.icon-top li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-bottom li a img,.menu.icon-bottom li a i,.menu.icon-bottom li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#262626;color:#fff}.menu .active>a{background:#262626;color:#fff}.menu.align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu .menu-text{padding:0.7rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered>.menu{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fff;-webkit-box-shadow:0 7px 0 #fff,0 14px 0 #fff;box-shadow:0 7px 0 #fff,0 14px 0 #fff;content:''}.menu-icon:hover::after{background:#cccaca;-webkit-box-shadow:0 7px 0 #cccaca,0 14px 0 #cccaca;box-shadow:0 7px 0 #cccaca,0 14px 0 #cccaca}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#262626;-webkit-box-shadow:0 7px 0 #262626,0 14px 0 #262626;box-shadow:0 7px 0 #262626,0 14px 0 #262626;content:''}.menu-icon.dark:hover::after{background:#8a8a8a;-webkit-box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{-webkit-transition:height 0.5s;transition:height 0.5s}.drilldown a{padding:0.7rem 1rem;background:#fff}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fff;-webkit-transition:-webkit-transform 0.15s linear;transition:-webkit-transform 0.15s linear;transition:transform 0.15s linear;transition:transform 0.15s linear, -webkit-transform 0.15s linear}.drilldown .is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.drilldown .is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:0.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-right:0;margin-left:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a::after{position:absolute;top:50%;margin-top:-6px;right:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #262626}.drilldown.align-left .is-drilldown-submenu-parent>a::after{left:auto;right:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #807e7e}.drilldown.align-right .is-drilldown-submenu-parent>a::after{right:auto;left:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #807e7e transparent transparent}.drilldown .js-drilldown-back>a::before{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #262626 transparent transparent;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:0.75rem;border-left-width:0}.dropdown-pane{position:absolute;z-index:10;width:300px;padding:1rem;visibility:hidden;display:none;border:1px solid #cccaca;border-radius:0;background-color:#f2f0f0;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{visibility:visible;display:block}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#807e7e transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu a{padding:0.7rem 1rem}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu .is-active>a{background:rgba(0,0,0,0);color:#262626}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #807e7e transparent transparent}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #807e7e}@media print, screen and (min-width: 48em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#807e7e transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #807e7e transparent transparent}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #807e7e}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#807e7e transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #807e7e transparent transparent}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #807e7e}}@media screen and (min-width: 100em){.dropdown.menu.xlarge-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.xlarge-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.xlarge-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.xlarge-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#807e7e transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.xlarge-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.xlarge-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.xlarge-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.xlarge-vertical>li>a::after{right:14px}.dropdown.menu.xlarge-vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #807e7e transparent transparent}.dropdown.menu.xlarge-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #807e7e}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:1px solid #cccaca;background:#fff}.dropdown .is-dropdown-submenu a{padding:0.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #807e7e transparent transparent}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #807e7e}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.responsive-embed iframe,.responsive-embed object,.responsive-embed embed,.responsive-embed video,.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-embed.widescreen,.flex-video.widescreen{padding-bottom:56.25%}.label{display:inline-block;padding:0.33333rem 0.5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#262626;color:#fff}.label.primary{background:#262626;color:#fff}.label.secondary{background:#807e7e;color:#fff}.label.success{background:#3adb76;color:#262626}.label.warning{background:#ffae00;color:#262626}.label.alert{background:#cc4b37;color:#fff}.media-object{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:30px;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.media-object img{max-width:none}@media screen and (max-width: 47.9375em){.media-object.stack-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}@media screen and (max-width: 47.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:15px;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.media-object-section:first-child{padding-right:15px}.media-object-section:last-child:not(:nth-child(2)){padding-left:15px}.media-object-section>:last-child{margin-bottom:0}.media-object-section.main-section{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;-webkit-transition:opacity .5s ease,visibility .5s ease;transition:opacity .5s ease,visibility .5s ease;background:rgba(255,255,255,0.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#f2f0f0}[data-whatinput='mouse'] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(38,38,38,0.7);box-shadow:0 0 10px rgba(38,38,38,0.7)}.off-canvas.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-absolute{position:absolute;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#f2f0f0}[data-whatinput='mouse'] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(38,38,38,0.7);box-shadow:0 0 10px rgba(38,38,38,0.7)}.off-canvas-absolute.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;width:250px;-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left{-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-left.has-transition-push{-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.position-left.is-transition-push{-webkit-box-shadow:inset -13px 0 20px -13px rgba(38,38,38,0.25);box-shadow:inset -13px 0 20px -13px rgba(38,38,38,0.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;width:250px;-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right{-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-right.has-transition-push{-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.position-right.is-transition-push{-webkit-box-shadow:inset 13px 0 20px -13px rgba(38,38,38,0.25);box-shadow:inset 13px 0 20px -13px rgba(38,38,38,0.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;height:250px;-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top{-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-top.has-transition-push{-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.position-top.is-transition-push{-webkit-box-shadow:inset 0 -13px 20px -13px rgba(38,38,38,0.25);box-shadow:inset 0 -13px 20px -13px rgba(38,38,38,0.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;height:250px;-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom{-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-bottom.has-transition-push{-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.position-bottom.is-transition-push{-webkit-box-shadow:inset 0 13px 20px -13px rgba(38,38,38,0.25);box-shadow:inset 0 13px 20px -13px rgba(38,38,38,0.25)}.off-canvas-content{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden}.off-canvas-content.has-transition-push{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content .off-canvas.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}@media print, screen and (min-width: 48em){.position-left.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 64em){.position-left.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large ~ .off-canvas-content{margin-bottom:250px}}@media screen and (min-width: 100em){.position-left.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-left.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-xlarge ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-right.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-xlarge ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-top.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-xlarge ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-xlarge{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-xlarge ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 48em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:inherit;width:inherit;overflow:inherit;-webkit-transition:inherit;transition:inherit}.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top,.off-canvas.in-canvas-for-medium.position-bottom{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print, screen and (min-width: 64em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:inherit;width:inherit;overflow:inherit;-webkit-transition:inherit;transition:inherit}.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top,.off-canvas.in-canvas-for-large.position-bottom{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}@media screen and (min-width: 100em){.off-canvas.in-canvas-for-xlarge{visibility:visible;height:auto;position:static;background:inherit;width:inherit;overflow:inherit;-webkit-transition:inherit;transition:inherit}.off-canvas.in-canvas-for-xlarge.position-left,.off-canvas.in-canvas-for-xlarge.position-right,.off-canvas.in-canvas-for-xlarge.position-top,.off-canvas.in-canvas-for-xlarge.position-bottom{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-xlarge .close-button{display:none}}.orbit{position:relative}.orbit-container{position:relative;height:0;margin:0;list-style:none;overflow:hidden}.orbit-slide{width:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{width:100%;max-width:100%;margin:0}.orbit-caption{position:absolute;bottom:0;width:100%;margin-bottom:0;padding:1rem;background-color:rgba(0,0,0,0);color:#fff}.orbit-previous,.orbit-next{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:10;padding:1rem;color:#fff}[data-whatinput='mouse'] .orbit-previous,[data-whatinput='mouse'] .orbit-next{outline:0}.orbit-previous:hover,.orbit-next:hover,.orbit-previous:active,.orbit-next:active,.orbit-previous:focus,.orbit-next:focus{background-color:rgba(0,0,0,0)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput='mouse'] .orbit-bullets{outline:0}.orbit-bullets button{width:14px;height:14px;margin:8px;border-radius:50%;background-color:#807e7e}.orbit-bullets button:hover{background-color:#262626}.orbit-bullets button.is-active{background-color:#262626}.pagination{margin-left:0;margin-bottom:15px}.pagination::before,.pagination::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.pagination::after{clear:both}.pagination li{margin-right:.0625rem;border-radius:0;font-size:.875rem;display:none}.pagination li:last-child,.pagination li:first-child{display:inline-block}@media print, screen and (min-width: 48em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.1875rem .625rem;border-radius:0;color:#262626}.pagination a:hover,.pagination button:hover{background:#f2f0f0}.pagination .current{padding:.1875rem .625rem;background:#262626;color:#fff;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cccaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis::after{padding:.1875rem .625rem;content:'\2026';color:#262626}.pagination-previous a::before,.pagination-previous.disabled::before{display:inline-block;margin-right:0.5rem;content:'\00ab'}.pagination-next a::after,.pagination-next.disabled::after{display:inline-block;margin-left:0.5rem;content:'\00bb'}.progress{height:1rem;margin-bottom:15px;border-radius:0;background-color:#cccaca}.progress.primary .progress-meter{background-color:#262626}.progress.secondary .progress-meter{background-color:#807e7e}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#cc4b37}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#262626}.progress-meter-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);position:absolute;margin:0;font-size:0.75rem;font-weight:bold;color:#fff;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#f2f0f0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cccaca;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;border-radius:0;background-color:#262626;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation}[data-whatinput='mouse'] .slider-handle{outline:0}.slider-handle:hover{background-color:#202020}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:relative;z-index:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{min-height:100%;overflow:hidden;position:fixed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(38,38,38,0.45);overflow-y:scroll}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:15px;border:1px solid #cccaca;border-radius:0;background-color:#fff;position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto}[data-whatinput='mouse'] .reveal{outline:0}@media print, screen and (min-width: 48em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 48em){.reveal{width:600px;max-width:100rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 48em){.reveal.tiny{width:30%;max-width:100rem}}@media print, screen and (min-width: 48em){.reveal.small{width:50%;max-width:100rem}}@media print, screen and (min-width: 48em){.reveal.large{width:90%;max-width:100rem}}.reveal.full{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}@media screen and (max-width: 47.9375em){.reveal{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{height:2rem;position:relative;margin-bottom:15px;outline:0;font-size:.875rem;font-weight:bold;color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:0;background:#cccaca;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle::after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);border-radius:0;background:#fff;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#262626}input:checked ~ .switch-paddle::after{left:2.25rem}[data-whatinput='mouse'] input:focus ~ .switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked ~ .switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked ~ .switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked ~ .switch-paddle::after{left:2.75rem}table{border-collapse:collapse;width:100%;margin-bottom:15px;border-radius:0}thead,tbody,tfoot{border:1px solid #f2f2f2;background-color:#fff}caption{padding:.5rem .625rem .625rem;font-weight:bold}thead{background:#f9f9f9;color:#807e7e}tfoot{background:#f2f2f2;color:#807e7e}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.5rem .625rem .625rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.5rem .625rem .625rem}tbody tr:nth-child(even){border-bottom:0;background-color:#f2f2f2}table.unstriped tbody{background-color:#fff}table.unstriped tbody tr{border-bottom:0;border-bottom:1px solid #f2f2f2;background-color:#fff}@media screen and (max-width: 63.9375em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack tr,table.stack th,table.stack td{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f4f4f4}table.hover tfoot tr:hover{background-color:#ededed}table.hover tbody tr:hover{background-color:#fafafa}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ededed}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;border:1px solid 0;background:rgba(0,0,0,0);list-style-type:none}.tabs::before,.tabs::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.tabs::after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#262626}.tabs.primary>li>a{color:#fff}.tabs.primary>li>a:hover,.tabs.primary>li>a:focus{background:#313131}.tabs-title{float:left}.tabs-title>a{display:block;padding:20px 30px;font-size:1rem;line-height:1;color:#807e7e}.tabs-title>a:hover{background:#fff;color:#6e6c6c}.tabs-title>a:focus,.tabs-title>a[aria-selected='true']{background:#262626;color:#fff}.tabs-content{border:1px solid 0;border-top:0;background:rgba(0,0,0,0);color:#807e7e;-webkit-transition:all 0.5s ease;transition:all 0.5s ease}.tabs-content.vertical{border:1px solid 0;border-left:0}.tabs-panel{display:none;padding:85px 0 113px 0}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:15px;border:solid 4px #fff;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(38,38,38,0.2);box-shadow:0 0 0 1px rgba(38,38,38,0.2);line-height:0}a.thumbnail{-webkit-transition:-webkit-box-shadow 200ms ease-out;transition:-webkit-box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out}a.thumbnail:hover,a.thumbnail:focus{-webkit-box-shadow:0 0 6px 1px rgba(38,38,38,0.5);box-shadow:0 0 6px 1px rgba(38,38,38,0.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.title-bar{padding:.5rem;background:#262626;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:bold}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:0;background-color:#262626;font-size:80%;color:#fff}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #262626;bottom:100%}.tooltip.bottom.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#262626 transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #262626;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #262626 transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.top-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.5rem;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#f2f0f0}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media print, screen and (min-width: 48em){.top-bar{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.top-bar .top-bar-left{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-left:auto}}@media screen and (max-width: 63.9375em){.top-bar.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media screen and (max-width: 99.9375em){.top-bar.stacked-for-large{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media screen and (max-width: 119.9375em){.top-bar.stacked-for-xlarge{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-xlarge .top-bar-left,.top-bar.stacked-for-xlarge .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:0.5rem 1rem 0.5rem 0}.top-bar-left,.top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.hide{display:none !important}.invisible{visibility:hidden}@media screen and (max-width: 47.9375em){.hide-for-small-only{display:none !important}}@media screen and (max-width: 0em), screen and (min-width: 48em){.show-for-small-only{display:none !important}}@media print, screen and (min-width: 48em){.hide-for-medium{display:none !important}}@media screen and (max-width: 47.9375em){.show-for-medium{display:none !important}}@media screen and (min-width: 48em) and (max-width: 63.9375em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 47.9375em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.9375em){.show-for-large{display:none !important}}@media screen and (min-width: 64em) and (max-width: 99.9375em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.9375em), screen and (min-width: 100em){.show-for-large-only{display:none !important}}@media screen and (min-width: 100em){.hide-for-xlarge{display:none !important}}@media screen and (max-width: 99.9375em){.show-for-xlarge{display:none !important}}@media screen and (min-width: 100em) and (max-width: 119.9375em){.hide-for-xlarge-only{display:none !important}}@media screen and (max-width: 99.9375em), screen and (min-width: 120em){.show-for-xlarge-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.show-for-landscape,.hide-for-portrait{display:block !important}@media screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:block !important}}@media screen and (orientation: portrait){.show-for-landscape,.hide-for-portrait{display:none !important}}.hide-for-landscape,.show-for-portrait{display:none !important}@media screen and (orientation: landscape){.hide-for-landscape,.show-for-portrait{display:none !important}}@media screen and (orientation: portrait){.hide-for-landscape,.show-for-portrait{display:block !important}}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.align-right.vertical.menu>li>a{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-top{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.align-self-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.align-self-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.align-center-middle{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center}.small-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}@media print, screen and (min-width: 48em){.medium-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}@media print, screen and (min-width: 64em){.large-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}@media screen and (min-width: 100em){.xlarge-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.xlarge-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.xlarge-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.xlarge-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.xlarge-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.xlarge-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}.flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media print, screen and (min-width: 48em){.medium-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media print, screen and (min-width: 64em){.large-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.large-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media screen and (min-width: 100em){.xlarge-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.xlarge-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.xlarge-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.xlarge-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.xlarge-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.xlarge-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.xlarge-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.xlarge-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}.text-hide{font:0/0 a !important;color:transparent !important;text-shadow:none !important;background-color:transparent !important;border:0 !important}.text-truncate{max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis;white-space:nowrap !important}.text-nowrap{white-space:nowrap !important}.text-wrap{word-wrap:break-word !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-overline{text-decoration:overline !important}.text-underline{text-decoration:underline !important}.text-line-through{text-decoration:line-through !important}.font-wide{letter-spacing:.25rem}.font-normal{font-weight:normal}.font-bold{font-weight:bold}.font-italic{font-style:italic !important}ul.list-disc{list-style-type:disc !important}ul.list-circle{list-style-type:circle !important}ul.list-square{list-style-type:square !important}ol.list-decimal{list-style-type:decimal !important}ol.list-lower-alpha{list-style-type:lower-alpha !important}ol.list-lower-latin{list-style-type:lower-latin !important}ol.list-lower-roman{list-style-type:lower-roman !important}ol.list-upper-alpha{list-style-type:upper-alpha !important}ol.list-upper-latin{list-style-type:upper-latin !important}ol.list-upper-roman{list-style-type:upper-roman !important}.rounded{border-radius:5000px !important}.radius{border-radius:.1875rem}.bordered{border:.0625rem solid #cccaca}.shadow{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}.arrow-down{display:block;width:0;height:0;border:inset .4375rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#262626 transparent transparent}.arrow-up{display:block;width:0;height:0;border:inset .4375rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #262626}.arrow-right{display:block;width:0;height:0;border:inset .4375rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #262626}.arrow-left{display:block;width:0;height:0;border:inset .4375rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #262626 transparent transparent}.separator-center{text-align:center !important}.separator-center::before,.separator-center::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.separator-center::after{clear:both}.separator-center::after{position:relative !important;width:3rem;border-bottom:.125rem solid #262626;margin:15px auto 0}.separator-left{text-align:left !important}.separator-left::before,.separator-left::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.separator-left::after{clear:both}.separator-left::after{position:relative !important;width:3rem;border-bottom:.125rem solid #262626;margin:15px auto 0;margin-left:0 !important}.separator-right{text-align:right !important}.separator-right::before,.separator-right::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.separator-right::after{clear:both}.separator-right::after{position:relative !important;width:3rem;border-bottom:.125rem solid #262626;margin:15px auto 0;margin-right:0 !important}.overflow-visible{overflow:visible !important}.overflow-x-visible{overflow-x:visible !important}.overflow-y-visible{overflow-y:visible !important}.overflow-hidden{overflow:hidden !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-scroll{overflow:scroll !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-scroll{overflow-y:scroll !important}.display-inline{display:inline !important}.display-inline-block{display:inline-block !important}.display-block{display:block !important}.display-table{display:table !important}.display-table-cell{display:table-cell !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-fixed-top{position:fixed !important;top:0rem !important;right:0rem !important;left:0rem !important;z-index:975}.position-fixed-bottom{position:fixed !important;right:0rem !important;bottom:0rem !important;left:0rem !important;z-index:975}.border-box{-webkit-box-sizing:border-box !important;box-sizing:border-box !important}.border-none{border:none !important}.width-25{width:25% !important}.width-50{width:50% !important}.width-75{width:75% !important}.width-100{width:100% !important}.height-25{height:25% !important}.height-50{height:50% !important}.height-75{height:75% !important}.height-100{height:100% !important}.max-width-100{max-width:100% !important}.max-height-100{max-height:100% !important}.margin-0{margin-top:0px !important;margin-right:0px !important;margin-bottom:0px !important;margin-left:0px !important}.padding-0{padding-top:0px !important;padding-right:0px !important;padding-bottom:0px !important;padding-left:0px !important}.margin-top-0{margin-top:0px !important}.padding-top-0{padding-top:0px !important}.margin-right-0{margin-right:0px !important}.padding-right-0{padding-right:0px !important}.margin-bottom-0{margin-bottom:0px !important}.padding-bottom-0{padding-bottom:0px !important}.margin-left-0{margin-left:0px !important}.padding-left-0{padding-left:0px !important}.margin-horizontal-0{margin-right:0px !important;margin-left:0px !important}.padding-horizontal-0{padding-right:0px !important;padding-left:0px !important}.margin-vertical-0{margin-top:0px !important;margin-bottom:0px !important}.padding-vertical-0{padding-top:0px !important;padding-bottom:0px !important}.margin-1{margin-top:15px !important;margin-right:15px !important;margin-bottom:15px !important;margin-left:15px !important}.padding-1{padding-top:15px !important;padding-right:15px !important;padding-bottom:15px !important;padding-left:15px !important}.margin-top-1{margin-top:15px !important}.padding-top-1{padding-top:15px !important}.margin-right-1{margin-right:15px !important}.padding-right-1{padding-right:15px !important}.margin-bottom-1{margin-bottom:15px !important}.padding-bottom-1{padding-bottom:15px !important}.margin-left-1{margin-left:15px !important}.padding-left-1{padding-left:15px !important}.margin-horizontal-1{margin-right:15px !important;margin-left:15px !important}.padding-horizontal-1{padding-right:15px !important;padding-left:15px !important}.margin-vertical-1{margin-top:15px !important;margin-bottom:15px !important}.padding-vertical-1{padding-top:15px !important;padding-bottom:15px !important}.margin-2{margin-top:30px !important;margin-right:30px !important;margin-bottom:30px !important;margin-left:30px !important}.padding-2{padding-top:30px !important;padding-right:30px !important;padding-bottom:30px !important;padding-left:30px !important}.margin-top-2{margin-top:30px !important}.padding-top-2{padding-top:30px !important}.margin-right-2{margin-right:30px !important}.padding-right-2{padding-right:30px !important}.margin-bottom-2{margin-bottom:30px !important}.padding-bottom-2{padding-bottom:30px !important}.margin-left-2{margin-left:30px !important}.padding-left-2{padding-left:30px !important}.margin-horizontal-2{margin-right:30px !important;margin-left:30px !important}.padding-horizontal-2{padding-right:30px !important;padding-left:30px !important}.margin-vertical-2{margin-top:30px !important;margin-bottom:30px !important}.padding-vertical-2{padding-top:30px !important;padding-bottom:30px !important}.margin-3{margin-top:45px !important;margin-right:45px !important;margin-bottom:45px !important;margin-left:45px !important}.padding-3{padding-top:45px !important;padding-right:45px !important;padding-bottom:45px !important;padding-left:45px !important}.margin-top-3{margin-top:45px !important}.padding-top-3{padding-top:45px !important}.margin-right-3{margin-right:45px !important}.padding-right-3{padding-right:45px !important}.margin-bottom-3{margin-bottom:45px !important}.padding-bottom-3{padding-bottom:45px !important}.margin-left-3{margin-left:45px !important}.padding-left-3{padding-left:45px !important}.margin-horizontal-3{margin-right:45px !important;margin-left:45px !important}.padding-horizontal-3{padding-right:45px !important;padding-left:45px !important}.margin-vertical-3{margin-top:45px !important;margin-bottom:45px !important}.padding-vertical-3{padding-top:45px !important;padding-bottom:45px !important}.margin-4{margin-top:60px !important;margin-right:60px !important;margin-bottom:60px !important;margin-left:60px !important}.padding-4{padding-top:60px !important;padding-right:60px !important;padding-bottom:60px !important;padding-left:60px !important}.margin-top-4{margin-top:60px !important}.padding-top-4{padding-top:60px !important}.margin-right-4{margin-right:60px !important}.padding-right-4{padding-right:60px !important}.margin-bottom-4{margin-bottom:60px !important}.padding-bottom-4{padding-bottom:60px !important}.margin-left-4{margin-left:60px !important}.padding-left-4{padding-left:60px !important}.margin-horizontal-4{margin-right:60px !important;margin-left:60px !important}.padding-horizontal-4{padding-right:60px !important;padding-left:60px !important}.margin-vertical-4{margin-top:60px !important;margin-bottom:60px !important}.padding-vertical-4{padding-top:60px !important;padding-bottom:60px !important}.margin-5{margin-top:75px !important;margin-right:75px !important;margin-bottom:75px !important;margin-left:75px !important}.padding-5{padding-top:75px !important;padding-right:75px !important;padding-bottom:75px !important;padding-left:75px !important}.margin-top-5{margin-top:75px !important}.padding-top-5{padding-top:75px !important}.margin-right-5{margin-right:75px !important}.padding-right-5{padding-right:75px !important}.margin-bottom-5{margin-bottom:75px !important}.padding-bottom-5{padding-bottom:75px !important}.margin-left-5{margin-left:75px !important}.padding-left-5{padding-left:75px !important}.margin-horizontal-5{margin-right:75px !important;margin-left:75px !important}.padding-horizontal-5{padding-right:75px !important;padding-left:75px !important}.margin-vertical-5{margin-top:75px !important;margin-bottom:75px !important}.padding-vertical-5{padding-top:75px !important;padding-bottom:75px !important}.margin-6{margin-top:90px !important;margin-right:90px !important;margin-bottom:90px !important;margin-left:90px !important}.padding-6{padding-top:90px !important;padding-right:90px !important;padding-bottom:90px !important;padding-left:90px !important}.margin-top-6{margin-top:90px !important}.padding-top-6{padding-top:90px !important}.margin-right-6{margin-right:90px !important}.padding-right-6{padding-right:90px !important}.margin-bottom-6{margin-bottom:90px !important}.padding-bottom-6{padding-bottom:90px !important}.margin-left-6{margin-left:90px !important}.padding-left-6{padding-left:90px !important}.margin-horizontal-6{margin-right:90px !important;margin-left:90px !important}.padding-horizontal-6{padding-right:90px !important;padding-left:90px !important}.margin-vertical-6{margin-top:90px !important;margin-bottom:90px !important}.padding-vertical-6{padding-top:90px !important;padding-bottom:90px !important}.margin-7{margin-top:105px !important;margin-right:105px !important;margin-bottom:105px !important;margin-left:105px !important}.padding-7{padding-top:105px !important;padding-right:105px !important;padding-bottom:105px !important;padding-left:105px !important}.margin-top-7{margin-top:105px !important}.padding-top-7{padding-top:105px !important}.margin-right-7{margin-right:105px !important}.padding-right-7{padding-right:105px !important}.margin-bottom-7{margin-bottom:105px !important}.padding-bottom-7{padding-bottom:105px !important}.margin-left-7{margin-left:105px !important}.padding-left-7{padding-left:105px !important}.margin-horizontal-7{margin-right:105px !important;margin-left:105px !important}.padding-horizontal-7{padding-right:105px !important;padding-left:105px !important}.margin-vertical-7{margin-top:105px !important;margin-bottom:105px !important}.padding-vertical-7{padding-top:105px !important;padding-bottom:105px !important}.margin-8{margin-top:120px !important;margin-right:120px !important;margin-bottom:120px !important;margin-left:120px !important}.padding-8{padding-top:120px !important;padding-right:120px !important;padding-bottom:120px !important;padding-left:120px !important}.margin-top-8{margin-top:120px !important}.padding-top-8{padding-top:120px !important}.margin-right-8{margin-right:120px !important}.padding-right-8{padding-right:120px !important}.margin-bottom-8{margin-bottom:120px !important}.padding-bottom-8{padding-bottom:120px !important}.margin-left-8{margin-left:120px !important}.padding-left-8{padding-left:120px !important}.margin-horizontal-8{margin-right:120px !important;margin-left:120px !important}.padding-horizontal-8{padding-right:120px !important;padding-left:120px !important}.margin-vertical-8{margin-top:120px !important;margin-bottom:120px !important}.padding-vertical-8{padding-top:120px !important;padding-bottom:120px !important}.margin-9{margin-top:135px !important;margin-right:135px !important;margin-bottom:135px !important;margin-left:135px !important}.padding-9{padding-top:135px !important;padding-right:135px !important;padding-bottom:135px !important;padding-left:135px !important}.margin-top-9{margin-top:135px !important}.padding-top-9{padding-top:135px !important}.margin-right-9{margin-right:135px !important}.padding-right-9{padding-right:135px !important}.margin-bottom-9{margin-bottom:135px !important}.padding-bottom-9{padding-bottom:135px !important}.margin-left-9{margin-left:135px !important}.padding-left-9{padding-left:135px !important}.margin-horizontal-9{margin-right:135px !important;margin-left:135px !important}.padding-horizontal-9{padding-right:135px !important;padding-left:135px !important}.margin-vertical-9{margin-top:135px !important;margin-bottom:135px !important}.padding-vertical-9{padding-top:135px !important;padding-bottom:135px !important}.margin-10{margin-top:150px !important;margin-right:150px !important;margin-bottom:150px !important;margin-left:150px !important}.padding-10{padding-top:150px !important;padding-right:150px !important;padding-bottom:150px !important;padding-left:150px !important}.margin-top-10{margin-top:150px !important}.padding-top-10{padding-top:150px !important}.margin-right-10{margin-right:150px !important}.padding-right-10{padding-right:150px !important}.margin-bottom-10{margin-bottom:150px !important}.padding-bottom-10{padding-bottom:150px !important}.margin-left-10{margin-left:150px !important}.padding-left-10{padding-left:150px !important}.margin-horizontal-10{margin-right:150px !important;margin-left:150px !important}.padding-horizontal-10{padding-right:150px !important;padding-left:150px !important}.margin-vertical-10{margin-top:150px !important;margin-bottom:150px !important}.padding-vertical-10{padding-top:150px !important;padding-bottom:150px !important}.slide-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.slide-in-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.slide-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.slide-in-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.slide-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.slide-out-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.slide-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.slide-out-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.fade-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:1;-webkit-transition-property:opacity;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-bottom.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);-webkit-transform-origin:bottom;-ms-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-x.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-y.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-out-from-top.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-bottom.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:bottom;-ms-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.scale-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-up.mui-enter.mui-enter-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.scale-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-down.mui-enter.mui-enter-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.scale-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-up.mui-leave.mui-leave-active{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-down.mui-leave.mui-leave-active{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5);opacity:0}.spin-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in.mui-enter.mui-enter-active{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out.mui-leave.mui-leave-active{-webkit-transform:rotate(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{-webkit-transform:rotate(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);opacity:0}.slow{-webkit-transition-duration:750ms !important;transition-duration:750ms !important}.fast{-webkit-transition-duration:250ms !important;transition-duration:250ms !important}.linear{-webkit-transition-timing-function:linear !important;transition-timing-function:linear !important}.ease{-webkit-transition-timing-function:ease !important;transition-timing-function:ease !important}.ease-in{-webkit-transition-timing-function:ease-in !important;transition-timing-function:ease-in !important}.ease-out{-webkit-transition-timing-function:ease-out !important;transition-timing-function:ease-out !important}.ease-in-out{-webkit-transition-timing-function:ease-in-out !important;transition-timing-function:ease-in-out !important}.bounce-in{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-transition-delay:300ms !important;transition-delay:300ms !important}.long-delay{-webkit-transition-delay:700ms !important;transition-delay:700ms !important}.shake{-webkit-animation-name:shake-7;animation-name:shake-7}@-webkit-keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}.spin-cw{-webkit-animation-name:spin-cw-1turn;animation-name:spin-cw-1turn}@-webkit-keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}.spin-ccw{-webkit-animation-name:spin-ccw-1turn;animation-name:spin-ccw-1turn}@-webkit-keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.wiggle{-webkit-animation-name:wiggle-7deg;animation-name:wiggle-7deg}@-webkit-keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}.shake,.spin-cw,.spin-ccw,.wiggle{-webkit-animation-duration:500ms;animation-duration:500ms}.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.slow{-webkit-animation-duration:750ms !important;animation-duration:750ms !important}.fast{-webkit-animation-duration:250ms !important;animation-duration:250ms !important}.linear{-webkit-animation-timing-function:linear !important;animation-timing-function:linear !important}.ease{-webkit-animation-timing-function:ease !important;animation-timing-function:ease !important}.ease-in{-webkit-animation-timing-function:ease-in !important;animation-timing-function:ease-in !important}.ease-out{-webkit-animation-timing-function:ease-out !important;animation-timing-function:ease-out !important}.ease-in-out{-webkit-animation-timing-function:ease-in-out !important;animation-timing-function:ease-in-out !important}.bounce-in{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-animation-delay:300ms !important;animation-delay:300ms !important}.long-delay{-webkit-animation-delay:700ms !important;animation-delay:700ms !important}/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2014 Daniel Eden
*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}@keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}@keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -40px, 0);transform:translate3d(0, -40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -40px, 0);transform:translate3d(0, -40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible !important;backface-visibility:visible !important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}h1,h2,h3,h4,h5,h6{color:#262626;font-weight:bold}h1{font-family:"Oxygen",sans-serifs;font-size:72px;line-height:1}@media screen and (max-width: 99.9375em){h1{font-size:60px}}@media screen and (max-width: 47.9375em){h1{font-size:36px}}h2{font-size:48px;line-height:1}@media screen and (max-width: 99.9375em){h2{font-size:36px}}@media screen and (max-width: 47.9375em){h2{font-size:30px}}h3{font-size:36px;line-height:1}@media screen and (max-width: 99.9375em){h3{font-size:30px}}@media screen and (max-width: 47.9375em){h3{font-size:24px}}h4{font-size:30px;line-height:36px}@media screen and (max-width: 99.9375em){h4{font-size:24px}}@media screen and (max-width: 47.9375em){h4{font-size:20px}}h5{font-size:24px;line-height:36px}@media screen and (max-width: 99.9375em){h5{font-size:20px}}@media screen and (max-width: 47.9375em){h5{font-size:20px}}h6{font-size:20px}@media screen and (max-width: 99.9375em){h6{font-size:18px}}@media screen and (max-width: 47.9375em){h6{font-size:14px}}p{font-size:14px;line-height:20px}@media screen and (max-width: 99.9375em){p{font-size:14px}}@media screen and (max-width: 47.9375em){p{font-size:14px}}ul,ol,dl{font-size:16px;line-height:24px;line-height:18px}@media screen and (max-width: 99.9375em){ul,ol,dl{font-size:16px}}@media screen and (max-width: 47.9375em){ul,ol,dl{font-size:14px}}dl.inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin-bottom:.25rem}dl.inline dt{white-space:nowrap;margin-bottom:0}blockquote{position:relative;font-size:24px;line-height:1.25}@media screen and (max-width: 99.9375em){blockquote{font-size:20px}}@media screen and (max-width: 47.9375em){blockquote{font-size:20px;line-height:1.2}}blockquote cite{margin-top:17px;font-style:normal}blockquote cite:before{content:"- "}address{font-size:14px;line-height:20px;font-style:normal}@media screen and (max-width: 99.9375em){address{font-size:14px}}@media screen and (max-width: 47.9375em){address{font-size:14px}}.typo-headline-1{font-family:"Oxygen",sans-serifs;font-size:72px;line-height:1}@media screen and (max-width: 99.9375em){.typo-headline-1{font-size:60px}}@media screen and (max-width: 47.9375em){.typo-headline-1{font-size:36px}}.typo-headline-2{font-size:48px;line-height:1}@media screen and (max-width: 99.9375em){.typo-headline-2{font-size:36px}}@media screen and (max-width: 47.9375em){.typo-headline-2{font-size:30px}}.typo-headline-3{font-size:36px;line-height:1}@media screen and (max-width: 99.9375em){.typo-headline-3{font-size:30px}}@media screen and (max-width: 47.9375em){.typo-headline-3{font-size:24px}}.typo-headline-4{font-size:30px;line-height:36px}@media screen and (max-width: 99.9375em){.typo-headline-4{font-size:24px}}@media screen and (max-width: 47.9375em){.typo-headline-4{font-size:20px}}.typo-headline-5{font-size:24px;line-height:36px}@media screen and (max-width: 99.9375em){.typo-headline-5{font-size:20px}}@media screen and (max-width: 47.9375em){.typo-headline-5{font-size:20px}}.typo-headline-6{font-size:20px}@media screen and (max-width: 99.9375em){.typo-headline-6{font-size:18px}}@media screen and (max-width: 47.9375em){.typo-headline-6{font-size:14px}}.typo-subtitle-1{font-size:18px;line-height:28px;font-weight:bold}@media screen and (max-width: 99.9375em){.typo-subtitle-1{font-size:16px}}@media screen and (max-width: 47.9375em){.typo-subtitle-1{font-size:12px}}.typo-subtitle-2{font-size:16px;line-height:28px;font-weight:bold}@media screen and (max-width: 99.9375em){.typo-subtitle-2{font-size:14px}}@media screen and (max-width: 47.9375em){.typo-subtitle-2{font-size:13px}}.typo-body-2{font-size:16px;line-height:24px}@media screen and (max-width: 99.9375em){.typo-body-2{font-size:16px}}@media screen and (max-width: 47.9375em){.typo-body-2{font-size:14px}}.typo-body-1{font-size:14px;line-height:20px}@media screen and (max-width: 99.9375em){.typo-body-1{font-size:14px}}@media screen and (max-width: 47.9375em){.typo-body-1{font-size:14px}}.typo-caption{font-size:13px;line-height:16px}@media screen and (max-width: 99.9375em){.typo-caption{font-size:13px}}@media screen and (max-width: 47.9375em){.typo-caption{font-size:13px}}.typo-menu{font-size:14px;text-transform:uppercase;line-height:1}@media screen and (max-width: 99.9375em){.typo-menu{font-size:14px}}@media screen and (max-width: 47.9375em){.typo-menu{font-size:14px}}.typo-button{font-size:16px;text-transform:uppercase;line-height:1}@media screen and (max-width: 99.9375em){.typo-button{font-size:13px}}@media screen and (max-width: 47.9375em){.typo-button{font-size:13px}}.small{font-size:80%}.font-bold{font-weight:700 !important}.font-light{font-weight:300 !important}.on-surface__medium-gray{background-color:#cccaca}.icon{display:inline-block;width:1.5rem;height:1.5rem;stroke-width:0;stroke:currentColor;fill:currentColor}.dp2{width:2rem;height:2rem}.f36{width:36px;height:36px}.dp3{width:3rem;height:3rem}.button{font-size:16px;text-transform:uppercase;line-height:1;border-radius:30px}@media screen and (max-width: 99.9375em){.button{font-size:13px}}@media screen and (max-width: 47.9375em){.button{font-size:13px}}.button.clear{color:#807e7e}.button.clear:hover,.button.clear:focus{color:#262626}.button.button-with-icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0}.button.button-with-icon.rounded{padding:15px 26px}@media screen and (max-width: 47.9375em){.button.button-with-icon{font-size:13px}}.button.light{background-color:#f2f0f0;color:#807e7e}.button.light:hover,.button.light:focus{background-color:#cccaca;color:#4d4c4c}.button.hollow.on-surface-white{color:#313133;border-color:#cccaca}.button.hollow.on-surface-white:hover,.button.hollow.on-surface-white:focus{color:#262626;border-color:#f2f0f0;background-color:#f2f0f0}.button.hollow.on-surface-light{color:#807e7e;border-color:#cccaca}.button.hollow.on-surface-light:hover,.button.hollow.on-surface-light:focus{color:#262626;border-color:#262626}.button.hollow.on-surface-dark{color:#cccaca;border-color:#807e7e}.button.hollow.on-surface-dark:hover,.button.hollow.on-surface-dark:focus{color:white;border-color:white}@media screen and (max-width: 99.9375em){.button{font-size:13px;padding:17px 23px}}.news-item__image,.project-item__image,.product-item__image{background-position:50%;background-repeat:no-repeat;background-size:cover;height:0;margin-bottom:0;padding-top:56.25%}@media screen and (max-width: 99.9375em){.news-item__image,.project-item__image,.product-item__image{padding-top:63.25%}}@media screen and (max-width: 99.9375em){.news-item__image{padding-top:56.5%}}.profile-item__image,.recent-projects__item__image{background-position:center;background-repeat:no-repeat;background-size:contain;height:0;margin-bottom:0;padding-top:100%}.card-overlay{border:0;position:relative}.card-overlay .card-section{position:absolute;bottom:0;left:0;right:0}.card-product .product-item__image{padding-top:63.75%}.card-product .card-section{background-color:#262626;color:white;-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out;height:105px;padding:0 50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (max-width: 99.9375em){.card-product .card-section{padding:0 40px;height:85px}}@media screen and (max-width: 47.9375em){.card-product .card-section{padding:0 20px;height:54px}}.card-product .card-section .product-item__title-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.card-product .card-section .product-item__icon{padding-right:10px}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__icon{padding-right:5px}}.card-product .card-section .product-item__icon .icon{-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}.card-product .card-section .product-item__icon .icon.icon-urmet-intercoms{width:52px;height:52px}@media screen and (max-width: 99.9375em){.card-product .card-section .product-item__icon .icon.icon-urmet-intercoms{width:42px;height:42px}}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__icon .icon.icon-urmet-intercoms{width:27px;height:27px}}.card-product .card-section .product-item__icon .icon.icon-cctv-products{width:76px;height:76px}@media screen and (max-width: 99.9375em){.card-product .card-section .product-item__icon .icon.icon-cctv-products{width:63px;height:63px}}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__icon .icon.icon-cctv-products{width:40px;height:40px}}.card-product .card-section .product-item__icon .icon.icon-user-apps{width:52px;height:52px}@media screen and (max-width: 99.9375em){.card-product .card-section .product-item__icon .icon.icon-user-apps{width:42px;height:42px}}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__icon .icon.icon-user-apps{width:27px;height:27px}}.card-product .card-section .product-item__icon .icon.icon-fdi-access-control{width:50px;height:50px}@media screen and (max-width: 99.9375em){.card-product .card-section .product-item__icon .icon.icon-fdi-access-control{width:41px;height:41px}}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__icon .icon.icon-fdi-access-control{width:26px;height:26px}}.card-product .card-section .product-item__icon .icon.icon-network-devices{width:57px;height:57px}@media screen and (max-width: 99.9375em){.card-product .card-section .product-item__icon .icon.icon-network-devices{width:46px;height:46px}}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__icon .icon.icon-network-devices{width:29px;height:29px}}.card-product .card-section .product-item__icon .icon.icon-automation-products{width:65px;height:65px}@media screen and (max-width: 99.9375em){.card-product .card-section .product-item__icon .icon.icon-automation-products{width:53px;height:53px}}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__icon .icon.icon-automation-products{width:33px;height:33px}}.card-product .card-section .product-item__title h5{color:white;line-height:1.08;margin-bottom:0;-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}@media screen and (max-width: 99.9375em){.card-product .card-section .product-item__title h5{font-size:19px}}@media screen and (max-width: 47.9375em){.card-product .card-section .product-item__title h5{font-size:12px}}.card-product a{position:relative;z-index:1}.card-product a:before,.card-product a:after{content:"";position:absolute;top:0;bottom:0;width:2px;background-color:#262626;opacity:0;-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}.card-product a:before{left:0;z-index:2}.card-product a:after{right:0;z-index:2}.card-product a .product-item__image:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background-color:#262626;opacity:0;-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}.card-product a:hover:before,.card-product a:hover:after,.card-product a:hover .product-item__image:before,.card-product a:focus:before,.card-product a:focus:after,.card-product a:focus .product-item__image:before{opacity:1}.card-news{margin-bottom:60px}.card-news .card-section{padding:20px;padding-bottom:36px;position:relative}.card-news .news-item__title,.card-news .project-item__title{font-weight:bold;line-height:1.08;margin-top:0;margin-bottom:18px}@media screen and (max-width: 47.9375em){.card-news .news-item__title,.card-news .project-item__title{margin-bottom:5px;font-size:16px;line-height:1.25}}@media screen and (max-width: 47.9375em){.card-news .news-item__publish-date,.card-news .project-item__group{font-size:10px;line-height:1.2;margin-bottom:0}}.card-news .news-item__publish-date{text-transform:uppercase}@media screen and (max-width: 64em){.card-news .news-item__publish-date{margin-bottom:0;font-size:11px}}.card-news .news-item__more{position:absolute;bottom:15px;right:11px;padding:0;visibility:hidden}@media print, screen and (min-width: 48em){.card-news a:hover,.card-news a:focus{color:inherit}.card-news a:hover .card-section:after,.card-news a:focus .card-section:after{position:absolute;left:0;right:0;bottom:0;height:6px;background-color:#262626;content:""}.card-news a:hover .news-item__more,.card-news a:focus .news-item__more{visibility:visible}}@media screen and (max-width: 64em){.card-news .card-section{padding:20px 15px}}@media screen and (max-width: 47.9375em){.card-news{padding:10px}.card-news a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row;-ms-flex-flow:row;flex-flow:row;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.card-news .news-item__image,.card-news .project-item__image{background-position:center;background-repeat:no-repeat;background-size:cover;width:110px;height:62px;margin-bottom:0;padding-top:0}.card-news .card-section{padding:0;padding-left:20px;width:calc(100vw - 180px)}}.card-profile{padding-left:0;padding-right:0;background:transparent;border:0}.card-profile .profile-item__image{height:270px}.card-profile .card-section{padding:12px 0}.card-profile .card-section .profile-details__name{margin-bottom:0;color:#000000}.card-profile .card-section .profile-details__title{color:#000000}.card-profile .card-section .profile-details__title,.card-profile .card-section .profile-details__description{line-height:20px;margin-bottom:10px;font-size:14px}@media screen and (max-width: 47.9375em){.card-profile{margin-bottom:0;overflow:visible}.card-profile .profile-panel-open-trigger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row;-ms-flex-flow:row;flex-flow:row;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.card-profile .profile-panel-open-trigger .profile-item__image{width:110px;height:148px;margin-right:20px;padding-top:0}.card-profile .profile-panel-open-trigger .profile-details-overview{width:calc(100vw - 40px - 20px - 30px - 110px);padding:0}.card-profile .profile-panel-open-trigger .profile-details-overview .profile-details__name{font-size:16px;line-height:1.25;font-weight:bold;margin-bottom:4px}.card-profile .profile-panel-open-trigger .profile-details-overview .profile-details__title{line-height:1.29}.card-profile .profile-panel-open-trigger .profile-details-overview .profile-details__description p{font-size:14px;line-height:1.43}.card-profile .profile-panel-open-trigger:before{content:"";position:absolute;left:20px;right:20px;top:-1px;height:1px;background-color:white}}.card-article{background:none;border:0}.card-article .card-article__title{font-size:24px;line-height:1;margin-bottom:15px;position:relative;font-weight:normal}.card-article p{font-size:16px;line-height:24px;line-height:1.5}@media screen and (max-width: 99.9375em){.card-article p{font-size:16px}}@media screen and (max-width: 47.9375em){.card-article p{font-size:14px}}@media print, screen and (min-width: 64em){.card-article{padding-left:24px;border-left:5px solid #262626}}@media screen and (max-width: 63.9375em){.card-article{margin-bottom:45px}.card-article .card-article__title{padding-top:20px}.card-article .card-article__title:before{content:"";position:absolute;left:0;top:0;width:30px;height:5px;background-color:#262626}.card-article p{font-size:14px;line-height:1.57;margin-bottom:20px}.card-article .card-article__action .button{font-size:13px}}.card-icon{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.card-icon .icon{width:36px;height:36px}.card-icon .icon-label{font-size:14px;line-height:1;font-weight:bold;word-wrap:break-word;text-align:center}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{height:60px;margin-bottom:20px}@media screen and (max-width: 63.9375em){[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{height:50px}}::-webkit-input-placeholder{color:#807e7e !important}::-moz-placeholder{color:#807e7e !important}:-ms-input-placeholder{color:#807e7e !important}:-moz-placeholder{color:#807e7e !important}.sel{font-size:1rem;display:inline-block;width:100%;height:60px;position:relative;cursor:pointer;border:1px solid #f2f0f0;padding:0.625rem 1.25rem;color:#807e7e}.sel::before{content:"";position:absolute;padding-right:45px;padding-left:0;margin-bottom:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 32'><polygon points='9.880 10.667, 16.000 16.774, 22.120 10.667, 24.000 12.547, 16.000 20.547, 8.000 12.547' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -35px center;background-repeat:no-repeat;background-size:24px 24px;width:45px;height:45px;right:1.25rem;top:7px}.sel.open:before{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 32'><polygon points='9.880 10.667, 16.000 16.774, 22.120 10.667, 24.000 12.547, 16.000 20.547, 8.000 12.547' style='fill: rgb%2838, 38, 38%29'></polygon></svg>")}.sel.active::before{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.sel__placeholder{display:block;color:#807e7e;padding:0.3em 0.5em;text-align:left;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:visible}.sel.active .sel__placeholder{visibility:hidden}.sel__placeholder::before{position:absolute;top:8px;bottom:0;left:1.25rem;right:0;padding:0.3em 0.5em;content:attr(data-placeholder);visibility:hidden}.sel.active .sel__placeholder::before{visibility:visible}.sel__box{position:absolute;top:58px;left:-1px;right:-1px;display:none;list-style-type:none;text-align:left;background-color:#f2f0f0;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #f2f0f0;z-index:9999}.sel.active .sel__box{display:block}.sel__box__options{display:list-item;font-size:inherit;color:#807e7e;padding:0.5em 1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sel__box__options.selected::after{display:inline}.sel__box__options:hover{background-color:white}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeOut{from{opacity:1}to{opacity:0;height:0}}.filter-bar{margin-bottom:50px}@media screen and (max-width: 99.9375em){.filter-bar{margin-top:50px}}@media screen and (max-width: 47.9375em){.filter-bar{margin-top:20px;margin-bottom:20px}.filter-bar form{display:none}}.filter-bar___trigger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row;-ms-flex-flow:row;flex-flow:row;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;visibility:hidden;height:0}@media screen and (max-width: 47.9375em){.filter-bar___trigger{visibility:visible;height:auto}}.filter-bar___trigger .filter-bar__trigger__button{color:#262626;font-weight:bold}.filter-bar___trigger .trigger-action-icon{margin-left:15px}.filter-bar___trigger .trigger-action-icon .icon{width:36px;height:36px;color:#262626}.filter-bar .form-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row;-ms-flex-flow:row;flex-flow:row}@media screen and (max-width: 47.9375em){.filter-bar .form-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;padding-top:20px;padding-bottom:20px}.filter-bar .form-container .sel__placeholder{font-size:14px}}.filter-bar__section{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-left:30px;margin-right:30px}@media screen and (max-width: 47.9375em){.filter-bar__section{margin:20px 10px}}.filter-bar__section label{font-size:16px;line-height:28px;font-weight:bold;text-transform:uppercase;margin-right:22px;white-space:nowrap}@media screen and (max-width: 99.9375em){.filter-bar__section label{font-size:14px}}@media screen and (max-width: 47.9375em){.filter-bar__section label{font-size:13px}}@media screen and (max-width: 47.9375em){.filter-bar__section label{width:50px;white-space:initial;line-height:1}}.filter-bar__section .sel{border:0;border-bottom:2px solid #cccaca;height:35px;padding:0;padding-right:25px}.filter-bar__section .sel .sel__placeholder{color:#262626;padding-left:0;padding-right:0}.filter-bar__section .sel:before{padding-right:0;width:32px;height:32px;right:-8px;top:2px;background-position:center}.filter-bar__section .sel .sel__placeholder:before{top:0;left:0;padding-left:0;padding-right:0}.filter-bar__section .sel .sel__box{top:33px;border:0;background:#262626;color:white;padding-top:10px;padding-bottom:10px}.filter-bar__section .sel .sel__box .sel__box__options{padding:10px 20px;color:#cccaca}.filter-bar__section .sel .sel__box .sel__box__options:hover{background-color:rgba(255,255,255,0.1);color:white}.filter-bar__section.news__filter-bar__topics .sel,.filter-bar__section.filter-bar__product-group .sel{width:188px}.filter-bar__section.news__filter-bar__topics .sel .sel__box,.filter-bar__section.filter-bar__product-group .sel .sel__box{width:228px;left:-20px}.filter-bar__section.news__filter-bar__sort .sel,.filter-bar__section.filter-bar__state .sel{width:108px}.filter-bar__section.news__filter-bar__sort .sel .sel__box,.filter-bar__section.filter-bar__state .sel .sel__box{width:148px;left:-20px}@media screen and (max-width: 47.9375em){.advanced-search-form__button.button{position:absolute;background:transparent;color:#807e7e;font-size:13px;font-weight:bold;right:0;top:15px}.advanced-search-form__button.button:hover,.advanced-search-form__button.button:focus{background:none}}.wpcf7 .field{position:relative;overflow:visible;width:100%}.wpcf7 input,.wpcf7 textarea{width:100%;background:none;position:relative;top:0;left:0;z-index:1;outline:0}.wpcf7 input:valid,.wpcf7 textarea:valid{background:white}.wpcf7 input.wpcf7-not-valid,.wpcf7 textarea.wpcf7-not-valid{border:1px solid #262626}.wpcf7 input:hover,.wpcf7 textarea:hover{border-color:#cccaca}.wpcf7 input:focus,.wpcf7 input.input-complete,.wpcf7 textarea:focus,.wpcf7 textarea.input-complete{border-color:#262626}.wpcf7 input:focus+label,.wpcf7 input.input-complete+label,.wpcf7 textarea:focus+label,.wpcf7 textarea.input-complete+label{background:white;color:#807e7e;font-size:70%;padding:1px 6px;z-index:2;text-transform:uppercase}.wpcf7 .sel.input-complete{border-color:#262626}.wpcf7 label{-webkit-transition:background 0.2s, color 0.2s, top 0.2s, bottom 0.2s, right 0.2s, left 0.2s;transition:background 0.2s, color 0.2s, top 0.2s, bottom 0.2s, right 0.2s, left 0.2s;position:absolute;color:#807e7e}.wpcf7 textarea{display:block;resize:vertical}.wpcf7 label{top:0;left:12px}.wpcf7 input:focus+label,.wpcf7 textarea:focus+label,.wpcf7 input.input-complete+label{top:-10px;left:12px;z-index:999}.wpcf7 .wpcf7-not-valid-tip+label{top:-10px;left:12px;z-index:999;background:white;color:#807e7e;font-size:70%;padding:1px 6px;z-index:2;text-transform:uppercase}.wpcf7 .wpcf7-not-valid-tip{color:#262626}.wpcf7 .wpcf7-submit{font-size:16px;text-transform:uppercase;line-height:1;border-radius:30px;color:#807e7e;padding:21px 28px;cursor:pointer;background-color:#f2f0f0 !important;border:0 !important}@media screen and (max-width: 99.9375em){.wpcf7 .wpcf7-submit{font-size:13px}}@media screen and (max-width: 47.9375em){.wpcf7 .wpcf7-submit{font-size:13px}}.wpcf7 .wpcf7-not-valid-tip{position:absolute;right:12px;bottom:12px;z-index:999;background:white;font-size:14px;padding:0 12px}.wpcf7 .screen-reader-response{display:none}.wpcf7 .wpcf7-response-output,.wpcf7 .wpcf7-validation-errors{font-size:16px;margin-top:25px;font-weight:300;line-height:1.28}.wpcf7 .action{margin-top:2rem}html.lb-disable-scrolling{overflow:hidden;position:fixed;height:100vh;width:100vw}.lightboxOverlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:99999;background-color:#262626;display:none}.lightbox{position:fixed;left:0;top:0 !important;right:0;bottom:0;width:100vw !important;height:100vh !important;z-index:999999;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;height:calc(100vh - 180px) !important;width:auto !important}.lightbox a img{border:none}.lb-outerContainer{position:relative;*zoom:1;width:250px;height:250px;margin:0 auto;height:calc(100vh - 180px) !important;background-color:white}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:none}.lb-prev,.lb-next{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:50px;height:50px;background-color:#4d4c4c;cursor:pointer;z-index:999;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;display:flex !important}.lb-prev .icon,.lb-next .icon{width:32px;height:32px;color:#cccaca}.lb-next{right:-50px}.lb-prev{left:-50px}.lb-nav a.lb-prev:hover,.lb-nav a.lb-next:hover{background-color:white}.lb-nav a.lb-prev:hover .icon,.lb-nav a.lb-next:hover .icon{color:#262626}.lb-dataContainer{margin:0 auto;padding-top:20px;*zoom:1;width:100%}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.lb-data .lb-details{width:40%;float:left;text-align:left;line-height:1.1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column}.lb-data .lb-caption{font-size:24px;font-weight:normal;line-height:1;color:#ffffff;margin-bottom:5px}.lb-data .lb-caption a{color:#ffffff}.lb-category{font-size:14px;color:#cccaca;text-transform:uppercase}.lb-description{width:55%;line-height:1;font-size:16px;line-height:1.13;color:#cccaca;font-weight:300;text-align:left}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999999}.lb-closeContainer{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:50px;height:50px;right:-50px;top:0;background-color:#4d4c4c}.lb-close{width:50px;height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.lb-close .icon{width:32px;height:32px;color:#cccaca}.lb-close:hover{cursor:pointer;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1;background-color:white}.lb-close:hover .icon{color:#262626}.media-object-section .media-object-section__content__title{line-height:1;margin-bottom:14px}p.media-object-section__content__description{line-height:20px;margin-bottom:10px}.orbit-caption{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);color:#262626}.orbit-previous,.orbit-next{top:45%;color:#313131;background-color:#f2f0f0;padding:2px;border-radius:0}.orbit-previous .icon,.orbit-next .icon{width:48px;height:48px}.orbit-previous:hover,.orbit-previous:focus,.orbit-next:hover,.orbit-next:focus{background-color:#262626;color:white}.orbit-bullets{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.orbit-bullets button{position:relative;z-index:9;-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}.orbit-bullets button::before{content:"";opacity:0;position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:5px solid rgba(128,126,126,0.5);border-radius:50%;z-index:1;-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}.orbit-bullets button.is-active::before{border:5px solid rgba(38,38,38,0.5)}.orbit-bullets button:hover,.orbit-bullets button:focus{background:#807e7e}.orbit-bullets button:hover::before,.orbit-bullets button:focus::before{opacity:1}.orbit-bullets button.is-active:hover,.orbit-bullets button.is-active:focus{background:#262626}.orbit-bullets button.is-active:hover::before,.orbit-bullets button.is-active:focus::before{opacity:1}.hero-slider .orbit-image,.hero-slider .orbit-container{height:43vw !important}@media screen and (max-width: 99.9375em){.hero-slider .orbit-image,.hero-slider .orbit-container{height:51.75vw !important}}@media screen and (max-width: 63.9375em){.hero-slider .orbit-image,.hero-slider .orbit-container{height:69vw !important}}@media screen and (max-width: 47.9375em){.hero-slider .orbit-image,.hero-slider .orbit-container{height:490px !important}}.hero-slider .orbit-caption .figcaption-transparent-wrapper{width:760px;background-image:-webkit-gradient(linear, left top, right top, from(rgba(255,255,255,0)), color-stop(50%, rgba(255,255,255,0.79)), to(rgba(255,255,255,0.01)));background-image:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.79) 50%, rgba(255,255,255,0.01) 100%);margin-left:auto;margin-right:auto;padding:30px 80px;padding-top:1px}@media screen and (max-width: 64em){.hero-slider .orbit-caption .figcaption-transparent-wrapper{width:640px;padding-left:50px;padding-right:50px}}@media screen and (max-width: 63.9375em){.hero-slider .orbit-caption .figcaption-transparent-wrapper{width:auto !important;padding-left:65px;padding-right:65px}}@media screen and (max-width: 47.9375em){.hero-slider .orbit-caption .figcaption-transparent-wrapper{padding-left:10px;padding-right:10px}}.hero-slider .hero-slider-item__title{margin-top:30px;margin-bottom:5px;position:relative;z-index:99}@media screen and (max-width: 64em){.hero-slider .hero-slider-item__title{margin-top:15px}}@media screen and (max-width: 63.9375em){.hero-slider .hero-slider-item__title{font-size:60px}}@media screen and (max-width: 47.9375em){.hero-slider .hero-slider-item__title{font-size:36px}}.hero-slider .hero-slider-item__description{padding-top:30px;padding-bottom:70px;margin-bottom:0}@media screen and (max-width: 64em){.hero-slider .hero-slider-item__description{font-size:30px;padding-bottom:30px}}@media screen and (max-width: 47.9375em){.hero-slider .hero-slider-item__description{font-size:18px;padding-top:15px;padding-bottom:15px}}.hero-slider .orbit-bullets{bottom:0}@media screen and (max-width: 64em){.hero-slider .orbit-bullets{bottom:20px}}.hero-slider .button{margin-top:-30px}.home-section__hero-slider img{height:828px}.banner-slider .orbit-bullets{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);bottom:55px;margin:0}@media screen and (max-width: 47.9375em){.banner-slider .orbit-bullets{display:none}}@media screen and (max-width: 47.9375em){.banner-slider .orbit-figure{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.banner-slider .orbit-image{height:360px;width:auto !important;max-width:500% !important}}.slick-slider{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:visible;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;min-height:1px;display:none}[dir="rtl"] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.tabs{border-bottom:1px solid #262626}.tabs a{background-color:#f2f0f0;text-transform:uppercase}@media screen and (max-width: 47.9375em){.tabs a{font-size:13px;padding:18px 24px}}.tabs-title:first-of-type a{border-top-left-radius:30px}.tabs-title:last-of-type a{border-top-right-radius:30px}@media screen and (max-width: 47.9375em){.tabs-panel{padding-top:30px;padding-bottom:30px}}body.about .article-content__section__title{font-size:24px}@media screen and (min-width: 100em){body.about .article-content__section__title{font-size:30px}}body.about #our-people.article-content__section__main{padding-top:50px;padding-bottom:75px}body.about #our-people.article-content__section__main:last-of-type{padding-bottom:0}body.about .profile-list h5{font-weight:normal}body.about .profile-container{margin-left:-25px;margin-right:-25px;position:relative}body.about .profile-item{padding-left:5px;padding-right:5px;margin-bottom:15px}body.about .profile-item .card a.profile-panel-open-trigger{padding:20px;position:relative;border-color:transparent;-webkit-transition:border-color 0.2s ease-in-out !important;transition:border-color 0.2s ease-in-out !important;color:#4d4c4c}body.about .profile-item .card a.profile-panel-open-trigger:hover,body.about .profile-item .card a.profile-panel-open-trigger:focus{border:1px solid white;padding:19px;cursor:pointer}body.about .profile-item .card a.profile-panel-open-trigger:hover:after,body.about .profile-item .card a.profile-panel-open-trigger:focus:after{content:"+";position:absolute;bottom:8px;right:8px;font-size:32px;color:white}body.about .profile-details-full__panel{position:absolute;left:0;top:0;right:0;bottom:0;background-color:#cccaca;z-index:99999}body.about .profile-details-full__container{width:700px;height:auto;background-color:white;padding:30px;margin-left:30px;position:relative}@media screen and (max-width: 47.9375em){body.about .profile-details-full__container{width:100vw;padding:40px 30px;top:-1px;margin-left:-5px}body.about .profile-details-full__container .grid-x{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}body.about .profile-details-full__container .cell{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}body.about .profile-details-full__container .profile-details-full-item__avatar{width:200px;height:268px;margin-bottom:28px}body.about .profile-details-full__container .profile-details-full-item__name,body.about .profile-details-full__container .profile-details-full-item__position{text-align:center;color:#000000}body.about .profile-details-full__container .profile-details-full-item__name{font-size:20px;font-weight:bold;line-height:1.2}body.about .profile-details-full__container .profile-details-full-item__description p{font-weight:normal}body.about .profile-details-full__container .profile-details-full-item__contact span{width:40px;height:40px}body.about .profile-details-full__container .profile-details-full-item__contact a{color:#262626}body.about .profile-details-full__container .profile-details-full__more.button{color:#262626}body.about .profile-details-full__container .profile-details-full__panel__close-button{background-color:transparent;right:20px}}body.about .profile-details-full__panel__close-button{position:absolute;top:0;right:0;width:50px;height:50px;background-color:#f2f0f0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}body.about .profile-details-full__more{margin-top:24px}@media screen and (max-width: 47.9375em){body.about #our-company .article-body{padding-bottom:40px}body.about #our-company .article-content__section__paragraph figure{margin-bottom:15px}body.about #our-company .article-content__section__title{margin-top:40px;margin-bottom:0}body.about #urmet-group .article-content__section__title{margin-top:15px;margin-bottom:20px}body.about #urmet-group .article-content__section__paragraph{margin-top:0}body.about #our-people #our-people_profile-list{display:none}body.about #our-people .profiles-heading{text-align:center;margin-bottom:25px !important}body.about #our-people .profiles-heading a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#262626;position:relative}body.about #our-people .profiles-heading a .icon{color:#807e7e;width:32px;height:32px;position:absolute;right:0}body.about #our-people .profile-item{margin-bottom:0}body.about #our-people .article-content__section__title{margin-bottom:50px}body.about #our-people .article-content__section__text-area p{margin-bottom:30px !important}body.about #our-people .our-people__more{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:20px}body.about #our-people .our-people__more a{color:#262626;font-size:14px;padding:8px 18px}body.about #our-people .our-people__more a .icon{color:#807e7e;width:32px;height:32px}}body.careers .article-content{padding-top:50px}.career-job-list-item__title{line-height:1;margin-bottom:0}.career-job-list-item__location{font-size:16px;line-height:24px;color:#262626;margin-bottom:16px}@media screen and (max-width: 99.9375em){.career-job-list-item__location{font-size:16px}}@media screen and (max-width: 47.9375em){.career-job-list-item__location{font-size:14px}}.career-job-list-item__description ul{margin-top:3px;margin-bottom:30px !important}@media screen and (max-width: 99.9375em){.job-list-accordion h4{font-size:24px}}.job-list-accordion .accordion-title{border-left:0;border-right:0;color:#666565;padding-top:46px;padding-bottom:66px}.job-list-accordion .accordion-title:hover{color:inherit}.job-list-accordion .accordion-item{position:relative}.job-list-accordion .accordion-item.is-active .accordion-title{padding-bottom:0}.job-list-accordion .accordion-content{border:0;padding:0;padding-bottom:30px;color:#666565}.job-list-accordion .accordion-trigger{float:right}.job-list-accordion .accordion-trigger .icon{margin-left:6px}.job-list-accordion .accordion-item .accordion-trigger__close{visibility:hidden;position:absolute;right:0;bottom:30px}@media screen and (max-width: 99.9375em){.job-list-accordion .career-job-list-item__title{font-size:20px}.job-list-accordion .career-job-list-item__location{font-size:14px}}.job-list-accordion .accordion-item.is-active .accordion-trigger__open{visibility:hidden}.job-list-accordion .accordion-item.is-active .accordion-trigger__close{visibility:visible}.job-list-accordion .career-job-list-item .accordion-title:before{display:none}.featured-profiles.article-content__section__main{padding-top:105px;padding-bottom:150px;padding-top:60px;padding-bottom:105px}.contact-page-container{padding-left:160px;padding-right:160px}@media screen and (max-width: 99.9375em){.contact-page-container{padding-top:45px}}@media screen and (max-width: 63.9375em){.contact-page-container{padding-left:80px;padding-right:80px}}@media screen and (max-width: 47.9375em){.contact-page-container{padding-left:30px;padding-right:30px}}@media print, screen and (min-width: 64em){.product-enquiry__offices,.service-enquiry__offices{padding-right:40px}}.product-enquiry__office__mail a.button.clear{color:#666565}.product-enquiry__office__mail a.button.clear:hover,.product-enquiry__office__mail a.button.clear:focus{color:#262626}@media print, screen and (min-width: 64em){.product-enquiry__form,.service-enquiry__form{padding-left:40px}}@media screen and (max-width: 63.9375em){.product-enquiry__form,.service-enquiry__form{margin-top:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.product-enquiry__form form,.service-enquiry__form form{width:400px}}@media screen and (max-width: 47.9375em){.product-enquiry__form form,.service-enquiry__form form{width:calc(100vw - 60px)}.product-enquiry__form h4.section-title,.service-enquiry__form h4.section-title{margin-bottom:45px}}.contact-page-container .section-title{margin-bottom:76px;line-height:1}@media screen and (max-width: 99.9375em){.contact-page-container .section-title{font-size:24px;margin-bottom:50px}}@media screen and (max-width: 63.9375em){.contact-page-container .section-title{margin-bottom:20px}}.product-enquiry__offices section,.service-enquiry__section section{padding-top:35px;padding-bottom:15px;border-top:1px solid #f2f0f0;font-size:16px}.product-enquiry__offices section h5,.service-enquiry__section section h5{font-size:24px;line-height:1;margin-bottom:42px}@media screen and (max-width: 99.9375em){.product-enquiry__offices section h5,.service-enquiry__section section h5{font-size:20px}}@media screen and (max-width: 63.9375em){.product-enquiry__offices section:last-of-type,.service-enquiry__section section:last-of-type{border-bottom:1px solid #f2f0f0}}.product-enquiry__office__item{font-weight:300;color:#666565}.product-enquiry__office__address{line-height:1.25}.product-enquiry__office__address .thumbnail{width:40px;height:40px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border:1px solid #807e7e;-webkit-box-shadow:none;box-shadow:none}.faq-introduction{padding-bottom:45px}@media screen and (max-width: 99.9375em){.faq-introduction{padding-top:45px}}.faq-introduction .article-body p{font-size:24px;line-height:1.25;text-align:center;font-weight:300}.faq-introduction .article-body p a{text-decoration:underline}@media screen and (max-width: 63.9375em){.faq-introduction .article-body p{font-size:20px;line-height:1.3}}@media screen and (max-width: 63.9375em){.faq-category-section{padding-left:80px;padding-right:80px}}@media screen and (max-width: 47.9375em){.faq-category-section{padding-left:0;padding-right:0}}.faq-category-section h4.faq-category-section__title{padding-top:15px}@media screen and (max-width: 63.9375em){.faq-category-section h4.faq-category-section__title{font-size:24px}}.faq-accordion .accordion-title{border:0;padding:16px 0;padding-right:24px}.faq-accordion .accordion-title h5{line-height:1;margin-bottom:0;font-weight:normal}@media screen and (max-width: 63.9375em){.faq-accordion .accordion-title h5{font-size:20px}}.faq-accordion .accordion-title:hover{color:inherit}.faq-accordion .accordion-title:before{position:absolute;font-size:36px;margin-top:0;color:#807e7e;right:0}.faq-accordion :last-child:not(.is-active)>.accordion-title,.faq-accordion :last-child>.accordion-content:last-child{border:0}.faq-accordion .is-active>.accordion-title:before{content:'✕';font-size:24px;font-weight:bold;right:0}.faq-accordion .is-active .accordion-title{padding-bottom:10px}.faq-accordion .accordion-content{padding:0;padding-bottom:22px;border:0;color:#807e7e}.faq-accordion .accordion-content p{font-size:16px;font-weight:300;margin-bottom:8px}.faq-category-section{padding-top:30px;padding-bottom:30px;border-bottom:1px solid #f2f0f0}.faq-category-section:first-of-type{border-top:1px solid #f2f0f0}#site-footer{font-size:14px;line-height:20px;color:#807e7e;background-color:#252526}@media screen and (max-width: 99.9375em){#site-footer{font-size:14px}}@media screen and (max-width: 47.9375em){#site-footer{font-size:14px}}#site-footer .page-bottom{padding-top:50px;padding-bottom:60px;border-bottom:1px #4d4c4c solid}@media screen and (max-width: 47.9375em){#site-footer .page-bottom{padding-bottom:0}}#site-footer a{color:#807e7e}#site-footer a:hover,#site-footer a:focus{color:#f2f0f0}#site-footer .site-footer__top{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}@media screen and (max-width: 99.9375em){#site-footer .site-footer__top{margin-bottom:28px}}@media screen and (max-width: 63.9375em){#site-footer .site-footer__top{padding-left:20px;padding-right:20px}}@media screen and (max-width: 47.9375em){#site-footer .site-footer__top{margin-bottom:37px}}#site-footer .site-footer__top .footer-brand svg{width:120px;height:49px;fill:white}@media screen and (max-width: 99.9375em){#site-footer .site-footer__top .footer-brand svg{/* width:96px; */height:45px}}@media screen and (max-width: 47.9375em){#site-footer .site-footer__top .footer-brand svg{/* width:76px; */height:40px}}@media screen and (min-width: 100em){#site-footer .site-footer__middle{margin-top:-60px}}#site-footer .footer-links{margin-bottom:42px;padding-left:15px;padding-top:15px}#site-footer .footer-links a{font-size:14px;text-transform:uppercase;line-height:1;padding:0;padding-top:2px;padding-bottom:25px}@media screen and (max-width: 99.9375em){#site-footer .footer-links a{font-size:14px}}@media screen and (max-width: 47.9375em){#site-footer .footer-links a{font-size:14px}}@media screen and (max-width: 99.9375em){#site-footer .footer-links a{font-size:12px;padding-bottom:17px}}#site-footer .footer-links a:hover,#site-footer .footer-links a:focus{color:#f2f0f0}@media screen and (max-width: 47.9375em){#site-footer .footer-links{display:none}}#site-footer .social-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}#site-footer .social-container .social-container__title{margin-right:8px}@media screen and (max-width: 99.9375em){#site-footer .social-container .social-container__title{font-size:12px}}#site-footer .social-container .social-icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}#site-footer .social-container .social-instagram{margin-right:5px}#site-footer .social-container .icon-instagram{width:48px;height:48px}@media screen and (max-width: 99.9375em){#site-footer .social-container .icon-instagram{width:32px;height:32px}}#site-footer .social-container .icon-linkedin{width:32px;height:32px}@media screen and (max-width: 99.9375em){#site-footer .social-container .icon-linkedin{width:28px;height:28px}}#site-footer .contact{padding-left:15px}#site-footer .contact h5{color:#cccaca;font-weight:bold;margin-bottom:44px}@media screen and (max-width: 99.9375em){#site-footer .contact h5{font-size:20px;margin-bottom:16px}}@media screen and (max-width: 47.9375em){#site-footer .contact h5{margin-bottom:25px}}#site-footer .contact .contact-details{font-size:14px;line-height:20px;color:#807e7e;line-height:24px}@media screen and (max-width: 99.9375em){#site-footer .contact .contact-details{font-size:14px}}@media screen and (max-width: 47.9375em){#site-footer .contact .contact-details{font-size:14px}}@media screen and (max-width: 99.9375em){#site-footer .contact .contact-details{font-size:12px;line-height:1.67}}#site-footer .contact .contact-details .contact-details__name{font-weight:bold;color:#cccaca}#site-footer .contact .contact-details .contact-details__address{margin-bottom:23px}@media screen and (max-width: 47.9375em){#site-footer .contact .contact-details{margin-bottom:30px}#site-footer .contact .contact-details:last-of-type{margin-bottom:47px}}#site-footer .copyright-container{padding-top:25px;padding-bottom:25px}@media screen and (max-width: 99.9375em){#site-footer .copyright-container{font-size:12px;line-height:1.67}}@media screen and (max-width: 47.9375em){#site-footer .copyright-container{font-size:10px}}#site-footer .copyright-container .designed-by{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}#site-footer .copyright-container .designed-by svg{width:85px;height:47px;fill:#807e7e}@media screen and (max-width: 99.9375em){#site-footer .copyright-container .designed-by svg{width:68px;height:37px}}#site-footer .copyright-container .designed-by svg:hover,#site-footer .copyright-container .designed-by svg:focus{fill:#f2f0f0}#site-footer .copyright-container .designed-by span{margin-right:18px}@media screen and (max-width: 99.9375em){#site-footer .copyright-container .designed-by span{margin-right:12px}}@media screen and (max-width: 63.9375em){#site-footer .copyright-container .cell{text-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:19px}}@media screen and (max-width: 47.9375em){#site-footer .copyright-container .cell{margin-bottom:10px}}#default-site-header{background-color:white}.top-link .menu{border:1px #f2f0f0 solid;border-top:0;border-bottom-left-radius:25px;border-bottom-right-radius:25px;padding-left:15px;padding-right:15px}@media screen and (max-width: 64em){.top-link .menu{border-bottom-left-radius:22px;border-bottom-right-radius:22px}}.top-link .menu li a{font-size:14px;text-transform:uppercase;line-height:1;margin:18px 14px;padding:0}@media screen and (max-width: 99.9375em){.top-link .menu li a{font-size:14px}}@media screen and (max-width: 47.9375em){.top-link .menu li a{font-size:14px}}.top-link .menu li.current-menu-item a{border-bottom:3px solid #807e7e;padding-bottom:15px;margin-bottom:0;color:#807e7e}#site-logo{font-size:40px;margin:0;margin-top:-17px}@media screen and (max-width: 64em){#site-logo{margin-top:-31px}}#site-logo svg{/* width: 96px; */height:75px;fill:#262626}@media screen and (max-width: 64em){#site-logo svg{/* width:75px; */height:45px}}#global-nav .menu a{font-size:14px;text-transform:uppercase;line-height:1;margin:30px 20px 28px 20px;padding:0}@media screen and (max-width: 99.9375em){#global-nav .menu a{font-size:14px}}@media screen and (max-width: 47.9375em){#global-nav .menu a{font-size:14px}}#global-nav .menu a:hover,#global-nav .menu a:focus{border-bottom:5px solid #cccaca;margin-bottom:0;padding-bottom:23px;color:inherit}@media screen and (max-width: 64em){#global-nav .menu a{margin:30px 15px 28px 15px}}#global-nav .menu li.current-menu-item a{border-bottom:5px solid #262626;margin-bottom:0;padding-bottom:23px;color:#262626}#sticky-site-header.fixed{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:fixed;top:0;left:0;right:0;background-color:#262626;z-index:9999}#sticky-site-header.fixed .site-header-container{position:relative;height:80px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100vw;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}@media screen and (max-width: 64em){#sticky-site-header.fixed .site-header-container{height:62px}}@media screen and (max-width: 47.9375em){#sticky-site-header.fixed .site-header-container{height:70px}}#sticky-site-header.fixed .top-link .menu{border:0}@media screen and (min-width: 48em){#sticky-site-header.fixed .header-banner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}}#sticky-site-header.fixed .header-banner #site-logo{margin-left:30px;margin-top:0}@media (min-width: 48em) and (max-width: 63.9375em){#sticky-site-header.fixed .header-banner #site-logo{margin-left:0}}#sticky-site-header.fixed .header-banner #site-logo svg{/* width:76px; */height:40px;fill:white}#sticky-site-header.fixed .header-bar{display:block}#sticky-site-header.fixed #global-nav{position:relative;padding-right:14px}#sticky-site-header.fixed #global-nav:after{content:"";background-color:#cccaca;position:absolute;top:15px;right:0;width:1px;height:50px}@media screen and (max-width: 64em){#sticky-site-header.fixed #global-nav:after{top:16px;right:0;width:1px;height:30px}}#sticky-site-header.fixed .top-link .menu a,#sticky-site-header.fixed #global-nav a{color:#cccaca;padding-bottom:32px}@media screen and (max-width: 64em){#sticky-site-header.fixed .top-link .menu a,#sticky-site-header.fixed #global-nav a{padding-bottom:24px}}#sticky-site-header.fixed #global-nav a{margin:34px 20px 0 20px}@media screen and (max-width: 64em){#sticky-site-header.fixed #global-nav a{font-size:12px;margin:26px 10px 0 10px}}@media (min-width: 48em) and (max-width: 63.9375em){#sticky-site-header.fixed #global-nav a{margin:26px 6px 0 6px}}@media screen and (max-width: 64em){#sticky-site-header.fixed #global-nav a{padding-bottom:24px}}#sticky-site-header.fixed #global-nav a:hover,#sticky-site-header.fixed #global-nav a:focus{padding-bottom:32px;color:#cccaca}@media screen and (max-width: 64em){#sticky-site-header.fixed #global-nav a:hover,#sticky-site-header.fixed #global-nav a:focus{padding-bottom:24px}}#sticky-site-header.fixed #global-nav li.current-menu-item a{padding-bottom:32px;border-bottom-color:white;color:white}@media screen and (max-width: 64em){#sticky-site-header.fixed #global-nav li.current-menu-item a{padding-bottom:24px}}#sticky-site-header.fixed .top-link ul{padding:0;padding-left:14px}#sticky-site-header.fixed .top-link .menu a{margin:34px 14px;padding:0}@media screen and (max-width: 64em){#sticky-site-header.fixed .top-link .menu a{font-size:12px;margin:26px 10px 26px 10px}}@media (min-width: 48em) and (max-width: 63.9375em){#sticky-site-header.fixed .top-link .menu a{margin:26px 6px 0 6px}}#sticky-site-header.fixed .top-link .menu a:hover,#sticky-site-header.fixed .top-link .menu a:focus{padding-bottom:27px;margin-bottom:0;border-bottom:5px solid #cccaca}@media screen and (max-width: 64em){#sticky-site-header.fixed .top-link .menu a:hover,#sticky-site-header.fixed .top-link .menu a:focus{padding-bottom:24px}}#sticky-site-header.fixed .top-link .menu li.current-menu-item a{border-bottom:5px solid #fff;padding-bottom:32px;margin-bottom:0;color:white}@media screen and (max-width: 64em){#sticky-site-header.fixed .top-link .menu li.current-menu-item a{padding-bottom:24px}}@media screen and (max-width: 47.9375em){.top-link,#global-nav{display:none}#default-site-header{position:relative}.site-header-container{height:70px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}#site-logo{margin:0 !important}#site-logo svg{/* width:76px; */height:30px}}#nav-toggle{position:absolute;top:15px;left:30px;padding:10px 22px 10px 0px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;cursor:pointer}#nav-toggle .toggle-menu-label{margin-left:20px;text-transform:uppercase;color:#262626}#nav-toggle #menu-icon,#nav-toggle #menu-icon:before,#nav-toggle #menu-icon:after{cursor:pointer;height:2px;width:16px;background:#262626;position:absolute;display:block;content:'';z-index:9999999;-webkit-transition:all 0.25s ease-in-out;transition:all 0.25s ease-in-out}#nav-toggle #menu-icon:before{top:-5px}#nav-toggle #menu-icon:after{bottom:-5px}#nav-toggle #menu-icon.active{background:transparent}#nav-toggle #menu-icon.active:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);background-color:#262626;top:0}#nav-toggle #menu-icon.active:after{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);background-color:#262626;bottom:0}#default-site-header.fixed .toggle-menu-label{color:white}#default-site-header.fixed #menu-icon,#default-site-header.fixed #menu-icon:before,#default-site-header.fixed #menu-icon:after{background:white}#default-site-header.fixed #menu-icon.active{background:transparent}#default-site-header.fixed #menu-icon.active:before{background-color:white}#default-site-header.fixed #menu-icon.active:after{background-color:white}.modal{opacity:0.95}.modal-panel{width:100vw;height:calc(100vh - 70px);overflow-y:scroll;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.modal-panel .menu{margin-top:30px}.modal-panel .menu>li>a{font-size:14px;text-transform:uppercase;text-align:center;width:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:0}.modal-panel .menu>li>a span{padding:14px 21px;position:relative}.modal-panel .menu>li>a:hover span,.modal-panel .menu>li>a:focus span{background-color:#f2f0f0;border-radius:30px}.modal-panel li.current-menu-item a span{color:#262626}.modal-panel li.current-menu-item a span:before{content:"";position:absolute;left:0;top:15px;width:4px;height:11px;background-color:#262626}#default-site-header.is-down .modal-panel li.current-menu-item a span{color:white}#default-site-header.is-down .modal-panel li.current-menu-item a span:before{background-color:white}#default-site-header.is-down .modal-panel li.current-menu-item a:hover span{background-color:transparent}body.home{background-color:#fff}.home-section__how-can-we-help{padding-top:140px;padding-bottom:105px}@media screen and (max-width: 64em){.home-section__how-can-we-help{padding:75px;padding-bottom:125px}}@media screen and (max-width: 48em){.home-section__how-can-we-help{padding:75px 75px 60px 75px}}@media screen and (max-width: 47.9375em){.home-section__how-can-we-help{padding:60px 20px 60px 20px}}.home-section__how-can-we-help .how-can-we-help__title{margin-bottom:38px}@media screen and (max-width: 64em){.home-section__how-can-we-help .how-can-we-help__title{margin-bottom:30px}}@media screen and (max-width: 47.9375em){.home-section__how-can-we-help .how-can-we-help__title{font-size:24px;margin-bottom:19px}}.home-section__how-can-we-help .how-can-we-help__description{margin-left:auto;margin-right:auto;margin-bottom:60px;line-height:1.25;font-weight:300}@media print, screen and (min-width: 64em){.home-section__how-can-we-help .how-can-we-help__description{width:700px}}@media screen and (max-width: 64em){.home-section__how-can-we-help .how-can-we-help__description{font-size:18px;margin-bottom:90px}}@media screen and (max-width: 48em){.home-section__how-can-we-help .how-can-we-help__description{line-height:1.33;margin-bottom:60px}}@media screen and (max-width: 47.9375em){.home-section__how-can-we-help .how-can-we-help__description{font-size:14px;line-height:1.57}}.home-section__how-can-we-help .how-can-we-help__cards{margin-bottom:30px}@media screen and (max-width: 64em){.home-section__how-can-we-help .how-can-we-help__cards{margin-bottom:20px}}@media screen and (max-width: 48em){.home-section__how-can-we-help .how-can-we-help__cards{margin-bottom:50px}}.home-section__how-can-we-help .how-can-we-help__cards .card{background-color:transparent;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.home-section__how-can-we-help .how-can-we-help__cards .card .card-section{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.home-section__how-can-we-help .how-can-we-help__cards .card .how-item__title{font-weight:bold;line-height:1}@media screen and (max-width: 48em){.home-section__how-can-we-help .how-can-we-help__cards .card{margin-left:60px;margin-right:60px}.home-section__how-can-we-help .how-can-we-help__cards .card .card-section{padding:15px 18px}}@media screen and (max-width: 47.9375em){.home-section__how-can-we-help .how-can-we-help__cards .card{margin-left:30px;margin-right:30px;margin-bottom:22px}.home-section__how-can-we-help .how-can-we-help__cards .card .card-section{padding:0}.home-section__how-can-we-help .how-can-we-help__cards .card .how-item__title{font-size:14px}}.home-section__product-range{color:#cccaca}@media screen and (max-width: 99.9375em){.home-section__product-range{height:530px !important}}@media screen and (max-width: 47.9375em){.home-section__product-range{height:410px !important}}.home-section__product-range .page-container{position:relative;height:810px}@media screen and (max-width: 99.9375em){.home-section__product-range .page-container{height:530px}}@media screen and (max-width: 47.9375em){.home-section__product-range .page-container{height:410px !important}}@media screen and (max-width: 63.9375em){.home-section__product-range .page-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}}.home-section__product-range .home-section__product-range__container{background-color:rgba(38,38,38,0.5);width:420px;height:402px;padding:38px 90px 38px 50px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}@media screen and (max-width: 99.9375em){.home-section__product-range .home-section__product-range__container{margin-left:80px}}@media screen and (max-width: 52.5em){.home-section__product-range .home-section__product-range__container{margin-left:0;width:389px;height:352px;padding-right:65px}}@media screen and (max-width: 47.9375em){.home-section__product-range .home-section__product-range__container{width:300px;height:292px;padding:25px 20px}}.home-section__product-range .home-section__product-range__title{color:white;font-weight:bold;margin-bottom:18px}.home-section__product-range .home-section__product-range__description{margin-bottom:50px;line-height:26px;font-weight:300}@media screen and (max-width: 48em){.home-section__product-range .home-section__product-range__description{line-height:1.5;margin-bottom:50px}}@media screen and (max-width: 47.9375em){.home-section__product-range .home-section__product-range__description{font-size:14px;line-height:1.57;margin-bottom:30px}}.home-section__recent-projects{padding-top:75px;padding-bottom:150px}@media screen and (max-width: 64em){.home-section__recent-projects{padding-top:100px;padding-bottom:160px}.home-section__recent-projects .page-container{width:864px}}@media screen and (max-width: 52.5em){.home-section__recent-projects{padding-bottom:125px}.home-section__recent-projects .page-container{width:480px;padding-left:0;padding-right:0}}@media screen and (max-width: 47.9375em){.home-section__recent-projects{padding-top:30px;padding-bottom:50px;margin-bottom:60px}.home-section__recent-projects .page-container{width:300px;padding-left:0;padding-right:0}}.home-section__recent-projects .home-section__recent-projects__title{font-weight:bold;margin-bottom:70px}@media screen and (max-width: 64em){.home-section__recent-projects .home-section__recent-projects__title{margin-bottom:80px}}@media screen and (max-width: 48em){.home-section__recent-projects .home-section__recent-projects__title{margin-bottom:50px}}@media screen and (max-width: 47.9375em){.home-section__recent-projects .home-section__recent-projects__title{margin-bottom:40px}}.home-section__recent-projects .media-object-section:first-child{padding-right:0}.home-section__recent-projects .recent-projects__item__image{height:450px;padding-top:0}@media screen and (max-width: 64em){.home-section__recent-projects .recent-projects__item__image{height:311px}}@media screen and (max-width: 48em){.home-section__recent-projects .recent-projects__item__image{height:360px !important}}@media screen and (max-width: 47.9375em){.home-section__recent-projects .recent-projects__item__image{height:226px !important}}.home-section__recent-projects .recent-projects__item__detail{background-color:#f2f0f0;padding:60px 40px;height:450px}@media screen and (max-width: 64em){.home-section__recent-projects .recent-projects__item__detail{height:311px;padding:30px}}@media screen and (max-width: 48em){.home-section__recent-projects .recent-projects__item__detail{height:360px}}@media screen and (max-width: 30em){.home-section__recent-projects .recent-projects__item__detail{padding:30px 20px;height:300px}}.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__title{margin-bottom:6px}@media screen and (max-width: 64em){.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__title{margin-top:12px;margin-bottom:8px}}@media screen and (max-width: 30em){.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__title{font-size:18px;margin-top:0;margin-bottom:5px}}@media screen and (max-width: 64em){.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__type{font-size:14px;line-height:1.28}}.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__description{margin-top:14px;margin-bottom:40px;line-height:26px}@media screen and (max-width: 64em){.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__description{font-size:14px;line-height:1.43;margin-top:16px;margin-bottom:20px}}@media screen and (max-width: 47.9375em){.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__description{font-weight:normal !important;line-height:1.57;margin-top:20px;margin-bottom:26px}}@media screen and (max-width: 47.9375em){.home-section__recent-projects .recent-projects__item__detail .recent-projects__item__detail__button{width:129px;display:block;margin-left:auto;margin-right:auto}}.home-section__recent-projects .orbit-bullets{margin-top:32px}.home-section__recent-projects .orbit-bullets button{margin:6px}@media screen and (max-width: 52.5em){.home-section__recent-projects .orbit-bullets{margin-top:22px}}@media screen and (max-width: 47.9375em){.home-section__recent-projects .orbit-bullets{margin-top:22px;margin-bottom:3px}}@media screen and (max-width: 64em){.home-section__recent-projects .orbit-controls{display:none}}.home-section__recent-projects .orbit-previous{left:-100px}.home-section__recent-projects .orbit-next{right:-100px}.home-section__recent-projects .home-section__recent-projects__button{margin-top:10px;float:right;position:relative}@media screen and (max-width: 47.9375em){.home-section__recent-projects .home-section__recent-projects__button{display:none}}body.home .widget-latest-news{background-color:#f2f0f0}@media screen and (max-width: 47.9375em){body.home .widget-latest-news .card-news .news-item__title{font-size:16px;line-height:1.25}}.home-section__title{letter-spacing:1px}@media screen and (max-width: 63.9375em){.home-section__title{letter-spacing:-0.25px}}body{background-image:url(../img/bg_gradient.png);background-repeat:repeat-x !important;background-position:0 0;width:100vw;overflow:hidden}figcaption{background-color:#807e7e;padding:13px 30px;color:white}.hr{width:100%;height:1px;mix-blend-mode:undefined;background-color:#f2f0f0}.layout__page .page-header{height:260px}@media screen and (max-width: 63.9375em){.layout__page .page-header{height:200px}.layout__page .page-header .page-title{font-size:36px}}@media screen and (max-width: 47.9375em){.layout__page .page-header{height:170px}.layout__page .page-header .page-title{font-size:30px}}@media screen and (min-width: 100em){.layout__page .article-content{padding-top:50px}}.layout__page-wide .page-header{font-size:72px;height:360px}@media screen and (min-width: 100em){.layout__page-wide .page-header{height:548px}.layout__page-wide .page-header h1{margin-top:-85px}.layout__page-wide .article-content{margin-top:-100px;padding-top:96px}}.layout__post .breadcrumb,.layout__post .page-title{text-align:center}.layout__post .page-header{font-size:48px}.layout__post .page-header .page-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout__post .breadcrumb{font-size:14px;text-transform:uppercase;margin-bottom:7px;margin-top:73px}@media screen and (max-width: 99.9375em){.layout__post .breadcrumb{margin-top:50px;margin-bottom:5px}}@media screen and (max-width: 63.9375em){.layout__post .breadcrumb{margin-top:65px;margin-bottom:10px;font-size:12px}}@media screen and (max-width: 47.9375em){.layout__post .breadcrumb{margin-top:47px;margin-bottom:11px}}.layout__post .breadcrumb a:hover,.layout__post .breadcrumb a:focus{color:white}@media screen and (max-width: 99.9375em){.layout__post h2.page-title{font-size:36px}}@media screen and (max-width: 47.9375em){.layout__post h2.page-title{font-size:30px}}@media screen and (max-width: 47.9375em){.layout__post h2.page-title{height:6em;margin-bottom:40px}}.layout__post .page-navigation{margin-bottom:24px}@media screen and (max-width: 47.9375em){.layout__post .page-navigation{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}}.layout__post .page-navigation .icon{margin-left:-8px}.layout__post .page-navigation a{color:#cccaca}@media screen and (max-width: 64em){.layout__post .page-navigation a{font-size:13px}}.layout__post .page-navigation a:hover,.layout__post .page-navigation a:focus{color:white}.layout__post.news-item .page-header,.layout__post.news-item .page-header .page-container{height:310px}@media screen and (max-width: 99.9375em){.layout__post.news-item .page-header,.layout__post.news-item .page-header .page-container{height:290px}}@media screen and (max-width: 47.9375em){.layout__post.news-item .page-header,.layout__post.news-item .page-header .page-container{height:330px}}.layout__post.product-item .page-header{height:200px;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}@media screen and (min-width: 100em){.layout__post.product-item .page-header{height:360px}}@media screen and (max-width: 47.9375em){.layout__post.product-item .page-header{height:216px}}.layout__post.product-item .page-header .breadcrumb{margin-top:72px;margin-bottom:8px}@media screen and (max-width: 99.9375em){.layout__post.product-item .page-header .breadcrumb{font-size:12px;margin-top:60px;margin-bottom:0}}.layout__post.product-item .page-header h2.page-title{margin-bottom:10px}@media screen and (max-width: 99.9375em){.layout__post.product-item .page-header h2.page-title{font-size:36px;height:auto;margin-bottom:5px}}.layout__post.product-item .page-header .product-range-icon{text-align:center}.layout__post.product-item .page-header .product-range-icon .icon{width:56px;height:56px;color:white}@media screen and (max-width: 99.9375em){.layout__post.product-item .page-header .product-range-icon .icon{width:42px;height:42px}}.layout__post.product-item .page-header .page-navigation{margin-left:-100px}@media screen and (max-width: 99.9375em){.layout__post.product-item .page-header .page-navigation{margin-left:0;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}}@media screen and (max-width: 47.9375em){.layout__post.product-item .page-header .page-navigation{margin-bottom:10px}}@media screen and (max-width: 47.9375em){.layout__post.product-item .page-header .page-header-top{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:180px}.layout__post.product-item .page-header .page-header-top .breadcrumb{margin-top:0}}.layout__post.project-item .page-header{height:400px;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.layout__post.project-item .page-header .breadcrumb{margin-top:72px;margin-bottom:8px}.layout__post.project-item .page-header h2.page-title{margin-bottom:72px}@media screen and (max-width: 47.9375em){.layout__post.project-item .page-header{height:260px}.layout__post.project-item .page-header .breadcrumb{margin-top:46px;margin-bottom:8px;font-size:12px}.layout__post.project-item .page-header h2.page-title{height:auto;margin-bottom:25px}}@media screen and (min-width: 100em){.layout__post .article-content{padding-top:50px}}.layout__post .article-aside{top:50px;font-size:14px}.news__container{padding-left:80px;padding-right:80px;padding-bottom:90px}@media screen and (max-width: 47.9375em){.news__container{padding-left:20px;padding-right:20px;padding-bottom:100px}.news__container .news-action{margin-top:20px}}.news__container .news-item.cell{padding-left:30px;padding-right:30px}@media screen and (max-width: 99.9375em){.news__container .news-item.cell{padding-left:20px;padding-right:20px}.news__container .news-item.cell .card{margin-bottom:40px}}@media screen and (max-width: 47.9375em){.news__container .news-item.cell{padding-left:0;padding-right:0}.news__container .news-item.cell .card-news{margin-bottom:18px}}@media screen and (min-width: 100em){body.single-news body.news-item .article-aside{top:60px}}@media screen and (max-width: 99.9375em){body.single-news .article-meta__content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:32px}body.single-news .article-meta__content .article-meta__content__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;border-bottom:2px solid #f2f0f0}}@media screen and (max-width: 99.9375em) and (max-width: 99.9375em){body.single-news .article-meta__content .article-meta__content__container{width:700px;padding-top:20px;padding-bottom:20px}}@media screen and (max-width: 99.9375em) and (max-width: 63.9375em){body.single-news .article-meta__content .article-meta__content__container{width:calc(100vw - 160px)}}@media screen and (max-width: 99.9375em) and (max-width: 47.9375em){body.single-news .article-meta__content .article-meta__content__container{width:calc(100vw - 60px);-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}}@media screen and (max-width: 99.9375em){body.single-news .article-meta__content .article-meta__content__container .article-meta__topics,body.single-news .article-meta__content .article-meta__content__container .article-meta__author{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}body.single-news .article-meta__content .article-meta__content__container .article-meta__topics p,body.single-news .article-meta__content .article-meta__content__container .article-meta__author p{margin-bottom:0}}@media screen and (max-width: 99.9375em) and (max-width: 47.9375em){body.single-news .article-meta__content .article-meta__content__container .article-meta__topics,body.single-news .article-meta__content .article-meta__content__container .article-meta__author{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}}@media screen and (max-width: 99.9375em){body.single-news .article-meta__content .article-meta__content__container .article-meta__publish-at,body.single-news .article-meta__content .article-meta__content__container .article-meta__topics,body.single-news .article-meta__content .article-meta__content__container .article-meta__author{margin-bottom:0}body.single-news .article-meta__content .article-meta__content__container .article-tags__tags-list{margin-bottom:0}}@media screen and (max-width: 99.9375em) and (min-width: 48em){body.single-news .article-meta__content .article-meta__content__container .article-tags__tags-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}}@media screen and (max-width: 99.9375em){body.single-news .article-meta__content .article-meta__content__container .article-tags__tags-list li:after{content:",";margin-right:5px}body.single-news .article-meta__content .article-meta__content__container .article-tags__tags-list li.last-item:after{content:""}}@media screen and (max-width: 99.9375em) and (max-width: 47.9375em){body.single-news .article-meta__content .article-meta__content__container .article-tags__tags-list li{display:inline}}@media screen and (max-width: 99.9375em){body.single-news .article-meta__content .article-meta__content__container .article-meta-title{padding-right:5px;margin-right:5px;position:relative}body.single-news .article-meta__content .article-meta__content__container .article-meta-title:after{content:"";position:absolute;right:0;top:4px;width:1px;height:13px;background-color:#807e7e}body.single-news .article-meta__content .article-meta__content__container .article-meta__author-title{margin-bottom:0}}body.single-news .article-meta__publish-at{text-transform:uppercase;font-weight:bold;margin-bottom:20px}body.single-news .article-meta-title{text-transform:uppercase;font-weight:bold}body.single-news .article-meta__topics{margin-bottom:20px}body.single-news .article-tags-value{font-size:14px;line-height:1.43}body.single-news .article-meta__author{line-height:1.43}body.single-news .article-meta__author li{font-size:14px}body.single-news .article-meta__author-title{margin-bottom:20px}body.single-news .article-content__section__main:last-of-type{margin-bottom:150px}@media screen and (min-width: 100em){.page-container{width:1200px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}}.page-header{background-color:#262626;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.page-header .page-title{color:white;margin-bottom:0;line-height:1}@media screen and (max-width: 99.9375em){.page-header .page-container{padding-left:80px;padding-right:80px;width:100vw}}@media screen and (max-width: 47.9375em){.page-header .page-container{padding-left:30px;padding-right:30px;width:100vw}}.article-content-container{padding-left:0;padding-right:0}body.contact .article-content-container{padding-bottom:258px}@media screen and (max-width: 99.9375em){body.contact .article-content-container{padding-bottom:100px}}.article-content{font-size:16px;line-height:24px;background-color:white;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative}@media screen and (max-width: 99.9375em){.article-content{font-size:16px}}@media screen and (max-width: 47.9375em){.article-content{font-size:14px}}.article-content__section__main{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.products .article-content__section__main{border-bottom:1px solid #f2f0f0}.article-content__section__main .article-body{border-bottom:1px solid #f2f0f0;padding-bottom:50px}@media screen and (max-width: 47.9375em){.article-content__section__main{padding-bottom:20px !important;padding-left:30px;padding-right:30px}.article-content__section__main .article-body{padding-left:0;padding-right:0}}.article-content__section__main:last-of-type .article-body,#urmet-group .article-body,.faq-introduction .article-body{border:0;padding-bottom:0;padding-left:6px;padding-right:6px}@media screen and (min-width: 100em){.article-aside{position:absolute;left:200px;top:96px;max-width:200px}}@media print, screen and (min-width: 64em){.article-body{width:700px}}@media screen and (max-width: 63.9375em){.article-body{margin-left:80px;margin-right:80px;width:calc(100vw - 160px)}}@media screen and (max-width: 30em){.article-body{margin-left:30px;margin-right:30px;width:calc(100vw - 60px)}}.article-body p{font-size:16px;margin-bottom:24px;line-height:1.5}.article-body p.leading{font-size:18px;line-height:26px;color:#262626;margin-top:5px;margin-bottom:45px}.article-body h4{line-height:1;margin-bottom:40px}.article-body ul{margin-bottom:20px}.article-body ul>li>a{padding-left:0;padding-bottom:12px}.article-body figure img{width:100%}@media screen and (max-width: 47.9375em){.article-content__section__paragraph{margin-top:40px}.article-content__section__paragraph figure{margin-top:20px !important}}.article-anchor .article-anchor__title{font-size:16px;line-height:24px;font-weight:bold;margin-top:3bpx;margin-bottom:28px}@media screen and (max-width: 99.9375em){.article-anchor .article-anchor__title{font-size:16px}}@media screen and (max-width: 47.9375em){.article-anchor .article-anchor__title{font-size:14px}}.article-anchor .menu a{font-size:14px;text-transform:uppercase;line-height:1;color:#999797;padding-left:0;padding-top:13px;padding-bottom:13px}@media screen and (max-width: 99.9375em){.article-anchor .menu a{font-size:14px}}@media screen and (max-width: 47.9375em){.article-anchor .menu a{font-size:14px}}@media screen and (max-width: 99.9375em){.article-anchor{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:32px}.article-anchor .article-anchor__title{margin-right:20px;font-size:14px;margin-top:28px}.article-anchor .article-anchor-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;border-bottom:2px solid #f2f0f0}}@media screen and (max-width: 99.9375em) and (max-width: 99.9375em){.article-anchor .article-anchor-container{width:700px}}@media screen and (max-width: 99.9375em) and (max-width: 63.9375em){.article-anchor .article-anchor-container{width:calc(100vw - 160px)}}@media screen and (max-width: 99.9375em){.article-anchor .article-anchor-container .menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row;-ms-flex-flow:row;flex-flow:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin-bottom:0}.article-anchor .article-anchor-container .menu a{font-size:13px;text-transform:uppercase;color:#807e7e;padding-right:10px}.article-anchor .article-anchor-container .menu a:after{content:"/";padding-left:10px}.article-anchor .article-anchor-container .menu .last-item a:after{content:""}}@media screen and (max-width: 47.9375em){.article-anchor{display:none;height:0}}.section-title.toggle-title,.article-content__section__title.toggle-title{position:relative}.section-title.toggle-title a,.article-content__section__title.toggle-title a{width:calc(100vw - 60px);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#262626}.section-title.toggle-title a .icon,.article-content__section__title.toggle-title a .icon{color:#807e7e;width:32px;height:32px}.section-title.toggle-title a .icon.close,.article-content__section__title.toggle-title a .icon.close{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}.article-content__section__title.toggle-title{margin-bottom:0}.body_content_style_a_link.button{padding-top:5px;padding-bottom:10px}body.how-we-can-help .article-anchor__title{margin-top:0}body.how-we-can-help .article-anchors__container{width:100%}body.how-we-can-help .article-anchors__container ul{-webkit-box-pack:justify !important;-webkit-justify-content:space-between !important;-ms-flex-pack:justify !important;justify-content:space-between !important}body.how-we-can-help .article-anchors__container .menu a:after{content:""}@media screen and (max-width: 47.9375em){body.how-we-can-help .article-body{padding-bottom:23px}body.how-we-can-help .article-content__section__title a{font-size:30px}body.how-we-can-help .media-object-section__media img{width:48px;height:48px}body.how-we-can-help .media-object-section__content__title{margin-bottom:10px}body.how-we-can-help .media-object-section__content__description{line-height:1.25;margin-bottom:10px}body.how-we-can-help .media-object-section__content a.button{color:#262626}}.products-intro .page-container{padding-left:60px;padding-right:60px}.product-range-container .page-container{padding-left:15px;padding-right:15px}.product-range-container__title{padding-bottom:60px}.product-item.cell{padding:0 45px}.product-item.cell .card-product{margin-bottom:90px}.products-intro{padding-bottom:105px}.products-intro .products-intro__text{font-size:24px;font-weight:300;line-height:1.25}@media screen and (max-width: 99.9375em){.products-intro{padding-top:90px}.products-intro .products-intro__title h4{font-size:24px;padding-right:65px}}@media screen and (max-width: 47.9375em){.products-intro{padding:40px 30px 73px 30px !important}.products-intro .page-container{padding:0}.products-intro .products-intro__title h4{margin-bottom:30px}.products-intro .products-intro__text{font-size:19px;line-height:1.26}}@media screen and (max-width: 47.9375em){.product-range-container{padding-top:72px !important;padding-bottom:96px !important}.product-range-container .product-range-container__title{padding-bottom:20px}.product-range-container .product-range-container__title h4{font-size:24px}.product-range-container .product-range-list{width:332px;padding:0}.product-range-container .product-item.cell{padding:0 10px}.product-range-container .product-item.cell .card-section{padding:15px 20px}.product-range-container .product-item.cell .card-product{margin-bottom:20px}}@media screen and (max-width: 99.9375em){.product-range-list{width:1004px;padding-left:30px;padding-right:30px}.product-item.cell{padding:0 36px}.product-item.cell .card-product{margin-bottom:70px}}@media screen and (max-width: 63.9375em){.product-range-list{width:696px;padding-left:30px;padding-right:30px}.product-item.cell{padding:0 36px}.product-item.cell .card-product{margin-bottom:72px}}body.product-item .article-content{padding-top:0}.product-item-container{overflow:hidden}@media screen and (min-width: 100em){.product-item-container{margin-top:-102px}}@media screen and (max-width: 99.9375em){.product-item-container{padding-left:0;padding-right:0}}.product-item__banner{width:100vw;margin:0}@media screen and (min-width: 100em){.product-item__banner{padding-left:100px;padding-right:100px;position:relative;width:100rem}}.product-item-details__navigation{background-color:#262626;position:relative;z-index:99999;padding-left:65px;padding-right:65px}@media screen and (min-width: 105em){.product-item-details__navigation{padding-left:25px;padding-right:25px;margin-top:-36px}}@media screen and (max-width: 47.9375em){.product-item-details__navigation{display:none}}.product-item-details__navigation .menu a{padding:28px 15px;color:#f2f0f0;text-transform:uppercase}@media screen and (max-width: 64em){.product-item-details__navigation .menu a{font-size:13px}}.product-item-details__navigation.fixed{position:fixed;top:110px;margin-top:0;width:1200px}.section__product-item-details{border-bottom:1px solid #f2f0f0;padding-top:52px;padding-bottom:60px;overflow:hidden}@media screen and (max-width: 99.9375em){.section__product-item-details{padding-left:80px;padding-right:80px}}@media screen and (max-width: 47.9375em){.section__product-item-details{padding:30px !important;padding-bottom:45px !important}.section__product-item-details.product-item-details__applications{padding-bottom:30px !important}.section__product-item-details.product-item-details__range-highlights{padding-bottom:0 !important}.section__product-item-details.product-item-details__support{padding-bottom:30px !important}}.section__product-item-details.product-item-details__overview{padding-top:105px;padding-bottom:90px}.section__product-item-details.product-item-details__key-features,.section__product-item-details.product-item-details__finishes-fitting{padding-bottom:0 !important}.section__product-item-details.product-item-details__applications{padding-top:65px;padding-bottom:103px}.section__product-item-details.product-item-details__support{padding-top:60px;padding-bottom:90px}.section__product-item-details .section-title{font-size:24px;line-height:1;margin-bottom:50px}@media screen and (min-width: 100em){.section__product-item-details .section-title{font-size:30px;line-height:1.24}}@media screen and (max-width: 47.9375em){.section__product-item-details .section-title{margin-bottom:6px;margin-top:6px}.section__product-item-details .section-title a{color:#262626;position:relative}.section__product-item-details .section-title a:after{right:-16px;background-size:32px 32px}}.section__product-item-details h5{line-height:1.25;font-weight:normal}.section__product-item-details p{color:#666565;font-size:14px;line-height:1.28;font-weight:300;margin-bottom:0}@media screen and (min-width: 100em){.section__product-item-details p{font-size:16px;line-height:1.13}}.product-item-details__grid-list{margin-left:-30px;margin-right:-30px;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}@media screen and (min-width: 100em){.product-item-details__grid-list{margin-left:-75px;margin-right:-75px}}@media screen and (max-width: 47.9375em){.product-item-details__grid-list{margin-left:0;margin-right:0;margin-top:30px}}.product-item-details__grid-item{width:calc((100vw - 280px) / 3);margin-left:30px;margin-right:30px}@media screen and (min-width: 100em){.product-item-details__grid-item{width:300px;margin-left:75px;margin-right:75px}}@media screen and (max-width: 63.9375em){.product-item-details__grid-item{width:calc((100vw - 280px) / 2)}}@media screen and (max-width: 47.9375em){.product-item-details__grid-item{width:calc(100vw - 60px);margin-left:0;margin-right:0}}@media screen and (min-width: 100em){.product-item-details__overview__heading{padding-left:30px;border-left:5px solid #313131}}.product-item-details__overview__heading h4{font-size:24px;line-height:1;margin-bottom:10px}@media screen and (min-width: 100em){.product-item-details__overview__heading h4{width:450px;font-size:30px}}@media screen and (max-width: 47.9375em){.product-item-details__overview__heading h4{margin-bottom:15px}}.product-item-details__overview__heading h5{color:#666565;font-size:20px;line-height:1.2;font-weight:300}@media screen and (min-width: 100em){.product-item-details__overview__heading h5{font-size:24px}}@media screen and (max-width: 47.9375em){.product-item-details__overview__heading h5{font-size:16px;line-height:1.38}}.product-item-details__overview__action{padding-left:100px}@media screen and (max-width: 63.9375em){.product-item-details__overview__action{padding-left:0;margin-top:30px}}@media screen and (max-width: 47.9375em){.product-item-details__overview__action{text-align:center}}.product-item-details__overview__action h5{margin-bottom:28px}@media screen and (max-width: 47.9375em){.product-item-details__overview__action h5{margin-bottom:15px;margin-bottom:20px}}@media screen and (max-width: 47.9375em){.section__product-item-details.product-item-details__key-features{padding-bottom:30px !important}}@media screen and (max-width: 47.9375em){.product-item-details__key-features__list{margin-top:40px}}@media screen and (max-width: 47.9375em){.product-item-details__key-features__item .media-object{margin-bottom:25px}}.product-item-details__key-features__icon{background-color:#cccaca;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (max-width: 64em){.product-item-details__key-features__icon img{width:48px;height:48px}}.product-item-details__key-features__title{line-height:1;margin-bottom:10px}@media screen and (max-width: 47.9375em){.product-item-details__key-features__title{font-size:18px;margin-bottom:3px}}.product-item-details__key-features__trigger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-top:5px}@media screen and (max-width: 47.9375em){.product-item-details__key-features__trigger{display:none}}.product-item-details__key-features__trigger a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-bottom:0}.product-item-details__key-features__trigger a.button.clear{border:0}.product-item-details__key-features__trigger a .trigger-action-icon{background-color:#f2f0f0;border-top-left-radius:30px;border-top-right-radius:30px;width:64px;margin-top:18px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-top:5px}.product-item-details__key-features__trigger a .trigger-action-icon .icon{width:48px;height:48px}@media screen and (max-width: 64em){.product-item-details__key-features__trigger a .trigger-action-icon{width:50px;height:43px;padding-top:0}.product-item-details__key-features__trigger a .trigger-action-icon .icon{height:40px;margin-top:5px}}.product-item-details__trigger_button_group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}#finishes-fitting .section-title{margin-bottom:36px}.product-item-details__finishes-fitting__item.style-1,.product-item-details__finishes-fitting__item.style-2{padding-left:15px;border-left:5px solid #313131}@media screen and (min-width: 100em){.product-item-details__finishes-fitting__item.style-1,.product-item-details__finishes-fitting__item.style-2{padding-left:30px}}@media screen and (max-width: 47.9375em){.product-item-details__finishes-fitting__item.style-1,.product-item-details__finishes-fitting__item.style-2{border:0;position:relative;margin-bottom:25px;padding-left:0;padding-bottom:13px}.product-item-details__finishes-fitting__item.style-1:after,.product-item-details__finishes-fitting__item.style-2:after{content:"";position:absolute;bottom:0;left:0;width:31px;height:6px;background-color:#262626}}@media screen and (max-width: 47.9375em){.product-item-details__finishes-fitting__item.style-1 h5{font-size:16px;line-height:1.38}}.product-item-details__finishes-fitting__item.style-2 h5{margin-bottom:36px}@media screen and (max-width: 47.9375em){.product-item-details__finishes-fitting__item.style-2{padding-bottom:20px}.product-item-details__finishes-fitting__item.style-2 h5{margin-bottom:15px;font-size:18px}.product-item-details__finishes-fitting__item.style-2 img{margin-bottom:15px !important}.product-item-details__finishes-fitting__item.style-2 p{line-height:1.57}}.product-item-details__finishes-fitting__item.style-3 h5{padding-left:15px;border-left:5px solid #313131;margin-bottom:36px}@media screen and (min-width: 100em){.product-item-details__finishes-fitting__item.style-3 h5{padding-left:30px}}@media screen and (max-width: 47.9375em){.product-item-details__finishes-fitting__item.style-3 h5{border:0;padding-left:0px;margin-bottom:20px;font-size:18px}}.product-item-details__finishes-fitting__item img{max-width:100%}.product-item-details__finishes-fitting__item.style-2 img{margin-bottom:25px}.product-item-details__applications h5{line-height:1;padding-bottom:15px;border-bottom:1px solid #f2f0f0;margin-bottom:15px}.product-item-details__applications ul{margin-left:0}@media screen and (max-width: 47.9375em){.product-item-details__applications ul{margin-top:23px;margin-bottom:35px !important}}.product-item-details__applications li{font-size:16px;line-height:1.13;font-weight:300;color:#666565;margin-bottom:25px;list-style:none;position:relative;padding-left:20px}.product-item-details__applications li:before{content:"";width:11px;height:11px;background-color:#cccaca;position:absolute;left:0;top:4px;border-radius:50%}@media screen and (max-width: 47.9375em){.product-item-details__applications li{margin-bottom:17px;font-size:14px}.product-item-details__applications li:before{width:9px;height:9px;top:4px}}@media screen and (max-width: 47.9375em){.product-item-details__applications ul{margin-bottom:30px}}.product-item-details__range-highlights{position:relative}@media screen and (max-width: 47.9375em){.product-item-details__range-highlights .page-container{margin-bottom:36px}}.product-item-details__range-highlights .progress{display:block;width:150px;height:2px;position:absolute;right:100px;top:60px;overflow:hidden;background-color:#cccaca;background-image:-webkit-gradient(linear, left top, right top, from(#262626), to(#262626));background-image:linear-gradient(to right, #262626, #262626);background-repeat:no-repeat;background-size:0 100%;-webkit-transition:background-size .4s ease-in-out;transition:background-size .4s ease-in-out}@media screen and (max-width: 47.9375em){.product-item-details__range-highlights .progress{top:86px}}.product-item-details__range-highlights .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.product-item-details__range-highlights #product-item-details__range-highlights__slider{width:calc(100vw - 160px)}@media screen and (min-width: 100em){.product-item-details__range-highlights #product-item-details__range-highlights__slider{width:1600px}}@media screen and (max-width: 63.9375em){.product-item-details__range-highlights #product-item-details__range-highlights__slider{width:100vw}}@media screen and (max-width: 47.9375em){.product-item-details__range-highlights #product-item-details__range-highlights__slider{margin-top:50px}}.product-item-details__range-highlights #product-item-details__range-highlights__slider .card{margin-left:30px;margin-right:30px;width:300px;border:0}.product-item-details__range-highlights #product-item-details__range-highlights__slider .card img{border:1px solid #f2f0f0}.product-item-details__range-highlights #product-item-details__range-highlights__slider .card .card-section{padding:18px 0}.product-item-details__range-highlights #product-item-details__range-highlights__slider .card .range-highlights__title{line-height:1;margin-bottom:0}.product-item-details__range-highlights #product-item-details__range-highlights__slider .card .range-highlights__category{font-size:14px;font-weight:normal;margin-bottom:15px}.product-item-details__range-highlights #product-item-details__range-highlights__slider .card .range-highlights__description{line-height:1.13}@media screen and (max-width: 64em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .card{margin-left:20px;margin-right:20px;width:240px}}@media screen and (max-width: 47.9375em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .card{margin:0;margin-right:10px !important}}.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-track{margin-bottom:30px}.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev,.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next{position:absolute;top:120px;width:50px;height:50px;background-color:#cccaca;z-index:99999;text-indent:-9999px;opacity:1;-webkit-transition:All 0.5s ease-in-out;transition:All 0.5s ease-in-out}.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev.slick-disabled,.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next.slick-disabled{opacity:0;-webkit-transition:All 0.5s ease-in-out;transition:All 0.5s ease-in-out}@media screen and (max-width: 47.9375em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev,.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next{width:40px;height:40px}}.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev{left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 32'><polygon points='9.880 10.667, 16.000 16.774, 22.120 10.667, 24.000 12.547, 16.000 20.547, 8.000 12.547' style='fill: rgb%2838, 38, 38%29'></polygon></svg>");background-origin:content-box;background-position:center;background-repeat:no-repeat;background-size:48px 48px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}@media screen and (max-width: 64em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev{left:-80px;background-size:40px 40px;background-position:center 6px}}@media screen and (max-width: 47.9375em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev{left:-30px;background-size:40px 40px;background-position:center 3px}}.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next{right:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 32'><polygon points='9.880 10.667, 16.000 16.774, 22.120 10.667, 24.000 12.547, 16.000 20.547, 8.000 12.547' style='fill: rgb%2838, 38, 38%29'></polygon></svg>");background-origin:content-box;background-position:center;background-repeat:no-repeat;background-size:48px 48px;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}@media screen and (max-width: 64em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next{right:-80px;background-size:40px 40px;background-position:center 6px}}@media screen and (max-width: 47.9375em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next{right:30px;background-size:40px 40px;background-position:center 3px}}@media screen and (min-width: 100em){.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-list{margin-left:170px}}.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-slide[tabindex="-1"]{opacity:1;-webkit-transition:All 0.2s ease-in-out;transition:All 0.2s ease-in-out}.product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-slide[tabindex="-1"]{opacity:0.5}.product-item-details__range-highlights #product-item-details__range-highlights__slider a.lightbox-image:hover img,.product-item-details__range-highlights #product-item-details__range-highlights__slider a.lightbox-image:focus img{border:1px solid #262626}.product-item-details__support__txt,.product-item-details__support__txt p{font-size:16px;line-height:1.38}.product-item-details__support__action{margin-left:75px}.product-item-details__support__action h5{margin-bottom:28px}@media screen and (max-width: 63.9375em){.product-item-details__support__txt,.product-item-details__support__action{width:calc(100vw - 160px)}.product-item-details__support__action{margin-top:30px;margin-left:30px}}@media screen and (max-width: 47.9375em){.product-item-details__support__txt{width:auto;margin-bottom:15px}.product-item-details__support__action{text-align:center;width:auto;margin-left:0;margin-bottom:15px}.product-item-details__support__action h5{font-size:18px;line-height:1}}.featured-profiles .orbit-bullets{margin-top:-10px}.featured-profiles .orbit-wrapper{padding-top:53px}.featured-profiles-list-item__avatar{width:200px}.featured-profiles-list-item__avatar img{margin-bottom:20px}.featured-profiles-list-item__name .profile-details-full-item__name{margin-top:12px;color:#4d4c4c}.featured-profiles-list-item__position,.profile-details-full-item__position{color:#4d4c4c;font-size:14px;line-height:1}.featured-profiles-list-item__description{padding-left:30px}.featured-profiles-list-item__description p{font-size:14px;line-height:20px;font-weight:300;color:#4c4c4c}@media screen and (max-width: 99.9375em){.featured-profiles-list-item__description p{font-size:14px}}@media screen and (max-width: 47.9375em){.featured-profiles-list-item__description p{font-size:14px}}.profile-details-full-item__avatar__image{width:100%;margin-bottom:13px}.profile-details-full-item__name{line-height:1}.profile-details-full-item__position{margin-bottom:28px}.profile-details-full-item__description p{line-height:1.38;font-weight:300}.profile-details-full-item__contact{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:9px;font-size:14px}.profile-details-full-item__contact span{width:50px;height:50px;border:1px solid #f2f0f0;border-radius:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-right:12px}h6.featured-profiles-list-item__name{font-size:18px;color:#4c4c4c}.featured-profiles-list-item__position{font-size:14px;color:#4c4c4c}@media screen and (max-width: 47.9375em){.featured-profiles-list-item__avatar{width:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.featured-profiles-list-item__avatar img{max-width:200px}}.project__container{padding-left:80px;padding-right:80px;padding-bottom:90px}@media screen and (max-width: 47.9375em){.project__container{padding-left:20px;padding-right:20px;padding-bottom:100px}.project__container .news-action{margin-top:20px}}.project-item.cell{padding-left:30px;padding-right:30px}@media screen and (max-width: 99.9375em){.project-item.cell{padding-left:20px;padding-right:20px}.project-item.cell .card{margin-bottom:40px}}@media screen and (max-width: 47.9375em){.project-item.cell{padding-left:0;padding-right:0}.project-item.cell .card-news{margin-bottom:18px}}.project-item__image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.project-item__state{color:#e9e9f2;font-size:14px;padding:13px 26px;background-color:rgba(38,38,38,0.6)}@media screen and (max-width: 63.9375em){.project-item__state{padding:5px 10px;font-size:12px;line-height:1}}@media screen and (max-width: 63.9375em){h4.project-item__title{font-size:20px}.project-item__group{font-size:14px}}.recent-projects__item__detail__type span:after,.project-item__group span:after{content:", "}.recent-projects__item__detail__type span:last-of-type:after,.project-item__group span:last-of-type:after{content:""}.button__loadmore-ajax{display:block;margin-left:auto;margin-right:auto}body.project-item .article-content{padding-top:0}.project-item-container{margin-top:-140px;padding-bottom:30px}@media screen and (max-width: 99.9375em){.project-item-container{padding-left:80px;padding-right:80px}}@media screen and (max-width: 63.9375em){.project-item-container{padding-left:100px;padding-right:100px;margin-top:-200px}}@media screen and (max-width: 63.9375em){.project-item-container{padding-left:30px;padding-right:30px;margin-top:-100px}}@media screen and (max-width: 47.9375em){.project-item-container{padding-bottom:180px}}.project-item-container__section__image{margin-right:15px;padding-left:0 !important;position:relative}@media print, screen and (min-width: 64em){.project-item-container__section__image{z-index:999}}@media screen and (max-width: 63.9375em){.project-item-container__section__image{padding-right:0px !important;margin-right:0;margin-bottom:40px}}.project-item-container__section__image img{width:100%}.project-item-container__section__description{margin-left:15px;padding-right:0 !important;color:#666565;font-size:18px;line-height:1.44;font-weight:300}@media screen and (max-width: 63.9375em){.project-item-container__section__description{padding-left:0px !important;margin-left:0}}.project-item-container__section__description p{color:#666565;font-size:18px;line-height:1.44;font-weight:light}.project-item-container__section__description section{padding-bottom:30px;padding-bottom:0;margin-bottom:30px}.project-item-container__section__description section .section-title{line-height:1;margin-bottom:20px}.project-item__details{padding-bottom:30px !important;position:relative;font-size:18px;line-height:1.44;font-weight:300;margin-bottom:30px}@media print, screen and (min-width: 64em){.project-item__details{z-index:99}.project-item__details::before{position:absolute;content:"";width:100vw;left:calc(-50vw - 30px);bottom:0;right:0;top:0;background:#262626;z-index:-1}}@media screen and (min-width: 64em) and (min-width: 100em){.project-item__details::before{width:1600px;left:-830px}}@media print, screen and (min-width: 64em){.project-item__details{color:#cccaca}.project-item__details .section-title{color:white}}@media screen and (max-width: 47.9375em){.project-item__details{line-height:1.57}}.project-item__featured-product-ranges{margin-bottom:50px !important}@media screen and (max-width: 47.9375em){.project-item__featured-product-ranges{margin-bottom:45px}}.project-item__featured-product-ranges .project-item__featured-product-ranges_item a:hover .card,.project-item__featured-product-ranges .project-item__featured-product-ranges_item a:focus .card{border:1px solid #262626}.project-item__featured-product-ranges .card{margin-left:15px;margin-right:5px;margin-bottom:20px;padding-left:10px;padding-right:10px;width:126px !important;height:126px;color:#262626}@media screen and (max-width: 47.9375em){.project-item__featured-product-ranges .card{width:102px !important;height:102px}.project-item__featured-product-ranges .card .icon{width:32px;height:32px;margin-bottom:5px}.project-item__featured-product-ranges .card .icon-label{font-size:11px;line-height:1}}.project-item__featured-product-ranges a.button{font-weight:normal}@media screen and (max-width: 47.9375em){.project-item__featured-product-ranges a.button{font-size:12px}.project-item__featured-product-ranges a.button .icon{display:none}}@media screen and (max-width: 47.9375em){.project-item__developer p{font-size:14px}}.widget{padding-top:150px;padding-bottom:160px}@media screen and (max-width: 99.9375em){.widget{padding-top:115px;padding-bottom:110px}}.widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (min-width: 100em){.widget-container{width:1080px;margin-left:auto;margin-right:auto}}@media screen and (min-width: 64em) and (max-width: 99.9375em){.widget-content__list{width:840px}.widget-content__list .widget-content__list__item{padding-left:20px;padding-right:20px}}.widget-content-tag{text-transform:uppercase;color:#807e7e;margin-bottom:12px}@media screen and (max-width: 47.9375em){.widget-content-tag{font-size:12px}}.widget-content-title{margin-bottom:39px}@media screen and (max-width: 64em){.widget-content-title{margin-bottom:75px}}.widget-content-paragraph{font-size:24px;line-height:36px;line-height:30px;font-weight:300}@media screen and (max-width: 99.9375em){.widget-content-paragraph{font-size:20px}}@media screen and (max-width: 47.9375em){.widget-content-paragraph{font-size:20px}}@media print, screen and (min-width: 64em){.widget-related-pages .card-article{margin-left:75px;margin-right:45px}}@media screen and (max-width: 63.9375em){.widget-related-pages{padding:120px 80px 45px 80px}}@media screen and (max-width: 47.9375em){.widget-related-pages{padding:105px 30px 45px 30px}}.widget-latest-news,.widget-latest-insights,.widget-related-projects{padding-top:107px;padding-bottom:139px}@media screen and (max-width: 64em){.widget-latest-news,.widget-latest-insights,.widget-related-projects{padding:80px 60px 100px 60px}}@media screen and (max-width: 52.5em){.widget-latest-news,.widget-latest-insights,.widget-related-projects{padding:80px 0 120px 0}.widget-latest-news .widget-content__list__outer,.widget-latest-insights .widget-content__list__outer,.widget-related-projects .widget-content__list__outer{width:100vw;overflow:visible;overflow:scroll;-ms-overflow-style:none}.widget-latest-news .widget-content__list__outer::-webkit-scrollbar,.widget-latest-insights .widget-content__list__outer::-webkit-scrollbar,.widget-related-projects .widget-content__list__outer::-webkit-scrollbar{width:0 !important;height:0 !important;display:none}.widget-latest-news .widget-content__list,.widget-latest-insights .widget-content__list,.widget-related-projects .widget-content__list{width:840px;margin-left:80px}.widget-latest-news .widget-content-title,.widget-latest-insights .widget-content-title,.widget-related-projects .widget-content-title{margin-bottom:35px}}@media screen and (max-width: 47.9375em){.widget-latest-news,.widget-latest-insights,.widget-related-projects{padding:45px 0 52px 0}.widget-latest-news .widget-content__list,.widget-latest-insights .widget-content__list,.widget-related-projects .widget-content__list{width:100vw;margin-left:0}.widget-latest-news .widget-content-title,.widget-latest-insights .widget-content-title,.widget-related-projects .widget-content-title{margin-bottom:50px}}.widget-latest-news .progress,.widget-latest-insights .progress,.widget-related-projects .progress{display:none;width:150px;height:2px;margin-bottom:40px;overflow:hidden;background-color:#fff;background-image:-webkit-gradient(linear, left top, right top, from(#262626), to(#262626));background-image:linear-gradient(to right, #262626, #262626);background-repeat:no-repeat;background-size:0 100%;-webkit-transition:background-size .4s ease-in-out;transition:background-size .4s ease-in-out}@media screen and (max-width: 52.5em){.widget-latest-news .progress,.widget-latest-insights .progress,.widget-related-projects .progress{display:block}}@media screen and (max-width: 47.9375em){.widget-latest-news .progress,.widget-latest-insights .progress,.widget-related-projects .progress{display:none}}.widget-latest-news .sr-only,.widget-latest-insights .sr-only,.widget-related-projects .sr-only{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.widget-latest-news .card-news,.widget-latest-insights .card-news,.widget-related-projects .card-news{margin-bottom:48px}@media print, screen and (min-width: 64em){.widget-latest-news .card-news,.widget-latest-insights .card-news,.widget-related-projects .card-news{width:300px;margin-left:15px;margin-right:15px}.widget-latest-news .card-news .card-section,.widget-latest-insights .card-news .card-section,.widget-related-projects .card-news .card-section{padding:20px}}@media screen and (max-width: 99.9375em){.widget-latest-news .card-news,.widget-latest-insights .card-news,.widget-related-projects .card-news{width:240px;margin-left:0;margin-right:0}.widget-latest-news .card-news .card-section,.widget-latest-insights .card-news .card-section,.widget-related-projects .card-news .card-section{padding:20px 15px}}.widget-latest-news .widget-call-to-action .button,.widget-latest-insights .widget-call-to-action .button,.widget-related-projects .widget-call-to-action .button{padding-top:0}@media screen and (max-width: 63.9375em){.widget-latest-news .news-item.cell,.widget-latest-insights .news-item.cell,.widget-related-projects .news-item.cell{padding-left:20px;padding-right:20px}.widget-latest-news .card-news,.widget-latest-insights .card-news,.widget-related-projects .card-news{margin-bottom:18px}.widget-latest-news .widget-call-to-action,.widget-latest-insights .widget-call-to-action,.widget-related-projects .widget-call-to-action{margin-top:30px}}@media screen and (max-width: 47.9375em){.widget-latest-news .news-item.cell,.widget-latest-news .project-item.cell,.widget-latest-insights .news-item.cell,.widget-latest-insights .project-item.cell,.widget-related-projects .news-item.cell,.widget-related-projects .project-item.cell{padding-left:20px;padding-right:20px}.widget-latest-news .card-news,.widget-latest-insights .card-news,.widget-related-projects .card-news{margin-bottom:18px;width:calc(100vw - 40px)}.widget-latest-news .card-section,.widget-latest-insights .card-section,.widget-related-projects .card-section{padding:0 15px !important}.widget-latest-news .widget-call-to-action,.widget-latest-insights .widget-call-to-action,.widget-related-projects .widget-call-to-action{margin-top:37px}}.widget.widget-call-to-action .widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.widget.widget-call-to-action .widget-content-paragraph{margin-bottom:44px}.widget.widget-call-to-action .cta-button{color:#313131;border-color:#cccaca}.widget.widget-call-to-action .cta-button:hover,.widget.widget-call-to-action .cta-button:focus{background-color:#cccaca;border-color:#cccaca}@media print, screen and (min-width: 64em){.widget.widget-call-to-action .widget-content{width:700px}}@media screen and (max-width: 99.9375em){.widget.widget-call-to-action .widget-content{padding-left:30px;padding-right:30px}.widget.widget-call-to-action .widget-content-tag{font-size:13px;margin-bottom:10px}.widget.widget-call-to-action .widget-content-title{margin-bottom:22px}.widget.widget-call-to-action .widget-content-paragraph{line-height:1.3;font-size:19px}}@media screen and (max-width: 47.9375em){.widget.widget-call-to-action{padding-top:75px;padding-bottom:83px}.widget.widget-call-to-action .widget-content-tag{margin-bottom:6px}.widget.widget-call-to-action .widget-content-paragraph{margin-bottom:30px}}.widget-other-product-range{padding-top:138px;padding-bottom:213px}@media screen and (max-width: 63.9375em){.widget-other-product-range{padding-top:105px;padding-bottom:135px}}@media screen and (max-width: 47.9375em){.widget-other-product-range{padding-top:50px;padding-bottom:50px}}.widget-other-product-range .widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.widget-other-product-range .widget-content{width:900px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (max-width: 63.9375em){.widget-other-product-range .widget-content{width:525px}}@media screen and (max-width: 47.9375em){.widget-other-product-range .widget-content{width:294px;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}}.widget-other-product-range .widget-content-title{margin-bottom:65px}@media screen and (max-width: 47.9375em){.widget-other-product-range .widget-content-title{margin-bottom:50px}}.widget-other-product-range .card-icon{width:145px;height:145px;background-color:#262626;color:#fff;margin-left:auto;margin-right:auto;margin-bottom:30px;padding-left:15px;padding-right:15px}@media screen and (max-width: 47.9375em){.widget-other-product-range .card-icon{width:127px;height:127px;margin-bottom:20px}}.widget-other-product-range .card-icon .icon{width:48px;height:48px}.widget-other-product-range .card-icon .icon-label{font-size:16px;line-height:1}@media screen and (min-width: 100em){.widget-other-product-range .widget-content{width:1275px}.widget-other-product-range .card-icon{margin-left:37px;margin-right:37px;padding-left:22px;padding-right:22px;width:181px !important;height:181px}.widget-other-product-range .card-icon .icon{width:56px;height:56px}.widget-other-product-range .card-icon .icon-label{font-size:20px;line-height:1}}.widget-other-product-range .product-range-item a:hover .card-icon,.widget-other-product-range .product-range-item a:focus .card-icon{background:transparent;border:1px solid #49494d;color:#262626}html{overflow-x:hidden}a.button{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}button{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}*:focus{outline:none}.home-section__hero-slider .button:hover{background:#fff;color:#262626}@media screen and (max-width: 767px){body #sticky-site-header.fixed .site-header-container{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}}body #sticky-site-header{transition:All 0.4s ease-in-out;-webkit-transition:All 0.4s ease-in-out;-moz-transition:All 0.4s ease-in-out;-o-transition:All 0.4s ease-in-out;-ms-transform:translateY(-100%);transform:translateY(-100%);-o-transform:translateY(-100%);-moz-transform:translateY(-100%);-webkit-transform:translateY(-100%)}body #sticky-site-header.is-down{-ms-transform:translateY(0);transform:translateY(0);-o-transform:translateY(0);-moz-transform:translateY(0);-webkit-transform:translateY(0)}body #sticky-site-header #nav-toggle #menu-icon.active{background:transparent}body #sticky-site-header #nav-toggle #menu-icon{background:#fff}body #sticky-site-header #nav-toggle #menu-icon:before{background:#fff}body #sticky-site-header #nav-toggle #menu-icon:after{background:#fff}body #sticky-site-header #nav-toggle .toggle-menu-label{color:#fff}body #sticky-site-header #global-nav .menu li.current-menu-item a:after{background:#fff}body #global-nav .menu a:hover{padding-bottom:28px;border-bottom:none}body #global-nav .menu a:hover:after{width:100%}body #global-nav .menu a:focus{padding-bottom:28px;border-bottom:none}body #global-nav .menu li.current-menu-item a{padding-bottom:28px;border-bottom:none}body #global-nav .menu li.current-menu-item a:after{width:100%;background:#262626}body #global-nav .menu a{padding-bottom:28px;margin-bottom:0;position:relative}body #global-nav .menu a:after{content:"";display:block;position:absolute;width:0%;height:5px;background:#cccaca;bottom:0;left:50%;-ms-transform:translate(-50%, 0);transform:translate(-50%, 0);-o-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-webkit-transform:translate(-50%, 0);transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body #default-site-header.fixed #global-nav li.current-menu-item a{padding-bottom:32px;border-bottom:none}body #default-site-header.fixed #global-nav li.current-menu-item a:after{width:100%;background:#fff}body #default-site-header.fixed #global-nav a{margin-bottom:0;padding-bottom:32px}body #default-site-header.fixed #global-nav a:hover,body #default-site-header.fixed #global-nav a:focus{padding-bottom:32px}body #sticky-site-header.fixed .top-link .menu li.current-menu-item a{border-bottom:0}body #sticky-site-header.fixed .top-link .menu li.current-menu-item a:after{width:100%;background:#fff}body #sticky-site-header.fixed .top-link .menu a{border-bottom:0;margin-bottom:0;padding-bottom:32px;position:relative}@media screen and (max-width: 64em){body #sticky-site-header.fixed .top-link .menu a{padding-bottom:24px}}body #sticky-site-header.fixed .top-link .menu a:hover{padding-bottom:32px;border-bottom:0}body #sticky-site-header.fixed .top-link .menu a:hover:after{width:100%}@media screen and (max-width: 64em){body #sticky-site-header.fixed .top-link .menu a:hover{padding-bottom:24px}}body #sticky-site-header.fixed .top-link .menu a:after{content:"";display:block;position:absolute;width:0%;height:5px;background:#cccaca;bottom:0;left:50%;-ms-transform:translate(-50%, 0);transform:translate(-50%, 0);-o-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-webkit-transform:translate(-50%, 0);transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .card-news .card-section:after{display:none}body .card.card-news a{position:relative}body .card.card-news a:hover:after{width:100%}@media screen and (max-width: 47.9375em){body .card.card-news a:hover:after{width:calc(100vw - 40px);left:-10px;right:-10px;bottom:-10px}}body .card.card-news a:after{position:absolute;width:0;left:0;bottom:0;height:6px;background-color:#262626;content:"";transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .article-anchor .article-anchor-container .menu a{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .article-anchor .article-anchor-container .menu a:hover{color:#262626}body #site-footer .footer-links a{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body #site-footer a{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body a{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .hero-slider .orbit-container .orbit-slide.is-active .orbit-caption h1{animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-moz-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-webkit-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-o-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1)}body .hero-slider .orbit-container .orbit-slide.is-active .orbit-caption p{animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-moz-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-webkit-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-o-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1)}body .hero-slider .orbit-container .orbit-slide.is-active .orbit-caption .action{animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-moz-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-webkit-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1);-o-animation:captionshow 1s forwards cubic-bezier(0, 1, 0.75, 1)}body .hero-slider .orbit-container .orbit-slide .orbit-figure{background-size:cover;background-position:center}body .widget-other-product-range .card-icon{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .product-item-details__range-highlights #product-item-details__range-highlights__slider .card img{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev,body .product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev:hover,body .product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next:hover{background:#262626;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 32'><polygon points='9.880 10.667, 16.000 16.774, 22.120 10.667, 24.000 12.547, 16.000 20.547, 8.000 12.547' style='fill: rgb%28256, 256, 256%29'></polygon></svg>");background-origin:content-box;background-position:center;background-repeat:no-repeat;background-size:48px 48px}@media screen and (max-width: 47.9375em){body .product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-prev:hover,body .product-item-details__range-highlights #product-item-details__range-highlights__slider .slick-next:hover{background-size:40px 40px;background-position:center 3px}}body #nav-toggle{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body #nav-toggle:hover{opacity:0.7}body .modal-panel .menu>li>a span{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .product-item-details__navigation .menu li{padding:28px 15px}body .product-item-details__navigation .menu li a{position:relative;padding:0}body .product-item-details__navigation .menu li a:hover:after{width:100%}body .product-item-details__navigation .menu li a:after{content:"";display:block;width:0%;height:2px;background:#fff;position:absolute;left:0;bottom:-10px;transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .wpcf7 .wpcf7-submit{transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .wpcf7 .wpcf7-submit:hover{background:#262626 !important;color:#fff}body .faq-accordion .is-active .accordion-title{padding-bottom:16px}body .faq-accordion .accordion-title:hover:before,body .faq-accordion .accordion-title:hover:after{background:#262626}body .faq-accordion .accordion-title:before{content:"";width:16px;height:2px;background:#807e7e;display:block;right:0;top:25px;transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .faq-accordion .accordion-title:after{position:absolute;content:"";width:16px;height:2px;background:#807e7e;display:block;right:0;top:25px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);transition:All 0.2s ease-in-out;-webkit-transition:All 0.2s ease-in-out;-moz-transition:All 0.2s ease-in-out;-o-transition:All 0.2s ease-in-out}body .faq-accordion .is-active>.accordion-title:before{content:"";-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}body .faq-accordion .is-active>.accordion-title:after{content:"";-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}body .widget-content__list .widget-content__list__item:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}body .widget-content__list .widget-content__list__item:nth-child(2){-webkit-animation-delay:0.2s;animation-delay:0.2s}body .widget-content__list .widget-content__list__item:nth-child(3){-webkit-animation-delay:0.4s;animation-delay:0.4s}body .large-up-4>.cell:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}body .large-up-4>.cell:nth-child(2){-webkit-animation-delay:0.2s;animation-delay:0.2s}body .large-up-4>.cell:nth-child(3){-webkit-animation-delay:0.4s;animation-delay:0.4s}body .large-up-4>.cell:nth-child(4){-webkit-animation-delay:0.6s;animation-delay:0.6s}@media screen and (max-width: 767px){body .main-content{padding-top:70px}}body #default-site-header{background-color:white;z-index:2;position:relative}@media screen and (max-width: 767px){body #default-site-header{position:fixed;width:100%}}body #default-site-header.is-down .modal-panel{background:#262626}body #default-site-header.open{position:fixed;width:100%}body #default-site-header #nav-toggle{z-index:3}body #default-site-header .site-header-container{position:relative;z-index:2}body #default-site-header .modal-panel{top:69px;position:absolute;z-index:1;background:#fff;display:none;opacity:0;visibility:hidden;-webkit-transform:translateY(-100vh);-ms-transform:translateY(-100vh);transform:translateY(-100vh);-webkit-transition:background 0.2s ease-in-out,opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),-webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);transition:background 0.2s ease-in-out,opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),-webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);transition:background 0.2s ease-in-out,opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);transition:background 0.2s ease-in-out,opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1),-webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);-webkit-transition:background 0.2s ease-in-out,opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);-moz-transition:background 0.2s ease-in-out,opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);-o-transition:background 0.2s ease-in-out,opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1)}@media screen and (max-width: 1023px){body #default-site-header .modal-panel{display:block}}body #default-site-header .modal-panel.open{opacity:1;visibility:visible;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}body #sticky-site-header #nav-toggle{z-index:3}body #sticky-site-header .site-header-container{position:relative;z-index:2}body #sticky-site-header .modal-panel{top:69px;position:absolute;z-index:1;background:#fff;display:none;opacity:0;visibility:hidden;-webkit-transform:translateY(-100vh);-ms-transform:translateY(-100vh);transform:translateY(-100vh);-webkit-transition:opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),-webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);transition:opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),-webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);transition:opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);transition:opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1),-webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);-webkit-transition:opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);-moz-transition:opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);-o-transition:opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1),visibility 0.8s cubic-bezier(0.77, 0, 0.175, 1),transform 0.8s cubic-bezier(0.77, 0, 0.175, 1)}@media screen and (max-width: 1023px){body #sticky-site-header .modal-panel{display:block}}body #sticky-site-header .modal-panel.open{opacity:1;visibility:visible;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}@-webkit-keyframes slideshow{0%{opacity:0}100%{opacity:1}}@keyframes slideshow{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes captionshow{0%{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}100%{opacity:1;-webkit-transform:translateY(0px);transform:translateY(0px)}}@keyframes captionshow{0%{opacity:0;-webkit-transform:translateY(80px);transform:translateY(80px)}100%{opacity:1;-webkit-transform:translateY(0px);transform:translateY(0px)}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWwvX2FuaW1hdGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2hhZG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItbm9uZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJ1dGlsL19mb250LXNpemUuc2NzcyIsImdsb2JhbC9fY29sb3Iuc2NzcyIsImdsb2JhbC9faWNvbi5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fbGlnaHRib3guc2NzcyIsImNvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiY29tcG9uZW50cy9fb3JiaXRzLnNjc3MiLCJjb21wb25lbnRzL19zbGljay5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwidGhlbWUvX2Fib3V0LnNjc3MiLCJ0aGVtZS9fY2FyZWVyLnNjc3MiLCJ0aGVtZS9fY29udGFjdC5zY3NzIiwidGhlbWUvX2ZhcS5zY3NzIiwidGhlbWUvX2Zvb3Rlci5zY3NzIiwidGhlbWUvX2hlYWRlci5zY3NzIiwidGhlbWUvX2luZGV4LnNjc3MiLCJ1dGlsL19taXhpbnMuc2NzcyIsInRoZW1lL19sYXlvdXQuc2NzcyIsInRoZW1lL19uZXdzLnNjc3MiLCJ0aGVtZS9fcGFnZS5zY3NzIiwidGhlbWUvX3Byb2R1Y3RzLnNjc3MiLCJ0aGVtZS9fcHJvZmlsZXMuc2NzcyIsInRoZW1lL19wcm9qZWN0cy5zY3NzIiwidGhlbWUvX3dpZGdldC5zY3NzIiwidGhlbWUvX3RyYW5zaXRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7Ozs7RUFLRSwwRUFFRixVQUNFLDhCQUNRLHNCQUNSLGlDQUNRLHdCQUF5QixDQUNsQyxtQkFHQywyQ0FDUSxrQ0FBbUMsQ0FDNUMsZ0JBR0MsOEJBQ1EscUJBQXNCLENBQy9CLDBCQUdDLG9CQUNFLHVFQUNRLCtEQUNSLHVDQUNRLDhCQUE2QixDQUd2QyxRQUNFLDBFQUNRLGtFQUNSLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLDBFQUNRLGtFQUNSLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLDBDQUNRLGlDQUFnQyxDQUFBLENBSTVDLGtCQUNFLG9CQUNFLHVFQUNRLCtEQUNSLHVDQUNRLDhCQUE2QixDQUd2QyxRQUNFLDBFQUNRLGtFQUNSLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLDBFQUNRLGtFQUNSLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLDBDQUNRLGlDQUFnQyxDQUFBLENBSTVDLFFBQ0UsOEJBQ1Esc0JBQ1IsdUNBQ0ksbUNBQ0ksOEJBQStCLENBQ3hDLHlCQUdDLFlBQ0UsU0FBVSxDQUdaLFFBQ0UsU0FBVSxDQUFBLENBSWQsaUJBQ0UsWUFDRSxTQUFVLENBR1osUUFDRSxTQUFVLENBQUEsQ0FJZCxPQUNFLDZCQUNRLG9CQUFxQixDQUM5Qix5QkFLQyxHQUNFLG1DQUNRLDBCQUEyQixDQUdyQyxJQUNFLDRD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RCxDSHFHOUMsZ0JHeEVQLG9CRGJxRCxDRnlFakQsU0N4RkosU0NlcUQsQ0YyRWhELGNHekZILGtCQUNBLFFBSG1ELENIaUc5QyxjRy9GTCxrQkFDQSxTQUhtRCxDSHFHOUMsZ0JHeEVQLHFCRGJxRCxDRnlFakQsU0N4RkosZUNlcUQsQ0YyRWhELGNHekZILGtCQUNBLGNBSG1ELENIaUc5QyxjRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsZ0JHeEVQLGVEYnFELENGeUVqRCxTQ3hGSixlQ2VxRCxDRjJFaEQsY0d6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGNHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxnQkd4RVAscUJEYnFELENGeUVqRCxTQ3hGSixTQ2VxRCxDRjJFaEQsY0d6Rkgsa0JBQ0EsUUFIbUQsQ0hpRzlDLGNHL0ZMLGtCQUNBLFNBSG1ELENIcUc5QyxnQkd4RVAscUJEYnFELENGeUVqRCxTQ3hGSixlQ2VxRCxDRjJFaEQsY0d6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGNHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxnQkd4RVAsZURicUQsQ0Z5RWpELFNDeEZKLGVDZXFELENGMkVoRCxjR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsY0cvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGdCR3hFUCxxQkRicUQsQ0Z5RWpELFNDeEZKLFNDZXFELENGMkVoRCxjR3pGSCxrQkFDQSxRQUhtRCxDSGlHOUMsY0cvRkwsa0JBQ0EsU0FIbUQsQ0hxRzlDLGdCR3hFUCxxQkRicUQsQ0Z5RWpELFVDeEZKLGVDZXFELENGMkVoRCxlR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsZUcvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGdCR3hFUCxlRGJxRCxDRnlFakQsVUN4RkosZUNlcUQsQ0YyRWhELGVHekZILGtCQUNBLGNBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsaUJHeEVQLHFCRGJxRCxDRnlFakQsVUN4RkosVUNlcUQsQ0YyRWhELGlCRzlETCxxQkRicUQsQ0Y2RmhELHlDSXBHSCxXQUNBLFVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFNBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLGVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFNBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFNBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLGVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLGVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFdBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNYXZELGlERi9HQSxnQkFDQSxjQ3NFUyxDQ3dDVCxxQkFJSSxlQUNBLGFBQWMsQ0FDZixrQ0FJRCxlQUNBLGFBQWMsQ0FDZixxREYzSEQsc0JBQ0Esb0JBSHFDLENFZ0lvQixnQkc3SHpELGtCQUNBLGdCQUFpQixDQUxqQiw2REFDRSxXQUNBLFVBQVcsQ0FDWiw4Q0FXSCxnQkFDQSxXQUNBLGVBQ0EsYUFBYyxDZCtIViwyQ1c3REEsVUN4RkosY0NlcUQsQ0YyRWhELGVHekZILGtCQUNBLGFBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxjQUhtRCxDSHFHOUMsaUJHeEVQLGNEaEJnQyxDRjRFNUIsVUN4RkosZUNlcUQsQ0YyRWhELGVHekZILGtCQUNBLGNBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsaUJHeEVQLG9CRGJxRCxDRnlFakQsVUN4RkosU0NlcUQsQ0YyRWhELGVHekZILGtCQUNBLFFBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxTQUhtRCxDSHFHOUMsaUJHeEVQLHFCRGJxRCxDRnlFakQsVUN4RkosZUNlcUQsQ0YyRWhELGVHekZILGtCQUNBLGNBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsaUJHeEVQLGVEYnFELENGeUVqRCxVQ3hGSixlQ2VxRCxDRjJFaEQsZUd6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGVHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxpQkd4RVAscUJEYnFELENGeUVqRCxVQ3hGSixTQ2VxRCxDRjJFaEQsZUd6Rkgsa0JBQ0EsUUFIbUQsQ0hpRzlDLGVHL0ZMLGtCQUNBLFNBSG1ELENIcUc5QyxpQkd4RVAscUJEYnFELENGeUVqRCxVQ3hGSixlQ2VxRCxDRjJFaEQsZUd6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGVHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxpQkd4RVAsZURicUQsQ0Z5RWpELFVDeEZKLGVDZXFELENGMkVoRCxlR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsZUcvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGlCR3hFUCxxQkRicUQsQ0Z5RWpELFVDeEZKLFNDZXFELENGMkVoRCxlR3pGSCxrQkFDQSxRQUhtRCxDSGlHOUMsZUcvRkwsa0JBQ0EsU0FIbUQsQ0hxRzlDLGlCR3hFUCxxQkRicUQsQ0Z5RWpELFdDeEZKLGVDZXFELENGMkVoRCxnQkd6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGdCRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsaUJHeEVQLGVEYnFELENGeUVqRCxXQ3hGSixlQ2VxRCxDRjJFaEQsZ0JHekZILGtCQUNBLGNBSG1ELENIaUc5QyxnQkcvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGtCR3hFUCxxQkRicUQsQ0Z5RWpELFdDeEZKLFVDZXFELENGMkVoRCxrQkc5REwscUJEYnFELENGNkZoRCwyQ0lwR0gsV0FDQSxVQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTU9yRCwyQ0l6R0YsV0FDQSxTQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTU9yRCwyQ0l6R0YsV0FDQSxlQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTU9yRCwyQ0l6R0YsV0FDQSxTQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTU9yRCwyQ0l6R0YsV0FDQSxTQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTU9yRCwyQ0l6R0YsV0FDQSxlQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTU9yRCwyQ0l6R0YsV0FDQSxlQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTU9yRCwyQ0l6R0YsV0FDQSxXQUF1QixDSndHckIsMkVJakZBLFVBQVcsQ0ppRlgsK0VJN0VBLFVBQVcsQ0o2RVgsaUVJekVBLFVWa0VxRCxDTWF2RCxtREYvR0EsZ0JBQ0EsY0NzRVMsQ0N3Q1Qsc0JBSUksZUFDQSxhQUFjLENBQ2YsbUNBSUQsZUFDQSxhQUFjLENBQ2YsdURGM0hELHVCQUNBLHFCQUhxQyxDRWdJb0IsaUJHN0h6RCxrQkFDQSxnQkFBaUIsQ0FMakIsK0RBQ0UsV0FDQSxVQUFXLENBQ1osaURBV0gsZ0JBQ0EsV0FDQSxlQUNBLGFBQWMsQ0g2SFgsQ1hFQywyQ1c3REEsU0N4RkosY0NlcUQsQ0YyRWhELGNHekZILGtCQUNBLGFBSG1ELENIaUc5QyxjRy9GTCxrQkFDQSxjQUhtRCxDSHFHOUMsZ0JHeEVQLGNEaEJnQyxDRjRFNUIsU0N4RkosZUNlcUQsQ0YyRWhELGNHekZILGtCQUNBLGNBSG1ELENIaUc5QyxjRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsZ0JHeEVQLG9CRGJxRCxDRnlFakQsU0N4RkosU0NlcUQsQ0YyRWhELGNHekZILGtCQUNBLFFBSG1ELENIaUc5QyxjRy9GTCxrQkFDQSxTQUhtRCxDSHFHOUMsZ0JHeEVQLHFCRGJxRCxDRnlFakQsU0N4RkosZUNlcUQsQ0YyRWhELGNHekZILGtCQUNBLGNBSG1ELENIaUc5QyxjRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsZ0JHeEVQLGVEYnFELENGeUVqRCxTQ3hGSixlQ2VxRCxDRjJFaEQsY0d6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGNHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxnQkd4RVAscUJEYnFELENGeUVqRCxTQ3hGSixTQ2VxRCxDRjJFaEQsY0d6Rkgsa0JBQ0EsUUFIbUQsQ0hpRzlDLGNHL0ZMLGtCQUNBLFNBSG1ELENIcUc5QyxnQkd4RVAscUJEYnFELENGeUVqRCxTQ3hGSixlQ2VxRCxDRjJFaEQsY0d6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGNHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxnQkd4RVAsZURicUQsQ0Z5RWpELFNDeEZKLGVDZXFELENGMkVoRCxjR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsY0cvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGdCR3hFUCxxQkRicUQsQ0Z5RWpELFNDeEZKLFNDZXFELENGMkVoRCxjR3pGSCxrQkFDQSxRQUhtRCxDSGlHOUMsY0cvRkwsa0JBQ0EsU0FIbUQsQ0hxRzlDLGdCR3hFUCxxQkRicUQsQ0Z5RWpELFVDeEZKLGVDZXFELENGMkVoRCxlR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsZUcvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGdCR3hFUCxlRGJxRCxDRnlFakQsVUN4RkosZUNlcUQsQ0YyRWhELGVHekZILGtCQUNBLGNBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsaUJHeEVQLHFCRGJxRCxDRnlFakQsVUN4RkosVUNlcUQsQ0YyRWhELGlCRzlETCxxQkRicUQsQ0Y2RmhELHlDSXBHSCxXQUNBLFVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFNBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLGVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFNBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFNBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLGVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLGVBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNT3JELHlDSXpHRixXQUNBLFdBQXVCLENKd0dyQix5RUlqRkEsVUFBVyxDSmlGWCw2RUk3RUEsVUFBVyxDSjZFWCwrREl6RUEsVVZrRXFELENNYXZELGlERi9HQSxnQkFDQSxjQ3NFUyxDQ3dDVCxxQkFJSSxlQUNBLGFBQWMsQ0FDZixrQ0FJRCxlQUNBLGFBQWMsQ0FDZixxREYzSEQsdUJBQ0EscUJBSHFDLENFZ0lvQixnQkc3SHpELGtCQUNBLGdCQUFpQixDQUxqQiw2REFDRSxXQUNBLFVBQVcsQ0FDWiw4Q0FXSCxnQkFDQSxXQUNBLGVBQ0EsYUFBYyxDSDZIWCxDWE9DLHFDV2xFQSxVQ3hGSixjQ2VxRCxDRjJFaEQsZUd6Rkgsa0JBQ0EsYUFIbUQsQ0hpRzlDLGVHL0ZMLGtCQUNBLGNBSG1ELENIcUc5QyxpQkd4RVAsY0RoQmdDLENGNEU1QixVQ3hGSixlQ2VxRCxDRjJFaEQsZUd6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGVHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxpQkd4RVAsb0JEYnFELENGeUVqRCxVQ3hGSixTQ2VxRCxDRjJFaEQsZUd6Rkgsa0JBQ0EsUUFIbUQsQ0hpRzlDLGVHL0ZMLGtCQUNBLFNBSG1ELENIcUc5QyxpQkd4RVAscUJEYnFELENGeUVqRCxVQ3hGSixlQ2VxRCxDRjJFaEQsZUd6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGVHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxpQkd4RVAsZURicUQsQ0Z5RWpELFVDeEZKLGVDZXFELENGMkVoRCxlR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsZUcvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGlCR3hFUCxxQkRicUQsQ0Z5RWpELFVDeEZKLFNDZXFELENGMkVoRCxlR3pGSCxrQkFDQSxRQUhtRCxDSGlHOUMsZUcvRkwsa0JBQ0EsU0FIbUQsQ0hxRzlDLGlCR3hFUCxxQkRicUQsQ0Z5RWpELFVDeEZKLGVDZXFELENGMkVoRCxlR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsZUcvRkwsa0JBQ0EsZUFIbUQsQ0hxRzlDLGlCR3hFUCxlRGJxRCxDRnlFakQsVUN4RkosZUNlcUQsQ0YyRWhELGVHekZILGtCQUNBLGNBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsaUJHeEVQLHFCRGJxRCxDRnlFakQsVUN4RkosU0NlcUQsQ0YyRWhELGVHekZILGtCQUNBLFFBSG1ELENIaUc5QyxlRy9GTCxrQkFDQSxTQUhtRCxDSHFHOUMsaUJHeEVQLHFCRGJxRCxDRnlFakQsV0N4RkosZUNlcUQsQ0YyRWhELGdCR3pGSCxrQkFDQSxjQUhtRCxDSGlHOUMsZ0JHL0ZMLGtCQUNBLGVBSG1ELENIcUc5QyxpQkd4RVAsZURicUQsQ0Z5RWpELFdDeEZKLGVDZXFELENGMkVoRCxnQkd6Rkgsa0JBQ0EsY0FIbUQsQ0hpRzlDLGdCRy9GTCxrQkFDQSxlQUhtRCxDSHFHOUMsa0JHeEVQLHFCRGJxRCxDRnlFakQsV0N4RkosVUNlcUQsQ0YyRWhELGtCRzlETCxxQkRicUQsQ0Y2RmhELDJDSXBHSCxXQUNBLFVBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNT3JELDJDSXpHRixXQUNBLFNBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNT3JELDJDSXpHRixXQUNBLGVBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNT3JELDJDSXpHRixXQUNBLFNBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNT3JELDJDSXpHRixXQUNBLFNBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNT3JELDJDSXpHRixXQUNBLGVBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNT3JELDJDSXpHRixXQUNBLGVBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNT3JELDJDSXpHRixXQUNBLFdBQXVCLENKd0dyQiwyRUlqRkEsVUFBVyxDSmlGWCwrRUk3RUEsVUFBVyxDSjZFWCxpRUl6RUEsVVZrRXFELENNYXZELG1ERi9HQSxnQkFDQSxjQ3NFUyxDQ3dDVCxzQkFJSSxlQUNBLGFBQWMsQ0FDZixtQ0FJRCxlQUNBLGFBQWMsQ0FDZix1REYzSEQsdUJBQ0EscUJBSHFDLENFZ0lvQixpQkc3SHpELGtCQUNBLGdCQUFpQixDQUxqQiwrREFDRSxXQUNBLFVBQVcsQ0FDWixpREFXSCxnQkFDQSxXQUNBLGVBQ0EsYUFBYyxDSDZIWCxDQUlILGNGMUZFLHFCQ2FxRCxDRFhyRCwwQkFDRSxlQUFnQixDVHFGaEIsMkNXRUosY0YxRkUsc0JDYXFELENEWHJELDBCQUNFLGVBQWdCLENBQ2pCLENPbkVILGdCQ29CTSxzQkFBQSxxQkNmTixpQkFDQSxhQUFjLENsQmlKViwyQ2dCdkpKLGdCQ29CTSx1QkFBQSxxQkFBNEIsQ0RWakMsQ0FWRCxzQkNvQk0sc0JBQUEscUJDZk4sZUFDQSxhQUFjLENsQmlKViwyQ2dCdkpKLHNCQ29CTSx1QkFBQSxxQkFBNEIsQ0RmL0IsQ0FMSCxxQkM2QkksZ0JBQUEsZUN4QkosZUFDQSxhQUFjLENGR1gsUUVXSCxvQkFBQSxBQUNBLHFCQURBLEFBQ0Esb0JBREEsQUFDQSxhQUFBLDhCQUFBLEFBSHFCLDZCQUdyQixBQUhxQiwyQkFHckIsQUFIcUIsdUJBR3JCLEFBSHFCLGtCQUFBLENGSHBCLE1HdUJDLG1CQUFBLEFBQ0Esc0JBREEsQUFDQSxrQkFEQSxBQUNBLGNBQUEsZUFDQSxjQWtDQSxVQURvRCxDSHhEdEQsV0cwQkUsbUJBQUEsQUFBYSxxQkFBYixBQUFhLGlCQUFiLEFBQWEsWUFBQSxDSDFCZixhRzZCRSxtQkFBQSxBQUFjLHNCQUFkLEFBQWMsa0JBQWQsQUFBYyxhQUFBLENIbkJiLGNHdUNELFVBQW1CLENIcENyQixnQkd3Q0UsVUFBbUIsQ0hqQ2xCLHlQQWVHLHdCQUFBLEFBQWdCLDZCQUFoQixBQUFnQixlQUFBLENoQm1HbEIsMkNnQnpHRix1UUFNSSx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDQUNqQixDaEJrR0QsMkNnQnpHRix5UEFNSSx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDQUNqQixDaEJ1R0QscUNnQjlHRix1UUFNSSx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDQUNqQixDQW1CRCxpQkdFRixjQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixTQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixTQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixTQURvRCxDSERsRCxrQkdFRixlQURvRCxDSERsRCxrQkdFRixlQURvRCxDSERsRCxrQkdFRixVQURvRCxDbkI4RWxELDJDZ0I1RkEscUJHaEJGLG1CQUFBLEFBdUJBLHFCQXZCQSxBQXVCQSxpQkF2QkEsQUF1QkEsYUFBQSxVQUFtQixDSEpoQix1QkdoQkgsbUJBQUEsQUF3QkEsc0JBeEJBLEFBd0JBLGtCQXhCQSxBQXdCQSxjQUFBLFVBQW1CLENISGhCLGtCR09ILGNBRG9ELENIRGxELGtCR0VGLGVBRG9ELENIRGxELGtCR0VGLFNBRG9ELENIRGxELGtCR0VGLGVBRG9ELENIRGxELGtCR0VGLGVBRG9ELENIRGxELGtCR0VGLFNBRG9ELENIRGxELGtCR0VGLGVBRG9ELENIRGxELGtCR0VGLGVBRG9ELENIRGxELGtCR0VGLFNBRG9ELENIRGxELG1CR0VGLGVBRG9ELENIRGxELG1CR0VGLGVBRG9ELENIRGxELG1CR0VGLFVBRG9ELENIQ2pELENoQjZFRCwyQ2dCNUZBLG9CR2hCRixtQkFBQSxBQXVCQSxxQkF2QkEsQUF1QkEsaUJBdkJBLEFBdUJBLGFBQUEsVUFBbUIsQ0hKaEIsc0JHaEJILG1CQUFBLEFBd0JBLHNCQXhCQSxBQXdCQSxrQkF4QkEsQUF3QkEsY0FBQSxVQUFtQixDSEhoQixpQkdPSCxjQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixTQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixTQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixlQURvRCxDSERsRCxpQkdFRixTQURvRCxDSERsRCxrQkdFRixlQURvRCxDSERsRCxrQkdFRixlQURvRCxDSERsRCxrQkdFRixVQURvRCxDSENqRCxDaEJrRkQscUNnQmpHQSxxQkdoQkYsbUJBQUEsQUF1QkEscUJBdkJBLEFBdUJBLGlCQXZCQSxBQXVCQSxhQUFBLFVBQW1CLENISmhCLHVCR2hCSCxtQkFBQSxBQXdCQSxzQkF4QkEsQUF3QkEsa0JBeEJBLEFBd0JBLGNBQUEsVUFBbUIsQ0hIaEIsa0JHT0gsY0FEb0QsQ0hEbEQsa0JHRUYsZUFEb0QsQ0hEbEQsa0JHRUYsU0FEb0QsQ0hEbEQsa0JHRUYsZUFEb0QsQ0hEbEQsa0JHRUYsZUFEb0QsQ0hEbEQsa0JHRUYsU0FEb0QsQ0hEbEQsa0JHRUYsZUFEb0QsQ0hEbEQsa0JHRUYsZUFEb0QsQ0hEbEQsa0JHRUYsU0FEb0QsQ0hEbEQsbUJHRUYsZUFEb0QsQ0hEbEQsbUJHRUYsZUFEb0QsQ0hEbEQsbUJHRUYsVUFEb0QsQ0hDakQsQ0FLTCxrQ0FDRSxVQUFXLENBQ1osa0NBSUMsV0FBWSxDQUNiLGVDbEVLLHFCQUFBLHFCQUE0QixDakJtSTlCLDJDZ0JwQ0osZUMvRk0sc0JBQUEsc0JBQTRCLENEOEhqQyxDQS9CRCxxQkdwREUsMkJGbENFLG9CQUFBLG9CQUE0QixDakIwSDVCLDJDZ0JwQ0oscUJHcERFLDRCRmxDRSxxQkFBQSxxQkFBNEIsQ0RtR3pCLENBckNQLHFCR3pCRSxVQUFtQixDSDJCcEIsdUJHdkJDLFVBQW1CLENIMkJwQix3Qkd2QkMsOEJBRGdILENIOEJoSCx3Qkc3QkEsK0JBRGdILENIOEJoSCx3Qkc3QkEseUJBRGdILENIOEJoSCx3Qkc3QkEsK0JBRGdILENIOEJoSCx3Qkc3QkEsK0JBRGdILENIOEJoSCx3Qkc3QkEseUJBRGdILENIOEJoSCx3Qkc3QkEsK0JBRGdILENIOEJoSCx3Qkc3QkEsK0JBRGdILENIOEJoSCx3Qkc3QkEseUJBRGdILENIOEJoSCx5Qkc3QkEsK0JBRGdILENIOEJoSCx5Qkc3QkEsK0JBRGdILENIOEJoSCx5Qkc3QkEsMEJBRGdILENuQjhFOUcsMkNnQjVESixxQkd6QkUsVUFBbUIsQ0gyQnBCLHVCR3ZCQyxVQUFtQixDSDJCcEIsd0JHdkJDLCtCQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLDBCQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLDBCQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLDBCQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLDJCQURnSCxDSGtCbEgsNEJHekJFLFVBQW1CLENIMkJwQiw4Qkd2QkMsVUFBbUIsQ0gyQnBCLHlCR3ZCQywrQkFEZ0gsQ0g4QmhILHlCRzdCQSxnQ0FEZ0gsQ0g4QmhILHlCRzdCQSwwQkFEZ0gsQ0g4QmhILHlCRzdCQSxnQ0FEZ0gsQ0g4QmhILHlCRzdCQSxnQ0FEZ0gsQ0g4QmhILHlCRzdCQSwwQkFEZ0gsQ0g4QmhILHlCRzdCQSxnQ0FEZ0gsQ0g4QmhILHlCRzdCQSxnQ0FEZ0gsQ0g4QmhILHlCRzdCQSwwQkFEZ0gsQ0g4QmhILDBCRzdCQSxnQ0FEZ0gsQ0g4QmhILDBCRzdCQSxnQ0FEZ0gsQ0g4QmhILDBCRzdCQSwyQkFEZ0gsQ0hnQy9HLENoQjhDQywyQ2dCNURKLDJCR3pCRSxVQUFtQixDSDJCcEIsNkJHdkJDLFVBQW1CLENIMkJwQix3Qkd2QkMsK0JBRGdILENIOEJoSCx3Qkc3QkEsZ0NBRGdILENIOEJoSCx3Qkc3QkEsMEJBRGdILENIOEJoSCx3Qkc3QkEsZ0NBRGdILENIOEJoSCx3Qkc3QkEsZ0NBRGdILENIOEJoSCx3Qkc3QkEsMEJBRGdILENIOEJoSCx3Qkc3QkEsZ0NBRGdILENIOEJoSCx3Qkc3QkEsZ0NBRGdILENIOEJoSCx3Qkc3QkEsMEJBRGdILENIOEJoSCx5Qkc3QkEsZ0NBRGdILENIOEJoSCx5Qkc3QkEsZ0NBRGdILENIOEJoSCx5Qkc3QkEsMkJBRGdILENIZ0MvRyxDaEJtREMscUNnQmpFSiw0Qkd6QkUsVUFBbUIsQ0gyQnBCLDhCR3ZCQyxVQUFtQixDSDJCcEIseUJHdkJDLCtCQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLDBCQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLDBCQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLDBCQURnSCxDSDhCaEgsMEJHN0JBLGdDQURnSCxDSDhCaEgsMEJHN0JBLGdDQURnSCxDSDhCaEgsMEJHN0JBLDJCQURnSCxDSGdDL0csQ0E4Q0gsZ0NDbklNLHNCQUFBLG9CQUE0QixDakJtSTlCLDJDZ0JBSixnQ0NuSU0sdUJBQUEscUJBQTRCLENEd0kvQixDQUlELDJDQzVJSSxzQkFBQSxvQkFBNEIsQ2pCbUk5QiwyQ2dCU0YsMkNDNUlJLHVCQUFBLHFCQUE0QixDRDhJL0IsQ0FYSCxzQkNuSU0sc0JBQUEsb0JBQTRCLENqQm1JOUIsMkNnQkFKLHNCQ25JTSx1QkFBQSxxQkFBNEIsQ0RtSi9CLENJdEpILGtCRHlERSxVQURvRCxDQ3hEdEQsa0JEeURFLFNBRG9ELENDeER0RCxrQkR5REUsZUFEb0QsQ0N4RHRELGtCRHlERSxTQURvRCxDQ3hEdEQsa0JEeURFLFNBRG9ELENDeER0RCxrQkR5REUsZUFEb0QsQ0N4RHRELGtCRHlERSxlQURvRCxDQ3hEdEQsa0JEeURFLFdBRG9ELENuQjhFbEQsMkNvQnRJSixtQkR5REUsVUFEb0QsQ0N4RHRELG1CRHlERSxTQURvRCxDQ3hEdEQsbUJEeURFLGVBRG9ELENDeER0RCxtQkR5REUsU0FEb0QsQ0N4RHRELG1CRHlERSxTQURvRCxDQ3hEdEQsbUJEeURFLGVBRG9ELENDeER0RCxtQkR5REUsZUFEb0QsQ0N4RHRELG1CRHlERSxXQURvRCxDQ3REckQsQ3BCb0lHLDJDb0J0SUosa0JEeURFLFVBRG9ELENDeER0RCxrQkR5REUsU0FEb0QsQ0N4RHRELGtCRHlERSxlQURvRCxDQ3hEdEQsa0JEeURFLFNBRG9ELENDeER0RCxrQkR5REUsU0FEb0QsQ0N4RHRELGtCRHlERSxlQURvRCxDQ3hEdEQsa0JEeURFLGVBRG9ELENDeER0RCxrQkR5REUsV0FEb0QsQ0N0RHJELENwQnlJRyxxQ29CM0lKLG1CRHlERSxVQURvRCxDQ3hEdEQsbUJEeURFLFNBRG9ELENDeER0RCxtQkR5REUsZUFEb0QsQ0N4RHRELG1CRHlERSxTQURvRCxDQ3hEdEQsbUJEeURFLFNBRG9ELENDeER0RCxtQkR5REUsZUFEb0QsQ0N4RHRELG1CRHlERSxlQURvRCxDQ3hEdEQsbUJEeURFLFdBRG9ELENDdERyRCxDQUZELGdDRHlERSwwQkFEZ0gsQ0N4RGxILGdDRHlERSx5QkFEZ0gsQ0N4RGxILGdDRHlERSwrQkFEZ0gsQ0N4RGxILGdDRHlERSx5QkFEZ0gsQ0N4RGxILGdDRHlERSx5QkFEZ0gsQ0N4RGxILGdDRHlERSwrQkFEZ0gsQ0N4RGxILGdDRHlERSwrQkFEZ0gsQ0N4RGxILGdDRHlERSwyQkFEZ0gsQ25COEU5RywyQ29CdElKLGdDRHlERSwwQkFEZ0gsQ0N4RGxILGdDRHlERSx5QkFEZ0gsQ0N4RGxILGdDRHlERSwrQkFEZ0gsQ0N4RGxILGdDRHlERSx5QkFEZ0gsQ0N4RGxILGdDRHlERSx5QkFEZ0gsQ0N4RGxILGdDRHlERSwrQkFEZ0gsQ0N4RGxILGdDRHlERSwrQkFEZ0gsQ0N4RGxILGdDRHlERSwyQkFEZ0gsQ0N4RGxILGlDRHlERSwyQkFEZ0gsQ0N4RGxILGlDRHlERSwwQkFEZ0gsQ0N4RGxILGlDRHlERSxnQ0FEZ0gsQ0N4RGxILGlDRHlERSwwQkFEZ0gsQ0N4RGxILGlDRHlERSwwQkFEZ0gsQ0N4RGxILGlDRHlERSxnQ0FEZ0gsQ0N4RGxILGlDRHlERSxnQ0FEZ0gsQ0N4RGxILGlDRHlERSw0QkFEZ0gsQ0N0RGpILENwQm9JRywyQ29CdElKLGdDRHlERSwyQkFEZ0gsQ0N4RGxILGdDRHlERSwwQkFEZ0gsQ0N4RGxILGdDRHlERSxnQ0FEZ0gsQ0N4RGxILGdDRHlERSwwQkFEZ0gsQ0N4RGxILGdDRHlERSwwQkFEZ0gsQ0N4RGxILGdDRHlERSxnQ0FEZ0gsQ0N4RGxILGdDRHlERSxnQ0FEZ0gsQ0N4RGxILGdDRHlERSw0QkFEZ0gsQ0N0RGpILENwQnlJRyxxQ29CM0lKLGlDRHlERSwyQkFEZ0gsQ0N4RGxILGlDRHlERSwwQkFEZ0gsQ0N4RGxILGlDRHlERSxnQ0FEZ0gsQ0N4RGxILGlDRHlERSwwQkFEZ0gsQ0N4RGxILGlDRHlERSwwQkFEZ0gsQ0N4RGxILGlDRHlERSxnQ0FEZ0gsQ0N4RGxILGlDRHlERSxnQ0FEZ0gsQ0N4RGxILGlDRHlERSw0QkFEZ0gsQ0N0RGpILENKZ01HLHVCS3ZNRSxlQUFBLGFBQTBCLENBRzVCLDZCQUVJLGVBQUEsYUFBMEIsQ0FFN0IsZ0NGdURILGNBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixTQURvRCxDRWxDNUMsZ0NGbUNSLGVBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixTQURvRCxDRWxDNUMsZ0NGbUNSLGVBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixVQURvRCxDbkI4RWxELDJDcUJoSE0saUNGbUNSLGNBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixVQURvRCxDRWhDM0MsQ3JCOEdQLDJDcUJoSE0sZ0NGbUNSLGNBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixTQURvRCxDRWxDNUMsZ0NGbUNSLGVBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixTQURvRCxDRWxDNUMsZ0NGbUNSLGVBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixVQURvRCxDRWhDM0MsQ3JCbUhQLHFDcUJySE0saUNGbUNSLGNBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixVQURvRCxDRWhDM0MsQ0xnTFAsd0JLdEtFLGVBQUEsYUFBMEIsQ0FHNUIsOEJBRUksZ0JBQUEsY0FBNEIsQ3JCK0ZoQywyQ2dCNERBLHdCS3ZNRSxlQUFBLGFBQTBCLENBRzVCLDhCQUVJLGVBQUEsYUFBMEIsQ0FFN0IsQ3JCb0lELDJDcUJ6SE0saUNGNENSLGNBRG9ELENFM0M1QyxpQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGlDRjRDUixTQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGlDRjRDUixTQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGlDRjRDUixTQURvRCxDRTNDNUMsa0NGNENSLGVBRG9ELENFM0M1QyxrQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGtDRjRDUixVQURvRCxDRXpDM0MsQ3JCdUhQLDJDcUJoSE0sa0NGbUNSLGNBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixTQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixTQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixTQURvRCxDRWxDNUMsbUNGbUNSLGVBRG9ELENFbEM1QyxtQ0ZtQ1IsZUFEb0QsQ0VsQzVDLG1DRm1DUixVQURvRCxDRWhDM0MsQ3JCOEdQLDJDcUJoSE0saUNGbUNSLGNBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsaUNGbUNSLGVBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixTQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixVQURvRCxDRWhDM0MsQ3JCbUhQLHFDcUJySE0sa0NGbUNSLGNBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixTQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixTQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixTQURvRCxDRWxDNUMsbUNGbUNSLGVBRG9ELENFbEM1QyxtQ0ZtQ1IsZUFEb0QsQ0VsQzVDLG1DRm1DUixVQURvRCxDRWhDM0MsQ3JCOEdQLDJDZ0JrRUEseUJLdEtFLGVBQUEsYUFBMEIsQ0FHNUIsK0JBRUksZ0JBQUEsY0FBNEIsQ0FFL0IsQ3JCNkZELDJDZ0I0REEsdUJLdk1FLGVBQUEsYUFBMEIsQ0FHNUIsNkJBRUksZUFBQSxhQUEwQixDQUU3QixDckJvSUQsMkNxQnpITSxnQ0Y0Q1IsY0FEb0QsQ0UzQzVDLGdDRjRDUixlQURvRCxDRTNDNUMsZ0NGNENSLFNBRG9ELENFM0M1QyxnQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGdDRjRDUixlQURvRCxDRTNDNUMsZ0NGNENSLFNBRG9ELENFM0M1QyxnQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGdDRjRDUixlQURvRCxDRTNDNUMsZ0NGNENSLFNBRG9ELENFM0M1QyxpQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLFVBRG9ELENFekMzQyxDckJ1SFAsMkNxQnpITSxpQ0Y0Q1IsY0FEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLFNBRG9ELENFM0M1QyxpQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLFNBRG9ELENFM0M1QyxpQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLFNBRG9ELENFM0M1QyxrQ0Y0Q1IsZUFEb0QsQ0UzQzVDLGtDRjRDUixlQURvRCxDRTNDNUMsa0NGNENSLFVBRG9ELENFekMzQyxDckJ1SFAsMkNxQmhITSxnQ0ZtQ1IsY0FEb0QsQ0VsQzVDLGdDRm1DUixlQURvRCxDRWxDNUMsZ0NGbUNSLFNBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixlQURvRCxDRWxDNUMsZ0NGbUNSLFNBRG9ELENFbEM1QyxnQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGdDRm1DUixlQURvRCxDRWxDNUMsZ0NGbUNSLFNBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixlQURvRCxDRWxDNUMsaUNGbUNSLFVBRG9ELENFaEMzQyxDckJtSFAscUNxQnJITSxpQ0ZtQ1IsY0FEb0QsQ0VsQzVDLGlDRm1DUixlQURvRCxDRWxDNUMsaUNGbUNSLFNBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixlQURvRCxDRWxDNUMsaUNGbUNSLFNBRG9ELENFbEM1QyxpQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGlDRm1DUixlQURvRCxDRWxDNUMsaUNGbUNSLFNBRG9ELENFbEM1QyxrQ0ZtQ1IsZUFEb0QsQ0VsQzVDLGtDRm1DUixlQURvRCxDRWxDNUMsa0NGbUNSLFVBRG9ELENFaEMzQyxDckI4R1AsMkNnQmtFQSx3Qkt0S0UsZUFBQSxhQUEwQixDQUc1Qiw4QkFFSSxnQkFBQSxjQUE0QixDQUUvQixDckJrR0QscUNnQnVEQSx3Qkt2TUUsZUFBQSxhQUEwQixDQUc1Qiw4QkFFSSxlQUFBLGFBQTBCLENBRTdCLENyQnlJRCxxQ3FCOUhNLGlDRjRDUixjQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGtDRjRDUixlQURvRCxDRTNDNUMsa0NGNENSLGVBRG9ELENFM0M1QyxrQ0Y0Q1IsVUFEb0QsQ0V6QzNDLENyQjRIUCxxQ3FCOUhNLGtDRjRDUixjQURvRCxDRTNDNUMsa0NGNENSLGVBRG9ELENFM0M1QyxrQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGtDRjRDUixlQURvRCxDRTNDNUMsa0NGNENSLGVBRG9ELENFM0M1QyxrQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGtDRjRDUixlQURvRCxDRTNDNUMsa0NGNENSLGVBRG9ELENFM0M1QyxrQ0Y0Q1IsU0FEb0QsQ0UzQzVDLG1DRjRDUixlQURvRCxDRTNDNUMsbUNGNENSLGVBRG9ELENFM0M1QyxtQ0Y0Q1IsVUFEb0QsQ0V6QzNDLENyQjRIUCxxQ3FCOUhNLGlDRjRDUixjQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGlDRjRDUixlQURvRCxDRTNDNUMsaUNGNENSLGVBRG9ELENFM0M1QyxpQ0Y0Q1IsU0FEb0QsQ0UzQzVDLGtDRjRDUixlQURvRCxDRTNDNUMsa0NGNENSLGVBRG9ELENFM0M1QyxrQ0Y0Q1IsVUFEb0QsQ0V6QzNDLENyQjRIUCxxQ3FCckhNLGtDRm1DUixjQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsU0FEb0QsQ0VsQzVDLGtDRm1DUixlQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsU0FEb0QsQ0VsQzVDLGtDRm1DUixlQURvRCxDRWxDNUMsa0NGbUNSLGVBRG9ELENFbEM1QyxrQ0ZtQ1IsU0FEb0QsQ0VsQzVDLG1DRm1DUixlQURvRCxDRWxDNUMsbUNGbUNSLGVBRG9ELENFbEM1QyxtQ0ZtQ1IsVUFEb0QsQ0VoQzNDLENyQm1IUCxxQ2dCNkRBLHlCS3RLRSxlQUFBLGFBQTBCLENBRzVCLCtCQUVJLGdCQUFBLGNBQTRCLENBRS9CLENWa0RELGdCVy9GRixjQUE2QixDTjROMUIsK0JNNU5ILDhCQUE2QixDWCtGM0IsZ0JXL0ZGLG9CQUE2QixDTjROMUIsK0JNNU5ILG9DQUE2QixDWCtGM0IsZ0JXL0ZGLHFCQUE2QixDTjROMUIsK0JNNU5ILHFDQUE2QixDWCtGM0IsZ0JXL0ZGLGVBQTZCLENONE4xQiwrQk01TkgsK0JBQTZCLENYK0YzQixnQlcvRkYscUJBQTZCLENONE4xQiwrQk01TkgscUNBQTZCLENYK0YzQixnQlcvRkYscUJBQTZCLENONE4xQiwrQk01TkgscUNBQTZCLENYK0YzQixnQlcvRkYsZUFBNkIsQ040TjFCLCtCTTVOSCwrQkFBNkIsQ1grRjNCLGdCVy9GRixxQkFBNkIsQ040TjFCLCtCTTVOSCxxQ0FBNkIsQ1grRjNCLGdCVy9GRixxQkFBNkIsQ040TjFCLCtCTTVOSCxxQ0FBNkIsQ1grRjNCLGdCVy9GRixlQUE2QixDTjROMUIsK0JNNU5ILCtCQUE2QixDWCtGM0IsaUJXL0ZGLHFCQUE2QixDTjROMUIsZ0NNNU5ILHFDQUE2QixDWCtGM0IsaUJXL0ZGLHFCQUE2QixDTjROMUIsZ0NNNU5ILHFDQUE2QixDdEIwSTNCLDJDVzNDQSxpQlcvRkYsY0FBNkIsQ040TjFCLGdDTTVOSCwrQkFBNkIsQ1grRjNCLGlCVy9GRixvQkFBNkIsQ040TjFCLGdDTTVOSCxxQ0FBNkIsQ1grRjNCLGlCVy9GRixxQkFBNkIsQ040TjFCLGdDTTVOSCxzQ0FBNkIsQ1grRjNCLGlCVy9GRixlQUE2QixDTjROMUIsZ0NNNU5ILGdDQUE2QixDWCtGM0IsaUJXL0ZGLHFCQUE2QixDTjROMUIsZ0NNNU5ILHNDQUE2QixDWCtGM0IsaUJXL0ZGLHFCQUE2QixDTjROMUIsZ0NNNU5ILHNDQUE2QixDWCtGM0IsaUJXL0ZGLGVBQTZCLENONE4xQixnQ001TkgsZ0NBQTZCLENYK0YzQixpQlcvRkYscUJBQTZCLENONE4xQixnQ001Tkgsc0NBQTZCLENYK0YzQixpQlcvRkYscUJBQTZCLENONE4xQixnQ001Tkgsc0NBQTZCLENYK0YzQixpQlcvRkYsZUFBNkIsQ040TjFCLGdDTTVOSCxnQ0FBNkIsQ1grRjNCLGtCVy9GRixxQkFBNkIsQ040TjFCLGlDTTVOSCxzQ0FBNkIsQ1grRjNCLGtCVy9GRixxQkFBNkIsQ040TjFCLGlDTTVOSCxzQ0FBNkIsQ05nTzFCLENoQnRGRCwyQ1czQ0EsZ0JXL0ZGLGNBQTZCLENONE4xQiwrQk01TkgsK0JBQTZCLENYK0YzQixnQlcvRkYsb0JBQTZCLENONE4xQiwrQk01TkgscUNBQTZCLENYK0YzQixnQlcvRkYscUJBQTZCLENONE4xQiwrQk01Tkgsc0NBQTZCLENYK0YzQixnQlcvRkYsZUFBNkIsQ040TjFCLCtCTTVOSCxnQ0FBNkIsQ1grRjNCLGdCVy9GRixxQkFBNkIsQ040TjFCLCtCTTVOSCxzQ0FBNkIsQ1grRjNCLGdCVy9GRixxQkFBNkIsQ040TjFCLCtCTTVOSCxzQ0FBNkIsQ1grRjNCLGdCVy9GRixlQUE2QixDTjROMUIsK0JNNU5ILGdDQUE2QixDWCtGM0IsZ0JXL0ZGLHFCQUE2QixDTjROMUIsK0JNNU5ILHNDQUE2QixDWCtGM0IsZ0JXL0ZGLHFCQUE2QixDTjROMUIsK0JNNU5ILHNDQUE2QixDWCtGM0IsZ0JXL0ZGLGVBQTZCLENONE4xQiwrQk01TkgsZ0NBQTZCLENYK0YzQixpQlcvRkYscUJBQTZCLENONE4xQixnQ001Tkgsc0NBQTZCLENYK0YzQixpQlcvRkYscUJBQTZCLENONE4xQixnQ001Tkgsc0NBQTZCLENOZ08xQixDaEJqRkQscUNXaERBLGlCVy9GRixjQUE2QixDTjROMUIsZ0NNNU5ILCtCQUE2QixDWCtGM0IsaUJXL0ZGLG9CQUE2QixDTjROMUIsZ0NNNU5ILHFDQUE2QixDWCtGM0IsaUJXL0ZGLHFCQUE2QixDTjROMUIsZ0NNNU5ILHNDQUE2QixDWCtGM0IsaUJXL0ZGLGVBQTZCLENONE4xQixnQ001TkgsZ0NBQTZCLENYK0YzQixpQlcvRkYscUJBQTZCLENONE4xQixnQ001Tkgsc0NBQTZCLENYK0YzQixpQlcvRkYscUJBQTZCLENONE4xQixnQ001Tkgsc0NBQTZCLENYK0YzQixpQlcvRkYsZUFBNkIsQ040TjFCLGdDTTVOSCxnQ0FBNkIsQ1grRjNCLGlCVy9GRixxQkFBNkIsQ040TjFCLGdDTTVOSCxzQ0FBNkIsQ1grRjNCLGlCVy9GRixxQkFBNkIsQ040TjFCLGdDTTVOSCxzQ0FBNkIsQ1grRjNCLGlCVy9GRixlQUE2QixDTjROMUIsZ0NNNU5ILGdDQUE2QixDWCtGM0Isa0JXL0ZGLHFCQUE2QixDTjROMUIsaUNNNU5ILHNDQUE2QixDWCtGM0Isa0JXL0ZGLHFCQUE2QixDTjROMUIsaUNNNU5ILHNDQUE2QixDTmdPMUIsQ0F6SlMsUUVoRWQsb0JBQUEsQUFDQSxxQkFEQSxBQUNBLG9CQURBLEFBQ0EsYUFBQSw0QkFBQSxBQUg2Qiw2QkFHN0IsQUFINkIsZ0NBRzdCLEFBSDZCLDRCQUc3QixBQUg2Qix1QkFBQSxDRjJPN0IsY0d0TUEsVUFBbUIsQ0hzTW5CLGNHM0xFLFdBQW1CLENIMkxyQixnQkd2TEUsV0FBbUIsQ0h1THJCLHlQQTJCTSx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDaEJqSWxCLDJDZ0JzR0osdVFBMkJNLHdCQUFBLEFBQWdCLDZCQUFoQixBQUFnQixlQUFBLENBQ2pCLENoQmxJRCwyQ2dCc0dKLHlQQTJCTSx3QkFBQSxBQUFnQiw2QkFBaEIsQUFBZ0IsZUFBQSxDQUNqQixDaEI3SEQscUNnQmlHSix1UUEyQk0sd0JBQUEsQUFBZ0IsNkJBQWhCLEFBQWdCLGVBQUEsQ0FDakIsQ0E1QkwsaUJHbkxFLGVBRG9ELENIb0x0RCxpQkduTEUsZ0JBRG9ELENIb0x0RCxpQkduTEUsVUFEb0QsQ0hvTHRELGlCR25MRSxnQkFEb0QsQ0hvTHRELGlCR25MRSxnQkFEb0QsQ0hvTHRELGlCR25MRSxVQURvRCxDSG9MdEQsaUJHbkxFLGdCQURvRCxDSG9MdEQsaUJHbkxFLGdCQURvRCxDSG9MdEQsaUJHbkxFLFVBRG9ELENIb0x0RCxrQkduTEUsZ0JBRG9ELENIb0x0RCxrQkduTEUsZ0JBRG9ELENIb0x0RCxrQkduTEUsV0FEb0QsQ25COEVsRCwyQ2dCc0dKLHFCR2xORSxtQkFBQSxBQXVCQSxxQkF2QkEsQUF1QkEsaUJBdkJBLEFBdUJBLGFBQUEsV0FBbUIsQ0gyTHJCLHVCR3ZMRSxXQUFtQixDSHVMckIsa0JHbkxFLGVBRG9ELENIb0x0RCxrQkduTEUsZ0JBRG9ELENIb0x0RCxrQkduTEUsVUFEb0QsQ0hvTHRELGtCR25MRSxnQkFEb0QsQ0hvTHRELGtCR25MRSxnQkFEb0QsQ0hvTHRELGtCR25MRSxVQURvRCxDSG9MdEQsa0JHbkxFLGdCQURvRCxDSG9MdEQsa0JHbkxFLGdCQURvRCxDSG9MdEQsa0JHbkxFLFVBRG9ELENIb0x0RCxtQkduTEUsZ0JBRG9ELENIb0x0RCxtQkduTEUsZ0JBRG9ELENIb0x0RCxtQkduTEUsV0FEb0QsQ0hvTy9DLENoQnRKSCwyQ2dCc0dKLG9CR2xORSxtQkFBQSxBQXVCQSxxQkF2QkEsQUF1QkEsaUJBdkJBLEFBdUJBLGFBQUEsV0FBbUIsQ0gyTHJCLHNCR3ZMRSxXQUFtQixDSHVMckIsaUJHbkxFLGVBRG9ELENIb0x0RCxpQkduTEUsZ0JBRG9ELENIb0x0RCxpQkduTEUsVUFEb0QsQ0hvTHRELGlCR25MRSxnQkFEb0QsQ0hvTHRELGlCR25MRSxnQkFEb0QsQ0hvTHRELGlCR25MRSxVQURvRCxDSG9MdEQsaUJHbkxFLGdCQURvRCxDSG9MdEQsaUJHbkxFLGdCQURvRCxDSG9MdEQsaUJHbkxFLFVBRG9ELENIb0x0RCxrQkduTEUsZ0JBRG9ELENIb0x0RCxrQkduTEUsZ0JBRG9ELENIb0x0RCxrQkduTEUsV0FEb0QsQ0hvTy9DLENoQmpKSCxxQ2dCaUdKLHFCR2xORSxtQkFBQSxBQXVCQSxxQkF2QkEsQUF1QkEsaUJBdkJBLEFBdUJBLGFBQUEsV0FBbUIsQ0gyTHJCLHVCR3ZMRSxXQUFtQixDSHVMckIsa0JHbkxFLGVBRG9ELENIb0x0RCxrQkduTEUsZ0JBRG9ELENIb0x0RCxrQkduTEUsVUFEb0QsQ0hvTHRELGtCR25MRSxnQkFEb0QsQ0hvTHRELGtCR25MRSxnQkFEb0QsQ0hvTHRELGtCR25MRSxVQURvRCxDSG9MdEQsa0JHbkxFLGdCQURvRCxDSG9MdEQsa0JHbkxFLGdCQURvRCxDSG9MdEQsa0JHbkxFLFVBRG9ELENIb0x0RCxtQkduTEUsZ0JBRG9ELENIb0x0RCxtQkduTEUsZ0JBRG9ELENIb0x0RCxtQkduTEUsV0FEb0QsQ0hvTy9DLENBT0wsZ0NDaFNJLG9CQUFBLHNCQUE0QixDakJtSTlCLDJDZ0I2SkYsZ0NDaFNJLHFCQUFBLHVCQUE0QixDRG9TN0IsQ0FKSCxzQkNoU0ksb0JBQUEsc0JBQTRCLENqQm1JOUIsMkNnQjZKRixzQkNoU0kscUJBQUEsdUJBQTRCLENEeVM3QixDQTFNTCxlQy9GTSxvQkFBQSxzQkFBNEIsQ2pCbUk5QiwyQ2dCcENKLGVDL0ZNLHFCQUFBLHVCQUE0QixDRDhIakMsQ0EvQkQscUJHcERFLDRCRmxDRSxtQkFBQSxxQkFBNEIsQ2pCMEg1QiwyQ2dCcENKLHFCR3BERSw2QkZsQ0Usb0JBQUEsc0JBQTRCLENEbUd6QixDQXJDUCxxQkd6QkUsV0FBbUIsQ0gyQnBCLHVCR3ZCQyxXQUFtQixDSDJCcEIsd0JHdkJDLCtCQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLDBCQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLDBCQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLGdDQURnSCxDSDhCaEgsd0JHN0JBLDBCQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLGdDQURnSCxDSDhCaEgseUJHN0JBLDJCQURnSCxDbkI4RTlHLDJDZ0I1REoscUJHekJFLFdBQW1CLENIMkJwQix1Qkd2QkMsV0FBbUIsQ0gyQnBCLHdCR3ZCQyxnQ0FEZ0gsQ0g4QmhILHdCRzdCQSxpQ0FEZ0gsQ0g4QmhILHdCRzdCQSwyQkFEZ0gsQ0g4QmhILHdCRzdCQSxpQ0FEZ0gsQ0g4QmhILHdCRzdCQSxpQ0FEZ0gsQ0g4QmhILHdCRzdCQSwyQkFEZ0gsQ0g4QmhILHdCRzdCQSxpQ0FEZ0gsQ0g4QmhILHdCRzdCQSxpQ0FEZ0gsQ0g4QmhILHdCRzdCQSwyQkFEZ0gsQ0g4QmhILHlCRzdCQSxpQ0FEZ0gsQ0g4QmhILHlCRzdCQSxpQ0FEZ0gsQ0g4QmhILHlCRzdCQSw0QkFEZ0gsQ0hrQmxILDRCR3pCRSxXQUFtQixDSDJCcEIsOEJHdkJDLFdBQW1CLENIMkJwQix5Qkd2QkMsZ0NBRGdILENIOEJoSCx5Qkc3QkEsaUNBRGdILENIOEJoSCx5Qkc3QkEsMkJBRGdILENIOEJoSCx5Qkc3QkEsaUNBRGdILENIOEJoSCx5Qkc3QkEsaUNBRGdILENIOEJoSCx5Qkc3QkEsMkJBRGdILENIOEJoSCx5Qkc3QkEsaUNBRGdILENIOEJoSCx5Qkc3QkEsaUNBRGdILENIOEJoSCx5Qkc3QkEsMkJBRGdILENIOEJoSCwwQkc3QkEsaUNBRGdILENIOEJoSCwwQkc3QkEsaUNBRGdILENIOEJoSCwwQkc3QkEsNEJBRGdILENIZ0MvRyxDaEI4Q0MsMkNnQjVESiwyQkd6QkUsV0FBbUIsQ0gyQnBCLDZCR3ZCQyxXQUFtQixDSDJCcEIsd0JHdkJDLGdDQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLDJCQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLDJCQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLDJCQURnSCxDSDhCaEgseUJHN0JBLGlD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OEJoSCx3Qkc3QkEsMEJBRGdILENIOEJoSCx3Qkc3QkEsZ0NBRGdILENIOEJoSCx3Qkc3QkEsZ0NBRGdILENIOEJoSCx3Qkc3QkEsMEJBRGdILENIOEJoSCx5Qkc3QkEsZ0NBRGdILENIOEJoSCx5Qkc3QkEsZ0NBRGdILENIOEJoSCx5Qkc3QkEsMkJBRGdILENuQjhFOUcsMkNnQjVESixxQkd6QkUsV0FBbUIsQ0gyQnBCLHVCR3ZCQyxXQUFtQixDSDJCcEIsd0JHdkJDLGdDQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLDJCQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLDJCQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLGlDQURnSCxDSDhCaEgsd0JHN0JBLDJCQURnSCxDSDhCaEgseUJHN0JBLGlDQURnSCxDSDhCaEgseUJHN0JBLGlDQURnSCxDSDhCaEgseUJHN0JBLDRCQURnSCxDSGtCbEgsNEJHekJFLFdBQW1CLENIMkJwQiw4Qkd2QkMsV0FBbUIsQ0gyQnBCLHlCR3ZCQyxnQ0FEZ0gsQ0g4QmhILHlCRzdCQSxpQ0FEZ0gsQ0g4QmhILHlCRzdCQSwyQkFEZ0gsQ0g4QmhILHlCRzdCQSxpQ0FEZ0gsQ0g4QmhILHlCRzdCQSxpQ0FEZ0gsQ0g4QmhILHlCRzdCQSwyQkFEZ0gsQ0g4QmhILHlCRzdCQSxpQ0FEZ0gsQ0g4QmhILHlCRzdCQSxpQ0FEZ0gsQ0g4QmhILHlCRzdCQSwyQkFEZ0gsQ0g4QmhILDBCRzdCQSxpQ0FEZ0gsQ0g4QmhILDBCRzdCQSxpQ0FEZ0gsQ0g4QmhILDBCRzdCQSw0QkFEZ0gsQ0hnQy9HLENoQjhDQywyQ2dCNURKLDJCR3pCRSxXQUFtQixDSDJCcEIsNkJHdkJDLFdBQW1CLENIMkJwQix3Qkd2QkMsZ0NBRGdILENIOEJoSCx3Qkc3QkEsaUNBRGdILENIOEJoSCx3Qkc3QkEsMkJBRGdILENIOEJoSCx3Qkc3QkEsaUNBRGdILENIOEJoSCx3Qkc3QkEsaUNBRGdILENIOEJoSCx3Qkc3QkEsMkJBRGdILENIOEJoSCx3Qkc3QkEsaUNBRGdILENIOEJoSCx3Qkc3QkEsaUNBRGdILENIOEJoSCx3Qkc3QkEsMkJBRGdILENIOEJoSCx5Qkc3QkEsaUNBRGdILENIOEJoSCx5Qkc3QkEsaUNBRGdILENIOEJoSCx5Qkc3QkEsNEJBRGdILENIZ0MvRyxDaEJtREMscUNnQmpFSiw0Qkd6QkUsV0FBbUIsQ0gyQnBCLDhCR3ZCQyxXQUFtQixDSDJCcEIseUJHdkJDLGdDQURnSCxDSDhCaEgseUJHN0JBLGlDQURnSCxDSDhCaEgseUJHN0JBLDJCQURnSCxDSDhCaEgseUJHN0JBLGlDQURnSCxDSDhCaEgseUJHN0JBLGlDQURnSCxDSDhCaEgseUJHN0JBLDJCQURnSCxDSDhCaEgseUJHN0JBLGlDQURnSCxDSDhCaEgseUJHN0JBLGlDQURnSCxDSDhCaEgseUJHN0JBLDJCQURnSCxDSDhCaEgsMEJHN0JBLGlDQURnSCxDSDhCaEgsMEJHN0JBLGlDQURnSCxDSDhCaEgsMEJHN0JBLDRCQURnSCxDSGdDL0csQ0F5U0QsMEJPM1hJLDRCQUFtQyxDdkJnSXJDLDJDZ0IyUEYsMEJPM1hJLDZCQUFtQyxDUDZYdEMsQ2hCN1BDLDJDZ0IyUEYsMEJPM1hJLDZCQUFtQyxDUDZYdEMsQ2hCeFBDLHFDZ0JzUEYsMEJPM1hJLDZCQUFtQyxDUDZYdEMsQ2hCN1BDLDJDZ0IrUEEsaUNPL1hFLDZCQUFtQyxDUGlZcEMsQ2hCalFELDJDZ0IrUEEsZ0NPL1hFLDZCQUFtQyxDUGlZcEMsQ2hCNVBELHFDZ0IwUEEsaUNPL1hFLDZCQUFtQyxDUGlZcEMsQ1FyS0wsb0VBbUJFLFNBQ0EsU0FBVSxDQUNYLEVBSUMsbUJBRUEsa0JBQ0EsZ0JBQ0EsaUNsQm5IeUMsQ2tCb0gxQyxLQUtDLGtCQUNBLG1CQUFvQixDQUNyQixTQUtDLGlCQUNBLG1CQUFvQixDdEJpRHBCLE1zQjVDQSxjQUNBLG1CQUFvQixDQUNyQiwwQ0FTQyxpQ0FDQSxrQkFDQSxtQkFDQSxjQUNBLGlDbEIxSnNDLENrQmdKeEMsa0hBYUksY0FDQSxhbEI5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QUMsdUJQbkJyQixrQ0FBQSxBQ0FDLDBCQUFBLDBDQUFBLEFBZ0JDLGtDQUFBLDRCQUFBLEFDY1ksd0JEZFosQUNjWSxvQkFBQSx1REFBQSxBTXpCZ0IsK0NOeUJoQixBTXpCZ0IsdUNOeUJoQixBTXpCZ0IsMERBQUEsU0FDYixDQUFDLHdDUk1oQiwyQkFBQSxBRWtCWSx1QkZsQlosQUVrQlksbUJBQUEsU01kRyxDQUFDLHlCUmhCbEIsa0NBQUEsQUNBQywwQkFBQSwwQ0FBQSxBQWdCQyxrQ0FBQSw2QkFBQSxBQ2NZLHlCRGRaLEFDY1kscUJBQUEsdURBQUEsQU16QmdCLCtDTnlCaEIsQU16QmdCLHVDTnlCaEIsQU16QmdCLDBEQUFBLFNBQ2IsQ0FBQywwQ1JNaEIsMkJBQUEsQUVrQlksdUJGbEJaLEFFa0JZLG1CQUFBLFNNZEcsQ0FBQyx3QlJoQmxCLGtDQUFBLEFDQUMsMEJBQUEsMENBQUEsQUFnQkMsa0NBQUEsMkJBQUEsQUNjWSx1QkRkWixBQ2NZLG1CQUFBLHVEQUFBLEFNekJnQiwrQ055QmhCLEFNekJnQix1Q055QmhCLEFNekJnQiwwREFBQSxTQUNWLENBQUMseUNSTW5CLDZCQUFBLEFFa0JZLHlCRmxCWixBRWtCWSxxQkFBQSxTTWRNLENBQUMsMEJSaEJyQixrQ0FBQSxBQ0FDLDBCQUFBLDBDQUFBLEFBZ0JDLGtDQUFBLDJCQUFBLEFDY1ksdUJEZFosQUNjWSxtQkFBQSx1REFBQSxBTXpCZ0IsK0NOeUJoQixBTXpCZ0IsdUNOeUJoQixBTXpCZ0IsMERBQUEsU0FDVixDQUFDLDJDUk1uQiw0QkFBQSxBRWtCWSx3QkZsQlosQUVrQlksb0JBQUEsU01kTSxDQUFDLG1CUmhCckIsa0NBQUEsQUNBQywwQkFBQSwwQ0FBQSxBQWdCQyxrQ0FBQSxtQ0FBQSxBQ2NZLCtCRGRaLEFDY1ksMkJBQUEsdURBQUEsQU8xQmdCLCtDUDBCaEIsQU8xQmdCLHVDUDBCaEIsQU8xQmdCLDBEQUFBLFNBQ2IsQ0FBQyxvQ1RPaEIsNEJBQUEsQUVrQlksd0JGbEJaLEFFa0JZLG9CQUFBLFNPZkcsQ0FBQyxvQlRmbEIsa0NBQUEsQUNBQywwQkFBQSwwQ0FBQSxBQWdCQyxrQ0FBQSw0QkFBQSxBQ2NZLHdCRGRaLEFDY1ksb0JBQUEsdURBQUEsQU8xQmdCLCtDUDBCaEIsQU8xQmdCLHVDUDBCaEIsQU8xQmdCLDBEQUFBLFNBQ1YsQ0FBQyxxQ1RPbkIsa0NBQUEsQUVrQlksOEJGbEJaLEFFa0JZLDBCQUFBLFNPZk0sQ0FBQyx1QlRmckIsa0NBQUEsQUNBQywwQkFBQSwwQ0FBQSxBQWdCQyxrQ0FBQSxrQ0FBQSxBQ2NZLDhCRGRaLEFDY1ksMEJBQUEsdURBQUEsQU8xQmdCLCtDUDBCaEIsQU8xQmdCLHVDUDBCaEIsQU8xQmdCLDBEQUFBLFNBQ2IsQ0FBQyx3Q1RPaEIsNEJBQUEsQUVrQlksd0JGbEJaLEFFa0JZLG9CQUFBLFNPZkcsQ0FBQyx3QlRmbEIsa0NBQUEsQUNBQywwQkFBQSwwQ0FBQSxBQWdCQyxrQ0FBQSw0QkFBQSxBQ2NZLHdCRGRaLEFDY1ksb0JBQUEsdURBQUEsQU8xQmdCLCtDUDBCaEIsQU8xQmdCLHVDUDBCaEIsQU8xQmdCLDBEQUFBLFNBQ1YsQ0FBQyx5Q1RPbkIsbUNBQUEsQUVrQlksK0JGbEJaLEFFa0JZLDJCQUFBLFNPZk0sQ0FBQyxNTG1CekIsNkNBQUEsQUFBbUMsb0NBQUEsQ0FBVSxNQUE3Qyw2Q0FBQSxBQUFtQyxvQ0FBQSxDQUFVLFFBTTNDLHFEQUFBLEFBQXdDLDRDQUFBLENBQVUsTUFBcEQsbURBQUEsQUFBMEMsMENBQUEsQ0FBVSxTQUFqRCxzREFBQSxBQUF1Qyw2Q0FBQSxDQUFVLFVBQWhELHVEQUFBLEFBQXNDLDhDQUFBLENBQVUsYUFBL0MsMERBQUEsQUFBcUMsaURBQUEsQ0FBVSxXQUEvQyxzRkFBQSxBQUFxQyw2RUFBQSxDQUFVLFlBQS9DLHVGQUFBLEFBQXFDLDhFQUFBLENBQVUsZUFBL0Msc0ZBQUEsQUFBcUMsNkVBQUEsQ0FBVSxhQU03QywwQ0FBQSxBQUErQixpQ0FBQSxDQUFVLFlBQTFDLDBDQUFBLEFBQWdDLGlDQUFBLENBQVUsTzdGeU1yRCwrQkFBQSxBbUd2UVksc0JBQUEsQ0FBYywyQlJLcEIsdUNBR2dDLGlDQUFBLEFBR3pCLHdCQUFBLENBQUMsdUNBSHdCLGtDQUFBLEFBR3pCLHlCQUFBLENBQUMsQ1FYWSxBUldaLG1CQU5SLHVDQUdnQyxpQ0FBQSxBQUd6Qix3QkFBQSxDQUFDLHVDQUh3QixrQ0FBQSxBQUd6Qix5QkFBQSxDQUFDLENBQUEsU0U0RFYscUNBQUEsQU12RVEsNEJBQUEsQ0FBYyxpQ1JLcEIsR0FHSixpQ0FBQSxBQUdXLHdCQUFBLENBQUMsS0FIViw0QkFBQSxBQUdTLG1CQUFBLENBQUMsQ1FYWSxBUldaLHlCQU5SLEdBR0osaUNBQUEsQUFHVyx3QkFBQSxDQUFDLEtBSFYsNEJBQUEsQUFHUyxtQkFBQSxDQUFDLENBQUEsVUU2RFQsc0NBQUEsQU14RU8sNkJBQUEsQ0FBYyxrQ1JLcEIsR0FHSiw0QkFBQSxBQUdXLG1CQUFBLENBQUMsS0FIVixpQ0FBQSxBQUdTLHdCQUFBLENBQUMsQ1FYWSxBUldaLDBCQU5SLEdBR0osNEJBQUEsQUFHVyxtQkFBQSxDQUFDLEtBSFYsaUNBQUEsQUFHUyx3QkFBQSxDQUFDLENBQUEsUUU4RFgsbUNBQUEsQU16RVMsMEJBQUEsQ0FBYywrQlJLcEIsWUFHSywrQkFBQSxBQUdFLHNCQUFBLENBQUMsZ0JBSEMsZ0NBQUEsQUFHRix1QkFBQSxDQUFDLGdCQUhDLDRCQUFBLEFBR0YsbUJBQUEsQ0FBQyxDUVhZLEFSV1osdUJBTlIsWUFHSywrQkFBQSxBQUdFLHNCQUFBLENBQUMsZ0JBSEMsZ0NBQUEsQUFHRix1QkFBQSxDQUFDLGdCQUhDLDRCQUFBLEFBR0YsbUJBQUEsQ0FBQyxDQUFBLGtDRW1FWCxpQ0FBQSxBSDlERSx3QkFBQSxDQUFLLFVHb0VMLDJDQUFBLEFBQThCLGtDQUFBLENBQVEsTUFsQ3RDLDRDQUFBLEFBc0NrQyxtQ0FBQSxDQUFVLE1BdEM1Qyw0Q0FBQSxBQXNDa0MsbUNBQUEsQ0FBVSxRQWhDMUMsb0RBQUEsQUFzQ3VDLDJDQUFBLENBQVUsTUF0Q25ELGtEQUFBLEFBc0N5Qyx5Q0FBQSxDQUFVLFNBdENoRCxxREFBQSxBQXNDc0MsNENBQUEsQ0FBVSxVQXRDL0Msc0RBQUEsQUFzQ3FDLDZDQUFBLENBQVUsYUF0QzVDLHlEQUFBLEFBc0NrQyxnREFBQSxDQUFVLFdBdEM5QyxxRkFBQSxBQXNDb0MsNEVBQUEsQ0FBVSxZQXRDN0Msc0ZBQUEsQUFzQ21DLDZFQUFBLENBQVUsZUF0QzFDLHFGQUFBLEFBc0NnQyw0RUFBQSxDQUFVLGFBaEM1Qyx5Q0FBQSxBQXNDOEIsZ0NBQUEsQ0FBVSxZQXRDekMseUNBQUEsQUFzQytCLGdDQUFBLENBQVU7Ozs7O0U3Rm5HeEQsVUFHQSw4QkFDUSxzQkFDUixpQ0FDUSx3QkFBeUIsQ0FDbEMsbUJBR0MsMkNBQ1Esa0NBQW1DLENBQzVDLGdCQUdDLDhCQUNRLHFCQUFzQixDQUMvQiwwQkFHQyxvQkFDRSx1RUFDUSwrREFDUix1Q0FDUSw4QkFBNkIsQ0FHdkMsUUFDRSwwRUFDUSxrRUFDUiwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSwwRUFDUSxrRUFDUiwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSwwQ0FDUSxpQ0FBZ0MsQ0FBQSxDQUk1QyxrQkFDRSxvQkFDRSx1RUFDUSwrREFDUix1Q0FDUSw4QkFBNkIsQ0FHdkMsUUFDRSwwRUFDUSxrRUFDUiwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSwwRUFDUSxrRUFDUiwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSwwQ0FDUSxpQ0FBZ0MsQ0FBQSxDQUk1QyxRQUNFLDhCQUNRLHNCQUNSLHVDQUNJLG1DQUNJLDhCQUErQixDQUN4Qyx5QkFHQyxZQUNFLFNBQVUsQ0FHWixRQUNFLFNBQVUsQ0FBQSxDQUlkLGlCQUNFLFlBQ0UsU0FBVSxDQUdaLFFBQ0UsU0FBVSxDQUFBLENBSWQsT0FDRSw2QkFDUSxvQkFBcUIsQ0FDOUIseUJBS0MsR0FDRSxtQ0FDUSwwQkFBMkIsQ0FHckMsSUFDRSw0Q0FDUSxtQ0FBb0MsQ0FHOUMsS0FDRSxtQ0FDUSwwQkFBMkIsQ0FBQSxDQUl2QyxpQkFDRSxHQUNFLG1DQUNRLDBCQUEyQixDQUdyQyxJQUNFLDRDQUNRLG1DQUFvQyxDQUc5QyxLQUNFLG1DQUNRLDBCQUEyQixDQUFBLENBSXZDLE9BQ0UsNkJBQ1Esb0JBQXFCLENBQzlCLDhCQUdDLEdBQ0UsbUNBQ1EsMEJBQTJCLENBR3JDLElBQ0UseUNBQ1EsZ0NBQWlDLENBRzNDLElBQ0UseUNBQ1EsZ0NBQWlDLENBRzNDLElBQ0UseUNBQ1EsZ0NBQWlDLENBRzNDLElBQ0UseUNBQ1EsZ0NBQWdDLENBRzFDLElBQ0UseUNBQ1EsZ0NBQWdDLENBRzFDLEtBQ0UsbUNBQ1EsMEJBQTJCLENBQUEsQ0FJdkMsc0JBQ0UsR0FDRSxtQ0FDUSwwQkFBMkIsQ0FHckMsSUFDRSx5Q0FDUSxnQ0FBaUMsQ0FHM0MsSUFDRSx5Q0FDUSxnQ0FBaUMsQ0FHM0MsSUFDRSx5Q0FDUSxnQ0FBaUMsQ0FHM0MsSUFDRSx5Q0FDUSxnQ0FBZ0MsQ0FHMUMsSUFDRSx5Q0FDUSxnQ0FBZ0MsQ0FHMUMsS0FDRSxtQ0FDUSwwQkFBMkIsQ0FBQSxDQUl2QyxZQUNFLGtDQUNRLHlCQUEwQixDQUNuQyx5QkFHQyxRQUNFLHVDQUNRLDhCQUErQixDQUd6QyxvQkFDRSwyQ0FDUSxrQ0FBbUMsQ0FHN0MsZ0JBQ0UsMENBQ1EsaUNBQWtDLENBQUEsQ0FJOUMsaUJBQ0UsUUFDRSx1Q0FDUSw4QkFBK0IsQ0FHekMsb0JBQ0UsMkNBQ1Esa0NBQW1DLENBRzdDLGdCQUNFLDBDQUNRLGlDQUFrQyxDQUFBLENBSTlDLE9BQ0UsNkJBQ1Esb0JBQXFCLENBQzlCLHlCQUdDLElBQ0UsMkNBQ1Esa0NBQW1DLENBRzdDLElBQ0UsNENBQ1EsbUNBQW9DLENBRzlDLElBQ0UsMENBQ1EsaUNBQWtDLENBRzVDLElBQ0UsMkNBQ1Esa0NBQW1DLENBRzdDLEtBQ0UsMENBQ1EsaUNBQWtDLENBQUEsQ0FJOUMsaUJBQ0UsSUFDRSwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSw0Q0FDUSxtQ0FBb0MsQ0FHOUMsSUFDRSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsSUFDRSwyQ0FDUSxrQ0FBbUMsQ0FHN0MsS0FDRSwwQ0FDUSxpQ0FBa0MsQ0FBQSxDQUk5QyxPQUNFLG9DQUNJLGdDQUNJLDRCQUNSLDZCQUNRLG9CQUFxQixDQUM5Qix3QkFHQyxHQUNFLG1DQUNRLDBCQUEyQixDQUdyQyxRQUNFLGtFQUNRLHlEQUF1RCxDQUdqRSxnQkFDRSxpRUFDUSx3REFBeUQsQ0FHbkUsWUFDRSxrRUFDUSx5REFBMEQsQ0FHcEUsS0FDRSxtQ0FDUSwwQkFBMkIsQ0FBQSxDQUl2QyxnQkFDRSxHQUNFLG1DQUNRLDBCQUEyQixDQUdyQyxRQUNFLGtFQUNRLHlEQUF1RCxDQUdqRSxnQkFDRSxpRUFDUSx3REFBeUQsQ0FHbkUsWUFDRSxrRUFDUSx5REFBMEQsQ0FHcEUsS0FDRSxtQ0FDUSwwQkFBMkIsQ0FBQSxDQUl2QyxNQUNFLDRCQUNRLG1CQUFvQixDQUM3QiwwQkFLQyxHQUNFLHVCQUNRLGNBQWUsQ0FHekIsSUFDRSxtRUFDUSwwREFBMkQsQ0FHckUsSUFDRSxpRUFDUSx3REFBeUQsQ0FHbkUsSUFDRSxtRUFDUSwwREFBMkQsQ0FHckUsSUFDRSxpRUFDUSx3REFBeUQsQ0FHbkUsSUFDRSxrRUFDUSx5REFBMEQsQ0FHcEUsS0FDRSx1QkFDUSxjQUFlLENBQUEsQ0FJM0Isa0JBQ0UsR0FDRSx1QkFDUSxjQUFlLENBR3pCLElBQ0UsbUVBQ1EsMERBQTJELENBR3JFLElBQ0UsaUVBQ1Esd0RBQXlELENBR25FLElBQ0UsbUVBQ1EsMERBQTJELENBR3JFLElBQ0UsaUVBQ1Esd0RBQXlELENBR25FLElBQ0Usa0VBQ1EseURBQTBELENBR3BFLEtBQ0UsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLFFBQ0UsOEJBQ1EscUJBQXNCLENBQy9CLDRCQUdDLHdCQUNFLHVFQUNRLDhEQUFvRSxDQUc5RSxHQUNFLFVBQ0EseUNBQ1EsZ0NBQThCLENBR3hDLElBQ0UseUNBQ1EsZ0NBQWlDLENBRzNDLElBQ0UseUNBQ1EsZ0NBQThCLENBR3hDLElBQ0UsVUFDQSw0Q0FDUSxtQ0FBb0MsQ0FHOUMsSUFDRSw0Q0FDUSxtQ0FBaUMsQ0FHM0MsS0FDRSxVQUNBLG1DQUNRLDBCQUEyQixDQUFBLENBSXZDLG9CQUNFLHdCQUNFLHVFQUNRLDhEQUFvRSxDQUc5RSxHQUNFLFVBQ0EseUNBQ1EsZ0NBQThCLENBR3hDLElBQ0UseUNBQ1EsZ0NBQWlDLENBRzNDLElBQ0UseUNBQ1EsZ0NBQThCLENBR3hDLElBQ0UsVUFDQSw0Q0FDUSxtQ0FBb0MsQ0FHOUMsSUFDRSw0Q0FDUSxtQ0FBaUMsQ0FHM0MsS0FDRSxVQUNBLG1DQUNRLDBCQUEyQixDQUFBLENBSXZDLFVBQ0UsZ0NBQ1Esd0JBQ1IsZ0NBQ1EsdUJBQXdCLENBQ2pDLGdDQUdDLG9CQUNFLHVFQUNRLDhEQUFvRSxDQUc5RSxHQUNFLFVBQ0EsNkNBQ1Esb0NBQXFDLENBRy9DLElBQ0UsVUFDQSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsSUFDRSwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSx5Q0FDUSxnQ0FBaUMsQ0FHM0MsS0FDRSx1QkFDUSxjQUFlLENBQUEsQ0FJM0Isd0JBQ0Usb0JBQ0UsdUVBQ1EsOERBQW9FLENBRzlFLEdBQ0UsVUFDQSw2Q0FDUSxvQ0FBcUMsQ0FHL0MsSUFDRSxVQUNBLDBDQUNRLGlDQUFrQyxDQUc1QyxJQUNFLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLHlDQUNRLGdDQUFpQyxDQUczQyxLQUNFLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQixjQUNFLG9DQUNRLDJCQUE0QixDQUNyQyxnQ0FHQyxvQkFDRSx1RUFDUSw4REFBb0UsQ0FHOUUsR0FDRSxVQUNBLDZDQUNRLG9DQUFxQyxDQUcvQyxJQUNFLFVBQ0EsMENBQ1EsaUNBQWtDLENBRzVDLElBQ0UsMkNBQ1Esa0NBQW1DLENBRzdDLElBQ0UseUNBQ1EsZ0NBQWlDLENBRzNDLEtBQ0UsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLHdCQUNFLG9CQUNFLHVFQUNRLDhEQUFvRSxDQUc5RSxHQUNFLFVBQ0EsNkNBQ1Esb0NBQXFDLENBRy9DLElBQ0UsVUFDQSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsSUFDRSwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSx5Q0FDUSxnQ0FBaUMsQ0FHM0MsS0FDRSx1QkFDUSxjQUFlLENBQUEsQ0FJM0IsY0FDRSxvQ0FDUSwyQkFBNEIsQ0FDckMsaUNBR0Msb0JBQ0UsdUVBQ1EsOERBQW9FLENBRzlFLEdBQ0UsVUFDQSw0Q0FDUSxtQ0FBb0MsQ0FHOUMsSUFDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLDBDQUNRLGlDQUFrQyxDQUc1QyxJQUNFLDBDQUNRLGlDQUFrQyxDQUc1QyxLQUNFLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQix5QkFDRSxvQkFDRSx1RUFDUSw4REFBb0UsQ0FHOUUsR0FDRSxVQUNBLDRDQUNRLG1DQUFvQyxDQUc5QyxJQUNFLFVBQ0EsMkNBQ1Esa0NBQW1DLENBRzdDLElBQ0UsMENBQ1EsaUNBQWtDLENBRzVDLElBQ0UsMENBQ1EsaUNBQWtDLENBRzVDLEtBQ0UsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLGVBQ0UscUNBQ1EsNEJBQTZCLENBQ3RDLDhCQUdDLG9CQUNFLHVFQUNRLDhEQUFvRSxDQUc5RSxHQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBRzlDLElBQ0UsVUFDQSwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsSUFDRSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsS0FDRSx1Q0FDUSw4QkFBK0IsQ0FBQSxDQUkzQyxzQkFDRSxvQkFDRSx1RUFDUSw4REFBb0UsQ0FHOUUsR0FDRSxVQUNBLDRDQUNRLG1DQUFvQyxDQUc5QyxJQUNFLFVBQ0EsMkNBQ1Esa0NBQW1DLENBRzdDLElBQ0UsMENBQ1EsaUNBQWtDLENBRzVDLElBQ0UsMENBQ1EsaUNBQWtDLENBRzVDLEtBQ0UsdUNBQ1EsOEJBQStCLENBQUEsQ0FJM0MsWUFDRSxrQ0FDUSx5QkFBMEIsQ0FDbkMsNkJBR0MsSUFDRSx5Q0FDUSxnQ0FBOEIsQ0FHeEMsUUFDRSxVQUNBLHlDQUNRLGdDQUFpQyxDQUczQyxLQUNFLFVBQ0EseUNBQ1EsZ0NBQThCLENBQUEsQ0FJMUMscUJBQ0UsSUFDRSx5Q0FDUSxnQ0FBOEIsQ0FHeEMsUUFDRSxVQUNBLHlDQUNRLGdDQUFpQyxDQUczQyxLQUNFLFVBQ0EseUNBQ1EsZ0NBQThCLENBQUEsQ0FJMUMsV0FDRSxpQ0FDUSx5QkFDUixnQ0FDUSx1QkFBd0IsQ0FDakMsaUNBR0MsSUFDRSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsUUFDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUc3QyxLQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBQUEsQ0FJaEQseUJBQ0UsSUFDRSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsUUFDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUc3QyxLQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBQUEsQ0FJaEQsZUFDRSxxQ0FDUSw0QkFBNkIsQ0FDdEMsaUNBR0MsSUFDRSxVQUNBLDBDQUNRLGlDQUFrQyxDQUc1QyxLQUNFLFVBQ0EsNkNBQ1Esb0NBQXFDLENBQUEsQ0FJakQseUJBQ0UsSUFDRSxVQUNBLDBDQUNRLGlDQUFrQyxDQUc1QyxLQUNFLFVBQ0EsNkNBQ1Esb0NBQXFDLENBQUEsQ0FJakQsZUFDRSxxQ0FDUSw0QkFBNkIsQ0FDdEMsa0NBR0MsSUFDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUc3QyxLQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBQUEsQ0FJaEQsMEJBQ0UsSUFDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUc3QyxLQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBQUEsQ0FJaEQsZ0JBQ0Usc0NBQ1EsNkJBQThCLENBQ3ZDLCtCQUdDLElBQ0UsMkNBQ1Esa0NBQW1DLENBRzdDLFFBQ0UsVUFDQSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsS0FDRSxVQUNBLDZDQUNRLG9DQUFxQyxDQUFBLENBSWpELHVCQUNFLElBQ0UsMkNBQ1Esa0NBQW1DLENBRzdDLFFBQ0UsVUFDQSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsS0FDRSxVQUNBLDZDQUNRLG9DQUFxQyxDQUFBLENBSWpELGFBQ0UsbUNBQ1EsMEJBQTJCLENBQ3BDLDBCQUdDLEdBQUksU0FBVSxDQUNkLEtBQU0sU0FBVSxDQUFBLENBR2xCLGtCQUNFLEdBQUksU0FBVSxDQUNkLEtBQU0sU0FBVSxDQUFBLENBR2xCLFFBQ0UsOEJBQ1EscUJBQXNCLENBQy9CLDhCQUdDLEdBQ0UsVUFDQSwyQ0FDUSxrQ0FBbUMsQ0FHN0MsS0FDRSxVQUNBLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQixzQkFDRSxHQUNFLFVBQ0EsMkNBQ1Esa0NBQW1DLENBRzdDLEtBQ0UsVUFDQSx1QkFDUSxjQUFlLENBQUEsQ0FJM0IsWUFDRSxrQ0FDUSx5QkFBMEIsQ0FDbkMsaUNBR0MsR0FDRSxVQUNBLDZDQUNRLG9DQUFxQyxDQUcvQyxLQUNFLFVBQ0EsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLHlCQUNFLEdBQ0UsVUFDQSw2Q0FDUSxvQ0FBcUMsQ0FHL0MsS0FDRSxVQUNBLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQixlQUNFLHFDQUNRLDRCQUE2QixDQUN0Qyw4QkFHQyxHQUNFLFVBQ0EsMkNBQ1Esa0NBQW1DLENBRzdDLEtBQ0UsVUFDQSx1QkFDUSxjQUFlLENBQUEsQ0FJM0Isc0JBQ0UsR0FDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUc3QyxLQUNFLFVBQ0EsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLFlBQ0Usa0NBQ1EseUJBQTBCLENBQ25DLGlDQUdDLEdBQ0UsVUFDQSw2Q0FDUSxvQ0FBcUMsQ0FHL0MsS0FDRSxVQUNBLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQix5QkFDRSxHQUNFLFVBQ0EsNkNBQ1Esb0NBQXFDLENBRy9DLEtBQ0UsVUFDQSx1QkFDUSxjQUFlLENBQUEsQ0FJM0IsZUFDRSxxQ0FDUSw0QkFBNkIsQ0FDdEMsK0JBR0MsR0FDRSxVQUNBLDBDQUNRLGlDQUFrQyxDQUc1QyxLQUNFLFVBQ0EsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLHVCQUNFLEdBQ0UsVUFDQSwwQ0FDUSxpQ0FBa0MsQ0FHNUMsS0FDRSxVQUNBLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQixhQUNFLG1DQUNRLDBCQUEyQixDQUNwQyxrQ0FHQyxHQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBRzlDLEtBQ0UsVUFDQSx1QkFDUSxjQUFlLENBQUEsQ0FJM0IsMEJBQ0UsR0FDRSxVQUNBLDRDQUNRLG1DQUFvQyxDQUc5QyxLQUNFLFVBQ0EsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLGdCQUNFLHNDQUNRLDZCQUE4QixDQUN2Qyw0QkFHQyxHQUNFLFVBQ0EsMENBQ1EsaUNBQWtDLENBRzVDLEtBQ0UsVUFDQSx1QkFDUSxjQUFlLENBQUEsQ0FJM0Isb0JBQ0UsR0FDRSxVQUNBLDBDQUNRLGlDQUFrQyxDQUc1QyxLQUNFLFVBQ0EsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLFVBQ0UsZ0NBQ1EsdUJBQXdCLENBQ2pDLCtCQUdDLEdBQ0UsVUFDQSw0Q0FDUSxtQ0FBb0MsQ0FHOUMsS0FDRSxVQUNBLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQix1QkFDRSxHQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBRzlDLEtBQ0UsVUFDQSx1QkFDUSxjQUFlLENBQUEsQ0FJM0IsYUFDRSxtQ0FDUSwwQkFBMkIsQ0FDcEMsMkJBR0MsR0FBSSxTQUFVLENBQ2QsS0FBTSxTQUFVLENBQUEsQ0FHbEIsbUJBQ0UsR0FBSSxTQUFVLENBQ2QsS0FBTSxTQUFVLENBQUEsQ0FHbEIsU0FDRSwrQkFDUSxzQkFBdUIsQ0FDaEMsK0JBR0MsR0FDRSxTQUFVLENBR1osS0FDRSxVQUNBLDBDQUNRLGlDQUFrQyxDQUFBLENBSTlDLHVCQUNFLEdBQ0UsU0FBVSxDQUdaLEtBQ0UsVUFDQSwwQ0FDUSxpQ0FBa0MsQ0FBQSxDQUk5QyxhQUNFLG1DQUNRLDBCQUEyQixDQUNwQyxrQ0FHQyxHQUNFLFNBQVUsQ0FHWixLQUNFLFVBQ0EsNENBQ1EsbUNBQW9DLENBQUEsQ0FJaEQsMEJBQ0UsR0FDRSxTQUFVLENBR1osS0FDRSxVQUNBLDRDQUNRLG1DQUFvQyxDQUFBLENBSWhELGdCQUNFLHNDQUNRLDZCQUE4QixDQUN2QywrQkFHQyxHQUNFLFNBQVUsQ0FHWixLQUNFLFVBQ0EsMkNBQ1Esa0NBQW1DLENBQUEsQ0FJL0MsdUJBQ0UsR0FDRSxTQUFVLENBR1osS0FDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUFBLENBSS9DLGFBQ0UsbUNBQ1EsMEJBQTJCLENBQ3BDLGtDQUdDLEdBQ0UsU0FBVSxDQUdaLEtBQ0UsVUFDQSw2Q0FDUSxvQ0FBcUMsQ0FBQSxDQUlqRCwwQkFDRSxHQUNFLFNBQVUsQ0FHWixLQUNFLFVBQ0EsNkNBQ1Esb0NBQXFDLENBQUEsQ0FJakQsZ0JBQ0Usc0NBQ1EsNkJBQThCLENBQ3ZDLGdDQUdDLEdBQ0UsU0FBVSxDQUdaLEtBQ0UsVUFDQSwwQ0FDUSxpQ0FBa0MsQ0FBQSxDQUk5Qyx3QkFDRSxHQUNFLFNBQVUsQ0FHWixLQUNFLFVBQ0EsMENBQ1EsaUNBQWtDLENBQUEsQ0FJOUMsY0FDRSxvQ0FDUSwyQkFBNEIsQ0FDckMsbUNBR0MsR0FDRSxTQUFVLENBR1osS0FDRSxVQUNBLDRDQUNRLG1DQUFvQyxDQUFBLENBSWhELDJCQUNFLEdBQ0UsU0FBVSxDQUdaLEtBQ0UsVUFDQSw0Q0FDUSxtQ0FBb0MsQ0FBQSxDQUloRCxpQkFDRSx1Q0FDUSw4QkFBK0IsQ0FDeEMsNkJBR0MsR0FDRSxTQUFVLENBR1osS0FDRSxVQUNBLDJDQUNRLGtDQUFtQyxDQUFBLENBSS9DLHFCQUNFLEdBQ0UsU0FBVSxDQUdaLEtBQ0UsVUFDQSwyQ0FDUSxrQ0FBbUMsQ0FBQSxDQUkvQyxXQUNFLGlDQUNRLHdCQUF5QixDQUNsQyxnQ0FHQyxHQUNFLFNBQVUsQ0FHWixLQUNFLFVBQ0EsNkNBQ1Esb0NBQXFDLENBQUEsQ0FJakQsd0JBQ0UsR0FDRSxTQUFVLENBR1osS0FDRSxVQUNBLDZDQUNRLG9DQUFxQyxDQUFBLENBSWpELGNBQ0Usb0NBQ1EsMkJBQTRCLENBQ3JDLHdCQUdDLEdBQ0UsZ0VBQ1Esd0RBQ1IsMkNBQ1Esa0NBQW1DLENBRzdDLElBQ0UseUZBQ1EsaUZBQ1IsMkNBQ1Esa0NBQW1DLENBRzdDLElBQ0UseUZBQ1EsaUZBQ1IsMENBQ1EsaUNBQWtDLENBRzVDLElBQ0UsK0RBQ1EsdURBQ1IsMENBQ1EsaUNBQWtDLENBRzVDLEtBQ0UscUNBQ1EsNkJBQ1IsMENBQ1EsaUNBQWtDLENBQUEsQ0FJOUMsZ0JBQ0UsR0FDRSxnRUFDUSx3REFDUiwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSx5RkFDUSxpRkFDUiwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSx5RkFDUSxpRkFDUiwwQ0FDUSxpQ0FBa0MsQ0FHNUMsSUFDRSwrREFDUSx1REFDUiwwQ0FDUSxpQ0FBa0MsQ0FHNUMsS0FDRSxxQ0FDUSw2QkFDUiwwQ0FDUSxpQ0FBa0MsQ0FBQSxDQUk5QyxlQUNFLG9DQUNRLDRCQUNSLDRCQUNRLG1CQUFvQixDQUM3QiwyQkFHQyxHQUNFLDhEQUNRLHNEQUNSLDJDQUNRLG1DQUNSLFNBQVUsQ0FHWixJQUNFLCtEQUNRLHVEQUNSLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLDhEQUNRLHNEQUNSLFNBQVUsQ0FHWixJQUNFLDhEQUNRLHFEQUFzRCxDQUdoRSxLQUNFLHFDQUNRLDRCQUE2QixDQUFBLENBSXpDLG1CQUNFLEdBQ0UsOERBQ1Esc0RBQ1IsMkNBQ1EsbUNBQ1IsU0FBVSxDQUdaLElBQ0UsK0RBQ1EsdURBQ1IsMkNBQ1Esa0NBQW1DLENBRzdDLElBQ0UsOERBQ1Esc0RBQ1IsU0FBVSxDQUdaLElBQ0UsOERBQ1EscURBQXNELENBR2hFLEtBQ0UscUNBQ1EsNEJBQTZCLENBQUEsQ0FJekMsU0FDRSwrQ0FDUSx1Q0FDUiwrQkFDUSxzQkFBdUIsQ0FDaEMsMkJBR0MsR0FDRSw4REFDUSxzREFDUiwyQ0FDUSxtQ0FDUixTQUFVLENBR1osSUFDRSwrREFDUSx1REFDUiwyQ0FDUSxrQ0FBbUMsQ0FHN0MsSUFDRSw4REFDUSxzREFDUixTQUFVLENBR1osSUFDRSw4REFDUSxxREFBc0QsQ0FHaEUsS0FDRSxxQ0FDUSw0QkFBNkIsQ0FBQSxDQUl6QyxtQkFDRSxHQUNFLDhEQUNRLHNEQUNSLDJDQUNRLG1DQUNSLFNBQVUsQ0FHWixJQUNFLCtEQUNRLHVEQUNSLDJDQUNRLGtDQUFtQyxDQUc3QyxJQUNFLDhEQUNRLHNEQUNSLFNBQVUsQ0FHWixJQUNFLDhEQUNRLHFEQUFzRCxDQUdoRSxLQUNFLHFDQUNRLDRCQUE2QixDQUFBLENBSXpDLFNBQ0UsK0NBQ1EsdUNBQ1IsK0JBQ1Esc0JBQXVCLENBQ2hDLDRCQUdDLEdBQ0UscUNBQ1EsNEJBQTZCLENBR3ZDLElBQ0UsK0RBQ1EsdURBQ1IsU0FBVSxDQUdaLEtBQ0UsOERBQ1Esc0RBQ1IsU0FBVSxDQUFBLENBSWQsb0JBQ0UsR0FDRSxxQ0FDUSw0QkFBNkIsQ0FHdkMsSUFDRSwrREFDUSx1REFDUixTQUFVLENBR1osS0FDRSw4REFDUSxzREFDUixTQUFVLENBQUEsQ0FJZCxVQUNFLGdDQUNRLHdCQUNSLGdDQUNRLHdCQUNSLCtDQUNRLHNDQUF1QyxDQUNoRCw0QkFHQyxHQUNFLHFDQUNRLDRCQUE2QixDQUd2QyxJQUNFLCtEQUNRLHVEQUNSLFNBQVUsQ0FHWixLQUNFLDhEQUNRLHNEQUNSLFNBQVUsQ0FBQSxDQUlkLG9CQUNFLEdBQ0UscUNBQ1EsNEJBQTZCLENBR3ZDLElBQ0UsK0RBQ1EsdURBQ1IsU0FBVSxDQUdaLEtBQ0UsOERBQ1Esc0RBQ1IsU0FBVSxDQUFBLENBSWQsVUFDRSwrQ0FDUSx1Q0FDUixnQ0FDUSx3QkFDUixnQ0FDUSx1QkFBd0IsQ0FDakMsZ0NBR0MsR0FDRSx3REFDUSxnREFDUixTQUFVLENBR1osSUFDRSwrQkFDUSx1QkFDUixTQUFVLENBR1osSUFDRSwrQkFDUSx1QkFDUixTQUFVLENBR1osS0FDRSx1QkFDUSxlQUNSLFNBQVUsQ0FBQSxDQUlkLHdCQUNFLEdBQ0Usd0RBQ1EsZ0RBQ1IsU0FBVSxDQUdaLElBQ0UsK0JBQ1EsdUJBQ1IsU0FBVSxDQUdaLElBQ0UsK0JBQ1EsdUJBQ1IsU0FBVSxDQUdaLEtBQ0UsdUJBQ1EsZUFDUixTQUFVLENBQUEsQ0FJZCxjQUNFLG9DQUNRLDRCQUNSLDJDQUNRLGtDQUFtQyxDQUM1QyxpQ0FHQyxHQUNFLFNBQVUsQ0FHWixLQUNFLHVEQUNRLCtDQUNSLFNBQVUsQ0FBQSxDQUlkLHlCQUNFLEdBQ0UsU0FBVSxDQUdaLEtBQ0UsdURBQ1EsK0NBQ1IsU0FBVSxDQUFBLENBSWQsZUFDRSxxQ0FDUSw2QkFDUiwwQ0FDUSxpQ0FBa0MsQ0FDM0MsNEJBR0MsR0FDRSxnQ0FDUSx3QkFDUiw2Q0FDUSxxQ0FDUixTQUFVLENBR1osS0FDRSxnQ0FDUSx3QkFDUix1QkFDUSxlQUNSLFNBQVUsQ0FBQSxDQUlkLG9CQUNFLEdBQ0UsZ0NBQ1Esd0JBQ1IsNkNBQ1EscUNBQ1IsU0FBVSxDQUdaLEtBQ0UsZ0NBQ1Esd0JBQ1IsdUJBQ1EsZUFDUixTQUFVLENBQUEsQ0FJZCxVQUNFLGdDQUNRLHVCQUF3QixDQUNqQyxvQ0FHQyxHQUNFLHFDQUNRLDZCQUNSLDRDQUNRLG9DQUNSLFNBQVUsQ0FHWixLQUNFLHFDQUNRLDZCQUNSLHVCQUNRLGVBQ1IsU0FBVSxDQUFBLENBSWQsNEJBQ0UsR0FDRSxxQ0FDUSw2QkFDUiw0Q0FDUSxvQ0FDUixTQUFVLENBR1osS0FDRSxxQ0FDUSw2QkFDUix1QkFDUSxlQUNSLFNBQVUsQ0FBQSxDQUlkLGtCQUNFLHdDQUNRLCtCQUFnQyxDQUN6QyxxQ0FHQyxHQUNFLHNDQUNRLDhCQUNSLDJDQUNRLG1DQUNSLFNBQVUsQ0FHWixLQUNFLHNDQUNRLDhCQUNSLHVCQUNRLGVBQ1IsU0FBVSxDQUFBLENBSWQsNkJBQ0UsR0FDRSxzQ0FDUSw4QkFDUiwyQ0FDUSxtQ0FDUixTQUFVLENBR1osS0FDRSxzQ0FDUSw4QkFDUix1QkFDUSxlQUNSLFNBQVUsQ0FBQSxDQUlkLG1CQUNFLHlDQUNRLGdDQUFpQyxDQUMxQyxrQ0FHQyxHQUNFLHFDQUNRLDZCQUNSLDJDQUNRLG1DQUNSLFNBQVUsQ0FHWixLQUNFLHFDQUNRLDZCQUNSLHVCQUNRLGVBQ1IsU0FBVSxDQUFBLENBSWQsMEJBQ0UsR0FDRSxxQ0FDUSw2QkFDUiwyQ0FDUSxtQ0FDUixTQUFVLENBR1osS0FDRSxxQ0FDUSw2QkFDUix1QkFDUSxlQUNSLFNBQVUsQ0FBQSxDQUlkLGdCQUNFLHNDQUNRLDZCQUE4QixDQUN2QyxtQ0FHQyxHQUNFLHNDQUNRLDhCQUNSLDRDQUNRLG9DQUNSLFNBQVUsQ0FHWixLQUNFLHNDQUNRLDhCQUNSLHVCQUNRLGVBQ1IsU0FBVSxDQUFBLENBSWQsMkJBQ0UsR0FDRSxzQ0FDUSw4QkFDUiw0Q0FDUSxvQ0FDUixTQUFVLENBR1osS0FDRSxzQ0FDUSw4QkFDUix1QkFDUSxlQUNSLFNBQVUsQ0FBQSxDQUlkLGlCQUNFLHVDQUNRLDhCQUErQixDQUN4Qyw2QkFHQyxHQUNFLGdDQUNRLHdCQUNSLFNBQVUsQ0FHWixLQUNFLGdDQUNRLHdCQUNSLDRDQUNRLG9DQUNSLFNBQVUsQ0FBQSxDQUlkLHFCQUNFLEdBQ0UsZ0NBQ1Esd0JBQ1IsU0FBVSxDQUdaLEtBQ0UsZ0NBQ1Esd0JBQ1IsNENBQ1Esb0NBQ1IsU0FBVSxDQUFBLENBSWQsV0FDRSxpQ0FDUSx3QkFBeUIsQ0FDbEMscUNBR0MsR0FDRSxxQ0FDUSw2QkFDUixTQUFVLENBR1osS0FDRSxxQ0FDUSw2QkFDUiwyQ0FDUSxtQ0FDUixTQUFVLENBQUEsQ0FJZCw2QkFDRSxHQUNFLHFDQUNRLDZCQUNSLFNBQVUsQ0FHWixLQUNFLHFDQUNRLDZCQUNSLDJDQUNRLG1DQUNSLFNBQVUsQ0FBQSxDQUlkLG1CQUNFLHlDQUNRLGdDQUFpQyxDQUMxQyxzQ0FHQyxHQUNFLHNDQUNRLDhCQUNSLFNBQVUsQ0FHWixLQUNFLHNDQUNRLDhCQUNSLDRDQUNRLG9DQUNSLFNBQVUsQ0FBQSxDQUlkLDhCQUNFLEdBQ0Usc0NBQ1EsOEJBQ1IsU0FBVSxDQUdaLEtBQ0Usc0NBQ1EsOEJBQ1IsNENBQ1Esb0NBQ1IsU0FBVSxDQUFBLENBSWQsb0JBQ0UsMENBQ1EsaUNBQWtDLENBQzNDLG1DQUdDLEdBQ0UscUNBQ1EsNkJBQ1IsU0FBVSxDQUdaLEtBQ0UscUNBQ1EsNkJBQ1IsNENBQ1Esb0NBQ1IsU0FBVSxDQUFBLENBSWQsMkJBQ0UsR0FDRSxxQ0FDUSw2QkFDUixTQUFVLENBR1osS0FDRSxxQ0FDUSw2QkFDUiw0Q0FDUSxvQ0FDUixTQUFVLENBQUEsQ0FJZCxpQkFDRSx1Q0FDUSw4QkFBK0IsQ0FDeEMsb0NBR0MsR0FDRSxzQ0FDUSw4QkFDUixTQUFVLENBR1osS0FDRSxzQ0FDUSw4QkFDUiwyQ0FDUSxtQ0FDUixTQUFVLENBQUEsQ0FJZCw0QkFDRSxHQUNFLHNDQUNRLDhCQUNSLFNBQVUsQ0FHWixLQUNFLHNDQUNRLDhCQUNSLDJDQUNRLG1DQUNSLFNBQVUsQ0FBQSxDQUlkLGtCQUNFLHdDQUNRLCtCQUFnQyxDQUN6Qyx5QkFHQyxHQUNFLGtDQUNRLDBCQUNSLDhDQUNRLHFDQUFzQyxDQUdoRCxRQUNFLDJDQUNRLG1DQUNSLGtDQUNRLDBCQUNSLDhDQUNRLHFDQUFzQyxDQUdoRCxRQUNFLDJDQUNRLG1DQUNSLGtDQUNRLDBCQUNSLDhDQUNRLHNDQUNSLFNBQVUsQ0FHWixLQUNFLDJDQUNRLG1DQUNSLFNBQVUsQ0FBQSxDQUlkLGlCQUNFLEdBQ0Usa0NBQ1EsMEJBQ1IsOENBQ1EscUNBQXNDLENBR2hELFFBQ0UsMkNBQ1EsbUNBQ1Isa0NBQ1EsMEJBQ1IsOENBQ1EscUNBQXNDLENBR2hELFFBQ0UsMkNBQ1EsbUNBQ1Isa0NBQ1EsMEJBQ1IsOENBQ1Esc0NBQ1IsU0FBVSxDQUdaLEtBQ0UsMkNBQ1EsbUNBQ1IsU0FBVSxDQUFBLENBSWQsT0FDRSw2QkFDUSxvQkFBcUIsQ0FDOUIsMEJBS0MsR0FDRSxVQUNBLHNFQUNRLDZEQUE4RCxDQUd4RSxLQUNFLFVBQ0EsdUJBQ1EsY0FBZSxDQUFBLENBSTNCLGtCQUNFLEdBQ0UsVUFDQSxzRUFDUSw2REFBOEQsQ0FHeEUsS0FDRSxVQUNBLHVCQUNRLGNBQWUsQ0FBQSxDQUkzQixRQUNFLDhCQUNRLHFCQUFzQixDQUMvQiwyQkFLQyxHQUNFLFNBQVUsQ0FHWixLQUNFLFVBQ0Esb0VBQ1EsMkRBQTRELENBQUEsQ0FJeEUsbUJBQ0UsR0FDRSxTQUFVLENBR1osS0FDRSxVQUNBLG9FQUNRLDJEQUE0RCxDQUFBLENBSXhFLFNBQ0UsK0JBQ1Esc0JBQXVCLENBQ2hDLDBCQUdDLEdBQ0UsVUFDQSx5Q0FDUSxnQ0FBOEIsQ0FHeEMsSUFDRSxTQUFVLENBQUEsQ0FJZCxrQkFDRSxHQUNFLFVBQ0EseUNBQ1EsZ0NBQThCLENBR3hDLElBQ0UsU0FBVSxDQUFBLENBSWQsUUFDRSw4QkFDUSxxQkFBc0IsQ0FDL0IsOEJBR0MsR0FDRSxVQUNBLG9FQUNRLDREQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0EsdUVBQ1EsK0RBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0Usc0JBQ0UsR0FDRSxVQUNBLG9FQUNRLDREQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0EsdUVBQ1EsK0RBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0UsWUFDRSxrQ0FDUSx5QkFBMEIsQ0FDbkMsOEJBR0MsR0FDRSxVQUNBLG9FQUNRLDREQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0EsdUVBQ1EsK0RBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0Usc0JBQ0UsR0FDRSxVQUNBLG9FQUNRLDREQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0EsdUVBQ1EsK0RBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0UsWUFDRSxrQ0FDUSx5QkFBMEIsQ0FDbkMsK0JBR0MsR0FDRSxVQUNBLG1FQUNRLDJEQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0Esd0VBQ1EsZ0VBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0UsdUJBQ0UsR0FDRSxVQUNBLG1FQUNRLDJEQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0Esd0VBQ1EsZ0VBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0UsYUFDRSxtQ0FDUSwwQkFBMkIsQ0FDcEMsNEJBR0MsR0FDRSxVQUNBLG1FQUNRLDJEQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0Esd0VBQ1EsZ0VBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0Usb0JBQ0UsR0FDRSxVQUNBLG1FQUNRLDJEQUNSLHlFQUNRLGdFQUFtRSxDQUc3RSxJQUNFLFVBQ0Esd0VBQ1EsZ0VBQ1Isc0VBQ1EsNkRBQStELENBQUEsQ0FJM0UsVUFDRSxnQ0FDUSx1QkFBd0IsQ0FDakMsMkJBR0MsR0FDRSxTQUFVLENBR1osSUFDRSxVQUNBLHlDQUNRLGdDQUE4QixDQUd4QyxLQUNFLFNBQVUsQ0FBQSxDQUlkLG1CQUNFLEdBQ0UsU0FBVSxDQUdaLElBQ0UsVUFDQSx5Q0FDUSxnQ0FBOEIsQ0FHeEMsS0FDRSxTQUFVLENBQUEsQ0FJZCxTQUNFLCtCQUNRLHNCQUF1QixDQUNoQywrQkFHQyxJQUNFLFVBQ0Esd0VBQ1EsZ0VBQ1IseUVBQ1EsZ0VBQW1FLENBRzdFLEtBQ0UsVUFDQSxtRUFDUSwyREFDUix1Q0FDUSwrQkFDUixzRUFDUSw2REFBK0QsQ0FBQSxDQUkzRSx1QkFDRSxJQUNFLFVBQ0Esd0VBQ1EsZ0VBQ1IseUVBQ1EsZ0VBQW1FLENBRzdFLEtBQ0UsVUFDQSxtRUFDUSwyREFDUix1Q0FDUSwrQkFDUixzRUFDUSw2REFBK0QsQ0FBQSxDQUkzRSxhQUNFLG1DQUNRLDBCQUEyQixDQUNwQywrQkFHQyxJQUNFLFVBQ0EsdUVBQ1EsOERBQTRELENBR3RFLEtBQ0UsVUFDQSx3REFDUSxnREFDUixxQ0FDUSw0QkFBNkIsQ0FBQSxDQUl6Qyx1QkFDRSxJQUNFLFVBQ0EsdUVBQ1EsOERBQTRELENBR3RFLEtBQ0UsVUFDQSx3REFDUSxnREFDUixxQ0FDUSw0QkFBNkIsQ0FBQSxDQUl6QyxhQUNFLG1DQUNRLDBCQUEyQixDQUNwQyxnQ0FHQyxJQUNFLFVBQ0Esd0VBQ1EsK0RBQTZELENBR3ZFLEtBQ0UsVUFDQSx1REFDUSwrQ0FDUixzQ0FDUSw2QkFBOEIsQ0FBQSxDQUkxQyx3QkFDRSxJQUNFLFVBQ0Esd0VBQ1EsK0RBQTZELENBR3ZFLEtBQ0UsVUFDQSx1REFDUSwrQ0FDUixzQ0FDUSw2QkFBOEIsQ0FBQSxDQUkxQyxjQUNFLG9DQUNRLDJCQUE0QixDQUNyQyw2QkFHQyxJQUNFLFVBQ0EsdUVBQ1EsK0RBQ1IseUVBQ1EsZ0VBQW1FLENBRzdFLEtBQ0UsVUFDQSxvRUFDUSw0REFDUix1Q0FDUSwrQkFDUixzRUFDUSw2REFBK0QsQ0FBQSxDQUkzRSxxQkFDRSxJQUNFLFVBQ0EsdUVBQ1EsK0RBQ1IseUVBQ1EsZ0VBQW1FLENBRzdFLEtBQ0UsVUFDQSxvRUFDUSw0REFDUix1Q0FDUSwrQkFDUixzRUFDUSw2REFBK0QsQ0FBQSxDQUkzRSxXQUNFLGlDQUNRLHdCQUF5QixDQUNsQywrQkFHQyxHQUNFLG9DQUNRLDRCQUNSLGtCQUFtQixDQUdyQixLQUNFLGdDQUNRLHVCQUF3QixDQUFBLENBSXBDLHVCQUNFLEdBQ0Usb0NBQ1EsNEJBQ1Isa0JBQW1CLENBR3JCLEtBQ0UsZ0NBQ1EsdUJBQXdCLENBQUEsQ0FJcEMsYUFDRSxtQ0FDUSwwQkFBMkIsQ0FDcEMsK0JBR0MsR0FDRSxvQ0FDUSw0QkFDUixrQkFBbUIsQ0FHckIsS0FDRSxnQ0FDUSx1QkFBd0IsQ0FBQSxDQUlwQyx1QkFDRSxHQUNFLG9DQUNRLDRCQUNSLGtCQUFtQixDQUdyQixLQUNFLGdDQUNRLHVCQUF3QixDQUFBLENBSXBDLGFBQ0UsbUNBQ1EsMEJBQTJCLENBQ3BDLGdDQUdDLEdBQ0UsbUNBQ1EsMkJBQ1Isa0JBQW1CLENBR3JCLEtBQ0UsZ0NBQ1EsdUJBQXdCLENBQUEsQ0FJcEMsd0JBQ0UsR0FDRSxtQ0FDUSwyQkFDUixrQkFBbUIsQ0FHckIsS0FDRSxnQ0FDUSx1QkFBd0IsQ0FBQSxDQUlwQyxjQUNFLG9DQUNRLDJCQUE0QixDQUNyQyw2QkFHQyxHQUNFLG1DQUNRLDJCQUNSLGtCQUFtQixDQUdyQixLQUNFLGdDQUNRLHVCQUF3QixDQUFBLENBSXBDLHFCQUNFLEdBQ0UsbUNBQ1EsMkJBQ1Isa0JBQW1CLENBR3JCLEtBQ0UsZ0NBQ1EsdUJBQXdCLENBQUEsQ0FJcEMsV0FDRSxpQ0FDUSx3QkFBeUIsQ0FDbEMsZ0NBR0MsR0FDRSxnQ0FDUSx1QkFBd0IsQ0FHbEMsS0FDRSxrQkFDQSxtQ0FDUSwwQkFBMkIsQ0FBQSxDQUl2Qyx3QkFDRSxHQUNFLGdDQUNRLHVCQUF3QixDQUdsQyxLQUNFLGtCQUNBLG1DQUNRLDBCQUEyQixDQUFBLENBSXZDLGNBQ0Usb0NBQ1EsMkJBQTRCLENBQ3JDLGdDQUdDLEdBQ0UsZ0NBQ1EsdUJBQXdCLENBR2xDLEtBQ0Usa0JBQ0Esb0NBQ1EsMkJBQTRCLENBQUEsQ0FJeEMsd0JBQ0UsR0FDRSxnQ0FDUSx1QkFBd0IsQ0FHbEMsS0FDRSxrQkFDQSxvQ0FDUSwyQkFBNEIsQ0FBQSxDQUl4QyxjQUNFLG9DQUNRLDJCQUE0QixDQUNyQyxpQ0FHQyxHQUNFLGdDQUNRLHVCQUF3QixDQUdsQyxLQUNFLGtCQUNBLG1DQUNRLDBCQUEyQixDQUFBLENBSXZDLHlCQUNFLEdBQ0UsZ0NBQ1EsdUJBQXdCLENBR2xDLEtBQ0Usa0JBQ0EsbUNBQ1EsMEJBQTJCLENBQUEsQ0FJdkMsZUFDRSxxQ0FDUSw0QkFBNkIsQ0FDdEMsOEJBR0MsR0FDRSxnQ0FDUSx1QkFBd0IsQ0FHbEMsS0FDRSxrQkFDQSxvQ0FDUSwyQkFBNEIsQ0FBQSxDQUl4QyxzQkFDRSxHQUNFLGdDQUNRLHVCQUF3QixDQUdsQyxLQUNFLGtCQUNBLG9DQUNRLDJCQUE0QixDQUFBLENBSXhDLFlBQ0Usa0NBQ1EseUJBQTBCLENBQ25DLGtCb0cvNEZDLGNBQ0EsZ0JBQWlCLENqRy9GZixHaUdyR0YsaUNBQ0EsZUFDQSxhQUFjLENuR21LVix5Q0VoRUYsR2lHaEdBLGNDSWdCLENEZ01uQixDbkdwQ0sseUNFaEVGLEdpRzVGQSxjQ1dnQixDRHFMbkIsQ0FFRCxHQTdMRSxlQUNBLGFBQWMsQ25Hc0pWLHlDbUdzQ04sR0F6TEksY0NSZ0IsQ0RtTW5CLENuR3hDSyx5Q21Hc0NOLEdBckxJLGNDRGdCLENEd0xuQixDQUVELEdBcExFLGVBQ0EsYUFBYyxDbkd5SVYseUNtRzBDTixHQWhMSSxjQ3BCZ0IsQ0RzTW5CLENuRzVDSyx5Q21HMENOLEdBNUtJLGNDYmdCLENEMkxuQixDQUVELEdBM0tFLGVBQ0EsZ0JBQWlCLENuRzRIYix5Q21HOENOLEdBdktJLGNDaENnQixDRHlNbkIsQ25HaERLLHlDbUc4Q04sR0FuS0ksY0N6QmdCLENEOExuQixDQUVELEdBbEtFLGVBQ0EsZ0JBQWlCLENuRytHYix5Q21Ha0ROLEdBOUpJLGNDNUNnQixDRDRNbkIsQ25HcERLLHlDbUdrRE4sR0ExSkksY0NyQ2dCLENEaU1uQixDQUVELEdBekpFLGNDL0RrQixDcEdrS2QseUNtR3NETixHQXRKSSxjQ3ZEZ0IsQ0QrTW5CLENuR3hESyx5Q21Hc0ROLEdBbEpJLGNDaERnQixDRG9NbkIsQzNFdURDLEUyRTdKQSxlQUNBLGdCQUFpQixDbkc2Q2IseUN3QitHSixFMkV6SkUsY0NsRlksQ0R3TGYsQ25HNURLLHlDd0IrR0osRTJFckpFLGNDN0VZLENEK0tmLEMzRWlMQyxTMkV4U0EsZUFDQSxpQkE2SEEsZ0JBQWlCLENuR25FYix5Q3dCNk9KLFMyRXBTRSxjQ3RFWSxDRGlNZixDbkdwRUsseUN3QjZPSixTMkVoU0UsY0NqRVksQ0R3TGYsQ0FFRCxVQUNFLG9CQUFBLEFBQ0EscUJBREEsQUFDQSxvQkFEQSxBQUNBLGFBQUEseUJBQUEsQUFDQSxxQkFEQSxBQUNBLGlCQUFBLG9CekZ6SnVELEN5RnNKekQsYUFNSSxtQkFDQSxlQUFnQixDM0UyTWxCLFcyRTVTQSxrQkFDQSxlQUNBLGdCQUFpQixDbkdrQmIseUN3QndSSixXMkV2U0UsY0N6R2dCLENEcU5uQixDbkc3RksseUN3QndSSixXMkVuU0UsZUFDQSxlQUFnQixDQXVHbkIsQ0FYRCxnQkFJSSxnQkFDQSxpQkFBa0IsQ0FMdEIsdUJBUU0sWUFBYSxDQUNkLFFBeklILGVBQ0EsaUJBZ0pBLGlCQUFrQixDbkduR2QseUNtR2dHTixRQTFJSSxjQ2xGWSxDRGdPZixDbkdwR0sseUNtR2dHTixRQXRJSSxjQzdFWSxDRHVOZixDQUVELGlCQTNRRSxpQ0FDQSxlQUNBLGFBQWMsQ25HbUtWLHlDbUdzR04saUJBdFFJLGNDSWdCLENEb1FuQixDbkd4R0sseUNtR3NHTixpQkFsUUksY0NXZ0IsQ0R5UG5CLENBRUQsaUJBalFFLGVBQ0EsYUFBYyxDbkdzSlYseUNtRzBHTixpQkE3UEksY0NSZ0IsQ0R1UW5CLENuRzVHSyx5Q21HMEdOLGlCQXpQSSxjQ0RnQixDRDRQbkIsQ0FFRCxpQkF4UEUsZUFDQSxhQUFjLENuR3lJVix5Q21HOEdOLGlCQXBQSSxjQ3BCZ0IsQ0QwUW5CLENuR2hISyx5Q21HOEdOLGlCQWhQSSxjQ2JnQixDRCtQbkIsQ0FFRCxpQkEvT0UsZUFDQSxnQkFBaUIsQ25HNEhiLHlDbUdrSE4saUJBM09JLGNDaENnQixDRDZRbkIsQ25HcEhLLHlDbUdrSE4saUJBdk9JLGNDekJnQixDRGtRbkIsQ0FFRCxpQkF0T0UsZUFDQSxnQkFBaUIsQ25HK0diLHlDbUdzSE4saUJBbE9JLGNDNUNnQixDRGdSbkIsQ25HeEhLLHlDbUdzSE4saUJBOU5JLGNDckNnQixDRHFRbkIsQ0FFRCxpQkE3TkUsY0MvRGtCLENwR2tLZCx5Q21HMEhOLGlCQTFOSSxjQ3ZEZ0IsQ0RtUm5CLENuRzVISyx5Q21HMEhOLGlCQXROSSxjQ2hEZ0IsQ0R3UW5CLENBRUQsaUJBck5FLGVBQ0EsaUJBQ0EsZ0JBQWlCLENuR3FGYix5Q21HOEhOLGlCQWhOSSxjQ3BFZ0IsQ0RzUm5CLENuR2hJSyx5Q21HOEhOLGlCQTVNSSxjQzdEZ0IsQ0QyUW5CLENBRUQsaUJBM01FLGVBQ0EsaUJBQ0EsZ0JBQWlCLENuR3VFYix5Q21Ha0lOLGlCQXRNSSxjQ2pGZ0IsQ0R5Um5CLENuR3BJSyx5Q21Ha0lOLGlCQWxNSSxjQzFFZ0IsQ0Q4UW5CLENBRUQsYUFqTUUsZUFDQSxnQkFBaUIsQ25HMERiLHlDbUdzSU4sYUE3TEksY0N0RVksQ0RxUWYsQ25HeElLLHlDbUdzSU4sYUF6TEksY0NqRVksQ0Q0UGYsQ0FFRCxhQXhMRSxlQUNBLGdCQUFpQixDbkc2Q2IseUNtRzBJTixhQXBMSSxjQ2xGWSxDRHdRZixDbkc1SUsseUNtRzBJTixhQWhMSSxjQzdFWSxDRCtQZixDQUVELGNBL0tFLGVBQ0EsZ0JBQWlCLENuR2dDYix5Q21HOElOLGNBM0tJLGNDOUZhLENEMlFoQixDbkdoSksseUNtRzhJTixjQXZLSSxjQ3pGYSxDRGtRaEIsQ0FFRCxXQXZKRSxlQUNBLHlCQUNBLGFBQWMsQ25HR1YseUNtR2tKTixXQWxKSSxjQzFIVSxDRDhRYixDbkdwSksseUNtR2tKTixXQTlJSSxjQ3JIVSxDRHFRYixDQUVELGFBN0lFLGVBQ0EseUJBQ0EsYUFBYyxDbkdYVix5Q21Hc0pOLGFBeElJLGNDdklZLENEaVJmLENuR3hKSyx5Q21Hc0pOLGFBcElJLGNDbElZLENEd1FmLENBRUQsT0FDRSxhN0Y5Sm1CLENv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LDJMQUNRLHdMQUNILHFMQUNqQyxDQUErQixzQ0FDbkosdUNBaEI1QixhQWlCSyxDQUFLLENBVXJCLDRDQVJTLFVBQ1EsbUJBQ1MsQUFFVSxnQ0FDRyw0QkFBQSxBQUNyQix1QkFBQSxDQUFhLHFDQU9yQixTQUNBLENBQUMsZ0RBR1Usa0JBQ0YsU0FDVCxDQUFDLHNDQUdBLFNBQ0Msa0JBQ1MsVUFDUixnQkFDTSxhQUNILFVBQ0gsa0JBQ1EsQUFFZ0IscUNBQ0csaUNBQUEsQUFDUiw2QkFBQSx1S0FBQSxBQUMySCwrSkFEM0gsQUFDMkgsdUpBRDNILEFBQzJILDhNQUFBLCtKQUNRLDRKQUNILHlKQUNqQyxDQUErQixzQ0FFdkgsc0NBakI1QixhQWtCSyxDQUFLLENBV3JCLDJDQVJTLFVBQ1EsbUJBQ1MsQUFFVSxnQ0FDRyw0QkFBQSxBQUNyQix1QkFBQSxDQUFhLDZCQU01QixHQUNOLFNBQ1MsQ0FBQyxLQUdSLFNBQ08sQ0FBQyxDQVp3QixBQVl4QixxQkFOSixHQUNOLFNBQ1MsQ0FBQyxLQUdSLFNBQ08sQ0FBQyxDQUFBLCtCQUlKLEdBQ04sVUFDVSxtQ0FBQSxBQUNDLDBCQUFBLENBQWdCLEtBR3pCLFVBQ1Esa0NBQUEsQUFDQyx5QkFBQSxDQUFlLENBWmhCLEFBWWdCLHVCQVJwQixHQUNOLFVBQ1UsbUNBQUEsQUFDQywwQkFBQSxDQUFnQixLQUd6QixVQUNRLGtDQUFBLEFBQ0MseUJBQUEsQ0FBZSxDQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbkFuaW1hdGUuY3NzIC0gaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxuTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuXG5Db3B5cmlnaHQgKGMpIDIwMTQgRGFuaWVsIEVkZW5cbiovXG5cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLmFuaW1hdGVkLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICAwJSwgNTAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIDAlLCA1MCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbi5zaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnRhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLndvYmJsZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSwgMjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlLCAyMCUsIDQwJSwgNjAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7b3BhY2l0eTogMDt9XG4gIDEwMCUge29wYWNpdHk6IDE7fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtvcGFjaXR5OiAwO31cbiAgMTAwJSB7b3BhY2l0eTogMTt9XG59XG5cbi5mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTQwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNDBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00MHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDQwcHgsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDQwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA0MHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge29wYWNpdHk6IDE7fVxuICAxMDAlIHtvcGFjaXR5OiAwO31cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge29wYWNpdHk6IDE7fVxuICAxMDAlIHtvcGFjaXR5OiAwO31cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5saWdodFNwZWVkSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ucm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG5cbi56b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG59XG5cbi5zbGlkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbn1cblxuLnNsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG59XG5cbi5zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgXCJ1dGlsL3V0aWxpdGllc1wiO1xuXG4vLyBjdXN0b20gZ2xvYmFsIHZhcmlhYmxlc1xuXG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTYwMCk7XG4kcGFnZS13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kd2lkZ2V0LXdpZHRoOiByZW0tY2FsYygxMDgwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjYyNjI2LFxuICBzZWNvbmRhcnk6ICM4MDdlN2UsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZjJmMGYwO1xuJG1lZGl1bS1ncmF5OiAjY2NjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzI2MjYyNjtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRpdGxlLWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtY29sb3I6ICM4MDdlN2U7XG4kYm9keS1mb250LWZhbWlseTogJ094eWdlbicsIHNhbnMtc2VyaWZzO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMTVweDtcbiRnbG9iYWwtcGFkZGluZzogMTVweDtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBwb2ludGVyO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDc2OHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDE2MDBweCxcbiAgeHhsYXJnZTogMTkyMHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDcyKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDMwKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6ICRibGFjaztcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kaHItbWFyZ2luOiAwO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkYmxhY2s7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYygwIDAgMCAyNyk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDVweCBzb2xpZCAjMzEzMTMxO1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kY2l0ZS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMDtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogIzY2NjU2NTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMjFweCAyOHB4O1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICNlOWU5ZjI7XG4kYnV0dG9uLWNvbG9yLWFsdDogIzMxMzEzMTtcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjc1cmVtLFxuICBzbWFsbDogMC44NzVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAwO1xuJGNhcmQtcGFkZGluZzogMjVweCAxOHB4O1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMjApO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogbm9uZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcvMiAkZm9ybS1zcGFjaW5nO1xuJGlucHV0LXNoYWRvdzogbm9uZTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IG5vbmU7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luKjI7XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmYtY2FudmFzLXdpZHRoOiBtYXAtZ2V0KCRvZmZjYW52YXMtc2l6ZXMsIHNtYWxsKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJGJvZHktZm9udC1jb2xvcjtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRibGFjaztcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDE0cHg7XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogOHB4O1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDEwO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDIwcHggMzBweDtcbiR0YWItZXhwYW5kLW1heDogMDtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29udGVudC1ib3JkZXI6IDA7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogODVweCAwIDExM3B4IDA7XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15JylcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15JylcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSlcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMiBvciAxLzMuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZWlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gIG9yIGBzaHJpbmtgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyfSksICN7eHktY2VsbC1zaXplKCRuKX0pO1xuXG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHNpemV9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXV0aWxpdGllc1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB1dGlsaXRpZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IFZhbHVlIGZvciBgdGV4dC1vdmVyZmxvd2AgdmFyaWFibGVcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWRlZmF1bHQ7XG5cbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFskcHJvdG90eXBlLXRleHQtb3ZlcmZsb3ddIFRleHQgVHJ1bmNhdGVcbkBtaXhpbiB0ZXh0LXRydW5jYXRlKFxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xuKSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6ICRvdmVyZmxvdzsgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIE5vIHdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC1ub3dyYXBgXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBXcmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtd3JhcGBcbkBtaXhpbiB0ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcbiAgLnRleHQtaGlkZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICB9XG5cbiAgLnRleHQtdHJ1bmNhdGUge1xuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gIH1cblxuICAudGV4dC1ub3dyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICB9XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtaGlkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LXRyYW5zZm9ybWF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IFRyYW5zZm9ybWF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0cmFuc2Zvcm1hdGlvbiBbXSBUZXh0IFRyYW5zZm9ybWF0aW9uXG5AbWl4aW4gdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKSB7XG4gIHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAudGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICBcdEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgXHRcdFx0ICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgXHRcdFx0ICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWZvbnQtc3R5bGluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZm9udCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LW5vcm1hbGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LWJvbGRgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV0dGVyLXNwYWNpbmcgWyRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ10gV2lkZSBsZXR0ZXIgc3BhY2luZyBmb3IgdGhlIGZvbnRcbkBtaXhpbiBmb250LXdpZGUoXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXG4pIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IE5vcm1hbCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxuQG1peGluIGZvbnQtbm9ybWFsKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtbm9ybWFsXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFdlaWdodCBCb2xkLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ib2xkXSBXZWlnaHQgb2YgdGhlIGZvbnQgKGJvbGQpXG5AbWl4aW4gZm9udC1ib2xkKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtYm9sZFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcbkBtaXhpbiBmb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nIHtcbiAgLmZvbnQtd2lkZXtcbiAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gIH1cblxuICAuZm9udC1ub3JtYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICB9XG5cbiAgLmZvbnQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICB9XG5cbiAgLmZvbnQtaXRhbGljIHtcbiAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LW5vcm1hbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ib2xkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBsaXN0IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS11bm9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLW9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbikgIWRlZmF1bHQ7XG5cblxuLy8vIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtdW5vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLXVub3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG4vLy8gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLW9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtb3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gbGlzdC11bm9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgdWwubGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgdWwuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgb2wubGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBvbC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGUge1xuICBAaW5jbHVkZSBsaXN0LXVub3JkZXJlZDtcbiAgQGluY2x1ZGUgbGlzdC1vcmRlcmVkO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gIH1cblxuICAucmFkaXVzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaGFkb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNoYWRvdyB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm94LXNoYWRvd2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpICFkZWZhdWx0O1xuXG4vLy8gU2hhZG93IFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3ggc2hhZG93IHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNoYWRvdyBbJHByb3RvdHlwZS1ib3gtc2hhZG93XSBCb3ggU2hhZG93IG9mIGEgY29tcG9uZW50XG5AbWl4aW4gc2hhZG93KFxuICAkc2hhZG93OiAkcHJvdG90eXBlLWJveC1zaGFkb3dcbikge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcbiAgLnNoYWRvdyB7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNoYWRvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYXJyb3dcbi8vLy9cblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGFycm93YCBkaXJlY3Rpb25cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiB0aGUgQXJyb3csIGAwLjQzNzVyZW1gIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcblxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3cge1xuICBAZWFjaCAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbiBpbiAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnMge1xuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctc2l6ZSwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvblxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItYm94XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgYm94LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYm94IHV0aWxpdHlcbkBtaXhpbiBib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveCB7XG4gIC5ib3JkZXItYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLW5vbmVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBub25lLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIG5vbmUgdXRpbGl0eVxuQG1peGluIGJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZSB7XG4gIC5ib3JkZXItbm9uZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBudW1iZXIgb2Ygc3BhY2VycyBjb3VudCAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtbWFyZ2luYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIE1hcmdpbiBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIE1hcmdpbiBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcbkBtaXhpbiBtYXJnaW4oXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkdG9wICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gUGFkZGluZyBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFBhZGRpbmcgUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBQYWRkaW5nIExlZnRcbkBtaXhpbiBwYWRkaW5nKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIC8vIEFsbCBTaWRlc1xuICAgIC5tYXJnaW4tI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC8vIFRvcCBTaWRlXG4gICAgLm1hcmdpbi10b3AtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAvLyBSaWdodCBTaWRlXG4gICAgLm1hcmdpbi1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLy8gQm90dG9tIFNpZGVcbiAgICAubWFyZ2luLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIExlZnQgU2lkZVxuICAgIC5tYXJnaW4tbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIEF4ZXNcbiAgICAubWFyZ2luLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctaG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgQXhlc1xuICAgIC5tYXJnaW4tdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICB9XG5cbiAgICAucGFkZGluZy12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy10b3AtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJpZ2h0IFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEJvdHRvbSBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExlZnQgU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEhvcml6b250YWwgQXhlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFZlcnRpY2FsIEF4ZXNcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgcGF1c2UtcXVldWUtY2xhc3M6ICdpcy1wYXVzZWQnLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyksXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PeHlnZW46MzAwLDQwMCw3MDAnKTtcblxuQG1peGluIHR5cG8taGVhZGxpbmUtMSB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJoZWFkbGluZS0xXCIpO1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcInRhYmxldC1oZWFkaW5nXCIsIFwiaGVhZGxpbmUtMVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLWhlYWRpbmdcIiwgXCJoZWFkbGluZS0xXCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWhlYWRsaW5lLTIge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJoZWFkbGluZS0yXCIpO1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcInRhYmxldC1oZWFkaW5nXCIsIFwiaGVhZGxpbmUtMlwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLWhlYWRpbmdcIiwgXCJoZWFkbGluZS0yXCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWhlYWRsaW5lLTMge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJoZWFkbGluZS0zXCIpO1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcInRhYmxldC1oZWFkaW5nXCIsIFwiaGVhZGxpbmUtM1wiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLWhlYWRpbmdcIiwgXCJoZWFkbGluZS0zXCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWhlYWRsaW5lLTQge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJoZWFkbGluZS00XCIpO1xuICBsaW5lLWhlaWdodDogMzZweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcInRhYmxldC1oZWFkaW5nXCIsIFwiaGVhZGxpbmUtNFwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLWhlYWRpbmdcIiwgXCJoZWFkbGluZS00XCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWhlYWRsaW5lLTUge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJoZWFkbGluZS01XCIpO1xuICBsaW5lLWhlaWdodDogMzZweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcInRhYmxldC1oZWFkaW5nXCIsIFwiaGVhZGxpbmUtNVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLWhlYWRpbmdcIiwgXCJoZWFkbGluZS01XCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWhlYWRsaW5lLTYge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJoZWFkbGluZS02XCIpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwidGFibGV0LWhlYWRpbmdcIiwgXCJoZWFkbGluZS02XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoXCJtb2JpbGUtaGVhZGluZ1wiLCBcImhlYWRsaW5lLTZcIik7XG4gIH1cbn1cblxuQG1peGluIHR5cG8tc3VidGl0bGUtMSB7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKFwiaGVhZGluZ1wiLCBcInN1YnRpdGxlLTFcIik7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcInRhYmxldC1oZWFkaW5nXCIsIFwic3VidGl0bGUtMVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLWhlYWRpbmdcIiwgXCJzdWJ0aXRsZS0xXCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLXN1YnRpdGxlLTIge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJzdWJ0aXRsZS0yXCIpO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoXCJ0YWJsZXQtaGVhZGluZ1wiLCBcInN1YnRpdGxlLTJcIik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcIm1vYmlsZS1oZWFkaW5nXCIsIFwic3VidGl0bGUtMlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gdHlwby1ib2R5LTIge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcIm1pc2NcIiwgXCJib2R5LTJcIik7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwidGFibGV0LW1pc2NcIiwgXCJib2R5LTJcIik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcIm1vYmlsZS1taXNjXCIsIFwiYm9keS0yXCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWJvZHktMSB7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibWlzY1wiLCBcImJvZHktMVwiKTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoXCJ0YWJsZXQtbWlzY1wiLCBcImJvZHktMVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLW1pc2NcIiwgXCJib2R5LTFcIik7XG4gIH1cbn1cblxuQG1peGluIHR5cG8tY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibWlzY1wiLCBcImNhcHRpb25cIik7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwidGFibGV0LW1pc2NcIiwgXCJjYXB0aW9uXCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoXCJtb2JpbGUtbWlzY1wiLCBcImNhcHRpb25cIik7XG4gIH1cbn1cblxuQG1peGluIHR5cG8tYmxvY2txdW90ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiBmb250LXNpemUoXCJtaXNjXCIsIFwiYmxvY2txdW90ZVwiKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoXCJ0YWJsZXQtbWlzY1wiLCBcImJsb2NrcXVvdGVcIik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcIm1vYmlsZS1taXNjXCIsIFwiYmxvY2txdW90ZVwiKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLW1lbnUge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZShcIm1pc2NcIiwgXCJtZW51XCIpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZShcInRhYmxldC1taXNjXCIsIFwibWVudVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLW1pc2NcIiwgXCJtZW51XCIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibWlzY1wiLCBcImJ1dHRvblwiKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoXCJ0YWJsZXQtbWlzY1wiLCBcImJ1dHRvblwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKFwibW9iaWxlLW1pc2NcIiwgXCJidXR0b25cIik7XG4gIH1cbn1cblxuLy8gSGVhZGluZ3NcblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgY29sb3I6ICRibGFjaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgdHlwby1oZWFkbGluZS0xO1xufVxuXG5oMiB7XG4gIEBpbmNsdWRlIHR5cG8taGVhZGxpbmUtMjtcbn1cblxuaDMge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTM7XG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgdHlwby1oZWFkbGluZS00O1xufVxuXG5oNSB7XG4gIEBpbmNsdWRlIHR5cG8taGVhZGxpbmUtNTtcbn1cblxuaDYge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTY7XG59XG5cbnAge1xuICBAaW5jbHVkZSB0eXBvLWJvZHktMTtcbn1cblxuLy8gTGlzdHNcbnVsLFxub2wsXG5kbCB7XG4gIEBpbmNsdWRlIHR5cG8tYm9keS0yO1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuZGwuaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuXG4gIGR0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBAaW5jbHVkZSB0eXBvLWJsb2NrcXVvdGU7XG5cbiAgY2l0ZSB7XG4gICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIi0gXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3NcbmFkZHJlc3Mge1xuICBAaW5jbHVkZSB0eXBvLWJvZHktMTtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi50eXBvLWhlYWRsaW5lLTEge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTE7XG59XG5cbi50eXBvLWhlYWRsaW5lLTIge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTI7XG59XG5cbi50eXBvLWhlYWRsaW5lLTMge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTM7XG59XG5cbi50eXBvLWhlYWRsaW5lLTQge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTQ7XG59XG5cbi50eXBvLWhlYWRsaW5lLTUge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTU7XG59XG5cbi50eXBvLWhlYWRsaW5lLTYge1xuICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lLTY7XG59XG5cbi50eXBvLXN1YnRpdGxlLTEge1xuICBAaW5jbHVkZSB0eXBvLXN1YnRpdGxlLTE7XG59XG5cbi50eXBvLXN1YnRpdGxlLTIge1xuICBAaW5jbHVkZSB0eXBvLXN1YnRpdGxlLTI7XG59XG5cbi50eXBvLWJvZHktMiB7XG4gIEBpbmNsdWRlIHR5cG8tYm9keS0yO1xufVxuXG4udHlwby1ib2R5LTEge1xuICBAaW5jbHVkZSB0eXBvLWJvZHktMTtcbn1cblxuLnR5cG8tY2FwdGlvbiB7XG4gIEBpbmNsdWRlIHR5cG8tY2FwdGlvbjtcbn1cblxuLnR5cG8tbWVudSB7XG4gIEBpbmNsdWRlIHR5cG8tbWVudTtcbn1cblxuLnR5cG8tYnV0dG9uIHtcbiAgQGluY2x1ZGUgdHlwby1idXR0b247XG59XG5cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbn1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59IiwiJGhlYWRpbmc6IChcbiAgXCJoZWFkbGluZS0xXCI6IDcycHgsXG4gIFwiaGVhZGxpbmUtMlwiOiA0OHB4LFxuICBcImhlYWRsaW5lLTNcIjogMzZweCxcbiAgXCJoZWFkbGluZS00XCI6IDMwcHgsXG4gIFwiaGVhZGxpbmUtNVwiOiAyNHB4LFxuICBcImhlYWRsaW5lLTZcIjogMjBweCxcbiAgXCJzdWJ0aXRsZS0xXCI6IDE4cHgsXG4gIFwic3VidGl0bGUtMlwiOiAxNnB4XG4pO1xuXG4kdGFibGV0LWhlYWRpbmc6IChcbiAgXCJoZWFkbGluZS0xXCI6IDYwcHgsXG4gIFwiaGVhZGxpbmUtMlwiOiAzNnB4LFxuICBcImhlYWRsaW5lLTNcIjogMzBweCxcbiAgXCJoZWFkbGluZS00XCI6IDI0cHgsXG4gIFwiaGVhZGxpbmUtNVwiOiAyMHB4LFxuICBcImhlYWRsaW5lLTZcIjogMThweCxcbiAgXCJzdWJ0aXRsZS0xXCI6IDE2cHgsXG4gIFwic3VidGl0bGUtMlwiOiAxNHB4XG4pO1xuXG4kbW9iaWxlLWhlYWRpbmc6IChcbiAgXCJoZWFkbGluZS0xXCI6IDM2cHgsXG4gIFwiaGVhZGxpbmUtMlwiOiAzMHB4LFxuICBcImhlYWRsaW5lLTNcIjogMjRweCxcbiAgXCJoZWFkbGluZS00XCI6IDIwcHgsXG4gIFwiaGVhZGxpbmUtNVwiOiAyMHB4LFxuICBcImhlYWRsaW5lLTZcIjogMTRweCxcbiAgXCJzdWJ0aXRsZS0xXCI6IDEycHgsXG4gIFwic3VidGl0bGUtMlwiOiAxM3B4XG4pO1xuXG4kbWlzYzogKFxuICBcImJvZHktMlwiOiAxNnB4LCBcbiAgXCJib2R5LTFcIjogMTRweCxcbiAgXCJjYXB0aW9uXCI6IDEzcHgsXG4gIFwibWVudVwiOiAxNHB4LFxuICBcImJ1dHRvblwiOiAxNnB4LFxuICBcImJsb2NrcXVvdGVcIjogMjRweFxuKTtcblxuJHRhYmxldC1taXNjOiAoXG4gIFwiYm9keS0yXCI6IDE2cHgsIFxuICBcImJvZHktMVwiOiAxNHB4LFxuICBcImNhcHRpb25cIjogMTNweCxcbiAgXCJtZW51XCI6IDE0cHgsXG4gIFwiYnV0dG9uXCI6IDEzcHgsXG4gIFwiYmxvY2txdW90ZVwiOiAyMHB4XG4pO1xuXG4kbW9iaWxlLW1pc2M6IChcbiAgXCJib2R5LTJcIjogMTRweCwgXG4gIFwiYm9keS0xXCI6IDE0cHgsXG4gIFwiY2FwdGlvblwiOiAxM3B4LFxuICBcIm1lbnVcIjogMTRweCxcbiAgXCJidXR0b25cIjogMTNweCxcbiAgXCJibG9ja3F1b3RlXCI6IDIwcHhcbik7XG5cblxuJGZvbnQtc2l6ZTogKFxuICBcImhlYWRpbmdcIjogJGhlYWRpbmcsXG4gIFwibWlzY1wiOiAkbWlzYyxcbiAgXCJ0YWJsZXQtaGVhZGluZ1wiOiAkdGFibGV0LWhlYWRpbmcsXG4gIFwibW9iaWxlLWhlYWRpbmdcIjogJG1vYmlsZS1oZWFkaW5nLFxuICBcInRhYmxldC1taXNjXCI6ICR0YWJsZXQtbWlzYyxcbiAgXCJtb2JpbGUtbWlzY1wiOiAkbW9iaWxlLW1pc2Ncbik7XG5cbi8vIEdldCBmb250IHNpemUgdmFsdWUgdGhlIHdheSBsaWtlIGZvbnQtc2l6ZShcImhlYWRpbmdcIiwgXCJoZWFkbGluZVwiKVxuQGZ1bmN0aW9uIGZvbnQtc2l6ZSgkc2l6ZSwgJHR5cGUpIHtcblx0QGlmIG1hcC1oYXMta2V5KCRmb250LXNpemUsICRzaXplKSB7XG5cdFx0JGN1cnJfc2l6ZTogbWFwLWdldCgkZm9udC1zaXplLCAkc2l6ZSk7XG5cdFx0QGlmIG1hcC1oYXMta2V5KCRjdXJyX3NpemUsICR0eXBlKSB7XG5cdFx0XHRAcmV0dXJuIG1hcC1nZXQoJGN1cnJfc2l6ZSwgJHR5cGUpO1xuXHRcdH1cblx0fVxuXHRAd2FybiBcIlVua25vdyBgI3tuYW1lfWAgaW4gJGZvbnQtc2l6ZS5cIjtcblx0QHJldHVybiBudWxsO1xufSIsIi5vbi1zdXJmYWNlX19tZWRpdW0tZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbn0iLCIuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmRwMiB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG59XG5cbi5mMzYge1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xufVxuXG4uZHAzIHtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5TaW5nbGUtY29sb3JlZCBpY29ucyBjYW4gYmUgbW9kaWZpZWQgbGlrZSBzbzpcbi5pY29uLW5hbWUge1xuICBmb250LXNpemU6IDMycHg7XG4gIGNvbG9yOiByZWQ7XG59XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8iLCIuYnV0dG9uIHtcbiAgQGluY2x1ZGUgdHlwby1idXR0b24oKTtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcblxuICAmLmNsZWFyIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICYuYnV0dG9uLXdpdGgtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmLnJvdW5kZWQge1xuICAgICAgcGFkZGluZzogMTVweCAyNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgfVxuXG4gICYubGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgIGNvbG9yOiAjNGQ0YzRjO1xuICAgIH1cbiAgfVxuXG4gICYuaG9sbG93Lm9uLXN1cmZhY2Utd2hpdGUge1xuICAgIGNvbG9yOiAjMzEzMTMzO1xuICAgIGJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICB9XG5cbiAgJi5ob2xsb3cub24tc3VyZmFjZS1saWdodCB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICYuaG9sbG93Lm9uLXN1cmZhY2UtZGFyayB7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcGFkZGluZzogMTdweCAyM3B4OyBcbiAgfVxufSIsIi8vIEdMT0JBTFxuLy8gLS0tLS0tLS0tXG5cbi5uZXdzLWl0ZW1fX2ltYWdlLFxuLnByb2plY3QtaXRlbV9faW1hZ2UsXG4ucHJvZHVjdC1pdGVtX19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIHBhZGRpbmctdG9wOiA2My4yNSU7XG4gIH1cbn1cblxuLm5ld3MtaXRlbV9faW1hZ2Uge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogNTYuNSU7XG4gIH1cbn1cblxuLnByb2ZpbGUtaXRlbV9faW1hZ2UsXG4ucmVjZW50LXByb2plY3RzX19pdGVtX19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuXG4vLyBDQVJEIE9WRVJMQVlcbi8vIC0tLS0tLS0tLS0tLVxuXG4uY2FyZC1vdmVybGF5IHtcbiAgYm9yZGVyOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbi8vIENBUkQgUFJPRFVDVFxuLy8gLS0tLS0tLS0tLS0tXG5cbi5jYXJkLXByb2R1Y3Qge1xuXG4gIC5wcm9kdWN0LWl0ZW1fX2ltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogNjMuNzUlO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICBoZWlnaHQ6IDEwNXB4O1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgIGhlaWdodDogODVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtX190aXRsZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtX19pY29uIHtcbiAgICAgIC8vcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgICAmLmljb24tdXJtZXQtaW50ZXJjb21zIHtcbiAgICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgICBoZWlnaHQ6IDUycHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pY29uLWNjdHYtcHJvZHVjdHMge1xuICAgICAgICAgIHdpZHRoOiA3NnB4O1xuICAgICAgICAgIGhlaWdodDogNzZweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgd2lkdGg6IDYzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tdXNlci1hcHBzIHtcbiAgICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgICBoZWlnaHQ6IDUycHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pY29uLWZkaS1hY2Nlc3MtY29udHJvbCB7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICB3aWR0aDogNDFweDtcbiAgICAgICAgICAgIGhlaWdodDogNDFweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbi1uZXR3b3JrLWRldmljZXMge1xuICAgICAgICAgIHdpZHRoOiA1N3B4O1xuICAgICAgICAgIGhlaWdodDogNTdweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICB3aWR0aDogMjlweDtcbiAgICAgICAgICAgIGhlaWdodDogMjlweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tYXV0b21hdGlvbi1wcm9kdWN0cyB7XG4gICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2NXB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICB3aWR0aDogNTNweDtcbiAgICAgICAgICAgIGhlaWdodDogNTNweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW1fX3RpdGxlIGg1IHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtX19pbWFnZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIH1cbiAgfVxuXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMge1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlcixcbiAgICAucHJvZHVjdC1pdGVtX19pbWFnZTpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBDQVJEIE5FV1Ncbi8vIC0tLS0tLS0tLVxuXG4uY2FyZC1uZXdzIHtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nICogNDtcblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5uZXdzLWl0ZW1fX3RpdGxlLFxuICAucHJvamVjdC1pdGVtX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG4gIH1cblxuICAubmV3cy1pdGVtX19wdWJsaXNoLWRhdGUsXG4gIC5wcm9qZWN0LWl0ZW1fX2dyb3VwIHtcbiAgICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5uZXdzLWl0ZW1fX3B1Ymxpc2gtZGF0ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG5cbiAgLm5ld3MtaXRlbV9fbW9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICByaWdodDogMTFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICBhOmhvdmVyLFxuICAgIGE6Zm9jdXMge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIC5jYXJkLXNlY3Rpb246YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG5cbiAgICAgIC5uZXdzLWl0ZW1fX21vcmUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcblxuICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5uZXdzLWl0ZW1fX2ltYWdlLFxuICAgIC5wcm9qZWN0LWl0ZW1fX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTgwcHgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDQVJEIFBST0ZJTEVcbi8vIC0tLS0tLS0tLS0tLVxuXG4uY2FyZC1wcm9maWxlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIC5wcm9maWxlLWl0ZW1fX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDI3MHB4O1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTJweCAwO1xuXG4gICAgLnByb2ZpbGUtZGV0YWlsc19fbmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtZGV0YWlsc19fdGl0bGUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtZGV0YWlsc19fdGl0bGUsXG4gICAgLnByb2ZpbGUtZGV0YWlsc19fZGVzY3JpcHRpb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAucHJvZmlsZS1wYW5lbC1vcGVuLXRyaWdnZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIC5wcm9maWxlLWl0ZW1fX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICBoZWlnaHQ6IDE0OHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1kZXRhaWxzLW92ZXJ2aWV3IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4IC0gMjBweCAtIDMwcHggLSAxMTBweCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnByb2ZpbGUtZGV0YWlsc19fbmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9maWxlLWRldGFpbHNfX3RpdGxlIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9maWxlLWRldGFpbHNfX2Rlc2NyaXB0aW9uIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40MztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDQVJEIEFSVElDTEVcbi8vIC0tLS0tLS0tLS0tLVxuXG4uY2FyZC1hcnRpY2xlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuXG4gIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIHAge1xuICAgIEBpbmNsdWRlIHR5cG8tYm9keS0yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibGFjaztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC5jYXJkLWFydGljbGVfX3RpdGxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNhcmQtYXJ0aWNsZV9fYWN0aW9uIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICB9XG59XG5cbi8vIENBUkQgSUNPTlxuLy8gLS0tLS0tLS0tLS0tXG5cbi5jYXJkLWljb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuaWNvbiB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICB9XG5cbiAgLmljb24tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiLy8gSU5QVVRcbi8vIC0tLS0tLS0tLVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cbn1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvciAhaW1wb3J0YW50O1xufVxuOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWltcG9ydGFudDtcbn1cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWltcG9ydGFudDs7XG59XG46LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8vIFNFTEVDVFxuLy8gLS0tLS0tLS0tXG4uc2VsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTtcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG59XG5cbi5zZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAzMic+PHBvbHlnb24gcG9pbnRzPSc5Ljg4MCAxMC42NjcsIDE2LjAwMCAxNi43NzQsIDIyLjEyMCAxMC42NjcsIDI0LjAwMCAxMi41NDcsIDE2LjAwMCAyMC41NDcsIDguMDAwIDEyLjU0Nycgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTM1cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgcmlnaHQ6IDEuMjVyZW07XG4gIHRvcDogN3B4O1xufVxuXG4uc2VsLm9wZW46YmVmb3Jle1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDMyJz48cG9seWdvbiBwb2ludHM9JzkuODgwIDEwLjY2NywgMTYuMDAwIDE2Ljc3NCwgMjIuMTIwIDEwLjY2NywgMjQuMDAwIDEyLjU0NywgMTYuMDAwIDIwLjU0NywgOC4wMDAgMTIuNTQ3JyBzdHlsZT0nZmlsbDogcmdiJTI4MzgsIDM4LCAzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbn1cblxuLnNlbC5hY3RpdmU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTtcbn1cblxuLnNlbF9fcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gIHBhZGRpbmc6IDAuM2VtIDAuNWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5zZWwuYWN0aXZlIC5zZWxfX3BsYWNlaG9sZGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2VsX19wbGFjZWhvbGRlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAxLjI1cmVtO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMC4zZW0gMC41ZW07XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1wbGFjZWhvbGRlcik7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNlbC5hY3RpdmUgLnNlbF9fcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5zZWxfX2JveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1OHB4O1xuICBsZWZ0OiAtMXB4O1xuICByaWdodDogLTFweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbi5zZWwuYWN0aXZlIC5zZWxfX2JveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvL2FuaW1hdGlvbjogZmFkZUluRG93biA1MDBtcztcbn1cblxuLnNlbF9fYm94X19vcHRpb25zIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc2VsX19ib3hfX29wdGlvbnMuc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uc2VsX19ib3hfX29wdGlvbnM6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLyogPT09PT0gS2V5ZnJhbWVzID09PT09ICovXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZJTFRFUiBCQVJcbi8vIC0tLS0tLS0tLS1cblxuLmZpbHRlci1iYXIge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5maWx0ZXItYmFyX19fdHJpZ2dlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuZmlsdGVyLWJhcl9fdHJpZ2dlcl9fYnV0dG9uIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLnRyaWdnZXItYWN0aW9uLWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxufVxuXG4uZmlsdGVyLWJhciAuZm9ybS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1mbG93OiByb3c7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cblxuICAgIC5zZWxfX3BsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlci1iYXJfX3NlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIG1hcmdpbjogMjBweCAxMHB4O1xuICB9XG5cbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIHR5cG8tc3VidGl0bGUtMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1yaWdodDogMjJweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG5cbiAgLnNlbCB7XG5cbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXG4gICAgLnNlbF9fcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc2VsX19wbGFjZWhvbGRlcjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnNlbF9fYm94IHtcbiAgICAgIHRvcDogMzNweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICMyNjI2MjY7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgICAuc2VsX19ib3hfX29wdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubmV3c19fZmlsdGVyLWJhcl9fdG9waWNzIC5zZWwsXG4gICYuZmlsdGVyLWJhcl9fcHJvZHVjdC1ncm91cCAuc2VsIHtcbiAgICB3aWR0aDogMTg4cHg7XG5cbiAgICAuc2VsX19ib3gge1xuICAgICAgd2lkdGg6IDIyOHB4O1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5uZXdzX19maWx0ZXItYmFyX19zb3J0IC5zZWwsXG4gICYuZmlsdGVyLWJhcl9fc3RhdGUgLnNlbCB7XG4gICAgd2lkdGg6IDEwOHB4O1xuXG4gICAgLnNlbF9fYm94IHtcbiAgICAgIHdpZHRoOiAxNDhweDtcbiAgICAgIGxlZnQ6IC0yMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYWR2YW5jZWQtc2VhcmNoLWZvcm1fX2J1dHRvbi5idXR0b24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM4MDdlN2U7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTVweDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDT05UQUNUIEZPUk1cbi8vIC0tLS0tLS0tLS0tLVxuXG4ud3BjZjcge1xuXG4gIC5maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAmOnZhbGlkIHtcbiAgICAgIC8vIEhpZGVzIHRoZSBsYWJlbFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgfVxuXG4gICAgJi53cGNmNy1ub3QtdmFsaWQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI2MjYyNjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjY2FjYTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuaW5wdXQtY29tcGxldGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgJjpmb2N1cyArIGxhYmVsLFxuICAgICYuaW5wdXQtY29tcGxldGUgKyBsYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiAjODA3ZTdlO1xuICAgICAgZm9udC1zaXplOiA3MCU7XG4gICAgICBwYWRkaW5nOiAxcHggNnB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLnNlbC5pbnB1dC1jb21wbGV0ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQgMC4ycyxcbiAgICAgIGNvbG9yIDAuMnMsXG4gICAgICB0b3AgMC4ycyxcbiAgICAgIGJvdHRvbSAwLjJzLFxuICAgICAgcmlnaHQgMC4ycyxcbiAgICAgIGxlZnQgMC4ycztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICM4MDdlN2U7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTJweDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgLy9wYWRkaW5nOiA0cHggNnB4IDIwcHggNnB4O1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgKyBsYWJlbCxcbiAgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCxcbiAgaW5wdXQuaW5wdXQtY29tcGxldGUgKyBsYWJlbCB7XG4gICAgdG9wOiAtMTBweDtcbiAgICBsZWZ0OiAxMnB4O1xuICAgIHotaW5kZXg6IDk5OTtcbiAgfVxuXG4gIC53cGNmNy1ub3QtdmFsaWQtdGlwICsgbGFiZWwge1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogMTJweDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6ICM4MDdlN2U7XG4gICAgZm9udC1zaXplOiA3MCU7XG4gICAgcGFkZGluZzogMXB4IDZweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuXG4gIC53cGNmNy1zdWJtaXQge1xuICAgIEBpbmNsdWRlIHR5cG8tYnV0dG9uKCk7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBwYWRkaW5nOiAyMXB4IDI4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIGJvdHRvbTogMTJweDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgfVxuXG4gIC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbiAgLndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI4O1xuICB9XG5cblxuICAuYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG59IiwiaHRtbC5sYi1kaXNhYmxlLXNjcm9sbGluZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIFBvc2l0aW9uIGZpeGVkIHJlcXVpcmVkIGZvciBpT1MuIEp1c3QgcHV0dGluZyBvdmVyZmxvdzogaGlkZGVuOyBvbiB0aGUgYm9keSBpcyBub3QgZW5vdWdoLiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbn1cblxuLmxpZ2h0Ym94T3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGlnaHRib3gge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk5OTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmxpZ2h0Ym94IC5sYi1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTgwcHgpICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5saWdodGJveCBhIGltZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmxiLW91dGVyQ29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAqem9vbTogMTtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTgwcHgpICFpbXBvcnRhbnQ7XG5cbiAgLyogQmFja2dyb3VuZCBjb2xvciBiZWhpbmQgaW1hZ2UuXG4gICAgIFRoaXMgaXMgdmlzaWJsZSBkdXJpbmcgdHJhbnNpdGlvbnMuICovXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ubGItb3V0ZXJDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sYi1sb2FkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDMlO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDI1JTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5sYi1jYW5jZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5sYi1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5sYi1jb250YWluZXIgPiAubmF2IHtcbiAgbGVmdDogMDtcbn1cblxuLmxiLW5hdiBhIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmxiLXByZXYsIC5sYi1uZXh0IHtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyKCk7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZDRjNGM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXG4gIC5pY29uIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgY29sb3I6ICNjY2NhY2E7XG4gIH1cbn1cblxuLmxiLW5leHQge1xuICByaWdodDogLTUwcHg7XG59XG5cbi5sYi1wcmV2IHtcbiAgbGVmdDogLTUwcHg7XG59XG5cbi5sYi1uYXYgYS5sYi1wcmV2OmhvdmVyLFxuLmxiLW5hdiBhLmxiLW5leHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuICBcbn1cblxuLmxiLWRhdGFDb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gICp6b29tOiAxO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxiLWRhdGFDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sYi1kYXRhIHtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGNvbG9yOiAjY2NjO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubGItZGF0YSAubGItZGV0YWlscyB7XG4gIHdpZHRoOiA0MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xufVxuXG4ubGItZGF0YSAubGItY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5sYi1kYXRhIC5sYi1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmxiLWNhdGVnb3J5IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2NjY2FjYTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmxiLWRlc2NyaXB0aW9uIHtcbiAgd2lkdGg6IDU1JTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTM7XG4gIGNvbG9yOiAjY2NjYWNhO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGItZGF0YSAubGItbnVtYmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBsZWZ0O1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4ubGItY2xvc2VDb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICByaWdodDogLTUwcHg7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkNGM0Yztcbn1cblxuLmxiLWNsb3NlIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmljb24ge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBjb2xvcjogI2NjY2FjYTtcbiAgfVxufVxuXG4ubGItY2xvc2U6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAuaWNvbiB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbn0iLCIubWVkaWEtb2JqZWN0LXNlY3Rpb24gLm1lZGlhLW9iamVjdC1zZWN0aW9uX19jb250ZW50X190aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xufVxuXG5wLm1lZGlhLW9iamVjdC1zZWN0aW9uX19jb250ZW50X19kZXNjcmlwdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufSIsIi8vIEdMT0JBTFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgY29sb3I6ICRibGFjaztcbn1cblxuLm9yYml0LXByZXZpb3VzLFxuLm9yYml0LW5leHQge1xuICB0b3A6IDQ1JTtcbiAgY29sb3I6ICMzMTMxMzE7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgLmljb24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLm9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC8vYm90dG9tOiAzMHB4O1xuXG4gIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk7XG4gICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC01cHg7XG4gICAgICByaWdodDogLTVweDtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICBib3JkZXI6IDVweCBzb2xpZCByZ2JhKDEyOCwgMTI2LCAxMjYsIDAuNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDVweCBzb2xpZCByZ2JhKDM4LCAzOCwgMzgsIDAuNSk7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uOmhvdmVyLFxuICBidXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBidXR0b24uaXMtYWN0aXZlOmhvdmVyLFxuICBidXR0b24uaXMtYWN0aXZlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIT01FIEhFUk8gU0xJREVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbi5oZXJvLXNsaWRlciB7XG5cbiAgLm9yYml0LWltYWdlLFxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDQzdncgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgaGVpZ2h0OiA1MS43NXZ3ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgaGVpZ2h0OiA2OXZ3ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDQ5MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm9yYml0LWNhcHRpb24gLmZpZ2NhcHRpb24tdHJhbnNwYXJlbnQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDc2MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc5KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSkgMTAwJSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDMwcHggODBweDtcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgd2lkdGg6IDY0MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1sZWZ0OiA2NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNjVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmhlcm8tc2xpZGVyLWl0ZW1fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICB9XG4gIH1cblxuICAuaGVyby1zbGlkZXItaXRlbV9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIGJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgfVxufVxuXG4uaG9tZS1zZWN0aW9uX19oZXJvLXNsaWRlciBpbWcge1xuICBoZWlnaHQ6IDgyOHB4O1xufVxuXG5cbi8vIFBST0RVQ1QgQkFOTkVSIFNMSURFUlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5iYW5uZXItc2xpZGVyIC5vcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1jZW50ZXI7XG4gIGJvdHRvbTogNTVweDtcbiAgbWFyZ2luOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cbiAgLmJhbm5lci1zbGlkZXIgLm9yYml0LWZpZ3VyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmJhbm5lci1zbGlkZXIgLm9yYml0LWltYWdlIHtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA1MDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi50YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbn1cblxuLnRhYnMgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxOHB4IDI0cHg7XG4gIH1cbn1cblxuLnRhYnMtdGl0bGU6Zmlyc3Qtb2YtdHlwZSBhIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMzBweDtcbn1cblxuLnRhYnMtdGl0bGU6bGFzdC1vZi10eXBlIGEge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMzBweDtcbn1cblxuLnRhYnMtcGFuZWwge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufSIsImJvZHkuYWJvdXQge1xuXG4gIC5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cblxuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuXG4gICNvdXItcGVvcGxlLmFydGljbGUtY29udGVudF9fc2VjdGlvbl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDc1cHg7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1saXN0IGg1IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLnByb2ZpbGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgXG4gIC5wcm9maWxlLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgLmNhcmQgYS5wcm9maWxlLXBhbmVsLW9wZW4tdHJpZ2dlciB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogIzRkNGM0YztcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMTlweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1kZXRhaWxzLWZ1bGxfX3BhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgfVxuXG4gIC5wcm9maWxlLWRldGFpbHMtZnVsbF9fY29udGFpbmVyIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDtcblxuICAgICAgLmdyaWQteCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY2VsbCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDI2OHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fbmFtZSxcbiAgICAgIC5wcm9maWxlLWRldGFpbHMtZnVsbC1pdGVtX19wb3NpdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLWRldGFpbHMtZnVsbC1pdGVtX19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtZGV0YWlscy1mdWxsLWl0ZW1fX2Rlc2NyaXB0aW9uIHAge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fY29udGFjdCB7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1kZXRhaWxzLWZ1bGxfX21vcmUuYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtZGV0YWlscy1mdWxsX19wYW5lbF9fY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWRldGFpbHMtZnVsbF9fcGFuZWxfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLnByb2ZpbGUtZGV0YWlscy1mdWxsX19tb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cbiAgICAjb3VyLWNvbXBhbnkge1xuXG4gICAgICAuYXJ0aWNsZS1ib2R5IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3BhcmFncmFwaCB7XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjdXJtZXQtZ3JvdXAge1xuXG4gICAgICAuYXJ0aWNsZS1jb250ZW50X19zZWN0aW9uX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3BhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI291ci1wZW9wbGUge1xuXG4gICAgICAjb3VyLXBlb3BsZV9wcm9maWxlLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZXMtaGVhZGluZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gIFxuICAgICAgLmFydGljbGUtY29udGVudF9fc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgfVxuICBcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3RleHQtYXJlYSBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweCFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5vdXItcGVvcGxlX19tb3JlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDE4cHg7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImJvZHkuY2FyZWVycyAuYXJ0aWNsZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG59XG5cbi5jYXJlZXItam9iLWxpc3QtaXRlbV9fdGl0bGUge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmVlci1qb2ItbGlzdC1pdGVtX19sb2NhdGlvbiB7XG4gIEBpbmNsdWRlIHR5cG8tYm9keS0yO1xuICBjb2xvcjogJGJsYWNrO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uY2FyZWVyLWpvYi1saXN0LWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgdWwge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmpvYi1saXN0LWFjY29yZGlvbiB7XG5cbiAgaDQge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gIH1cbiAgXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBjb2xvcjogIzY2NjU2NTtcbiAgICBwYWRkaW5nLXRvcDogNDZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjZweDtcbiAgXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbiAgXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIFxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIGNvbG9yOiAjNjY2NTY1O1xuICB9XG4gIFxuICAuYWNjb3JkaW9uLXRyaWdnZXIge1xuICAgIGZsb2F0OiByaWdodDtcblxuICAgIC5pY29uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgfVxuICB9XG4gIFxuICAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10cmlnZ2VyX19jbG9zZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAuY2FyZWVyLWpvYi1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLWpvYi1saXN0LWl0ZW1fX2xvY2F0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cbiAgXG4gIFxuICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdHJpZ2dlcl9fb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIFxuICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdHJpZ2dlcl9fY2xvc2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgXG4gIC5jYXJlZXItam9iLWxpc3QtaXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZmVhdHVyZWQtcHJvZmlsZXMuYXJ0aWNsZS1jb250ZW50X19zZWN0aW9uX19tYWluIHtcbiAgcGFkZGluZy10b3A6IDEwNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDVweDtcbiAgfVxufSIsIi5jb250YWN0LXBhZ2UtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNjBweDtcbiAgcGFkZGluZy1yaWdodDogMTYwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuXG4ucHJvZHVjdC1lbnF1aXJ5X19vZmZpY2VzLFxuLnNlcnZpY2UtZW5xdWlyeV9fb2ZmaWNlcyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5cbi5wcm9kdWN0LWVucXVpcnlfX29mZmljZV9fbWFpbCBhLmJ1dHRvbi5jbGVhciB7XG4gIGNvbG9yOiAjNjY2NTY1O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cblxuLnByb2R1Y3QtZW5xdWlyeV9fZm9ybSxcbi5zZXJ2aWNlLWVucXVpcnlfX2Zvcm0ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgZm9ybSB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZm9ybSB7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDYwcHgpO1xuICAgIH1cblxuICAgIGg0LnNlY3Rpb24tdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhY3QtcGFnZS1jb250YWluZXIgLnNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA3NnB4O1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi5wcm9kdWN0LWVucXVpcnlfX29mZmljZXMgc2VjdGlvbixcbi5zZXJ2aWNlLWVucXVpcnlfX3NlY3Rpb24gc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBmb250LXNpemU6IDE2cHg7XG5cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtZW5xdWlyeV9fb2ZmaWNlX19pdGVtIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICM2NjY1NjU7XG59XG5cbi5wcm9kdWN0LWVucXVpcnlfX29mZmljZV9fYWRkcmVzcyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gIC50aHVtYm5haWwge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvZHktZm9udC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59IiwiLmZhcS1pbnRyb2R1Y3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogNDVweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuXG4uZmFxLWludHJvZHVjdGlvbiAuYXJ0aWNsZS1ib2R5IHAge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuLmZhcS1jYXRlZ29yeS1zZWN0aW9uIHtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgaDQuZmFxLWNhdGVnb3J5LXNlY3Rpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gIH1cbn1cblxuLmZhcS1hY2NvcmRpb24ge1xuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcblxuICAgIGg1IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlLFxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfinJUnO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZmFxLWNhdGVnb3J5LXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgfVxufSIsIiNzaXRlLWZvb3RlciB7XG4gIEBpbmNsdWRlIHR5cG8tYm9keS0xO1xuICBjb2xvcjogIzgwN2U3ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNjtcblxuICAucGFnZS1ib3R0b20ge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCAjNGQ0YzRjIHNvbGlkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogIzgwN2U3ZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLnNpdGUtZm9vdGVyX190b3Age1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzdweDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWJyYW5kIHN2ZyB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICB3aWR0aDogNzZweDtcbiAgICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaXRlLWZvb3Rlcl9fbWlkZGxlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgICB9XG5cbiAgfVxuXG4gIC5mb290ZXItbGlua3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDQycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSB0eXBvLW1lbnU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zb2NpYWwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgIC5zb2NpYWwtY29udGFpbmVyX190aXRsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc29jaWFsLWljb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5zb2NpYWwtaW5zdGFncmFtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC5pY29uLWluc3RhZ3JhbSB7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24tbGlua2VkaW4ge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgIFxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjY2NjYWNhO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC1kZXRhaWxzIHtcbiAgICAgIEBpbmNsdWRlIHR5cG8tYm9keS0xO1xuICAgICAgY29sb3I6ICM4MDdlN2U7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5jb250YWN0LWRldGFpbHNfX25hbWUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICNjY2NhY2E7XG4gICAgICB9XG5cbiAgICAgIC5jb250YWN0LWRldGFpbHNfX2FkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb3B5cmlnaHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgfVxuXG4gICAgLmRlc2lnbmVkLWJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZGVzaWduZWQtYnkgc3ZnIHtcbiAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgaGVpZ2h0OiA0N3B4O1xuICAgICAgZmlsbDogJGJvZHktZm9udC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiA2OHB4O1xuICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgZmlsbDogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2lnbmVkLWJ5IHNwYW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIjZGVmYXVsdC1zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4vLyBUT1AgTElOS1Ncbi8vIC0tLS0tLS0tLVxuXG4udG9wLWxpbmsge1xuXG4gIC5tZW51IHtcbiAgICBib3JkZXI6IDFweCAkbGlnaHQtZ3JheSBzb2xpZDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIycHg7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUgbGkgYSB7XG4gICAgQGluY2x1ZGUgdHlwby1tZW51O1xuICAgIG1hcmdpbjogMThweCAxNHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAubWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICB9XG59XG5cbiNzaXRlLWxvZ28ge1xuICBmb250LXNpemU6IDQwcHg7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogLTE3cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgIG1hcmdpbi10b3A6IC0zMXB4O1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogOTZweDtcbiAgICBoZWlnaHQ6IDM5cHg7XG4gICAgZmlsbDogJGJsYWNrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbiNnbG9iYWwtbmF2IHtcblxuICAubWVudSBhIHtcbiAgICBAaW5jbHVkZSB0eXBvLW1lbnU7XG4gICAgbWFyZ2luOiAzMHB4IDIwcHggMjhweCAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjNweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICAgIG1hcmdpbjogMzBweCAxNXB4IDI4cHggMTVweDtcbiAgICB9XG4gIH1cblxuICAubWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGJsYWNrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIzcHg7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxufVxuXG4vLyBGSVhFRFxuLy8gLS0tLS0tLS0tXG5cbiNzdGlja3ktc2l0ZS1oZWFkZXIuZml4ZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgei1pbmRleDogOTk5OTtcblxuICAuc2l0ZS1oZWFkZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pe1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY3cHggZG93bil7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRvcC1saW5rIC5tZW51IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAuaGVhZGVyLWJhbm5lciB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICNzaXRlLWxvZ28ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICBAbWVkaWEgI3ticmVha3BvaW50KDc2OHB4KX0gYW5kICN7YnJlYWtwb2ludCgxMDIzcHggZG93bil9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NpdGUtbG9nbyBzdmcge1xuICAgICAgd2lkdGg6IDc2cHg7XG4gICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICBmaWxsOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAjZ2xvYmFsLW5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE0cHg7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudG9wLWxpbmsgLm1lbnUgYSxcbiAgI2dsb2JhbC1uYXYgYSB7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICB9XG4gIH1cblxuICAjZ2xvYmFsLW5hdiBhIHtcbiAgICBtYXJnaW46IDM0cHggMjBweCAwIDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgxMDI0cHggZG93bikge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAyNnB4IDEwcHggMCAxMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAje2JyZWFrcG9pbnQoNzY4cHgpfSBhbmQgI3ticmVha3BvaW50KDEwMjNweCBkb3duKX0ge1xuICAgICAgbWFyZ2luOiAyNnB4IDZweCAwIDZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgxMDI0cHggZG93bikge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoMTAyNHB4IGRvd24pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dsb2JhbC1uYXYgbGkuY3VycmVudC1tZW51LWl0ZW0gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoMTAyNHB4IGRvd24pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIC50b3AtbGluayB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gIH1cblxuICAudG9wLWxpbmsgLm1lbnUgYSB7XG4gICAgbWFyZ2luOiAzNHB4IDE0cHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW46IDI2cHggMTBweCAyNnB4IDEwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7YnJlYWtwb2ludCg3NjhweCl9IGFuZCAje2JyZWFrcG9pbnQoMTAyM3B4IGRvd24pfSB7XG4gICAgICBtYXJnaW46IDI2cHggNnB4IDAgNnB4O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50ICgxMDI0cHggZG93bikge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudG9wLWxpbmsgLm1lbnUgbGkuY3VycmVudC1tZW51LWl0ZW0gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICR3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTU9CSUxFIENPTVBBQ1QgSEVBREVSXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoNzY3cHggZG93bikge1xuICAudG9wLWxpbmssXG4gICNnbG9iYWwtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI2RlZmF1bHQtc2l0ZS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zaXRlLWhlYWRlci1jb250YWluZXIge1xuICAgIGhlaWdodDogNzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAjc2l0ZS1sb2dvIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogNzZweDtcbiAgICAgIGhlaWdodDogMzFweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ09NUEFDVCBOQVZJR0FUSU9OIFRPR0dMRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jbmF2LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICBsZWZ0OiAzMHB4O1xuICBwYWRkaW5nOiAxMHB4IDIycHggMTBweCAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC50b2dnbGUtbWVudS1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgI21lbnUtaWNvbixcbiAgI21lbnUtaWNvbjpiZWZvcmUsXG4gICNtZW51LWljb246YWZ0ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgI21lbnUtaWNvbjpiZWZvcmUge1xuICAgIHRvcDogLTVweDtcbiAgfVxuXG4gICNtZW51LWljb246YWZ0ZXIge1xuICAgIGJvdHRvbTogLTVweDtcbiAgfVxuXG4gICNtZW51LWljb24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbiNkZWZhdWx0LXNpdGUtaGVhZGVyLmZpeGVkIHtcblxuICAudG9nZ2xlLW1lbnUtbGFiZWwge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICNtZW51LWljb24sXG4gICNtZW51LWljb246YmVmb3JlLFxuICAjbWVudS1pY29uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuXG4gICNtZW51LWljb24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1PREFMIFBBTkVMXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5tb2RhbCB7XG4gIG9wYWNpdHk6IDAuOTU7XG59XG5cbi5tb2RhbC1wYW5lbCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLm1lbnUge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgc3BhbiB7XG4gICAgICBwYWRkaW5nOiAxNHB4IDIxcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJjpob3ZlciBzcGFuLFxuICAgICY6Zm9jdXMgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgbGkuY3VycmVudC1tZW51LWl0ZW0gYSBzcGFuIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgbGkuY3VycmVudC1tZW51LWl0ZW0gYSBzcGFuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDE1cHg7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICB9XG59XG5cbiNkZWZhdWx0LXNpdGUtaGVhZGVyLmlzLWRvd24gLm1vZGFsLXBhbmVsIHtcblxuICBsaS5jdXJyZW50LW1lbnUtaXRlbSBhIHNwYW4ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIGxpLmN1cnJlbnQtbWVudS1pdGVtIGEgc3BhbjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgbGkuY3VycmVudC1tZW51LWl0ZW0gYTpob3ZlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiYm9keS5ob21lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4uaG9tZS1zZWN0aW9uX19ob3ctY2FuLXdlLWhlbHAge1xuICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDVweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgcGFkZGluZzogNzVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTI1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KDc2OHB4IGRvd24pIHtcbiAgICBwYWRkaW5nOiA3NXB4IDc1cHggNjBweCA3NXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgcGFkZGluZzogNjBweCAyMHB4IDYwcHggMjBweDtcbiAgfVxuXG4gIC5ob3ctY2FuLXdlLWhlbHBfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgfVxuICB9XG5cbiAgLmhvdy1jYW4td2UtaGVscF9fZGVzY3JpcHRpb24ge1xuICAgIEBpbmNsdWRlIGJsb2NrLWNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogNzAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OHB4IGRvd24pIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgIH1cbiAgfVxuXG4gIC5ob3ctY2FuLXdlLWhlbHBfX2NhcmRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OHB4IGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAuY2FyZC1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5ob3ctaXRlbV9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDc2OHB4IGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcblxuICAgICAgICAuY2FyZC1zZWN0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuXG4gICAgICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaG93LWl0ZW1fX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtc2VjdGlvbl9fcHJvZHVjdC1yYW5nZSB7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgZG93bikge1xuICAgIGhlaWdodDogNTMwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcbiAgICBoZWlnaHQ6IDQxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGFnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDgxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgZG93bikge1xuICAgICAgaGVpZ2h0OiA1MzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDQxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtc2VjdGlvbl9fcHJvZHVjdC1yYW5nZV9fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LDM4LDM4LDAuNSk7XG4gICAgd2lkdGg6IDQyMHB4O1xuICAgIGhlaWdodDogNDAycHg7XG4gICAgcGFkZGluZzogMzhweCA5MHB4IDM4cHggNTBweDtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODQwcHggZG93bikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMzg5cHg7XG4gICAgICBoZWlnaHQ6IDM1MnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNjVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGhlaWdodDogMjkycHg7XG4gICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtc2VjdGlvbl9fcHJvZHVjdC1yYW5nZV9fdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICB9XG5cbiAgLmhvbWUtc2VjdGlvbl9fcHJvZHVjdC1yYW5nZV9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4cHggZG93bikge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaG9tZS1zZWN0aW9uX19yZWNlbnQtcHJvamVjdHMge1xuICBwYWRkaW5nLXRvcDogNzVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNjBweDtcblxuICAgIC5wYWdlLWNvbnRhaW5lciAge1xuICAgICAgd2lkdGg6IDg2NHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDg0MHB4IGRvd24pIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTI1cHg7XG5cbiAgICAucGFnZS1jb250YWluZXIgIHtcbiAgICAgIHdpZHRoOiA0ODBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgZG93bikge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAucGFnZS1jb250YWluZXIgIHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtc2VjdGlvbl9fcmVjZW50LXByb2plY3RzX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4cHggZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5yZWNlbnQtcHJvamVjdHNfX2l0ZW1fX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoMTAyNHB4IGRvd24pIHtcbiAgICAgIGhlaWdodDogMzExcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoNzY4cHggZG93bikge1xuICAgICAgaGVpZ2h0OiAzNjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcbiAgICAgIGhlaWdodDogMjI2cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAucmVjZW50LXByb2plY3RzX19pdGVtX19kZXRhaWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIHBhZGRpbmc6IDYwcHggNDBweDtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoMTAyNHB4IGRvd24pIHtcbiAgICAgIGhlaWdodDogMzExcHg7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDc2OHB4IGRvd24pIHtcbiAgICAgIGhlaWdodDogMzYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoNDgwcHggZG93bikge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICAucmVjZW50LXByb2plY3RzX19pdGVtX19kZXRhaWxfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoMTAyNHB4IGRvd24pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50ICg0ODBweCBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWNlbnQtcHJvamVjdHNfX2l0ZW1fX2RldGFpbF9fdHlwZSB7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAucmVjZW50LXByb2plY3RzX19pdGVtX19kZXRhaWxfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVjZW50LXByb2plY3RzX19pdGVtX19kZXRhaWxfX2J1dHRvbiB7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICB3aWR0aDogMTI5cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODQwcHggZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuICB9XG5cbiAgLm9yYml0LWNvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgxMDI0cHggZG93bikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIGxlZnQ6IC0xMDBweDtcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICByaWdodDogLTEwMHB4O1xuICB9XG5cbiAgLmhvbWUtc2VjdGlvbl9fcmVjZW50LXByb2plY3RzX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmJvZHkuaG9tZSAud2lkZ2V0LWxhdGVzdC1uZXdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgLmNhcmQtbmV3cyAubmV3cy1pdGVtX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtc2VjdGlvbl9fdGl0bGUge1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMjVweDtcbiAgfVxufSIsIkBtaXhpbiBibG9jay1jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufSIsIi8vIEdMT0JBTFxuLy8gLS0tLS0tLS0tXG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnX2dyYWRpZW50LnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZmlnY2FwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIHBhZGRpbmc6IDEzcHggMzBweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uaHIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1peC1ibGVuZC1tb2RlOiB1bmRlZmluZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYwZjA7XG59XG5cbi8vIExBWU9VVCBQQUdFXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbi5sYXlvdXRfX3BhZ2Uge1xuXG4gIC5wYWdlLWhlYWRlciB7XG4gICAgaGVpZ2h0OiAyNjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG5cbiAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgaGVpZ2h0OiAxNzBweDtcblxuICAgICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGUtY29udGVudCB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIExBWU9VVCBQQUdFIFdJREVcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuLmxheW91dF9fcGFnZS13aWRlIHtcblxuICAucGFnZS1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblxuICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDU0OHB4O1xuXG4gICAgICBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC04NXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgfVxuXG4gIH1cbn1cblxuLy8gTEFZT1VUIFBPU1Rcbi8vIC0tLS0tLS0tLS0tXG5cbi5sYXlvdXRfX3Bvc3Qge1xuXG4gIC5icmVhZGNydW1iLFxuICAucGFnZS10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG5cbiAgICAucGFnZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5icmVhZGNydW1iIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgbWFyZ2luLXRvcDogNzNweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgIH1cblxuICAgIGE6aG92ZXIsXG4gICAgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgaDIucGFnZS10aXRsZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGhlaWdodDogNmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICAucGFnZS1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtbmF2aWdhdGlvbiBhIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5uZXdzLWl0ZW0gLnBhZ2UtaGVhZGVyLFxuICAmLm5ld3MtaXRlbSAucGFnZS1oZWFkZXIgLnBhZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDMxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDI5MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgaGVpZ2h0OiAzMzBweDtcbiAgICB9XG4gIH1cblxuICAmLnByb2R1Y3QtaXRlbSAucGFnZS1oZWFkZXIge1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGhlaWdodDogMzYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDIxNnB4O1xuICAgIH1cblxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgIG1hcmdpbi10b3A6IDcycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1yYW5nZS1pY29uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1yYW5nZS1pY29uIC5pY29uIHtcbiAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1uYXZpZ2F0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1oZWFkZXItdG9wIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG5cbiAgICAgICAgLmJyZWFkY3J1bWIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnByb2plY3QtaXRlbSAucGFnZS1oZWFkZXIge1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgLmJyZWFkY3J1bWIge1xuICAgICAgbWFyZ2luLXRvcDogNzJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICBoMi5wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcycHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDI2MHB4O1xuXG4gICAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICBoMi5wYWdlLXRpdGxlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLWNvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLWFzaWRlIHtcbiAgICB0b3A6IDUwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59IiwiLy8gR1JJRCBQQUdFXG4vLyAtLS0tLS0tLVxuXG4ubmV3c19fY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOTBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAubmV3cy1hY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICAubmV3cy1pdGVtLmNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1wYWRkaW5nICogMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmcgKiAyO1xuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIFxuICAgICAgLmNhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgLmNhcmQtbmV3cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNJTkdMRSBQQUdFXG4vLyAtLS0tLS0tLS0tLVxuXG5ib2R5LnNpbmdsZS1uZXdzIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGJvZHkubmV3cy1pdGVtIC5hcnRpY2xlLWFzaWRlIHtcbiAgICAgIHRvcDogNjBweDtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1tZXRhX19jb250ZW50IHtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgICAuYXJ0aWNsZS1tZXRhX19jb250ZW50X19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgZG93bikge1xuICAgICAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxNjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA2MHB4KTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLW1ldGFfX3RvcGljcyxcbiAgICAgICAgLmFydGljbGUtbWV0YV9fYXV0aG9yIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLW1ldGFfX3B1Ymxpc2gtYXQsXG4gICAgICAgIC5hcnRpY2xlLW1ldGFfX3RvcGljcyxcbiAgICAgICAgLmFydGljbGUtbWV0YV9fYXV0aG9yIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtdGFnc19fdGFncy1saXN0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLFwiO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkubGFzdC1pdGVtOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gXG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1tZXRhLXRpdGxlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIFxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1tZXRhX19hdXRob3ItdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1tZXRhX19wdWJsaXNoLWF0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuYXJ0aWNsZS1tZXRhLXRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmFydGljbGUtbWV0YV9fdG9waWNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmFydGljbGUtdGFncy12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICB9XG5cbiAgLmFydGljbGUtbWV0YV9fYXV0aG9yIHtcbiAgICBsaW5lLWhlaWdodDogMS40MztcblxuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1tZXRhX19hdXRob3ItdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuYXJ0aWNsZS1jb250ZW50X19zZWN0aW9uX19tYWluOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gIH1cblxufSIsIi8vIEdMT0JBTFxuLy8gLS0tLS0tXG5cbi5wYWdlLWNvbnRhaW5lciB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICB3aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4ucGFnZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLnBhZ2UtdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgLnBhZ2UtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgLnBhZ2UtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxuICB9XG59XG5cbi5hcnRpY2xlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gIGJvZHkuY29udGFjdCAmIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjU4cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pICB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hcnRpY2xlLWNvbnRlbnQge1xuICBAaW5jbHVkZSB0eXBvLWJvZHktMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX21haW4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLnByb2R1Y3RzICYge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgfVxuXG4gIC5hcnRpY2xlLWJvZHkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4IWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcblxuICAgIC5hcnRpY2xlLWJvZHkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmFydGljbGUtY29udGVudF9fc2VjdGlvbl9fbWFpbjpsYXN0LW9mLXR5cGUgLmFydGljbGUtYm9keSxcbiN1cm1ldC1ncm91cCAuYXJ0aWNsZS1ib2R5LFxuLmZhcS1pbnRyb2R1Y3Rpb24gLmFydGljbGUtYm9keSB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG59XG5cbi5hcnRpY2xlLWFzaWRlIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyMDBweDtcbiAgICB0b3A6IDk2cHg7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgfVxufVxuXG4uYXJ0aWNsZS1ib2R5IHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDIzcHggZG93bikge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogODBweDtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDE2MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHggZG93bikge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDYwcHgpO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIHAubGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIH1cblxuICBoNCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgdWwgPiBsaSA+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgfVxuXG4gIGZpZ3VyZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3BhcmFncmFwaCB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5cbi5hcnRpY2xlLWFuY2hvciB7XG5cbiAgLmFydGljbGUtYW5jaG9yX190aXRsZSB7XG4gICAgQGluY2x1ZGUgdHlwby1ib2R5LTI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogM2JweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG5cbiAgLm1lbnUgYSB7XG4gICAgQGluY2x1ZGUgdHlwby1tZW51O1xuICAgIGNvbG9yOiAjOTk5Nzk3O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIGRvd24pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAgIC5hcnRpY2xlLWFuY2hvcl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1hbmNob3ItY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxNjBweCk7XG4gICAgICB9XG5cbiAgICAgIC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFzdC1pdGVtIGE6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn1cblxuLnNlY3Rpb24tdGl0bGUudG9nZ2xlLXRpdGxlLFxuLmFydGljbGUtY29udGVudF9fc2VjdGlvbl9fdGl0bGUudG9nZ2xlLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGEge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNjBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgLmljb24ge1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG5cbiAgICAuaWNvbi5jbG9zZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICB9XG59XG5cbi5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3RpdGxlLnRvZ2dsZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ib2R5X2NvbnRlbnRfc3R5bGVfYV9saW5rLmJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4vLyBIT1cgV0UgQ0FOIEhFTFBcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5ib2R5Lmhvdy13ZS1jYW4taGVscCB7XG5cbiAgLmFydGljbGUtYW5jaG9yX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5hcnRpY2xlLWFuY2hvcnNfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB1bCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWVudSBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cbiAgICAuYXJ0aWNsZS1ib2R5IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyM3B4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvbnRlbnRfX3NlY3Rpb25fX3RpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cblxuICAgIC5tZWRpYS1vYmplY3Qtc2VjdGlvbl9fbWVkaWEgaW1nIHtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cblxuICAgIC5tZWRpYS1vYmplY3Qtc2VjdGlvbl9fY29udGVudF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAubWVkaWEtb2JqZWN0LXNlY3Rpb25fX2NvbnRlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAubWVkaWEtb2JqZWN0LXNlY3Rpb25fX2NvbnRlbnQgYS5idXR0b24ge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbn0iLCIvLyBQUk9EVUNUIFJBTkdFIEdSSURcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdHMtaW50cm8gLnBhZ2UtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xufVxuXG4ucHJvZHVjdC1yYW5nZS1jb250YWluZXIgLnBhZ2UtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ucHJvZHVjdC1yYW5nZS1jb250YWluZXJfX3RpdGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG5cbi5wcm9kdWN0LWl0ZW0uY2VsbCB7XG4gIHBhZGRpbmc6IDAgNDVweDtcblxuICAuY2FyZC1wcm9kdWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICB9XG59XG5cbi5wcm9kdWN0cy1pbnRybyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDVweDtcblxuICAucHJvZHVjdHMtaW50cm9fX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcblxuICAgIC5wcm9kdWN0cy1pbnRyb19fdGl0bGUgaDQge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNjVweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nOiA0MHB4IDMwcHggNzNweCAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAucGFnZS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdHMtaW50cm9fX3RpdGxlIGg0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RzLWludHJvX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI2O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1yYW5nZS1jb250YWluZXIge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHBhZGRpbmctdG9wOiA3MnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHggIWltcG9ydGFudDtcblxuICAgIC5wcm9kdWN0LXJhbmdlLWNvbnRhaW5lcl9fdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcmFuZ2UtY29udGFpbmVyX190aXRsZSBoNCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcmFuZ2UtbGlzdCB7XG4gICAgICB3aWR0aDogMzMycHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0uY2VsbCB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLXByb2R1Y3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXG4gIC5wcm9kdWN0LXJhbmdlLWxpc3Qge1xuICAgIHdpZHRoOiAxMDA0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cblxuICAucHJvZHVjdC1pdGVtLmNlbGwge1xuICAgIHBhZGRpbmc6IDAgMzZweDtcblxuICAgIC5jYXJkLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXG4gIC5wcm9kdWN0LXJhbmdlLWxpc3Qge1xuICAgIHdpZHRoOiA2OTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxuXG4gIC5wcm9kdWN0LWl0ZW0uY2VsbCB7XG4gICAgcGFkZGluZzogMCAzNnB4O1xuXG4gICAgLmNhcmQtcHJvZHVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MnB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBTSU5HTEUgUEFHRVxuLy8gLS0tLS0tLS0tLS1cblxuYm9keS5wcm9kdWN0LWl0ZW0gLmFydGljbGUtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucHJvZHVjdC1pdGVtLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAtMTAycHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4vLyBiYW5uZXJcblxuLnByb2R1Y3QtaXRlbV9fYmFubmVyIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXJnaW46IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwcmVtO1xuICB9XG59XG5cbi8vIG5hdmlnYXRpb25cbi5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fbmF2aWdhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgcGFkZGluZy1sZWZ0OiA2NXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA2NXB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTY4MHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm1lbnUgYSB7XG4gICAgcGFkZGluZzogMjhweCAxNXB4O1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgfVxuXG4gICYuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDExMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgd2lkdGg6IDEyMDBweDtcbiAgfVxufVxuXG4vLyBzZWN0aW9uX19wcm9kdWN0LWl0ZW0tZGV0YWlscyBnbG9iYWxcblxuLnNlY3Rpb25fX3Byb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBwYWRkaW5nLXRvcDogNTJweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHggIWltcG9ydGFudDtcblxuICAgICYucHJvZHVjdC1pdGVtLWRldGFpbHNfX2FwcGxpY2F0aW9ucyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYucHJvZHVjdC1pdGVtLWRldGFpbHNfX3JhbmdlLWhpZ2hsaWdodHMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19zdXBwb3J0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4IWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19vdmVydmlldyB7XG4gICAgcGFkZGluZy10b3A6IDEwNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICB9XG5cbiAgJi5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fa2V5LWZlYXR1cmVzLFxuICAmLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19maW5pc2hlcy1maXR0aW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fYXBwbGljYXRpb25zIHtcbiAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAzcHg7XG4gIH1cblxuICAmLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19zdXBwb3J0IHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgfVxuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICByaWdodDogLTE2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGg1IHtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6ICM2NjY1NjU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19ncmlkLWxpc3Qge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTc1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuXG4ucHJvZHVjdC1pdGVtLWRldGFpbHNfX2dyaWQtaXRlbSB7XG4gIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDI4MHB4KSAvIDMpO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA3NXB4O1xuICAgIG1hcmdpbi1yaWdodDogNzVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICB3aWR0aDogY2FsYygoMTAwdncgLSAyODBweCkgLyAyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vIG92ZXJ2aWV3XG4ucHJvZHVjdC1pdGVtLWRldGFpbHNfX292ZXJ2aWV3X19oZWFkaW5nIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMzMTMxMzE7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cblxuICBoNSB7XG4gICAgY29sb3I6ICM2NjY1NjU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zODtcbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19vdmVydmlld19fYWN0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIGtleS1mZWF0dXJlc1xuXG4uc2VjdGlvbl9fcHJvZHVjdC1pdGVtLWRldGFpbHMucHJvZHVjdC1pdGVtLWRldGFpbHNfX2tleS1mZWF0dXJlcyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19rZXktZmVhdHVyZXNfX2xpc3Qge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5cbi5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fa2V5LWZlYXR1cmVzX19pdGVtIC5tZWRpYS1vYmplY3Qge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG5cbi5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fa2V5LWZlYXR1cmVzX19pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fa2V5LWZlYXR1cmVzX190aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIH1cbn1cblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19rZXktZmVhdHVyZXNfX2Rlc2NyaXB0aW9uIHtcbiAgLy9saW5lLWhlaWdodDogMS4xMyAhaW1wb3J0YW50O1xufVxuXG4ucHJvZHVjdC1pdGVtLWRldGFpbHNfX2tleS1mZWF0dXJlc19fdHJpZ2dlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucHJvZHVjdC1pdGVtLWRldGFpbHNfX2tleS1mZWF0dXJlc19fdHJpZ2dlciBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuXG5cbiAgJi5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC50cmlnZ2VyLWFjdGlvbi1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzMHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzMHB4O1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgLmljb24ge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX190cmlnZ2VyX2J1dHRvbl9ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBmaW5pc2hlcy1maXR0aW5nXG5cbiNmaW5pc2hlcy1maXR0aW5nIC5zZWN0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzZweDtcbn1cblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19maW5pc2hlcy1maXR0aW5nX19pdGVtIHtcblxuICAmLnN0eWxlLTEsXG4gICYuc3R5bGUtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzMxMzEzMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEzcHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDMxcHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zdHlsZS0xIGg1IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pICB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zODtcbiAgICB9XG4gIH1cblxuICAmLnN0eWxlLTIge1xuXG4gICAgaDUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zdHlsZS0zIGg1IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMzEzMTMxO1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5zdHlsZS0yIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG4vLyBBcHBsaWNhdGlvbnNcblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19hcHBsaWNhdGlvbnMge1xuXG4gIGg1IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogMjNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEzO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICM2NjY1NjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgLy9wYWRkaW5nLWxlZnQ6IDEycHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhbmdlIGhpZ2hsaWdodHNcblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19yYW5nZS1oaWdobGlnaHRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5wYWdlLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmVzcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTAwcHg7XG4gICAgdG9wOiA2MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGJsYWNrLCAkYmxhY2spO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC40cyBlYXNlLWluLW91dDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgdG9wOiA4NnB4O1xuICAgIH1cbiAgfVxuXG4gIC5zci1vbmx5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgI3Byb2R1Y3QtaXRlbS1kZXRhaWxzX19yYW5nZS1oaWdobGlnaHRzX19zbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTYwcHgpIDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICB3aWR0aDogMTYwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICAvL2hlaWdodDogNjAwcHg7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgIC5jYXJkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIH1cblxuICAgICAgLmNhcmQtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMDtcbiAgICAgIH1cblxuICAgICAgLnJhbmdlLWhpZ2hsaWdodHNfX3RpdGxlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5yYW5nZS1oaWdobGlnaHRzX19jYXRlZ29yeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cblxuICAgICAgLnJhbmdlLWhpZ2hsaWdodHNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTM7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cblxuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTIwcHg7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogQWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBBbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMzInPjxwb2x5Z29uIHBvaW50cz0nOS44ODAgMTAuNjY3LCAxNi4wMDAgMTYuNzc0LCAyMi4xMjAgMTAuNjY3LCAyNC4wMDAgMTIuNTQ3LCAxNi4wMDAgMjAuNTQ3LCA4LjAwMCAxMi41NDcnIHN0eWxlPSdmaWxsOiByZ2IlMjgzOCwgMzgsIDM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICAgICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweCA0OHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgICAgIGxlZnQ6IC04MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDZweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDMyJz48cG9seWdvbiBwb2ludHM9JzkuODgwIDEwLjY2NywgMTYuMDAwIDE2Ljc3NCwgMjIuMTIwIDEwLjY2NywgMjQuMDAwIDEyLjU0NywgMTYuMDAwIDIwLjU0NywgOC4wMDAgMTIuNTQ3JyBzdHlsZT0nZmlsbDogcmdiJTI4MzgsIDM4LCAzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHggNDhweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICAgICAgcmlnaHQ6IC04MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDZweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTcwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXNsaWRlW3RhYmluZGV4PVwiLTFcIl0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIC5zbGljay1zbGlkZVt0YWJpbmRleD1cIi0xXCJdIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICBhLmxpZ2h0Ym94LWltYWdlOmhvdmVyLFxuICAgIGEubGlnaHRib3gtaW1hZ2U6Zm9jdXMge1xuXG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHN1cHBvcnRcblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19zdXBwb3J0X190eHQsXG4ucHJvZHVjdC1pdGVtLWRldGFpbHNfX3N1cHBvcnRfX3R4dCBwIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4zODtcbn1cblxuLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19zdXBwb3J0X19hY3Rpb24ge1xuICBtYXJnaW4tbGVmdDogNzVweDtcblxuICBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gIC5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fc3VwcG9ydF9fdHh0LFxuICAucHJvZHVjdC1pdGVtLWRldGFpbHNfX3N1cHBvcnRfX2FjdGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxNjBweCk7XG4gIH1cblxuICAucHJvZHVjdC1pdGVtLWRldGFpbHNfX3N1cHBvcnRfX2FjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblxuICAucHJvZHVjdC1pdGVtLWRldGFpbHNfX3N1cHBvcnQgLnNlY3Rpb24tdGl0bGUge1xuICAgIC8vbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fc3VwcG9ydF9fdHh0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19zdXBwb3J0X19hY3Rpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG59IiwiLmZlYXR1cmVkLXByb2ZpbGVzIC5vcmJpdC1idWxsZXRzIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbi5mZWF0dXJlZC1wcm9maWxlcyAub3JiaXQtd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiA1M3B4O1xufVxuXG4uZmVhdHVyZWQtcHJvZmlsZXMtbGlzdC1pdGVtX19hdmF0YXIge1xuICB3aWR0aDogMjAwcHg7XG5cbiAgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi5mZWF0dXJlZC1wcm9maWxlcy1saXN0LWl0ZW1fX25hbWVcbi5wcm9maWxlLWRldGFpbHMtZnVsbC1pdGVtX19uYW1lIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgY29sb3I6ICM0ZDRjNGM7XG59XG5cbi5mZWF0dXJlZC1wcm9maWxlcy1saXN0LWl0ZW1fX3Bvc2l0aW9uLFxuLnByb2ZpbGUtZGV0YWlscy1mdWxsLWl0ZW1fX3Bvc2l0aW9uIHtcbiAgY29sb3I6ICM0ZDRjNGM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mZWF0dXJlZC1wcm9maWxlcy1saXN0LWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4uZmVhdHVyZWQtcHJvZmlsZXMtbGlzdC1pdGVtX19kZXNjcmlwdGlvbiBwIHtcbiAgQGluY2x1ZGUgdHlwby1ib2R5LTE7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjNGM0YzRjO1xufVxuXG4ucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fYXZhdGFyX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxM3B4O1xufVxuXG4ucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fbmFtZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fcG9zaXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xufVxuXG4ucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fZGVzY3JpcHRpb24gcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4ucHJvZmlsZS1kZXRhaWxzLWZ1bGwtaXRlbV9fY29udGFjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIHNwYW4ge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIH1cbn1cblxuXG5oNi5mZWF0dXJlZC1wcm9maWxlcy1saXN0LWl0ZW1fX25hbWUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjNGM0YzRjO1xufVxuXG4uZmVhdHVyZWQtcHJvZmlsZXMtbGlzdC1pdGVtX19wb3NpdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM0YzRjNGM7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXG4gIC5mZWF0dXJlZC1wcm9maWxlcy1saXN0LWl0ZW1fX2F2YXRhciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgfVxuICB9XG59IiwiLy8gR1JJRCBQQUdFXG4vLyAtLS0tLS0tLVxuXG4ucHJvamVjdF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOTBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAubmV3cy1hY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3QtaXRlbS5jZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmcgKiAyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmcgKiAyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgLmNhcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgIC5jYXJkLW5ld3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3QtaXRlbV9faW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5wcm9qZWN0LWl0ZW1fX3N0YXRlIHtcbiAgY29sb3I6ICNlOWU5ZjI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMTNweCAyNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LCAzOCwgMzgsIDAuNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgaDQucHJvamVjdC1pdGVtX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLnByb2plY3QtaXRlbV9fZ3JvdXAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG4ucmVjZW50LXByb2plY3RzX19pdGVtX19kZXRhaWxfX3R5cGUgc3BhbjphZnRlcixcbi5wcm9qZWN0LWl0ZW1fX2dyb3VwIHNwYW46YWZ0ZXIge1xuICBjb250ZW50OiBcIiwgXCI7XG59XG5cbi5yZWNlbnQtcHJvamVjdHNfX2l0ZW1fX2RldGFpbF9fdHlwZSBzcGFuOmxhc3Qtb2YtdHlwZTphZnRlcixcbi5wcm9qZWN0LWl0ZW1fX2dyb3VwIHNwYW46bGFzdC1vZi10eXBlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmJ1dHRvbl9fbG9hZG1vcmUtYWpheCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBTSU5HTEUgUEFHRVxuLy8gLS0tLS0tLS0tLS1cblxuYm9keS5wcm9qZWN0LWl0ZW0gLmFydGljbGUtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucHJvamVjdC1pdGVtLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IC0xNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4O1xuICB9XG59XG5cbi5wcm9qZWN0LWl0ZW0tY29udGFpbmVyX19zZWN0aW9uX19pbWFnZSB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnByb2plY3QtaXRlbS1jb250YWluZXJfX3NlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2NjY1NjU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogIzY2NjU2NTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0O1xuICB9XG59XG5cbi5wcm9qZWN0LWl0ZW0tY29udGFpbmVyX19zZWN0aW9uX19kZXNjcmlwdGlvbiBzZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IFxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuLnByb2plY3QtaXRlbV9fZGV0YWlscyB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS40NDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHotaW5kZXg6IDk5O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbGVmdDogY2FsYygtNTB2dyAtIDMwcHgpIDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZDogIzI2MjYyNjtcbiAgICAgIHotaW5kZXg6IC0xO1xuICBcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxNjAwcHg7XG4gICAgICAgIGxlZnQ6IC04MzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICB9XG59XG5cbi5wcm9qZWN0LWl0ZW1fX2ZlYXR1cmVkLXByb2R1Y3QtcmFuZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIH1cblxuICAucHJvamVjdC1pdGVtX19mZWF0dXJlZC1wcm9kdWN0LXJhbmdlc19pdGVtIGEge1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIFxuICAgICAgLmNhcmQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcmQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDEyNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMjZweDtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgQGluY2x1ZGUgIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgd2lkdGg6IDEwMnB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDEwMnB4O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cblxuICAgICAgLmljb24tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gIFxuICAgICAgLmljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvamVjdC1pdGVtX19kZXZlbG9wZXIge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgfVxufSIsIi8vIEdMT0JBTFxuLy8gLS0tLS0tLS0tXG5cbi53aWRnZXQge1xuICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogMTE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDExMHB4O1xuICB9XG59XG5cbi53aWRnZXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICB3aWR0aDogMTA4MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4ud2lkZ2V0LWNvbnRlbnRfX2xpc3Qge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICB3aWR0aDogODQwcHg7XG5cbiAgICAud2lkZ2V0LWNvbnRlbnRfX2xpc3RfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLndpZGdldC1jb250ZW50LXRhZyAge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cblxuLndpZGdldC1jb250ZW50LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzlweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgfVxufVxuXG4ud2lkZ2V0LWNvbnRlbnQtcGFyYWdyYXBoIHtcbiAgQGluY2x1ZGUgdHlwby1oZWFkbGluZS01O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLy8gV0lER0VUIFJFTEFURUQgUEFHRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53aWRnZXQtcmVsYXRlZC1wYWdlcyB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXG4gICAgLmNhcmQtYXJ0aWNsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNzVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNDVweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogMTIwcHggODBweCA0NXB4IDgwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nOiAxMDVweCAzMHB4IDQ1cHggMzBweDtcbiAgfVxuXG59XG5cbi8vIFdJREdFVCBMQVRFU1QgTkVXU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53aWRnZXQtbGF0ZXN0LW5ld3MsXG4ud2lkZ2V0LWxhdGVzdC1pbnNpZ2h0cyxcbi53aWRnZXQtcmVsYXRlZC1wcm9qZWN0cyB7XG4gIHBhZGRpbmctdG9wOiAxMDdweDtcbiAgcGFkZGluZy1ib3R0b206IDEzOXB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICBwYWRkaW5nOiA4MHB4IDYwcHggMTAwcHggNjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoODQwcHggZG93bikge1xuICAgIHBhZGRpbmc6IDgwcHggMCAxMjBweCAwO1xuXG4gICAgLndpZGdldC1jb250ZW50X19saXN0X19vdXRlciB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndpZGdldC1jb250ZW50X19saXN0IHtcbiAgICAgIHdpZHRoOiA4NDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIH1cblxuICAgIC53aWRnZXQtY29udGVudC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY3cHggZG93bikge1xuICAgIHBhZGRpbmc6IDQ1cHggMCA1MnB4IDA7XG5cbiAgICAud2lkZ2V0LWNvbnRlbnRfX2xpc3Qge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLndpZGdldC1jb250ZW50LXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGJsYWNrLCAkYmxhY2spO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC40cyBlYXNlLWluLW91dDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODQwcHggZG93bikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NjdweCBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zci1vbmx5IHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAuY2FyZC1uZXdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1jYWxsLXRvLWFjdGlvbiAuYnV0dG9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAubmV3cy1pdGVtLmNlbGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuY2FyZC1uZXdzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgfVxuXG4gICAgLndpZGdldC1jYWxsLXRvLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIC5uZXdzLWl0ZW0uY2VsbCxcbiAgICAucHJvamVjdC1pdGVtLmNlbGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuY2FyZC1uZXdzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpO1xuICAgIH1cblxuICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndpZGdldC1jYWxsLXRvLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAzN3B4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBXSURHRVQgQ0FMTCBUTyBBQ1RJT05cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ud2lkZ2V0LndpZGdldC1jYWxsLXRvLWFjdGlvbiB7XG5cbiAgLndpZGdldC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC53aWRnZXQtY29udGVudC1wYXJhZ3JhcGgge1xuICAgIG1hcmdpbi1ib3R0b206IDQ0cHg7XG4gIH1cblxuICAuY3RhLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMzMTMxMzE7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC53aWRnZXQtY29udGVudCB7XG4gICAgICB3aWR0aDogNzAwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgLndpZGdldC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLndpZGdldC1jb250ZW50LXRhZyB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC53aWRnZXQtY29udGVudC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgIH1cblxuICAgIC53aWRnZXQtY29udGVudC1wYXJhZ3JhcGgge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogNzVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODNweDtcblxuICAgIC53aWRnZXQtY29udGVudC10YWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIH1cblxuICAgIC53aWRnZXQtY29udGVudC1wYXJhZ3JhcGgge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV0lER0VUIE9USEVSIFBST0RVQ1QgUkFOR0Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53aWRnZXQtb3RoZXItcHJvZHVjdC1yYW5nZSB7XG4gIHBhZGRpbmctdG9wOiAxMzhweDtcbiAgcGFkZGluZy1ib3R0b206IDIxM3B4O1xuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmctdG9wOiAxMDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTM1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIC53aWRnZXQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAud2lkZ2V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiA5MDBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IDUyNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgd2lkdGg6IDI5NHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtY29udGVudC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1pY29uIHtcbiAgICB3aWR0aDogMTQ1cHg7XG4gICAgaGVpZ2h0OiAxNDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIHdpZHRoOiAxMjdweDtcbiAgICAgIGhlaWdodDogMTI3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cblxuICAgIC5pY29uLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cbiAgICAud2lkZ2V0LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEyNzVweDtcbiAgICB9XG5cbiAgICAuY2FyZC1pY29uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzN3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzN3B4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICAgIHdpZHRoOiAxODFweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxODFweDtcblxuICAgICAgLmljb24ge1xuICAgICAgICB3aWR0aDogNTZweDtcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgfVxuXG4gICAgICAuaWNvbi1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAucHJvZHVjdC1yYW5nZS1pdGVtIGE6aG92ZXIsXG4gIC5wcm9kdWN0LXJhbmdlLWl0ZW0gYTpmb2N1cyB7XG5cbiAgICAuY2FyZC1pY29uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ5NDk0ZDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG59IiwiaHRtbHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5hLmJ1dHRvbntcbiAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG5idXR0b257XG4gIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuKntcbiAgJjpmb2N1c3tcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLmhvbWUtc2VjdGlvbl9faGVyby1zbGlkZXJ7XG4gIC5idXR0b257XG4gICAgICAmOmhvdmVye1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgY29sb3I6ICMyNjI2MjY7XG4gICAgICB9XG4gIH1cbn1cblxuYm9keXtcblxuICAjc3RpY2t5LXNpdGUtaGVhZGVyLmZpeGVkIC5zaXRlLWhlYWRlci1jb250YWluZXIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgI3N0aWNreS1zaXRlLWhlYWRlciB7XG4gICAgICB0cmFuc2l0aW9uOiBBbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblxuICAgICAgJi5pcy1kb3due1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG5cbiAgICAgICNuYXYtdG9nZ2xlICNtZW51LWljb24uYWN0aXZle1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAjbmF2LXRvZ2dsZSAjbWVudS1pY29ue1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAjbmF2LXRvZ2dsZSAudG9nZ2xlLW1lbnUtbGFiZWx7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgICNnbG9iYWwtbmF2IC5tZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtIGF7XG4gICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAjZ2xvYmFsLW5hdiAubWVudSBhOmhvdmVye1xuICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgJjphZnRlcntcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgfVxuXG4gICNnbG9iYWwtbmF2IC5tZW51IGE6Zm9jdXN7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjhweDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAjZ2xvYmFsLW5hdiAubWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhe1xuICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgJjphZnRlcntcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjYyNjI2O1xuICAgICAgfVxuICB9XG5cbiAgI2dsb2JhbC1uYXYgLm1lbnUgYSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmFmdGVye1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjYWNhO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLDApO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1vLXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICB9XG5cbiAgI2RlZmF1bHQtc2l0ZS1oZWFkZXIuZml4ZWQgI2dsb2JhbC1uYXYgbGkuY3VycmVudC1tZW51LWl0ZW0gYXtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIH1cbiAgfVxuXG4gICNkZWZhdWx0LXNpdGUtaGVhZGVyLmZpeGVkICNnbG9iYWwtbmF2IGF7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIH1cblxuICAjZGVmYXVsdC1zaXRlLWhlYWRlci5maXhlZCAjZ2xvYmFsLW5hdiBhOmhvdmVyLCAjZGVmYXVsdC1zaXRlLWhlYWRlci5maXhlZCAjZ2xvYmFsLW5hdiBhOmZvY3Vze1xuICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIH1cblxuICAjc3RpY2t5LXNpdGUtaGVhZGVyLmZpeGVkIC50b3AtbGluayAubWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgIC8vcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgJjphZnRlcntcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgfVxuICB9XG5cbiAgI3N0aWNreS1zaXRlLWhlYWRlci5maXhlZCAudG9wLWxpbmsgLm1lbnUgYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50ICgxMDI0cHggZG93bikge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcntcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjRweCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2NhY2E7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLDApO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLDApO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gIH1cblxuICAuY2FyZC1uZXdzIC5jYXJkLXNlY3Rpb257XG4gICAgICAmOmFmdGVye1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gIH1cblxuICAuY2FyZC5jYXJkLW5ld3N7XG4gICAgICBhe1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1hbmNob3IgLmFydGljbGUtYW5jaG9yLWNvbnRhaW5lciAubWVudSBhe1xuICAgICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgICBjb2xvcjogIzI2MjYyNjtcbiAgICAgIH1cbiAgfVxuXG4gICNzaXRlLWZvb3RlciAuZm9vdGVyLWxpbmtzIGF7XG4gICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAjc2l0ZS1mb290ZXIgYXtcbiAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIGF7XG4gICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAuaGVyby1zbGlkZXJ7XG4gICAgLm9yYml0LWNvbnRhaW5lcntcbiAgICAgICAgLy9taW4taGVpZ2h0OiA2MzBweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pe1xuICAgICAgICAgIC8vbWluLWhlaWdodDogNDkwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmJpdC1zbGlkZSB7XG4gICAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG5cbiAgICAgICAgICAgIC5vcmJpdC1jYXB0aW9ue1xuICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOmNhcHRpb25zaG93IDFzIGZvcndhcmRzIGN1YmljLWJlemllcigwLCAxLCAwLjc1LCAxKTtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbjpjYXB0aW9uc2hvdyAxcyBmb3J3YXJkcyBjdWJpYy1iZXppZXIoMCwgMSwgMC43NSwgMSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246Y2FwdGlvbnNob3cgMXMgZm9yd2FyZHMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNzUsIDEpO1xuICAgICAgICAgICAgICAgIC1vLWFuaW1hdGlvbjpjYXB0aW9uc2hvdyAxcyBmb3J3YXJkcyBjdWJpYy1iZXppZXIoMCwgMSwgMC43NSwgMSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246Y2FwdGlvbnNob3cgMXMgZm9yd2FyZHMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNzUsIDEpO1xuICAgICAgICAgICAgICAgIC1tb3otYW5pbWF0aW9uOmNhcHRpb25zaG93IDFzIGZvcndhcmRzIGN1YmljLWJlemllcigwLCAxLCAwLjc1LCAxKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjpjYXB0aW9uc2hvdyAxcyBmb3J3YXJkcyBjdWJpYy1iZXppZXIoMCwgMSwgMC43NSwgMSk7XG4gICAgICAgICAgICAgICAgLW8tYW5pbWF0aW9uOmNhcHRpb25zaG93IDFzIGZvcndhcmRzIGN1YmljLWJlemllcigwLCAxLCAwLjc1LCAxKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5hY3Rpb257XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOmNhcHRpb25zaG93IDFzIGZvcndhcmRzIGN1YmljLWJlemllcigwLCAxLCAwLjc1LCAxKTtcbiAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbjpjYXB0aW9uc2hvdyAxcyBmb3J3YXJkcyBjdWJpYy1iZXppZXIoMCwgMSwgMC43NSwgMSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246Y2FwdGlvbnNob3cgMXMgZm9yd2FyZHMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNzUsIDEpO1xuICAgICAgICAgICAgICAgIC1vLWFuaW1hdGlvbjpjYXB0aW9uc2hvdyAxcyBmb3J3YXJkcyBjdWJpYy1iZXppZXIoMCwgMSwgMC43NSwgMSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub3JiaXQtZmlndXJle1xuICAgICAgICAgICAgICAvL2hlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1vdGhlci1wcm9kdWN0LXJhbmdlIC5jYXJkLWljb24ge1xuICAgICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19yYW5nZS1oaWdobGlnaHRzICNwcm9kdWN0LWl0ZW0tZGV0YWlsc19fcmFuZ2UtaGlnaGxpZ2h0c19fc2xpZGVyIC5jYXJkIGltZ3tcbiAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIC5wcm9kdWN0LWl0ZW0tZGV0YWlsc19fcmFuZ2UtaGlnaGxpZ2h0cyAjcHJvZHVjdC1pdGVtLWRldGFpbHNfX3JhbmdlLWhpZ2hsaWdodHNfX3NsaWRlciAuc2xpY2stcHJldixcbiAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzX19yYW5nZS1oaWdobGlnaHRzICNwcm9kdWN0LWl0ZW0tZGV0YWlsc19fcmFuZ2UtaGlnaGxpZ2h0c19fc2xpZGVyIC5zbGljay1uZXh0e1xuICAgICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDMyJz48cG9seWdvbiBwb2ludHM9JzkuODgwIDEwLjY2NywgMTYuMDAwIDE2Ljc3NCwgMjIuMTIwIDEwLjY2NywgMjQuMDAwIDEyLjU0NywgMTYuMDAwIDIwLjU0NywgOC4wMDAgMTIuNTQ3JyBzdHlsZT0nZmlsbDogcmdiJTI4MjU2LCAyNTYsIDI1NiUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweCA0OHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAjbmF2LXRvZ2dsZXtcbiAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICB9XG5cbiAgLm1vZGFsLXBhbmVsIC5tZW51ID4gbGkgPiBhIHNwYW57XG4gICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAucHJvZHVjdC1pdGVtLWRldGFpbHNfX25hdmlnYXRpb24gLm1lbnV7XG4gICAgICBsaXtcbiAgICAgICAgICBwYWRkaW5nOiAyOHB4IDE1cHg7XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAud3BjZjcgLndwY2Y3LXN1Ym1pdHtcbiAgICAgIHRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzI2MjYyNiFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gIH1cblxuICAuZmFxLWFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGV7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgfVxuXG4gIC5mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGV7XG4gICAgICAmOmhvdmVye1xuICAgICAgICAgICY6YmVmb3JlLCY6YWZ0ZXJ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyNjI2MjY7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgLmZhcS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpiZWZvcmV7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICM4MDdlN2U7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgLmZhcS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTphZnRlcntcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogIzgwN2U3ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDI1cHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiBBbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogQWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAuZmFxLWFjY29yZGlvbiAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTpiZWZvcmV7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG5cbiAgLmZhcS1hY2NvcmRpb24gLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXJ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgLndpZGdldC1jb250ZW50X19saXN0IC53aWRnZXQtY29udGVudF9fbGlzdF9faXRlbXtcbiAgICAgICY6bnRoLWNoaWxkKDEpe1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG4gICAgICB9XG4gIH1cblxuICAubGFyZ2UtdXAtNCA+IC5jZWxse1xuICAgICAgJjpudGgtY2hpbGQoMSl7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpe1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDQpe1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgICAgIH1cbiAgfVxuXG4gIC5tYWluLWNvbnRlbnR7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICB9XG4gIH1cblxuICAjZGVmYXVsdC1zaXRlLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYuaXMtZG93bntcbiAgICAgICAgICAubW9kYWwtcGFuZWx7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyNjI2MjY7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5vcGVue1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgICNuYXYtdG9nZ2xle1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgICAuc2l0ZS1oZWFkZXItY29udGFpbmVye1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuICAgICAgLm1vZGFsLXBhbmVse1xuICAgICAgICAgIHRvcDogNjlweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDB2aCk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHZoKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwdmgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwdmgpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCxvcGFjaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgdmlzaWJpbGl0eSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksdHJhbnNmb3JtIDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCxvcGFjaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgdmlzaWJpbGl0eSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksdHJhbnNmb3JtIDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCxvcGFjaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgdmlzaWJpbGl0eSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksdHJhbnNmb3JtIDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgICAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQsb3BhY2l0eSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIHZpc2liaWxpdHkgMC44cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLHRyYW5zZm9ybSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KXtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgICYub3BlbntcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAjc3RpY2t5LXNpdGUtaGVhZGVye1xuXG4gICAgICAjbmF2LXRvZ2dsZXtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cblxuICAgICAgLnNpdGUtaGVhZGVyLWNvbnRhaW5lcntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtcGFuZWx7XG4gICAgICAgICAgdG9wOiA2OXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHZoKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwdmgpO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDB2aCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDB2aCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIHZpc2liaWxpdHkgMC44cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLHRyYW5zZm9ybSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgdmlzaWJpbGl0eSAwLjhzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksdHJhbnNmb3JtIDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCB2aXNpYmlsaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSx0cmFuc2Zvcm0gMC44cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCB2aXNpYmlsaXR5IDAuOHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSx0cmFuc2Zvcm0gMC44cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KXtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5vcGVue1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlc2hvdyB7XG4gIDAlICB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjYXB0aW9uc2hvdyB7XG4gIDAlICB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoODBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG59Il19 */
