.header-default .inner-menu>.menu-element,.header-default .navbar-nav li>a,.page-title .page-title-main,.page-title .page-title-more{vertical-align:top}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.error-message{color:#a94442}.btn-group-lg>.btn{padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}.btn-group-sm>.btn,.btn-group-xs>.btn{font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px}.btn-group-xs>.btn{padding:1px 5px}.sidebar-narrow,.sidebar-wide{border-radius:5px;box-shadow:0 0 10px -2px #ccc}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.block.block-main,.breadcrumbs .breadcrumbs-item,.breadcrumbs .breadcrumbs-separator,.ui-widget-overlay.ui-front{float:left!important}.sidebar-wide{background:#fff;padding:0}.sidebar-narrow{color:#878787;background-color:#fff}@media only screen and (max-width:767px){.sidebar-narrow{padding:40px}}.balance-dropdown a,.element-clients .element-label,.favorites-dropdown a,.header-default .inner-menu>.menu-element,.header-default .navbar-nav li>a,.header-default .searchbar .input.radio label,.header-default .searchbar legend,.header-homepage .menu-element>a,.page-title .page-title-main,.page-title .page-title-more{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media only screen and (min-width:768px) and (max-width:1199px){.sidebar-narrow{padding:15px}.header-default .searchbar legend{display:none!important}}@media only screen and (min-width:1200px){.sidebar-narrow{padding:24px}.header-default .searchbar .input.radio label{max-width:120px}.header-default .searchbar legend{max-width:70px}}@media (min-width:768px) and (max-width:799px){.header-homepage .menu-element>a{max-width:90px}}@media (min-width:800px) and (max-width:900px){.header-homepage .menu-element>a{max-width:110px}}@media (min-width:900px) and (max-width:1200px){.header-homepage .menu-element>a{max-width:140px}}@media only screen and (min-width:1200px){.header-homepage .menu-element>a{max-width:150px}}@media (min-width:768px) and (max-width:799px){.header-default .navbar-nav li>a{max-width:94px}}@media (min-width:800px) and (max-width:900px){.header-default .navbar-nav li>a{max-width:100px}}@media (min-width:900px) and (max-width:1200px){.header-default .navbar-nav li>a{max-width:140px}}@media (min-width:1200px) and (max-width:1400px){.header-default .navbar-nav li>a{max-width:135px}}@media (min-width:1400px) and (max-width:1600px){.header-default .navbar-nav li>a{max-width:150px}}@media only screen and (min-width:768px) and (max-width:1199px){.header-default .inner-menu>.menu-element{max-width:135px}}@media (min-width:758px) and (max-width:845px){.header-default .inner-menu>.menu-element{max-width:128px}}@media only screen and (min-width:1200px){.header-default .inner-menu>.menu-element{max-width:230px}}@media only screen and (min-width:768px) and (max-width:1199px),only screen and (min-width:1200px){.page-title .page-title-main,.page-title .page-title-more{max-width:100%}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZXMubGVzcyIsImJvb3RzdHJhcC9jYXJvdXNlbC5sZXNzIiwiYm9vdHN0cmFwL3RodW1ibmFpbHMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvaW1hZ2UubGVzcyIsImNvbW1vbi5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9mb3Jtcy5sZXNzIiwiYm9vdHN0cmFwL2J1dHRvbi1ncm91cHMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvYnV0dG9ucy5sZXNzIiwiYm9vdHN0cmFwL2dyaWQubGVzcyIsImJvb3RzdHJhcC90eXBlLmxlc3MiLCJib290c3RyYXAvZm9ybXMubGVzcyIsImJvb3RzdHJhcC9tb2RhbHMubGVzcyIsImJvb3RzdHJhcC9uYXZzLmxlc3MiLCJib290c3RyYXAvbmF2YmFyLmxlc3MiLCJib290c3RyYXAvcGFnZXIubGVzcyIsImJvb3RzdHJhcC9wYW5lbHMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvY2xlYXJmaXgubGVzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRkEsMENBM0JBLGlDQXNEQSw2QkFBQSw2QkFLRSxlQUFBLElDekdGLDRCQUFBLDBCQ0pBLGlCQUFBLGVDR0UsUUFBQSxNQUNBLFVBQUEsS0FDQSxPQUFBLEtDOHVERixlQ3h1REksTUFBQSxRQ2dGSixtQkNsQ0UsUUFBQSxLQUFBLEtBQ0EsVUFBQSxLQUNBLFlBQUEsVUFDQSxjQUFBLElEOEJGLG1CQURBLG1CQy9CRSxVQUFBLEtBQ0EsWUFBQSxJQUNBLGNBQUEsSUQ4QkYsbUJDakNFLFFBQUEsSUFBQSxLRGdDRixtQkNoQ0UsUUFBQSxJQUFBLElIczlCRixnQkFjQSxjQXZVSSxjQUFBLElBOEtBLFdBQUEsRUFBQSxFQUFBLEtBQUEsS0FBQSxLRTN2QkoscUNBQUEsc0NBN0dBLG1CQUFBLG9CRUxBLHVCQUFBLHdCQXBCQSxpQkFBQSxrQkN1TUEsd0JBQUEseUJDK1VBLG1DQUFBLG9DQ3piQSxvQkFBQSxxQkM5RkEsV0FBQSxZQ3lDQSx1QkFBQSx3QkFuQkEscUJBQUEsc0JBcEJBLGNBQUEsZUNMQSxhQUFBLGNDVUEsa0JBQUEsbUJQdUJBLFdBQUEsWVF2QkksUUFBUyxJQUNULFFBQUEsTVYrSEoscUNBN0dBLG1CRUxBLHVCQXBCQSxpQkN1TUEsd0JDK1VBLG1DQ3piQSxvQkM5RkEsV0N5Q0EsdUJBbkJBLHFCQXBCQSxjQ0xBLGFDVUEsa0JQdUJBLFdRbkJJLE1BQUEsS1pvaUJBLGtCQTIrQkosK0JBQUEsb0NBb0lDLDRCYXBwREMsTUFBQSxlYmloQ0YsY0EvZUksV0FBQSxLQUNBLFFBQUEsRUFnZUosZ0JBM1RJLE1BQUEsUUFDQSxpQkFBQSxLQU9BLHlDQW1USixnQkF0VFEsUUFBQSxNSmxzQlIsb0JBMEVBLGdDQXpFQSxzQkFxREEsMENBM0JBLGlDQXJEQSw4Q0FBQSxrQ0FpQ0EsaUNBMEVBLDZCQUFBLDZCSXVnREMsUUFBQSxhQUNBLGNBQUEsU0FDQSxZQUFBLE9BQ0EsU0FBQSxPSm5tREMsZ0VJZ2dDRixnQkFsVFEsUUFBQSxLSjlzQk4sa0NBSEMsUUFBQSxnQkFPRiwwQ0k0L0JELGdCQTlTUSxRQUFBLEtKNXRCTiw4Q0FGRSxVQUFBLE1BZ0JILGtDQUhFLFVBQUEsTUFxQkYsK0NBQUEsaUNBSEksVUFBQSxNQU9KLCtDQUFBLGlDQUhJLFVBQUEsT0FPSixnREFBQSxpQ0FISSxVQUFBLE9BTUwsMENBQUEsaUNBRkUsVUFBQSxPQWFELCtDQUFBLGlDQUhJLFVBQUEsTUFPSiwrQ0FBQSxpQ0FISSxVQUFBLE9BT0osZ0RBQUEsaUNBSEksVUFBQSxPQU9KLGlEQUFBLGlDQUhJLFVBQUEsT0FPTCxpREFBQSxpQ0FIRSxVQUFBLE9BZ0JELGdFQUFBLDBDQUhJLFVBQUEsT0FPSiwrQ0FBQSwwQ0FISSxVQUFBLE9BTUwsMENBQUEsMENBRkssVUFBQSxPQXNCSixtR0FBQSw2QkFBQSw2QkFGRSxVQUFBIiwiZmlsZSI6ImxvY2FsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAocmVmZXJlbmNlKSBcImJvb3RzdHJhcC9ib290c3RyYXAubGVzc1wiO1xuQGltcG9ydCAocmVmZXJlbmNlKSBcImNvbW1vbi5sZXNzXCI7XG5cbi5oZWFkZXItZGVmYXVsdCAuc2VhcmNoYmFyIHtcblx0LmlucHV0LnJhZGlve1xuXHRcdGxhYmVse1xuXHRcdFx0JjpleHRlbmQoLm92ZXJmbG93LWVsbGlwc2lzKTtcblxuXHRcdFx0QG1lZGlhIEBkZXNrdG9we1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGxlZ2VuZHtcblx0XHQmOmV4dGVuZCgub3ZlcmZsb3ctZWxsaXBzaXMpO1xuXG5cdFx0QG1lZGlhIEB0YWJsZXR7XG5cdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIEBkZXNrdG9we1xuXHRcdFx0bWF4LXdpZHRoOiA3MHB4O1xuXHRcdH1cblxuXHR9XG59XG5cblxuLmJhbGFuY2UtZHJvcGRvd24sXG4uZmF2b3JpdGVzLWRyb3Bkb3duIHtcblx0YXtcblx0XHQmOmV4dGVuZCgub3ZlcmZsb3ctZWxsaXBzaXMpO1xuXHR9XG59XG5cbi5oZWFkZXItaG9tZXBhZ2UgLm1lbnUtZWxlbWVudCA+IGEge1xuXHQmOmV4dGVuZCgub3ZlcmZsb3ctZWxsaXBzaXMpO1xuXG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDc5OXB4KXtcblx0ICAgIG1heC13aWR0aDogOTBweDtcblx0fVxuXG5cdEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkgYW5kIChtYXgtd2lkdGg6IDkwMHB4KXtcblx0ICAgIG1heC13aWR0aDogMTEwcHg7XG5cdH1cblxuXHRAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpe1xuXHQgICAgbWF4LXdpZHRoOiAxNDBweDtcblx0fVxuXG5cdEBtZWRpYSBAZGVza3RvcHtcblx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHR9XG59XG5cbi5oZWFkZXItZGVmYXVsdCAubmF2YmFyLW5hdiBsaSA+IGF7XG5cdCY6ZXh0ZW5kKC5vdmVyZmxvdy1lbGxpcHNpcyk7XG5cblx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA3OTlweCl7XG5cdCAgICBtYXgtd2lkdGg6IDk0cHg7XG5cdH1cblxuXHRAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIGFuZCAobWF4LXdpZHRoOiA5MDBweCl7XG5cdCAgICBtYXgtd2lkdGg6IDEwMHB4O1xuXHR9XG5cblx0QG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KXtcblx0ICAgIG1heC13aWR0aDogMTQwcHg7XG5cdH1cblxuXHRAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KXtcblx0ICAgIG1heC13aWR0aDogMTM1cHg7XG5cdH1cblxuXHRAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KXtcblx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHR9XG5cbn1cblxuLmhlYWRlci1kZWZhdWx0IC5pbm5lci1tZW51ID4gLm1lbnUtZWxlbWVudCB7XG5cdCY6ZXh0ZW5kKC5vdmVyZmxvdy1lbGxpcHNpcyk7XG5cblx0Ly8gb3ZlcmZsb3cgaGlkZGVuIGNhdXNlIHN0cmV0Y2hpbmcgbGluZSBoZWlnaHQgLSB2ZXJ0aWNhbCBhbGlnbiBhbGxvdyB0byBhdm9pZCB0aGlzIGJ1Z1xuXHQvLyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD00OTE1NDlcblx0dmVydGljYWwtYWxpZ246dG9wO1xuXG5cdEBtZWRpYSBAdGFibGV0e1xuXHQgICAgbWF4LXdpZHRoOiAxMzVweDtcblx0fVxuXG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NThweCkgYW5kIChtYXgtd2lkdGg6IDg0NXB4KXtcblx0ICAgIG1heC13aWR0aDogMTI4cHg7IC8vIGkxOG4gd2lkdGggbGltaXRcblx0fVxuXG5cdEBtZWRpYSBAZGVza3RvcHtcblx0ICAgIG1heC13aWR0aDogMjMwcHg7IC8vIGkxOG4gd2lkdGggbGltaXRcblx0fVxufVxuXG4uZWxlbWVudC1jbGllbnRze1xuXG5cdC5lbGVtZW50LWxhYmVse1xuXHRcdCY6ZXh0ZW5kKC5vdmVyZmxvdy1lbGxpcHNpcyk7XG5cdH1cbn1cblxuLnBhZ2UtdGl0bGUge1xuXHQucGFnZS10aXRsZS1tYWluLFxuXHQucGFnZS10aXRsZS1tb3Jle1xuXHRcdCY6ZXh0ZW5kKC5vdmVyZmxvdy1lbGxpcHNpcyk7XG5cblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvLyBmaXggZm9yIHdyb25nIGxpbmVoZWlnaHRcblxuXHRcdEBtZWRpYSBAdGFibGV0LFxuXHRcdEBkZXNrdG9wIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuXG5cbiIsIi8vXG4vLyBDYXJvdXNlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICAmOmV4dGVuZCguaW1nLXJlc3BvbnNpdmUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oficwLjZzIGVhc2UtaW4tb3V0Jyk7XG4gICAgICAuYmFja2ZhY2UtdmlzaWJpbGl0eSh+J2hpZGRlbicpO1xuICAgICAgLnBlcnNwZWN0aXZlKDEwMDBweCk7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLm5leHQubGVmdCxcbiAgICAgICYucHJldi5yaWdodCxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbn1cblxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogQGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIC5vcGFjaXR5KEBjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xuICBmb250LXNpemU6IEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTtcbiAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiBAY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gIC8vIFdlIGNhbid0IGhhdmUgdGhpcyB0cmFuc2l0aW9uIGhlcmUgYmVjYXVzZSBXZWJLaXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cblxuICAvLyBTZXQgZ3JhZGllbnRzIGZvciBiYWNrZ3JvdW5kc1xuICAmLmxlZnQge1xuICAgICNncmFkaWVudCA+IC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7IEBlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpKTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgICNncmFkaWVudCA+IC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSk7IEBlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAub3BhY2l0eSguOSk7XG4gIH1cblxuICAvLyBUb2dnbGVzXG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuaWNvbi1wcmV2LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgfVxuICAuaWNvbi1uZXh0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxuICAuaWNvbi1wcmV2LFxuICAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogIDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgfVxuXG5cbiAgLmljb24tcHJldiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAzOSc7Ly8gU0lOR0xFIExFRlQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzOSlcbiAgICB9XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAzYSc7Ly8gU0lOR0xFIFJJR0hULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwM0EpXG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIHVub3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tbGVmdDogLTMwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogIDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMXB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTgtOSBoYWNrIGZvciBldmVudCBoYW5kbGluZ1xuICAgIC8vXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgOC05IGRvZXMgbm90IHN1cHBvcnQgY2xpY2tzIG9uIGVsZW1lbnRzIHdpdGhvdXQgYSBzZXRcbiAgICAvLyBgYmFja2dyb3VuZC1jb2xvcmAuIFdlIGNhbm5vdCB1c2UgYGZpbHRlcmAgc2luY2UgdGhhdCdzIG5vdCB2aWV3ZWQgYXMgYVxuICAgIC8vIGJhY2tncm91bmQgY29sb3IgYnkgdGhlIGJyb3dzZXIuIFRodXMsIGEgaGFjayBpcyBuZWVkZWQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNJbnRlcm5ldF9FeHBsb3JlclxuICAgIC8vXG4gICAgLy8gRm9yIElFOCwgd2Ugc2V0IHNvbGlkIGJsYWNrIGFzIGl0IGRvZXNuJ3Qgc3VwcG9ydCBgcmdiYSgpYC4gRm9yIElFOSwgd2VcbiAgICAvLyBzZXQgYWxwaGEgdHJhbnNwYXJlbmN5IGZvciB0aGUgYmVzdCByZXN1bHRzIHBvc3NpYmxlLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAgXFw5OyAvLyBJRThcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApOyAvLyBJRTlcbiAgfVxuICAuYWN0aXZlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6ICAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGRlbiBieSBkZWZhdWx0IGZvciBzbWFsbGVyIHZpZXdwb3J0c1xuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1JTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogQGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IEBjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgJiAuYnRuIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgLy8gTm8gc2hhZG93IGZvciBidXR0b24gZWxlbWVudHMgaW4gY2Fyb3VzZWwtY2FwdGlvblxuICB9XG59XG5cblxuLy8gU2NhbGUgdXAgY29udHJvbHMgZm9yIHRhYmxldHMgYW5kIHVwXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuXG4gIC8vIFNjYWxlIHVwIHRoZSBjb250cm9scyBhIHNtaWRnZVxuICAuY2Fyb3VzZWwtY29udHJvbCB7XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLXByZXYsXG4gICAgLmljb24tbmV4dCB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuaWNvbi1wcmV2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICB9XG4gIH1cblxuICAvLyBTaG93IGFuZCBsZWZ0IGFsaWduIHRoZSBjYXB0aW9uc1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiAyMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUaHVtYm5haWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluIGFuZCBhZGp1c3QgdGhlIHJlZ3VsYXIgaW1hZ2UgY2xhc3Ncbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgICY6ZXh0ZW5kKC5pbWctcmVzcG9uc2l2ZSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gQWRkIGEgaG92ZXIgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyxcbiAgYSYuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICB9XG5cbiAgLy8gSW1hZ2UgY2FwdGlvbnNcbiAgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IEB0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiBAdGh1bWJuYWlsLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuLmltZy1yZXNwb25zaXZlKEBkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbi5pbWctcmV0aW5hKEBmaWxlLTF4OyBAZmlsZS0yeDsgQHdpZHRoLTF4OyBAaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmlsZS0xeH1cIik7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTJ4fVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IEB3aWR0aC0xeCBAaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvL0BpbXBvcnQgKHJlZmVyZW5jZSkgXCJib290c3RyYXAvYm9vdHN0cmFwLmxlc3NcIjsgXHJcbkBpbXBvcnQgKHJlZmVyZW5jZSkgXCJmb250cy5sZXNzXCI7XHJcblxyXG5cclxuLy8gQ1NTIFNlbGVjdG9yIGZvciBkaWZmZXJlbnQgZGV2aWNlIHR5cGVzIEB0eXBlIHtbdHlwZV19XHJcbi8vXHJcbkBtb2JpbGUgICAgIDogflwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KVwiO1xyXG5AdGFibGV0ICAgICA6IH5cIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweClcIjtcclxuQGRlc2t0b3AgICAgOiB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KVwiOyAvLyBBY3R1YWxseSAtIGRlc2t0b3BzICYgbGFwdG9wc1xyXG5AZGVza3RvcC14bCA6IH5cIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQxcHgpXCI7IC8vIFJlYWwgRGVza3RvcHNcclxuQDJ4LXNjcmVlbiAgOiB+XCJvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweClcIjsgLy8gUmV0aW5hXHJcblxyXG5cclxuLy8gQ29sb3JzXHJcbi8vXHJcbkB3aGl0ZSAgICAgIDogI2ZmZjtcclxuQG9yYW5nZSAgICAgOiAjRjE2NjIzO1xyXG5AZ3JlZW4gICAgICA6ICMyNjY1NDE7XHJcbkBkYXJrLWdyZWVuIDogIzIxNTEzNjtcclxuQGdyYXkgICAgICAgOiAjYTlhYWFhO1xyXG5AZGFyay1ncmF5ICA6ICM4Nzg3ODc7XHJcbkBncmF5LTM0ICAgIDogIzM0MzQzNDtcclxuQGxpZ2h0LWdyYXkgOiAjZTJlMmUyO1xyXG5AZGVlcC1ncmF5ICA6ICMzZTNlM2U7XHJcblxyXG5cclxuLy8gRm9udHNcclxuLy9cclxuQGZvbnQtZmFtaWx5LXRpdGlsbGl1bSAgICAgOiAnVGl0aWxsaXVtIFdlYiBTZW1pYm9sZCc7XHJcbkBmb250LXByb3hpbWFub3ZhLXJlZ3VsYXIgIDogJ1Byb3hpbWFub3ZhIFJlZ3VsYXInO1xyXG5AZm9udC1wcm94aW1hbm92YS1ib2xkIFx0ICAgOiAnUHJveGltYW5vdmEgQm9sZCc7XHJcbkBmb250LXByb3hpbWFub3ZhLXNlbWlib2xkIDogJ1Byb3hpbWFub3ZhIFNlbWlib2xkJztcclxuQGZvbnQtcHJveGltYW5vdmEtbGlnaHQgICAgOiAnUHJveGltYW5vdmEgTGlnaHQnO1xyXG5AZm9udC1wcm94aW1hbm92YS10aGluICAgICA6ICdQcm94aW1hbm92YSBUaGluJztcclxuQGZvbnQtbWRpIFx0XHRcdFx0ICAgOiAnTWF0ZXJpYWwgRGVzaWduIEljb25zJztcclxuXHJcblxyXG4vLyBTY3JlZW5zXHJcbi8vXHJcbkBzY3JlZW4teHMtbWluOiA0ODBweDtcclxuQHNjcmVlbi14cy1tYXg6IDc2N3B4O1xyXG5Ac2NyZWVuLXNtLW1pbjogNzY4cHg7XHJcbkBzY3JlZW4tbWQtbWluOiAxMTk4cHg7XHJcblxyXG5cclxuLy8gQ29tbW9uIHZhcnNcclxuLy9cclxuQHNwYWNlciAgICAgICAgIDogMzBweDtcclxuQHNsb3BlLWJnLWNvbG9yIDogIzM2MzQzNDtcclxuQHNsb3BlLWhlaWdodCAgIDogNjVweDtcclxuXHJcblxyXG4vLyBTY2FmZm9sZGluZ1xyXG4vLyBcclxuQGJvZHktYmcgICAgICAgICAgICAgIDogQGxpZ2h0LWdyYXk7XHJcbkB0ZXh0LWNvbG9yICAgICAgICAgICA6IEBsaW5rLWNvbG9yO1xyXG5AbGluay1jb2xvciAgICAgICAgICAgOiAjODc4Nzg3O1xyXG5AbGluay1ob3Zlci1jb2xvciAgICAgOiBkYXJrZW4oQGxpbmstY29sb3IsIDE1JSk7XHJcbkBsaW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmU7IC8vIEluc3RlYWQgb2YgZGVmYXVsdCBgdW5kZXJsaW5lYCB3ZSB3aWxsIHVzZSBib3JkZXItYm90dG9tIGJlY2F1c2Ugb2Ygd2UgbmVlZCB0byBsb2NhdGUgdGhpcyBsaW5lIG1vcmUgZm9ydGhseSBcclxuXHJcblxyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vIFxyXG5AZm9udC1zaXplLWJhc2UgICAgICAgOiAxM3B4O1xyXG5AZm9udC1mYW1pbHktYmFzZSAgICAgOiBAZm9udC1wcm94aW1hbm92YS1yZWd1bGFyO1xyXG5AaGVhZGluZ3MtZm9udC1mYW1pbHkgOiBAZm9udC1wcm94aW1hbm92YS10aGluO1xyXG5AaGVhZGluZ3MtY29sb3IgICAgICAgOiBAZ3JheS0zNDtcclxuXHJcblxyXG4vLyBCdXR0b25zXHJcbi8vIFxyXG5AYnRuLWRlZmF1bHQtY29sb3IgIDogQHdoaXRlO1xyXG5AYnRuLWRlZmF1bHQtYmcgICAgIDogQGdyYXk7XHJcbkBidG4tZGVmYXVsdC1ib3JkZXIgOiBAZ3JheTtcclxuQGJ0bi1wcmltYXJ5LWJnICAgICA6IEBkYXJrLWdyZWVuO1xyXG5AYnRuLXByaW1hcnktYm9yZGVyIDogQGRhcmstZ3JlZW47XHJcbkBidG4tc3VjY2Vzcy1iZyAgICAgOiBAZ3JlZW47XHJcbkBidG4tc3VjY2Vzcy1ib3JkZXIgOiBAZ3JlZW47XHJcbkBidG4td2FybmluZy1iZyAgICAgOiBAb3JhbmdlO1xyXG5AYnRuLXdhcm5pbmctYm9yZGVyIDogQG9yYW5nZTtcclxuQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UgIDogM3B4O1xyXG5AYnRuLWJvcmRlci1yYWRpdXMtc21hbGwgOiAzcHg7XHJcbkBidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSA6IDNweDtcclxuXHJcblxyXG4vLyBGb3Jtc1xyXG4vLyBcclxuQGlucHV0LWNvbG9yICA6IEBncmF5O1xyXG5AaW5wdXQtYm9yZGVyIDogI2U3ZTdlNztcclxuXHJcbi8vIERyb3Bkb3duc1xyXG4vLyBcclxuQGRyb3Bkb3duLWJvcmRlciAgICAgICAgICAgOiAnbm9uZSc7XHJcbkBkcm9wZG93bi1mYWxsYmFjay1ib3JkZXIgIDogJ25vbmUnO1xyXG5AZHJvcGRvd24tbGluay1jb2xvciAgICAgICA6IEBsaW5rLWNvbG9yO1xyXG5AZHJvcGRvd24tbGluay1ob3Zlci1jb2xvciA6IEBsaW5rLWhvdmVyLWNvbG9yO1xyXG5cclxuXHJcbi8vIFR5cG9ncmFwaHlcclxuLy9cclxuQGZvbnQtc2l6ZS1iYXNlLWRlc2t0b3AgOiBAZm9udC1zaXplLWJhc2U7XHJcbkBmb250LXNpemUtYmFzZS10YWJsZXQgIDogMTJweDtcclxuQGZvbnQtc2l6ZS1iYXNlLW1vYmlsZSAgOiAyM3B4O1xyXG5cclxuXHJcbi8vIEJ1dHRvbiBzaXplc1xyXG4vL1xyXG5AZm9udC1zaXplLWJ1dHRvbi1kZXNrdG9wIDogQGZvbnQtc2l6ZS1iYXNlO1xyXG5AZm9udC1zaXplLWJ1dHRvbi10YWJsZXQgIDogMTBweDtcclxuQGZvbnQtc2l6ZS1idXR0b24tbW9iaWxlICA6IDI2cHg7XHJcbkBmb250LXNpemUtYnRuLWxnLWRlc2t0b3AgOiAxOHB4O1xyXG5AZm9udC1zaXplLWJ0bi1sZy10YWJsZXQgIDogMTZweDtcclxuQGZvbnQtc2l6ZS1idG4tbGctbW9iaWxlICA6IDMwcHg7XHJcbkBmb250LXNpemUtYnRuLXNtLW1vYmlsZSAgOiAyMnB4O1xyXG5AZm9udC1zaXplLWJ0bi14cy1tb2JpbGUgIDogMThweDs7XHJcbi8qKioqKioqL1xyXG5cclxuXHJcbmJvZHkge1xyXG4gICAgLnJlbGF0aXZlO1xyXG4gICAgXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgXHJcbiAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICBmb250LXNpemUgOiBAZm9udC1zaXplLWJhc2UtbW9iaWxlO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgIGZvbnQtc2l6ZSA6IEBmb250LXNpemUtYmFzZS10YWJsZXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbmlmcmFtZVtuYW1lXj1vYXV0aDJyZWxheV0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxubGFiZWx7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IzU2NTY1NjtcclxufVxyXG5cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIFxyXG4uaDEgLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNntcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICAgJi5ncmF5e1xyXG4gICAgICAgIGNvbG9yOiM1NTU1NTU7XHJcbiAgICB9XHJcblxyXG4gICAgJi50aGlue1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5oMXt9XHJcbmgye1xyXG4gICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG59XHJcbmgze31cclxuaDR7fVxyXG5oNXt9XHJcbmg2e31cclxuXHJcbnN0cm9uZ3tcclxuICAgIGNvbG9yOiAjNTY1NjU2O1xyXG59XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBCb290c3RyYXAgTmF0aXZlIEVsZW1lbnRzIE92ZXJyaWRlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEJvb3RzdHJhcCBCdXR0b25zIE92ZXJyaWRlXHJcbiAqL1xyXG4uYnRue1xyXG5cclxuICAgIC8vIEhpZGUgdGV4dCB0aGF0IGRvbid0IGZpdCBidXR0b25cclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICBsaW5lLWhlaWdodDogNzBweDtcclxuICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJ1dHRvbi1tb2JpbGU7XHJcbiAgICAgICAgcGFkZGluZzogMCAzNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmFycm93IHNjcmVlbnMgZml4IC0gbG93IHJlc29sdXRpb24gbW9iaWxlIGRldmljZXMgY2FuJ3Qgc2hvdyBhbGwgdGV4dCBpbiBidXR0b25cclxuICAgICAqL1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCl7XHJcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCl7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLyoqKioqKioqKiovXHJcblxyXG4gICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJ1dHRvbi10YWJsZXQ7XHJcbiAgICAgICAgcGFkZGluZzogNnB4IDlweDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAZGVza3RvcHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtYnV0dG9uLWRlc2t0b3A7XHJcbiAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIH1cclxuXHJcbiAgICAmLmJ0bi1sZ3tcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1idG4tbGctbW9iaWxlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtYnRuLWxnLXRhYmxldDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTNweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1idG4tbGctZGVza3RvcDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYnRuLXNte1xyXG4gICAgICAgIC5idG4tc207XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtYnRuLXNtLW1vYmlsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5idG4teHN7XHJcbiAgICAgICAgLmJ0bi14cztcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1idG4teHMtbW9iaWxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgVGhpcyBjbGFzcyBoZWxwcyB1cyB0byBkaXNwbGF5IDxidXR0b24+IGFzIGh0bWwgPGE+IGxpbmsgLSB3ZSBuZWVkIGl0IG9uIGFwcGxpY2F0aW9uL3N0ZXBfNVxyXG4gKi9cclxuLmJ0bi10ZXh0e1xyXG4gICAgLmJvcmRlci1ib3R0b207XHJcblxyXG4gICAgd2lkdGg6YXV0bztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICBtYXJnaW4tbGVmdDowO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqL1xyXG5cclxuXHJcblxyXG4vKipcclxuICogQWxlcnQgd2luZG93IGNsb3NlIHNpemVcclxuICovXHJcblxyXG4uYWxlcnQuYWxlcnQtZGlzbWlzc2libGUgPiAuY2xvc2UgPiBzcGFue1xyXG4gICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgfVxyXG59XHJcbi8qKioqKiovXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBNb2RhbCB3aW5kb3cgb3ZlcnJpZGVzXHJcbiAqL1xyXG4ubW9kYWx7XHJcbiAgICAubW9kYWwtY29udGVudHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtbG9hZGVyIHtcclxuICAgICAgICAubG9hZGVyO1xyXG5cclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogOTBweCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2RhbC1ib2R5e1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlW2RhdGEtZGlzbWlzcz1tb2RhbF17XHJcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDZcclxuICAgIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKiovXHJcblxyXG5cclxuLyoqXHJcbiAqIE5hdmlnYXRpb24gUGlsbHMgb3ZlcnJpZGVcclxuICovXHJcbi5uYXYtcGlsbHN7XHJcbiAgICBsaS5hY3RpdmUgPiBhe1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5ncy1jb2xvcjtcclxuXHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBoZWFkaW5ncy1jb2xvciwgNSUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKioqKioqL1xyXG5cclxuXHJcblxyXG4vKipcclxuICogRW5kIEJvb3RzdHJhcCBOYXRpdmUgRWxlbWVudHMgT3ZlcnJpZGVcclxuICovXHJcblxyXG5cclxuXHJcblxyXG4vKkNPTU1PTiBFTEVNRU5UUyovXHJcblxyXG5cclxuLyoqXHJcbiAqIE92ZXJyaWRlcyBmb3IgaXRlbXMgaW4gY29udGVudCBibG9ja1xyXG4gKi9cclxuLmxheW91dC1jb250ZW50e1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmF1bHQgTWFyZ2lucyBmb3Igb3VyIG1pZGRsZSBibG9ja3NcclxuICAgICAqL1xyXG4gICAgLmJsb2NrLCAgICBcclxuICAgIC53aGl0ZS1ibG9jayxcclxuICAgIC5sZWZ0YmFyLFxyXG4gICAgLnJpZ2h0YmFye1xyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyM3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEBkZXNrdG9we1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKioqKiovXHJcblxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IEBzY3JlZW4tbWQtbWluO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvKm1pbi13aWR0aDogQHNjcmVlbi14cy1taW47Ki9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgd2lkdGg6IEBzY3JlZW4tc20tbWluO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogVGhpcyBtZWFucyB0aGF0IHRoaXMgY29udGFpbmVyIHdpbGwgbm90IGhhdmUgYW55IGVsZW1lbnQgYmV0d2VlbiBpdHNlbGYgJiBmb290ZXJcclxuICAgICAgICAgKi9cclxuICAgICAgICAmLmNvbnRhaW5lci1zaW5nbGV7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qKioqKioqL1xyXG4gICAgfVxyXG5cclxuICAgIC5tZWRpYS10aXRsZXtcclxuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtcHJveGltYW5vdmEtbGlnaHQ7XHJcbiAgICAgICAgY29sb3I6IEBncmF5LTM0O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTo1NXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmlsdGVyLWJ5LWhlYWRpbmd7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LXByb3hpbWFub3ZhLWJvbGQ7XHJcbiAgICAgICAgY29sb3I6IzU1NTU1NTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEBkZXNrdG9we1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHQvKipcclxuXHQgKiA8YT4gZGVmYXVsdCBzdHlsZXNcclxuXHQgKi9cclxuICAgIGF7XHJcbiAgICAgICAgY29sb3I6IEBsaW5rLWNvbG9yO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBsaW5rLWNvbG9yO1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogQGxpbmstaG92ZXItY29sb3I7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBsaW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5ncmVlbi1saW5re1xyXG4gICAgICAgICAgICBjb2xvcjpAaGVhZGluZ3MtY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LXByb3hpbWFub3ZhLWJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxpZ2h0LWxpbmt7XHJcbiAgICAgICAgICAgIGNvbG9yOiBAZ3JheTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oIEBncmF5LCAxNSUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm5vdW5kZXJsaW5le1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm1lZGlhLXRpdGxlOmhvdmVye1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKEBncmF5LTM0LCAxMCUpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRvd25sb2FkLXByZXZpZXctaW5ib2R5e1xyXG4gICAgICAgICAgICAucmVsYXRpdmU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOkB3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjEwcHg7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LXByb3hpbWFub3ZhLWJvbGQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOWFhYWE7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldCxcclxuICAgICAgICAgICAgICAgICAgIEBkZXNrdG9wXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXNcclxuICAgICAgICAgICAgJjphY3RpdmV7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI0UwREVERTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Nzc3O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJ0bntcclxuICAgICAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKioqKioqKiovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogV3JhcHMgYWxsIGNvbnRlbnQgaW4gYm9keSBleGNlcHQgZm9vdGVyXHJcbiAqL1xyXG4ud3JhcHBlciB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQzMHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG4vKioqKioqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDb250YWluZXIgYmxvY2suIFVzZWQgd2lkZWx5IGFzIHdyYXBwZXIgZm9yIGNvbnRhaW5lciB3LyBncmVlbiB0aXRsZVxyXG4gKi9cclxuXHJcbi5ibG9jayB7XHJcbiAgICBcclxuICAgIC5ib3gtc2hhZG93O1xyXG4gICAgLmJvcmRlci1yYWRpdXMoNXB4KTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiBAd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICYuYmxvY2stbWFpbiB7XHJcbiAgICAgICAgJjpleHRlbmQoLnB1bGwtbGVmdCk7XHJcblxyXG4gICAgICAgIHdpZHRoOiA3MCU7XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYmxvY2stcmlnaHQge1xyXG4gICAgICAgIC5wdWxsLXJpZ2h0O1xyXG5cclxuICAgICAgICB3aWR0aDogMjclO1xyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmxvY2stdGl0bGUge1xyXG5cclxuICAgICAgICAuY2xlYXItbWFyZ2luO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGJhY2tncm91bmQ6IEBncmF5LTM0O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1wcm94aW1hbm92YS1ib2xkO1xyXG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCA1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMzcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAZGVza3RvcHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAzMXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnJlYWRjcnVtYnMgPiBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgJjpmb2N1c3tcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oQHdoaXRlLCAxMCUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKEB3aGl0ZSwgMTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmxvY2stY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ3cHggNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNHB4IDIycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgQGRlc2t0b3Age1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubGlnaHQtZ3JheXtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBAZ3JheTtcclxuXHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAZ3JheTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1c3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbihAZ3JheSwgMTUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbihAZ3JheSwgMTUlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2NrLW1vcmUge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1wcm94aW1hbm92YS1ib2xkO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiBAZ3JheS0zNDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYm9yZGVyOm5vbmU7XHJcblxyXG4gICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOmRhcmtlbihAZ3JheS0zNCwgMTUlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmJsb2NrLWJyaWdodCB7XHJcbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogQG9yYW5nZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5ibG9jay1wbGFpbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuXHJcbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0FCQUNBQztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogV2hpdGUgYmxvY2sgdGhhdCB1c2VkIGFzIHdyYXBwZXIgZm9yIHNpZGViYXJcclxuICovXHJcbi53aGl0ZS1ibG9ja3tcclxuXHJcbiAgICAuYm94LXNoYWRvdztcclxuICAgIFxyXG4gICAgY29sb3I6Izg3ODc4NztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHJcbiAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIEBkZXNrdG9we1xyXG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IC5tZWRpYS10aXRsZTpmaXJzdC1jaGlsZHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgYTpub3QoLmJ0bil7XHJcbiAgICAgICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMntcclxuICAgICAgICBjb2xvcjogQGdyYXktMzQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LXByb3hpbWFub3ZhLXRoaW47XHJcbiAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOjMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNnB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOjM4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8qKioqKioqKi9cclxuXHJcblxyXG4uZmxleC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiBub3dyYXA7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG5cclxuLnNsb3BlLWNvbnRhaW5lciB7XHJcblx0Ji1jb250ZW50IHtcclxuXHRcdGZvbnQtZmFtaWx5OiBAZm9udC1wcm94aW1hbm92YS1saWdodDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRjb2xvcjogQHdoaXRlO1xyXG5cdFx0cGFkZGluZzogQHNsb3BlLWhlaWdodCAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikgKEBzbG9wZS1oZWlnaHQgLSAyMCkgKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQHNsb3BlLWJnLWNvbG9yO1xyXG5cdFx0Ly8gQm9yZGVyIHRyYW5zcGFyZW50IHN0cmlwZSBidWcgZml4aW5nXHJcblx0XHRtYXJnaW46IC0xcHggMDtcclxuXHR9XHJcblx0Ji10b3AsXHJcblx0Ji1ib3R0b20ge1xyXG5cdFx0aGVpZ2h0OjA7XHJcblx0XHRib3JkZXItc3R5bGU6c29saWQ7XHJcblx0fVxyXG5cdCYtdG9wIHtcclxuXHQgICAgYm9yZGVyLXdpZHRoOiAwIDAgQHNsb3BlLWhlaWdodCA5OXZ3O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IEBzbG9wZS1iZy1jb2xvciB0cmFuc3BhcmVudDtcclxuXHR9XHJcblx0Ji1ib3R0b20ge1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDAgQHNsb3BlLWhlaWdodCA5OXZ3O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIEBzbG9wZS1iZy1jb2xvcjtcclxuXHR9XHJcblx0Ji1oZWFkaW5nIHtcclxuXHRcdGZvbnQtc2l6ZTogNC44cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmxpc3QtdXNhZ2Uge1xyXG4gICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQjNCNEI0O1xyXG4gICAgICAgICYuYm9yZGVybGVzcyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1oZWFkZXIsXHJcbiAgICAmLXdyYXBwZXIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgY29sb3I6ICMzNjM0MzQ7XHJcbiAgICB9XHJcbiAgICAmLXdyYXBwZXIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1wcm94aW1hbm92YS1yZWd1bGFyO1xyXG4gICAgICAgIC5sb2dvLW9yYW5nZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHggYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWhlYWRlciB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LXByb3hpbWFub3ZhLXNlbWlib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdyZW07XHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtaXRlbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcclxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXZ3O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLm1iLTB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuLm1iLTF7IG1hcmdpbi1ib3R0b206IChAc3BhY2VyICogLjI1KTsgfVxyXG4ubWItMnsgbWFyZ2luLWJvdHRvbTogKEBzcGFjZXIgKiAuNSk7IH1cclxuLm1iLTN7IG1hcmdpbi1ib3R0b206IChAc3BhY2VyICogMSkgfVxyXG4ubWItNHsgbWFyZ2luLWJvdHRvbTogKEBzcGFjZXIgKiAxLjUpIH1cclxuLm1iLTV7IG1hcmdpbi1ib3R0b206IChAc3BhY2VyICogMykgfVxyXG5cclxuLmNsZWFyLXdyYXBwZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcblxyXG4vKiBGdW5jdGlvbnMgU2VjdGlvbiAqL1xyXG5cclxuLmJvcmRlci1yYWRpdXMoQHJhZGl1cykge1xyXG4gICAgLmJvcmRlci10b3AtcmFkaXVzKEByYWRpdXMpO1xyXG4gICAgLmJvcmRlci1sZWZ0LXJhZGl1cyhAcmFkaXVzKTtcclxuICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKEByYWRpdXMpO1xyXG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKEByYWRpdXMpO1xyXG59XHJcblxyXG4ucGxhY2Vob2xkZXItY29sb3IoQGNvbG9yKSB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyeyBcclxuICAgICAgICBjb2xvcjogQGNvbG9yO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICY6LW1vei1wbGFjZWhvbGRlcnsgXHJcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXJ7IFxyXG4gICAgICAgIGNvbG9yOiBAY29sb3I7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuICAgIH1cclxuXHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlcnsgXHJcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBFbmQgRnVuY3Rpb25zIFNlY3Rpb24gKi9cclxuXHJcblxyXG5cclxuLyogQ2xhc3NlcyAmIElEJ3MgU2VjdGlvbiAqL1xyXG5cclxuLmJveC1zaGFkb3cge1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC0ycHggI2NjY2NjYztcclxufVxyXG5cclxuLnJlbGF0aXZle1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuXHJcbi5hYnNvbHV0ZXtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLmNsZWFyLXBhZGRpbmd7XHJcbiAgICBwYWRkaW5nOjA7XHJcbn1cclxuXHJcbi5jbGVhci1tYXJnaW57XHJcbiAgICBtYXJnaW46MDtcclxufVxyXG5cclxuLnZlcnRpY2FsLW1pZGRsZXtcclxuXHRcclxuICAgIC5yZWxhdGl2ZTtcclxuXHRcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4uZmxhc2gtbWVzc2FnZS1jb250YWluZXJ7XHJcbiAgICBcclxuICAgLmFic29sdXRlO1xyXG5cclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDk4O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogSW50aXRsZSAmIHNpbmdsZSBzdGFuZGluZyByYXRpbmcgc3R5bGVzXHJcbiAqL1xyXG4ucmF0aW5ne1xyXG4gICAgLmNvdW50LWxlZnQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAucmF0aW5nLWxpc3Qge1xyXG4gICAgICAgIC5wdWxsLWxlZnQ7XHJcblxyXG5cdFx0Ly8gRml4IGZvciBzcGFjZXMgYmV0d2VlbiBsaXN0IGl0ZW1zXHJcbiAgICAgICAgZm9udC1zaXplOiAwcHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlLCBAZGVza3RvcHtcclxuICAgICAgICBcdHBhZGRpbmctdG9wOiAycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICY6Zm9jdXN7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJhdGluZy1pdGVtIHtcclxuICAgICAgICBcclxuICAgICAgICAucHVsbC1sZWZ0O1xyXG4gICAgICAgIC5zaXplKDE5cHgsIDE2cHgpO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvc291cmNlcy9yYXRpbmctZW1wdHktb25jZS5wbmdcIikgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICB0ZXh0LWluZGVudDogLTEwMDBweDtcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xyXG4gICAgICAgICAgICAuc2l6ZSgzNXB4LCAzMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJhdGluZy1pdGVtLWZpbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9zb3VyY2VzL3JhdGluZy1mdWxsLW9uY2UucG5nXCIpIG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICB9XHJcblxyXG4gICAgLnJhdGluZy1tZXNzYWdle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAudm90ZWQtY291bnR7XHJcblxyXG4gICAgICAgIGNvbG9yIDpAZ3JheS0zNDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyM3B4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAZGVza3RvcHtcclxuICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmF0aW5nLXdoaXRlIHtcclxuICAgICAgICAucmF0aW5nLWl0ZW0ge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zb3VyY2VzL3JhdGluZy1lbXB0eS1vbmNlLXdoaXRlLnBuZ1wiKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJhdGluZy1pdGVtLWZpbGwge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvc291cmNlcy9yYXRpbmctZnVsbC1vbmNlLXdoaXRlLnBuZ1wiKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJhdGluZy1saXN0e1xyXG4gICAgICAgIFx0cGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zaWRlYmFyLW5hcnJvd3tcclxuICAgIFxyXG4gICAgJjpleHRlbmQoLmJveC1zaGFkb3csIC53aGl0ZS1ibG9jayk7XHJcblxyXG4gICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgcGFkZGluZzogMThweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVE9ETyAtIHJlZmFjdG9yIHRoaXMgdG8gbWFrZSBjb21mb3J0YWJsZSBtYW5pcHVsYXRpbmcgdy8gYSB0cmFja3MgbGlzdFxyXG4uc2lkZWJhci13aWRlOmV4dGVuZCguYmxvY2spe31cclxuXHJcbi5zaWRlYmFyLXdpZGUsXHJcbi5zaXplYmFyLW5hcnJvd3tcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcblxyXG4jcGFnZS1sb2FkZXJ7XHJcbiAgICBcclxuICAgIC5hYnNvbHV0ZTtcclxuICAgIC5zcXVhcmUoMTAwJSk7XHJcbiAgICBcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgei1pbmRleDogOTk7IFxyXG4gICAgZGlzcGxheTpub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyBcclxuXHJcbiAgICBpe1xyXG4gICAgICAgIC5zcXVhcmUoMTAwcHgpO1xyXG5cclxuICAgICAgICB0b3A6IDQ1JTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9sb2FkZXJzL3BhZ2UtbG9hZGVyLmdpZik7XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxle1xyXG5cdFx0XHRsZWZ0OiA0MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICBcdGxlZnQ6IDQ3JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhIEBkZXNrdG9we1xyXG5cdFx0XHRsZWZ0OiA0OCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWpheC1lcnJvcntcclxuICAgIFxyXG4gICAgLnRleHQtY2VudGVyO1xyXG4gICAgXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IDAgMTBweCAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFyb29uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRURFRDtcclxuICAgIFxyXG4gICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgbWFyZ2luOiA1MHB4IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYm9yZGVyLWJvdHRvbXtcclxuICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDdkOGQ4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0LFxyXG4gICAgICAgICAgIEBkZXNrdG9wXHJcbiAgICB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOWM5Yzk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKlxyXG4gKiBPZmYgQ2FudmFzIC0gTW9iaWxlIEZpbHRlciBTaWRlYmFyIG9uIHBhZ2VzIGFzXHJcbiAqIC9jYXRlZ29yaWVzL3ZpZXdcclxuICogL3RyYWNrcy9zZWFyY2hcclxuICogZXRjLlxyXG4gKiBcclxuICogaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2V4YW1wbGVzL29mZmNhbnZhcy9cclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBcclxuICAgIGh0bWwsIFxyXG4gICAgYm9keSB7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3ctb2ZmY2FudmFzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5yb3ctb2ZmY2FudmFzLXJpZ2h0IHtcclxuICAgICAgICByaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAucm93LW9mZmNhbnZhcy1sZWZ0IHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3ctb2ZmY2FudmFzLXJpZ2h0XHJcbiAgICAuc2lkZWJhci1vZmZjYW52YXMge1xyXG4gICAgICAgIHJpZ2h0OiAtNzkuNjclO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3ctb2ZmY2FudmFzLWxlZnRcclxuICAgIC5zaWRlYmFyLW9mZmNhbnZhcyB7XHJcbiAgICAgICAgbGVmdDogLTc5LjY3JTtcclxuICAgIH1cclxuXHJcbiAgICAucm93LW9mZmNhbnZhcy1yaWdodC5hY3RpdmUge1xyXG4gICAgICAgIHJpZ2h0OiA4NS42NyU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdy1vZmZjYW52YXMtbGVmdC5hY3RpdmUge1xyXG4gICAgICAgIGxlZnQ6IDg1LjY3JTtcclxuICAgIH1cclxuICAgIC5yb3ctb2ZmY2FudmFzLWxlZnQuYWN0aXZle1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0MDhweDtcclxuICAgIH1cclxuXHJcbiAgICAjc2lkZWJhci5zaWRlYmFyLW9mZmNhbnZhcyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogODEuNjclO1xyXG4gICAgfVxyXG59XHJcbi8qKioqKioqL1xyXG5cclxuXHJcblxyXG4vKipcclxuICogQXBwbGljYXRpb24gc3RlcHMgd2lkZ2V0IHN0eWxlc1xyXG4gKi9cclxuIC5icy13aXphcmQge21hcmdpbi10b3A6IDQwcHg7fVxyXG5cclxuIC5icy13aXphcmQge2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZTBlMGUwOyBwYWRkaW5nOiAwIDAgMTBweCAwO31cclxuIC5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAge3BhZGRpbmc6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTt9XHJcbiAuYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwICsgLmJzLXdpemFyZC1zdGVwIHt9XHJcbiAuYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwIC5icy13aXphcmQtc3RlcG51bSB7Y29sb3I6ICM1OTU5NTk7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luLWJvdHRvbTogNXB4O31cclxuIC5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAgLmJzLXdpemFyZC1pbmZvIHtjb2xvcjogIzk5OTsgZm9udC1zaXplOiAxNHB4O31cclxuIC5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAgPiAuYnMtd2l6YXJkLWRvdCB7cG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBkaXNwbGF5OiBibG9jazsgYmFja2dyb3VuZDogI2ZiZThhYTsgdG9wOiA0NXB4OyBsZWZ0OiA1MCU7IG1hcmdpbi10b3A6IC0xNXB4OyBtYXJnaW4tbGVmdDogLTE1cHg7IGJvcmRlci1yYWRpdXM6IDUwJTt9IFxyXG4gLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcCA+IC5icy13aXphcmQtZG90OmFmdGVyIHtjb250ZW50OiAnICc7IHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IGJhY2tncm91bmQ6ICNmYmJkMTk7IGJvcmRlci1yYWRpdXM6IDUwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA4cHg7IGxlZnQ6IDhweDsgfSBcclxuIC5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXAgPiAucHJvZ3Jlc3Mge3Bvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyLXJhZGl1czogMHB4OyBoZWlnaHQ6IDhweDsgYm94LXNoYWRvdzogbm9uZTsgbWFyZ2luOiAyMHB4IDA7fVxyXG4gLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge3dpZHRoOjBweDsgYm94LXNoYWRvdzogbm9uZTsgYmFja2dyb3VuZDogI2ZiZThhYTt9XHJcbiAuYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwLmNvbXBsZXRlID4gLnByb2dyZXNzID4gLnByb2dyZXNzLWJhciB7d2lkdGg6MTAwJTt9XHJcbiAuYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwLmFjdGl2ZSA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge3dpZHRoOjUwJTt9XHJcbiAuYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwOmZpcnN0LWNoaWxkLmFjdGl2ZSA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge3dpZHRoOjAlO31cclxuIC5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXA6bGFzdC1jaGlsZC5hY3RpdmUgPiAucHJvZ3Jlc3MgPiAucHJvZ3Jlc3MtYmFyIHt3aWR0aDogMTAwJTt9XHJcbiAuYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwLmRpc2FibGVkID4gLmJzLXdpemFyZC1kb3Qge2JhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7fVxyXG4gLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcC5kaXNhYmxlZCA+IC5icy13aXphcmQtZG90OmFmdGVyIHtvcGFjaXR5OiAwO31cclxuIC5icy13aXphcmQgPiAuYnMtd2l6YXJkLXN0ZXA6Zmlyc3QtY2hpbGQgID4gLnByb2dyZXNzIHtsZWZ0OiA1MCU7IHdpZHRoOiA1MCU7fVxyXG4gLmJzLXdpemFyZCA+IC5icy13aXphcmQtc3RlcDpsYXN0LWNoaWxkICA+IC5wcm9ncmVzcyB7d2lkdGg6IDUwJTt9XHJcbiAuYnMtd2l6YXJkID4gLmJzLXdpemFyZC1zdGVwLmRpc2FibGVkIGEuYnMtd2l6YXJkLWRvdHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuIC8qIEVORCBGb3JtIFdpemFyZCAqL1xyXG5cclxuXHJcblxyXG4vKipcclxuICogQ2xhc3NlcyBmb3IgJ0Rvd25sb2FkJyBidXR0b24gZm9yIGV4aXN0ZWQgYmFsYW5jZSB0aGF0IG9wZW5zIGluIHBvcHVwXHJcbiAqL1xyXG4uZG93bmxvYWQtc3Vicy1tZXNzc2FnZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjYTlhYWFhO1xyXG4gICAgY29sb3I6IzU1NTU1NTtcclxuICAgIFxyXG4gICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgcGFkZGluZzoxNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICBwYWRkaW5nOjhweCAxM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAZGVza3RvcHtcclxuICAgICAgICBwYWRkaW5nOjExcHggMTNweDtcclxuICAgIH1cclxufVxyXG5cclxuLmRvd25sb2FkLXN1YnMtbWVzc3NhZ2UgYSB7IFxyXG4gICAgXHJcbiAgICAuc2l6ZSg0MHB4LDI4cHgpO1xyXG4gICAgLnRleHQtY2VudGVyO1xyXG5cclxuICAgIGNvbG9yOiNmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcblxyXG4gICAgJjphY3RpdmUsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjpob3ZlcntcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYuYnV5e1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjgwMTk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYuY2FuY2Vse1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOWFhYWE7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICBcdC5zcXVhcmUoYXV0byk7XHJcbiAgICBcdGZvbnQtc2l6ZTogNDJweDtcclxuXHQgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XHJcblx0ICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0e1xyXG5cclxuICAgIH1cclxuICAgIFxyXG4gICAgQG1lZGlhIEBkZXNrdG9we1xyXG5cclxuICAgIH1cclxufVxyXG4vKioqKioqKioqL1xyXG5cclxuXHJcbi51aS1kaWFsb2ctdGl0bGViYXIudWktd2lkZ2V0LWhlYWRlci51aS1jb3JuZXItYWxsLnVpLWhlbHBlci1jbGVhcmZpeCB7XHJcbiAgICBkaXNwbGF5OiBub25lXHJcbn1cclxuLnVpLWRpYWxvZy51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQudWktY29ybmVyLWFsbC51aS1mcm9udC51aS1kcmFnZ2FibGUudWktcmVzaXphYmxlIHtcclxuICAgIHotaW5kZXg6IDEwXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2xpY2sgU2xpZGVyIEN1c3RvbSBTdHlsZXNcclxuICogaHR0cDovL2tlbndoZWVsZXIuZ2l0aHViLmlvL3NsaWNrL1xyXG4gKi9cclxuLnNsaWNrLXNsaWRlcntcclxuICAgIFxyXG4gICAgLnNsaWNrLXByZXYsIFxyXG4gICAgLnNsaWNrLW5leHR7XHJcblxyXG4gICAgICAgIC5hYnNvbHV0ZTtcclxuICAgICAgICAuY2xlYXItcGFkZGluZztcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Nwcml0ZXMvcGxheWVyLWVsZW1lbnRzLXNwcml0ZS5wbmcnKTtcclxuICAgICAgICBcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhcjtcclxuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhcjtcclxuXHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlLFxyXG4gICAgICAgICAgICAgICBAZGVza3RvcFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgLnNpemUoNTVweCwgMTAwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZSxcclxuICAgICAgICAgICAgICAgQHRhYmxldFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgJjpmb2N1c3tcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6bm9uZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y1RjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICAuc2l6ZSg0MHB4LCAxMDAlKTtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEBkZXNrdG9we1xyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgJjpmb2N1c3tcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6bm9uZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y1RjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICAgXHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLXByZXZ7XHJcbiAgICBcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3NvdXJjZXMvY2Fyb3VzZWwtbGVmdC5wbmcpO1xyXG4gICAgICAgIGxlZnQ6IC0yNXB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICAgICAgbGVmdDogLTQ1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICAgICAgbGVmdDogLTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1uZXh0e1xyXG4gICAgXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9zb3VyY2VzL2Nhcm91c2VsLXJpZ2h0LnBuZyk7XHJcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgICAgICByaWdodDogLTQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1kb3Rze1xyXG4gICAgICAgIFxyXG4gICAgICAgIC50ZXh0LWNlbnRlcjtcclxuICAgICAgICAuY2xlYXItcGFkZGluZztcclxuICAgICAgIFxyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjVweDtcclxuXHJcbiAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbntcclxuICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMzZweDtcclxuXHJcbiAgICAgICAgICAgIFx0QG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgICAgIFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMzM2cHg7XHJcbiAgICAgICAgICAgIFx0fVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgLnNxdWFyZSgxOHB4KTtcclxuICAgICAgICAgICAgICAgIC5jbGVhci1wYWRkaW5nO1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM3OHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvc3ByaXRlcy9jb21tb24tZWxlbWVudHMtc3ByaXRlLnBuZyk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICAgICAgICAgIC5zcXVhcmUoMTRweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTM3OHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgIFxyXG4gICAgfVxyXG59XHJcbi8qKioqKioqKiovXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBQYWdpbmF0aW9uIE51bWJlciBTdHlsZXNcclxuICovXHJcbi5wYWdpbmF0aW9uLW51bWJlcnN7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6IEBmb250LXByb3hpbWFub3ZhLXJlZ3VsYXI7XHJcbiAgICBcclxuICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgIHBhZGRpbmc6IDM1cHggMCAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTI0cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjRweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KXtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcclxuXHJcbiAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQG1lZGlhIEB0YWJsZXQsXHJcbiAgICAgICAgICAgQGRlc2t0b3BcclxuICAgIHtcclxuICAgICAgICAudGV4dC1jZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIEB0YWJsZXR7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIEBkZXNrdG9we1xyXG4gICAgICAgIHBhZGRpbmc6IDM1cHggMCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpc2FibGVkLWxpbmt7XHJcbiAgICAgICAgY29sb3I6ICNkNmQ2ZDY7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1cnJlbnR7XHJcbiAgICAgICAgY29sb3I6ICM2ODY4Njg7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEBkZXNrdG9we1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIE1vYmlsZSBidXR0b25zXHJcbiAgICAgKi9cclxuICAgIC5sZWZ0LWJ1dHRvbnN7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAucmlnaHQtYnV0dG9uc3tcclxuICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgIH1cclxuICAgIC8qKioqKioqL1xyXG5cclxuICAgIGF7XHJcbiAgICAgICAgY29sb3I6Izg3ODc4NztcclxuICAgICAgICBib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBjb2xvcjojNjg2ODY4O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNwYW57XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI0cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpe1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA5cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLyoqKioqKi9cclxuXHJcblxyXG4vKipcclxuICogTW9iaWxlIHNpZGViYXIgRmlsdGVyIGluIE1lZGlhIEl0ZW1zIExpc3Qgc3VjaCBhcyBzZWFyY2gsIGNhdGVnb3JpZXMgdmlldywgZXRjLlxyXG4gKi9cclxuLnNpZGViYXItb2ZmY2FudmFze1xyXG5cclxuICAgIC5maWx0ZXItYnktaGVhZGluZyxcclxuICAgIC5maWx0ZXItYnkge1xyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJ1dHRvbi1tb2JpbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsIGxpIHtcclxuICAgICAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLyoqKioqKioqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCUkVBRENSVU1CU1xyXG4gKi9cclxuLmJyZWFkY3J1bWJzIHtcclxuICAgIFxyXG4gICAgLmxpc3QtaW5saW5lO1xyXG4gICAgLmxpc3QtdW5zdHlsZWQ7XHJcblxyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG5cclxuICAgICYuYnJlYWRjcnVtYnMtY2F0ZWdvcmllcy14c3tcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJyZWFkY3J1bWJzLWxpc3Qge1xyXG4gICAgICAgIC5jbGVhci1tYXJnaW47XHJcbiAgICAgICAgLmNsZWFyLXBhZGRpbmc7XHJcblxyXG4gICAgICAgICYuYnJlYWRjcnVtYnMtdmlldy1pdGVte1xyXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnJlYWRjcnVtYnMtaXRlbSBhLFxyXG4gICAgLmJyZWFkY3J1bWJzLXNlcGFyYXRvcixcclxuICAgIC5icmVhZGNydW1icy1pdGVtLWxhc3Qge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogIzg4ODg4ODtcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplIDogQGZvbnQtc2l6ZS1iYXNlLW1vYmlsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemUgOiAxM3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEBkZXNrdG9we1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxOXB4IDAgMTdweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemUgOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnJlYWRjcnVtYnMtaXRlbSB7XHJcbiAgICAgICAgJjpleHRlbmQoLnB1bGwtbGVmdCk7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigjODg4LCAxMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmJyZWFkY3J1bWJzLWl0ZW0tbGFzdCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAuYnJlYWRjcnVtYnMtc2VwYXJhdG9yIHtcclxuICAgICAgICAmOmV4dGVuZCgucHVsbC1sZWZ0KTtcclxuXHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBJMThuXHJcbiAqIENsYXNzIGZvciB0cmFuc2xhdGVkIHRleHQgb3ZlcmZsb3cgY2FzZXNcclxuICogSnVzdCBzZXQgd2lkdGggJiB1c2UgdGhpcyBjbGFzc1xyXG4gKi9cclxuLm92ZXJmbG93LWVsbGlwc2lze1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLyoqKioqKiovXHJcblxyXG5cclxuLyoqXHJcbiAqIFBhY2sgXFwgVHJhY2sgaW5mbyBpbiBjYXRlZ29yaWVzXHJcbiAqL1xyXG4uaW5mby1pbmJvZHl7XHJcbiAgICAucmVsYXRpdmU7XHJcblxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Nwcml0ZXMvY29tbW9uLWVsZW1lbnRzLXNwcml0ZS5wbmcnKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblxyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0b3A6IDNweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTFweDtcclxuICAgIFxyXG4gICAgXHJcbiAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICAuc3F1YXJlKDMycHgpO1xyXG4gICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0e1xyXG4gICAgICAgIC5zcXVhcmUoMTNweCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg0cHggLTIxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAZGVza3RvcHtcclxuICAgICAgICAuc3F1YXJlKDE2cHgpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0yMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgfVxyXG59XHJcbi8qKioqKioqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBqUXVlcnkgVUkgY3VzdG9tIHN0eWxlc1xyXG4gKi9cclxuIC51aS13aWRnZXQtb3ZlcmxheS51aS1mcm9udCB7XHJcbiAgICAgJjpleHRlbmQoLnB1bGwtbGVmdCk7XHJcblxyXG4gICAgIC5hYnNvbHV0ZTtcclxuICAgICAuc3F1YXJlKDEwMCUpO1xyXG4gICAgIFxyXG4gICAgIHotaW5kZXg6IDU7XHJcbiAgICAgYmFja2dyb3VuZDogYmxhY2s7XHJcbiAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTUwKTtcclxuICAgICB0b3A6IDBweDtcclxuIH1cclxuXHJcbiAudG9vbHRpcC1jdXN0b20gLnRvb2x0aXAtYXJyb3d7XHJcbiAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzQyNDI0MjtcclxuICAgICBcclxuICAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgICAgbWFyZ2luLWxlZnQ6IC05cHg7XHJcbiAgICAgICAgIGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHg7XHJcbiAgICAgfVxyXG4gfVxyXG5cclxuIC50b29sdGlwLWN1c3RvbSB7XHJcbiAgICBAbWVkaWEgQG1vYmlsZXtcclxuICAgICAgIC5jbGVhci1wYWRkaW5nO1xyXG4gICAgfVxyXG4gfVxyXG5cclxuLnRvb2x0aXAtY3VzdG9tIC50b29sdGlwLWlubmVyLFxyXG4udHJhY2staW5mby1jb250ZW50XHJcbntcclxuXHR3aWR0aDo0MTVweDtcclxuXHRtYXgtd2lkdGg6IDQxNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0Y29sb3I6IzU1NTU1NTtcclxuXHRwYWRkaW5nOiAxMHB4IDMwcHg7XHJcblx0Ym9yZGVyOjFweCBzb2xpZCAjYTlhYWFhO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IEBsaWdodC1ncmF5O1xyXG5cclxuXHRAbWVkaWEgQG1vYmlsZXtcclxuXHRcdC5jbGVhci1wYWRkaW5nO1xyXG5cclxuXHRcdGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlLW1vYmlsZTtcclxuXHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IEBsaWdodC1ncmF5O1xyXG5cdH1cclxuXHJcblx0QG1lZGlhIEB0YWJsZXR7XHJcblx0XHRmb250LXNpemU6IEBmb250LXNpemUtYmFzZS10YWJsZXQ7XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgQGRlc2t0b3B7XHJcblx0XHRmb250LXNpemU6IEBmb250LXNpemUtYmFzZS1kZXNrdG9wO1xyXG5cdH1cclxufVxyXG5cclxuIC8qKioqKiovXHJcblxyXG5cclxuLmZhdi1ibG9jayB7XHJcbiAgICAucmVsYXRpdmU7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5mYXYtYmxvY2staW5saW5lIHtcclxuICAgIC5yZWxhdGl2ZTtcclxufVxyXG5cclxuLmxvYWRlciB7XHJcbiAgICAuc3F1YXJlKDE2cHgpO1xyXG5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9zb3VyY2VzL3NwaW5uZXIuZ2lmXCIpIG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgLnNxdWFyZSgyNXB4KTtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXJyb3ItbWVzc2FnZTpleHRlbmQoLmhhcy1lcnJvciAuaGVscC1ibG9jayl7fVxyXG5cclxuI21pbmlfcGxheWVye1xyXG4gICAgLmFic29sdXRlO1xyXG59XHJcblxyXG5cclxuLmRpc2NsYWltZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcblxyXG4ucHJlbG9hZGVyLWFkYXB0aXZle1xyXG5cclxuICAgIGRpc3BsYXk6bm9uZTtcclxuXHJcbiAgICBpbWd7XHJcbiAgICAgICAgLnB1bGwtbGVmdDtcclxuXHJcbiAgICAgICAgQG1lZGlhIEBtb2JpbGV7XHJcbiAgICAgICAgICAgIC5zcXVhcmUoMzVweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICAgICAgLnNxdWFyZSgxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAZGVza3RvcHtcclxuICAgICAgICAgICAgLnNxdWFyZSgyNHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5mZWF0dXJlZCBpbWd7XHJcblxyXG4gICAgICAgIC5wdWxsLWxlZnQ7XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxle1xyXG4gICAgICAgICAgICAuc3F1YXJlKDMwcHgpO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDAgMCAzNSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldCwgQGRlc2t0b3B7XHJcbiAgICAgICAgICAgIC5zcXVhcmUoMTVweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAZGVza3RvcHtcclxuICAgICAgICAgICAgbWFyZ2luOiAzNXB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIENsaWVudHMgRWxlbWVudFxyXG4gKi9cclxuLnJvdy13aGl0ZS1jbGllbnRze1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xyXG4gICAgbWFyZ2luLXRvcDogNzBweDtcclxuXHJcbiAgICBAbWVkaWEgQHRhYmxldHtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgQGRlc2t0b3B7XHJcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmVsZW1lbnQtY2xpZW50cyB7XHJcblxyXG4gICAgLmVsZW1lbnQtbGFiZWwge1xyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3Age1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWxlbWVudCBDYXB0aW9uIGNvbmZpZ3NcclxuICAgICAqL1xyXG4gICAgLmVsZW1lbnQtbGFiZWwge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1wcm94aW1hbm92YS10aGluO1xyXG4gICAgICAgIGNvbG9yOiAjNTY1NjU2O1xyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgIC50ZXh0LWNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQGRlc2t0b3Age1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmdyZWVuIHtcclxuICAgICAgICAgICAgY29sb3I6IEBoZWFkaW5ncy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSb3cgc2V0dXBzIHdpdGggc3RhbmRhbG9uZSBpbWFnZXNcclxuICAgICAqL1xyXG4gICAgLnJvdy1jbGllbnRzIHtcclxuXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIEBtZWRpYSBAbW9iaWxlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAuY2VudGVyLWJsb2NrO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBAZGVza3RvcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1zIHtcclxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQxJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0JTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGlzY292ZXJ5IHtcclxuICAgICAgICAgICAgQG1lZGlhIEBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0JTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4JTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgQGRlc2t0b3Age1xyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYnMge1xyXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTklO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBAZGVza3RvcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2lzY28ge1xyXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1JTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4JTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yaG91c2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzglO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xyXG5cclxuICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1OHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG5cclxuICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUm93IHNldHVwcyB3aXRoIGVsZW1lbnQncyBsYWJlbFxyXG4gICAgICovXHJcbiAgICAucm93LWxhYmVsZWQge1xyXG4gICAgICAgIEBtZWRpYSBAZGVza3RvcCB7XHJcbiAgICAgICAgICAgICYucm93LWNsaWVudHMgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4JTtcclxuXHJcbiAgICAgICAgICAgICAgICAmLm1zIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQG1vYmlsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggNTBweCA1MHB4IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICAgICAgd2lkdGg6IDc5JSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBAZGVza3RvcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgLmNlbnRlci1ibG9jaztcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgQGRlc2t0b3Age1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tcyB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNiU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kaXNjb3Zlcnkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTFweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYnMge1xyXG4gICAgICAgICAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQxcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jaXNjbyB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBAZGVza3RvcCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTYlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJob3VzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9iaWxlIG1hcmdpbiBiZXR3ZWVuIGxpbmVzXHJcbiAgICAgKi9cclxuICAgIC5yb3ctbWFyZ2luIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0OHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRvYXN0ciBjb2xvcnNcclxuICovXHJcbiN0b2FzdC1jb250YWluZXIge1xyXG5cdC50b2FzdC1pbmZvIHtcclxuXHRcdGJvcmRlci1jb2xvcjogQHN0YXRlLWluZm8tYm9yZGVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQHN0YXRlLWluZm8tYmc7XHJcblx0XHQmID4gZGl2LFxyXG5cdFx0JiA+IGJ1dHRvbiB7XHJcblx0XHRcdGNvbG9yOiBAc3RhdGUtaW5mby10ZXh0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRvYXN0LXN1Y2Nlc3Mge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQHN0YXRlLXN1Y2Nlc3MtYmc7XHJcblx0XHRib3JkZXItY29sb3I6IEBzdGF0ZS1zdWNjZXNzLWJvcmRlcjtcclxuXHRcdCYgPiBkaXYsXHJcblx0XHQmID4gYnV0dG9uIHtcclxuXHRcdFx0Y29sb3I6IEBzdGF0ZS1zdWNjZXNzLXRleHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC50b2FzdC1lcnJvciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAc3RhdGUtZGFuZ2VyLWJnO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiBAc3RhdGUtZGFuZ2VyLWJvcmRlcjtcclxuXHRcdCYgPiBkaXYsXHJcblx0XHQmID4gYnV0dG9uIHtcclxuXHRcdFx0Y29sb3I6IEBzdGF0ZS1kYW5nZXItdGV4dDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50b2FzdC13YXJuaW5nIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IEBzdGF0ZS13YXJuaW5nLWJvcmRlcjtcclxuXHRcdGJvcmRlci1jb2xvcjogQHN0YXRlLXdhcm5pbmctYmc7XHJcblx0XHQmID4gZGl2LFxyXG5cdFx0JiA+IGJ1dHRvbiB7XHJcblx0XHRcdGNvbG9yOiBAc3RhdGUtd2FybmluZy10ZXh0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEluLWJ1dHRvbiBzcGlubmVyIGZvciBhZGQyY2FydCBhbmQgZmFtaWxpYXIgYnV0dG9uc1xyXG4gKi9cclxuLmdseXBoaWNvbi1yZWZyZXNoLWFuaW1hdGUge1xyXG5cdGxpbmUtaGVpZ2h0OiAuNTtcclxuICAgIC1hbmltYXRpb246IHNwaW4gLjdzIGluZmluaXRlIGxpbmVhcjtcclxuICAgIC1tcy1hbmltYXRpb246IHNwaW4gLjdzIGluZmluaXRlIGxpbmVhcjtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGludyAuN3MgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgLW1vei1hbmltYXRpb246IHNwaW5tIC43cyBpbmZpbml0ZSBsaW5lYXI7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMGRlZyk7fVxyXG4gICAgdG8geyB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgzNjBkZWcpO31cclxufVxyXG4gIFxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbncge1xyXG4gICAgZnJvbSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7fVxyXG4gICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7fVxyXG59XHJcblxyXG5ALW1vei1rZXlmcmFtZXMgc3Bpbm0ge1xyXG4gICAgZnJvbSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7fVxyXG4gICAgdG8geyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIExpbmUgbG9hZGVyXHJcbiAqL1xyXG4ubGluZS1sb2FkZXIge1xyXG4gICBoZWlnaHQ6IDRweDtcclxuICAgd2lkdGg6IDEwMCU7XHJcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxufVxyXG4ubGluZS1sb2FkZXI6YmVmb3Jle1xyXG4gICBkaXNwbGF5OiBibG9jaztcclxuICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICBjb250ZW50OiBcIlwiO1xyXG4gICBsZWZ0OiAtMjAwcHg7XHJcbiAgIHdpZHRoOiAyMDBweDtcclxuICAgaGVpZ2h0OiA0cHg7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LTM0O1xyXG4gICBhbmltYXRpb246IGxvYWRpbmcgMnMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGxvYWRpbmcge1xyXG4gICAgIGZyb20ge2xlZnQ6IC0yMDBweDsgd2lkdGg6IDMwJTt9XHJcbiAgICAgNTAlIHt3aWR0aDogMzAlO31cclxuICAgICA3MCUge3dpZHRoOiA3MCU7fVxyXG4gICAgIDgwJSB7IGxlZnQ6IDUwJTt9XHJcbiAgICAgOTUlIHtsZWZ0OiAxMjAlO31cclxuICAgICB0byB7bGVmdDogMTAwJTt9XHJcbn1cclxuLyoqKioqKiovXHJcblxyXG4vKipcclxuICogQ29tbW9uIHN0eWxlcyBmb3IgbWRpXHJcbiAqIGh0dHBzOi8vbWF0ZXJpYWxkZXNpZ25pY29ucy5jb20vXHJcbiAqL1xyXG4ubWRpLFxyXG4ubWRpLXNldHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMjRweC8xIEBmb250LW1kaTtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0dGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLm1kaS1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRjIwQ1wiOyB9XHJcbi5tZGktdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRjU0NFwiOyB9XHJcbi5tZGktcnNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxGNDZCXCI7IH1cclxuLm1kaS1oZWFydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxGMkQ1XCI7ICB9XHJcbi5tZGktY2FydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxGMTExXCI7ICB9XHJcbi5tZGktbWFnbmlmeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRjM0OVwiOyAgfVxyXG4ubWRpLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxGMTU2XCI7ICB9XHJcbi5tZGktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxGNzY0XCI7IH1cclxuLm1kaS1jaXJjbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRjc2NVwiOyB9XHJcbi5tZGktZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXEYxREFcIjt9XHJcbi5tZGktY2FzaC11c2Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTdcIjsgfVxyXG4ubWRpLW1hZ25pZnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNDlcIjsgfSIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG4uZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHRleHQtY29sb3I6ICM1NTU7IEBib3JkZXItY29sb3I6ICNjY2M7IEBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICBAc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKEBib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICAuYm94LXNoYWRvdyhAc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuLmZvcm0tY29udHJvbC1mb2N1cyhAY29sb3I6IEBpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgQGNvbG9yLXJnYmE6IHJnYmEocmVkKEBjb2xvciksIGdyZWVuKEBjb2xvciksIGJsdWUoQGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IEB7Y29sb3ItcmdiYX1cIik7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4uaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0OyBAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG5cbiAgc2VsZWN0JiB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEmLFxuICBzZWxlY3RbbXVsdGlwbGVdJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvL1xuLy8gQnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbi5idG4tZ3JvdXAge1xuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAgKyAuYnRuLFxuICAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IC8vIE9mZnNldCB0aGUgZmlyc3QgY2hpbGQncyBtYXJnaW5cbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgLmJ0bixcbiAgLmJ0bi1ncm91cCxcbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgJjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi8vIE5lZWQgLmRyb3Bkb3duLXRvZ2dsZSBzaW5jZSA6bGFzdC1jaGlsZCBkb2Vzbid0IGFwcGx5IGdpdmVuIGEgLmRyb3Bkb3duLW1lbnUgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC14cyA+IC5idG4geyAmOmV4dGVuZCguYnRuLXhzKTsgfVxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyAmOmV4dGVuZCguYnRuLXNtKTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyAmOmV4dGVuZCguYnRuLWxnKTsgfVxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gUmVwb3NpdGlvbiB0aGUgY2FyZXRcbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXG4uYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogQGNhcmV0LXdpZHRoLWxhcmdlIEBjYXJldC13aWR0aC1sYXJnZSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLy8gVXBzaWRlIGRvd24gY2FyZXRzIGZvciAuZHJvcHVwXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwIEBjYXJldC13aWR0aC1sYXJnZSBAY2FyZXQtd2lkdGgtbGFyZ2U7XG59XG5cblxuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyIGZsb2F0cyBzbyBkcm9wZG93biBtZW51cyBjYW4gYmUgcHJvcGVybHkgcGxhY2VkXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBKdXN0aWZpZWQgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLWp1c3RpZmllZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gID4gLmJ0bi1ncm91cCAuYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0ge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi5idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDI1JSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDEyJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgMTIlKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDE3JSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgMjUlKTtcbiAgICB9XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogQGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuLmJ1dHRvbi1zaXplKEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIC5jb250YWluZXItZml4ZWQoKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgLmNvbnRhaW5lci1maXhlZCgpO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICAubWFrZS1yb3coKTtcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKTtcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbi5tYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAubWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gIC5tYWtlLWdyaWQobGcpO1xufVxuIiwiLy9cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogQGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogQGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogQGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogQGhlYWRpbmdzLWNvbG9yO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IEBoZWFkaW5ncy1zbWFsbC1jb2xvcjtcbiAgfVxufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMge1xuICBtYXJnaW4tdG9wOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgfVxufVxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgbWFyZ2luLXRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gIH1cbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNjsgfVxuXG5cbi8vIEJvZHkgdGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuXG4ubGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogMS4xNSkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIH1cbn1cblxuXG4vLyBFbXBoYXNpcyAmIG1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRXg6ICgxMnB4IHNtYWxsIGZvbnQgLyAxNHB4IGJhc2UgZm9udCkgKiAxMDAlID0gYWJvdXQgODUlXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKDEwMCUgKiBAZm9udC1zaXplLXNtYWxsIC8gQGZvbnQtc2l6ZS1iYXNlKSk7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzdGF0ZS13YXJuaW5nLWJnO1xuICBwYWRkaW5nOiAuMmVtO1xufVxuXG4vLyBBbGlnbm1lbnRcbi50ZXh0LWxlZnQgICAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LWp1c3RpZnkgICAgICAgIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG4udGV4dC1sb3dlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbi50ZXh0LXVwcGVyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogQHRleHQtbXV0ZWQ7XG59XG4udGV4dC1wcmltYXJ5IHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4udGV4dC1zdWNjZXNzIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbn1cbi50ZXh0LWluZm8ge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1pbmZvLXRleHQpO1xufVxuLnRleHQtd2FybmluZyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXdhcm5pbmctdGV4dCk7XG59XG4udGV4dC1kYW5nZXIge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1kYW5nZXItdGV4dCk7XG59XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vIEZvciBub3cgd2UnbGwgbGVhdmUgdGhlc2UgYWxvbmdzaWRlIHRoZSB0ZXh0IGNsYXNzZXMgdW50aWwgdjQgd2hlbiB3ZSBjYW5cbi8vIHNhZmVseSBzaGlmdCB0aGluZ3MgYXJvdW5kIChwZXIgU2VtVmVyIHJ1bGVzKS5cbi5iZy1wcmltYXJ5IHtcbiAgLy8gR2l2ZW4gdGhlIGNvbnRyYXN0IGhlcmUsIHRoaXMgaXMgdGhlIG9ubHkgY2xhc3MgdG8gaGF2ZSBpdHMgY29sb3IgaW52ZXJ0ZWRcbiAgLy8gYXV0b21hdGljYWxseS5cbiAgY29sb3I6ICNmZmY7XG4gIC5iZy12YXJpYW50KEBicmFuZC1wcmltYXJ5KTtcbn1cbi5iZy1zdWNjZXNzIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmJnLWluZm8ge1xuICAuYmctdmFyaWFudChAc3RhdGUtaW5mby1iZyk7XG59XG4uYmctd2FybmluZyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5iZy1kYW5nZXIge1xuICAuYmctdmFyaWFudChAc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuXG4vLyBQYWdlIGhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpO1xuICBtYXJnaW46IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAyKSAwIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBwYWdlLWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cblxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXG51bCxcbm9sIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTGlzdCBvcHRpb25zXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICAubGlzdC11bnN0eWxlZCgpO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuLmRsLWhvcml6b250YWwge1xuICBkZCB7XG4gICAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IChAZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgLnRleHQtb3ZlcmZsb3coKTtcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBkbC1ob3Jpem9udGFsLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCBAYWJici1ib3JkZXItY29sb3I7XG59XG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICAudGV4dC11cHBlcmNhc2UoKTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogQGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBAYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgLy8gZW0gZGFzaCwgbmJzcFxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLy9cbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgJjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvL1xuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTm9ybWFsaXplIG5vbi1jb250cm9sc1xuLy9cbi8vIFJlc3R5bGUgYW5kIGJhc2VsaW5lIG5vbi1jb250cm9sIGZvcm0gZWxlbWVudHMuXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBAbGVnZW5kLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbGVnZW5kLWJvcmRlci1jb2xvcjtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gRm9yY2UgSUU4IHRvIHdyYXAgbG9uZyBjb250ZW50IChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMzE0MSlcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vLyBOb3JtYWxpemUgZm9ybSBjb250cm9sc1xuLy9cbi8vIFdoaWxlIG1vc3Qgb2Ygb3VyIGZvcm0gc3R5bGVzIHJlcXVpcmUgZXh0cmEgY2xhc3Nlcywgc29tZSBiYXNpYyBub3JtYWxpemF0aW9uXG4vLyBpcyByZXF1aXJlZCB0byBlbnN1cmUgb3B0aW11bSBkaXNwbGF5IHdpdGggb3Igd2l0aG91dCB0aG9zZSBjbGFzc2VzIHRvIGJldHRlclxuLy8gYWRkcmVzcyBicm93c2VyIGluY29uc2lzdGVuY2llcy5cblxuLy8gT3ZlcnJpZGUgY29udGVudC1ib3ggaW4gTm9ybWFsaXplICgqIGlzbid0IHNwZWNpZmljIGVub3VnaClcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvLyBJRTgtOVxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBNYWtlIHJhbmdlIGlucHV0cyBiZWhhdmUgbGlrZSB0ZXh0dWFsIGZvcm0gY29udHJvbHNcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gTWFrZSBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudHMgaGVpZ2h0IG5vdCBmaXhlZFxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9jdXMgZm9yIGZpbGUsIHJhZGlvLCBhbmQgY2hlY2tib3hcbmlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgLnRhYi1mb2N1cygpO1xufVxuXG4vLyBBZGp1c3Qgb3V0cHV0IGVsZW1lbnRcbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbn1cblxuXG4vLyBDb21tb24gZm9ybSBjb250cm9sc1xuLy9cbi8vIFNoYXJlZCBzaXplIGFuZCB0eXBlIHJlc2V0cyBmb3IgZm9ybSBjb250cm9scy4gQXBwbHkgYC5mb3JtLWNvbnRyb2xgIHRvIGFueVxuLy8gb2YgdGhlIGZvbGxvd2luZyBmb3JtIGNvbnRyb2xzOlxuLy9cbi8vIHNlbGVjdFxuLy8gdGV4dGFyZWFcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdXG4vLyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXVxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl1cbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXVxuLy8gaW5wdXRbdHlwZT1cInVybFwiXVxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXVxuLy8gaW5wdXRbdHlwZT1cImNvbG9yXCJdXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIHBhZGRpbmc6IEBwYWRkaW5nLWJhc2UtdmVydGljYWwgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgQGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTtcbiAgLnRyYW5zaXRpb24oflwiYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1c1wiKTtcblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIC5mb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAucGxhY2Vob2xkZXIoKTtcblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG4gIH1cblxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbiAgdGV4dGFyZWEmIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDguMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgZGF0ZXRpbWVgIG9yIGB3ZWVrYC5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICYuaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtICYge1xuICAgICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1sZyxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgJiB7XG4gICAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogQGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7IC8vIEVuc3VyZSB0aGUgaW5wdXQgZG9lc24ndCBqdW1wIHdoZW4gdGhlcmUgaXMgbm8gdGV4dFxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTtcbn1cblxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogLTVweDsgLy8gTW92ZSB1cCBzaWJsaW5nIHJhZGlvcyBvciBjaGVja2JveGVzIGZvciB0aWdodGVyIHNwYWNpbmdcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuLy8gQXBwbHkgc2FtZSBkaXNhYmxlZCBjdXJzb3IgdHdlYWsgYXMgZm9yIGlucHV0c1xuLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbi8vXG4vLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGxhYmVsIHtcbiAgICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIGBwYCBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXG4gIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBwYWRkaW5nLWJvdHRvbTogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyBAZm9udC1zaXplLWJhc2UpO1xuXG4gICYuaW5wdXQtbGcsXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5pbnB1dC1zbSB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtc21hbGw7IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbi5mb3JtLWdyb3VwLXNtIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsIEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogQGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyBAZm9udC1zaXplLXNtYWxsKTtcbiAgICBwYWRkaW5nOiAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKSBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LXNtYWxsO1xuICB9XG59XG5cbi5pbnB1dC1sZyB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtbGFyZ2U7IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cbi5mb3JtLWdyb3VwLWxnIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsIEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogQGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyBAZm9udC1zaXplLWxhcmdlKTtcbiAgICBwYWRkaW5nOiAoQHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKSBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKEBpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtc3VjY2Vzcy10ZXh0OyBAc3RhdGUtc3VjY2Vzcy10ZXh0OyBAc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uaGFzLXdhcm5pbmcge1xuICAuZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHN0YXRlLXdhcm5pbmctdGV4dDsgQHN0YXRlLXdhcm5pbmctdGV4dDsgQHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmhhcy1lcnJvciB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtZGFuZ2VyLXRleHQ7IEBzdGF0ZS1kYW5nZXItdGV4dDsgQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICB0b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogMDtcbiAgfVxufVxuXG5cbi8vIEhlbHAgdGV4dFxuLy9cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHlvdSB3aXNoIHRvIGNyZWF0ZSBsaWdodCB0ZXh0IGZvciBwbGFjZW1lbnQgaW1tZWRpYXRlbHlcbi8vIGJlbG93IGEgZm9ybSBjb250cm9sLiBVc2UgZm9yIGdlbmVyYWwgaGVscCwgZm9ybWF0dGluZywgb3IgaW5zdHJ1Y3Rpb25hbCB0ZXh0LlxuXG4uaGVscC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBhY2NvdW50IGZvciBhbnkgZWxlbWVudCB1c2luZyBoZWxwLWJsb2NrXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oQHRleHQtY29sb3IsIDI1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3Rcbn1cblxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gYC5uYXZiYXItZm9ybWAgaW4gbmF2YmFycy5sZXNzLlxuXG4uZm9ybS1pbmxpbmUge1xuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBJbiBuYXZiYXItZm9ybSwgYWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBncm91cHMgbmVlZCB0aGF0IDEwMCUgd2lkdGggdGhvdWdoXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAucmFkaW8sXG4gICAgLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBSZS1vdmVycmlkZSB0aGUgZmVlZGJhY2sgaWNvbi5cbiAgICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWwgZm9ybXNcbi8vXG4vLyBIb3Jpem9udGFsIGZvcm1zIGFyZSBidWlsdCBvbiBncmlkIGNsYXNzZXMgYW5kIGFsbG93IHlvdSB0byBjcmVhdGUgZm9ybXMgd2l0aFxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxuXG4uZm9ybS1ob3Jpem9udGFsIHtcblxuICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbiAgLy9cbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgfVxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XG4gIC8vIGFuZCBvdGhlciBjb250ZW50IGJlbG93IGl0ZW1zXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94IHtcbiAgICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKSk7XG4gIH1cblxuICAvLyBNYWtlIGZvcm0gZ3JvdXBzIGJlaGF2ZSBsaWtlIHJvd3NcbiAgLmZvcm0tZ3JvdXAge1xuICAgIC5tYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XG4gIC8vIGxhYmVscyBvbiBuYXJyb3cgdmlld3BvcnRzIHN0YWNrIHRoZSBzYW1lIGFzIGEgZGVmYXVsdCBmb3JtIGV4YW1wbGUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRpb24gc3RhdGVzXG4gIC8vXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXG4gIC8vIGBwb3NpdGlvbjogcmVsYXRpdmU7YCBvbiB0aGVtLiBBbHNvIGFjY291bnRzIGZvciB0aGUgZ3JpZCBndXR0ZXIgcGFkZGluZy5cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICByaWdodDogZmxvb3IoKEBncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxuXG4gIC8vIEZvcm0gZ3JvdXAgc2l6ZXNcbiAgLy9cbiAgLy8gUXVpY2sgdXRpbGl0eSBjbGFzcyBmb3IgYXBwbHlpbmcgYC5pbnB1dC1sZ2AgYW5kIGAuaW5wdXQtc21gIHN0eWxlcyB0byB0aGVcbiAgLy8gaW5wdXRzIGFuZCBsYWJlbHMgd2l0aGluIGEgYC5mb3JtLWdyb3VwYC5cbiAgLmZvcm0tZ3JvdXAtbGcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogKChAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIEBsaW5lLWhlaWdodC1sYXJnZSkgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIE1vZGFsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtbW9kYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgLnRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oflwiMC4zcyBlYXNlLW91dFwiKTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyAudHJhbnNsYXRlKDAsIDApIH1cbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbW9kYWwtY29udGVudC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOyAvL29sZCBicm93c2VycyBmYWxsYmFjayAoaWU4IGV0YylcbiAgYm9yZGVyOiAxcHggc29saWQgQG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgLmJveC1zaGFkb3coMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG1vZGFsLWJhY2tkcm9wLWJnO1xuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyAub3BhY2l0eSgwKTsgfVxuICAmLmluIHsgLm9wYWNpdHkoQG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpOyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogQG1vZGFsLXRpdGxlLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgbWluLWhlaWdodDogKEBtb2RhbC10aXRsZS1wYWRkaW5nICsgQG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cbi8vIENsb3NlIGljb25cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiBAbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBAbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiBAbW9kYWwtaW5uZXItcGFkZGluZztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcblxuICAvLyBQcm9wZXJseSBzcGFjZSBvdXQgYnV0dG9uc1xuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBhY2NvdW50IGZvciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHdoaWNoIGdldHMgdGhlIGJvdHRvbSBtYXJnaW4gbGlrZSBhbGwgb3RoZXIgaW5wdXRzXG4gIH1cbiAgLy8gYnV0IG92ZXJyaWRlIHRoYXQgZm9yIGJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLy8gYW5kIG92ZXJyaWRlIGl0IGZvciBibG9jayBidXR0b25zIGFzIHdlbGxcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6IEBtb2RhbC1tZDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgLmJveC1zaGFkb3coMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSk7XG4gIH1cblxuICAvLyBNb2RhbCBzaXplc1xuICAubW9kYWwtc20geyB3aWR0aDogQG1vZGFsLXNtOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubW9kYWwtbGcgeyB3aWR0aDogQG1vZGFsLWxnOyB9XG59XG4iLCIvL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHVsL29sXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IEBuYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGRyb3Bkb3duc1xuICAub3BlbiA+IGEge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQGxpbmstY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IGRpdmlkZXJzIChkZXByZWNhdGVkIHdpdGggdjMuMC4xKVxuICAvL1xuICAvLyBUaGlzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2MyB3aXRoIHRoZSBkcm9wcGluZyBvZiBgLm5hdi1saXN0YCwgYnV0XG4gIC8vIHdlIG1pc3NlZCBpdC4gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBhbnl3aGVyZSwgYnV0IGluIHRoZSBpbnRlcmVzdFxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxuICAubmF2LWRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcigpO1xuICB9XG5cbiAgLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3NcbiAgLy9cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbiAgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICAubmF2LWp1c3RpZmllZCgpO1xuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQoKTtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBAbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gTmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiBAbmF2YmFyLWhlaWdodDsgLy8gRW5zdXJlIGEgbmF2YmFyIGFsd2F5cyBzaG93cyAoZS5nLiwgd2l0aG91dCBhIC5uYXZiYXItYnJhbmQgaW4gY29sbGFwc2VkIG1vZGUpXG4gIG1hcmdpbi1ib3R0b206IEBuYXZiYXItbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgLy8gUHJldmVudCBmbG9hdHMgZnJvbSBicmVha2luZyB0aGUgbmF2YmFyXG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogQG5hdmJhci1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGhlYWRpbmdcbi8vXG4vLyBHcm91cHMgYC5uYXZiYXItYnJhbmRgIGFuZCBgLm5hdmJhci10b2dnbGVgIGludG8gYSBzaW5nbGUgY29tcG9uZW50IGZvciBlYXN5XG4vLyBzdHlsaW5nIG9mIHJlc3BvbnNpdmUgYXNwZWN0cy5cblxuLm5hdmJhci1oZWFkZXIge1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGNvbGxhcHNlIChib2R5KVxuLy9cbi8vIEdyb3VwIHlvdXIgbmF2YmFyIGNvbnRlbnQgaW50byB0aGlzIGZvciBlYXN5IGNvbGxhcHNpbmcgYW5kIGV4cGFuZGluZyBhY3Jvc3Ncbi8vIHZhcmlvdXMgZGV2aWNlIHNpemVzLiBCeSBkZWZhdWx0LCB0aGlzIGNvbnRlbnQgaXMgY29sbGFwc2VkIHdoZW4gPDc2OHB4LCBidXRcbi8vIHdpbGwgZXhwYW5kIHBhc3QgdGhhdCBmb3IgYSBob3Jpem9udGFsIGRpc3BsYXkuXG4vL1xuLy8gVG8gc3RhcnQgKG9uIG1vYmlsZSBkZXZpY2VzKSB0aGUgbmF2YmFyIGxpbmtzLCBmb3JtcywgYW5kIGJ1dHRvbnMgYXJlIHN0YWNrZWRcbi8vIHZlcnRpY2FsbHkgYW5kIGluY2x1ZGUgYSBgbWF4LWhlaWdodGAgdG8gb3ZlcmZsb3cgaW4gY2FzZSB5b3UgaGF2ZSB0b28gbXVjaFxuLy8gY29udGVudCBmb3IgdGhlIHVzZXIncyB2aWV3cG9ydC5cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIHBhZGRpbmctcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nLWxlZnQ6ICBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICYuaW4ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmluIHtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gVW5kbyB0aGUgY29sbGFwc2Ugc2lkZSBwYWRkaW5nIGZvciBuYXZiYXJzIHdpdGggY29udGFpbmVycyB0byBlbnN1cmVcbiAgICAvLyBhbGlnbm1lbnQgb2YgcmlnaHQtYWxpZ25lZCBjb250ZW50cy5cbiAgICAubmF2YmFyLWZpeGVkLXRvcCAmLFxuICAgIC5uYXZiYXItc3RhdGljLXRvcCAmLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6IEBuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDtcblxuICAgIEBtZWRpYSAobWF4LWRldmljZS13aWR0aDogQHNjcmVlbi14cy1taW4pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm90aCBuYXZiYXIgaGVhZGVyIGFuZCBjb2xsYXBzZVxuLy9cbi8vIFdoZW4gYSBjb250YWluZXIgaXMgcHJlc2VudCwgY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgaGVhZGVyIGFuZCBjb2xsYXBzZS5cblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICA+IC5uYXZiYXItaGVhZGVyLFxuICA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1sZWZ0OiAgLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTmF2YmFyIGFsaWdubWVudCBvcHRpb25zXG4vL1xuLy8gRGlzcGxheSB0aGUgbmF2YmFyIGFjcm9zcyB0aGUgZW50aXJldHkgb2YgdGhlIHBhZ2Ugb3IgZml4ZWQgaXQgdG8gdGhlIHRvcCBvclxuLy8gYm90dG9tIG9mIHRoZSBwYWdlLlxuXG4vLyBTdGF0aWMgdG9wICh1bmZpeGVkLCBidXQgMTAwJSB3aWRlKSBuYXZiYXJcbi5uYXZiYXItc3RhdGljLXRvcCB7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEZpeCB0aGUgdG9wL2JvdHRvbSBuYXZiYXJzIHdoZW4gc2NyZWVuIHJlYWwgZXN0YXRlIHN1cHBvcnRzIGl0XG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1uYXZiYXItZml4ZWQ7XG5cbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBvdmVycmlkZSAubmF2YmFyIGRlZmF1bHRzXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cblxuXG4vLyBCcmFuZC9wcm9qZWN0IG5hbWVcblxuLm5hdmJhci1icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiBAbmF2YmFyLXBhZGRpbmctdmVydGljYWwgQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgaGVpZ2h0OiBAbmF2YmFyLWhlaWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyICYsXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0b2dnbGVcbi8vXG4vLyBDdXN0b20gYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgYC5uYXZiYXItY29sbGFwc2VgLCBwb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZVxuLy8gSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmc6IDlweCAxMHB4O1xuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDM0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAvLyBXZSByZW1vdmUgdGhlIGBvdXRsaW5lYCBoZXJlLCBidXQgbGF0ZXIgY29tcGVuc2F0ZSBieSBhdHRhY2hpbmcgYDpob3ZlcmBcbiAgLy8gc3R5bGVzIHRvIGA6Zm9jdXNgLlxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLy8gQmFyc1xuICAuaWNvbi1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgfVxuICAuaWNvbi1iYXIgKyAuaWNvbi1iYXIge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXYgbGlua3Ncbi8vXG4vLyBCdWlsZHMgb24gdG9wIG9mIHRoZSBgLm5hdmAgY29tcG9uZW50cyB3aXRoIGl0cyBvd24gbW9kaWZpZXIgY2xhc3MgdG8gbWFrZVxuLy8gdGhlIG5hdiB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIGhvcml6b250YWwgbmF2IChhYm92ZSA3NjhweCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgbWFyZ2luOiAoQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIC8gMikgLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICBAbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgLmJveC1zaGFkb3coQHNoYWRvdyk7XG5cbiAgLy8gTWl4aW4gYmVoYXZpb3IgZm9yIG9wdGltdW0gZGlzcGxheVxuICAuZm9ybS1pbmxpbmUoKTtcblxuICAuZm9ybS1ncm91cCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWxseSBjZW50ZXIgaW4gZXhwYW5kZWQsIGhvcml6b250YWwgbmF2YmFyXG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAvLyBVbmRvIDEwMCUgd2lkdGggZm9yIHB1bGwgY2xhc3Nlc1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldCBzdXBwb3J0IGZvciBkcm9wdXBzIHZpYSBleHRyYSBkcm9wdXAgY2xhc3Ncbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC5ib3JkZXItdG9wLXJhZGl1cyhAbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xuICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAaW5wdXQtaGVpZ2h0LWJhc2UpO1xuXG4gICYuYnRuLXNtIHtcbiAgICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtc21hbGwpO1xuICB9XG4gICYuYnRuLXhzIHtcbiAgICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBsaW5lLWhlaWdodC1jb21wdXRlZCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZXB1cnBvc2UgdGhlIHB1bGwgdXRpbGl0aWVzIGFzIHRoZWlyIG93biBuYXZiYXIgdXRpbGl0aWVzIHRvIGF2b2lkIHNwZWNpZmljaXR5XG4vLyBpc3N1ZXMgd2l0aCBwYXJlbnRzIGFuZCBjaGFpbmluZy4gT25seSBkbyB0aGlzIHdoZW4gdGhlIG5hdmJhciBpcyB1bmNvbGxhcHNlZFxuLy8gdGhvdWdoIHNvIHRoYXQgbmF2YmFyIGNvbnRlbnRzIHByb3Blcmx5IHN0YWNrIGFuZCBhbGlnbiBpbiBtb2JpbGUuXG4vL1xuLy8gRGVjbGFyZWQgYWZ0ZXIgdGhlIG5hdmJhciBjb21wb25lbnRzIHRvIGVuc3VyZSBtb3JlIHNwZWNpZmljaXR5IG9uIHRoZSBtYXJnaW5zLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLWxlZnQgIHsgLnB1bGwtbGVmdCgpOyB9XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIC5wdWxsLXJpZ2h0KCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6IEBuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFnZXIgcGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucGFnZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdlci1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdlci1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiBAcGFnZXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdlci1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmV4dCB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnByZXZpb3VzIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCB7XG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMsXG4gICAgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiBAcGFnZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBhbmVsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogQHBhbmVsLWJvcmRlci1yYWRpdXM7XG4gIC5ib3gtc2hhZG93KDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xufVxuXG4vLyBQYW5lbCBjb250ZW50c1xuLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nOiBAcGFuZWwtYm9keS1wYWRkaW5nO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbn1cblxuLy8gT3B0aW9uYWwgaGVhZGluZ1xuLnBhbmVsLWhlYWRpbmcge1xuICBwYWRkaW5nOiBAcGFuZWwtaGVhZGluZy1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gV2l0aGluIGhlYWRpbmcsIHN0cmlwIGFueSBgaCpgIHRhZyBvZiBpdHMgZGVmYXVsdCBtYXJnaW5zIGZvciBzcGFjaW5nLlxuLnBhbmVsLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAxLjEyNSkpO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICA+IGEsXG4gID4gc21hbGwsXG4gID4gLnNtYWxsLFxuICA+IHNtYWxsID4gYSxcbiAgPiAuc21hbGwgPiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBmb290ZXIgKHN0YXlzIGdyYXkgaW4gZXZlcnkgbW9kaWZpZXIgY2xhc3MpXG4ucGFuZWwtZm9vdGVyIHtcbiAgcGFkZGluZzogQHBhbmVsLWZvb3Rlci1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtZm9vdGVyLWJnO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgLmJvcmRlci1ib3R0b20tcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBib3JkZXIgYm90dG9tIHJhZGl1cyBmb3IgbGFzdCBvbmVcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cbi8vIENvbGxhcHNlIHNwYWNlIGJldHdlZW4gd2hlbiB0aGVyZSdzIG5vIGFkZGl0aW9uYWwgY29udGVudC5cbi5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAge1xuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG4ubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4vLyBUYWJsZXMgaW4gcGFuZWxzXG4vL1xuLy8gUGxhY2UgYSBub24tYm9yZGVyZWQgYC50YWJsZWAgd2l0aGluIGEgcGFuZWwgKG5vdCB3aXRoaW4gYSBgLnBhbmVsLWJvZHlgKSBhbmRcbi8vIHdhdGNoIGl0IGdvIGZ1bGwgd2lkdGguXG5cbi5wYW5lbCB7XG4gID4gLnRhYmxlLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGNhcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiBAcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1yaWdodDogQHBhbmVsLWJvZHktcGFkZGluZztcbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgPiAudGFibGU6Zmlyc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICAgIC5ib3JkZXItdG9wLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRoZWFkOmZpcnN0LWNoaWxkLFxuICAgID4gdGJvZHk6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICA+IC50YWJsZTpsYXN0LWNoaWxkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCB7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGJvZHk6bGFzdC1jaGlsZCxcbiAgICA+IHRmb290Omxhc3QtY2hpbGQge1xuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC5wYW5lbC1ib2R5ICsgLnRhYmxlLFxuICA+IC5wYW5lbC1ib2R5ICsgLnRhYmxlLXJlc3BvbnNpdmUsXG4gID4gLnRhYmxlICsgLnBhbmVsLWJvZHksXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgKyAucGFuZWwtYm9keSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoLFxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbiAgPiAudGFibGUtYm9yZGVyZWQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgICA+IHRoZWFkLFxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyIHtcbiAgICAgICAgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IHRoZWFkLFxuICAgID4gdGJvZHkge1xuICAgICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuXG4vLyBDb2xsYXBzYWJsZSBwYW5lbHMgKGFrYSwgYWNjb3JkaW9uKVxuLy9cbi8vIFdyYXAgYSBzZXJpZXMgb2YgcGFuZWxzIGluIGAucGFuZWwtZ3JvdXBgIHRvIHR1cm4gdGhlbSBpbnRvIGFuIGFjY29yZGlvbiB3aXRoXG4vLyB0aGUgaGVscCBvZiBvdXIgY29sbGFwc2UgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5wYW5lbC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcblxuICAvLyBUaWdodGVuIHVwIG1hcmdpbiBzbyBpdCdzIG9ubHkgYmV0d2VlbiBwYW5lbHNcbiAgLnBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IEBwYW5lbC1ib3JkZXItcmFkaXVzO1xuXG4gICAgKyAucGFuZWwge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wYW5lbC1oZWFkaW5nIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSxcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5wYW5lbC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zXG4ucGFuZWwtZGVmYXVsdCB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1kZWZhdWx0LWJvcmRlcjsgQHBhbmVsLWRlZmF1bHQtdGV4dDsgQHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzsgQHBhbmVsLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5wYW5lbC1wcmltYXJ5IHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLXByaW1hcnktYm9yZGVyOyBAcGFuZWwtcHJpbWFyeS10ZXh0OyBAcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOyBAcGFuZWwtcHJpbWFyeS1ib3JkZXIpO1xufVxuLnBhbmVsLXN1Y2Nlc3Mge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtc3VjY2Vzcy1ib3JkZXI7IEBwYW5lbC1zdWNjZXNzLXRleHQ7IEBwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc7IEBwYW5lbC1zdWNjZXNzLWJvcmRlcik7XG59XG4ucGFuZWwtaW5mbyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1pbmZvLWJvcmRlcjsgQHBhbmVsLWluZm8tdGV4dDsgQHBhbmVsLWluZm8taGVhZGluZy1iZzsgQHBhbmVsLWluZm8tYm9yZGVyKTtcbn1cbi5wYW5lbC13YXJuaW5nIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLXdhcm5pbmctYm9yZGVyOyBAcGFuZWwtd2FybmluZy10ZXh0OyBAcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOyBAcGFuZWwtd2FybmluZy1ib3JkZXIpO1xufVxuLnBhbmVsLWRhbmdlciB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1kYW5nZXItYm9yZGVyOyBAcGFuZWwtZGFuZ2VyLXRleHQ7IEBwYW5lbC1kYW5nZXItaGVhZGluZy1iZzsgQHBhbmVsLWRhbmdlci1ib3JkZXIpO1xufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuLmNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICAuY2xlYXJmaXgoKTtcbn1cbi5jZW50ZXItYmxvY2sge1xuICAuY2VudGVyLWJsb2NrKCk7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICAudGV4dC1oaWRlKCk7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIl19 */
