/*!
 * wac-countdown
 * 
 * 
 * @author Joshua Schär <schaer@puzzle.ch>
 * @version 1.0.0
 * Copyright 2017. Apache-2.0 licensed.
 */
img,legend{border:0}legend,td,th{padding:0}.btn,sub,sup{position:relative}.box,.flap-1,.flap-2{will-change:transform}.birthday-text,.button,.side-2,.side-6,.wac-logo-container{text-align:center}@font-face{font-family:Lato;font-style:normal;font-weight:400;src:local('Lato Regular'),local('Lato-Regular'),url(https://fonts.gstatic.com/s/lato/v13/v0SdcGFAl2aezM9Vq_aFTQ.ttf) format('truetype')}@font-face{font-family:Lato;font-style:normal;font-weight:700;src:local('Lato Bold'),local('Lato-Bold'),url(https://fonts.gstatic.com/s/lato/v13/DvlFBScY1r-FMtZSYIYoYw.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf) format('truetype')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local('Open Sans Semibold'),local('OpenSans-Semibold'),url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSonF5uFdDttMLvmWuJdhhgs.ttf) format('truetype')}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}.h1,body,h1{color:#444}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;font-size:16px;font-family:'Open Sans',sans-serif;background:linear-gradient(180deg,#CFCCBE 0,#BAB8AA 50%,#999684 50%,#CFCCBE 100%);height:100vh;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}a{background-color:transparent;color:#77811e}a:active,a:hover{outline:0;color:#99A724}.birthday-text{font-size:35px;font-weight:700;opacity:0;margin-top:-4em;line-height:45px;margin-bottom:-30px;word-break:break-word;padding:0 5px;z-index:9999999}@media (min-width:400px){.birthday-text{font-size:60px;margin-top:-3em;margin-bottom:100px}}.reveal{opacity:1;transition:opacity 3s;animation:fadeIn .5s ease-in .8s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.button{margin-top:5px}.btn{border-radius:3px;padding:2px 8px;font-size:16px;text-decoration:none;color:#fff;display:inline-block}.countdown,.wrap{display:-ms-flexbox}.btn:hover{background-color:#828e1e;color:#fff}@media (min-width:400px){.btn{font-size:22px;padding:10px 15px}}.green{background-color:#86921f}.wrap{height:100%;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;padding-bottom:20px}.countdown{display:flex;-ms-flex-pack:center;justify-content:center;margin:5px auto 0;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (min-width:400px){.wrap{padding:10px}.countdown{margin-top:15px}}.countdown .bloc-time{float:left;margin:8px 15px;text-align:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media (min-width:400px){.countdown .bloc-time{margin:0 20px 20px}}.countdown .count-title{display:block;margin-bottom:4px;font:700 .7em Lato;color:#fff;text-transform:uppercase}.countdown .figure-group{-ms-flex:1 100%;flex:1 100%}.countdown .figure{position:relative;float:left;height:30px;width:20px;margin-right:10px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 3px 4px 0 rgba(0,0,0,.05),inset 2px 4px 0 0 rgba(255,255,255,.08)}@media (min-width:400px){.countdown .count-title{margin-bottom:15px;font:700 .94em Lato}.countdown .figure{height:40px;width:30px;border-radius:8px}}.countdown .figure .bottom-back,.countdown .figure .top{border-top-left-radius:10px;border-top-right-radius:10px}.countdown .figure:last-child{margin-right:0}.countdown .figure>span{position:absolute;left:0;right:0;margin:auto;font:400 1.2em/28px Lato;font-weight:700;color:#4E4D50}.countdown .figure .bottom-back:after,.countdown .figure .top:after{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:100%;height:100%;border-bottom:1px solid rgba(0,0,0,.1)}.countdown .figure .top{z-index:3;background-color:#f7f7f7;transform-origin:50% 100%;-webkit-transform-origin:50% 100%;transform:perspective(200px)}.countdown .figure .bottom{z-index:1}.countdown .figure .bottom:before{content:"";position:absolute;display:block;top:0;left:0;width:100%;height:50%;background-color:rgba(0,0,0,.02)}.container,.side-6{display:-ms-flexbox}.countdown .figure .bottom-back{z-index:2;top:0;height:50%;overflow:hidden;background-color:#f7f7f7}.countdown .figure .bottom-back span{position:absolute;top:0;left:0;right:0;margin:auto}.countdown .figure .top,.countdown .figure .top-back{height:50%;overflow:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.countdown .figure .top-back{z-index:4;bottom:0;background-color:#fff;transform-origin:50% 0;transform:perspective(200px) rotateX(180deg);border-bottom-left-radius:10px;border-bottom-right-radius:10px}.countdown .figure .top-back span{position:absolute;top:-100%;left:0;right:0;margin:auto}#confetti-canvas-1,#confetti-canvas-2{position:absolute;left:0;right:0;top:0;bottom:0;z-index:1;overflow:visible;pointer-events:none}#confetti-canvas-1{z-index:0}.container{perspective:1500px;perspective-origin:50% 0;display:flex;-ms-flex-pack:center;justify-content:center}.box{width:200px;height:200px;position:relative;transform:translate3d(0,0,0);transform-style:preserve-3d;transition:250ms transform linear;box-shadow:0 20px 20px -10px rgba(109,109,22,.15);top:100px;animation:rumble .1s infinite linear;animation-fill-mode:both}.is-hidden,.side,.side-1{position:absolute}@media (min-width:400px){.countdown .figure>span{font:400 1.5em/40px Lato}.box{width:300px;height:300px}}.box.open{animation:spin 250ms linear 250ms;animation-fill-mode:both}.color-change{margin:20px auto;animation:glow 1.5s ease-in-out 3}.side{width:200px;height:200px;background:#9EAC25}@media (min-width:400px){.side{width:300px;height:300px}}.side-1{width:200px;height:200px;transform:rotateX(90deg) translateZ(100px);transform-style:preserve-3d}@media (min-width:400px){.side-1{width:300px;height:300px;transform:rotateX(90deg) translateZ(150px)}}.side-2{transform:translateZ(100px);line-height:30px;font-size:14px;color:#fff;background-color:#99A724}@media (min-width:400px){.side-2{width:300px;height:300px;transform:translateZ(150px)}}.side-3{transform:rotateY(90deg) translateZ(100px);background-color:#86921f}@media (min-width:400px){.side-3{transform:rotateY(90deg) translateZ(150px)}}.side-4{transform:rotateX(-90deg) rotate(180deg) translateZ(100px)}@media (min-width:400px){.side-4{transform:rotateX(-90deg) rotate(180deg) translateZ(150px)}}.side-5{transform:rotateY(180deg) translateZ(100px);background-color:#99A724}@media (min-width:400px){.side-5{transform:rotateY(180deg) translateZ(150px)}}.side-6{transform:rotateY(-90deg) translateZ(100px);background-color:#8d9a21;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}@media (min-width:400px){.side-6{transform:rotateY(-90deg) translateZ(150px)}}.inner-side{transition:250ms transform ease}.flap-1,.flap-2{width:200px;height:100px;background:#a1af26;transform:translate3d(0,0,0);transform-style:preserve-3d}.flap-1{top:100px;transform-origin:0 100px}@media (min-width:400px){.flap-1,.flap-2{width:300px;height:150px}.flap-1{top:150px;transform-origin:0 150px}}.flap-2{transform-origin:200px 0}.box.open .flap-1{animation:openbox-flap1 .5s ease-in-out .6s;animation-fill-mode:both}.box.open .flap-2{animation:openbox-flap2 .5s ease-in-out .6s;animation-fill-mode:both}.wac-logo-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center;margin-left:3px}@media (min-width:400px){.flap-2{transform-origin:300px 0}.wac-logo-container{margin-top:12px;margin-left:3px}}.wac-logo{width:70px;height:auto;bottom:0;margin:0 auto;left:0;right:0;z-index:999}@media (min-width:400px){.wac-logo{width:150px}}@keyframes lineup{to{transform:rotateX(90deg);transform-origin:bottom center;top:-90px}}@keyframes spin{to{transform:rotateY(50deg)}}@keyframes openbox-flap1{0%{transform:rotateX(0)}50%{transform:rotateX(-135deg)}70%{transform:rotateX(-105deg)}100%{transform:rotateX(-120deg)}}@keyframes openbox-flap2{0%{transform:rotateX(0)}50%{transform:rotateX(140deg)}70%{transform:rotateX(100deg)}100%{transform:rotateX(120deg);background-color:#9dab25}}@keyframes rumble{0%{transform:rotate(0)}25%{transform:translate(1px,0) rotate(-1deg)}50%{transform:translate(0,-1px) rotate(0)}75%{transform:translate(-1px,0) rotate(1deg)}100%{transform:translate(0,1px) rotate(0)}}.grid-container{max-width:940px;margin-left:auto;margin-right:auto;padding:0 1.25rem}.grid-container:after{content:" ";display:block;clear:both}@media (min-width:60em),(min-width:12){.grid-container{padding:0}}.main-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.is-hidden{visibility:hidden;height:0;width:0}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3MvX25vcm1hbGl6ZS5zY3NzIiwibWFpbi5jc3MiLCJtb2R1bGUvX2J1dHRvbi5zY3NzIiwibW9kdWxlL19jb3VudGRvd24uc2NzcyIsIm1vZHVsZS9fYm94LnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzo0MDAsNzAwfE9wZW4rU2Fuczo0MDAsNjAwIiwiYmFzZS9fY29tbW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLXNhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zYXNzIiwibWFpbi5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2NsZWFyZml4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUF5VEEsSUErTkEsT0FDRSxPQUFBLEVBREYsT0FzQ0EsR0M5TUEsR0RnTkUsUUFBQSxFRXBkRixLRjBJQSxJQ3JHQSxJRTdGSSxTQUFBLFNDOUJKLEtBcUdBLFFBQUEsUUFJRSxZQUFBLFVDckNGLGVIV0EsUUU5QkEsUUFxQ0EsUUFvREEsb0JBQ0UsV0FBQSxPRWpLRixXQUNFLFlBQWEsS0FDYixXQUFZLE9BQ1osWUFBYSxJQUNiLElBQUssc0JBQXVCLHNCQUF1QixxRUFBb0UsbUJBRXpILFdBQ0UsWUFBYSxLQUNiLFdBQVksT0FDWixZQUFhLElBQ2IsSUFBSyxtQkFBb0IsbUJBQW9CLHFFQUFvRSxt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Ii8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOb3JtYWxpemUuc2NzcyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSW5jbHVkZXMgbGVnYWN5IGJyb3dzZXIgc3VwcG9ydCBJRTYvN1xuICpcbiAqIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byBkcm9wIHN1cHBvcnQgZm9yIElFNiBhbmQgSUU3XG4gKi9cblxuJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vKiBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICogMy4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogIGBlbWAgdW5pdHMuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpmb250LXNpemU6IDEwMCU7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuLyoqXG4gKiBQcmV2ZW50cyBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAqL1xuXG5hIHtcbiAgJjphY3RpdmUsICY6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH07XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIG1hcmdpbjogMC44M2VtIDA7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjE3ZW07XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW46IDEuMzNlbSAwO1xuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMC44M2VtO1xuICAgIG1hcmdpbjogMS42N2VtIDA7XG4gIH1cblxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjY3ZW07XG4gICAgbWFyZ2luOiAyLjMzZW0gMDtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cbiAgLyoqXG4gICAqIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIHAsXG4gIHByZSB7XG4gICAgKm1hcmdpbjogMWVtIDA7XG4gIH1cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgQ1NTIHF1b3RlcyBub3Qgc3VwcG9ydGVkIGluIElFIDYvNy5cbiAgICovXG5cbiAgcSB7XG4gICAgKnF1b3Rlczogbm9uZTtcbiAgfVxuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBgcXVvdGVzYCBwcm9wZXJ0eSBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaSA0LlxuICAgKi9cblxuICBxOmJlZm9yZSxcbiAgcTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgTGlzdHNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBkbCxcbiAgbWVudSxcbiAgb2wsXG4gIHVsIHtcbiAgICAqbWFyZ2luOiAxZW0gMDtcbiAgfVxuXG4gIGRkIHtcbiAgICAqbWFyZ2luOiAwIDAgMCA0MHB4O1xuICB9XG5cbiAgLypcbiAgICogQWRkcmVzc2VzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIG1lbnUsXG4gIG9sLFxuICB1bCB7XG4gICAgKnBhZGRpbmc6IDAgMCAwIDQwcHg7XG4gIH1cblxuICAvKlxuICAgKiBDb3JyZWN0cyBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDcuXG4gICAqL1xuXG4gIG5hdiB1bCxcbiAgbmF2IG9sIHtcbiAgICAqbGlzdC1zdHlsZTogbm9uZTtcbiAgICAqbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgfVxuXG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICotbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG4gIH1cbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIElFIDYsIFNhZmFyaSA0LzUsIGFuZCBDaHJvbWUuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgX2ZvbnQtZmFtaWx5OiAnY291cmllciBuZXcnLCBtb25vc3BhY2U7XG4gIH1cbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xuICB9XG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICogIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xuICAgICp3aWR0aDogMTNweDsgLyogMyAqL1xuICB9XG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiA0LiBDb3JyZWN0cyBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDMgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDQgKi9cbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxhdG86NDAwLDcwMHxPcGVuK1NhbnM6NDAwLDYwMFwiKTtcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOb3JtYWxpemUuc2NzcyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSW5jbHVkZXMgbGVnYWN5IGJyb3dzZXIgc3VwcG9ydCBJRTYvN1xuICpcbiAqIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byBkcm9wIHN1cHBvcnQgZm9yIElFNiBhbmQgSUU3XG4gKi9cbi8qIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICogMy4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogIGBlbWAgdW5pdHMuXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50cyBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLCBhOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIElFIDYsIFNhZmFyaSA0LzUsIGFuZCBDaHJvbWUuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICogIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiA0LiBDb3JyZWN0cyBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzQ0NDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0NGQ0NCRSAwJSwgI0JBQjhBQSA1MCUsICM5OTk2ODQgNTAlLCAjQ0ZDQ0JFIDEwMCUpO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKmRvY1xuLS0tXG50aXRsZTogSGVhZGluZ3Ncbm5hbWU6IEhlYWRpbmdcbmNhdGVnb3J5OiBCYXNlXG4tLS1cblxuSGVhZGluZyBlbGVtZW50cyBpbXBsZW1lbnQgc2l4IGxldmVscyBvZiBkb2N1bWVudCBoZWFkaW5ncywgYDxoMT5gIGlzIHRoZSBtb3N0IGltcG9ydGFudCBhbmQgYDxoNj5gIGlzIHRoZSBsZWFzdC4gQSBoZWFkaW5nIGVsZW1lbnQgYnJpZWZseSBkZXNjcmliZXMgdGhlIHRvcGljIG9mIHRoZSBzZWN0aW9uIGl0IGludHJvZHVjZXMuIEhlYWRpbmcgaW5mb3JtYXRpb24gbWF5IGJlIHVzZWQgYnkgdXNlciBhZ2VudHMsIGZvciBleGFtcGxlLCB0byBjb25zdHJ1Y3QgYSB0YWJsZSBvZiBjb250ZW50cyBmb3IgYSBkb2N1bWVudCBhdXRvbWF0aWNhbGx5LlxuXG5gYGBodG1sX2V4YW1wbGVcbjxoMT5IZWFkaW5nIGxldmVsIDE8L2gxPlxuPGgyPkhlYWRpbmcgbGV2ZWwgMjwvaDI+XG48aDM+SGVhZGluZyBsZXZlbCAzPC9oMz5cbjxoND5IZWFkaW5nIGxldmVsIDQ8L2g0PlxuPGg1PkhlYWRpbmcgbGV2ZWwgNTwvaDU+XG48aDY+SGVhZGluZyBsZXZlbCA2PC9oNj5cblxuPGgxIGNsYXNzPVwiaDJcIj5IZWFkaW5nIGxldmVsIDEgd2l0aCAuaDIgc3R5bGU8L2gxPlxuPGgyIGNsYXNzPVwiaDFcIj5IZWFkaW5nIGxldmVsIDIgd2l0aCAuaDEgc3R5bGU8L2gyPlxuYGBgXG4qL1xuaDEsIC5oMSB7XG4gIGNvbG9yOiAjNDQ0OyB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBMaW5rc1xubmFtZTogTGlua3NcbmNhdGVnb3J5OiBCYXNlXG4tLS1cblxuVGhlIEhUTUwgYDxhPmAgRWxlbWVudCAob3IgdGhlIEhUTUwgQW5jaG9yIEVsZW1lbnQpIGRlZmluZXMgYSBoeXBlcmxpbmssIHRoZSBuYW1lZCB0YXJnZXQgZGVzdGluYXRpb24gZm9yIGEgaHlwZXJsaW5rLCBvciBib3RoLlxuXG5gYGBodG1sX2V4YW1wbGVcbjxhIGhyZWY9XCJodHRwOi8vd2VhcmVjdWJlLmNoL1wiPkhlcmUgd2UgY3ViZTwvYT5cbmBgYFxuKi9cbmEge1xuICBjb2xvcjogIzc3ODExZTsgfVxuICBhOmhvdmVyLCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM5OUE3MjQ7IH1cblxuLmJpcnRoZGF5LXRleHQge1xuICBmb250LXNpemU6IDM1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW4tdG9wOiAtNGVtO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHotaW5kZXg6IDk5OTk5OTk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLmJpcnRoZGF5LXRleHQge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTNlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cblxuLnJldmVhbCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgM3M7XG4gIGFuaW1hdGlvbjogZmFkZUluIDUwMG1zIGVhc2UtaW4gODAwbXM7IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLypkb2Ncbi0tLVxudGl0bGU6IEJ1dHRvblxubmFtZTogQnV0dG9uXG5jYXRlZ29yeTogTW9kdWxlXG4tLS1cblxuQnV0dG9uIHN0eWxlcyBjYW4gYmUgYXBwbGllZCB0byBhbnkgZWxlbWVudC4gVHlwaWNhbGx5IHlvdSdsbCB3YW50IHRvXG51c2UgZWl0aGVyIGEgYDxidXR0b24+YCBvciBhbiBgPGE+YCBlbGVtZW50OlxuXG5gYGBodG1sX2V4YW1wbGVcbjxidXR0b24gY2xhc3M9XCJidXR0b25cIj5TaW1wbGUgYnV0dG9uPC9idXR0b24+XG48YSBjbGFzcz1cImJ1dHRvblwiIGhyZWY9XCJodHRwOi8vd2VhcmVjdWJlLmNoXCI+TGluayB3aXRoIC5idXR0b24gY2xhc3M8L2E+XG48YSBjbGFzcz1cImJ1dHRvbiBpcy1wcmltYXJ5XCI+UHJpbWFyeSBidXR0b248L2E+XG48YSBjbGFzcz1cImJ1dHRvbiBpcy1kaXNhYmxlZFwiPkRpc2FibGVkIGJ1dHRvbjwvYT5cbmBgYFxuXG5UaHJlZSBzaXplcyBmb3IgdGhlIGJ1dHRvbnM6IHNtYWxsLCBtZWRpdW0gKGRlZmF1bHQpIGFuZCBiaWcuXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGEgY2xhc3M9XCJidXR0b24gaXMtc21hbGxcIj5TbWFsbDwvYT5cbjxhIGNsYXNzPVwiYnV0dG9uXCI+TWVkaXVtPC9hPlxuPGEgY2xhc3M9XCJidXR0b24gaXMtYmlnXCI+QmlnPC9hPlxuYGBgXG4qL1xuLmJ1dHRvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5idG4ge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgyOGUxZTtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLmJ0biB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH0gfVxuXG4uZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODY5MjFmOyB9XG5cbi53cmFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLndyYXAge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG5cbi5jb3VudGRvd24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5jb3VudGRvd24ge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5jb3VudGRvd24gLmJsb2MtdGltZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA4cHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICAuY291bnRkb3duIC5ibG9jLXRpbWUge1xuICAgICAgICBtYXJnaW46IDAgMjBweCAyMHB4OyB9IH1cbiAgLmNvdW50ZG93biAuY291bnQtdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBmb250OiBib2xkIDAuN2VtIFwiTGF0b1wiO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICAgIC5jb3VudGRvd24gLmNvdW50LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udDogYm9sZCAwLjk0ZW0gXCJMYXRvXCI7IH0gfVxuICAuY291bnRkb3duIC5maWd1cmUtZ3JvdXAge1xuICAgIGZsZXg6IDEgMTAwJTsgfVxuICAuY291bnRkb3duIC5maWd1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpLCBpbnNldCAycHggNHB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAzcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KSwgaW5zZXQgMnB4IDRweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBib3gtc2hhZG93OiAwIDNweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpLCBpbnNldCAycHggNHB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICAuY291bnRkb3duIC5maWd1cmUge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7IH0gfVxuICAgIC5jb3VudGRvd24gLmZpZ3VyZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5jb3VudGRvd24gLmZpZ3VyZSA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udDogbm9ybWFsIDEuMmVtLzI4cHggXCJMYXRvXCI7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICM0RTRENTA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgICAgICAuY291bnRkb3duIC5maWd1cmUgPiBzcGFuIHtcbiAgICAgICAgICBmb250OiBub3JtYWwgMS41ZW0vNDBweCBcIkxhdG9cIjsgfSB9XG4gICAgLmNvdW50ZG93biAuZmlndXJlIC50b3A6YWZ0ZXIsIC5jb3VudGRvd24gLmZpZ3VyZSAuYm90dG9tLWJhY2s6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgIC5jb3VudGRvd24gLmZpZ3VyZSAudG9wIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDEwcHg7XG4gICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiAxMHB4O1xuICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMHB4KTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDBweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDBweCk7XG4gICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMHB4KTtcbiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwcHgpOyB9XG4gICAgLmNvdW50ZG93biAuZmlndXJlIC5ib3R0b20ge1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLmNvdW50ZG93biAuZmlndXJlIC5ib3R0b206YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7IH1cbiAgICAuY291bnRkb3duIC5maWd1cmUgLmJvdHRvbS1iYWNrIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDEwcHg7XG4gICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiAxMHB4O1xuICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4OyB9XG4gICAgICAuY291bnRkb3duIC5maWd1cmUgLmJvdHRvbS1iYWNrIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5jb3VudGRvd24gLmZpZ3VyZSAudG9wLCAuY291bnRkb3duIC5maWd1cmUgLnRvcC1iYWNrIHtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY291bnRkb3duIC5maWd1cmUgLnRvcC1iYWNrIHtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMHB4KSByb3RhdGVYKDE4MGRlZyk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwcHgpIHJvdGF0ZVgoMTgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMHB4KSByb3RhdGVYKDE4MGRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMHB4KSByb3RhdGVYKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMHB4KSByb3RhdGVYKDE4MGRlZyk7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMTBweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDEwcHg7XG4gICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC5jb3VudGRvd24gLmZpZ3VyZSAudG9wLWJhY2sgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfVxuXG4jY29uZmV0dGktY2FudmFzLTEsICNjb25mZXR0aS1jYW52YXMtMiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuI2NvbmZldHRpLWNhbnZhcy0xIHtcbiAgei1pbmRleDogMDsgfVxuXG4uY29udGFpbmVyIHtcbiAgcGVyc3BlY3RpdmU6IDE1MDBweDtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiA1MCUgMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5ib3gge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNpdGlvbjogMjUwbXMgdHJhbnNmb3JtIGxpbmVhcjtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDIwcHggLTEwcHggcmdiYSgxMDksIDEwOSwgMjIsIDAuMTUpO1xuICB0b3A6IDEwMHB4O1xuICBhbmltYXRpb246IHJ1bWJsZSAuMXMgaW5maW5pdGUgbGluZWFyO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5ib3gge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG5cbi5ib3gub3BlbiB7XG4gIGFuaW1hdGlvbjogc3BpbiAyNTBtcyBsaW5lYXIgMjUwbXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLmNvbG9yLWNoYW5nZSB7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xuICBhbmltYXRpb246IGdsb3cgMTUwMG1zIGVhc2UtaW4tb3V0IDM7IH1cblxuLnNpZGUge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIGJhY2tncm91bmQ6ICM5RUFDMjU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICAuc2lkZSB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cblxuLnNpZGUtMSB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpIHRyYW5zbGF0ZVooMTAwcHgpO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5zaWRlLTEge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZykgdHJhbnNsYXRlWigxNTBweCk7IH0gfVxuXG4uc2lkZS0yIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDEwMHB4KTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5QTcyNDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICAuc2lkZS0yIHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMTUwcHgpOyB9IH1cblxuLnNpZGUtMyB7XG4gIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZykgdHJhbnNsYXRlWigxMDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NjkyMWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLnNpZGUtMyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHRyYW5zbGF0ZVooMTUwcHgpOyB9IH1cblxuLnNpZGUtNCB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVooMTAwcHgpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5zaWRlLTQge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZykgcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWigxNTBweCk7IH0gfVxuXG4uc2lkZS01IHtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZykgdHJhbnNsYXRlWigxMDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OUE3MjQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLnNpZGUtNSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSB0cmFuc2xhdGVaKDE1MHB4KTsgfSB9XG5cbi5zaWRlLTYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKSB0cmFuc2xhdGVaKDEwMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhkOWEyMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICAuc2lkZS02IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpIHRyYW5zbGF0ZVooMTUwcHgpOyB9IH1cblxuLmlubmVyLXNpZGUge1xuICB0cmFuc2l0aW9uOiAyNTBtcyB0cmFuc2Zvcm0gZWFzZTsgfVxuXG4uZmxhcC0xLCAuZmxhcC0yIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiAjYTFhZjI2O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5mbGFwLTEsIC5mbGFwLTIge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiAxNTBweDsgfSB9XG5cbi5mbGFwLTEge1xuICB0b3A6IDEwMHB4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggMTAwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLmZsYXAtMSB7XG4gICAgICB0b3A6IDE1MHB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDE1MHB4OyB9IH1cblxuLmZsYXAtMiB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDIwMHB4IDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgICAuZmxhcC0yIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDMwMHB4IDBweDsgfSB9XG5cbi5ib3gub3BlbiAuZmxhcC0xIHtcbiAgYW5pbWF0aW9uOiBvcGVuYm94LWZsYXAxIDUwMG1zIGVhc2UtaW4tb3V0IDYwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5ib3gub3BlbiAuZmxhcC0yIHtcbiAgYW5pbWF0aW9uOiBvcGVuYm94LWZsYXAyIDUwMG1zIGVhc2UtaW4tb3V0IDYwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi53YWMtbG9nby1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogM3B4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC53YWMtbG9nby1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7IH0gfVxuXG4ud2FjLWxvZ28ge1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC53YWMtbG9nbyB7XG4gICAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpbmV1cCB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gICAgdG9wOiAtOTBweDsgfSB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoNTBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBvcGVuYm94LWZsYXAxIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMTM1ZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMTA1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTEyMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG9wZW5ib3gtZmxhcDIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDE0MGRlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTIwZGVnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWRhYjI1OyB9IH1cblxuQGtleWZyYW1lcyBydW1ibGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDBweCkgcm90YXRlKC0xZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTFweCkgcm90YXRlKDBkZWcpOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMHB4KSByb3RhdGUoMWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAxcHgpIHJvdGF0ZSgwZGVnKTsgfSB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBHcmlkIGNvbnRhaW5lclxubmFtZTogZ3JpZFxuY2F0ZWdvcnk6IExheW91dFxuLS0tXG5cblRoaXMgaXMgbm90IGEgZ3JpZCBzeXN0ZW0uIFNob3cgd2hhdCBpdCBpcyBhYm91dCBvbiA8YSBocmVmPVwiaHR0cDovL3N1c3kub2RkYmlyZC5uZXQvXCI+U3VzeSBGcmFtZXdvcmsgcGFnZTwvYT5cblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwiZ3JpZC1jb250YWluZXJcIj5cbiAgSSdtIGEgcmVzcG9uc2l2ZSBjb250YWluZXIhXG48L2Rpdj5cbmBgYFxuKi9cbi5ncmlkLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogOTQwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgMS4yNXJlbTsgfVxuICAuZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSwgKG1pbi13aWR0aDogMTIpIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5tYWluLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5pcy1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDsgfVxuIiwiLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKmRvY1xuLS0tXG50aXRsZTogQnV0dG9uXG5uYW1lOiBCdXR0b25cbmNhdGVnb3J5OiBNb2R1bGVcbi0tLVxuXG5CdXR0b24gc3R5bGVzIGNhbiBiZSBhcHBsaWVkIHRvIGFueSBlbGVtZW50LiBUeXBpY2FsbHkgeW91J2xsIHdhbnQgdG9cbnVzZSBlaXRoZXIgYSBgPGJ1dHRvbj5gIG9yIGFuIGA8YT5gIGVsZW1lbnQ6XG5cbmBgYGh0bWxfZXhhbXBsZVxuPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiPlNpbXBsZSBidXR0b248L2J1dHRvbj5cbjxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj1cImh0dHA6Ly93ZWFyZWN1YmUuY2hcIj5MaW5rIHdpdGggLmJ1dHRvbiBjbGFzczwvYT5cbjxhIGNsYXNzPVwiYnV0dG9uIGlzLXByaW1hcnlcIj5QcmltYXJ5IGJ1dHRvbjwvYT5cbjxhIGNsYXNzPVwiYnV0dG9uIGlzLWRpc2FibGVkXCI+RGlzYWJsZWQgYnV0dG9uPC9hPlxuYGBgXG5cblRocmVlIHNpemVzIGZvciB0aGUgYnV0dG9uczogc21hbGwsIG1lZGl1bSAoZGVmYXVsdCkgYW5kIGJpZy5cblxuYGBgaHRtbF9leGFtcGxlXG48YSBjbGFzcz1cImJ1dHRvbiBpcy1zbWFsbFwiPlNtYWxsPC9hPlxuPGEgY2xhc3M9XCJidXR0b25cIj5NZWRpdW08L2E+XG48YSBjbGFzcz1cImJ1dHRvbiBpcy1iaWdcIj5CaWc8L2E+XG5gYGBcbiovXG5cbi8vLmJ1dHRvbixcbi8vYnV0dG9uLmJ1dHRvbixcbi8vYS5idXR0b24ge1xuLy8gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICBwYWRkaW5nOiByZW0tY2FsYyg1IDEyKTtcbi8vICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuLy8gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4vLyAgY29sb3I6ICMzMzM7XG4vLyAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbi8vICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gIGN1cnNvcjogcG9pbnRlcjtcbi8vICB1c2VyLXNlbGVjdDogbm9uZTtcbi8vICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4vLyAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuLy9cbi8vICAmOmZvY3VzLFxuLy8gICY6Zm9jdXM6aG92ZXIsXG4vLyAgJjpob3Zlcixcbi8vICAmOmFjdGl2ZSB7XG4vLyAgICBjb2xvcjogIzAwMDtcbi8vICAgIGJvcmRlci1jb2xvcjogIzY2Njtcbi8vICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4vLyAgfVxuLy8gICYuaXMtcHJpbWFyeSB7XG4vLyAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDEyKTtcbi8vICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuLy8gICAgYm9yZGVyOiBub25lO1xuLy8gICAgY29sb3I6IHdoaXRlO1xuLy9cbi8vICAgICY6Zm9jdXMsXG4vLyAgICAmOmZvY3VzOmhvdmVyLFxuLy8gICAgJjpob3Zlcixcbi8vICAgICY6YWN0aXZlIHtcbi8vICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbi8vICAgIH1cbi8vICB9XG4vLyAgJi5pcy1iaWcge1xuLy8gICAgcGFkZGluZzogcmVtLWNhbGMoMTEgMjQpO1xuLy8gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4vLyAgfVxuLy8gICYuaXMtcHJpbWFyeS5pcy1iaWcge1xuLy8gICAgcGFkZGluZzogcmVtLWNhbGMoMTIgMjQpO1xuLy8gIH1cbi8vICAmOmRpc2FibGVkLFxuLy8gICYuaXMtZGlzYWJsZWQge1xuLy8gICAgY29sb3I6ICNhYWE7XG4vLyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuLy8gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbi8vICB9XG4vL31cbi8vXG4vLy5idXR0b24sXG4vL2J1dHRvbi5idXR0b24sXG4vL2EuYnV0dG9uIHtcbi8vICAmLmlzLXNtYWxsIHtcbi8vICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMgNik7XG4vLyAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbi8vICB9XG4vLyAgJi5pcy1wcmltYXJ5LmlzLXNtYWxsIHtcbi8vICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIgNik7XG4vLyAgfVxuLy8gIC5idXR0b24uaXMtYmlnIHtcbi8vICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExIDI0KTtcbi8vICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuLy8gIH1cbi8vICAmLmlzLXByaW1hcnkuaXMtYmlnIHtcbi8vICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyIDI0KTtcbi8vICB9XG4vL31cbi5idXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVhay00MDBweCkge1xuICB9XG59XG5cbi5idG4ge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjODY5MjFmLCAxJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICB9XG59XG4uZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODY5MjFmO1xufVxuIiwiLy8gVmFyaWFibGVzXG4kbGF0bzogJ0xhdG8nO1xuXG4ud3JhcCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuXG4vLyBDb3VudGRvd25cbi5jb3VudGRvd24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC5ibG9jLXRpbWUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogOHB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb3VudC10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGZvbnQ6IGJvbGQgMC43ZW0gJGxhdG87XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgZm9udDogYm9sZCAwLjk0ZW0gJGxhdG87XG4gICAgfVxuICB9XG4gIC5maWd1cmUtZ3JvdXAge1xuICAgIGZsZXg6IDEgMTAwJTtcbiAgfVxuXG4gIC5maWd1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDNweCA0cHggMCByZ2JhKDAsIDAsIDAsIC4wNSksaW5zZXQgMnB4IDRweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDgpKTtcbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICA+c3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBmb250OiBub3JtYWwgMS4yZW0vMjhweCAkbGF0bztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzRFNEQ1MDtcbiAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICAgICAgZm9udDogbm9ybWFsIDEuNWVtLzQwcHggJGxhdG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcCwgLmJvdHRvbS1iYWNrIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMTBweCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoMjAwcHgpKTtcbiAgICB9XG5cbiAgICAuYm90dG9tIHtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tLWJhY2sge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygxMHB4KTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AsIC50b3AtYmFjayB7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudG9wLWJhY2sge1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoMjAwcHgpIHJvdGF0ZVgoMTgwZGVnKSk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygxMHB4KTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNjb25mZXR0aS1jYW52YXMtMSwgI2NvbmZldHRpLWNhbnZhcy0yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuI2NvbmZldHRpLWNhbnZhcy0xIHtcbiAgei1pbmRleDogMDtcbn1cblxuLmNvbnRhaW5lciB7XG4gIHBlcnNwZWN0aXZlOiAxNTAwcHg7XG4gIHBlcnNwZWN0aXZlLW9yaWdpbjogNTAlIDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmJveCB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNpdGlvbjogMjUwbXMgdHJhbnNmb3JtIGxpbmVhcjtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDIwcHggLTEwcHggcmdiYSgxMDksMTA5LDIyLC4xNSk7XG4gIHRvcDogMTAwcHg7XG4gIGFuaW1hdGlvbjogcnVtYmxlIC4xcyBpbmZpbml0ZSBsaW5lYXI7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxufVxuLmJveC5vcGVuIHtcbiAgYW5pbWF0aW9uOiBzcGluIDI1MG1zIGxpbmVhciAyNTBtcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmNvbG9yLWNoYW5nZSB7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xuICBhbmltYXRpb246IGdsb3cgMTUwMG1zIGVhc2UtaW4tb3V0IDM7XG59XG4uc2lkZSB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgYmFja2dyb3VuZDogIzlFQUMyNTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cbn1cbi5zaWRlLTEge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKSB0cmFuc2xhdGVaKDEwMHB4KTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVhay00MDBweCkge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZykgdHJhbnNsYXRlWigxNTBweCk7XG4gIH1cbn1cblxuLnNpZGUtMiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigxMDBweCk7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDE1MHB4KTtcbiAgfVxufVxuXG4uc2lkZS0zIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKSB0cmFuc2xhdGVaKDEwMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1wcmltYXJ5LCA1JSk7XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpIHRyYW5zbGF0ZVooMTUwcHgpO1xuICB9XG59XG5cbi5zaWRlLTQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKSByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVaKDEwMHB4KTtcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVhay00MDBweCkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVooMTUwcHgpO1xuICB9XG59XG5cbi5zaWRlLTUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSB0cmFuc2xhdGVaKDEwMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKSB0cmFuc2xhdGVaKDE1MHB4KTtcbiAgfVxufVxuXG4uc2lkZS02IHtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKC05MGRlZykgdHJhbnNsYXRlWigxMDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItcHJpbWFyeSwgMyUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKC05MGRlZykgdHJhbnNsYXRlWigxNTBweCk7XG4gIH1cbn1cbi5pbm5lci1zaWRlIHtcbiAgdHJhbnNpdGlvbjogMjUwbXMgdHJhbnNmb3JtIGVhc2U7XG59XG5cbi5mbGFwLTEsIC5mbGFwLTIge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNvbG9yLXByaW1hcnksIDIlKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgfVxufVxuXG4uZmxhcC0xIHtcbiAgdG9wOiAxMDBweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDEwMHB4O1xuICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrLTQwMHB4KSB7XG4gICAgdG9wOiAxNTBweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggMTUwcHg7XG4gIH1cbn1cblxuLmZsYXAtMiB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDIwMHB4IDBweDtcbiAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVhay00MDBweCkge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDMwMHB4IDBweDtcbiAgfVxufVxuLmJveC5vcGVuIC5mbGFwLTEge1xuICBhbmltYXRpb246IG9wZW5ib3gtZmxhcDEgNTAwbXMgZWFzZS1pbi1vdXQgNjAwbXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5ib3gub3BlbiAuZmxhcC0yIHtcbiAgYW5pbWF0aW9uOiBvcGVuYm94LWZsYXAyIDUwMG1zIGVhc2UtaW4tb3V0IDYwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuLndhYy1sb2dvLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cbi53YWMtbG9nbyB7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbn1cblxuLy9SaWNodGV0IGRpZSBCb3ggYXVzLCBiencuIHJvdGllcnQgZGVuIEJveC1EZWNrZWxcbkBrZXlmcmFtZXMgbGluZXVwIHtcbiAgLy9mcm9tIHsgdHJhbnNmb3JtOiByb3RhdGVYKDApIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgICB0b3A6IC05MHB4O1xuICB9XG59XG4vL0RyZWh0IGRlbiBXw7xyZmVsLCBkYW1pdCBkYXMgw7ZmZm5lbiBkZXIgZmxhcHMgc2ljaHRiYXJlciB3aXJkXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlWSg1MGRlZyk7fVxufVxuLy/DlmZmbmUgZmxhcCAxXG5Aa2V5ZnJhbWVzIG9wZW5ib3gtZmxhcDEge1xuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVgoLTEzNWRlZyk7IH1cbiAgNzAlIHsgdHJhbnNmb3JtOiByb3RhdGVYKC0xMDVkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVgoLTEyMGRlZyk7IH1cbn1cbi8vw5ZmZm5lIGZsYXAgMlxuQGtleWZyYW1lcyBvcGVuYm94LWZsYXAyIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGVYKDE0MGRlZyk7IH1cbiAgNzAlIHsgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlWCgxMjBkZWcpOyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCAxJSk7fVxufVxuXG4vLyBNYWtlIGJveCBydW1ibGVcbkBrZXlmcmFtZXMgcnVtYmxlIHtcbiAgICAwJSB7dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7fVxuICAgIDI1JSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAwcHgpIHJvdGF0ZSgtMWRlZyk7fVxuICAgIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtMXB4KSByb3RhdGUoMGRlZyk7fVxuICAgIDc1JSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMHB4KSByb3RhdGUoMWRlZyk7fVxuICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMXB4KSByb3RhdGUoMGRlZyk7fVxufVxuIiwiLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypkb2Ncbi0tLVxudGl0bGU6IEhlYWRpbmdzXG5uYW1lOiBIZWFkaW5nXG5jYXRlZ29yeTogQmFzZVxuLS0tXG5cbkhlYWRpbmcgZWxlbWVudHMgaW1wbGVtZW50IHNpeCBsZXZlbHMgb2YgZG9jdW1lbnQgaGVhZGluZ3MsIGA8aDE+YCBpcyB0aGUgbW9zdCBpbXBvcnRhbnQgYW5kIGA8aDY+YCBpcyB0aGUgbGVhc3QuIEEgaGVhZGluZyBlbGVtZW50IGJyaWVmbHkgZGVzY3JpYmVzIHRoZSB0b3BpYyBvZiB0aGUgc2VjdGlvbiBpdCBpbnRyb2R1Y2VzLiBIZWFkaW5nIGluZm9ybWF0aW9uIG1heSBiZSB1c2VkIGJ5IHVzZXIgYWdlbnRzLCBmb3IgZXhhbXBsZSwgdG8gY29uc3RydWN0IGEgdGFibGUgb2YgY29udGVudHMgZm9yIGEgZG9jdW1lbnQgYXV0b21hdGljYWxseS5cblxuYGBgaHRtbF9leGFtcGxlXG48aDE+SGVhZGluZyBsZXZlbCAxPC9oMT5cbjxoMj5IZWFkaW5nIGxldmVsIDI8L2gyPlxuPGgzPkhlYWRpbmcgbGV2ZWwgMzwvaDM+XG48aDQ+SGVhZGluZyBsZXZlbCA0PC9oND5cbjxoNT5IZWFkaW5nIGxldmVsIDU8L2g1PlxuPGg2PkhlYWRpbmcgbGV2ZWwgNjwvaDY+XG5cbjxoMSBjbGFzcz1cImgyXCI+SGVhZGluZyBsZXZlbCAxIHdpdGggLmgyIHN0eWxlPC9oMT5cbjxoMiBjbGFzcz1cImgxXCI+SGVhZGluZyBsZXZlbCAyIHdpdGggLmgxIHN0eWxlPC9oMj5cbmBgYFxuKi9cblxuI3toZWFkaW5ncyhhbGwpfSB7XG5cbn1cblxuaDEsIC5oMSB7XG4gIGNvbG9yOiAjNDQ0O1xufVxuXG5oMiwgLmgyIHtcblxufVxuXG5oMywgLmgzIHtcblxufVxuXG5oNCwgLmg0IHtcblxufVxuXG5oNSwgLmg1IHtcblxufVxuXG5oNiwgLmg2IHtcblxufVxuXG4vLyBMaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKmRvY1xuLS0tXG50aXRsZTogTGlua3Ncbm5hbWU6IExpbmtzXG5jYXRlZ29yeTogQmFzZVxuLS0tXG5cblRoZSBIVE1MIGA8YT5gIEVsZW1lbnQgKG9yIHRoZSBIVE1MIEFuY2hvciBFbGVtZW50KSBkZWZpbmVzIGEgaHlwZXJsaW5rLCB0aGUgbmFtZWQgdGFyZ2V0IGRlc3RpbmF0aW9uIGZvciBhIGh5cGVybGluaywgb3IgYm90aC5cblxuYGBgaHRtbF9leGFtcGxlXG48YSBocmVmPVwiaHR0cDovL3dlYXJlY3ViZS5jaC9cIj5IZXJlIHdlIGN1YmU8L2E+XG5gYGBcbiovXG5cbmEge1xuICBjb2xvcjogZGFya2VuKCRjb2xvci1zZWNvbmRhcnksIDUlKTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICB9XG4gICY6dmlzaXRlZCB7XG5cbiAgfVxuICAmOmZvY3VzIHtcblxuICB9XG59XG5cbi8vIEhvcml6b250YWwgbGluZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhyIHtcblxufVxuLmJpcnRoZGF5LXRleHQge1xuICBmb250LXNpemU6IDM1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW4tdG9wOiAtNGVtO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstNDAwcHgpIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbWFyZ2luLXRvcDogLTNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgfVxufVxuXG4ucmV2ZWFsIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzcztcbiAgYW5pbWF0aW9uOiBmYWRlSW4gNTAwbXMgZWFzZS1pbiA4MDBtcztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICB0byB7IG9wYWNpdHk6IDE7IH1cbn1cbiIsbnVsbCwiKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzQ0NDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywjQ0ZDQ0JFIDAlLCNCQUI4QUEgNTAlLCM5OTk2ODQgNTAlLCNDRkNDQkUgMTAwJSk7XG4gIGhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IEZlYXR1cmVzXG4kYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhOiAgICAgIGFsbCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZTogICAgbWluLXdpZHRoICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtZGVmYXVsdC1wYWlyOiAgICAgICB3aWR0aCAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBUcmFuc2Zvcm1zXG4kYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGw6ICAgIGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtdG8tZW1zOiAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXJlc29sdXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBObyBRdWVyeSBPcHRpb25zXG4kYnJlYWtwb2ludC1uby1xdWVyaWVzOiAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGVmdGF1bHQgQmFzZSBGb250IFNpemVcbiRicmVha3BvaW50LWJhc2UtZm9udC1zaXplOiAgICAgMTZweCAhZGVmYXVsdDtcblxuLy8gTGVnYWN5IFN5bnRheCBTdXBwb3J0XG4kYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4OiAgICAgIGZhbHNlICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCAkYnJlYWtwb2ludC1uby1xdWVyaWVzIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzICE9IGZhbHNlIG9yICRicmVha3BvaW50LW5vLXF1ZXJpZXMgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZigkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3Mge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zdXBwb3J0XCI7XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzaWMgc3VwcG9ydCBmb3IgQ1NTMyBwcm9wZXJ0aWVzIGFuZFxuLy8gdGhlaXIgY29ycmVzcG9uZGluZyBleHBlcmltZW50YWwgQ1NTMiBwcm9wZXJ0aWVzIHdoZW5cbi8vIHRoZSBpbXBsZW1lbnRhdGlvbnMgYXJlIGlkZW50aWNhbCBleGNlcHQgZm9yIHRoZSBwcm9wZXJ0eVxuLy8gcHJlZml4LlxuQG1peGluIGV4cGVyaW1lbnRhbCgkcHJvcGVydHksICR2YWx1ZSwgJG1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLCAkd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCwgJG86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsICRtczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsICRraHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCwgJG9mZmljaWFsOiB0cnVlKSB7XG4gIEBpZiAkd2Via2l0IGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCB7XG4gICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sIHtcbiAgICAta2h0bWwtI3skcHJvcGVydHl9OiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTsgfVxuICBAaWYgJG1zIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7XG4gICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlOyB9XG4gIEBpZiAkbyBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSB7XG4gICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCB7XG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWU7IH0gfVxuXG4vLyBTYW1lIGFzIGV4cGVyaW1lbnRhbCgpLCBidXQgZm9yIGNhc2VzIHdoZW4gdGhlIHByb3BlcnR5IGlzIHRoZSBzYW1lIGFuZCB0aGUgdmFsdWUgaXMgdmVuZG9yaXplZFxuQG1peGluIGV4cGVyaW1lbnRhbC12YWx1ZSgkcHJvcGVydHksICR2YWx1ZSwgJG1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLCAkd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCwgJG86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsICRtczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsICRraHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCwgJG9mZmljaWFsOiB0cnVlKSB7XG4gIEBpZiAkd2Via2l0IGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCB7XG4gICAgI3skcHJvcGVydHl9OiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sIHtcbiAgICAjeyRwcm9wZXJ0eX06IC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgI3skcHJvcGVydHl9OiAtbW96LSN7JHZhbHVlfTsgfVxuICBAaWYgJG1zIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7XG4gICAgI3skcHJvcGVydHl9OiAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSB7XG4gICAgI3skcHJvcGVydHl9OiAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07IH0gfVxuIiwiLy8gSW1wb3J0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSW1wb3J0IGV4dGVybmFsIHJlc3NvdXJjZXMsIGFzIHBsdWdpbnMgb3IgZnJhbWV3b3Jrc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MYXRvOjQwMCw3MDB8T3BlbitTYW5zOjQwMCw2MDAnKTtcbkBpbXBvcnQgJ2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1zYXNzLW1peGlucy9saWIvY29tcGFzcyc7XG4vLyBib3dlcjpzY3NzXG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9fbm9ybWFsaXplLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9fc3VzeS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zYXNzeS1tYXBzL3Nhc3MvX3Nhc3N5LW1hcHMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3NcIjtcbi8vIGVuZGJvd2VyXG5cblxuLy8gU2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldCBkZWZhdWx0IHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJhc2UtZm9udDogMTZweCAhZGVmYXVsdDtcblxuJHN1c3k6IChcbiAgY29udGFpbmVyOiBhdXRvLFxuICBjb250YWluZXItcG9zaXRpb246IGNlbnRlcixcbiAgY29sdW1uczogMTIsXG4gIGd1dHRlcnM6IDIwLzYwLFxuICBjb2x1bW4td2lkdGg6IDYwcHhcbik7XG5cbi8vIEJyZWFrcG9pbnRzIChzaXplLCBjb2x1bW5zIG9yIGNvbHVtbnMgbnVtYmVyKVxuJGJyZWFrLTQwMHB4OiA0MDBweDtcbiRicmVhay1zbWFsbDogMjBlbSwgNDtcbiRicmVhay1tZWRpdW06IDQwZW0sIDg7XG4kYnJlYWstbGFyZ2U6IDYwZW0sIDEyO1xuXG4kY29sb3ItcHJpbWFyeTogIzk5QTcyNDtcbiRjb2xvci1zZWNvbmRhcnk6ICM4QTk2MjM7XG5cbi8vIEJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2UgcnVsZXMgYXJlIHRoZSBkZWZhdWx0cy4gVGhleSBhcmUgYWxtb3N0IGV4Y2x1c2l2ZWx5IHNpbmdsZSBlbGVtZW50IHNlbGVjdG9ycyBidXRcbi8vIGl0IGNvdWxkIGluY2x1ZGUgYXR0cmlidXRlIHNlbGVjdG9ycywgcHNldWRvLWNsYXNzIHNlbGVjdG9ycywgY2hpbGQgc2VsZWN0b3JzIG9yIHNpYmxpbmdcbi8vIHNlbGVjdG9ycy4gRXNzZW50aWFsbHksIGEgYmFzZSBzdHlsZSBzYXlzIHRoYXQgd2hlcmV2ZXIgdGhpcyBlbGVtZW50IGlzIG9uIHRoZSBwYWdlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnYmFzZS9mdW5jdGlvbic7XG5AaW1wb3J0ICdiYXNlL2NvbW1vbic7XG5AaW1wb3J0ICdiYXNlL3R5cG9ncmFwaHknO1xuXG5cbi8vIE1vZHVsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kdWxlcyBhcmUgdGhlIHJldXNhYmxlLCBtb2R1bGFyIHBhcnRzIG9mIG91ciBkZXNpZ24uIFRoZXkgYXJlIHRoZSBjYWxsb3V0cywgdGhlIGJ1dHRvbnMsXG4vLyB0aGUgcHJvZHVjdHMgYW5kIHNvIG9uLiAoTWljcm8gZWxlbWVudHMpXG4vL1xuLy8gLyogRXhhbXBsZSBtb2R1bGU6IFByb2R1Y3QgKi9cbi8vIC5wcm9kdWN0IHsgfVxuLy9cbi8vIC8qIFByb2R1Y3QgbGlzdCAqL1xuLy8gLnByb2R1Y3QtbGlzdCB7IH1cbi8vXG4vLyAvKiBQcm9kdWN0IG5hbWUgKi9cbi8vIC5wcm9kdWN0LW5hbWUgeyB9XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAaW1wb3J0ICdtb2R1bGUvcGFuZWwnO1xuLy8gQGltcG9ydCAnbW9kdWxlL3Byb2R1Y3QnO1xuQGltcG9ydCAnbW9kdWxlL2J1dHRvbic7XG4vL0BpbXBvcnQgJ21vZHVsZS9pY29uJztcbi8vQGltcG9ydCAnbW9kdWxlL25hdic7XG4vL0BpbXBvcnQgJ21vZHVsZS9jdXJ0YWluJztcbi8vQGltcG9ydCAnbW9kdWxlL2N1YmUnO1xuQGltcG9ydCAnbW9kdWxlL2NvdW50ZG93bic7XG5AaW1wb3J0ICdtb2R1bGUvYm94JztcblxuXG4vLyBMYXlvdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExheW91dCBydWxlcyBkaXZpZGUgdGhlIHBhZ2UgaW50byBzZWN0aW9ucy4gTGF5b3V0cyBob2xkIG9uZSBvciBtb3JlIG1vZHVsZXMgdG9nZXRoZXIuIChNYWNybylcbi8vXG4vLyAvKiBFeGFtcGxlIGxheW91dDogSGVhZGVyICovXG4vLyAuaGVhZGVyLWNvbnRhaW5lciB7IH1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vQGltcG9ydCAnbGF5b3V0L2Zvcm0nO1xuQGltcG9ydCAnbGF5b3V0L2dyaWQnO1xuLy9AaW1wb3J0ICdsYXlvdXQvaGVhZGVyJztcblxuXG4vLyBQYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTdHlsZXMgZm9yIHNwZWNpZmljIHBhZ2VzLlxuLy9cbi8vIC8qIEV4YW1wbGUgbGF5b3V0OiBIb21lICovXG4vLyAuaG9tZSBoMSxcbi8vIC5ob21lIC5oMSB7IH1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBpbXBvcnQgJ2xheW91dC9ob21lJztcbi8vIEBpbXBvcnQgJ2xheW91dC9jb250YWN0JztcblxuXG4vLyBTdGF0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3RhdGUgcnVsZXMgYXJlIHdheXMgdG8gZGVzY3JpYmUgaG93IG91ciBtb2R1bGVzIG9yIGxheW91dHMgd2lsbCBsb29rIHdoZW4gaW4gYSBwYXJ0aWN1bGFyXG4vLyBzdGF0ZS4gSXMgaXQgaGlkZGVuIG9yIGV4cGFuZGVkPyBJcyBpdCBhY3RpdmUgb3IgaW5hY3RpdmU/IFRoZXkgYXJlIGFib3V0IGRlc2NyaWJpbmcgaG93IGFcbi8vIG1vZHVsZSBvciBsYXlvdXQgbG9va3Mgb24gc2NyZWVucyB0aGF0IGFyZSBzbWFsbGVyIG9yIGJpZ2dlci4gVGhleSBhcmUgYWxzbyBhYm91dFxuLy8gZGVzY3JpYmluZyBob3cgYSBtb2R1bGUgbWlnaHQgbG9vayBpbiBkaWZmZXJlbnQgdmlld3MgbGlrZSB0aGUgaG9tZSBwYWdlIG9yIHRoZSBpbnNpZGUgcGFnZS5cbi8vXG4vLyAvKiBFeGFtcGxlIHN0YXRlOiBDb2xsYXBzZWQgUHJvZHVjdCAqL1xuLy8gLnByb2R1Y3QuaXMtY29sbGFwc2VkIHsgfVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlzLWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xufVxuIiwiLypkb2Ncbi0tLVxudGl0bGU6IEdyaWQgY29udGFpbmVyXG5uYW1lOiBncmlkXG5jYXRlZ29yeTogTGF5b3V0XG4tLS1cblxuVGhpcyBpcyBub3QgYSBncmlkIHN5c3RlbS4gU2hvdyB3aGF0IGl0IGlzIGFib3V0IG9uIDxhIGhyZWY9XCJodHRwOi8vc3VzeS5vZGRiaXJkLm5ldC9cIj5TdXN5IEZyYW1ld29yayBwYWdlPC9hPlxuXG5gYGBodG1sX2V4YW1wbGVcbjxkaXYgY2xhc3M9XCJncmlkLWNvbnRhaW5lclwiPlxuICBJJ20gYSByZXNwb25zaXZlIGNvbnRhaW5lciFcbjwvZGl2PlxuYGBgXG4qL1xuXG4uZ3JpZC1jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjApO1xuXG4gIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWstbGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4ubWFpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIFN1c3kgRmFsbGJhY2sgQ2xlYXJmaXhcbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuQG1peGluIHN1c3ktY2xlYXJmaXgge1xuICBAaWYgc3VzeS1zdXBwb3J0KGNsZWFyZml4LCAobWl4aW46IGNsZWFyZml4KSkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9IEBlbHNlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */
