/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;overflow-y:scroll}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}body{font-family:Helvetica,Arial,sans-serif;font-size:10px;font-size:.625rem;line-height:1.2;text-transform:uppercase;color:#000}ul{margin:0;padding:0;list-style:none}p{margin:1.5em 0}a{text-decoration:none;color:#000}button{border:0;padding:0;background-color:transparent;cursor:pointer}a:active,a:focus,a:hover,button:active,button:focus,button:hover{font-weight:700}img,video{max-width:100%;height:auto}.post{margin-bottom:4em}.post img{display:block}.post:last-child{margin-bottom:0}.details span{display:block}[id=aside] .details{font-weight:700}.sr-only{position:absolute;border:0;padding:0;width:1px;height:1px;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;white-space:nowrap}body{background-color:#fff}@media (max-width:49.99em){body{padding:7em 0 2em}}@media (min-width:50em){body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:2.5em 0 10em}}@media (min-width:80em){body{margin-right:auto;margin-left:auto;width:1280px}}@media (min-width:50em){[id=main]{margin-top:159px;padding-left:30px;-webkit-box-flex:1;-ms-flex:1;flex:1}}.container-paginate{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:15px 0}@media (max-width:79.99em){.container-paginate{padding:10px 0}}ul.pagination.flex-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}li.page-item.prev{margin:0 5px}.hidden{display:none;visibility:hidden}@media (max-width:49.99em){[id=aside]{padding:0 15px}[id=aside]>.inner-wrapper{text-align:right}}@media (min-width:50em){[id=aside]{padding-right:15px;padding-left:30px;width:305px;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}[id=aside]>.inner-wrapper{position:-webkit-sticky;position:sticky;z-index:2;top:0;padding-top:2.5em;background-color:#fff}}[id=menu]{line-height:2}[id=menu] span,[id=menu] strong{display:block}[id=menu] .active{font-weight:700}nav{margin-bottom:20px;margin-bottom:1.25rem;background-color:#fff}nav .is-active{font-weight:700}@media (max-width:49.99em){nav{position:fixed;z-index:2;top:0;right:0;left:0;text-align:right}nav ul{display:inline-block;margin:2em 15px 2em 0;width:139px;text-align:left}}.swiper-container{position:relative;overflow:hidden;display:inline-block;margin-bottom:1em;width:140px;text-align:left;line-height:1.2}.swiper-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:none;transition:none}[class^=swiper-button]{position:absolute;top:0;z-index:1}[class^=swiper-button]:before{display:inline;font-weight:700;speak:none}.swiper-button-prev{left:5px}.swiper-button-prev:before{content:"<"}.swiper-button-next{right:5px}.swiper-button-next:before{content:">"}.swiper-slide{-ms-flex-negative:0;flex-shrink:0}.swiper-slide .month{position:relative;margin:0 15px;text-align:center}.swiper-calendar{width:100%;text-align:center;color:#888}.swiper-calendar a{font-weight:700;color:#000}@media (max-width:79.99em){.diary-page .details{margin-left:15px}}@media (max-width:49.99em){[class^=diary] .date{margin:1em 15px 0;text-align:right}.diary-list .post{margin-bottom:2em}.diary-page .details{margin-bottom:1em}}@media (min-width:50em){[class^=diary] .post{position:relative}[class^=diary] .date{position:absolute;top:0;bottom:0;left:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-left:30px;width:305px}.diary-page .details{margin-bottom:2em}}[id=exhibitions-list] a{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}[id=exhibitions-list] a .title{-webkit-box-flex:1;-ms-flex:1;flex:1}[id=exhibitions-list] a .month{width:114px}[id=exhibitions-list] a .year{width:25px;text-align:right}.is-image{position:relative}.is-image>span{position:absolute;top:0;right:0;bottom:0;left:0;padding:20px}.container{display:-webkit-box;display:-ms-flexbox;display:flex}.container.is-text{padding:20px}.container[data-alignment^=up_]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.container[data-alignment^=middle_]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.container[data-alignment^=down_]{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.container[data-alignment$=_middle]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.container[data-alignment$=_right]{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.container[data-color="#FFFFFF"]{color:#fff}.container[data-background="#000000"]{background-color:#000}.container[data-fontsize="12"]{font-size:1.2em}.container[data-fontsize="14"]{font-size:1.4em}.container[data-fontsize="16"]{font-size:1.6em}.container[data-fontsize="18"]{font-size:1.8em}.container[data-fontsize="20"]{font-size:2em}.container[data-fontsize="22"]{font-size:2.2em}.container[data-fontsize="24"]{font-size:2.4em}.container[data-fontweight=lighter]{font-weight:lighter}.container[data-fontweight=bold]{font-weight:700}.video-player button,[id=audio-player] button{text-transform:uppercase}.video-player span,[id=audio-player] span{display:block}[id=audio-player]{margin-top:2em}.video-player button,.video-player span{margin-left:15px}.video-player video{margin-top:1em}@media (max-width:49.99em){[id=aside] .caption,[id=aside] .details,[id=aside] [id=exhibitions-list]{text-align:left}[id=aside] .details{margin-bottom:2em}[id=aside] .details.live{display:none}[id=aside] .caption{margin-bottom:4em}[id=audio-player]{margin-bottom:4em;text-align:left}.caption+[id=audio-player]{margin-top:-2em}[id=covers-list]{margin-top:2em;position:relative}[id=covers-list] img{position:absolute;top:0;left:0}}@media (min-width:50em){[id=aside] .details{min-height:88px}[id=aside] .is-active{font-weight:700}[id=covers-list] img{display:none}[id=covers-list] img:first-child{display:block}}@media (min-width:80em){.video-player button,.video-player span{margin-left:0}}/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdlbmVyaWMvX25vcm1hbGl6ZS5zY3NzIiwic3R5bGVzLmNzcyIsImNvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsInNldHRpbmdzL19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3MiLCJnZW5lcmljL19tcS5zY3NzIiwiY29tcG9uZW50cy9fYXNpZGUuc2NzcyIsImNvbXBvbmVudHMvX25hdi5zY3NzIiwiY29tcG9uZW50cy9fY2FsZW5kYXJzLnNjc3MiLCJwYWdlcy9fZGlhcnkuc2NzcyIsInBhZ2VzL19leGhpYml0aW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RSxBQVU1RSxLQUNFLGlCQUFpQixBQUNqQiw2QkFBOEIsQ0FDL0IsQUFTRCxLQUNFLFNBQVMsQUFDVCxpQkFBa0IsQ0FDbkIsQUFPRCxHQUNFLGNBQWMsQUFDZCxjQUFnQixDQUNqQixBQVVELEdBQ0UsdUJBQXVCLEFBQ3ZCLFNBQVMsQUFDVCxnQkFBaUIsQ0FDbEIsQUFPRCxJQUNFLGdDQUFpQyxBQUNqQyxhQUFjLENBQ2YsQUFTRCxFQUNFLDRCQUE2QixDQUM5QixBQU9ELFlBQ0UsbUJBQW1CLEFBQ25CLDBCQUEwQixBQUMxQixnQ0FBaUMsQ0FDbEMsQUFNRCxTQUVFLGtCQUFtQixDQUNwQixBQU9ELGNBR0UsZ0NBQWlDLEFBQ2pDLGFBQWMsQ0FDZixBQU1ELE1BQ0UsYUFBYyxDQUNmLEFBT0QsUUFFRSxjQUFjLEFBQ2QsY0FBYyxBQUNkLGtCQUFrQixBQUNsQix1QkFBd0IsQ0FDekIsQUFFRCxJQUNFLGFBQWUsQ0FDaEIsQUFFRCxJQUNFLFNBQVcsQ0FDWixBQVNELElBQ0UsaUJBQWtCLENBQ25CLEFBVUQsc0NBS0Usb0JBQW9CLEFBQ3BCLGVBQWUsQUFDZixpQkFBaUIsQUFDakIsUUFBUyxDQUNWLEFBT0QsYUFFRSxnQkFBaUIsQ0FDbEIsQUFPRCxjQUVFLG1CQUFvQixDQUNyQixBQU1ELGdEQUlFLHlCQUEwQixDQUMzQixBQU1E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a0IsQUFDbEIsTUFBTSxBQUNOLE1BQU8sQ0FDUixDQUFBLEFMd0ZHLHdCSmdiTixvQlNoZ0JJLGVBQWdCLENBQ2pCLEFUaWdCSCxzQlMvZkksZUFBaUIsQ0FDbEIsQVRnZ0JILHFCUzVmSSxZQUFhLENBSWQsQVQwZkQsaUNTNWZJLGFBQWMsQ0FDZixDQUFBLEFMcUVDLHdCSzlETix3Q0FFSSxhQUFjLENBQ2YsQ0FBQSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5wIHtcbiAgbWFyZ2luOiAxLjVlbSAwOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbmJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b246Zm9jdXMsIGJ1dHRvbjpob3ZlciwgYnV0dG9uOmFjdGl2ZSwgYTpmb2N1cywgYTpob3ZlciwgYTphY3RpdmUge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5pbWcsIHZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnBvc3Qge1xuICBtYXJnaW4tYm90dG9tOiA0ZW07IH1cbiAgLnBvc3QgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucG9zdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5kZXRhaWxzIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5baWQ9XCJhc2lkZVwiXSAuZGV0YWlscyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXG4gKiAxLiBOYXYncyBoZWlnaHRcbiAqIDIuIEFzaWRlJ3Mgd2lkdGggKyBob3Jpem9udGFsIHBhZGRpbmdcbiAqL1xuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgICBib2R5IHtcbiAgICAgIHBhZGRpbmc6IDdlbSAwIDJlbTtcbiAgICAgIC8qIFsxXSAqLyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICBib2R5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nLXRvcDogMi41ZW0gMCAxMGVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEyODBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gIFtpZD1cIm1haW5cIl0ge1xuICAgIG1hcmdpbi10b3A6IDE1OXB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBmbGV4OiAxOyB9IH1cblxuLmNvbnRhaW5lci1wYWdpbmF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTVweCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3OS45OWVtKSB7XG4gICAgLmNvbnRhaW5lci1wYWdpbmF0ZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuXG51bC5wYWdpbmF0aW9uLmZsZXgtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxubGkucGFnZS1pdGVtLnByZXYge1xuICBtYXJnaW46IDAgNXB4OyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyoqXG4gKiAxLiBQdXNoIC5pbm5lci13cmFwcGVyIG92ZXIgLnBvc3QgLmRhdGVcbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgW2lkPVwiYXNpZGVcIl0ge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIFtpZD1cImFzaWRlXCJdID4gLmlubmVyLXdyYXBwZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICBbaWQ9XCJhc2lkZVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IDMwNXB4O1xuICAgIG9yZGVyOiAyOyB9XG4gICAgW2lkPVwiYXNpZGVcIl0gPiAuaW5uZXItd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIC8qIFsxXSAqL1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDIuNWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfSB9XG5cbltpZD1cIm1lbnVcIl0ge1xuICBsaW5lLWhlaWdodDogMjsgfVxuICBbaWQ9XCJtZW51XCJdIHN0cm9uZywgW2lkPVwibWVudVwiXSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBbaWQ9XCJtZW51XCJdIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogMS4gUHVzaCBuYXYgb3ZlciAuc3dpcGVyLWJ1dHRvbnNcbiAqL1xubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBuYXYgLmlzLWFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgICBuYXYge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIC8qIFsxXSAqL1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIG5hdiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAyZW0gMTVweCAyZW0gMDtcbiAgICAgICAgd2lkdGg6IDEzOXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLyoqXG4gKiAxLiBQdXNoIC5zd2lwZXItYnV0dG9uIG92ZXIgbW9udGgncyBkaXNwbGF5XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgd2lkdGg6IDE0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuW2NsYXNzXj1cInN3aXBlci1idXR0b25cIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgLyogWzFdICovIH1cbiAgW2NsYXNzXj1cInN3aXBlci1idXR0b25cIl06OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHNwZWFrOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYge1xuICBsZWZ0OiA1cHg7IH1cbiAgLnN3aXBlci1idXR0b24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPCc7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHJpZ2h0OiA1cHg7IH1cbiAgLnN3aXBlci1idXR0b24tbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPic7IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5zd2lwZXItc2xpZGUgLm1vbnRoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogWzFdICovXG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItY2FsZW5kYXIge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzg4ODsgfVxuICAuc3dpcGVyLWNhbGVuZGFyIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi8qLy8gRGVmYXVsdFxuLnN3aXBlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAyMzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgIH1cbn1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5zd2lwZXItc2xpZGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG4qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc5Ljk5ZW0pIHtcbiAgLmRpYXJ5LXBhZ2UgLmRldGFpbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgW2NsYXNzXj1cImRpYXJ5XCJdIC5kYXRlIHtcbiAgICBtYXJnaW46IDFlbSAxNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmRpYXJ5LWxpc3QgLnBvc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuZGlhcnktcGFnZSAuZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgW2NsYXNzXj1cImRpYXJ5XCJdIC5wb3N0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2NsYXNzXj1cImRpYXJ5XCJdIC5kYXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB3aWR0aDogMzA1cHg7IH1cbiAgLmRpYXJ5LXBhZ2UgLmRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG5cbltpZD1cImV4aGliaXRpb25zLWxpc3RcIl0gYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIFtpZD1cImV4aGliaXRpb25zLWxpc3RcIl0gYSAudGl0bGUge1xuICAgIGZsZXg6IDE7IH1cbiAgW2lkPVwiZXhoaWJpdGlvbnMtbGlzdFwiXSBhIC5tb250aCB7XG4gICAgd2lkdGg6IDExNHB4OyB9XG4gIFtpZD1cImV4aGliaXRpb25zLWxpc3RcIl0gYSAueWVhciB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmlzLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1pbWFnZSA+IHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMjBweDsgfVxuXG4uY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY29udGFpbmVyLmlzLXRleHQge1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWFsaWdubWVudF49XCJ1cF9cIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jb250YWluZXJbZGF0YS1hbGlnbm1lbnRePVwibWlkZGxlX1wiXSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY29udGFpbmVyW2RhdGEtYWxpZ25tZW50Xj1cImRvd25fXCJdIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWFsaWdubWVudCQ9XCJfbWlkZGxlXCJdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY29udGFpbmVyW2RhdGEtYWxpZ25tZW50JD1cIl9yaWdodFwiXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuY29udGFpbmVyW2RhdGEtY29sb3I9XCIjRkZGRkZGXCJdIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuY29udGFpbmVyW2RhdGEtYmFja2dyb3VuZD1cIiMwMDAwMDBcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMTJcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMTRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS40ZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMTZcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMThcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS44ZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMjBcIl0ge1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIC5jb250YWluZXJbZGF0YS1mb250c2l6ZT1cIjIyXCJdIHtcbiAgICBmb250LXNpemU6IDIuMmVtOyB9XG4gIC5jb250YWluZXJbZGF0YS1mb250c2l6ZT1cIjI0XCJdIHtcbiAgICBmb250LXNpemU6IDIuNGVtOyB9XG4gIC5jb250YWluZXJbZGF0YS1mb250d2VpZ2h0PVwibGlnaHRlclwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnR3ZWlnaHQ9XCJib2xkXCJdIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5baWQ9XCJhdWRpby1wbGF5ZXJcIl0gYnV0dG9uLCAudmlkZW8tcGxheWVyIGJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuW2lkPVwiYXVkaW8tcGxheWVyXCJdIHNwYW4sIC52aWRlby1wbGF5ZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbltpZD1cImF1ZGlvLXBsYXllclwiXSB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuXG4udmlkZW8tcGxheWVyIGJ1dHRvbiwgLnZpZGVvLXBsYXllciBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLnZpZGVvLXBsYXllciB2aWRlbyB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDkuOTllbSkge1xuICBbaWQ9XCJhc2lkZVwiXSBbaWQ9XCJleGhpYml0aW9ucy1saXN0XCJdLCBbaWQ9XCJhc2lkZVwiXSAuZGV0YWlscywgW2lkPVwiYXNpZGVcIl0gLmNhcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgW2lkPVwiYXNpZGVcIl0gLmRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgIFtpZD1cImFzaWRlXCJdIC5kZXRhaWxzLmxpdmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBbaWQ9XCJhc2lkZVwiXSAuY2FwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtOyB9XG4gIFtpZD1cImF1ZGlvLXBsYXllclwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY2FwdGlvbiArIFtpZD1cImF1ZGlvLXBsYXllclwiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMmVtOyB9XG4gIFtpZD1cImNvdmVycy1saXN0XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgW2lkPVwiY292ZXJzLWxpc3RcIl0gaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICBbaWQ9XCJhc2lkZVwiXSAuZGV0YWlscyB7XG4gICAgbWluLWhlaWdodDogODhweDsgfVxuICBbaWQ9XCJhc2lkZVwiXSAuaXMtYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICBbaWQ9XCJjb3ZlcnMtbGlzdFwiXSBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBbaWQ9XCJjb3ZlcnMtbGlzdFwiXSBpbWc6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAudmlkZW8tcGxheWVyIGJ1dHRvbiwgLnZpZGVvLXBsYXllciBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0gI1RZUE9HUkFQSFkgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbmJvZHkge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnAge1xuICBtYXJnaW46IDEuNWVtIDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAkZGVmYXVsdDtcbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24sIGEge1xuICAmOmZvY3VzLCAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuaW1nLCB2aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFBvc3QgRGlhcnkgJiBFeGhpYml0aW9uc1xuLnBvc3Qge1xuICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBEaWFyeSAmIEV4aGliaXRpb25zIGRldGFpbHMgKHRpdGxlICYgcGxhY2UpXG4uZGV0YWlscyB7XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFtpZD1cImFzaWRlXCJdICYge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cblxuLy8gU2NyZWVuIHJlYWRlciBvbmx5XG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQURNSU4gUlVMRVMgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG5AaWYgJGFkbWluIHtcbiAgaDEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbiAgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIFt0eXBlPVwic3VibWl0XCJdLmJ0bixcbiAgW3R5cGU9XCJidXR0b25cIl0uYnRuIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGVmYXVsdDtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0O1xuICB9XG59XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQ09MT1JTIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbiRibGFjazogIzAwMDtcbiRncmF5OiAjODg4O1xuJHJlZDogIzk4MTIwMDtcbiR3aGl0ZTogI2ZmZjtcblxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQVNTSUdOQVRJT05TIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbiRib3JkZXI6ICRncmF5O1xuJGRlZmF1bHQ6ICRibGFjaztcbiRkaXNhYmxlZDogJGdyYXk7XG4kZXJyb3I6ICRyZWQ7XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjTEFZT1VUIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbi8qKlxuICogMS4gTmF2J3MgaGVpZ2h0XG4gKiAyLiBBc2lkZSdzIHdpZHRoICsgaG9yaXpvbnRhbCBwYWRkaW5nXG4gKi9cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBmbHVpZCkge1xuICAgIHBhZGRpbmc6IDdlbSAwIDJlbTsgICAgICAgICAgICAgICAgICAgLyogWzFdICovXG4gIH1cbiAgQGluY2x1ZGUgbXEoJGZyb206IGZsdWlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy10b3A6IDIuNWVtIDAgMTBlbTsgICAgICAgICAgICAvLyAyNXB4IC0gMTAwcHhcbiAgfVxuICBAaW5jbHVkZSBtcSgkZnJvbTogZml4ZWQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgQGlmICRhZG1pbiB7XG4gICAgICB3aWR0aDogMTE1MHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTI4MHB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtcSgkZnJvbTogZmx1aWQpIHtcbiAgW2lkPVwibWFpblwiXSB7XG4gICAgbWFyZ2luLXRvcDogMTU5cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1wYWdpbmF0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBmaXhlZCkge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxufVxuXG51bC5wYWdpbmF0aW9uLmZsZXgtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxubGkucGFnZS1pdGVtLnByZXYge1xuICAgIG1hcmdpbjogMCA1cHg7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0gI0FETUlOIFJVTEVTIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuQGlmICRhZG1pbiB7XG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogZml4ZWQpIHtcbiAgICBbaWQ9XCJtYWluXCJdIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZmx1aWQsICR1bnRpbDogZml4ZWQpIHtcbiAgICBbaWQ9XCJtYWluXCJdIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjgwcHgpOyAgICAgICAgICAgLyogWzJdICovXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBmbHVpZCkge1xuICAgIFtpZD1cIm1haW5cIl0ge1xuICAgICAgbWFyZ2luLXRvcDogMi41ZW07ICAgICAgICAgICAgICAgICAgIC8vIDI1cHhcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuIiwiQGNoYXJzZXQgJ1VURi04JztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQVNJREUgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG4vKipcbiAqIDEuIFB1c2ggLmlubmVyLXdyYXBwZXIgb3ZlciAucG9zdCAuZGF0ZVxuICovXG5cbiBbaWQ9XCJhc2lkZVwiXSB7XG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogZmx1aWQpIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgPiAuaW5uZXItd3JhcHBlciB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbXEoJGZyb206IGZsdWlkKSB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBAaWYgJGFkbWluIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHdpZHRoOiAxOTVweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgd2lkdGg6IDMwNXB4O1xuICAgIH1cbiAgICBvcmRlcjogMjtcbiAgICA+IC5pbm5lci13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB6LWluZGV4OiAyOyAgICAgICAgICAgICAgICAgLyogWzFdICovXG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMi41ZW07ICAgICAgICAgLy8gMjVweFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0gI0FETUlOIFJVTEVTIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuW2lkPVwibWVudVwiXSB7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBzdHJvbmcsIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0gI05BVklHQVRJT04gLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbi8qKlxuICogMS4gUHVzaCBuYXYgb3ZlciAuc3dpcGVyLWJ1dHRvbnNcbiAqL1xuXG5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyAgICAgICAgIC8vIDIwcHhcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAuaXMtYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGZsdWlkKSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDI7ICAgICAgICAgICAgICAgICAgIC8qIFsxXSAqL1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMmVtIDE1cHggMmVtIDA7ICAgICAvLyAzMnB4XG4gICAgICB3aWR0aDogMTM5cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0gI0FETUlOIFJVTEVTIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuQGlmICRhZG1pbiB7XG4gIG5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi43NXJlbTsgICAgICAgICAvLyAxMDhweFxuICB9XG5cbiAgLm1lZGlhLW1hbmFnZXIgbmF2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tICNDQUxFTkRBUiAtLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbi8qKlxuICogMS4gUHVzaCAuc3dpcGVyLWJ1dHRvbiBvdmVyIG1vbnRoJ3MgZGlzcGxheVxuICovXG5cbi8vIC0tLSBDb250YWluZXJzIC0tLSAvL1xuLnN3aXBlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB3aWR0aDogMTQwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cblxuXG5cblxuLy8gLS0tIFN3aXBlciBidXR0b25zIC0tLSAvL1xuW2NsYXNzXj1cInN3aXBlci1idXR0b25cIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTsgICAgICAgICAgICAgICAgIC8qIFsxXSAqL1xuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBzcGVhazogbm9uZTtcbiAgfVxufVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgbGVmdDogNXB4O1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICc8JztcbiAgfVxufVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcmlnaHQ6IDVweDtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPic7XG4gIH1cbn1cblxuXG5cblxuXG4vLyAtLS0gQ2FsZW5kYXIgLS0tIC8vXG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIC5tb250aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAvKiBbMV0gKi9cbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnN3aXBlci1jYWxlbmRhciB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkZGlzYWJsZWQ7XG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cblxuXG5cbi8qLy8gRGVmYXVsdFxuLnN3aXBlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAyMzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgIH1cbn1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5zd2lwZXItc2xpZGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG4qL1xuIiwiQGNoYXJzZXQgJ1VURi04JztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tICNESUFSWSAoUEFHRSAmIExJU1QpIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG5AaW5jbHVkZSBtcSgkdW50aWw6IGZpeGVkKSB7XG4gIC8vIERpYXJ5LXBhZ2VcbiAgLmRpYXJ5LXBhZ2Uge1xuICAgIC5kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtcSgkdW50aWw6IGZsdWlkKSB7XG4gIC8vIERpYXJ5LSpcbiAgW2NsYXNzXj1cImRpYXJ5XCJdIHtcbiAgICAuZGF0ZSB7XG4gICAgICBtYXJnaW46IDFlbSAxNXB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgLy8gRGlhcnktbGlzdFxuICAuZGlhcnktbGlzdCB7XG4gICAgLnBvc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgfVxuICAvLyBEaWFyeS1wYWdlXG4gIC5kaWFyeS1wYWdlIHtcbiAgICAuZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbXEoJGZyb206IGZsdWlkKSB7XG4gIC8vIERpYXJ5LSpcbiAgW2NsYXNzXj1cImRpYXJ5XCJdIHtcbiAgICAucG9zdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5kYXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICB3aWR0aDogMzA1cHg7XG4gICAgfVxuICB9XG4gIC8vIERpYXJ5LXBhZ2VcbiAgLmRpYXJ5LXBhZ2Uge1xuICAgIC5kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuQGNoYXJzZXQgJ1VURi04JztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tICNFWEhJQklUSU9OUyAoUEFHRSAmIExJU1QpIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG4vLyBFeGhpYml0aW9ucyBsaXN0IChsaW5rcylcbltpZD1cImV4aGliaXRpb25zLWxpc3RcIl0ge1xuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC50aXRsZSB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgICAubW9udGgge1xuICAgICAgd2lkdGg6IDExNHB4O1xuICAgIH1cbiAgICAueWVhciB7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBFeGhpYml0aW9uIHBhZ2Vcbi8vIEltYWdlcyAmIFRleHQgYmxvY2tzXG4uaXMtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gID4gc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4uY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLy8gVHlwZVxuICAmLmlzLXRleHQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbiAgLy8gQWxpZ25tZW50XG4gICZbZGF0YS1hbGlnbm1lbnRePVwidXBfXCJdIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAmW2RhdGEtYWxpZ25tZW50Xj1cIm1pZGRsZV9cIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgJltkYXRhLWFsaWdubWVudF49XCJkb3duX1wiXSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG4gICZbZGF0YS1hbGlnbm1lbnQkPVwiX21pZGRsZVwiXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgJltkYXRhLWFsaWdubWVudCQ9XCJfcmlnaHRcIl0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLy8gQ29sb3IgJiBiYWNrZ3JvdW5kLWNvbG9yXG4gICZbZGF0YS1jb2xvcj1cIiNGRkZGRkZcIl0ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgJltkYXRhLWJhY2tncm91bmQ9XCIjMDAwMDAwXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdDtcbiAgfVxuICAvLyBGb250LXNpemVcbiAgQGVhY2ggJHNpemUgaW4gKDEyLCAxNCwgMTYsIDE4LCAyMCwgMjIsIDI0KSB7XG4gICAgJltkYXRhLWZvbnRzaXplPVwiI3skc2l6ZX1cIl0ge1xuICAgICAgZm9udC1zaXplOiAoJHNpemUvMTApICtlbTtcbiAgICB9XG4gIH1cbiAgLy8gRm9udC13ZWlnaHRcbiAgQGVhY2ggJHdlaWdodCBpbiAobGlnaHRlciwgYm9sZCkge1xuICAgICZbZGF0YS1mb250d2VpZ2h0PVwiI3skd2VpZ2h0fVwiXSB7XG4gICAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuXG5baWQ9XCJhdWRpby1wbGF5ZXJcIl0sIC52aWRlby1wbGF5ZXIge1xuICBidXR0b24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuW2lkPVwiYXVkaW8tcGxheWVyXCJdIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG4udmlkZW8tcGxheWVyIHtcbiAgYnV0dG9uLCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxuICB2aWRlbyB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG59XG5cblxuQGluY2x1ZGUgbXEoJHVudGlsOiBmbHVpZCkge1xuICAvLyBBc2lkZVxuICBbaWQ9XCJhc2lkZVwiXSB7XG4gICAgW2lkPVwiZXhoaWJpdGlvbnMtbGlzdFwiXSwgLmRldGFpbHMsIC5jYXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICYubGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXB0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICB9XG4gIH1cbiAgW2lkPVwiYXVkaW8tcGxheWVyXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAuY2FwdGlvbiArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTJlbTtcbiAgICB9XG4gIH1cbiAgLy8gTWFpblxuICBbaWQ9XCJjb3ZlcnMtbGlzdFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtcSgkZnJvbTogZmx1aWQpIHtcbiAgW2lkPVwiYXNpZGVcIl0ge1xuICAgIC5kZXRhaWxzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDg4cHg7XG4gICAgfVxuICAgIC5pcy1hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG4gIFtpZD1cImNvdmVycy1saXN0XCJdIHtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtcSgkZnJvbTogZml4ZWQpIHtcbiAgLnZpZGVvLXBsYXllciB7XG4gICAgYnV0dG9uLCBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIl19 */
