/*!
 * fastshell
 * Fiercely quick and opinionated front-ends
 * https://HosseinKarami.github.io/fastshell
 * @author Hossein Karami
 * @version 1.0.5
 * Copyright 2018. MIT licensed.
 */
.clear:after,.clear:before{content:" ";display:table}.clear{*zoom:1}.clear:after{clear:both}*{box-sizing:border-box;font-smoothing:antialiased;text-rendering:optimizeLegibility}html{font-size:62.5%;background:radial-gradient(ellipse at center,#f7f6f0 0,#c2ba8c 80%,#b0a66b 100%)}body{font:300 13px/1.6 Helvetica Neue,Helvetica,Arial;color:#444;transition:all .4s ease-in .3s}body,html{min-height:100vh;overflow:hidden}

/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=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{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.logo{margin:-58px 0 0 -100px;position:absolute;top:50%;left:50%}.nav ul{list-style:none}::selection{background:#333;color:#fff;text-shadow:none}::-moz-selection{background:#333;color:#fff;text-shadow:none}::-webkit-selection{background:#333;color:#fff;text-shadow:none}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body,html{background-color:#000;overflow:auto;color:#fff;font-family:Roboto Condensed,sans-serif;font-size:1em}h1{font-family:Permanent Marker,sans-serif}.header{position:relative;overflow:hidden;padding:2% 0;height:100vh}.main-logo{margin:0 auto;padding:0;text-align:center;z-index:1!important;position:relative;top:50%;margin-top:-100px}.main-logo img{max-width:350px}.fader{width:100%;height:20px;z-index:2;background:transparent linear-gradient(180deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.8) 80%) repeat scroll 0 0}.fader,.header .bg{position:absolute;bottom:0}.header .bg{background:url(http://retronerve.games/assets/img/retro_nerve_web_back.png) 0 0 repeat;left:0;right:-100vh;top:0;z-index:0;height:100%;animation-name:a;animation-duration:50s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes a{0%{transform:translateX(0)}to{transform:translateX(-100vh)}}.siteMenu{position:fixed;left:0;top:-40px;width:100%;height:40px;text-align:center;color:#fff;z-index:4;transition:top .2s}.siteMenu ul{list-style:none;padding:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-pack:right;justify-content:right;margin-right:15px}.siteMenu ul li{float:left;margin-left:5px}.siteMenu ul li.active a{color:#fff;font-weight:700;border-bottom:1px solid #f7f7f7}.siteMenu ul li a{display:block;padding:5px;color:#fff;text-decoration:none}.siteMenu ul li a:hover{color:#bfbfbf}#pattern{position:absolute;width:40%;left:50px;z-index:1}.game-video iframe{width:90%}.social{position:fixed;bottom:1%;left:50%;margin-left:-180px;z-index:3!important}.social ul{list-style:none;padding:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.social ul li{display:inline-table;margin-left:30px}.desc{color:#fff;text-align:center;margin:0 auto}.desc,p{width:90%}p{margin:15px auto}.kufo-game{text-align:center}.game-gallery ul{width:95%;list-style:none;padding:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.game-gallery ul li{display:inline-table;margin-left:10px}.game-gallery img{max-width:240px}.retro-form{margin:30px auto;text-align:center;max-width:400px}.retro-form input{width:100%;padding:4px 0;margin:4px 0;border:none}.retro-form input[type=email],.retro-form input[type=text]{padding-left:5px}.retro-form input[type=submit]{border:none;background-color:#0a3fd9;color:#fff}.footer{background-image:url(http://retronerve.games/assets/img/retro_nerve_web_back.png);overflow:hidden;padding:2% 0;position:relative}.fader.bottom{position:absolute;top:0;width:100%;height:20px;z-index:2;background:transparent linear-gradient(180deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.8) 80%) repeat scroll 0 0}.img-gallery img{max-width:100%}.logoContainer{float:left}.logoContainer img{width:100px;padding-left:10px;padding-top:10px}.aboutbox{width:70%}.aboutbox hr{border:1px solid #f0c200}.column{width:50%}.game-description{width:59%;margin-left:1%;font-size:.8em;margin-top:30px}.gamegall{width:40%;margin-top:30px}.sectionHeader{margin-left:20px;color:#f0c200}.u-pull-right{float:right}.u-pull-left{float:left}.highlight{color:#f0c200}p>strong{background-color:#f0c200;padding:2px;color:#000}.section.aboutus{background:url(http://retronerve.games/assets/img/bgs/aboutus_bg.jpg);background-position:0 100%;background-size:150%;background-repeat:no-repeat}.section.games{background:url(http://retronerve.games/assets/img/kfu_logo.svg);background-position:top;background-size:15%;background-repeat:no-repeat}.section.suscribe{background:url(http://retronerve.games/assets/img/bgs/suscribe_bg.png);background-position:0 100%;background-size:50%;background-repeat:no-repeat}.game-separator{height:40px}.auxClass{overflow:visible!important}a{outline:none}@media only screen and (max-width:767px){.header{padding:6% 0}.main-logo img{max-width:250px}.social ul li{margin-left:20px}.social{margin-left:-140px}.desc,p{width:95%;margin:10px auto}.kufo-game header img{max-width:80%}.game-video iframe{width:95%}.game-gallery ul{display:list-item;margin:0}.game-gallery ul li{margin-bottom:5px}.game-gallery ul li img{width:100%}.retro-form{width:90%}.footer{padding:5% 0}.column{width:100%;overflow:hidden}.section.aboutus{background-size:cover}.aboutbox{width:95%;margin:0 auto}.character{display:none}.section.suscribe{background-size:150%}.section.games{background-size:50%}.game-separator{height:100px}.game-description{width:100%;margin:0 auto;clear:left}.gamegall{width:100%;margin:0 auto;clear:right}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZHVsZXMvX2NsZWFyZml4LnNjc3MiLCJzdHlsZS5jc3MiLCJtb2R1bGVzL19kZWZhdWx0cy5zY3NzIiwibW9kdWxlcy9fbm9ybWFsaXplLnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJtaXhpbnMvX3Bvc2l0aW9uLnNjc3MiLCJwYXJ0aWFscy9fbmF2LnNjc3MiLCJtb2R1bGVzL19taXNjLnNjc3MiLCJtb2R1bGVzL19wcmludC5zY3NzIiwic3R5bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLDJCQUNFLFlBQWEsQUFDYixhQUFlLENBQ2hCLEFBQ0QsUUNDRSxNREFTLENBRFgsQUFTQyxhQUZHLFVBQVksQ0FDYixBRVpILEVBQ0Usc0JBQXVCLEFBQ3ZCLDJCQUE0QixBQUM1QixpQ0FBbUMsQ0FDcEMsQUFDRCxLQUNFLGdCQUFpQixBQUNqQixnRkFBMkIsQ0FDNUIsQUFDRCxLQUNFLGlEQUFzRCxBQUN0RCxXQUFZLEFBQ1osOEJBQWdDLENBQ2pDLEFBQ0QsVUFDQyxpQkFBa0IsQUFDbEIsZUFBaUIsQ0FDakI7O0FDakJELDRFQUE0RSxBQU81RSxLQUNFLHVCQUF3QixBQUN4QiwwQkFBMkIsQUFDM0IsNkJBQStCLENBQ2hDLEFBTUQsS0FDRSxRQUFVLENBQ1gsQUFXRCxvRkFZRSxhQUFlLENBQ2hCLEFBTUQsNEJBSUUsb0JBQXNCLENBQ3ZCLEFBTUQsc0JBQ0UsYUFBYyxBQUNkLFFBQVUsQ0FDWCxBQU1ELFNBQ0UsdUJBQXlCLENBQzFCLEFBT0Qsa0JBRUUsWUFBYyxDQUNmLEFBVUQsRUFDRSw2QkFBOEIsQUFDOUIsb0NBQXNDLENBQ3ZDLEFBT0QsaUJBRUUsZUFBaUIsQ0FDbEIsQUFVRCxZQUNFLG1CQUFvQixBQUNwQiwwQkFBMkIsQUFDM0IsZ0NBQWtDLENBQ25DLEFBTUQsU0FFRSxvQkFBcUIsQUFTckIsa0JBQW9CLENBUnJCLEFBZUQsSUFDRSxpQkFBbUIsQ0FDcEIsQUFPRCxHQUNFLGNBQWUsQUFDZixj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QUFnQyxBQUNoQyxvQkFBb0IsQUFDcEIsMkJBQTZCLENBQy9CLEFBRUQsa0JBRUcsMkNBQWUsQUFDZiwyQkFBaUMsQUFDakMsb0JBQW9CLEFBQ3BCLDJCQUE2QixDQUMvQixBQUVELGdCQUFrQixXQUFZLENBQUksQUFFbEMsVUFBWSwwQkFBNkIsQ0FBSSxBQUU3QyxFQUFJLFlBQWMsQ0FBSSxBQVd2Qix5Q0FFSSxRQUFVLFlBQWEsQ0FBSSxBQUMzQixlQUFpQixlQUFpQixDQUFLLEFBRXZDLGNBQWdCLGdCQUFpQixDQUFJLEFBQ3JDLFFBQVUsa0JBQW1CLENBQUksQUFHakMsUUFBSSxVQUFVLEFBQUUsZ0JBQWlCLENBQUksQUFFckMsc0JBQXdCLGFBQWUsQ0FBSSxBQUUzQyxtQkFBcUIsU0FBVSxDQUFJLEFBRW5DLGlCQUFtQixrQkFBbUIsQUFBRSxRQUFTLENBQUksQUFDckQsb0JBQXNCLGlCQUFrQixDQUFJLEFBQzVDLHdCQUEwQixVQUFXLENBQUksQUFFekMsWUFBYyxTQUFVLENBQUksQUFDNUIsUUFBVSxZQUFhLENBQUksQUFFM0IsUUFBVSxXQUFXLEFBQUUsZUFBaUIsQ0FBSSxBQUc1QyxpQkFBbUIscUJBQXNCLENBQUksQUFDN0MsVUFBWSxVQUFVLEFBQUUsYUFBYyxDQUFJLEFBQ3RDLFdBQWEsWUFBYSxDQUFJLEFBR2xDLGtCQUFvQixvQkFBcUIsQ0FBSSxBQUc3QyxlQUFpQixtQkFBb0IsQ0FBSSxBQUNyQyxnQkFBa0IsWUFBYSxDQUFJLEFBRW5DLGtCQUFvQixXQUFXLEFBQUUsY0FBYyxBQUFFLFVBQVcsQ0FBSSxBQUNoRSxVQUFZLFdBQVcsQUFBRSxjQUFjLEFBQUUsV0FBYSxDQUFJLENBQUEiLCJmaWxlIjoic3R5bGUubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiVjbGVhciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7XG59XG4uY2xlYXIge1xuICAqem9vbTogMTtcbiAgJjpiZWZvcmUge1xuICAgIEBleHRlbmQgJWNsZWFyO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIEBleHRlbmQgJWNsZWFyO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIuY2xlYXI6YmVmb3JlLCAuY2xlYXI6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhciB7XG4gICp6b29tOiAxOyB9XG4gIC5jbGVhcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjRjdGNkYwIDAsICNjMmJhOGMgODAlLCAjYjBhNjZiIDEwMCUpOyB9XG5cbmJvZHkge1xuICBmb250OiAzMDAgMTNweC8xLjYgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbDtcbiAgY29sb3I6ICM0NDQ7XG4gIHRyYW5zaXRpb246IGFsbCAuNHMgLjNzIGVhc2UtaW47IH1cblxuYm9keSwgaHRtbCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4ubG9nbyB7XG4gIG1hcmdpbjogLTU4cHggMCAwIC0xMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlOyB9XG5cbi5uYXYgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQtTmFtZSc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZm9udC1uYW1lLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mb250LW5hbWUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZm9udC1uYW1lLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udC1uYW1lLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZm9udC1uYW1lLnN2ZyNmb250LW5hbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46Oi13ZWJraXQtc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbmh0bWwsIGJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6ICdQZXJtYW5lbnQgTWFya2VyJywgc2Fucy1zZXJpZjsgfVxuXG4vKipcbiAqIEhlYWRlciAmIExvZ29cbiAqL1xuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMiUgMDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG4ubWFpbi1sb2dvIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTAwcHg7IH1cblxuLm1haW4tbG9nbyBpbWcge1xuICBtYXgtd2lkdGg6IDM1MHB4OyB9XG5cbi5mYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMykgMCUsIHJnYmEoMCwgMCwgMCwgMC44KSA4MCUpIHJlcGVhdCBzY3JvbGwgMCAwOyB9XG5cbi5oZWFkZXIgLmJnIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3JldHJvX25lcnZlX3dlYl9iYWNrLnBuZ1wiKSAwJSAwJSByZXBlYXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IC0xMDB2aDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYW5pbWF0aW9uLW5hbWU6IE1PVkUtQkc7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTBzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgTU9WRS1CRyB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDB2aCk7IH0gfVxuXG4uc2l0ZU1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogLTQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNGRkY7XG4gIHotaW5kZXg6IDk5OTk5O1xuICB0cmFuc2l0aW9uOiB0b3AgMC4yczsgfVxuXG4uc2l0ZU1lbnUgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4uc2l0ZU1lbnUgdWwgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4uc2l0ZU1lbnUgdWwgbGkuYWN0aXZlIGEge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0Y3ZjdmNzsgfVxuXG4uc2l0ZU1lbnUgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiAjRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNpdGVNZW51IHVsIGxpIGE6aG92ZXIge1xuICBjb2xvcjogI0JGQkZCRjsgfVxuXG4jcGF0dGVybiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQwJTtcbiAgbGVmdDogNTBweDtcbiAgei1pbmRleDogMTsgfVxuXG4uZ2FtZS12aWRlbyBpZnJhbWUge1xuICB3aWR0aDogOTAlOyB9XG5cbi8qKlxuICogU29jaWFsXG4gKi9cbi5zb2NpYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMSU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xODBweDtcbiAgei1pbmRleDogOTk5OSAhaW1wb3J0YW50OyB9XG5cbi5zb2NpYWwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5zb2NpYWwgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi8qKlxuICogTWFpbiB0ZXh0c1xuICovXG4uZGVzYyB7XG4gIGNvbG9yOiAjRkZGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogOTAlOyB9XG5cbnAge1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgd2lkdGg6IDkwJTsgfVxuXG4ua3Vmby1nYW1lIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5nYW1lLWdhbGxlcnkgdWwge1xuICB3aWR0aDogOTUlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5nYW1lLWdhbGxlcnkgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5nYW1lLWdhbGxlcnkgaW1nIHtcbiAgbWF4LXdpZHRoOiAyNDBweDsgfVxuXG4ucmV0cm8tZm9ybSB7XG4gIG1hcmdpbjogMzBweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNDAwcHg7IH1cblxuLnJldHJvLWZvcm0gaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNHB4IDA7XG4gIG1hcmdpbjogNHB4IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ucmV0cm8tZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIHBhZGRpbmctbGVmdDogNXB4OyB9XG5cbi5yZXRyby1mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gIHBhZGRpbmctbGVmdDogNXB4OyB9XG5cbi5yZXRyby1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTNmZDk7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbi8qKlxuICogRm9vdGVyIFxuICovXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3JldHJvX25lcnZlX3dlYl9iYWNrLnBuZ1wiKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMiUgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mYWRlci5ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjBweDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgODAlKSByZXBlYXQgc2Nyb2xsIDAgMDsgfVxuXG4uaW1nLWdhbGxlcnkgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5sb2dvQ29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmxvZ29Db250YWluZXIgaW1nIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbi5hYm91dGJveCB7XG4gIHdpZHRoOiA3MCU7IH1cblxuLmFib3V0Ym94IGhyIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2YwYzIwMDsgfVxuXG4uY29sdW1uIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ2FtZS1kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiA1OSU7XG4gIG1hcmdpbi1sZWZ0OiAxJTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4uZ2FtZWdhbGwge1xuICB3aWR0aDogNDAlO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5zZWN0aW9uSGVhZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGNvbG9yOiAjZjBjMjAwOyB9XG5cbi51LXB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnUtcHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmhpZ2hsaWdodCB7XG4gIGNvbG9yOiAjZjBjMjAwOyB9XG5cbnAgPiBzdHJvbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBjMjAwO1xuICBwYWRkaW5nOiAycHg7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogU2VjdGlvbnNcbiAqL1xuLnNlY3Rpb24uYWJvdXR1cyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9iZ3MvYWJvdXR1c19iZy5qcGdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zZWN0aW9uLmdhbWVzIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2tmdV9sb2dvLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxNSU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnNlY3Rpb24uc3VzY3JpYmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmdzL3N1c2NyaWJlX2JnLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5nYW1lLXNlcGFyYXRvciB7XG4gIGhlaWdodDogNDBweDsgfVxuXG4uYXV4Q2xhc3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbmEge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qKlxuICogKioqKioqKioqKioqKioqKioqKioqKlxuICogICBSZXNwb25zaXZlIFJ1bGVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICBNb2JpbGUgZmlyc3QgcXVlcmllc1xuICogKioqKioqKioqKioqKioqKioqKioqKlxuICovXG4vKiBBbGwgTW9iaWxlIFNpemVzIChkZXZpY2VzIGFuZCBicm93c2VyKSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA2JSAwOyB9XG4gIC5tYWluLWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4OyB9XG4gIC5zb2NpYWwgdWwgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC5zb2NpYWwge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTQwcHg7IH1cbiAgLmRlc2Mge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgcCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAua3Vmby1nYW1lIGhlYWRlciBpbWcge1xuICAgIG1heC13aWR0aDogODAlOyB9XG4gIC5nYW1lLXZpZGVvIGlmcmFtZSB7XG4gICAgd2lkdGg6IDk1JTsgfVxuICAuZ2FtZS1nYWxsZXJ5IHVsIHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5nYW1lLWdhbGxlcnkgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAuZ2FtZS1nYWxsZXJ5IHVsIGxpIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnJldHJvLWZvcm0ge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZzogNSUgMDsgfVxuICAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC8qIEFib3V0ICovXG4gIC5zZWN0aW9uLmFib3V0dXMge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmFib3V0Ym94IHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jaGFyYWN0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogU3VzY3JpYmUgKi9cbiAgLnNlY3Rpb24uc3VzY3JpYmUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTUwJTsgfVxuICAvKiBHYW1lcyAqL1xuICAuc2VjdGlvbi5nYW1lcyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MCU7IH1cbiAgLmdhbWUtc2VwYXJhdG9yIHtcbiAgICBoZWlnaHQ6IDEwMHB4OyB9XG4gIC5nYW1lLWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuZ2FtZWdhbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGNsZWFyOiByaWdodDsgfSB9XG4iLCIqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgJGJhc2UgMCwgJGRhcmtlbiA4MCUsICRiYWNrIDEwMCUpO1xufVxuYm9keSB7XG4gIGZvbnQ6IDMwMCAxM3B4LzEuNiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsO1xuICBjb2xvcjogIzQ0NDtcbiAgdHJhbnNpdGlvbjogYWxsIC40cyAuM3MgZWFzZS1pbjtcbn1cbmJvZHksaHRtbHtcblx0bWluLWhlaWdodDogMTAwdmg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjQuMS4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsIC8qIDEgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLCAvKiAyICovXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkgeyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlLCAvKiAxICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG4iLCIuaGVhZGVyIHtcblxufVxuLmxvZ28ge1xuICBtYXJnaW46IC01OHB4IDAgMCAtMTAwcHg7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCAwIDUwJSk7XG4gIGltZyB7XG5cbiAgfVxufVxuIiwiQG1peGluIHBvc2l0aW9uICgkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IDAgMCAwIDApIHtcbiAgICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAgICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgICAkcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAgICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcblxuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgICBAaWYgJHRvcCA9PSBhdXRvIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJHRvcCkpIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgIH1cbiAgICBAaWYgJHJpZ2h0ID09IGF1dG8ge1xuICAgICAgICByaWdodDogJHJpZ2h0O1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJHJpZ2h0KSkge1xuICAgICAgICByaWdodDogJHJpZ2h0O1xuICAgIH1cbiAgICBAaWYgJGJvdHRvbSA9PSBhdXRvIHtcbiAgICAgICAgYm90dG9tOiAkYm90dG9tO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJGJvdHRvbSkpIHtcbiAgICAgICAgYm90dG9tOiAkYm90dG9tO1xuICAgIH1cbiAgICBAaWYgJGxlZnQgPT0gYXV0byB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJGxlZnQpKSB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgIH1cbn1cbiIsIi5uYXYge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBhIHtcblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiOjpzZWxlY3Rpb257XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbjo6LW1vei1zZWxlY3Rpb257XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbjo6LXdlYmtpdC1zZWxlY3Rpb257XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgLmlyIGE6YWZ0ZXIsXG4gICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbi8vIFNDU1MgTUlYSU5TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AaW1wb3J0ICdtaXhpbnMvX3Bvc2l0aW9uLnNjc3MnO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbi8vIENPTkZJRyBNT0RVTEVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBDb25maWcgbW9kdWxlc1xuQGltcG9ydCAnbW9kdWxlcy9fdmFycy5zY3NzJztcbkBpbXBvcnQgJ21vZHVsZXMvX2NsZWFyZml4LnNjc3MnO1xuQGltcG9ydCAnbW9kdWxlcy9fZGVmYXVsdHMuc2Nzcyc7XG5AaW1wb3J0ICdtb2R1bGVzL19ub3JtYWxpemUuc2Nzcyc7XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbi8vIFBBUlRJQUxTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AaW1wb3J0ICdwYXJ0aWFscy9faGVhZGVyLnNjc3MnO1xuQGltcG9ydCAncGFydGlhbHMvX25hdi5zY3NzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL19zaWRlYmFyLnNjc3MnO1xuQGltcG9ydCAncGFydGlhbHMvX21haW4uc2Nzcyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9fZm9vdGVyLnNjc3MnO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbi8vIE9CSkVDVFMgJiBNT0RVTEVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AaW1wb3J0ICdtb2R1bGVzL19idXR0b25zLnNjc3MnO1xuQGltcG9ydCAnbW9kdWxlcy9faW5wdXRzLnNjc3MnO1xuQGltcG9ydCAnbW9kdWxlcy9fbGlzdHMuc2Nzcyc7XG5AaW1wb3J0ICdtb2R1bGVzL190eXBvZ3JhcGh5LnNjc3MnO1xuQGltcG9ydCAnbW9kdWxlcy9fbWlzYy5zY3NzJztcbkBpbXBvcnQgJ21vZHVsZXMvX2FwcC5zY3NzJztcblxuLy8gRW5oYW5jZW1lbnQgbW9kdWxlc1xuQGltcG9ydCAnbW9kdWxlcy9fYnJlYWtwb2ludHMuc2Nzcyc7XG5AaW1wb3J0ICdtb2R1bGVzL19wcmludC5zY3NzJztcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyBWRU5ET1Jcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBpbXBvcnQgJ3ZlbmRvci9fZXh0ZXJuYWwuc2Nzcyc7XG5cbmh0bWwsIGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3ZlcmZsb3c6YXV0bztcbiAgICBjb2xvcjojRkZGO1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbmgxIHsgZm9udC1mYW1pbHk6ICdQZXJtYW5lbnQgTWFya2VyJywgc2Fucy1zZXJpZjsgfVxuXG4vKipcbiAqIEhlYWRlciAmIExvZ29cbiAqL1xuLmhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzoyJSAwO1xuICAgIGhlaWdodDogMTAwdmg7XG59XG4gICAgLm1haW4tbG9nbyB7IG1hcmdpbjowIGF1dG87IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyOyB6LWluZGV4OiAxICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOjUwJTsgbWFyZ2luLXRvcDotMTAwcHg7ICB9XG4gICAgLm1haW4tbG9nbyBpbWcgeyBtYXgtd2lkdGg6IDM1MHB4OyAgfVxuICAgIC5mYWRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAyMHB4OyB6LWluZGV4OiAyOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4zKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDgwJSkgcmVwZWF0IHNjcm9sbCAwIDA7ICB9XG5cbiAgICAuaGVhZGVyIC5iZyBcbiAgICB7IFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9yZXRyb19uZXJ2ZV93ZWJfYmFjay5wbmcnKSAwJSAwJSByZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IC0xMDB2aDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIFxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IE1PVkUtQkc7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNTBzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjtcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgIH1cblxuICAgIEBrZXlmcmFtZXMgTU9WRS1CRyB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgICAgICB0byB7IFxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwdmgpO1xuICAgICAgICB9XG4gICAgIH1cblxuLnNpdGVNZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDowO1xuICAgIHRvcDotNDBweDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6I0ZGRjtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycztcbn1cbiAgICAuc2l0ZU1lbnUgdWwgeyBsaXN0LXN0eWxlOm5vbmU7IHBhZGRpbmc6MDsgbWFyZ2luOjA7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogcmlnaHQ7IG1hcmdpbi1yaWdodDoxNXB4OyB9XG4gICAgLnNpdGVNZW51IHVsIGxpIHsgZmxvYXQ6bGVmdDsgbWFyZ2luLWxlZnQ6NXB4OyB9XG4gICAgLnNpdGVNZW51IHVsIGxpLmFjdGl2ZSBhIHsgY29sb3I6d2hpdGU7IGZvbnQtd2VpZ2h0OiBib2xkOyBib3JkZXItYm90dG9tOnNvbGlkIDFweCAjRjdmN2Y3OyB9XG4gICAgLnNpdGVNZW51IHVsIGxpIGEgeyBkaXNwbGF5OmJsb2NrOyBwYWRkaW5nOjVweDsgY29sb3I6I0ZGRjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnNpdGVNZW51IHVsIGxpIGE6aG92ZXIgeyBjb2xvcjojQkZCRkJGOyB9XG5cbiAgICAjcGF0dGVybiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6NDAlOyBsZWZ0OjUwcHg7IHotaW5kZXg6MTsgfVxuXG4gICAgLmdhbWUtdmlkZW8gaWZyYW1lIHsgd2lkdGg6OTAlOyB9XG4vKipcbiAqIFNvY2lhbFxuICovXG4gLnNvY2lhbCB7IHBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOjElOyBsZWZ0OjUwJTsgbWFyZ2luLWxlZnQ6LTE4MHB4OyB6LWluZGV4OiA5OTk5ICFpbXBvcnRhbnQ7IH1cbi5zb2NpYWwgdWwgeyBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOjA7IG1hcmdpbjowOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnNvY2lhbCB1bCBsaSB7IGRpc3BsYXk6IGlubGluZS10YWJsZTsgbWFyZ2luLWxlZnQ6MzBweDsgfVxuXG4vKipcbiAqIE1haW4gdGV4dHNcbiAqL1xuLmRlc2MgeyBjb2xvcjojRkZGOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjowIGF1dG87IHdpZHRoOjkwJTsgfVxucCB7IG1hcmdpbjoxNXB4IGF1dG87IHdpZHRoOjkwJTsgIH1cbi5rdWZvLWdhbWUgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmdhbWUtZ2FsbGVyeSB1bCB7IHdpZHRoOjk1JTsgbGlzdC1zdHlsZTogbm9uZTsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5nYW1lLWdhbGxlcnkgdWwgbGkgeyBkaXNwbGF5OiBpbmxpbmUtdGFibGU7IG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgLmdhbWUtZ2FsbGVyeSBpbWcgeyBtYXgtd2lkdGg6MjQwcHg7IH1cblxuLnJldHJvLWZvcm0ge1xuICAgIG1hcmdpbjozMHB4IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDo0MDBweDtcbn1cbiAgICAucmV0cm8tZm9ybSBpbnB1dCB7IHdpZHRoOjEwMCU7IHBhZGRpbmc6NHB4IDA7IG1hcmdpbjo0cHggMDsgYm9yZGVyOm5vbmU7IH1cbiAgICAucmV0cm8tZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7IHBhZGRpbmctbGVmdDo1cHg7IH1cbiAgICAucmV0cm8tZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0geyBwYWRkaW5nLWxlZnQ6NXB4OyB9XG4gICAgLnJldHJvLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7IGJvcmRlcjpub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEzZmQ5OyBjb2xvcjojRkZGOyB9XG4vKipcbiAqIEZvb3RlciBcbiAqL1xuIC5mb290ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3JldHJvX25lcnZlX3dlYl9iYWNrLnBuZycpOyBcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6MiUgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gfVxuXG4gICAgLmZhZGVyLmJvdHRvbSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAyMHB4OyB6LWluZGV4OiAyOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDgwJSkgcmVwZWF0IHNjcm9sbCAwIDA7ICB9XG5cbi5pbWctZ2FsbGVyeSBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmxvZ29Db250YWluZXIgeyBmbG9hdDpsZWZ0OyB9XG4gLmxvZ29Db250YWluZXIgaW1nIHsgd2lkdGg6MTAwcHg7IHBhZGRpbmctbGVmdDoxMHB4OyBwYWRkaW5nLXRvcDoxMHB4OyB9XG5cbiAuYWJvdXRib3ggeyB3aWR0aDo3MCU7IH1cbiAuYWJvdXRib3ggaHIgeyBib3JkZXI6c29saWQgMXB4ICNmMGMyMDA7IH1cbiAuY29sdW1uIHsgd2lkdGg6NTAlOyB9XG5cbiAuZ2FtZS1kZXNjcmlwdGlvbiB7IHdpZHRoOjU5JTsgbWFyZ2luLWxlZnQ6MSU7IGZvbnQtc2l6ZTowLjhlbTsgbWFyZ2luLXRvcDozMHB4OyB9XG4gLmdhbWVnYWxsIHsgd2lkdGg6NDAlOyBtYXJnaW4tdG9wOjMwcHg7IH1cblxuIC5zZWN0aW9uSGVhZGVyIHsgbWFyZ2luLWxlZnQ6MjBweDsgY29sb3I6I2YwYzIwMDt9XG4gLnUtcHVsbC1yaWdodCB7IGZsb2F0OnJpZ2h0OyB9XG4gLnUtcHVsbC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cblxuIC5oaWdobGlnaHQgeyBjb2xvcjojZjBjMjAwOyB9XG5cbiBwID4gc3Ryb25nIHsgYmFja2dyb3VuZC1jb2xvcjojZjBjMjAwOyBwYWRkaW5nOjJweDsgY29sb3I6IzAwMDsgfVxuIFxuLyoqXG4gKiBTZWN0aW9uc1xuICovXG4gLnNlY3Rpb24uYWJvdXR1cyB7XG4gICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Jncy9hYm91dHVzX2JnLmpwZycpO1xuICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgIGJhY2tncm91bmQtc2l6ZToxNTAlO1xuICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuIH1cblxuIC5zZWN0aW9uLmdhbWVzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9rZnVfbG9nby5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZToxNSU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiB9XG5cbiAuc2VjdGlvbi5zdXNjcmliZSB7XG4gICAgXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYmdzL3N1c2NyaWJlX2JnLnBuZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTo1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiB9XG5cbiAuZ2FtZS1zZXBhcmF0b3IgeyBoZWlnaHQ6NDBweDsgfVxuXG4gLmF1eENsYXNzIHsgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4gYSB7IG91dGxpbmU6IG5vbmU7IH1cblxuLyoqXG4gKiAqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgIFJlc3BvbnNpdmUgUnVsZXNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogIE1vYmlsZSBmaXJzdCBxdWVyaWVzXG4gKiAqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuLyogQWxsIE1vYmlsZSBTaXplcyAoZGV2aWNlcyBhbmQgYnJvd3NlcikgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpXG57XG4gICAgLmhlYWRlciB7IHBhZGRpbmc6NiUgMDsgfVxuICAgIC5tYWluLWxvZ28gaW1nIHsgbWF4LXdpZHRoOiAyNTBweDsgIH1cblxuICAgIC5zb2NpYWwgdWwgbGkgeyBtYXJnaW4tbGVmdDoyMHB4OyB9XG4gICAgLnNvY2lhbCB7IG1hcmdpbi1sZWZ0Oi0xNDBweDsgfVxuXG4gICAgLmRlc2MgeyB3aWR0aDo5NSU7IG1hcmdpbjoxMHB4IGF1dG87IH1cbiAgICBwIHsgd2lkdGg6OTUlOyBtYXJnaW46MTBweCBhdXRvOyB9XG5cbiAgICAua3Vmby1nYW1lIGhlYWRlciBpbWcgeyBtYXgtd2lkdGg6IDgwJTsgfVxuXG4gICAgLmdhbWUtdmlkZW8gaWZyYW1lIHsgd2lkdGg6OTUlOyB9XG5cbiAgICAuZ2FtZS1nYWxsZXJ5IHVsIHsgZGlzcGxheTogbGlzdC1pdGVtOyBtYXJnaW46MDsgfVxuICAgIC5nYW1lLWdhbGxlcnkgdWwgbGkgeyBtYXJnaW4tYm90dG9tOjVweDsgfVxuICAgIC5nYW1lLWdhbGxlcnkgdWwgbGkgaW1nIHsgd2lkdGg6MTAwJTsgfVxuXG4gICAgLnJldHJvLWZvcm0geyB3aWR0aDo5MCU7IH1cbiAgICAuZm9vdGVyIHsgcGFkZGluZzo1JSAwOyB9XG5cbiAgICAuY29sdW1uIHsgd2lkdGg6MTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4gICAgLyogQWJvdXQgKi9cbiAgICAuc2VjdGlvbi5hYm91dHVzIHsgYmFja2dyb3VuZC1zaXplOmNvdmVyOyB9XG4gICAgLmFib3V0Ym94IHsgd2lkdGg6OTUlOyBtYXJnaW46MCBhdXRvOyB9XG4gICAgICAgIC5jaGFyYWN0ZXIgeyBkaXNwbGF5Om5vbmU7IH1cblxuICAgIC8qIFN1c2NyaWJlICovXG4gICAgLnNlY3Rpb24uc3VzY3JpYmUgeyBiYWNrZ3JvdW5kLXNpemU6MTUwJTsgfVxuXG4gICAgLyogR2FtZXMgKi9cbiAgICAuc2VjdGlvbi5nYW1lcyB7IGJhY2tncm91bmQtc2l6ZTo1MCU7IH1cbiAgICAgICAgLmdhbWUtc2VwYXJhdG9yIHsgaGVpZ2h0OjEwMHB4OyB9XG5cbiAgICAgICAgLmdhbWUtZGVzY3JpcHRpb24geyB3aWR0aDoxMDAlOyBtYXJnaW46MCBhdXRvOyBjbGVhcjpsZWZ0OyB9XG4gICAgICAgIC5nYW1lZ2FsbCB7IHdpZHRoOjEwMCU7IG1hcmdpbjowIGF1dG87IGNsZWFyOiByaWdodDsgfVxufVxuIl19 */