html{line-height:1.15;-webkit-text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}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{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]{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}*{box-sizing:border-box}::-moz-selection{background:#3498db;color:#fff;text-shadow:none}::selection{background:#3498db;color:#fff;text-shadow:none}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-family:Georgia,Times,Times New Roman,serif;font-size:1.8rem;line-height:2.4rem;font-weight:400;color:#333;-webkit-font-smoothing:antialiased}figure{margin:0;padding:0}img{display:inline-block;width:auto;max-width:100%;height:auto}p img{margin-bottom:.5em}.site-content{width:90%;max-width:1800px;margin:0 auto}b,strong{font-weight:700}cite,dfn,em,i{font-style:italic}h1,h2,h3,h4{font-family:Helvetica Neue,Helvetica,Arial sans-serif;font-weight:700}h5,h6{font-style:Georgia,Times,"Times New Roman",serif;font-weight:700}h1{font-size:3.6rem;line-height:4rem;margin:0 0 3rem}@media (min-width:46.25em){h1{font-size:5.2rem;line-height:6rem}}h2{font-size:2.8rem;line-height:3rem;margin:0 0 2.5rem}@media (min-width:46.25em){h2{font-size:3.8rem;line-height:4rem}}h3{font-size:2.4rem;line-height:2.8rem;margin:0 0 2rem}@media (min-width:46.25em){h3{font-size:3.2rem;line-height:3.6rem}}h4{font-size:2.1rem;line-height:2.4rem;margin:0 0 2rem}@media (min-width:46.25em){h4{font-size:2.8rem;line-height:3.2rem}}h5{font-size:1.8rem;line-height:2rem;margin:0 0 1rem}@media (min-width:46.25em){h5{font-size:2.4rem;line-height:2.8rem}}h6{font-size:1.8rem;line-height:2rem;margin:0 0 1rem}@media (min-width:46.25em){h6{font-size:2.2rem;line-height:2.4rem}}p{margin:0 0 2rem}ol,ul{margin:0 0 1.5rem;padding:0 0 0 3.5rem}ul li{list-style:disc}ol li{list-style:decimal}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:1.5rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:1.5rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}.card-slider{width:90%;margin:3em auto 0;overflow:hidden}@media (min-width:46.25em){.card-slider{display:flex;flex-direction:row;justify-content:space-between}}@media (min-width:46.25em){.card-slider header{flex:1 1 25%;padding:0 1.5em 0 0}}.card-slider .inner{overflow:hidden}@media (min-width:46.25em){.card-slider .inner{flex-wrap:wrap;flex:1 1 75%}}.card-slider ul{margin:0;padding:0;width:100%;display:flex;flex-wrap:wrap;position:relative;transition:left .2s ease;left:0}.card-slider ul li{margin:0;padding:0;list-style:none;position:relative;flex:1 0 250px;vertical-align:top;box-sizing:border-box;white-space:normal;padding:0 1.5em 0 0}.card-slider .slider-nav{width:100%;overflow:hidden}.card-slider .slider-nav .disabled{opacity:.4}.card-slider .slide-next{float:right}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYnMvX25vcm1hbGl6ZS5zY3NzIiwic3R5bGUuY3NzIiwiYmFzZS9fc2NhZmZvbGRpbmcuc2NzcyIsInV0aWxpdGllcy9fdmFyaWFibGVzLnNjc3MiLCJ1dGlsaXRpZXMvX21peGlucy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibGlicy9fYnJlYWtwb2ludHMuc2NzcyIsImNvbXBvbmVudHMvX21pbmltYWxDYXJkU2xpZGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsS0FDRSxnQkFBaUIsQ0FDakIsNkJBQXVDLENBa0J6QyxLQUNFLGFBQWMsQ0FXaEIsR0FDRSxzQkFBdUIsQ0FDdkIsUUFBUyxDQUNULGdCQUEwQixDQVE1QixJQUNFLCtCQUFpQyxDQUNqQyxhQUF1QixDQVd6QixZQUNFLGtCQUFtQixDQUNuQix5QkFBMEIsQ0FDMUIsd0NBQWlDLENBQWpDLGdDQUEwQyxDQVE1QyxjQUdFLCtCQUFpQyxDQUNqQyxhQUF1QixDQU96QixNQUNFLGFBQWMsQ0FRaEIsUUFFRSxhQUFjLENBQ2QsYUFBYyxDQUNkLGlCQUFrQixDQUNsQix1QkFBd0IsQ0FHMUIsSUFDRSxhQUFlLENBR2pCLElBQ0UsU0FBVyxDQVViLElBQ0UsaUJBQWtCLENBV3BCLHNDQUtFLG1CQUFvQixDQUNwQixjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFFBQWtCLENBUXBCLGFBRUUsZ0JBQWlCLENBUW5CLGNBRUUsbUJBQW9CLENBT3RCLGdEQUlFLHlCQUEwQixDQU81Qix3SEFJRSxpQkFBa0IsQ0FDbEIsU0FBVSxDQU9aLDRHQUlFLDZCQUE4QixDQU9oQyxTQUNFLDBCQUE4QixDQVVoQyxPQUNFLHFCQUFzQixDQUN0QixhQUFjLENBQ2QsYUFBYyxDQUNkLGNBQWUsQ0FDZixTQUFVLENBQ1Ysa0JBQTRCLENBTzlCLFNBQ0UsdUJBQXdCLENBTzFCLFNBQ0UsYUFBYyxDQ05oQiw2QkRnQkUscUJBQXNCLENBQ3RCLFNBQW1CLENDUHJCLGtGRGdCRSxXQUFZLEND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Q0EwREcsVUFBWSxDQTFEZix5QkErREUsV0FBWSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBCYXNlZCBvbiBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgfCBtb2RpZmllZCBieSBwcG5lbGxlcyAqL1xyXG5cclxuLyogRG9jdW1lbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qIFNlY3Rpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxyXG4gKi9cclxuXHJcbm1haW4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAqL1xyXG5cclxuaHIge1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXHJcbiAgaGVpZ2h0OiAwOyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5wcmUge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xyXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXHJcbn1cclxuXHJcbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5hYmJyW3RpdGxlXSB7XHJcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxuLyogTWlzY1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59IiwiLyogXHJcbiogQnJlYWtwb2ludHNcclxuKiBJdHMgYmV0dGVyIHRvIHVzZSB0aGVtIGluIEVNLCBiZWNhdXNlIHRoZXJlIGFyZSBwcm9wb3J0aW9ubmFsLCBub3QgbGlrZSBQWC5cclxuKiBJbiBvdXIgY2FzZSwgYmVjYXVzZSB3ZSB0d2VlayB0aGUgaHRtbCBmb250c2l6ZSB0byA2Mi41JSwgb3VyIEVNIGJhc2UgaXMgMThweC5cclxuKiBUd2VhayBpdCBvciBleHRlbmQgaXQgaW4gb3JkZXIgdG8gZml0IHlvdXIgcHJvamVjdC5cclxuKi9cbi8qIFxyXG4qIEZvbnRzIEZhbWlsaWVzXHJcbiovXG4vKlxyXG4qIENvbG9yc1xyXG4qL1xuLyogQmFzZWQgb24gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzIHwgbW9kaWZpZWQgYnkgcHBuZWxsZXMgKi9cbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcclxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXHJcbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxyXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gKiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIEZvcm1zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cclxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXHJcbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxyXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxyXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXHJcbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIE1pc2NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cclxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzNDk4ZGI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMzQ5OGRiO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxucCBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgLyogYSBzbWFsbCBib3R0b20gbWFyZ2luIHByZXZlbnRzIGNvbnRlbnQgZmxvYXRpbmcgdW5kZXIgaW1hZ2VzICovIH1cblxuLnNpdGUtY29udGVudCB7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogMTgwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5kZm4sXG5lbSxcbmksXG5jaXRlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmgxLCBoMiwgaDMsIGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmg1LCBoNiB7XG4gIGZvbnQtc3R5bGU6IEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMy42cmVtO1xuICBsaW5lLWhlaWdodDogNHJlbTtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA1LjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogNnJlbTsgfSB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICBtYXJnaW46IDAgMCAyLjVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDRyZW07IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBsaW5lLWhlaWdodDogMi44cmVtO1xuICBtYXJnaW46IDAgMCAycmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjZyZW07IH0gfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuICBtYXJnaW46IDAgMCAycmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07IH0gfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi44cmVtOyB9IH1cblxuaDYge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfSB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAycmVtOyB9XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIHBhZGRpbmc6IDAgMCAwIDMuNXJlbTsgfVxuXG51bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7IH1cblxub2wgbGkge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG5cbnByZSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMS42ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDEuNmVtOyB9XG5cbmNvZGUsIGtiZCwgdHQsIHZhciB7XG4gIGZvbnQtZmFtaWx5OiBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmFiYnIsIGFjcm9ueW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5tYXJrLCBpbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmOWMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQtc2xpZGVyIHtcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luOiAzZW0gYXV0byAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICAuY2FyZC1zbGlkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmNhcmQtc2xpZGVyIGhlYWRlciB7XG4gICAgICBmbGV4OiAxIDEgMjUlO1xuICAgICAgcGFkZGluZzogMCAxLjVlbSAwIDA7IH0gfVxuICAuY2FyZC1zbGlkZXIgLmlubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgICAgLmNhcmQtc2xpZGVyIC5pbm5lciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleDogMSAxIDc1JTsgfSB9XG4gIC5jYXJkLXNsaWRlciB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMjAwbXMgZWFzZTtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLmNhcmQtc2xpZGVyIHVsIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmNhcmQtc2xpZGVyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDEgMCAyNTBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMCAwOyB9XG4gIC5jYXJkLXNsaWRlciAuc2xpZGVyLW5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jYXJkLXNsaWRlciAuc2xpZGVyLW5hdiAuZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40OyB9XG4gIC5jYXJkLXNsaWRlciAuc2xpZGUtbmV4dCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4iLCIqIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG46Oi1tb3otc2VsZWN0aW9uIHsgXHJcbiAgYmFja2dyb3VuZDogJGxpbmstY29sb3I7IFxyXG4gIGNvbG9yOiB3aGl0ZTsgXHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IFxyXG59XHJcblxyXG46OnNlbGVjdGlvbiB7IFxyXG4gIGJhY2tncm91bmQ6ICRsaW5rLWNvbG9yOyBcclxuICBjb2xvcjogd2hpdGU7IFxyXG4gIHRleHQtc2hhZG93OiBub25lOyBcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1zaXplOiA2Mi41JTtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LWZhbWlseTogJGZvbnQtYm9keTtcclxuICBmb250LXNpemU6IDEuOHJlbTtcclxuICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7IFxyXG4gIGNvbG9yOiAkdGV4dC1yZWd1bGFyO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxufVxyXG5cclxuaW1nIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxucCBpbWcge1xyXG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyAvKiBhIHNtYWxsIGJvdHRvbSBtYXJnaW4gcHJldmVudHMgY29udGVudCBmbG9hdGluZyB1bmRlciBpbWFnZXMgKi9cclxufVxyXG5cclxuLnNpdGUtY29udGVudCB7XHJcbiAgQGluY2x1ZGUgY29udGFpbmVyKCk7XHJcbn0iLCIvKiBcclxuKiBCcmVha3BvaW50c1xyXG4qIEl0cyBiZXR0ZXIgdG8gdXNlIHRoZW0gaW4gRU0sIGJlY2F1c2UgdGhlcmUgYXJlIHByb3BvcnRpb25uYWwsIG5vdCBsaWtlIFBYLlxyXG4qIEluIG91ciBjYXNlLCBiZWNhdXNlIHdlIHR3ZWVrIHRoZSBodG1sIGZvbnRzaXplIHRvIDYyLjUlLCBvdXIgRU0gYmFzZSBpcyAxOHB4LlxyXG4qIFR3ZWFrIGl0IG9yIGV4dGVuZCBpdCBpbiBvcmRlciB0byBmaXQgeW91ciBwcm9qZWN0LlxyXG4qL1xyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAnc2NyZWVuLXhzJzogNDUwcHgsXHJcbiAgICAnc2NyZWVuLXNtJzogNzQwcHgsXHJcbiAgICAnc2NyZWVuLW1kJzogOTgwcHgsXHJcbiAgICAnc2NyZWVuLWxnJzogMTEwMHB4LFxyXG4gICAgJ3NjcmVlbi14bCc6IDEzMDBweFxyXG4pO1xyXG5cclxuLyogXHJcbiogRm9udHMgRmFtaWxpZXNcclxuKi9cclxuXHJcbiRmb250LWJvZHk6IEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcclxuJGZvbnQtdGl0bGU6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCBzYW5zLXNlcmlmO1xyXG5cclxuLypcclxuKiBDb2xvcnNcclxuKi9cclxuXHJcbiRicmFuZC1wcmltYXJ5OiAjMzQ5OGRiO1xyXG4kYnJhbmQtc2Vjb25kYXJ5OiAjMjdhZTYwO1xyXG4kYnJhbmQtYWN0aW9uOiAjZDM1NDAwO1xyXG4kdGV4dC1yZWd1bGFyOiAjMzMzMzMzO1xyXG4kdGV4dC10aXRsZTogIzAwMDAwMDtcclxuJG5ldXRyYWwtZWxlbWVudDogI2JkYzNjNztcclxuXHJcbiRsaW5rLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuJGJvcmRlci1jb2xvcjogJG5ldXRyYWwtZWxlbWVudDsiLCJAbWl4aW4gdmEtcGFyZW50KCkge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tb3otdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuQG1peGluIHZhLWVsZW1lbnQoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGNvbnRhaW5lcigpIHtcblx0d2lkdGg6IDkwJTtcblx0bWF4LXdpZHRoOiAxODAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdCgpIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRcblx0bGkge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cbn0iLCJiLFxyXG5zdHJvbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbmRmbixcclxuZW0sXHJcbmksXHJcbmNpdGUge1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuaDEsIGgyLCBoMywgaDQge1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5oNSwgaDYge1xyXG5cdGZvbnQtc3R5bGU6ICRmb250LWJvZHk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuaDEge1xyXG5cdGZvbnQtc2l6ZTogMy42cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiA0cmVtO1xyXG5cdG1hcmdpbjogMCAwIDNyZW07XHJcblxyXG5cdEBpbmNsdWRlIG1hcHB5LWJwKHNjcmVlbi1zbSkge1xyXG5cdFx0Zm9udC1zaXplOiA1LjJyZW07XHJcbiAgICBcdGxpbmUtaGVpZ2h0OiA2cmVtO1xyXG5cdH1cclxufVxyXG5cclxuaDIge1xyXG5cdGZvbnQtc2l6ZTogMi44cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG5cdG1hcmdpbjogMCAwIDIuNXJlbTtcclxuXHJcblx0QGluY2x1ZGUgbWFwcHktYnAoc2NyZWVuLXNtKSB7XHJcbiAgICBcdGZvbnQtc2l6ZTogMy44cmVtO1xyXG4gICAgXHRsaW5lLWhlaWdodDogNHJlbTtcclxuXHR9XHJcbn1cclxuXHJcbmgzIHtcclxuXHRmb250LXNpemU6IDIuNHJlbTtcclxuXHRsaW5lLWhlaWdodDogMi44cmVtO1xyXG5cdG1hcmdpbjogMCAwIDJyZW07XHJcblxyXG5cdEBpbmNsdWRlIG1hcHB5LWJwKHNjcmVlbi1zbSkge1xyXG5cdFx0Zm9udC1zaXplOiAzLjJyZW07XHJcbiAgICBcdGxpbmUtaGVpZ2h0OiAzLjZyZW07XHJcblx0fVxyXG59XHJcblxyXG5oNCB7XHJcblx0Zm9udC1zaXplOiAyLjFyZW07XHJcblx0bGluZS1oZWlnaHQ6IDIuNHJlbTtcclxuXHRtYXJnaW46IDAgMCAycmVtO1xyXG5cclxuXHRAaW5jbHVkZSBtYXBweS1icChzY3JlZW4tc20pIHtcclxuXHRcdGZvbnQtc2l6ZTogMi44cmVtO1xyXG4gICAgXHRsaW5lLWhlaWdodDogMy4ycmVtXHJcblx0fVxyXG59XHJcblxyXG5oNSB7XHJcblx0Zm9udC1zaXplOiAxLjhyZW07XHJcblx0bGluZS1oZWlnaHQ6IDJyZW07XHJcblx0bWFyZ2luOiAwIDAgMXJlbTtcclxuXHJcblx0QGluY2x1ZGUgbWFwcHktYnAoc2NyZWVuLXNtKSB7XHJcblx0XHRmb250LXNpemU6IDIuNHJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyLjhyZW07XHJcblx0fVxyXG59XHJcblxyXG5oNiB7XHJcblx0Zm9udC1zaXplOiAxLjhyZW07XHJcblx0bGluZS1oZWlnaHQ6IDJyZW07XHJcblx0bWFyZ2luOiAwIDAgMXJlbTtcclxuXHJcblx0QGluY2x1ZGUgbWFwcHktYnAoc2NyZWVuLXNtKSB7XHJcblx0XHRmb250LXNpemU6IDIuMnJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyLjRyZW07XHJcblx0fVxyXG59XHJcblxyXG5wIHtcclxuXHRtYXJnaW46IDAgMCAycmVtO1xyXG59XHJcblxyXG51bCwgXHJcbm9sIHtcclxuICBtYXJnaW46IDAgMCAxLjVyZW07XHJcbiAgcGFkZGluZzogMCAwIDAgMy41cmVtO1xyXG59XHJcblxyXG51bCBsaSB7XHJcbiAgbGlzdC1zdHlsZTogZGlzYztcclxufVxyXG5cclxub2wgbGkge1xyXG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XHJcbn1cclxuXHJcbnByZSB7XHJcblx0YmFja2dyb3VuZDogI2VlZTtcclxuXHRmb250LWZhbWlseTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuXHRmb250LXNpemU6IDEuNXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNmVtO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRwYWRkaW5nOiAxLjZlbTtcclxufVxyXG5cclxuY29kZSwga2JkLCB0dCwgdmFyIHtcclxuXHRmb250LWZhbWlseTogTW9uYWNvLCBDb25zb2xhcywgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlO1xyXG5cdGZvbnQtc2l6ZTogMS41cmVtO1xyXG59XHJcblxyXG5hYmJyLCBhY3JvbnltIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XHJcblx0Y3Vyc29yOiBoZWxwO1xyXG59XHJcblxyXG5tYXJrLCBpbnMge1xyXG5cdGJhY2tncm91bmQ6ICNmZmY5YzA7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59IiwiLy8gTWFwcHkgYnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gT3V0cHV0IG1lZGlhIHF1ZXJ5IHdpdGggZm9jdXMgb24gbWluLXdpZHRoLCBtYXgtd2lkdGgsIG1pbi1oZWlnaHQgYW5kIG1heC1oZWlnaHQuXHJcbi8vIE90aGVyIG1lZGlhIHJ1bGVzIGFyZSBwYXNzZWQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCBpbiBhIG1hcFxyXG4vL1xyXG4vLyBAYXV0aG9yIFplbGwgTGlld1xyXG4vLyA9PT09PT09PT09PT09PT09PVxyXG4kYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xyXG4kbWFwcHktcXVlcmllczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBNYXBweSBCUCBbTWl4aW5dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuLy8gLSAkcXVlcmllcyAgICAgICAgIDogPHN0cmluZz4gb3IgPG51bWJlcj4gaW4gdGhlIGZvcm1hdDpcclxuLy8gICAgICAgICAgICAgICAgICAgICAgPG1pbi13aWR0aD4gPG1heC13aWR0aD4gaCA8bWluLWhlaWdodD4gPG1heC1oZWlnaHQ+IDxrZXk+IDx2YWx1ZT5cclxuLy8gLSAkdHlwZSAgICAgICAgICAgIDogPG1lZGlhLXR5cGU+XHJcbi8vIC0gJHF1ZXJ5LWZhbGxiYWNrICA6IDxzdHJpbmc+IHNlbGVjdG9yIGNsYXNzXHJcbi8vIC0gJGJyZWFrcG9pbnRzICAgICA6IDxtYXA+XHJcbkBtaXhpbiBtYXBweS1icCgkcXVlcmllcywgJHR5cGU6IGFsbCwgJHF1ZXJ5LWZhbGxiYWNrOiBudWxsLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG5cclxuICAvLyBHZXRzIG1hcHB5IG1hcCB0aHJvdWdoIG1hcHB5LWJwIGZuXHJcbiAgJG1hcHB5LW1hcDogbWFwcHktYnAoJHF1ZXJpZXMsICR0eXBlLCAkcXVlcnktZmFsbGJhY2ssICRicmVha3BvaW50cyk7XHJcblxyXG4gIC8vIE91dHB1dHMgbWVkaWEgc3RyaW5nXHJcbiAgQG1lZGlhICN7bWFwLWdldCgkbWFwcHktbWFwLCB0eXBlKX0gYW5kICN7bWFwLWdldCgkbWFwcHktbWFwLCBtZWRpYS1zdHJpbmcpfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC8vIElmIGEgcXVlcnkgZmFsbGJhY2sgaXMgcHJvdmlkZWRcclxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrIHtcclxuICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNYXBweSBRdWVyeSBbTWl4aW5dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gT3V0cHV0IHF1ZXJ5IGZyb20gJG1hcHB5LXF1ZXJpZXMgbWFwLlxyXG4vLyAkcXVlcnkgOiA8c3RyaW5nPiBmcm9tICRtYXBweS1xdWVyaWVzIGtleVxyXG5AbWl4aW4gbWFwcHktcXVlcnkoJHF1ZXJ5LCAkbWFwcHktcXVlcmllczogJG1hcHB5LXF1ZXJpZXMpIHtcclxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRtYXBweS1xdWVyaWVzLCAkcXVlcnkpIHtcclxuICAgIEBlcnJvciBcIiN7JG1hcHB5LXF1ZXJpZXN9IGRvZXMgbm90IGNvbnRhaW4gI3skcXVlcnl9XCI7XHJcbiAgfVxyXG5cclxuICAkbWFwcHktbWFwOiBtYXAtZ2V0KCRtYXBweS1xdWVyaWVzLCAkcXVlcnkpO1xyXG5cclxuICBAbWVkaWEgI3ttYXAtZ2V0KCRtYXBweS1tYXAsIHR5cGUpfSBhbmQgI3ttYXAtZ2V0KCRtYXBweS1tYXAsIG1lZGlhLXN0cmluZyl9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgYSBxdWVyeSBmYWxsYmFjayBpcyBwcm92aWRlZFxyXG4gIEBpZiBtYXAtZ2V0KCRtYXBweS1tYXAsIHF1ZXJ5LWZhbGxiYWNrKSB7XHJcbiAgICAje21hcC1nZXQoJG1hcHB5LW1hcCwgcXVlcnktZmFsbGJhY2spfSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNYXBweSBCUCBbRnVuY3Rpb25dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gUmV0dXJucyBhIG1hcCB3aXRoIDMga2V5c1xyXG4vLyAtIHR5cGUgICAgICAgICAgIDogTWVkaWEgdHlwZVxyXG4vLyAtIG1lZGlhLXN0cmluZyAgIDogbWVkaWEgcXVlcnkgc3RyaW5nXHJcbi8vIC0gcXVlcnktZmFsbGJhY2sgOiBxdWVyeSBmYWxsYmFjayAoaWYgYW55KVxyXG5AZnVuY3Rpb24gbWFwcHktYnAoJHF1ZXJpZXMsICR0eXBlOiBhbGwsICRxdWVyeS1mYWxsYmFjazogbnVsbCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAkbWVkaWEtc3RyaW5nOiAoKTtcclxuICAkX3JldHVybjogKCk7XHJcbiAgJG1lZGlhLW1hcDogcGFyc2UtYnAoJHF1ZXJpZXMsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWVkaWEtbWFwIHtcclxuICAgIEBpZiAkdmFsdWUgYW5kICR2YWx1ZSAhPSAwIHtcclxuICAgICAgQGlmICRtZWRpYS1zdHJpbmcgPT0gKCgpKSB7XHJcbiAgICAgICAgJG1lZGlhLXN0cmluZzogYXBwZW5kKCRtZWRpYS1zdHJpbmcsIHVucXVvdGUoXCIoI3ska2V5fTogI3skdmFsdWV9KVwiKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAkbWVkaWEtc3RyaW5nOiBhcHBlbmQoJG1lZGlhLXN0cmluZywgdW5xdW90ZShcImFuZCAoI3ska2V5fTogI3skdmFsdWV9KVwiKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJF9yZXR1cm46IChcclxuICAgIHR5cGU6ICR0eXBlLFxyXG4gICAgbWVkaWEtc3RyaW5nOiBpbXBsb2RlKCRtZWRpYS1zdHJpbmcpLFxyXG4gICAgcXVlcnktZmFsbGJhY2s6ICRxdWVyeS1mYWxsYmFja1xyXG4gICk7XHJcblxyXG4gIEByZXR1cm4gJF9yZXR1cm47XHJcbn1cclxuXHJcbi8vIEJQIFtNaXhpbl1cclxuLy8gLS0tLS0tLS0tLVxyXG4vLyBDb252ZW5pZW5jZSBtaXhpbiBmb3IgTWFwcHkgQnJlYWtwb2ludHNcclxuQG1peGluIGJwKCRxdWVyaWVzLCAkdHlwZTogYWxsLCAkcXVlcnktZmFsbGJhY2s6IG51bGwsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgQGluY2x1ZGUgbWFwcHktYnAoJHF1ZXJpZXMsICR0eXBlLCAkcXVlcnktZmFsbGJhY2ssICRicmVha3BvaW50cykge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBQYXJzZSBCUCBbZnVuY3Rpb25dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gUGFyc2VzIGFyZ3VtZW50cyBhbmQgcmV0dXJucyBhIG1hcCB3aXRoIDQga2V5c1xyXG5AZnVuY3Rpb24gcGFyc2UtYnAoJHF1ZXJpZXMsICRicmVha3BvaW50cykge1xyXG4gICRfcmV0dXJuOiAoKTtcclxuICAkX2k6IDE7XHJcbiAgJF9taW53OiBudWxsO1xyXG4gICRfbWF4dzogbnVsbDtcclxuICAkX21pbmg6IG51bGw7XHJcbiAgJF9tYXhoOiBudWxsO1xyXG4gICRfbGVuZ3RoOiBsZW5ndGgoJHF1ZXJpZXMpO1xyXG5cclxuICAvLyBDaGVja3MgZm9yIHdpZHRoIHF1ZXJpZXNcclxuICAkX21pbnc6IG50aCgkcXVlcmllcywgMSk7XHJcbiAgJF9taW53OiBtYXBweS12YWxpZGF0ZSgkX21pbncsICRicmVha3BvaW50cyk7XHJcblxyXG4gIC8vIENoZWNrIGZvciB3aWR0aCBxdWVyaWVzXHJcbiAgQGlmICRfbWludyB7XHJcbiAgICAkX21pbnc6IG1hcHB5LWNvbnZlcnQtdG8tZW0oJF9taW53KTtcclxuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChtaW4td2lkdGg6ICRfbWludykpO1xyXG4gICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsIDEsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2tzIGlmIHRoZXJlIGlzIGEgbWF4IHdpZHRoIHF1ZXJ5XHJcbiAgQGlmICRfbWludyBhbmQgJF9sZW5ndGggPj0gMiB7XHJcbiAgICAkX21heHc6IG50aCgkcXVlcmllcywgMik7XHJcbiAgICAkX21heHc6IG1hcHB5LXZhbGlkYXRlKCRfbWF4dywgJGJyZWFrcG9pbnRzKTtcclxuICB9XHJcblxyXG4gIEBpZiAkX21heHcge1xyXG4gICAgJF9tYXh3OiBtYXBweS1jb252ZXJ0LXRvLWVtKCRfbWF4dyAtIDFweCk7XHJcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAobWF4LXdpZHRoOiAkX21heHcpKTtcclxuICAgICRxdWVyaWVzOiBzZXQtbnRoKCRxdWVyaWVzLCAyLCBudWxsKTtcclxuICB9XHJcblxyXG4gIC8vIENoZWNrcyBmb3IgaGVpZ2h0IHF1ZXJpZXNcclxuICAkX2g6IGluZGV4KCRxdWVyaWVzLCBoKSBvciBpbmRleCgkcXVlcmllcywgaGVpZ2h0KTtcclxuXHJcbiAgQGlmICRfaCB7XHJcbiAgICAkX21pbmg6IG50aCgkcXVlcmllcywgJF9oICsgMSk7XHJcbiAgICAkX21pbmg6IG1hcHB5LXZhbGlkYXRlKCRfbWluaCwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICBAaWYgJF9taW5oIHtcclxuICAgICAgJF9taW5oOiBtYXBweS1jb252ZXJ0LXRvLWVtKCRfbWluaCk7XHJcbiAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChtaW4taGVpZ2h0OiAkX21pbmgpKTtcclxuICAgICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsICRfaCArIDEsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENoZWNrcyBpZiB0aGVyZSBpcyBhIG1heCBoZWlnaHQgcXVlcnlcclxuICAgIEBpZiAkX2xlbmd0aCAtICRfaCA+PSAyIHtcclxuICAgICAgJF9tYXhoOiBudGgoJHF1ZXJpZXMsICRfaCArIDIpO1xyXG4gICAgICAkX21heGg6IG1hcHB5LXZhbGlkYXRlKCRfbWF4aCwgJGJyZWFrcG9pbnRzKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJF9tYXhoIHtcclxuICAgICAgJF9tYXhoOiBtYXBweS1jb252ZXJ0LXRvLWVtKCRfbWF4aCAtIDFweCk7XHJcbiAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChtYXgtaGVpZ2h0OiAkX21heGgpKTtcclxuICAgICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsICRfaCArIDIsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgLy8gUmVzZXQgaCBtYXJrZXJcclxuICAgICRxdWVyaWVzOiBzZXQtbnRoKCRxdWVyaWVzLCAkX2gsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2tzIGZvciBvdGhlciBxdWVyaWVzXHJcbiAgQHdoaWxlICRfaSA8PSBsZW5ndGgoJHF1ZXJpZXMpIHtcclxuICAgICRfa2V5OiBudGgoJHF1ZXJpZXMsICRfaSk7XHJcblxyXG4gICAgQGlmICRfa2V5IGFuZCAkX2xlbmd0aCAtICRfaSA+PSAxIHtcclxuICAgICAgJF92YWw6IG50aCgkcXVlcmllcywgJF9pICsgMSk7XHJcbiAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICgjeyRfa2V5fTogJF92YWwpKTtcclxuICAgICAgJHF1ZXJpZXM6IHNldC1udGgoJHF1ZXJpZXMsICRfaSwgbnVsbCk7XHJcbiAgICAgICRxdWVyaWVzOiBzZXQtbnRoKCRxdWVyaWVzLCAkX2kgKyAxLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiAkX2tleSB7XHJcbiAgICAgIEB3YXJuIHVucXVvdGUoJ1wiTWFwcHkgQnJlYWtwb2ludHMgaXMgbWlzc2luZyB2YWx1ZSBmb3IgbWVkaWEgZmVhdHVyZSBcIiN7JF9rZXl9XCJcIicpO1xyXG4gICAgfVxyXG4gICAgJF9pOiAkX2kgKyAxO1xyXG4gIH1cclxuICBAcmV0dXJuICRfcmV0dXJuO1xyXG59XHJcblxyXG4vLyBNYXBweSBWYWxpZGF0ZSBbRnVuY3Rpb25dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQ2hlY2tzIGlmICRxdWVyeSBnaXZlbiBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZzpcclxuLy8gMSkgSXMgYSAka2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwXHJcbi8vIDIpIElzIGEgbnVtYmVyXHJcbi8vIDMpIElzIGEgXCJtYXhcIiwgXCJtYXgtd2lkdGhcIiBvciBcIm1heC1oZWlnaHRcIiBzdHJpbmdcclxuQGZ1bmN0aW9uIG1hcHB5LXZhbGlkYXRlKCRxdWVyeSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgJF9yZXR1cm46IG51bGw7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRxdWVyeSkge1xyXG4gICAgJF9yZXR1cm46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciB7XHJcbiAgICAkX3JldHVybjogJHF1ZXJ5O1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHF1ZXJ5ID09IFwibWF4XCIgb3IgJHF1ZXJ5ID09IFwibWF4LWhlaWdodFwiIG9yICRxdWVyeSA9PSBcIm1heC13aWR0aFwiIHtcclxuICAgICRfcmV0dXJuOiAwO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgJF9yZXR1cm46IG51bGw7XHJcbiAgfVxyXG4gIEByZXR1cm4gJF9yZXR1cm47XHJcbn1cclxuXHJcbi8vIE1hcHB5IENvbnZlcnQgVG8gRW0gW0Z1bmN0aW9uXVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIENoZWNrcyBhbmQgY29udmVydHMgcHggdmFsdWVzIHRvIGVtLiBMZWF2ZSBvdGhlciB1bml0cyB1bnRvdWNoZWQuXHJcblxyXG5AZnVuY3Rpb24gbWFwcHktY29udmVydC10by1lbSgkdmFsKSB7XHJcbiAgQGlmIHVuaXQoJHZhbCkgPT0gXCJweFwiIG9yICR2YWwgPT0gMCB7XHJcbiAgICBAcmV0dXJuIG1hcHB5LWVtKCR2YWwpO1xyXG4gIH0gQGVsc2UgaWYgdW5pdCgkdmFsKSA9PSBcImVtXCIge1xyXG4gICAgQHJldHVybiAkdmFsO1xyXG4gIH0gQGVsc2UgaWYgdW5pdCgkdmFsKSA9PSBcInJlbVwiIHtcclxuICAgIEByZXR1cm4gbWFwcHktc3RyaXAtdW5pdCgkdmFsKSAqIDFlbTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciB1bnF1b3RlKFwiQnJlYWtwb2ludCB2YWx1ZSBtdXN0IGhhdmUgYSB1bml0IGlmIGl0J3MgYSBudW1iZXJcIik7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNYXBweSBFbSBbRnVuY3Rpb25dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIENvbnZlcnRzIHBpeGVscyB0byBlbSB3aXRoICRiYXNlLWZvbnQtc2l6ZVxyXG4vLyAtIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2lqeS8xNDQxOTY3XHJcbkBmdW5jdGlvbiBtYXBweS1lbSgkdGFyZ2V0LCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAkdGFyZ2V0ID09IDAge1xyXG4gICAgQHJldHVybiAwO1xyXG4gIH1cclxuICBAcmV0dXJuICR0YXJnZXQgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIG1hcHB5LXN0cmlwLXVuaXQoJG51bSkge1xyXG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xyXG59XHJcblxyXG4vLyBJbXBsb2RlIFtGdW5jdGlvbl1cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gSW1wbG9kZSBhIGxpc3QgaW50byBhIHN0cmluZ1xyXG5AZnVuY3Rpb24gaW1wbG9kZSgkbGlzdCwgJGdsdWU6ICcgJykge1xyXG4gICRyZXM6IG51bGw7XHJcbiAgJGxlbjogbGVuZ3RoKCRsaXN0KTtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuIHtcclxuICAgICRlOiBudGgoJGxpc3QsICRpKTtcclxuICAgIEBpZiAkaSA9PSAkbGVuIHtcclxuICAgICAgJHJlczogdW5xdW90ZShcIiN7JHJlc30jeyRlfVwiKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHJlczogdW5xdW90ZShcIiN7JHJlc30jeyRlfSN7JGdsdWV9XCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzO1xyXG59IiwiLmNhcmQtc2xpZGVyIHtcclxuXHR3aWR0aDogOTAlO1xyXG5cdG1hcmdpbjogM2VtIGF1dG8gMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFxyXG5cdEBpbmNsdWRlIG1hcHB5LWJwKHNjcmVlbi1zbSkge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cclxuXHRoZWFkZXIge1xyXG5cdFx0QGluY2x1ZGUgbWFwcHktYnAoc2NyZWVuLXNtKSB7XHJcblx0XHRcdGZsZXg6IDEgMSAyNSU7XHJcblx0XHQgICAgcGFkZGluZzogMCAxLjVlbSAwIDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaW5uZXIge1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRAaW5jbHVkZSBtYXBweS1icChzY3JlZW4tc20pIHtcclxuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0XHRmbGV4OiAxIDEgNzUlO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHJcblx0dWwge1xyXG5cdFx0QGluY2x1ZGUgcmVzZXQtbGlzdCgpO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCAgICB0cmFuc2l0aW9uOiBsZWZ0IDIwMG1zIGVhc2U7XHJcblx0XHRsZWZ0OiAwO1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ICAgIGZsZXg6IDEgMCAyNTBweDtcclxuXHRcdCAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0ICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIFx0XHRwYWRkaW5nOiAwIDEuNWVtIDAgMDtcclxuXHJcbiAgICBcdFx0QGluY2x1ZGUgbWFwcHktYnAoc2NyZWVuLW1kKSB7XHJcbiAgICBcdFx0XHQvL2ZsZXgtYmFzaXM6IDI1JTtcdFxyXG4gICAgXHRcdH1cclxuICAgIFx0fVxyXG5cdH1cclxuXHJcblx0LnNsaWRlci1uYXYge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdC5kaXNhYmxlZCB7XHJcblx0XHRcdG9wYWNpdHk6IDAuNDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5zbGlkZS1uZXh0IHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHR9XHJcbn0iXX0= */
