LyogLS0gQWNjZXNzaWJpbGl0eSAmIDc1eXItb2xkIHJlYWRhYmlsaXR5IGltcHJvdmVtZW50cyAtLSAqLwoKLyogU2tpcCB0byBjb250ZW50ICovCi5za2lwLW5hdiB7CiAgcG9zaXRpb246IGZpeGVkOyB0b3A6IC0xMDBweDsgbGVmdDogMTJweDsgei1pbmRleDogOTk5OTk7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBwYWRkaW5nOiAxMHB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDhweDsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxNXB4OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdHJhbnNpdGlvbjogdG9wIDEyMG1zOwp9Ci5za2lwLW5hdjpmb2N1cyB7IHRvcDogMTJweDsgfQoKLyogR2xvYmFsIGZvY3VzIHJpbmcgLSByZXBsYWNlcyBvdXRsaW5lOm5vbmUgd2l0aCBhY2Nlc3NpYmxlIHZpc2libGUgcmluZyAqLwoqOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IDIuNXB4IHNvbGlkICM0ZjhjZmYgIWltcG9ydGFudDsKICBvdXRsaW5lLW9mZnNldDogM3B4ICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogNHB4Owp9Ci8qIFN1cHByZXNzIHJpbmcgZm9yIG1vdXNlIGNsaWNrcyBvbmx5ICovCio6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7IG91dGxpbmU6IG5vbmU7IH0KCi8qIE1pbmltdW0gYm9keSB0ZXh0IHNpemUgKi8KYm9keSB7IGZvbnQtc2l6ZTogMTZweDsgfQoKLyogUmFpc2UgbGV0dGVyL251bWJlciBsYWJlbHMgZmxvb3IgdG8gMTNweCAqLwouc2VjLWV5ZWJyb3csIC5lc3Qtc2VjdGlvbi1sYWJlbCwgLnRydXN0LWNhcmQtbGFiZWwsIC5wY3Etc3RlcC1sYWJlbCwKLnBjcS1lbWFpbC1sYWJlbCwgLnN2Yy1leWVicm93LCAudGFnLWNoaXAsIC52aWRlby10aHVtYi1sYWJlbCwKLnBjcS12aXNpb24tbGFiZWwsIC5wY3Etcm9pLWxhYmVsLCAucmVjLXRhZywgLnBoYXNlLWxhYmVsLAouYmFja2JvbmUta2lja2VyLCAubmF2LWRyb3AtdHJpZ2dlciBzcGFuIHsgCiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7IAp9CgovKiBDb25jaWVyZ2UgY2hhdCBwaWxsIHN0YXJ0ZXJzIC0gcmVhZGFibGUgKi8KLmNoYXQtcGlsbCB7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyB9CgovKiBNb25vc3BhY2UgZXllYnJvd3MgLSBmbG9vciBhdCAxM3B4ICovCltzdHlsZSo9ImZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubyciXSwgW3N0eWxlKj0iZm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nIl0gewogIG1pbi1mb250LXNpemU6IDEzcHg7Cn0KCi8qIFN0aWNreSBtb2JpbGUgcGhvbmUgYmFyICovCi5zdGlja3ktcGhvbmUtYmFyIHsKICBkaXNwbGF5OiBub25lOwogIHBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgei1pbmRleDogMTEwMDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIHBhZGRpbmc6IDEycHggMjBweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTJweDsKICBib3gtc2hhZG93OiAwIC00cHggMjRweCByZ2JhKDcsMTYsMzEsLjE4KTsKICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwp9Ci5zdGlja3ktcGhvbmUtYmFyIGEuc3BoLWNhbGwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICBjb2xvcjogdmFyKC0tcGFwZXIpOyBmb250LXNpemU6IDE3cHg7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7IGZsZXgtc2hyaW5rOiAwOwp9Ci5zdGlja3ktcGhvbmUtYmFyIGEuc3BoLWNhbGwgc3ZnIHsgZmxleC1zaHJpbms6IDA7IH0KLnN0aWNreS1waG9uZS1iYXIgLnNwaC1sYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH0KLnN0aWNreS1waG9uZS1iYXIgLnNwaC1kaXNtaXNzIHsKICBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDA7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40KTsKICBmb250LXNpemU6IDIycHg7IGxpbmUtaGVpZ2h0OiAxOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDRweCA2cHg7CiAgZmxleC1zaHJpbms6IDA7Cn0KLnN0aWNreS1waG9uZS1iYXIgLnNwaC1hc3Nlc3MgewogIGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOyBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMTBweCAxNnB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgY3Vyc29yOiBwb2ludGVyOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBmbGV4LXNocmluazogMDsKfQpAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAuc3RpY2t5LXBob25lLWJhciB7IGRpc3BsYXk6IGZsZXg7IH0KICAvKiBQdXNoIHBhZ2UgY29udGVudCB1cCBzbyBiYXIgZG9lc24ndCBjb3ZlciBmb290ZXIgKi8KICBib2R5IHsgcGFkZGluZy1ib3R0b206IDY0cHg7IH0KfQoKLyogQ2hhdCBpbnB1dCBzaXplICovCi5jaGF0LWlucHV0LCAjY2hhdElucHV0LCB0ZXh0YXJlYS5jaGF0LWlucHV0IHsKICBtaW4taGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7CiAgcmVzaXplOiB2ZXJ0aWNhbDsKICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7Cn0KCi8qIElucHV0IGxhYmVscyAtIG1ha2UgcGVyc2lzdGVudCBhbmQgdmlzaWJsZSAqLwouZmllbGQtbGFiZWwgewogIGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEzLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW4tYm90dG9tOiA1cHg7Cn0KLmZpZWxkLWhpbnQgewogIGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgbWFyZ2luLXRvcDogNHB4OyBsaW5lLWhlaWdodDogMS40Owp9CgovKiBFbnN1cmUgYWxsIGZvcm0gaW5wdXRzIGhhdmUgdmlzaWJsZSBsYWJlbHMgKi8KLmZvcm0tZmllbGQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDA7IH0KCi54Yi1maWVsZC1sYWJlbCB7CiAgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDEwcHggMCA0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07Cn0KLnhiLWlkZW50LWZvcm0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDA7IH0KQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEA0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PUludGVyK1RpZ2h0OndnaHRANTAwOzYwMDs3MDA7ODAwJmZhbWlseT1HZWlzdCtNb25vOndnaHRANDAwOzUwMCZkaXNwbGF5PXN3YXAnKTsKCjpyb290IHsKICAtLXBhcGVyOiAgICAgICAjRkJGQ0ZFOwogIC0tcGFwZXItMjogICAgICNGMkY1RkE7CiAgLS1ydWxlOiAgICAgICAgI0U0RTlGMjsKICAtLXJ1bGUtMjogICAgICAjRDZEQ0U3OwogIC0taW5rOiAgICAgICAgICMwNzEwMUY7CiAgLS1pbmstMjogICAgICAgIzFBMjc0MDsKICAtLXN0ZWVsOiAgICAgICAjNUM2Qjg1OwogIC0tc3RlZWwtMjogICAgICM2OTc0OEI7CiAgLS1oYWxvOiAgICAgICAgIzRGOENGRjsKICAtLWhhbG8tMjogICAgICAjNkZBN0ZGOwogIC0taGFsby1kZWVwOiAgICMyQzVCRTA7CiAgLS1oYWxvLXNvZnQ6ICAgI0RDRThGRjsKICAtLWlyaS1hOiAgICAgICAjQjE5QkZGOwogIC0taXJpLWI6ICAgICAgICM2RkE3RkY7CiAgLS1pcmktYzogICAgICAgIzkyRTVGRjsKICAtLWlyaS1kOiAgICAgICAjRkZDOUU2OwogIC8qIFNlbWFudGljIHN1cmZhY2UgdG9rZW5zIC0gYWRhcHQgY2xlYW5seSBpbiBkYXJrIG1vZGUgKi8KICAtLWJnLWNhcmQ6ICAgICAjRkZGRkZGOyAgICAgLyogd2hpdGUgY2FyZCBzdXJmYWNlIGluIGxpZ2h0LCBsaWZ0ZWQgZGFyayBzdXJmYWNlIGluIGRhcmsgKi8KICAtLWJnLWludmVydGVkOiAjMDcxMDFGOyAgICAgLyogYWx3YXlzLWRhcmsgc3VyZmFjZXMgKHNob3djYXNlIGJsb2NrcykgLSBzbGlnaHRseSBsaWZ0cyBpbiBkYXJrIG1vZGUgKi8KICAtLWZnLWludmVydGVkOiAjRkJGQ0ZFOyAgICAgLyogYWx3YXlzLWxpZ2h0IHRleHQgb24gaW52ZXJ0ZWQgc3VyZmFjZXMgKi8KICAtLXNjcmltOiAgICAgICByZ2JhKDcsMTYsMzEsLjYyKTsKICAtLWZvY3VzLXJpbmc6ICAjRjRBMTFDOyAgICAgLyogc2lnbmFsIGFtYmVyIHBlciBkZXNpZ24gc3lzdGVtIC0gc3Ryb25nLCBBQSB2aXNpYmxlIG9uIGJvdGggbW9kZXMgKi8KfQpodG1sIHsgY29sb3Itc2NoZW1lOiBsaWdodDsgfQoKLyogRGFyayBtb2RlIGlzIG9wdC1pbiB2aWEgW2RhdGEtdGhlbWU9ImRhcmsiXSBvbiA8aHRtbD4gLSBub3QgdHJpZ2dlcmVkIGJ5IE9TIHByZWZlcmVuY2UuCiAgIFdpcmUgYSB0b2dnbGUgbGF0ZXIgdmlhIHRoZSBUd2Vha3MgcGFuZWw7IHRva2VucyBiZWxvdyBhbHJlYWR5IGRvIGFsbCB0aGUgd29yay4gKi8KW2RhdGEtdGhlbWU9ImRhcmsiXSB7CiAgICAtLXBhcGVyOiAgICAgICAjMEEwRjFBOwogICAgLS1wYXBlci0yOiAgICAgIzEzMUEyODsKICAgIC0tcnVsZTogICAgICAgICMxRjI3Mzg7CiAgICAtLXJ1bGUtMjogICAgICAjMkEzNDUwOwogICAgLS1pbms6ICAgICAgICAgI0YwRjJGNzsKICAgIC0taW5rLTI6ICAgICAgICNDN0NERDg7CiAgICAtLXN0ZWVsOiAgICAgICAjOEE5NUE4OwogICAgLS1zdGVlbC0yOiAgICAgIzZCNzM4NTsKICAgIC0taGFsbzogICAgICAgICM2RkE3RkY7CiAgICAtLWhhbG8tMjogICAgICAjOTJCQUZGOwogICAgLS1oYWxvLWRlZXA6ICAgI0JBRDNGRjsKICAgIC0taGFsby1zb2Z0OiAgICMxQTI0NDA7CiAgICAtLWJnLWNhcmQ6ICAgICAjMTMxQTI4OwogICAgLS1iZy1pbnZlcnRlZDogIzFBMjc0MDsgICAgLyogb25lIHNoYWRlIGxpZnRlZCBmcm9tIHBhZ2UgYmcgLSBnaXZlcyBzaG93Y2FzZSBibG9ja3MgZGVwdGggKi8KICAgIC0tZmctaW52ZXJ0ZWQ6ICNGMEYyRjc7CiAgICAtLXNjcmltOiAgICAgICByZ2JhKDAsMCwwLC43Mik7CiAgfQogIC8qIFN1YnRsZSBhZGp1c3RtZW50cyBmb3IgZGFyay1tb2RlIHZpc3VhbCBjb2hlcmVuY2UgKi8KICBbZGF0YS10aGVtZT0iZGFyayJdIGJvZHkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IH0KICBbZGF0YS10aGVtZT0iZGFyayJdIC5oZXJvOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwKICAgICAgcmdiYSgxNzcsMTU1LDI1NSwuMTApIDAlLAogICAgICByZ2JhKDExMSwxNjcsMjU1LC4wOCkgMzUlLAogICAgICB0cmFuc3BhcmVudCA3MCUpOwogIH0KICAvKiBTaGFkb3dzIGFyZSBsZXNzIHZpc2libGUgb24gZGFyayAtIHN0cmVuZ3RoZW4gc2xpZ2h0bHkgKi8KICBbZGF0YS10aGVtZT0iZGFyayJdIC5lc3RpbWF0b3IgeyBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuNiksIDAgMjhweCA4MHB4IC0zMnB4IHJnYmEoMCwwLDAsLjcpLCAwIDhweCAyOHB4IC0xMHB4IHJnYmEoNzksMTQwLDI1NSwuMTgpOyB9CiAgW2RhdGEtdGhlbWU9ImRhcmsiXSAuYWdlbnQtbW9kdWxlIHsgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpLCAwIDI0cHggNjBweCAtMjhweCByZ2JhKDAsMCwwLC43KSwgMCA4cHggMjhweCAtMTBweCByZ2JhKDc5LDE0MCwyNTUsLjE4KTsgfQogIC8qIExvZ28gc3RyaXAgKyBmb290ZXI6IHdhcm1lciBib3JkZXJzICovCiAgW2RhdGEtdGhlbWU9ImRhcmsiXSAubG9nb3MgeyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUpOyB9Cn0KKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0KaHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQpib2R5IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7CiAgY29sb3I6IHZhcigtLWluayk7CiAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICJzczAxIiwiY3YxMSI7CiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKICBsaW5lLWhlaWdodDogMS41Owp9CmEgeyBjb2xvcjogaW5oZXJpdDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci8qIERhcmsgbW9kZSB0b2dnbGUgKi8KLm5hdi10aGVtZS10b2dnbGUgewogIGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiA4cHg7CiAgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgZm9udC1zaXplOiAxM3B4OwogIGN1cnNvcjogcG9pbnRlcjsgY29sb3I6IHZhcigtLXN0ZWVsKTsgZmxleC1zaHJpbms6IDA7CiAgdHJhbnNpdGlvbjogY29sb3IgMTQwbXMsIGJvcmRlci1jb2xvciAxNDBtcywgYmFja2dyb3VuZCAxNDBtczsKfQoubmF2LXRoZW1lLXRvZ2dsZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUtMik7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyB9Ci8qIFNob3cgc3VuIGluIGRhcmsgbW9kZSwgbW9vbiBpbiBsaWdodCBtb2RlICovCltkYXRhLXRoZW1lPSJkYXJrIl0gLmljb24tbW9vbiB7IGRpc3BsYXk6IG5vbmU7IH0KW2RhdGEtdGhlbWU9ImxpZ2h0Il0gLmljb24tc3VuLCA6cm9vdDpub3QoW2RhdGEtdGhlbWU9ImRhcmsiXSkgLmljb24tc3VuIHsgZGlzcGxheTogbm9uZTsgfQpbZGF0YS10aGVtZT0iZGFyayJdIC5pY29uLXN1biB7IGRpc3BsYXk6IGJsb2NrOyB9Cgouc2hlbGwgeyBtYXgtd2lkdGg6IDEyNDBweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDAgMzJweDsgbWluLXdpZHRoOiAwOyB9CgovKiBSZXNwb25zaXZlIGJhc2UgKi8KQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgewogIC5zaGVsbCB7IHBhZGRpbmc6IDAgMjhweDsgfQp9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogIC5zaGVsbCB7IHBhZGRpbmc6IDAgMjBweDsgfQp9CgovKiA9PT09PT09PT09PT09PT0gTkFWID09PT09PT09PT09PT09PSAqLwpuYXYgewogIHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMDsgei1pbmRleDogNTA7CiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpOwogIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpOwogIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAyNTIsIDI1NCwgMC43KTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7Cn0KLm5hdi1pbm5lciB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDE2cHggMDsKfQouYnJhbmQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogcG9pbnRlcjsgfQouYnJhbmQtdGV4dCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTlweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07Cn0KLmJyYW5kLXRleHQgeyBmb250LXdlaWdodDogNTAwOyBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07IH0KLmJyYW5kLXRleHQgLnEtYWNjZW50IHsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1pcmktYSkgMCUsIHZhcigtLWhhbG8pIDU1JSwgdmFyKC0taXJpLWMpIDEwMCUpOwogIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogIHBhZGRpbmc6IDAgMC4wMmVtOwp9Ci5uYXYtbGlua3MgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDMycHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KLm5hdi1jYWxsIHsgZGlzcGxheTppbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6N3B4OyBmb250LXNpemU6MTRweDsgZm9udC13ZWlnaHQ6NjAwOyBjb2xvcjp2YXIoLS1pbmspOyBib3JkZXI6MS41cHggc29saWQgdmFyKC0taGFsbyk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDYpOyBwYWRkaW5nOjhweCAxNnB4OyBib3JkZXItcmFkaXVzOjk5OXB4OyB3aGl0ZS1zcGFjZTpub3dyYXA7IG1pbi1oZWlnaHQ6NDBweDsgdHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyBlYXNlLCBjb2xvciAuMTVzIGVhc2U7IH0KLm5hdi1jYWxsIHN2ZyB7IGNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGZsZXgtc2hyaW5rOjA7IH0KLm5hdi1jYWxsOmhvdmVyIHsgYm9yZGVyLWNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMTIpOyB9Ci8qIEZsb2F0aW5nIG1vYmlsZSBjYWxsIGJ1dHRvbiAqLwouZmxvYXQtY2FsbCB7CiAgZGlzcGxheTogbm9uZTsKICBwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMjBweDsgcmlnaHQ6IDE2cHg7IHotaW5kZXg6IDUwMDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOXB4OwogIHBhZGRpbmc6IDE0cHggMjJweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTZweDsKICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgYm94LXNoYWRvdzogMCA2cHggMjhweCByZ2JhKDcsMTYsMzEsLjMyKSwgMCAxcHggNHB4IHJnYmEoNywxNiwzMSwuMTgpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsIGJveC1zaGFkb3cgMTYwbXMgZWFzZTsKfQouZmxvYXQtY2FsbCBzdmcgeyBjb2xvcjogdmFyKC0taGFsby0yKTsgZmxleC1zaHJpbms6IDA7IH0KLmZsb2F0LWNhbGw6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IGJveC1zaGFkb3c6IDAgMTBweCAzNnB4IHJnYmEoNzksMTQwLDI1NSwuMzUpOyB9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogIC5mbG9hdC1jYWxsIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH0KICBib2R5IHsgcGFkZGluZy1ib3R0b206IDg4cHg7IH0KfQovKiBBY2Nlc3NpYmlsaXR5OiBsZWdpYmxlIGZsb29yIGZvciBkZWNvcmF0aXZlIG1pY3JvLWxhYmVscyAoaGVscHMgb2xkZXIgZXllcykgKi8KLmVzdC1zZWN0aW9uLWxhYmVsLCAuYWdlbnQtc3RhdHVzLCAubG9nb3MtbGFiZWwsIC5kZXBsb3llZCwgLnNlYy1leWVicm93LAouZXN0LWV5ZWJyb3csIC5oZXJvLWV5ZWJyb3csIC5zY2VuYXJpby1oZWFkLCAuZm9vdC1ub3RlLCAuY29uZi1sYmwsCi5wZi1yaXNrLCAudmlkZW8tY2FwLCAuY2hhbm5lbC1jYXB0dXJlLWxlZ2FsLAoucXVvdGUtYnJlYWtkb3duIC5rLCAubGl2ZW9wcy1zdGF0IC5rLCAuc3VydmV5LWNhcmQgLmsgeyBmb250LXNpemU6IDE0LjVweCAhaW1wb3J0YW50OyB9Ci5uYXYtYnVyZ2VyIHsgZGlzcGxheTogbm9uZTsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiAwOyBwYWRkaW5nOiAwOyBjdXJzb3I6IHBvaW50ZXI7IHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luLWxlZnQ6IGF1dG87IH0KLm5hdi1idXJnZXIgc3ZnIHsgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDsgfQpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAubmF2LWJ1cmdlciB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9CiAgLm5hdi1jYWxsIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1pbi1oZWlnaHQ6IDQ0cHg7IHBhZGRpbmc6IDAgMTNweDsgfQogIC5uYXYtYnVyZ2VyIHsgbWFyZ2luLWxlZnQ6IDhweDsgfQogIC5uYXYtbGlua3MgewogICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMCU7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGdhcDogMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLDI1MiwyNTQsMC45OCk7IC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJveC1zaGFkb3c6IDAgMjRweCA0MHB4IC0yNHB4IHJnYmEoNywxNiwzMSwuMjUpOwogICAgcGFkZGluZzogNnB4IDIwcHggMTZweDsKICAgIG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xOHMgZWFzZSwgdHJhbnNmb3JtIC4xOHMgZWFzZTsKICB9CiAgbmF2LmlzLW9wZW4gLm5hdi1saW5rcyB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogbm9uZTsgcG9pbnRlci1ldmVudHM6IGF1dG87IH0KICAubmF2LWxpbmtzIGE6bm90KC5uYXYtY3RhKSB7IGRpc3BsYXk6IG5vbmU7IH0KICBuYXYuaXMtb3BlbiAubmF2LWxpbmtzIGE6bm90KC5uYXYtY3RhKSB7IGRpc3BsYXk6IGZsZXg7IH0KICAubmF2LWxpbmtzIGEgeyBwYWRkaW5nOiAxNHB4IDRweDsgbWluLWhlaWdodDogNDRweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZm9udC1zaXplOiAxNnB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IH0KICAubmF2LWxpbmtzIGEubmF2LWN0YSB7IG1hcmdpbi10b3A6IDEycHg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBtaW4taGVpZ2h0OiA0OHB4OyBib3JkZXItYm90dG9tOiAwOyB9Cn0KLm5hdi1saW5rcyBhIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBmb250LXdlaWdodDogNTAwOyB9Ci5uYXYtbGlua3MgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5uYXYtbGlua3MgYS5uYXYtY3RhIHsgY29sb3I6IHZhcigtLXBhcGVyKTsgfQovKiBOYXYgZHJvcGRvd24gKi8KLm5hdi1kcm9wIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9Ci5uYXYtZHJvcC10cmlnZ2VyIHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGZvbnQtd2VpZ2h0OiA1MDA7IGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA0cHg7CiAgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiAwOyBwYWRkaW5nOiAwOyBmb250LWZhbWlseTogaW5oZXJpdDsKICB0cmFuc2l0aW9uOiBjb2xvciAxNDBtcyBlYXNlOyB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5uYXYtZHJvcDpob3ZlciAubmF2LWRyb3AtdHJpZ2dlciB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5uYXYtZHJvcC10cmlnZ2VyIC5jaGV2IHsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7IH0KLm5hdi1kcm9wLXRyaWdnZXJbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIC5jaGV2IHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfQoubmF2LWRyb3AtbWVudSB7CiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IGNhbGMoMTAwJSArIDE0cHgpOyBsZWZ0OiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTVweCk7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiA2cHggNnB4OyBtaW4td2lkdGg6IDIxMHB4OwogIGJveC1zaGFkb3c6IDAgMTJweCA0MHB4IC0xMHB4IHJnYmEoNywxNiwzMSwuMTYpOwogIG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOwogIHRyYW5zaXRpb246IG9wYWNpdHkgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDE2MG1zIGVhc2U7CiAgei1pbmRleDogMjAwOwp9Ci8qIERyb3Bkb3duIG9wZW5zIHZpYSBKUyBtb3VzZWVudGVyL21vdXNlbGVhdmUgLSBubyBDU1MgOmhvdmVyIHJ1bGUgKi8KLm5hdi1kcm9wLW1lbnUgYSB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDEwcHggMTNweDsgYm9yZGVyLXJhZGl1czogMTBweDsKICBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWluay0yKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMTMwbXMgZWFzZSwgY29sb3IgMTMwbXMgZWFzZTsKfQoubmF2LWRyb3AtbWVudSBhOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5uYXYtZHJvcC1tZW51IGEgLmRtLWJhZGdlIHsKICBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IDYwMDsKICBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjEyKTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7CiAgcGFkZGluZzogMnB4IDdweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGZsZXgtc2hyaW5rOiAwOwp9Ci8qIE1vYmlsZTogZHJvcGRvd24gYmVjb21lcyBmbGF0IGluZGVudGVkIGxpbmtzICovCkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogIC5uYXYtZHJvcCB7IGRpc3BsYXk6IGNvbnRlbnRzOyB9CiAgLm5hdi1kcm9wLXRyaWdnZXIgeyBkaXNwbGF5OiBub25lOyB9CiAgLm5hdi1kcm9wLW1lbnUgewogICAgcG9zaXRpb246IHN0YXRpYzsgdHJhbnNmb3JtOiBub25lOyBvcGFjaXR5OiAxOyBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgIGJveC1zaGFkb3c6IG5vbmU7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBkaXNwbGF5OiBub25lOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIH0KICBuYXYuaXMtb3BlbiAubmF2LWRyb3AtbWVudSB7IGRpc3BsYXk6IGZsZXg7IH0KICAubmF2LWRyb3AtbWVudSBhIHsKICAgIHBhZGRpbmc6IDE0cHggNHB4IDE0cHggMjBweDsgYm9yZGVyLXJhZGl1czogMDsgZm9udC1zaXplOiAxNXB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBjb2xvcjogdmFyKC0taW5rLTIpOwogIH0KICAubmF2LWRyb3AtbWVudSBhIC5kbS1iYWRnZSB7IGRpc3BsYXk6IG5vbmU7IH0KfQoubmF2LWN0YSB7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKSAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDEwcHggMThweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLTAuMDA1ZW07CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMzAwOwogIGJvcmRlcjogbm9uZTsgYm94LXNoYWRvdzogbm9uZTsgYXBwZWFyYW5jZTogbm9uZTsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIGN1cnNvcjogcG9pbnRlcjsKfQoubmF2LWN0YTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IH0KCi8qID09PT09PT09PT09PT09PSBIRVJPID09PT09PT09PT09PT09PSAqLwouaGVybyB7IHBhZGRpbmc6IDk2cHggMCA2NHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH0KLmhlcm86OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtNDAlOyByaWdodDogLTEwJTsKICB3aWR0aDogODAwcHg7IGhlaWdodDogODAwcHg7CiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwKICAgIHJnYmEoMTc3LDE1NSwyNTUsLjE4KSAwJSwKICAgIHJnYmEoMTExLDE2NywyNTUsLjEyKSAzNSUsCiAgICB0cmFuc3BhcmVudCA3MCUpOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIGZpbHRlcjogYmx1cigyMHB4KTsKfQouaGVyby1leWVicm93IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOwogIG1hcmdpbjogMCAwIDE4cHggMDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7Cn0KLmhlcm8tZXllYnJvdyAubGl2ZS1kb3QgewogIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOwogIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg3OSwxNDAsMjU1LC42KTsKICBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQpAa2V5ZnJhbWVzIGxpdmVQdWxzZSB7CiAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNzksMTQwLDI1NSwuNik7IH0KICA1MCUgeyBib3gtc2hhZG93OiAwIDAgMCA2cHggcmdiYSg3OSwxNDAsMjU1LDApOyB9Cn0KaDEuaGVyby1oIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDYuNHZ3LCA4OHB4KTsgbGluZS1oZWlnaHQ6IDE7IGxldHRlci1zcGFjaW5nOiAtMC4wNDVlbTsKICBtYXJnaW46IDAgMCAyNHB4IDA7IG1heC13aWR0aDogOTAwcHg7CiAgdGV4dC13cmFwOiBiYWxhbmNlOwp9CmgxLmhlcm8taCAuZ3JhZCB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taXJpLWEpIDAlLCB2YXIoLS1oYWxvKSA1MCUsIHZhcigtLWlyaS1jKSAxMDAlKTsKICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKfQouaGVyby1zdWIgewogIGZvbnQtc2l6ZTogMjFweDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6IHZhcigtLWluay0yKTsKICBtYXgtd2lkdGg6IDY0MHB4OyBtYXJnaW46IDAgMCAzNnB4IDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7Cn0KLmN0YS1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KLmJ0biB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OwogIHBhZGRpbmc6IDE0cHggMjRweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBjdXJzb3I6IHBvaW50ZXI7Cn0KLmJ0bi1wcmltYXJ5IHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgfQouYnRuLXByaW1hcnk6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KLmJ0bi1naG9zdCB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyB9Ci5idG4tZ2hvc3Q6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH0KLmJ0biAuYXJyb3cgeyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAxOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZTsgfQoKLyogPT09PT0gR0xPQkFMIEFDQ0VTU0lCSUxJVFkgRkxPT1IgPT09PT0gKi8KLyogTm8gdmlzaWJsZSB0ZXh0IGVsZW1lbnQgbWF5IHJlbmRlciBiZWxvdyAxM3B4ICovCi5uYXYtdGhlbWUtdG9nZ2xlIHN2ZywgLm5hdi1idXJnZXIgc3ZnLAouYWdlbnQtYXR0YWNoIHN2ZywgLmFnZW50LXNlbmQtYnRuIHN2ZywKLmFycm93LCAucXVpY2stcGlsbCwgLnNjZW5hcmlvLWluYywKLmlxLXBob3RvLXR4IC5wIHsgZm9udC1zaXplOiAxM3B4OyB9Ci5hZ2VudC1zZW5kLWJ0biB7IG1pbi13aWR0aDogNDhweCAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7IHdpZHRoOiA0OHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNDhweCAhaW1wb3J0YW50OyBmb250LXNpemU6IDEzcHg7IH0KLm5hdi10aGVtZS10b2dnbGUgeyBtaW4td2lkdGg6IDQ4cHggIWltcG9ydGFudDsgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50OyB3aWR0aDogNDhweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsgfQouYWdlbnQtYXR0YWNoIHsgbWluLXdpZHRoOiA0OHB4ICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsgd2lkdGg6IDQ4cHggIWltcG9ydGFudDsgaGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7IH0KLmJ0bjpob3ZlciAuYXJyb3cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfQoKLnRydXN0IHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDI0cHg7IG1hcmdpbi10b3A6IDQ4cHg7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9Ci50cnVzdC1kaXZpZGVyIHsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxNnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlLTIpOyB9Ci50cnVzdCBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoKLyogPT09PT09PT09PT09PT09IEhFUk8gQUdFTlQgTU9EVUxFID09PT09PT09PT09PT09PSAqLwouaGVyby1ncmlkIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDQ2MHB4OyBnYXA6IDU2cHg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgcG9zaXRpb246IHJlbGF0aXZlOwp9CkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHsKICAuaGVyby1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTsgZ2FwOiA0OHB4OyB9Cn0KCi5hZ2VudC1tb2R1bGUgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDI4cHg7CiAgcGFkZGluZzogMjRweDsKICBib3gtc2hhZG93OgogICAgMCAxcHggMnB4IHJnYmEoNywxNiwzMSwuMDQpLAogICAgMCAyNHB4IDYwcHggLTI4cHggcmdiYSg3LDE2LDMxLC4xOCksCiAgICAwIDhweCAyOHB4IC0xMHB4IHJnYmEoNzksMTQwLDI1NSwuMTgpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouYWdlbnQtbW9kdWxlOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAtMXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsCiAgICByZ2JhKDE3NywxNTUsMjU1LC40KSAwJSwKICAgIHJnYmEoMTExLDE2NywyNTUsLjQpIDM1JSwKICAgIHJnYmEoMTQ2LDIyOSwyNTUsLjQpIDcwJSwKICAgIHRyYW5zcGFyZW50IDEwMCUpOwogIGJvcmRlci1yYWRpdXM6IDI4cHg7CiAgei1pbmRleDogLTE7IGZpbHRlcjogYmx1cigxMnB4KTsgb3BhY2l0eTogLjY7Cn0KLmFnZW50LWhlYWQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsKICBwYWRkaW5nOiA0cHggOHB4IDE2cHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwp9Ci5hZ2VudC1tYXJrIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyB9Ci5hZ2VudC1tYXJrIC5oYWxvIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAtM3B4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDBkZWcsCiAgICB2YXIoLS1pcmktYSksIHZhcigtLWlyaS1iKSwgdmFyKC0taXJpLWMpLCB2YXIoLS1pcmktZCksIHZhcigtLWlyaS1hKSk7CiAgZmlsdGVyOiBibHVyKDRweCk7IG9wYWNpdHk6IC42NTsKICBhbmltYXRpb246IHNwaW5TbG93IDZzIGxpbmVhciBpbmZpbml0ZTsKfQpAa2V5ZnJhbWVzIHNwaW5TbG93IHsgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH0KLmFnZW50LW1hcmsgc3ZnIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgfQouYWdlbnQtbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07Cn0KLmFnZW50LXN0YXR1cyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKfQouYWdlbnQtc3RhdHVzIC5kb3QgewogIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOwogIGFuaW1hdGlvbjogbGl2ZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9CgouYWdlbnQtc3RyZWFtIHsKICBwYWRkaW5nOiAxOHB4IDRweCA0cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OwogIG1pbi1oZWlnaHQ6IDI4MHB4Owp9Ci5idWJibGUgewogIG1heC13aWR0aDogODYlOyBwYWRkaW5nOiAxMXB4IDE1cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS41OyBsZXR0ZXItc3BhY2luZzogLS4wMDVlbTsKfQouYnViYmxlLXVzZXIgewogIGFsaWduLXNlbGY6IGZsZXgtZW5kOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBjb2xvcjogdmFyKC0taW5rKTsKfQouYnViYmxlLWFnZW50IHsKICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNzksMTQwLDI1NSwuMDcpLCByZ2JhKDE3NywxNTUsMjU1LC4wNSkpOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzksMTQwLDI1NSwuMTUpOwogIGNvbG9yOiB2YXIoLS1pbmspOwp9Ci5idWJibGUtYWdlbnQgc3Ryb25nIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KCi5ib29rLWNhcmQgewogIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IG1heC13aWR0aDogODYlOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4Owp9Ci5ib29rLWNhcmQgLndoZW4gewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7Cn0KLmJvb2stY2FyZCAud2hvIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9Ci8qID09PSBMaXZlIGNvbmNpZXJnZSBjb250cm9scyA9PT0gKi8KLmFnZW50LXF1aWNrcm93IHsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4OwogIHBhZGRpbmc6IDE0cHggNHB4IDA7Cn0KLnF1aWNrLXBpbGwgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBwYWRkaW5nOiA3cHggMTFweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsKICBjb2xvcjogdmFyKC0taW5rLTIpOyBjdXJzb3I6IHBvaW50ZXI7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGNvbG9yIDE0MG1zIGVhc2UsIGJhY2tncm91bmQgMTQwbXMgZWFzZTsKfQoucXVpY2stcGlsbDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB3aGl0ZSwgdmFyKC0tcGFwZXIpKTsgfQouYWdlbnQtaW5wdXQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgZ2FwOiA4cHg7CiAgbWFyZ2luLXRvcDogMTRweDsKICBtaW4td2lkdGg6IDA7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDEwcHggOHB4IDEwcHggMTRweDsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlOwp9Ci5hZ2VudC1pbnB1dDpmb2N1cy13aXRoaW4gewogIGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDc5LDE0MCwyNTUsLjEwKTsKfQouYWdlbnQtaW5wdXQgdGV4dGFyZWEgewogIGZsZXg6IDE7IG1pbi13aWR0aDogMDsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7IG91dGxpbmU6IG5vbmU7CiAgZm9udDogaW5oZXJpdDsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmspOyBwYWRkaW5nOiAycHggMDsKICByZXNpemU6IG5vbmU7IG1pbi1oZWlnaHQ6IDUycHg7IG1heC1oZWlnaHQ6IDE4MHB4OyBsaW5lLWhlaWdodDogMS41NTsKICBvdmVyZmxvdy15OiBhdXRvOyBzY3JvbGxiYXItd2lkdGg6IHRoaW47Cn0KLmFnZW50LWlucHV0IHRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgfQouYWdlbnQtaW5wdXQgYnV0dG9uIHsKICB3aWR0aDogNDhweDsgaGVpZ2h0OiA0OHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQtc2l6ZTogMTNweDsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE0MG1zIGVhc2UsIHRyYW5zZm9ybSAxNDBtcyBlYXNlOwp9Ci5hZ2VudC1pbnB1dCBidXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsgfQouYWdlbnQtaW5wdXQgYnV0dG9uOmRpc2FibGVkIHsgYmFja2dyb3VuZDogdmFyKC0tc3RlZWwtMik7IGN1cnNvcjogbm90LWFsbG93ZWQ7IHRyYW5zZm9ybTogbm9uZTsgfQouYWdlbnQtYXNzZXNzLXBpbGwgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogN3B4OwogIHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjA2KTsKICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg3OSwxNDAsMjU1LC4zKTsgYm9yZGVyLXJhZGl1czogMTJweDsKICBwYWRkaW5nOiA5cHggMTRweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgY3Vyc29yOiBwb2ludGVyOwogIHRleHQtYWxpZ246IGxlZnQ7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2U7CiAgbWFyZ2luLXRvcDogNHB4Owp9Ci5hZ2VudC1hc3Nlc3MtcGlsbDpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMSk7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IH0KLmFnZW50LWFzc2Vzcy1waWxsIHN2ZyB7IGZsZXgtc2hyaW5rOiAwOyB9Ci5hZ2VudC1mb290IHsKICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgbWFyZ2luLXRvcDogMTBweDsgcGFkZGluZzogMCAycHg7CiAgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLmFnZW50LWZvb3Qgc3BhbiB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDVweDsgfQouYWdlbnQtZm9vdCBhIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC13ZWlnaHQ6IDUwMDsgfQouYWdlbnQtZm9vdCBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KLmJ1YmJsZS10eXBpbmcgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBnYXA6IDRweDsgcGFkZGluZzogMTRweCAxNnB4ICFpbXBvcnRhbnQ7Cn0KLmJ1YmJsZS10eXBpbmcgc3BhbiB7CiAgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1zdGVlbC0yKTsgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGFuaW1hdGlvbjogdHlwaW5nQm91bmNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJ1YmJsZS10eXBpbmcgc3BhbjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IC4xNXM7IH0KLmJ1YmJsZS10eXBpbmcgc3BhbjpudGgtY2hpbGQoMykgeyBhbmltYXRpb24tZGVsYXk6IC4zczsgfQpAa2V5ZnJhbWVzIHR5cGluZ0JvdW5jZSB7CiAgMCUsIDYwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogLjU7IH0KICAzMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IG9wYWNpdHk6IDE7IH0KfQouYnViYmxlLWVycm9yIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIxOCwgODAsIDgwLCAuMDgpICFpbXBvcnRhbnQ7CiAgY29sb3I6ICNCMjMzMzMgIWltcG9ydGFudDsKICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKfQouYWN0aW9uLWNoaXAtd3JhcCB7CiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgbWF4LXdpZHRoOiA4NiU7CiAgbWFyZ2luLXRvcDogLTRweDsKfQouYWN0aW9uLWNoaXAgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlcjogMDsgcGFkZGluZzogOXB4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQ6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07CiAgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlLCB0cmFuc2Zvcm0gMTQwbXMgZWFzZSwgYm94LXNoYWRvdyAxNDBtcyBlYXNlOwogIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSg3LDE2LDMxLC4xOCk7Cn0KLmFjdGlvbi1jaGlwOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1oYWxvLWRlZXApLCB2YXIoLS1pbmspKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDcsMTYsMzEsLjI4KTsKfQouYWN0aW9uLWNoaXAgc3ZnOmZpcnN0LWNoaWxkIHsgb3BhY2l0eTogLjg1OyB9Ci5hY3Rpb24tY2hpcCBzdmc6bGFzdC1jaGlsZCB7IG9wYWNpdHk6IC42OyBtYXJnaW4tbGVmdDogMnB4OyB9Ci5ib29rLWNhcmQgLnBpbGwgewogIG1hcmdpbi1sZWZ0OiBhdXRvOwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgcGFkZGluZzogNnB4IDExcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNjAwOwp9CgoudHlwaW5nIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMThweDsgfQoudHlwaW5nIHNwYW4gewogIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXN0ZWVsLTIpOwogIGFuaW1hdGlvbjogdHlwaW5nRG90IDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLnR5cGluZyBzcGFuOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogLjE1czsgfQoudHlwaW5nIHNwYW46bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAuM3M7IH0KQGtleWZyYW1lcyB0eXBpbmdEb3QgewogIDAlLCA2MCUsIDEwMCUgeyBvcGFjaXR5OiAuMzsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9CiAgMzAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9Cn0KCi8qID09PT09PT09PT09PT09PSBMT0dPIFNUUklQID09PT09PT09PT09PT09PSAqLwoubG9nb3MgewogIHBhZGRpbmc6IDQ4cHggMDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgbWFyZ2luLXRvcDogNjRweDsKfQoubG9nb3MtbGFiZWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMThlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KLmxvZ29zLXJvdyB7CiAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOwogIGdhcDogMzJweDsgZmxleC13cmFwOiB3cmFwOwp9Ci5sb2dvLWNlbGwgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgY29sb3I6IHZhcigtLXN0ZWVsKTsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsKfQoKLyogPT09PT09PT09PT09PT09IFNFQ1RJT05TID09PT09PT09PT09PT09PSAqLwpzZWN0aW9uLmJsb2NrIHsgcGFkZGluZzogMTIwcHggMDsgfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgc2VjdGlvbi5ibG9jayB7IHBhZGRpbmc6IDcycHggMDsgfSAuaGVybyB7IHBhZGRpbmc6IDU2cHggMCA0MHB4OyB9IH0KLnNlYy1leWVicm93IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOwogIG1hcmdpbjogMCAwIDE0cHggMDsKfQpoMi5zZWMtaCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA0LjZ2dywgNTZweCk7IGxpbmUtaGVpZ2h0OiAxLjA1OyBsZXR0ZXItc3BhY2luZzogLTAuMDM1ZW07CiAgbWFyZ2luOiAwIDAgMThweCAwOyBtYXgtd2lkdGg6IDc2MHB4OwogIHRleHQtd3JhcDogYmFsYW5jZTsKfQouc2VjLWxlZGUgewogIGZvbnQtc2l6ZTogMTlweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgbWF4LXdpZHRoOiA2NjBweDsgbWFyZ2luOiAwIDAgNTZweCAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOwp9CgovKiA9PT09PT09PT09PT09PT0gSE9XIElUIFdPUktTID09PT09PT09PT09PT09PSAqLwouaG93LWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMThweDsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAuaG93LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQp9Ci5zdGVwIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDIycHg7CiAgcGFkZGluZzogMjhweDsgbWluLWhlaWdodDogMjYwcHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDE2MG1zIGVhc2U7Cn0KLnN0ZXA6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH0KLnN0ZXAtbnVtIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICBtYXJnaW4tYm90dG9tOiBhdXRvOwp9Ci5zdGVwLWljb24gewogIHdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7IGJvcmRlci1yYWRpdXM6IDE0cHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcGFwZXItMiksIHdoaXRlKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tYm90dG9tOiAxNnB4Owp9Ci5zdGVwLWggewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDIycHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07IG1hcmdpbjogMCAwIDhweCAwOwp9Ci5zdGVwLXAgeyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNTU7IG1hcmdpbjogMDsgfQoKLyogPT09PT09PT09PT09PT09IFNFUlZJQ0VTID09PT09PT09PT09PT09PSAqLwouc2VydmljZXMtZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgZ2FwOiAxNHB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHsgLnNlcnZpY2VzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH0KQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSAgeyAuc2VydmljZXMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfQouc3ZjIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE4cHg7CiAgcGFkZGluZzogMjJweDsgbWluLWhlaWdodDogMTgwcHg7IGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKfQouc3ZjOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHdoaXRlLCB2YXIoLS1wYXBlci0yKSk7Cn0KLnN2Yzo6YWZ0ZXIgewogIGNvbnRlbnQ6ICfihpInOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxOHB4OyBib3R0b206IDE2cHg7CiAgZm9udC1zaXplOiAxOHB4OyBjb2xvcjogdmFyKC0tc3RlZWwtMik7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UsIGNvbG9yIDIwMG1zIGVhc2U7Cn0KLnN2Yzpob3Zlcjo6YWZ0ZXIgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7IH0KLnN2Yy1pY29uIHsKICB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXItcmFkaXVzOiAxMHB4Owp9Ci5zdmMtbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBtYXJnaW46IDAgMCA0cHggMDsKfQouc3ZjLWZyb20geyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbjogMDsgfQouc3ZjLWZyb20gc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KCi8qID09PT09PT09PT09PT09PSBBSSBTSE9XQ0FTRSA9PT09PT09PT09PT09PT0gKi8KLmFpLXNob3djYXNlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOwogIGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgYm9yZGVyLXJhZGl1czogMzJweDsKICBwYWRkaW5nOiA4OHB4IDY0cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogIC5haS1zaG93Y2FzZSB7IHBhZGRpbmc6IDU2cHggMjhweDsgYm9yZGVyLXJhZGl1czogMjJweDsgfQp9Ci5haS1zaG93Y2FzZTo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgOTAlIDAlLCByZ2JhKDE3NywxNTUsMjU1LC4xOCksIHRyYW5zcGFyZW50KSwKICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDAlIDEwMCUsIHJnYmEoMTQ2LDIyOSwyNTUsLjE0KSwgdHJhbnNwYXJlbnQpOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5haS1ncmlkIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMmZyIDFmcjsgZ2FwOiA1NnB4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7CiAgLmFpLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiA0OHB4OyB9CiAgLmJpZy1tYXJrIHsgd2lkdGg6IDIyMHB4OyBoZWlnaHQ6IDIyMHB4OyB9Cn0KLmFpLXNob3djYXNlIC5zZWMtZXllYnJvdyB7IGNvbG9yOiB2YXIoLS1oYWxvLTIpOyB9Ci5haS1zaG93Y2FzZSBoMiB7IGNvbG9yOiB2YXIoLS1wYXBlcik7IH0KLmFpLXNob3djYXNlIC5zZWMtbGVkZSB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7IH0KCi5jaGFubmVsLWxpc3QgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7IH0KLmNoYW5uZWwgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgYm9yZGVyLXJhZGl1czogMThweDsKICBwYWRkaW5nOiAxOHB4IDIwcHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNnB4Owp9Ci5jaGFubmVsLWljb24gewogIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNzcsMTU1LDI1NSwuMTgpLCByZ2JhKDExMSwxNjcsMjU1LC4xMikpOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmbGV4LXNocmluazogMDsKfQouY2hhbm5lbC1uYW1lIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNjAwOwp9Ci5jaGFubmVsLWQgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSk7IG1hcmdpbi10b3A6IDJweDsgfQouY2hhbm5lbC1zdGF0dXMgewogIG1hcmdpbi1sZWZ0OiBhdXRvOwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgY29sb3I6IHZhcigtLWhhbG8tMik7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KLmNoYW5uZWwtc3RhdHVzIC5kb3QgewogIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOwogIGFuaW1hdGlvbjogbGl2ZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9CgovKiBCaWcgYnJlYXRoaW5nIG1hcmsgKi8KLmJpZy1tYXJrIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweDsKICBtYXJnaW46IDAgYXV0bzsKfQouYmlnLW1hcmsgLmhhbG8gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IC0xNnB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDBkZWcsCiAgICB2YXIoLS1pcmktYSksIHZhcigtLWlyaS1iKSwgdmFyKC0taXJpLWMpLCB2YXIoLS1pcmktZCksIHZhcigtLWlyaS1hKSk7CiAgZmlsdGVyOiBibHVyKDIwcHgpOyBvcGFjaXR5OiAuNTU7CiAgYW5pbWF0aW9uOiBzcGluU2xvdyA4cyBsaW5lYXIgaW5maW5pdGU7Cn0KLmJpZy1tYXJrIHN2ZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IH0KCi8qID09PT09PT09PT09PT09PSBURVNUSU1PTklBTCA9PT09PT09PT09PT09PT0gKi8KLnRlc3RpbW9uaWFsIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDE0cHg7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC50ZXN0aW1vbmlhbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KLnQtY2FyZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAyMnB4OwogIHBhZGRpbmc6IDI4cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQouc3RhcnMgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogMnB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9Ci50LXF1b3RlIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMS40NTsKICBmb250LXdlaWdodDogNTAwOyBsZXR0ZXItc3BhY2luZzogLS4wMThlbTsKICBtYXJnaW46IDAgMCAyNHB4IDA7IGZsZXg6IDE7Cn0KLnQtYXV0aG9yIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7CiAgcGFkZGluZy10b3A6IDE4cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKfQoudC1hdmF0YXIgewogIHdpZHRoOiAzNnB4OyBoZWlnaHQ6IDM2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wYXBlci0yKSwgdmFyKC0tcnVsZSkpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgY29sb3I6IHZhcigtLWluay0yKTsKfQoudC1uYW1lIHsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyB9Ci50LW1ldGEgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KCi8qID09PT09PT09PT09PT09PSBGSU5BTCBDVEEgPT09PT09PT09PT09PT09ICovCi5maW5hbC1jdGEgewogIHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMTIwcHggMDsKfQouZmluYWwtY3RhIGgyIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDZ2dywgNzJweCk7IGxpbmUtaGVpZ2h0OiAxOyBsZXR0ZXItc3BhY2luZzogLS4wNGVtOwogIG1hcmdpbjogMCAwIDI0cHggMDsKfQouZmluYWwtY3RhIGgyIC5ncmFkIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1pcmktYSkgMCUsIHZhcigtLWhhbG8pIDUwJSwgdmFyKC0taXJpLWMpIDEwMCUpOwogIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5maW5hbC1jdGEgcCB7IGZvbnQtc2l6ZTogMTlweDsgY29sb3I6IHZhcigtLWluay0yKTsgbWF4LXdpZHRoOiA1NjBweDsgbWFyZ2luOiAwIGF1dG8gNDBweDsgfQoKLyogPT09PT09PT09PT09PT09IEZPT1RFUiA9PT09PT09PT09PT09PT0gKi8KZm9vdGVyIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogNTZweCAwIDQwcHg7Cn0KLmZvb3QtZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDFmciAxZnIgMWZyOyBnYXA6IDQwcHg7CiAgbWFyZ2luLWJvdHRvbTogNDBweDsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAuZm9vdC1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogIC5mb290LWdyaWQgPiBkaXY6Zmlyc3QtY2hpbGQgeyBncmlkLWNvbHVtbjogMSAvIC0xOyB9Cn0KLmZvb3QtYnJhbmQtdGV4dCB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOiAxMnB4OyBtYXgtd2lkdGg6IDI4MHB4OyBsaW5lLWhlaWdodDogMS41NTsKfQouZm9vdC1oIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOwogIG1hcmdpbjogMCAwIDEycHggMDsKfQouZm9vdC1saXN0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IH0KLmZvb3QtbGlzdCBhIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9Ci5mb290LWxpc3QgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5mb290LWJvdHRvbSB7CiAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmctdG9wOiAyNHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9CgovKiA9PT09PT09PT09PT09PT0gQVVESUVOQ0UgU1dJVENIIChoZXJvKSA9PT09PT09PT09PT09PT0gKi8KLmF1ZGllbmNlLXN3aXRjaCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IHBhZGRpbmc6IDRweDsgZ2FwOiA0cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDk5OXB4OyBtYXJnaW4tYm90dG9tOiAyMnB4Owp9Ci5hcy10YWIgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7CiAgcGFkZGluZzogN3B4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtOyBjb2xvcjogdmFyKC0tc3RlZWwpOyBjdXJzb3I6IHBvaW50ZXI7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlLCBjb2xvciAxNjBtcyBlYXNlOwp9Ci5hcy10YWIuaXMtYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOyBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSg3LDE2LDMxLC4wNik7IH0KLmFzLXRhYjpob3Zlcjpub3QoLmlzLWFjdGl2ZSkgeyBjb2xvcjogdmFyKC0taW5rLTIpOyB9Ci5hcy10YWIgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IH0KCi8qID09PT09PT09PT09PT09PSBFU1RJTUFUT1IgPT09PT09PT09PT09PT09ICovCi5lc3RpbWF0b3Itd3JhcCB7CiAgcGFkZGluZzogODBweCAwIDI0cHg7Cn0KLmVzdGltYXRvciB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMjhweDsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMDVmciAxZnI7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3gtc2hhZG93OgogICAgMCAxcHggMnB4IHJnYmEoNywxNiwzMSwuMDQpLAogICAgMCAyOHB4IDgwcHggLTMycHggcmdiYSg3LDE2LDMxLC4xOCksCiAgICAwIDhweCAyOHB4IC0xMHB4IHJnYmEoNzksMTQwLDI1NSwuMTApOwp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogIC5lc3RpbWF0b3IgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQp9Ci5lc3QtbGVmdCB7CiAgcGFkZGluZzogMzZweDsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB3aGl0ZSwgdmFyKC0tcGFwZXIpKTsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAuZXN0LWxlZnQgeyBib3JkZXItcmlnaHQ6IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgcGFkZGluZzogMjhweDsgfQp9Ci5lc3QtcmlnaHQgewogIHBhZGRpbmc6IDM2cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAyMnB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeyAuZXN0LXJpZ2h0IHsgcGFkZGluZzogMjhweDsgfSB9CgouZXN0LWV5ZWJyb3cgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4xOGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgbWFyZ2luLWJvdHRvbTogMTRweDsKfQouZXN0LWV5ZWJyb3cgLmRvdCB7IHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOyBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfQoKLmVzdC1oIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXNpemU6IDMwcHg7IGxpbmUtaGVpZ2h0OiAxLjA1OyBsZXR0ZXItc3BhY2luZzogLS4wM2VtOwogIG1hcmdpbjogMCAwIDEwcHggMDsgdGV4dC13cmFwOiBiYWxhbmNlOwp9Ci5lc3Qtc3ViIHsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDAgMCAyNHB4IDA7IGxpbmUtaGVpZ2h0OiAxLjU7IG1heC13aWR0aDogMzhjaDsgfQoKLmVzdC1tb2RlIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgcGFkZGluZzogM3B4OyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgbWFyZ2luLWJvdHRvbTogMjJweDsKfQouZXN0LW1vZGUtdGFiIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBwYWRkaW5nOiA2cHggMTRweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgY29sb3I6IHZhcigtLXN0ZWVsKTsgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07Cn0KLmVzdC1tb2RlLXRhYi5pcy1hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgY29sb3I6IHZhcigtLWluayk7IGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDcsMTYsMzEsLjA2KTsgfQoKLmVzdC1zZWN0aW9uLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgbWFyZ2luOiAwIDAgMTBweCAwOwp9CgouZXN0LXNlcnZpY2VzIHsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAyMnB4OwogIG1pbi13aWR0aDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsKfQouZXN0LXN2Yy1jaGlwIHsgbWF4LXdpZHRoOiAxMDAlOyB9Ci5lc3Qtc3ZjLWNoaXAgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBwYWRkaW5nOiA5cHggMTNweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0taW5rLTIpOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA3cHg7CiAgdHJhbnNpdGlvbjogYWxsIDE2MG1zIGVhc2U7Cn0KLmVzdC1zdmMtY2hpcCBzdmcgeyBjb2xvcjogdmFyKC0tc3RlZWwpOyB0cmFuc2l0aW9uOiBjb2xvciAxNjBtcyBlYXNlOyB9Ci5lc3Qtc3ZjLWNoaXA6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUtMik7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5lc3Qtc3ZjLWNoaXAuaXMtYWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7Cn0KLmVzdC1zdmMtY2hpcC5pcy1hY3RpdmUgc3ZnIHsgY29sb3I6IHZhcigtLWhhbG8tMik7IH0KLmVzdC1zdmMtY2hpcC5pcy1hY3RpdmU6OmJlZm9yZSB7CiAgY29udGVudDogJ+Kckyc7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0taGFsby0yKTsKfQoKLyogUGVyLXNlcnZpY2UgZXhwYW5kYWJsZSBibG9jayBpbiBtdWx0aS1zZXJ2aWNlIG1vZGUgKi8KLmVzdC1zdmMtYmxvY2sgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNHB4IDE2cHg7IG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLmVzdC1zdmMtYmxvY2staGVhZCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIG1hcmdpbi1ib3R0b206IDEycHg7Cn0KLmVzdC1zdmMtYmxvY2stbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4Owp9Ci5lc3Qtc3ZjLWJsb2NrLW5hbWUgLnJvdy1wcmljZSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICBmb250LXdlaWdodDogNTAwOyBsZXR0ZXItc3BhY2luZzogMDsKfQouZXN0LXN2Yy1ibG9jay1yZW1vdmUgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsKICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogdmFyKC0tc3RlZWwpOwogIHdpZHRoOiAyMnB4OyBoZWlnaHQ6IDIycHg7IGJvcmRlci1yYWRpdXM6IDZweDsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouZXN0LXN2Yy1ibG9jay1yZW1vdmU6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgY29sb3I6IHZhcigtLWluayk7IH0KLmVzdC1zdmMtYmxvY2sgLmVzdC1vcHRpb25zIHsgZ2FwOiAxMnB4OyBtYXJnaW46IDA7IH0KCi8qIFBlci1zZXJ2aWNlIGhlYWRlciAobXVsdGktbW9kZSkgLSBuYW1lIG9uIGxlZnQsIHF0eSBzdGVwcGVyIG9uIHJpZ2h0ICovCi5lc3Qtc3ZjLWhlYWRlciB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTJweDsgbWFyZ2luOiAxOHB4IDAgOHB4Owp9Ci5lc3Qtc3ZjLWhlYWRlcjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDRweDsgfQouZXN0LXN2Yy1oZWFkZXItbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgY29sb3I6IHZhcigtLWluayk7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4Owp9Ci5lc3Qtc3ZjLWhlYWRlci1kb3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDVweDsgaGVpZ2h0OiA1cHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsKfQouZXN0LXF0eSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogM3B4Owp9Ci5lc3QtcXR5LWJ0biB7CiAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlcjogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGN1cnNvcjogcG9pbnRlcjsKICBjb2xvcjogdmFyKC0taW5rLTIpOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlLCBjb2xvciAxNDBtcyBlYXNlOwp9Ci5lc3QtcXR5LWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBjb2xvcjogdmFyKC0taW5rKTsgfQouZXN0LXF0eS12YWwgewogIG1pbi13aWR0aDogMjhweDsgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1pbmspOyBsZXR0ZXItc3BhY2luZzogMDsKfQoKLmVzdC1oZWxwZXIgewogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luOiA2cHggMCAxOHB4IDA7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owp9Ci5lc3QtaGVscGVyIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmstMik7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KCi5idW5kbGUtcGlsbCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OwogIG1hcmdpbi10b3A6IDEwcHg7CiAgYmFja2dyb3VuZDogcmdiYSgxNDYsMjI5LDI1NSwuMTQpOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0NiwyMjksMjU1LC4zKTsKICBwYWRkaW5nOiA0cHggMTBweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouZXN0LW9wdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE4cHg7IG1hcmdpbi1ib3R0b206IDZweDsgfQouZXN0LW9wdC1yb3cgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDhweDsKfQouZXN0LW9wdC1sYWJlbCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWluay0yKTsKfQouZXN0LW9wdC12YWx1ZSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmspOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBwYWRkaW5nOiAycHggOHB4OyBib3JkZXItcmFkaXVzOiA2cHg7Cn0KLmVzdC1vcHQtY2hvaWNlcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA2cHg7IH0KLmVzdC1vcHQtY2hvaWNlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogN3B4IDExcHg7IGJvcmRlci1yYWRpdXM6IDhweDsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgY3Vyc29yOiBwb2ludGVyOwogIHRyYW5zaXRpb246IGFsbCAxNDBtcyBlYXNlOwp9Ci5lc3Qtb3B0LWNob2ljZTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgfQouZXN0LW9wdC1jaG9pY2UuaXMtYWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1pbmspOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW5rKTsKfQoKLmVzdC1zbGlkZXIgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgYXBwZWFyYW5jZTogbm9uZTsKICB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0cHg7IGJvcmRlci1yYWRpdXM6IDRweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWhhbG8pLCB2YXIoLS1oYWxvKSB2YXIoLS1wLCA1MCUpLCB2YXIoLS1ydWxlKSB2YXIoLS1wLCA1MCUpLCB2YXIoLS1ydWxlKSAxMDAlKTsKICBvdXRsaW5lOiBub25lOwp9Ci5lc3Qtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBhcHBlYXJhbmNlOiBub25lOwogIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAycHggc29saWQgdmFyKC0taW5rKTsKICBjdXJzb3I6IHBvaW50ZXI7IGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDcsMTYsMzEsLjE4KTsKfQouZXN0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYiB7CiAgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pbmspOwogIGN1cnNvcjogcG9pbnRlcjsgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoNywxNiwzMSwuMTgpOwp9CgouZXN0LXRvZ2dsZSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgY3Vyc29yOiBwb2ludGVyOwp9Ci5lc3QtdG9nZ2xlIGlucHV0IHsgcG9zaXRpb246IGFic29sdXRlOyBvcGFjaXR5OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfQouZXN0LXRvZ2dsZSAuc3dhdGNoIHsKICB3aWR0aDogMzJweDsgaGVpZ2h0OiAxOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7Cn0KLmVzdC10b2dnbGUgLnN3YXRjaDo6YWZ0ZXIgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMnB4OyBsZWZ0OiAycHg7CiAgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICB0cmFuc2l0aW9uOiBsZWZ0IDE2MG1zIGVhc2U7Cn0KLmVzdC10b2dnbGUgaW5wdXQ6Y2hlY2tlZCArIC5zd2F0Y2ggeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyB9Ci5lc3QtdG9nZ2xlIGlucHV0OmNoZWNrZWQgKyAuc3dhdGNoOjphZnRlciB7IGxlZnQ6IDE2cHg7IH0KCi8qID09PT09PT09PT09PT09PSBUViBtdWx0aS11bml0OiBzaXplIG1hdHJpeCArIHBlci11bml0IG92ZXJyaWRlID09PT09PT09PT09PT09PSAqLwouZXN0LXR2LXNlY3Rpb24geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE2cHg7IH0KLmVzdC10di1oZWFkZXIgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDE0cHg7IG1hcmdpbi10b3A6IDRweDsKfQouZXN0LXR2LWhlYWRlci1uYW1lIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07IGNvbG9yOiB2YXIoLS1pbmspOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKfQouZXN0LXR2LWhlYWRlci1uYW1lIC5kb3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDVweDsgaGVpZ2h0OiA1cHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsKfQouZXN0LXR2LWhlYWRlci1uYW1lIC5jb3VudCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsKICBjb2xvcjogdmFyKC0tc3RlZWwpOyBmb250LXdlaWdodDogNTAwOyBtYXJnaW4tbGVmdDogNnB4Owp9Ci5lc3QtdHYtb3ZlcnJpZGUgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgY3Vyc29yOiBwb2ludGVyOwogIHVzZXItc2VsZWN0OiBub25lOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouZXN0LXR2LW92ZXJyaWRlIGlucHV0IHsgcG9zaXRpb246IGFic29sdXRlOyBvcGFjaXR5OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfQouZXN0LXR2LW92ZXJyaWRlIC5zdyB7CiAgd2lkdGg6IDMwcHg7IGhlaWdodDogMThweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcnVsZS0yKTsgcG9zaXRpb246IHJlbGF0aXZlOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZTsgZmxleC1zaHJpbms6IDA7Cn0KLmVzdC10di1vdmVycmlkZSAuc3c6OmFmdGVyIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDJweDsgbGVmdDogMnB4OwogIHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgdHJhbnNpdGlvbjogbGVmdCAxNjBtcyBlYXNlOwp9Ci5lc3QtdHYtb3ZlcnJpZGUgaW5wdXQ6Y2hlY2tlZCArIC5zdyB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IH0KLmVzdC10di1vdmVycmlkZSBpbnB1dDpjaGVja2VkICsgLnN3OjphZnRlciB7IGxlZnQ6IDE0cHg7IH0KCi5lc3QtdHYtbWF0cml4IHsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxMnB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBvdmVyZmxvdzogaGlkZGVuOwp9Ci5lc3QtdHYtbWF0cml4LXJvdyB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTJweDsgcGFkZGluZzogMTBweCAxNHB4OyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7Cn0KLmVzdC10di1tYXRyaXgtcm93ICsgLmVzdC10di1tYXRyaXgtcm93IHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyB9Ci5lc3QtdHYtbWF0cml4LXJvdy5oYXMgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSg3OSwxNDAsMjU1LC4wNiksIHRyYW5zcGFyZW50IDYwJSk7Cn0KLmVzdC10di1tYXRyaXgtcm93IC5sYmwgewogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgZm9udC13ZWlnaHQ6IDUwMDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBnYXA6IDhweDsKfQouZXN0LXR2LW1hdHJpeC1yb3cuaGFzIC5sYmwgeyBjb2xvcjogdmFyKC0taW5rKTsgfQouZXN0LXR2LW1hdHJpeC1yb3cgLnByaWNlIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7IGZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5lc3QtdHYtZ2xvYmFscyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTRweDsgfQoKLyogSXRlbXMgbW9kZSAqLwouZXN0LXR2LWl0ZW1zIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyB9Ci5lc3QtdHYtaXRlbSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IG92ZXJmbG93OiBoaWRkZW47Cn0KLmVzdC10di1pdGVtLWhlYWQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsKICBwYWRkaW5nOiAxMHB4IDE0cHg7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKfQouZXN0LXR2LWl0ZW0tdGFnIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjA2ZW07IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBmb250LXdlaWdodDogNjAwOwp9Ci5lc3QtdHYtaXRlbS1jb3VudCB7CiAgbWFyZ2luLWxlZnQ6IGF1dG87IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQouZXN0LXR2LWl0ZW0tcmVtb3ZlIHsKICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY3Vyc29yOiBwb2ludGVyOwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDE7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZSwgY29sb3IgMTQwbXMgZWFzZTsKfQouZXN0LXR2LWl0ZW0tcmVtb3ZlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tcnVsZSk7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5lc3QtdHYtaXRlbS1ib2R5IHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTBweCAxNHB4OwogIHBhZGRpbmc6IDEycHggMTRweDsKfQouZXN0LXR2LWl0ZW0tZmllbGQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsgfQouZXN0LXR2LWl0ZW0tZmllbGQgLmsgewogIGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9Ci5lc3QtdHYtaXRlbS1maWVsZCBzZWxlY3QgewogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmspOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDhweCAyOHB4IDhweCAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7CiAgYXBwZWFyYW5jZTogbm9uZTsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PSc2JyB2aWV3Qm94PScwIDAgMTAgNic+PHBhdGggZD0nTTEgMWw0IDQgNC00JyBzdHJva2U9JyUyMzVDNkI4NScgc3Ryb2tlLXdpZHRoPScxLjUnIGZpbGw9J25vbmUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvPjwvc3ZnPiIpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyOwp9Ci5lc3QtdHYtaXRlbS1maWVsZCBzZWxlY3Q6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyB9Ci5lc3QtdHYtaXRlbS1maWVsZC5jYWJsZXMgewogIGdyaWQtY29sdW1uOiAxIC8gLTE7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsKfQouZXN0LXR2LWl0ZW0tZmllbGQuY2FibGVzIGxhYmVsIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGN1cnNvcjogcG9pbnRlcjsKfQouZXN0LXR2LWFkZCB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1ydWxlLTIpOwogIGJvcmRlci1yYWRpdXM6IDEycHg7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgcGFkZGluZzogMTFweDsgY3Vyc29yOiBwb2ludGVyOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2U7Cn0KLmVzdC10di1hZGQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLXNvZnQpOyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyB9CgpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAuZXN0LXR2LWhlYWRlciB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDEwcHg7IH0KICAuZXN0LXR2LWl0ZW0tYm9keSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9Cn0KCi8qIFF1b3RlIGNhcmQ6IHBlci1saW5lIGJyZWFrZG93biBmb3IgbXVsdGktdW5pdCBqb2JzICovCi5xdW90ZS1saW5lcyB7CiAgbWFyZ2luLXRvcDogMTRweDsgcGFkZGluZy10b3A6IDE0cHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEwKTsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDZweDsKfQoucXVvdGUtbGluZXM6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9Ci5xdW90ZS1saW5lIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZm9udC1zaXplOiAxNHB4OyBnYXA6IDEycHg7Cn0KLnF1b3RlLWxpbmUgLnFsLWwgewogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44Mik7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiA2cHg7CiAgbWluLXdpZHRoOiAwOyBmbGV4OiAxIDEgYXV0bzsgb3ZlcmZsb3c6IGhpZGRlbjsKfQoucXVvdGUtbGluZSAucWwtY291bnQgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7CiAgY29sb3I6IHZhcigtLWlyaS1jKTsgZmxleC1zaHJpbms6IDA7Cn0KLnF1b3RlLWxpbmUgLnFsLXRhZyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQ1KTsgbGV0dGVyLXNwYWNpbmc6IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnF1b3RlLWxpbmUgLnFsLXIgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGNvbG9yOiB2YXIoLS1wYXBlcik7IHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnF1b3RlLWxpbmUuaXMtZGlzY291bnQgewogIG1hcmdpbi10b3A6IDJweDsgcGFkZGluZy10b3A6IDZweDsKICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYmEoMjU1LDI1NSwyNTUsLjEyKTsKfQoucXVvdGUtbGluZS5pcy1kaXNjb3VudCAucWwtbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1pcmktYyk7Cn0KLnF1b3RlLWxpbmUuaXMtZGlzY291bnQgLnFsLXIgeyBjb2xvcjogdmFyKC0taXJpLWMpOyB9CgovKiBNdWx0aS1zZXJ2aWNlIGJyZWFrZG93bjogc21hbGwgcGVyLXNlcnZpY2UgaGVhZGVyICovCi5xdW90ZS1zdmMtaGVhZCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxMnB4OyBtYXJnaW4tdG9wOiAxMHB4OyBwYWRkaW5nLXRvcDogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Cn0KLnF1b3RlLXN2Yy1oZWFkLmZpcnN0IHsgbWFyZ2luLXRvcDogMDsgcGFkZGluZy10b3A6IDA7IGJvcmRlci10b3A6IDA7IH0KLnF1b3RlLXN2Yy1oZWFkIC5xc2gtbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBjb2xvcjogdmFyKC0tcGFwZXIpOwp9Ci5xdW90ZS1zdmMtaGVhZCAucXNoLXN1YiB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7IGZvbnQtd2VpZ2h0OiA1MDA7Cn0KCi8qIFJJR0hUIFNJREU6IGxpdmUgcXVvdGUgKi8KLnF1b3RlLWNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgYm9yZGVyLXJhZGl1czogMjJweDsKICBwYWRkaW5nOiAyNnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5xdW90ZS1jYXJkOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOwogIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDkwJSAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMTgpLCB0cmFuc3BhcmVudCksCiAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgMCUgMTAwJSwgcmdiYSgxNDYsMjI5LDI1NSwuMTApLCB0cmFuc3BhcmVudCk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLnF1b3RlLWNhcmQtaW5uZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLnF1b3RlLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyBtYXJnaW46IDAgMCA4cHggMDsKfQoucXVvdGUtcmFuZ2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc2l6ZTogNDRweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW07IGxpbmUtaGVpZ2h0OiAxOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiA0cHg7Cn0KLnF1b3RlLXJhbmdlIC5kYXNoIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQpOyBtYXJnaW46IDAgNHB4OyBmb250LXdlaWdodDogNTAwOyB9Ci5xdW90ZS10eXBpY2FsIHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43KTsgbWFyZ2luLXRvcDogMTBweDsKfQoucXVvdGUtdHlwaWNhbCBzdHJvbmcgeyBjb2xvcjogdmFyKC0tcGFwZXIpOyBmb250LXdlaWdodDogNjAwOyB9CgoucXVvdGUtYnJlYWtkb3duIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogOHB4OwogIG1hcmdpbi10b3A6IDE4cHg7IHBhZGRpbmctdG9wOiAxOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsKfQoucXVvdGUtYnJlYWtkb3duLWl0ZW0geyBmb250LXNpemU6IDE0cHg7IH0KLnF1b3RlLWJyZWFrZG93bi1pdGVtIC5rIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDJweDsgfQoucXVvdGUtYnJlYWtkb3duLWl0ZW0gLnYgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXBhcGVyKTsgfQoKLnRlY2gtY2FyZCB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDUpOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOwogIGJvcmRlci1yYWRpdXM6IDE0cHg7CiAgcGFkZGluZzogMTJweDsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7CiAgbWFyZ2luLXRvcDogMTZweDsKfQoubW9uby1hdmF0YXIgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXNocmluazogMDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtLjAyZW07CiAgY29sb3I6ICNGQkZDRkU7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taGFsbykgMCUsIHZhcigtLWluaykgMTAwJSk7Cn0KLnRlY2gtY2FyZCAubW9uby1hdmF0YXIgeyB3aWR0aDogMzhweDsgaGVpZ2h0OiAzOHB4OyBmb250LXNpemU6IDE0cHg7IH0KLmNoYW5uZWwgLm1vbm8tYXZhdGFyICAgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE1cHg7IH0KLmZvdW5kZXItbm90ZSB7IG1hcmdpbi10b3A6IDI4cHg7IHBhZGRpbmctdG9wOiAyMnB4OyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTApOyB9Ci5mb3VuZGVyLXF1b3RlIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxN3B4OyBsaW5lLWhlaWdodDogMS41OyBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAxZW07IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44Mik7IG1hcmdpbjogMCAwIDE2cHggMDsgbWF4LXdpZHRoOiA1NmNoOwp9Ci5mb3VuZGVyLXNpZ24geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IH0KLmZvdW5kZXItc2lnbiAubW9uby1hdmF0YXIgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE1cHg7IH0KLnRlY2gtY2FyZCAud2hvIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgfQoudGVjaC1jYXJkIC5tZXRhIHsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTsgbWFyZ2luLXRvcDogMXB4OyB9Ci50ZWNoLWNhcmQgLndoZW4gewogIG1hcmdpbi1sZWZ0OiBhdXRvOyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1oYWxvLTIpOyB0ZXh0LWFsaWduOiByaWdodDsKICBsZXR0ZXItc3BhY2luZzogLjA0ZW07Cn0KCi5hY3Rpb24tcm93IHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogOHB4OwogIG1hcmdpbi10b3A6IDZweDsKfQouYWN0aW9uLWJ0biB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBwYWRkaW5nOiAxM3B4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAwNWVtOyBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDhweDsKICB0cmFuc2l0aW9uOiBhbGwgMTYwbXMgZWFzZTsKfQouYWN0aW9uLWJ0bjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9Ci5hY3Rpb24tYnRuLmlzLXByaW1hcnkgewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsKfQouYWN0aW9uLWJ0bi5pcy1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5hY3Rpb24tYnRuIHN2ZyB7IGNvbG9yOiBjdXJyZW50Q29sb3I7IH0KCi5jaGFubmVsLWNhcHR1cmUgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNHB4OwogIGRpc3BsYXk6IG5vbmU7Cn0KLmNoYW5uZWwtY2FwdHVyZS5pcy1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH0KLmNoYW5uZWwtY2FwdHVyZS1oIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOwogIG1hcmdpbjogMCAwIDRweCAwOwp9Ci5jaGFubmVsLWNhcHR1cmUtcCB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDAgMCAxMHB4IDA7IGxpbmUtaGVpZ2h0OiAxLjQ1Owp9Ci5jaGFubmVsLWNhcHR1cmUtcm93IHsKICBkaXNwbGF5OiBmbGV4OyBnYXA6IDZweDsKfQouY2hhbm5lbC1jYXB0dXJlLWlucHV0IHsKICBmbGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogMTBweCAxMnB4OyBib3JkZXItcmFkaXVzOiAxMHB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWluayk7CiAgb3V0bGluZTogbm9uZTsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2U7Cn0KLmNoYW5uZWwtY2FwdHVyZS1pbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgfQouY2hhbm5lbC1jYXB0dXJlLXNlbmQgewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMDsKICBwYWRkaW5nOiAwIDE2cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOwp9Ci5jaGFubmVsLWNhcHR1cmUtc2VuZDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IH0KLmNoYW5uZWwtY2FwdHVyZS1sZWdhbCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLXRvcDogOHB4OyBsaW5lLWhlaWdodDogMS40OyB9Cgouc3VjY2Vzcy1zdGF0ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNHB4OwogIHBhZGRpbmc6IDE0cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsKICBkaXNwbGF5OiBub25lOwp9Ci5zdWNjZXNzLXN0YXRlLmlzLW9wZW4geyBkaXNwbGF5OiBmbGV4OyB9Ci5zdWNjZXNzLWljb24gewogIHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNEZDQjhCLCAjM0JBQTc1KTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgY29sb3I6IHdoaXRlOwogIGZsZXgtc2hyaW5rOiAwOwp9Ci5zdWNjZXNzLXN0YXRlIC5oIHsgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnN1Y2Nlc3Mtc3RhdGUgLnAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi10b3A6IDJweDsgfQoKLyogY29tbWVyY2lhbCBlc3RpbWF0b3IgKi8KLmVzdC1sb2NhdGlvbnMtcm93IHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTJweDsKICBtYXJnaW4tYm90dG9tOiAyMnB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgewogIC5lc3QtbG9jYXRpb25zLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9Cn0KLmVzdC1udW0tY2FyZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDEycHggMTRweDsKfQouZXN0LW51bS1jYXJkIC5rIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsKfQouZXN0LW51bS1jb250cm9scyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogNnB4OyB9Ci5lc3QtbnVtLWJ0biB7CiAgd2lkdGg6IDI2cHg7IGhlaWdodDogMjZweDsgYm9yZGVyLXJhZGl1czogN3B4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBjb2xvcjogdmFyKC0taW5rKTsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmVzdC1udW0tYnRuOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyB9Ci5lc3QtbnVtLWlucHV0IHsKICBmbGV4OiAxOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyBvdXRsaW5lOiBub25lOwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDIycHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgY29sb3I6IHZhcigtLWluayk7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDMwcHg7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsKICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsKfQouZXN0LW51bS1pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwKLmVzdC1udW0taW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IG1hcmdpbjogMDsgfQoKLyogPT09PT09PT09PT09PT09IEFNRUxJQSBCT09LSU5HIE1PREFMID09PT09PT09PT09PT09PSAqLwouYW1lbGlhLW1vZGFsIHsKICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAxMDAwOwogIGRpc3BsYXk6IG5vbmU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGJhY2tncm91bmQ6IHJnYmEoNywgMTYsIDMxLCAwLjYyKTsKICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKICBwYWRkaW5nOiAyNHB4OwogIG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgMjIwbXMgZWFzZTsKfQouYW1lbGlhLW1vZGFsLmlzLW9wZW4geyBkaXNwbGF5OiBmbGV4OyBvcGFjaXR5OiAxOyB9Ci5hbWVsaWEtbW9kYWwtc2hlbGwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA5MjBweDsgaGVpZ2h0OiA4OHZoOyBtYXgtaGVpZ2h0OiA3NjBweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlci1yYWRpdXM6IDE4cHg7IG92ZXJmbG93OiBoaWRkZW47CiAgYm94LXNoYWRvdzogMCAzMHB4IDgwcHggLTIwcHggcmdiYSgwLDAsMCwuNDUpLCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMDQpOwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45ODUpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyODBtcyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSk7Cn0KLmFtZWxpYS1tb2RhbC5pcy1vcGVuIC5hbWVsaWEtbW9kYWwtc2hlbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7IH0KLmFtZWxpYS1tb2RhbC1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcGFkZGluZzogMTRweCAxOHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7Cn0KLmFtZWxpYS1tb2RhbC10aXRsZSB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE1cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IGNvbG9yOiB2YXIoLS1pbmspOwp9Ci5hbWVsaWEtbW9kYWwtdGl0bGUgLmRvdCB7CiAgd2lkdGg6IDdweDsgaGVpZ2h0OiA3cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiAjNGFkZTgwOyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3NCwyMjIsMTI4LC4xOCk7Cn0KLmFtZWxpYS1tb2RhbC10aXRsZSAucGlsbCB7CiAgbWFyZ2luLWxlZnQ6IDRweDsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyBwYWRkaW5nOiAzcHggOHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogNnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLmFtZWxpYS1tb2RhbC1jbG9zZSB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgdHJhbnNpdGlvbjogYWxsIDE2MG1zIGVhc2U7Cn0KLmFtZWxpYS1tb2RhbC1jbG9zZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyB9Ci5hbWVsaWEtbW9kYWwtYm9keSB7CiAgZmxleDogMTsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7Cn0KLyogLS0tLSBNb2NrIEFtZWxpYSB3aWRnZXQgKHZpc3VhbCBzdGFuZC1pbiB1bnRpbCByZWFsIEFtZWxpYSBpcyB3aXJlZCkgLS0tLSAqLwouYW1vY2sgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyBvdmVyZmxvdzogaGlkZGVuOwp9Ci5hbW9jay1zdGVwcGVyIHsKICBkaXNwbGF5OiBmbGV4OyBnYXA6IDZweDsgcGFkZGluZzogMTRweCAxOHB4IDEycHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7Cn0KLmFtb2NrLXN0ZXAgewogIGZsZXg6IDE7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OwogIGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7CiAgcGFkZGluZzogNnB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDhweDsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsKICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKfQouYW1vY2stc3RlcCAubiB7CiAgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgYmFja2dyb3VuZDogdmFyKC0tcnVsZSk7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLmFtb2NrLXN0ZXAuaXMtYWN0aXZlIHsgY29sb3I6IHZhcigtLWluayk7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyB9Ci5hbW9jay1zdGVwLmlzLWFjdGl2ZSAubiB7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IH0KLmFtb2NrLXN0ZXAuaXMtZG9uZSAubiB7IGJhY2tncm91bmQ6ICM0YWRlODA7IGNvbG9yOiB3aGl0ZTsgfQoKLmFtb2NrLWJvZHkgeyBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBtaW4taGVpZ2h0OiAwOyB9Ci5hbW9jay1tYWluIHsKICBmbGV4OiAxOyBwYWRkaW5nOiAyMHB4IDIycHg7IG92ZXJmbG93OiBhdXRvOwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTZweDsKfQouYW1vY2stc2lkZSB7CiAgd2lkdGg6IDI0MHB4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBwYWRkaW5nOiAxOHB4IDE4cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNHB4OwogIGZvbnQtc2l6ZTogMTRweDsKfQouYW1vY2stc2lkZSBoNCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgbWFyZ2luOiAwOyBmb250LXdlaWdodDogNTAwOwp9Ci5hbW9jay1zaWRlIC5zdmMtbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTdweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBjb2xvcjogdmFyKC0taW5rKTsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgbWFyZ2luOiAycHggMCAwOwp9Ci5hbW9jay1zaWRlIC5zdmMtbWV0YSB7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGxpbmUtaGVpZ2h0OiAxLjU1OyBmb250LXNpemU6IDE0cHg7IH0KLmFtb2NrLXNpZGUgLnN1bW1hcnktcm93IHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcGFkZGluZzogN3B4IDA7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7Cn0KLmFtb2NrLXNpZGUgLnN1bW1hcnktcm93IC52IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0taW5rKTsKfQouYW1vY2stc2lkZSAuc3VtbWFyeS1yb3cucGxhY2Vob2xkZXIgLnYgeyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQouYW1vY2stc2lkZSAudG90YWwgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmctdG9wOiAxMHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcnVsZS0yKTsKICBtYXJnaW4tdG9wOiBhdXRvOwp9Ci5hbW9jay1zaWRlIC50b3RhbCAubGFiZWwgeyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IC4xZW07IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgfQouYW1vY2stc2lkZSAudG90YWwgLnZhbCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtLjAyZW07IGNvbG9yOiB2YXIoLS1pbmspOyB9CgouYW1vY2staCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMDsKfQouYW1vY2stc3ViIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW46IDJweCAwIDA7IH0KCi8qIENhbGVuZGFyICovCi5hbW9jay1jYWwgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTJweDsKICBwYWRkaW5nOiAxNHB4IDE2cHg7Cn0KLmFtb2NrLWNhbC1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKfQouYW1vY2stY2FsLWhlYWQgLm1vbnRoIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taW5rKTsKfQouYW1vY2stY2FsLW5hdiB7CiAgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7Cn0KLmFtb2NrLWNhbC1uYXYgYnV0dG9uIHsKICB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4OyBib3JkZXItcmFkaXVzOiAxMXB4OwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWluayk7CiAgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGZvbnQtc2l6ZTogMjJweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYm94LXNoYWRvdzogMCAycHggNnB4IC0ycHggcmdiYSg3LDE2LDMxLC4zNSk7CiAgdHJhbnNpdGlvbjogYWxsIDE2MG1zIGVhc2U7Cn0KLmFtb2NrLWNhbC1uYXYgYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KLmFtb2NrLWNhbC1uYXYgYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQouYW1vY2stY2FsLW5hdiBidXR0b246ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjIyOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyBib3gtc2hhZG93OiBub25lOyB9Ci5hbW9jay1jYWwtZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsgZ2FwOiA0cHg7Cn0KLmFtb2NrLWNhbC1kb3cgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMWVtOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA0cHggMDsKfQouYW1vY2stY2FsLWRheSB7CiAgYXNwZWN0LXJhdGlvOiAxOyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJhZGl1czogOHB4OwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0taW5rLTIpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0cmFuc2l0aW9uOiBhbGwgMTQwbXMgZWFzZTsKfQouYW1vY2stY2FsLWRheTpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUpOyB9Ci5hbW9jay1jYWwtZGF5Lmhhcy1zbG90czo6YWZ0ZXIgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogNXB4OyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICB3aWR0aDogNHB4OyBoZWlnaHQ6IDRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiAjNGFkZTgwOwp9Ci5hbW9jay1jYWwtZGF5LmlzLXRvZGF5IHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWluayk7IH0KLmFtb2NrLWNhbC1kYXkuaXMtc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH0KLmFtb2NrLWNhbC1kYXkuaXMtc2VsZWN0ZWQuaGFzLXNsb3RzOjphZnRlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tMik7IH0KLmFtb2NrLWNhbC1kYXk6ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjI4OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9Ci5hbW9jay1jYWwtZGF5LmlzLW90aGVyLW1vbnRoIHsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyBvcGFjaXR5OiAwLjU7IH0KCi8qIFNsb3RzICovCi5hbW9jay1zbG90LXNlY3Rpb24geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfQouYW1vY2stc2xvdC1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7Cn0KLmFtb2NrLXNsb3QtbGFiZWw6OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXN0ZWVsLTIpOwp9Ci5hbW9jay1zbG90LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMDhweCwgMWZyKSk7IGdhcDogN3B4OyB9Ci5hbW9jay1zbG90IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDhweDsKICBwYWRkaW5nOiA5cHggMTBweDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmspOwogIHRyYW5zaXRpb246IGFsbCAxNDBtcyBlYXNlOyBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmFtb2NrLXNsb3Q6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgYm94LXNoYWRvdzogMCA0cHggMTBweCAtNHB4IHJnYmEoMCwwLDAsMC4wOCk7IH0KLmFtb2NrLXNsb3QuaXMtc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH0KLmFtb2NrLXNsb3Q6ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjQ7IGN1cnNvcjogbm90LWFsbG93ZWQ7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IH0KLmFtb2NrLXNsb3QgLnRlY2gtdGFnIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTdweDsgcmlnaHQ6IC01cHg7CiAgZm9udC1zaXplOiA4LjVweDsgcGFkZGluZzogMnB4IDVweDsgYm9yZGVyLXJhZGl1czogNHB4OwogIGJhY2tncm91bmQ6IHJnYmEoMTQ2LDIyOSwyNTUsLjIyKTsgY29sb3I6IHZhcigtLWhhbG8tMik7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ2LDIyOSwyNTUsLjMpOwp9CgovKiBGb3JtICovCi5hbW9jay1mb3JtIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEycHg7IH0KLmFtb2NrLWZpZWxkIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA1cHg7IH0KLmFtb2NrLWZpZWxkLmZ1bGwgeyBncmlkLWNvbHVtbjogMSAvIC0xOyB9Ci5hbW9jay1maWVsZCBsYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLmFtb2NrLWZpZWxkIGlucHV0LCAuYW1vY2stZmllbGQgdGV4dGFyZWEsIC5hbW9jay1maWVsZCBzZWxlY3QgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogOXB4OwogIHBhZGRpbmc6IDEwcHggMTJweDsgZm9udC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogaW5oZXJpdDsKICBjb2xvcjogdmFyKC0taW5rKTsgdHJhbnNpdGlvbjogYWxsIDE0MG1zIGVhc2U7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQouYW1vY2stZmllbGQgaW5wdXQ6Zm9jdXMsIC5hbW9jay1maWVsZCB0ZXh0YXJlYTpmb2N1cywgLmFtb2NrLWZpZWxkIHNlbGVjdDpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3LDE2LDMxLC4wNik7Cn0KLmFtZi1oaW50IHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOiA1cHg7IGxpbmUtaGVpZ2h0OiAxLjQ7IH0KLmFtZi1oaW50IGEgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZS0yKTsgfQouYW1mLWhpbnQgYTpob3ZlciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLmFtb2NrLWZpZWxkIHRleHRhcmVhIHsgbWluLWhlaWdodDogNzBweDsgcmVzaXplOiB2ZXJ0aWNhbDsgZm9udC13ZWlnaHQ6IDQwMDsgfQoKLmFtb2NrLWZvb3QgewogIHBhZGRpbmc6IDEycHggMThweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5hbW9jay1mb290IC5wcm9ncmVzcyB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgfQouYW1vY2stZm9vdCAuYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyB9Ci5hbW9jay1idG4gewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogOXB4OwogIHBhZGRpbmc6IDlweCAxNnB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0taW5rLTIpOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKICB0cmFuc2l0aW9uOiBhbGwgMTQwbXMgZWFzZTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKfQouYW1vY2stYnRuOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyBjb2xvcjogdmFyKC0taW5rKTsgfQouYW1vY2stYnRuLmlzLXByaW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH0KLmFtb2NrLWJ0bi5pcy1wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0taW5rLTIpOyB9Ci5hbW9jay1idG46ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjQ7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH0KCi8qIENvbmZpcm1hdGlvbiAqLwouYW1vY2stZG9uZSB7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA0MHB4IDIwcHg7IGZsZXg6IDE7IGdhcDogMTRweDsKfQouYW1vY2stZG9uZS1jaGVjayB7CiAgd2lkdGg6IDU2cHg7IGhlaWdodDogNTZweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQ6IHJnYmEoNzQsMjIyLDEyOCwuMTYpOyBjb2xvcjogIzE2YTM0YTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc0LDIyMiwxMjgsLjMyKTsKfQouYW1vY2stZG9uZSBoMyB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luOiAwOwp9Ci5hbW9jay1kb25lIHAgeyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTRweDsgbWF4LXdpZHRoOiAzOGNoOyBsaW5lLWhlaWdodDogMS41NTsgfQouYW1vY2stZG9uZSAucmVmIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogOHB4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDhweDsgY29sb3I6IHZhcigtLWluay0yKTsKICBsZXR0ZXItc3BhY2luZzogLjA0ZW07IG1hcmdpbi10b3A6IDRweDsKfQoKQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7CiAgLmFtb2NrLXNpZGUgeyBkaXNwbGF5OiBub25lOyB9CiAgLmFtb2NrLWZvcm0geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQp9Ci5hbWVsaWEtbW9kYWwtZm9vdCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDEwcHggMThweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQouYW1lbGlhLW1vZGFsLWZvb3QgLmtleSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsKfQouYW1lbGlhLW1vZGFsLWZvb3QgYSB7IGNvbG9yOiB2YXIoLS1pbmstMik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUtMik7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7CiAgLmFtZWxpYS1tb2RhbCB7IHBhZGRpbmc6IDA7IH0KICAuYW1lbGlhLW1vZGFsLXNoZWxsIHsgaGVpZ2h0OiAxMDB2aDsgbWF4LWhlaWdodDogbm9uZTsgYm9yZGVyLXJhZGl1czogMDsgfQp9CgovKiA9PT09PT09PT09PT09PT0gQVBQT0lOVE1FTlQgQk9PS0lORyAoQW1lbGlhKSA9PT09PT09PT09PT09PT0gKi8KLmJvb2stc2VjdGlvbiB7IHBhZGRpbmc6IDgwcHggMCAyNHB4OyB9Ci5ib29rLWhlYWQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxOHB4OyBtYXJnaW4tYm90dG9tOiAyOHB4Owp9Ci5ib29rLWhlYWQgLnJpZ2h0IHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4Owp9Ci5ib29rLWhlYWQgLnJpZ2h0IC5iYWRnZSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBjb2xvcjogdmFyKC0tc3RlZWwpOyBwYWRkaW5nOiAzcHggN3B4OyBib3JkZXItcmFkaXVzOiA1cHg7Cn0KLmFwcHQtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTRweDsgfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgLmFwcHQtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KLmFwcHQgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMjJweDsKICBwYWRkaW5nOiAyNnB4OyBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OwogIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogIHRleHQtYWxpZ246IGxlZnQ7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouYXBwdDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgYm94LXNoYWRvdzogMCAxNHB4IDQwcHggLTIycHggcmdiYSg3LDE2LDMxLC4xOCk7IH0KLmFwcHQuaXMtcmVjb21tZW5kZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH0KLmFwcHQuaXMtcmVjb21tZW5kZWQ6OmFmdGVyIHsKICBjb250ZW50OiAnTW9zdCBib29rZWQnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEwcHg7IHJpZ2h0OiAxOHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIHBhZGRpbmc6IDRweCA5cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4Owp9Ci5hcHB0LWljb24gewogIHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcGFwZXItMiksIHdoaXRlKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouYXBwdC1uYW1lIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IG1hcmdpbjogMDsKfQouYXBwdC1kZXNjIHsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjU7IG1hcmdpbjogMDsgZmxleDogMTsgfQouYXBwdC1tZXRhIHsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMTBweDsKICBwYWRkaW5nLXRvcDogMTJweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQouYXBwdC1tZXRhIHNwYW4geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7IH0KLmFwcHQtY3RhIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmspOwogIG1hcmdpbi10b3A6IDRweDsKfQouYXBwdDpob3ZlciAuYXBwdC1jdGEgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQouYXBwdC1jdGEgLmFycm93IHsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2U7IH0KLmFwcHQ6aG92ZXIgLmFwcHQtY3RhIC5hcnJvdyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpOyB9Ci5hcHB0LXByaWNlIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsKfQouYXBwdC1wcmljZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoKLmFtZWxpYS1mb290IHsKICBtYXJnaW4tdG9wOiAxOHB4OwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgdGV4dC1hbGlnbjogY2VudGVyOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICB3aWR0aDogMTAwJTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmFtZWxpYS1mb290IC5rZXkgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgY29sb3I6IHZhcigtLWluay0yKTsKICBwYWRkaW5nOiAzcHggN3B4OyBib3JkZXItcmFkaXVzOiA1cHg7Cn0KCi8qID09PT09PT09PT09PT09PSBTSVRFIFNVUlZFWSAoY29tbWVyY2lhbCkgPT09PT09PT09PT09PT09ICovCi5zdXJ2ZXktY2FyZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDIycHg7IHBhZGRpbmc6IDI4cHg7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDE0cHg7CiAgbWFyZ2luLXRvcDogMjhweDsKfQpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsgLnN1cnZleS1jYXJkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IHBhZGRpbmc6IDIycHg7IH0gfQouc3VydmV5LWZpZWxkIHsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDZweDsKfQouc3VydmV5LWZpZWxkLmZ1bGwgeyBncmlkLWNvbHVtbjogMSAvIC0xOyB9Ci5zdXJ2ZXktbGFiZWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQouc3VydmV5LWlucHV0LCAuc3VydmV5LXNlbGVjdCwgLnN1cnZleS10ZXh0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDExcHggMTNweDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rKTsKICBvdXRsaW5lOiBub25lOyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZTsKfQouc3VydmV5LWlucHV0OmZvY3VzLCAuc3VydmV5LXNlbGVjdDpmb2N1cywgLnN1cnZleS10ZXh0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5zdXJ2ZXktdGV4dCB7IG1pbi1oZWlnaHQ6IDgwcHg7IHJlc2l6ZTogdmVydGljYWw7IGxpbmUtaGVpZ2h0OiAxLjU7IH0KLnN1cnZleS1zdWJtaXQgewogIGdyaWQtY29sdW1uOiAxIC8gLTE7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDEycHg7IG1hcmdpbi10b3A6IDZweDsgZmxleC13cmFwOiB3cmFwOwp9Ci5zdXJ2ZXktcHJvbWlzZSB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KCi8qID09PT09PT09PT09PT09PSBTVElDS1kgRVNUSU1BVEUgQkFSID09PT09PT09PT09PT09PSAqLwouc3RpY2t5LWVzdGltYXRlIHsKICBwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMTZweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxMjAlKTsKICB6LWluZGV4OiA2MDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIHBhZGRpbmc6IDEwcHggMTJweCAxMHB4IDE4cHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNHB4OwogIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDcsMTYsMzEsLjEpLCAwIDE4cHggNTBweCAtMTZweCByZ2JhKDcsMTYsMzEsLjQpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzNTBtcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTsKICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKfQouc3RpY2t5LWVzdGltYXRlLmlzLXZpc2libGUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgwKTsgfQouc3RpY2t5LWVzdGltYXRlIC5kb3QgewogIHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOwogIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg3OSwxNDAsMjU1LC42KTsKICBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouc3RpY2t5LWVzdGltYXRlIC5zZS1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7Cn0KLnN0aWNreS1lc3RpbWF0ZSAuc2UtcmFuZ2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtLjAyZW07Cn0KLnN0aWNreS1lc3RpbWF0ZSAuc2UtY3RhIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgY29sb3I6IHZhcigtLWluayk7CiAgcGFkZGluZzogOHB4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owp9Ci5zdGlja3ktZXN0aW1hdGUgLnNlLWN0YTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tMik7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7CiAgLnN0aWNreS1lc3RpbWF0ZSB7IHBhZGRpbmc6IDlweCAxMHB4IDlweCAxNHB4OyBnYXA6IDEwcHg7IH0KICAuc3RpY2t5LWVzdGltYXRlIC5zZS1sYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH0KfQoKLyogPT09PT09PT09PT09PT09IFJPQk9USUNTIFBJTExBUiA9PT09PT09PT09PT09PT0gKi8KLnJvYm90aWNzLWJsb2NrIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1wYXBlci0yKSwgdmFyKC0tcGFwZXIpKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAzMnB4OwogIHBhZGRpbmc6IDcycHggNTZweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47Cn0KLnJvYm90aWNzLWJsb2NrOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDQ1JSAzNSUgYXQgMTAwJSAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMTApLCB0cmFuc3BhcmVudCA2MCUpLAogICAgcmFkaWFsLWdyYWRpZW50KDQ1JSAzNSUgYXQgMCUgMTAwJSwgcmdiYSgxNDYsMjI5LDI1NSwuMDgpLCB0cmFuc3BhcmVudCA2MCUpOwp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeyAucm9ib3RpY3MtYmxvY2sgeyBwYWRkaW5nOiA0OHB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDIycHg7IH0gfQoKLnJvYm90aWNzLXNlcnZpY2VzLWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTRweDsKICBtYXJnaW4tdG9wOiAzMnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7IC5yb2JvdGljcy1zZXJ2aWNlcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgIHsgLnJvYm90aWNzLXNlcnZpY2VzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9Cgoucm9ib3RpYy1zdmMgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMThweDsKICBwYWRkaW5nOiAyNHB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7Cn0KLnJvYm90aWMtc3ZjOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICBib3gtc2hhZG93OiAwIDE0cHggNDBweCAtMjJweCByZ2JhKDcsMTYsMzEsLjE4KTsKfQoucm9ib3RpYy1zdmMtaWNvbiB7CiAgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDsgYm9yZGVyLXJhZGl1czogMTJweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NywxNTUsMjU1LC4xNCksIHJnYmEoMTExLDE2NywyNTUsLjEwKSk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLWJvdHRvbTogMTZweDsKfQoucm9ib3RpYy1zdmMtbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBtYXJnaW46IDAgMCA2cHggMDsKfQoucm9ib3RpYy1zdmMtZGVzYyB7CiAgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjU1OyBtYXJnaW46IDAgMCAxNHB4IDA7IGZsZXg6IDE7Cn0KLnJvYm90aWMtc3ZjLWZvb3QgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nLXRvcDogMTRweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICBnYXA6IDEwcHg7Cn0KLnJvYm90aWMtc3ZjLWZvb3QgLmRlcGxveWVkIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KLnJvYm90aWMtc3ZjLWZvb3QgLmRlcGxveWVkOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQ6ICM0YWRlODA7CiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDc0LDIyMiwxMjgsLjUpOwogIGFuaW1hdGlvbjogbGl2ZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9CgovKiA9PT09PT09PT09PT09PT0gTElWRSBPUFMgd2lkZ2V0ID09PT09PT09PT09PT09PSAqLwoubGl2ZW9wcyB7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsKICBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6IDI2cHg7CiAgcGFkZGluZzogMzZweDsKICBtYXJnaW4tdG9wOiAzMnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgLmxpdmVvcHMgeyBwYWRkaW5nOiAyOHB4IDIycHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7IH0gfQoubGl2ZW9wczo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgMTAwJSAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMTYpLCB0cmFuc3BhcmVudCksCiAgICByYWRpYWwtZ3JhZGllbnQoNjAlIDUwJSBhdCAwJSAxMDAlLCByZ2JhKDE0NiwyMjksMjU1LC4xMiksIHRyYW5zcGFyZW50KTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubGl2ZW9wcy1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxNnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMjRweDsKfQoubGl2ZW9wcy1leWVicm93IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMThlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogdmFyKC0taGFsby0yKTsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgbWFyZ2luOiAwOwp9Ci5saXZlb3BzLWV5ZWJyb3cgLmRvdCB7CiAgd2lkdGg6IDdweDsgaGVpZ2h0OiA3cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiAjNGFkZTgwOwogIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg3NCwyMjIsMTI4LC42KTsKICBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQoubGl2ZW9wcy1oIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXNpemU6IDI2cHg7IGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBtYXJnaW46IDZweCAwIDAgMDsKICBjb2xvcjogdmFyKC0tcGFwZXIpOwogIHRleHQtd3JhcDogYmFsYW5jZTsKfQoubGl2ZW9wcy1zdGF0dXMgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOwogIGxldHRlci1zcGFjaW5nOiAuMDJlbTsKICB0ZXh0LWFsaWduOiByaWdodDsKICBsaW5lLWhlaWdodDogMS42OwogIG1heC13aWR0aDogMjgwcHg7Cn0KLmxpdmVvcHMtc3RhdHVzIHN0cm9uZyB7IGNvbG9yOiAjNGFkZTgwOyBmb250LXdlaWdodDogNjAwOyB9Ci5saXZlb3BzLWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IGdhcDogMXB4OwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA4KTsKICBib3JkZXItcmFkaXVzOiAxNnB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgLmxpdmVvcHMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfQoubGl2ZW9wcy1zdGF0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOwogIHBhZGRpbmc6IDIycHggMjBweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmxpdmVvcHMtc3RhdC1rIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTsKfQoubGl2ZW9wcy1zdGF0LXYgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc2l6ZTogMzBweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICBtYXJnaW4tdG9wOiAycHg7Cn0KLmxpdmVvcHMtc3RhdC1zdWIgewogIGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7IG1hcmdpbi10b3A6IDRweDsKfQoubGl2ZW9wcy1zdGF0LXN1Yi51cCB7IGNvbG9yOiAjNGFkZTgwOyB9Ci5saXZlb3BzLWZvb3QgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLXRvcDogMjJweDsKICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEycHg7CiAgcGFkZGluZy10b3A6IDIycHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSk7Cn0KLmxpdmVvcHMtZm9vdCBhIHsKICBjb2xvcjogdmFyKC0taGFsby0yKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KLmxpdmVvcHMtZm9vdCBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KCi8qID09PT09PT09PT09PT09PSBWSURFTyBTSE9XQ0FTRSA9PT09PT09PT09PT09PT0gKi8KLnZpZGVvLWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTRweDsKICBtYXJnaW4tdG9wOiAzMnB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHsgLnZpZGVvLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH0KQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSAgeyAudmlkZW8tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KLnZpZGVvLWNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMThweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIHRyYW5zZm9ybSAyMDBtcyBlYXNlLCBib3gtc2hhZG93IDIwMG1zIGVhc2U7CiAgY3Vyc29yOiBwb2ludGVyOwogIHRleHQtYWxpZ246IGxlZnQ7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0Owp9Ci52aWRlby1jYXJkOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICBib3gtc2hhZG93OiAwIDE4cHggNTBweCAtMjZweCByZ2JhKDcsMTYsMzEsLjIyKTsKfQoudmlkZW8tcG9zdGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgYXNwZWN0LXJhdGlvOiAxNiAvIDEwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsKfQoudmlkZW8tcG9zdGVyIHN2Zy5wb3N0ZXItYXJ0IHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH0KLnZpZGVvLXBvc3RlciAucGxheSB7CiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogIHdpZHRoOiA1NnB4OyBoZWlnaHQ6IDU2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45Mik7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7CiAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsMCwwLC4zKTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjIwbXMgZWFzZSwgYmFja2dyb3VuZCAyMjBtcyBlYXNlOwp9Ci52aWRlby1wb3N0ZXIgLnBsYXkgc3ZnIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgY29sb3I6IHZhcigtLWluayk7IH0KLnZpZGVvLWNhcmQ6aG92ZXIgLnZpZGVvLXBvc3RlciAucGxheSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4wOCk7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7Cn0KLnZpZGVvLWJhZGdlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTJweDsgbGVmdDogMTJweDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7CiAgcGFkZGluZzogNXB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBmb250LXdlaWdodDogNjAwOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOwp9Ci52aWRlby1iYWRnZS5yZWFsIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45Mik7IGNvbG9yOiB2YXIoLS1pbmspOwp9Ci52aWRlby1iYWRnZS5yZWFsOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQ6ICNlZjQ0NDQ7CiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDIzOSw2OCw2OCwuNik7CiAgYW5pbWF0aW9uOiBsaXZlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLnZpZGVvLWJhZGdlLmFpIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NywxNTUsMjU1LC45MiksIHJnYmEoMTExLDE2NywyNTUsLjkyKSk7CiAgY29sb3I6IHdoaXRlOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpOwp9Ci52aWRlby1iYWRnZS5haTo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgNjAlIDQwJSwgMTAwJSA1MCUsIDYwJSA2MCUsIDUwJSAxMDAlLCA0MCUgNjAlLCAwJSA1MCUsIDQwJSA0MCUpOwp9Ci52aWRlby1kdXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAxMnB4OyByaWdodDogMTJweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDcsMTYsMzEsLjc4KTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBwYWRkaW5nOiAzcHggN3B4OyBib3JkZXItcmFkaXVzOiA1cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpOwp9Ci52aWRlby1tZXRhIHsKICBwYWRkaW5nOiAxNnB4IDE4cHggMThweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDZweDsKfQoudmlkZW8tdGl0bGUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE1LjVweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMDsKfQoudmlkZW8tY2FwIHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbjogMDsgbGluZS1oZWlnaHQ6IDEuNTsKfQoudmlkZW8tZm9vdC1ub3RlIHsKICBtYXJnaW4tdG9wOiAyNHB4OyBwYWRkaW5nOiAxNnB4IDIwcHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNHB4OwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNjsKICBkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Owp9Ci52aWRlby1mb290LW5vdGUgc3ZnIHsgZmxleC1zaHJpbms6IDA7IG1hcmdpbi10b3A6IDJweDsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLnZpZGVvLWZvb3Qtbm90ZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgfQoudmlkZW8tZm9vdC1ub3RlIGEgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfQoKLyogUG9zdGVyIGFydCBhbmltYXRpb25zICovCi52aWRlby1wb3N0ZXIgLnBvc3Rlci1hcnQgeyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gOTAwbXMgY3ViaWMtYmV6aWVyKC4yLC42LC4yLDEpOyB9Ci52aWRlby1jYXJkOmhvdmVyIC5wb3N0ZXItYXJ0IHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA0NSk7IH0KCi8qIEFJIHNoaW1tZXIgb3ZlcmxheSBvbiBob3ZlciAqLwoudmlkZW8tY2FyZFtkYXRhLWtpbmQ9ImFpIl0gLnZpZGVvLXBvc3Rlcjo6YWZ0ZXIgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDVkZWcsIHRyYW5zcGFyZW50IDM1JSwgcmdiYSgyNTUsMjU1LDI1NSwuMTgpIDUwJSwgdHJhbnNwYXJlbnQgNjUlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTExMCUpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjFzIGN1YmljLWJlemllciguMiwuNiwuMiwxKTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoudmlkZW8tY2FyZFtkYXRhLWtpbmQ9ImFpIl06aG92ZXIgLnZpZGVvLXBvc3Rlcjo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTEwJSk7IH0KCi8qIFJlYWwtZm9vdGFnZSBzY2FuIGxpbmUgLSBzdWJ0bGUgInBsYXlpbmciIGN1ZSAqLwoudmlkZW8tY2FyZFtkYXRhLWtpbmQ9InJlYWwiXSAudmlkZW8tcG9zdGVyOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB0b3A6IDUwJTsKICBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsMjU1LDI1NSwuNTUpLCB0cmFuc3BhcmVudCk7CiAgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsgei1pbmRleDogMjsKfQoudmlkZW8tY2FyZFtkYXRhLWtpbmQ9InJlYWwiXTpob3ZlciAudmlkZW8tcG9zdGVyOjpiZWZvcmUgewogIG9wYWNpdHk6IC45OyBhbmltYXRpb246IHNjYW5saW5lIDEuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBzY2FubGluZSB7CiAgMCUgeyB0b3A6IDE1JTsgb3BhY2l0eTogMDsgfQogIDEwJSB7IG9wYWNpdHk6IC45OyB9CiAgOTAlIHsgb3BhY2l0eTogLjk7IH0KICAxMDAlIHsgdG9wOiA4NSU7IG9wYWNpdHk6IDA7IH0KfQoKLyogPT09PT09PT09PT09PT09IFBIT1RPIFVQTE9BRCAoY29uY2llcmdlKSA9PT09PT09PT09PT09PT0gKi8KLmFnZW50LWF0dGFjaG1lbnRzIHsKICBkaXNwbGF5OiBub25lOyBwYWRkaW5nOiA4cHggNHB4IDA7CiAgZ2FwOiA4cHg7IGZsZXgtd3JhcDogd3JhcDsKfQouYWdlbnQtYXR0YWNobWVudHMuaGFzLXBob3RvcyB7IGRpc3BsYXk6IGZsZXg7IH0KLmFnZW50LWF0dGFjaG1lbnQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogNjRweDsgaGVpZ2h0OiA2NHB4OwogIGJvcmRlci1yYWRpdXM6IDEwcHg7IG92ZXJmbG93OiBoaWRkZW47CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7Cn0KLmFnZW50LWF0dGFjaG1lbnQgaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IGRpc3BsYXk6IGJsb2NrOyB9Ci5hZ2VudC1hdHRhY2htZW50IC54IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogM3B4OyByaWdodDogM3B4OwogIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDE7CiAgcGFkZGluZzogMDsKfQouYWdlbnQtYXR0YWNoIHsKICB3aWR0aDogNDhweDsgaGVpZ2h0OiA0OHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsKICBmb250LXNpemU6IDEzcHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLXN0ZWVsKTsKICB0cmFuc2l0aW9uOiBjb2xvciAxNDBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE0MG1zIGVhc2U7CiAgZmxleC1zaHJpbms6IDA7Cn0KLmFnZW50LWF0dGFjaDpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgfQouYWdlbnQtYXR0YWNoLmhhcy1wZW5kaW5nIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDgpOyB9CgovKiBVc2VyIGJ1YmJsZSB0aGF0IGNvbnRhaW5zIGEgcGhvdG8gKi8KLmJ1YmJsZS5idWJibGUtdXNlci5oYXMtcGhvdG8gewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBwYWRkaW5nOiAwOwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNnB4OwogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQouYnViYmxlLXVzZXItcGhvdG8gewogIG1heC13aWR0aDogMjIwcHg7IG1heC1oZWlnaHQ6IDE4MHB4OwogIGJvcmRlci1yYWRpdXM6IDE0cHg7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgZGlzcGxheTogYmxvY2s7Cn0KLmJ1YmJsZS11c2VyLXRleHQgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOwogIHBhZGRpbmc6IDExcHggMTVweDsgYm9yZGVyLXJhZGl1czogMTZweDsKICBmb250LXNpemU6IDE0cHg7CiAgbWF4LXdpZHRoOiA4NiU7CiAgY29sb3I6IHZhcigtLWluayk7CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoKLyogVmlzaW9uLWFuYWx5emluZyBjaGlwIC0gc2hvd24gd2hpbGUgdGhlIHZpc2lvbiBMTE0gcHJvY2Vzc2VzIHRoZSBpbWFnZSAqLwoudmlzaW9uLWFuYWx5emluZyB7CiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgcGFkZGluZzogOHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTc3LDE1NSwyNTUsLjEyKSwgcmdiYSgxMTEsMTY3LDI1NSwuMDgpKTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjIpOwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsKICBmb250LXNpemU6IDE0LjVweDsKICBsZXR0ZXItc3BhY2luZzogLjA0ZW07CiAgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7Cn0KLnZpc2lvbi1hbmFseXppbmcgLnNwaW5uZXIgewogIHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWhhbG8pOwogIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogIGFuaW1hdGlvbjogdmlzaW9uU3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKfQpAa2V5ZnJhbWVzIHZpc2lvblNwaW4geyB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfQoKLyogU3BhdGlhbCByZWFkb3V0IGNhcmQgLSB0aGUgaW5mZXJyZWQgZGltZW5zaW9ucyByZWFkb3V0IHRoYXQgZm9sbG93cyB0aGUgYW5hbHl6aW5nIGNoaXAgKi8KLnNwYXRpYWwtcmVhZG91dCB7CiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgbWF4LXdpZHRoOiA5MiU7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxMnB4IDE0cHggMTFweDsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsKfQouc3BhdGlhbC1yZWFkb3V0LWhlYWQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nLWJvdHRvbTogN3B4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgbWFyZ2luLWJvdHRvbTogMnB4Owp9Ci5zcGF0aWFsLXJlYWRvdXQtaGVhZCAubGFiZWwgewogIGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1oYWxvLTIpOyBmb250LXdlaWdodDogNjAwOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKfQouc3BhdGlhbC1yZWFkb3V0LWhlYWQgLmxhYmVsOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyB3aWR0aDogNXB4OyBoZWlnaHQ6IDVweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLTIpOwp9Ci5zcGF0aWFsLXJlYWRvdXQtaGVhZCAuY29uZiB7CiAgZm9udC1zaXplOiAxM3B4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQ1KTsKfQouc3BhdGlhbC1yZWFkb3V0LXJvdyB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3OHB4IDFmcjsgZ2FwOiAxMHB4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7Cn0KLnNwYXRpYWwtcmVhZG91dC1yb3cgLmsgewogIGZvbnQtc2l6ZTogMTNweDsgbGV0dGVyLXNwYWNpbmc6IC4xZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQyKTsKfQouc3BhdGlhbC1yZWFkb3V0LXJvdyAudiB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsKICBjb2xvcjogdmFyKC0tcGFwZXIpOyBsZXR0ZXItc3BhY2luZzogLS4wMDVlbTsgbGluZS1oZWlnaHQ6IDEuNDU7Cn0KLnNwYXRpYWwtcmVhZG91dC1mb290IHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40KTsgbWFyZ2luLXRvcDogNHB4OwogIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogLS4wMDJlbTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDVweDsKfQouc3BhdGlhbC1yZWFkb3V0LWZvb3Q6OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHdpZHRoOiA0cHg7IGhlaWdodDogNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjMpOwp9CgovKiA9PT09PT09PT09PT09PT0gTVkgUFJPUEVSVFkgKHBvc3QtaW5zdGFsbCBzdGF0ZSBkYXNoYm9hcmQpID09PT09PT09PT09PT09PSAqLwoubXlwcm9wZXJ0eS1zZWN0aW9uIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1wYXBlci0yKSwgdmFyKC0tcGFwZXIpKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAzMnB4OwogIHBhZGRpbmc6IDcycHggNTZweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC5teXByb3BlcnR5LXNlY3Rpb24geyBwYWRkaW5nOiA0OHB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDIycHg7IH0gfQoubXlwcm9wZXJ0eS1zZWN0aW9uOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDQwJSAzMCUgYXQgMTAwJSAwJSwgcmdiYSgxNDYsMjI5LDI1NSwuMTApLCB0cmFuc3BhcmVudCA3MCUpLAogICAgcmFkaWFsLWdyYWRpZW50KDQwJSAzMCUgYXQgMCUgMTAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMDgpLCB0cmFuc3BhcmVudCA3MCUpOwp9Ci5teXByb3BlcnR5LWRhc2ggewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tdG9wOiAzNnB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDIycHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSg3LDE2LDMxLC4wNCksIDAgMjRweCA2MHB4IC0yOHB4IHJnYmEoNywxNiwzMSwuMTYpOwp9Ci5teXByb3BlcnR5LXRpdGxlYmFyIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcGFkZGluZzogMTRweCAyMnB4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKfQoubXlwcm9wZXJ0eS10aXRsZSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOwogIGNvbG9yOiB2YXIoLS1pbmspOwp9Ci5teXByb3BlcnR5LXRpdGxlIC5saWdodHMgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgZ2FwOiA1cHg7IG1hcmdpbi1yaWdodDogMnB4OyB9Ci5teXByb3BlcnR5LXRpdGxlIC5saWdodHMgc3BhbiB7CiAgd2lkdGg6IDlweDsgaGVpZ2h0OiA5cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGJhY2tncm91bmQ6IHZhcigtLXJ1bGUtMik7Cn0KLm15cHJvcGVydHktbWV0YSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyBjb2xvcjogdmFyKC0tc3RlZWwpOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKfQoubXlwcm9wZXJ0eS1tZXRhIC5kb3QgewogIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6ICM0YWRlODA7CiAgYW5pbWF0aW9uOiBsaXZlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLm15cHJvcGVydHktYm9keSB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjYwcHgsIDFmcikgMS4zZnI7CiAgbWluLWhlaWdodDogNDYwcHg7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC5teXByb3BlcnR5LWJvZHkgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9Ci5teXByb3BlcnR5LXBsYW4gewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogIC5teXByb3BlcnR5LXBsYW4geyBib3JkZXItcmlnaHQ6IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgbWluLWhlaWdodDogMzIwcHg7IH0KfQoubXlwcm9wZXJ0eS1wbGFuIHN2ZyB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9Ci5tcC13YWxsIHsgc3Ryb2tlOiB2YXIoLS1pbmstMik7IHN0cm9rZS13aWR0aDogNDsgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOyB9Ci5tcC1yb29tLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTNweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZmlsbDogdmFyKC0tc3RlZWwtMik7Cn0KLm1wLXBpbiB7IGZpbHRlcjogZHJvcC1zaGFkb3coMCAycHggNHB4IHJnYmEoNywxNiwzMSwuMTgpKTsgfQoubXAtcGluLWJvZHkgeyBmaWxsOiB2YXIoLS1pbmspOyB9Ci5tcC1waW4taWNvbiB7IGZpbGw6IHZhcigtLXBhcGVyKTsgfQoubXAtcGluLm9rIC5tcC1waW4tYm9keSB7IGZpbGw6ICMxRjhBNUI7IH0KLm1wLXBpbi53YXJuIC5tcC1waW4tYm9keSB7CiAgZmlsbDogI0Q5Nzc1NzsKICBhbmltYXRpb246IHBpblB1bHNlIDIuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94Owp9CkBrZXlmcmFtZXMgcGluUHVsc2UgewogIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQogIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7IH0KfQoubXAtcGluLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOC41cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZpbGw6IHZhcigtLWluay0yKTsKfQoubXlwcm9wZXJ0eS1jb250ZW50IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcGFkZGluZzogMjJweCAyNnB4OyBnYXA6IDIycHg7IH0KLm1wLXN0YXQtcm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxMHB4OyB9Ci5tcC1zdGF0LWNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTJweDsKICBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAzcHg7Cn0KLm1wLXN0YXQtY2FyZCAuayB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9Ci5tcC1zdGF0LWNhcmQgLnYgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE5cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDE4ZW07IGNvbG9yOiB2YXIoLS1pbmspOwp9Ci5tcC1zdGF0LWNhcmQgLnYub2sgICB7IGNvbG9yOiAjMUY4QTVCOyB9Ci5tcC1zdGF0LWNhcmQgLnYud2FybiB7IGNvbG9yOiAjRDk3NzU3OyB9Ci5tcC1zZWN0aW9uLWhlYWQgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTZlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogdmFyKC0tc3RlZWwtMik7CiAgbWFyZ2luOiAwIDAgOHB4IDA7Cn0KLm1wLXRpbWVsaW5lIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA5cHg7IH0KLm1wLXRpbWVsaW5lLWl0ZW0gewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMThweCAxZnIgYXV0bzsKICBnYXA6IDEycHg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICBwYWRkaW5nOiA3cHggMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluayk7Cn0KLm1wLXRpbWVsaW5lLWl0ZW06bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IHBhZGRpbmctYm90dG9tOiAwOyB9Ci5tcC10aW1lbGluZS1pdGVtIC5pY29uIHsKICB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBib3JkZXItcmFkaXVzOiA0cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXRvcDogMXB4Owp9Ci5tcC10aW1lbGluZS1pdGVtIC5pY29uIHN2ZyB7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IH0KLm1wLXRpbWVsaW5lLWl0ZW0gLmxhYmVsIHsgbGluZS1oZWlnaHQ6IDEuNDU7IH0KLm1wLXRpbWVsaW5lLWl0ZW0gLmxhYmVsIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXdlaWdodDogNjAwOyB9Ci5tcC10aW1lbGluZS1pdGVtIC5sYWJlbCAuc3ViIHsKICBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi10b3A6IDFweDsKfQoubXAtdGltZWxpbmUtaXRlbSAud2hlbiB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLm1wLWluc2lnaHQgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTc3LDE1NSwyNTUsLjA4KSwgcmdiYSgxMTEsMTY3LDI1NSwuMDUpKTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjIyKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OwogIHBhZGRpbmc6IDE0cHggMTZweDsKICBkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Owp9Ci5tcC1pbnNpZ2h0LW1hcmsgewogIHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDI4cHg7IGZsZXgtc2hyaW5rOiAwOwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOwp9Ci5tcC1pbnNpZ2h0LWJvZHkgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiB2YXIoLS1pbmstMik7IH0KLm1wLWluc2lnaHQtYm9keSBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoubXAtaW5zaWdodC1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IG1hcmdpbi10b3A6IDhweDsgZmxleC13cmFwOiB3cmFwOyB9Ci5tcC1pbnNpZ2h0LWFjdGlvbnMgYnV0dG9uIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogNXB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsKICBjb2xvcjogdmFyKC0taW5rKTsgY3Vyc29yOiBwb2ludGVyOwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtcyBlYXNlLCBjb2xvciAxNDBtcyBlYXNlOwp9Ci5tcC1pbnNpZ2h0LWFjdGlvbnMgYnV0dG9uOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5tcC1pbnNpZ2h0LWFjdGlvbnMgYnV0dG9uLnByaW1hcnkgewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsKfQoubXlwcm9wZXJ0eS1mb290IHsKICBtYXJnaW4tdG9wOiAyNHB4OwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNTU7CiAgZGlzcGxheTogZmxleDsgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LXdyYXA6IHdyYXA7Cn0KLm15cHJvcGVydHktZm9vdCBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgfQoubXlwcm9wZXJ0eS1mb290IGEgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfQoKLyogPT09PT09PT09PT09PT09IENMT1NFLVRIRS1MT09QIFNFQ1RJT04gPT09PT09PT09PT09PT09ICovCi5jbG9zZWxvb3AtZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxNHB4OwogIG1hcmdpbi10b3A6IDMycHg7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgeyAuY2xvc2Vsb29wLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9CgouY2xvc2Vsb29wLWNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMjJweDsKICBwYWRkaW5nOiAyOHB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTRweDsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgdHJhbnNmb3JtIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZTsKfQouY2xvc2Vsb29wLWNhcmQ6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogIGJveC1zaGFkb3c6IDAgMTRweCA0MHB4IC0yMnB4IHJnYmEoNywxNiwzMSwuMTgpOwp9Ci5jbG9zZWxvb3AtZXllYnJvdyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOwogIG1hcmdpbjogMDsKfQouY2xvc2Vsb29wLXRpdGxlIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBtYXJnaW46IDA7Cn0KLmNsb3NlbG9vcC1kZXNjIHsKICBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNTU7IG1hcmdpbjogMDsKfQoKLyogVGVjaCBwcmUtYnJpZWYgbW9jayAtIGRhcmsgIm9wZXJhdGlvbnMgdGVybWluYWwiIGZlZWwgKi8KLmJyaWVmLW1vY2sgewogIG1hcmdpbi10b3A6IGF1dG87CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNHB4IDE2cHg7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDdweDsKfQouYnJpZWYtaGVhZCB7CiAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmctYm90dG9tOiA5cHg7IG1hcmdpbi1ib3R0b206IDRweDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7Cn0KLmJyaWVmLXRpbWUgewogIGNvbG9yOiB2YXIoLS1oYWxvLTIpOyBsZXR0ZXItc3BhY2luZzogLjFlbTsKICBmb250LXdlaWdodDogNTAwOwp9Ci5icmllZi10ZWNoIHsKICBjb2xvcjogdmFyKC0tcGFwZXIpOyBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsKfQouYnJpZWYtcm93IHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDY0cHggMWZyOyBnYXA6IDEwcHg7CiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwp9Ci5icmllZi1yb3cgLmsgewogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40NSk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IC4wOGVtOyBmb250LXNpemU6IDEzcHg7Cn0KLmJyaWVmLXJvdyAudiB7CiAgY29sb3I6IHZhcigtLXBhcGVyKTsKICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OwogIGxpbmUtaGVpZ2h0OiAxLjQ1Owp9Ci5icmllZi1yb3cgLnBob3RvLWRvdCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OwogIGJvcmRlci1yYWRpdXM6IDNweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1pcmktYSksIHZhcigtLWhhbG8pKTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIG1hcmdpbi1yaWdodDogM3B4Owp9CgovKiBTTVMgbW9jayAqLwouc21zLW1vY2sgewogIG1hcmdpbi10b3A6IGF1dG87CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlci1yYWRpdXM6IDE0cHg7CiAgcGFkZGluZzogMTRweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDlweDsKfQouc21zLW1zZyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogM3B4OyB9Ci5zbXMtbXNnLnNtcy1vdXQgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfQouc21zLW1zZy5zbXMtaW4geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0KLnNtcy1tZXRhIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjA4ZW07IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsKICBwYWRkaW5nOiAwIDRweDsKfQouc21zLWJ1YmJsZSB7CiAgcGFkZGluZzogOHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDE0cHg7CiAgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS40NTsKICBtYXgtd2lkdGg6IDg0JTsKfQouc21zLW91dCAuc21zLWJ1YmJsZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0taW5rKTsKfQouc21zLWluIC5zbXMtYnViYmxlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7Cn0KCi5jbG9zZWxvb3AtZm9vdCB7CiAgbWFyZ2luLXRvcDogMjRweDsKICBwYWRkaW5nOiAxNHB4IDE4cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNHB4OwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQouY2xvc2Vsb29wLWZvb3Qgc3ZnIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGZsZXgtc2hyaW5rOiAwOyB9Ci5jbG9zZWxvb3AtZm9vdCBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoKLyogPT09PT09PT09PT09PT09IFNQQVRJQUwgVklFV1NIRUQgKGNhbWVyYSBwcmV2aWV3KSA9PT09PT09PT09PT09PT0gKi8KLnZpZXdzaGVkLWFwcCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjU1ZnIgMWZyOyBnYXA6IDE4cHg7CiAgbWFyZ2luLXRvcDogMzJweDsKICBhbGlnbi1pdGVtczogc3RyZXRjaDsKfQpAbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7IC52aWV3c2hlZC1hcHAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9Cgoudmlld3NoZWQtc3RhZ2UgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAyMnB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWluLWhlaWdodDogMzYwcHg7CiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoNywxNiwzMSwuMDQpOwp9Ci52aWV3c2hlZC1zdGFnZTo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDQwJSAzNSUgYXQgOTIlIDglLCByZ2JhKDE3NywxNTUsMjU1LC4xMCksIHRyYW5zcGFyZW50IDcwJSksCiAgICByYWRpYWwtZ3JhZGllbnQoNDAlIDM1JSBhdCA4JSA5MiUsIHJnYmEoMTQ2LDIyOSwyNTUsLjA4KSwgdHJhbnNwYXJlbnQgNzAlKTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoudmlld3NoZWQtc3RhZ2Ugc3ZnIHsKICBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsKICB0b3VjaC1hY3Rpb246IG5vbmU7IC8qIHByZXZlbnRzIHNjcm9sbCBkdXJpbmcgZHJhZyAqLwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci52aWV3c2hlZC10b29sYmFyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTRweDsgbGVmdDogMTRweDsKICBkaXNwbGF5OiBmbGV4OyBnYXA6IDZweDsgZmxleC13cmFwOiB3cmFwOwogIHotaW5kZXg6IDI7Cn0KLnZpZXdzaGVkLXRvb2xiYXIgYnV0dG9uIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogN3B4IDEycHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6IHZhcigtLWluay0yKTsgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDVweDsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMgZWFzZSwgY29sb3IgMTQwbXMgZWFzZTsKfQoudmlld3NoZWQtdG9vbGJhciBidXR0b246aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQoudmlld3NoZWQtdG9vbGJhciBidXR0b246ZGlzYWJsZWQgeyBvcGFjaXR5OiAuNDsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfQoKLnZpZXdzaGVkLWxlZ2VuZCB7CiAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDEycHg7IGxlZnQ6IDE0cHg7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGdhcDogMTRweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHZhcigtLXN0ZWVsKTsgei1pbmRleDogMjsKfQoudmlld3NoZWQtbGVnZW5kIC5sZy1zdyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogOXB4OyBoZWlnaHQ6IDlweDsgYm9yZGVyLXJhZGl1czogMnB4OwogIG1hcmdpbi1yaWdodDogNHB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci52aWV3c2hlZC1sZWdlbmQgLmxnLWNvdiB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWlyaS1hKSwgdmFyKC0taGFsbykpOyBvcGFjaXR5OiAuNTU7IH0KLnZpZXdzaGVkLWxlZ2VuZCAubGctZGVhZCB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlLTIpOyB9CgovKiBGbG9vciBwbGFuICsgd2FsbHMgaW5zaWRlIHRoZSBTVkcgKi8KLnZpZXdzaGVkLWZsb29yIHsgZmlsbDogdmFyKC0tcGFwZXItMik7IHN0cm9rZTogbm9uZTsgfQoudmlld3NoZWQtd2FsbCAgeyBzdHJva2U6IHZhcigtLWluay0yKTsgc3Ryb2tlLXdpZHRoOiA0OyBzdHJva2UtbGluZWNhcDogcm91bmQ7IHN0cm9rZS1saW5lam9pbjogcm91bmQ7IH0KLnZpZXdzaGVkLXJvb20tbGFiZWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBmaWxsOiB2YXIoLS1zdGVlbC0yKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLnZpZXdzaGVkLWZvdiB7CiAgZmlsbDogdXJsKCN2c2hHcmFkRm92KTsKICBvcGFjaXR5OiAuNTU7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5Owp9Ci52aWV3c2hlZC1jYW0tZ3JvdXAgeyBjdXJzb3I6IGdyYWI7IH0KLnZpZXdzaGVkLWNhbS1ncm91cC5pcy1kcmFnZ2luZyB7IGN1cnNvcjogZ3JhYmJpbmc7IH0KLnZpZXdzaGVkLWNhbS1ib2R5IHsgZmlsbDogdmFyKC0taW5rKTsgc3Ryb2tlOiB2YXIoLS1wYXBlcik7IHN0cm9rZS13aWR0aDogMS41OyB9Ci52aWV3c2hlZC1jYW0tbGVucyB7IGZpbGw6IHZhcigtLWhhbG8tMik7IHN0cm9rZTogdmFyKC0tcGFwZXIpOyBzdHJva2Utd2lkdGg6IDEuMjsgfQoudmlld3NoZWQtY2FtLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBmaWxsOiB2YXIoLS1wYXBlcik7IHBvaW50ZXItZXZlbnRzOiBub25lOwogIHRleHQtYW5jaG9yOiBtaWRkbGU7IGRvbWluYW50LWJhc2VsaW5lOiBtaWRkbGU7Cn0KLnZpZXdzaGVkLWNhbS1oYW5kbGUgewogIGZpbGw6IHZhcigtLXBhcGVyKTsgc3Ryb2tlOiB2YXIoLS1pbmspOyBzdHJva2Utd2lkdGg6IDEuNTsKICBjdXJzb3I6IGV3LXJlc2l6ZTsKfQoudmlld3NoZWQtY2FtLWhhbmRsZS1saW5lIHsKICBzdHJva2U6IHZhcigtLWluayk7IHN0cm9rZS13aWR0aDogMS41OyBzdHJva2UtZGFzaGFycmF5OiAyIDM7CiAgb3BhY2l0eTogLjU7IHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBSaWdodCBwYW5lbCAqLwoudmlld3NoZWQtcGFuZWwgewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgYm9yZGVyLXJhZGl1czogMjJweDsKICBwYWRkaW5nOiAyNnB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTZweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47Cn0KLnZpZXdzaGVkLXBhbmVsOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOwogIGJhY2tncm91bmQ6CiAgICByYWRpYWwtZ3JhZGllbnQoNjAlIDUwJSBhdCAxMDAlIDAlLCByZ2JhKDE3NywxNTUsMjU1LC4xOCksIHRyYW5zcGFyZW50KSwKICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDAlIDEwMCUsIHJnYmEoMTQ2LDIyOSwyNTUsLjEwKSwgdHJhbnNwYXJlbnQpOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci52aWV3c2hlZC1wYW5lbCA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLnZpZXdzaGVkLXN0YXQgewogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogM3B4OwogIHBhZGRpbmc6IDEycHggMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTsKfQoudmlld3NoZWQtc3RhdDpmaXJzdC1vZi10eXBlIHsgcGFkZGluZy10b3A6IDRweDsgfQoudmlld3NoZWQtc3RhdCAuayB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSk7Cn0KLnZpZXdzaGVkLXN0YXQgLnYgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDMwcHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKfQoudmlld3NoZWQtc3RhdC5zdWIgLnYgeyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KLnZpZXdzaGVkLWhpbnQgewogIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43KTsKICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDUpOwogIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDYpOwp9Ci52aWV3c2hlZC1oaW50IHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1oYWxvLTIpOyBmb250LXdlaWdodDogNjAwOyB9Ci52aWV3c2hlZC1jdGEgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgY29sb3I6IHZhcigtLWluayk7CiAgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBwYWRkaW5nOiAxM3B4IDIwcHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07CiAgY3Vyc29yOiBwb2ludGVyOyBtYXJnaW4tdG9wOiA0cHg7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDhweDsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxNjBtcyBlYXNlOwp9Ci52aWV3c2hlZC1jdGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLTIpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KLnZpZXdzaGVkLWZpbmVwcmludCB7CiAgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTsgbGluZS1oZWlnaHQ6IDEuNTU7Cn0KCi8qID09PT09PT09PT09PT09PSBNT1dFUiBST1VURSBQUkVWSUVXID09PT09PT09PT09PT09PSAqLwoubW93ZXItYXBwIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNTVmciAxZnI7IGdhcDogMThweDsKICBtYXJnaW4tdG9wOiAyOHB4OwogIGFsaWduLWl0ZW1zOiBzdHJldGNoOwp9CkBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHsgLm1vd2VyLWFwcCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KCi5tb3dlci1zdGFnZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDIycHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBtaW4taGVpZ2h0OiAzNjBweDsKICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSg3LDE2LDMxLC4wNCk7Cn0KLm1vd2VyLXN0YWdlIHN2ZyB7CiAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7CiAgdG91Y2gtYWN0aW9uOiBub25lOyB1c2VyLXNlbGVjdDogbm9uZTsKfQoubW93ZXIteWFyZCAgICAgIHsgZmlsbDogI0RERURENDsgfSAgIC8qIGxhd24gLSBkZXNhdHVyYXRlZCBwYXN0ZWwgZ3JlZW4gKi8KLm1vd2VyLWN1dCAgICAgICB7IGZpbGw6ICNDM0UxQjM7IH0gICAvKiAiYWxyZWFkeSBtb3dlZCIgdGludCAtIHNsaWdodGx5IGRhcmtlciBncmVlbiAqLwoubW93ZXItaG91c2UgICAgIHsgZmlsbDogI0U4RENDODsgc3Ryb2tlOiAjOEM3NzU1OyBzdHJva2Utd2lkdGg6IDEuNjsgfQoubW93ZXItdHJlZSAgICAgIHsgZmlsbDogIzZGQTY3Mjsgc3Ryb2tlOiAjM0Y2QjQ1OyBzdHJva2Utd2lkdGg6IDEuMzsgfQoubW93ZXItdHJlZS1zaGFkb3cgeyBmaWxsOiByZ2JhKDYwLDkwLDU1LC4xOCk7IH0KLm1vd2VyLXlhcmQtb3V0bGluZSB7IGZpbGw6IG5vbmU7IHN0cm9rZTogIzZBODI2MTsgc3Ryb2tlLXdpZHRoOiAxLjU7IHN0cm9rZS1kYXNoYXJyYXk6IDUgNDsgb3BhY2l0eTogLjU1OyB9Ci5tb3dlci1wYXRoIHsKICBmaWxsOiBub25lOyBzdHJva2U6ICNGRkM3RTY7IHN0cm9rZS13aWR0aDogMi4yOwogIHN0cm9rZS1saW5lY2FwOiByb3VuZDsgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDsKICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgyMTcsIDExOSwgODcsIC41NSkpOwp9Ci5tb3dlci1wYXRoLXByb2dyZXNzIHsKICBmaWxsOiBub25lOyBzdHJva2U6ICNGRjlEQzY7IHN0cm9rZS13aWR0aDogMzsKICBzdHJva2UtbGluZWNhcDogcm91bmQ7IHN0cm9rZS1saW5lam9pbjogcm91bmQ7Cn0KLm1vd2VyLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZmlsbDogIzRGNjk0ODsgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1vd2VyLWRvY2stZ3JvdXAgeyBjdXJzb3I6IGdyYWI7IH0KLm1vd2VyLWRvY2stZ3JvdXAuaXMtZHJhZ2dpbmcgeyBjdXJzb3I6IGdyYWJiaW5nOyB9Ci5tb3dlci1kb2NrIHsgZmlsbDogdmFyKC0taW5rKTsgc3Ryb2tlOiB2YXIoLS1wYXBlcik7IHN0cm9rZS13aWR0aDogMS44OyB9Ci5tb3dlci1kb2NrLWljb24geyBmaWxsOiB2YXIoLS1oYWxvLTIpOyB9Ci5tb3dlci1kb2NrLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZmlsbDogdmFyKC0tcGFwZXIpOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICB0ZXh0LWFuY2hvcjogbWlkZGxlOyBkb21pbmFudC1iYXNlbGluZTogbWlkZGxlOwp9CgoubW93ZXItYm90IHsKICBmaWxsOiAjRkZDN0U2OyBzdHJva2U6IHZhcigtLWluayk7IHN0cm9rZS13aWR0aDogMS40OwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCByZ2JhKDI1NSwgMTk5LCAyMzAsIC45KSk7Cn0KCi5tb3dlci10b29sYmFyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTRweDsgbGVmdDogMTRweDsKICBkaXNwbGF5OiBmbGV4OyBnYXA6IDZweDsgZmxleC13cmFwOiB3cmFwOwogIHotaW5kZXg6IDI7Cn0KLm1vd2VyLXRvb2xiYXIgYnV0dG9uIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogN3B4IDEycHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6IHZhcigtLWluay0yKTsgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDVweDsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMgZWFzZSwgY29sb3IgMTQwbXMgZWFzZTsKfQoubW93ZXItdG9vbGJhciBidXR0b246aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQoKLm1vd2VyLXBhbmVsIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6IDIycHg7CiAgcGFkZGluZzogMjZweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwp9Ci5tb3dlci1wYW5lbDo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgMTAwJSAwJSwgcmdiYSgxNDYsMjI5LDI1NSwuMTYpLCB0cmFuc3BhcmVudCksCiAgICByYWRpYWwtZ3JhZGllbnQoNjAlIDUwJSBhdCAwJSAxMDAlLCByZ2JhKDE3NywxNTUsMjU1LC4xMCksIHRyYW5zcGFyZW50KTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubW93ZXItcGFuZWwgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9Ci5tb3dlci1zdGF0IHsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsKICBwYWRkaW5nOiAxMnB4IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Cn0KLm1vd2VyLXN0YXQ6Zmlyc3Qtb2YtdHlwZSB7IHBhZGRpbmctdG9wOiA0cHg7IH0KLm1vd2VyLXN0YXQgLmsgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTUpOwp9Ci5tb3dlci1zdGF0IC52IHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAyOHB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7Cn0KLm1vd2VyLXN0YXQuc3ViIC52IHsgZm9udC1zaXplOiAxN3B4OyBmb250LXdlaWdodDogNTAwOyB9Ci5tb3dlci1oaW50IHsKICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNyk7CiAgcGFkZGluZzogMTBweCAxNHB4OwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA1KTsKICBib3JkZXItcmFkaXVzOiAxMnB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsKfQoubW93ZXItaGludCBzdHJvbmcgeyBjb2xvcjogdmFyKC0taGFsby0yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoubW93ZXItY3RhIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGNvbG9yOiB2YXIoLS1pbmspOwogIGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgcGFkZGluZzogMTNweCAyMHB4OyBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgY3Vyc29yOiBwb2ludGVyOyBtYXJnaW4tdG9wOiA0cHg7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDhweDsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxNjBtcyBlYXNlOwp9Ci5tb3dlci1jdGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLTIpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KCi8qID09PT09PT09PT09PT09PSBCUkFORCBNQVJLIC0gUXVhbnR1bSBRID09PT09PT09PT09PT09PSAqLwouYnJhbmQtbWFyayB7IGNvbG9yOiBpbmhlcml0OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9Ci5icmFuZC1tYXJrIC5ibS1yaW5nLAouYnJhbmQtbWFyayAuYm0tdGFpbCB7IHN0cm9rZTogY3VycmVudENvbG9yOyB9Ci5icmFuZC1tYXJrIC5ibS1yaW5nIHsgZmlsbDogbm9uZTsgfQouYnJhbmQtbWFyayAuYm0tdGFpbCB7IGZpbGw6IG5vbmU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfQoKLyogPT09PT09PT09PT09PT09IEZPQ1VTIFJJTkdTID09PT09PT09PT09PT09PSAqLwovKiA6Zm9jdXMtdmlzaWJsZSAtIGtleWJvYXJkLW9ubHkgcmluZywgbmV2ZXIgb24gbW91c2UgY2xpY2suCiAgIEFtYmVyIHBlciBkZXNpZ24gc3lzdGVtLCBBQS12aXNpYmxlIG9uIGJvdGggbGlnaHQgYW5kIGRhcmsgc3VyZmFjZXMuICovCio6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9CmE6Zm9jdXMtdmlzaWJsZSwKYnV0dG9uOmZvY3VzLXZpc2libGUsCmlucHV0OmZvY3VzLXZpc2libGUsCnRleHRhcmVhOmZvY3VzLXZpc2libGUsCnNlbGVjdDpmb2N1cy12aXNpYmxlLApbcm9sZT0idGFiIl06Zm9jdXMtdmlzaWJsZSwKW3JvbGU9ImJ1dHRvbiJdOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nKTsKICBvdXRsaW5lLW9mZnNldDogMnB4OwogIGJvcmRlci1yYWRpdXM6IDZweDsKfQovKiBDYXJkcyAvIHBpbGwtc2hhcGVkIGNvbnRyb2xzIC0gbWF0Y2ggdGhlaXIgZXhpc3RpbmcgcmFkaXVzICovCi5idG46Zm9jdXMtdmlzaWJsZSwgLm5hdi1jdGE6Zm9jdXMtdmlzaWJsZSwgLnF1aWNrLXBpbGw6Zm9jdXMtdmlzaWJsZSwKLmVzdC1zdmMtY2hpcDpmb2N1cy12aXNpYmxlLCAuZXN0LW9wdC1jaG9pY2U6Zm9jdXMtdmlzaWJsZSwKLmFjdGlvbi1idG46Zm9jdXMtdmlzaWJsZSwgLmFjdGlvbi1jaGlwOmZvY3VzLXZpc2libGUsCi5hbW9jay1zbG90OmZvY3VzLXZpc2libGUsIC5hbW9jay1idG46Zm9jdXMtdmlzaWJsZSwKLmFwcHQ6Zm9jdXMtdmlzaWJsZSwgLnZpZGVvLWNhcmQ6Zm9jdXMtdmlzaWJsZSwKLnN2Yzpmb2N1cy12aXNpYmxlLCAucm9ib3RpYy1zdmM6Zm9jdXMtdmlzaWJsZSB7CiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmcpOwogIG91dGxpbmUtb2Zmc2V0OiAzcHg7Cn0KCi8qID09PT09PT09PT09PT09PSBDUk9TUy1CUk9XU0VSIGJhY2tkcm9wLWZpbHRlciA9PT09PT09PT09PT09PT0gKi8KLyogT2xkIFNhZmFyaSAoaW5jbC4gfjUlIG9mIGlPUyB1c2VycyBzdGlsbCBvbiAxNS0pIG5lZWRzIHRoZSAtd2Via2l0LSBwcmVmaXguICovCi52aWRlby1iYWRnZSwKLnZpZGVvLWR1ciwKLnZpZGVvLXBvc3RlciAucGxheSwKLmFtZWxpYS1tb2RhbCwKLnN1Y2Nlc3Mtc3RhdGUgewogIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7Cn0KCi8qID09PT09PT09PT09PT09PSBBU1BFQ1QtUkFUSU8gRkFMTEJBQ0sgPT09PT09PT09PT09PT09ICovCi8qIGFzcGVjdC1yYXRpbyBzaGlwcGVkIGluIFNhZmFyaSAxNSAvIENocm9tZSA4OC4gRmFsbCBiYWNrIGZvciBvbGQgYnJvd3NlcnMuICovCkBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYgLyAxMCkgewogIC52aWRlby1wb3N0ZXIgewogICAgaGVpZ2h0OiAwOwogICAgcGFkZGluZy1ib3R0b206IDYyLjUlOyAvKiAxMC8xNiAqLwogIH0KICAudmlkZW8tcG9zdGVyID4gLnBvc3Rlci1hcnQsCiAgLnZpZGVvLXBvc3RlciA+IC52aWRlby1iYWRnZSwKICAudmlkZW8tcG9zdGVyID4gLnZpZGVvLWR1ciwKICAudmlkZW8tcG9zdGVyID4gLnBsYXkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogIH0KICAudmlkZW8tcG9zdGVyID4gLnBvc3Rlci1hcnQgewogICAgaW5zZXQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7CiAgfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ1JPU1MtREVWSUNFIEhBUkRFTklORwogICBpT1MgU2FmYXJpICsgQW5kcm9pZCBDaHJvbWUgKyBGaXJlZm94ICsgc21hbGwvbWVkaXVtL2xhcmdlCiAgIHNhZmUtYXJlYSwgdG91Y2ggdGFyZ2V0cywgb3ZlcmZsb3csIHJlZHVjZWQgbW90aW9uLCBkdmgsIHByaW50CiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLyogUHJldmVudCBhbnkgaG9yaXpvbnRhbCBvdmVyZmxvdyBvbiB0aGUgZG9jdW1lbnQuCiAgIE5PVEU6IG92ZXJmbG93LXg6IGhpZGRlbiBvbiBodG1sL2JvZHkgYnJlYWtzIHBvc2l0aW9uOiBzdGlja3kgaW4gbWFueSBicm93c2Vycy4KICAgVXNlIG92ZXJmbG93LXg6IGNsaXAgKG1vZGVybikgd2l0aCBvdmVyZmxvdy14OiBoaWRkZW4gZmFsbGJhY2sgb25seSBvbiBib2R5LiAqLwpodG1sIHsgbWF4LXdpZHRoOiAxMDB2dzsgfQpib2R5IHsgbWF4LXdpZHRoOiAxMDB2dzsgb3ZlcmZsb3cteDogY2xpcDsgfQpAc3VwcG9ydHMgbm90IChvdmVyZmxvdy14OiBjbGlwKSB7CiAgYm9keSB7IG92ZXJmbG93LXg6IGhpZGRlbjsgfQp9CmltZywgdmlkZW8sIHN2ZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9CgovKiBIb25vciBpT1Mgc2FmZSBhcmVhcyAobm90Y2ggLyBob21lIGluZGljYXRvcikgb24gdGhlIGNocm9tZSBsYXllcnMgKi8KbmF2IHsgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKTsgfQpAc3VwcG9ydHMgKHBhZGRpbmc6IG1heCgwcHgpKSB7CiAgLnNoZWxsIHsKICAgIHBhZGRpbmctbGVmdDogbWF4KDIwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpOwogICAgcGFkZGluZy1yaWdodDogbWF4KDIwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTsKICB9Cn0KLnN0aWNreS1lc3RpbWF0ZSB7IHBhZGRpbmctYm90dG9tOiBtYXgoMTBweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTsgfQoKLyogaU9TIGZvcm0gem9vbTogaW5wdXRzIDwgMTZweCB0cmlnZ2VyIGF1dG8tem9vbS4gRm9yY2UgMTZweCBvbiB0b3VjaC4gKi8KQG1lZGlhIChob3Zlcjogbm9uZSkgYW5kIChwb2ludGVyOiBjb2Fyc2UpIHsKICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgLmFtb2NrLWZpZWxkIGlucHV0LCAuYW1vY2stZmllbGQgdGV4dGFyZWEsIC5hbW9jay1maWVsZCBzZWxlY3QsCiAgLmNoYW5uZWwtY2FwdHVyZS1pbnB1dCwgLmVzdC1udW0taW5wdXQgewogICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7CiAgfQogIC8qIFRvdWNoIHRhcmdldHM6IG1pbmltdW0gNDR4NDQgKEFwcGxlIEhJRykgKi8KICAuYnRuLCAubmF2LWN0YSwgLmVzdC1zdmMtY2hpcCwgLmVzdC1tb2RlLXRhYiwgLmFtb2NrLWJ0biwgLmNoYW5uZWwtY2FwdHVyZS1zZW5kLAogIC5lc3Qtb3B0LWNob2ljZSwgLmVzdC1zdmMtYmxvY2stcmVtb3ZlLCAucXVpY2stcGlsbCwgLmFtb2NrLWNhbC1kYXksIC5hbW9jay1zbG90LAogIC5hcy10YWIsIC5hbWVsaWEtbW9kYWwtY2xvc2UsIC5hZ2VudC1hdHRhY2ggewogICAgbWluLWhlaWdodDogNDRweDsKICB9CiAgLmVzdC1xdHktYnRuLCAuYW1lbGlhLW1vZGFsLWNsb3NlLCAuYWdlbnQtYXR0YWNoIHsgbWluLXdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7IHdpZHRoOiA0OHB4OyB9CiAgLmVzdC1zdmMtYmxvY2stcmVtb3ZlIHsgbWluLXdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IH0KfQoKLyogVXNlIGR5bmFtaWMgdmlld3BvcnQgaGVpZ2h0IHdoZXJlIHN1cHBvcnRlZCAoaGFuZGxlcyBpT1MgVVJMIGJhciBjb2xsYXBzZSkgKi8KQHN1cHBvcnRzIChoZWlnaHQ6IDEwMGR2aCkgewogIC5hbWVsaWEtbW9kYWwtc2hlbGwgeyBtYXgtaGVpZ2h0OiAxMDBkdmg7IH0KfQoKLyogVGFibGV0IChtZWRpdW0pIHJlZmluZW1lbnRzICovCkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHsKICAuaGVybyB7IHBhZGRpbmctdG9wOiA2NHB4OyB9CiAgLnRydXN0IHsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDE0cHggMjBweDsgfQogIC50cnVzdC1kaXZpZGVyIHsgZGlzcGxheTogbm9uZTsgfQp9CgovKiBQaG9uZSByZWZpbmVtZW50cyAqLwpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAvKiBIZXJvOiBzdGFjayBhY3Rpb25zIGZ1bGwtd2lkdGgsIHRpZ2h0ZXIgc3BhY2luZyAqLwogIGgxLmhlcm8taCB7IGZvbnQtc2l6ZTogY2xhbXAoMzRweCwgMTB2dywgNTJweCk7IH0KICAuaGVyby1zdWIgeyBmb250LXNpemU6IDE3cHg7IH0KICAuaGVyby1hY3Rpb25zIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGdhcDogMTBweDsgfQogIC5oZXJvLWFjdGlvbnMgLmJ0biB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB3aWR0aDogMTAwJTsgfQogIC5hdWRpZW5jZS1zd2l0Y2ggeyB3aWR0aDogMTAwJTsgfQogIC5hdWRpZW5jZS1zd2l0Y2ggYnV0dG9uIHsgZmxleDogMTsgfQoKICAvKiBTZWN0aW9uIHNwYWNpbmcgJiBoZWFkaW5ncyAqLwogIC5zZWMtbGVkZSB7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luLWJvdHRvbTogMzZweDsgfQogIGgyLnNlYy1oIHsgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA3dncsIDQwcHgpOyB9CgogIC8qIEVzdGltYXRvcjogc3RhY2sgYW5kIGJyZWF0aGUgKi8KICAuZXN0LWxlZnQsIC5lc3QtcmlnaHQgeyBwYWRkaW5nOiAyMnB4IDE4cHg7IH0KICAuZXN0LWggeyBmb250LXNpemU6IDI0cHg7IH0KICAucXVvdGUtcmFuZ2UgeyBmb250LXNpemU6IDM2cHg7IH0KICAucXVvdGUtYnJlYWtkb3duIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9CgogIC8qIEZpbmFsIENUQSAqLwogIC5maW5hbC1jdGEgaDIgeyBmb250LXNpemU6IGNsYW1wKDMycHgsIDl2dywgNDhweCk7IH0KICAuZmluYWwtY3RhIHAgIHsgZm9udC1zaXplOiAxNnB4OyB9CgogIC8qIEZvb3Rlcjogc3RhY2sgY2xlYW5seSAqLwogIC5mb290LWJvdHRvbSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCiAgLyogQUkgc2hvd2Nhc2UgY2hhdDoga2VlcCByZWFkYWJsZSBvbiBzbWFsbCBzY3JlZW5zICovCiAgLmFpLXNob3djYXNlIHsgcGFkZGluZzogMzZweCAxOHB4OyB9CiAgLmFnZW50LWNoYXQgeyBtYXgtd2lkdGg6IDEwMCU7IH0KICAvKiBsZXQgZ3JpZCBjaGlsZHJlbiBzaHJpbmsgc28gbm90aGluZyBjbGlwcyBvbiBuYXJyb3cgQW5kcm9pZHMgKH4zNjBweCkgKi8KICAuYWktZ3JpZCwgLmFpLWdyaWQgPiAqIHsgbWluLXdpZHRoOiAwOyB9CiAgLyogZmluZ2VyLWZyaWVuZGx5IHRhcCB0YXJnZXRzICjiiaU0NHB4KSAqLwogIC5lc3Qtc3ZjLWNoaXAgeyBtaW4taGVpZ2h0OiA0NHB4OyB9CiAgLmVzdC1tb2RlLXRhYiB7IG1pbi1oZWlnaHQ6IDQ0cHg7IH0KICAvKiBwcmV2ZW50IHNtYWxsIGNsaXBzIG9uIG5hcnJvdyBBbmRyb2lkcyAqLwogIC5jaGFubmVsLCAuY2hhbm5lbCA+IGRpdiB7IG1pbi13aWR0aDogMDsgfQogIC5jaGFubmVsLWQgeyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfQogIC5teXByb3BlcnR5LXBsYW4sIC5teXByb3BlcnR5LWNvbnRlbnQgeyBtaW4td2lkdGg6IDA7IH0KICAubXlwcm9wZXJ0eS1wbGFuIHN2ZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9Cn0KCi8qIFBob25lIHJlYWRhYmlsaXR5IGZsb29yOiBsaWZ0IGRlY29yYXRpdmUgbWljcm8tbGFiZWxzIHRvIGEgbGVnaWJsZSBzaXplLgogICBPbiBkZXNrdG9wIHRoZXNlIHRpbnkgbW9uby9leWVicm93IGxhYmVscyByZWFkIGFzIGRlbGliZXJhdGUgc3R5bGluZzsgb24gYQogICBwaG9uZSBhbnl0aGluZyB1bmRlciB+MTFweCBpcyBhIHN0cmFpbi4gVGFyZ2V0ZWQgc28gbGF5b3V0L2Rlc2t0b3AgaXMgdW50b3VjaGVkLiAqLwpAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAudmlkZW8tYmFkZ2UsIC5zbXMtbWV0YSwgLm1wLXNlY3Rpb24taGVhZCwgLmFnZW50LXN0YXR1cywgLmxvZ29zLWxhYmVsLAogIC5lc3Qtc2VjdGlvbi1sYWJlbCwgLmxpdmVvcHMtc3RhdC1rLCAuc3VydmV5LWxhYmVsLCAucXVvdGUtbGFiZWwsCiAgLmNoYW5uZWwtY2FwdHVyZS1sZWdhbCwgLmRlcGxveWVkLCAudmlkZW8tZHVyLCAuY2xvc2Vsb29wLWV5ZWJyb3csCiAgLm15cHJvcGVydHktbWV0YSwgLmJhZGdlLCAucGlsbCwgLnNlYy1leWVicm93IHsKICAgIGZvbnQtc2l6ZTogMTQuNXB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS40OwogIH0KICAvKiBzdGF0ICJrZXkiIHJvd3MgaW4gZXN0aW1hdG9yIC8gbGl2ZS1vcHMgZ3JpZHMgKi8KICAucXVvdGUtYnJlYWtkb3duIC5rLCAubGl2ZW9wcy1zdGF0IC5rLCAuc3VydmV5LWNhcmQgLmsgeyBmb250LXNpemU6IDE0LjVweCAhaW1wb3J0YW50OyB9Cn0KCi8qIFBob25lIHRhcC10YXJnZXQgZmxvb3IgKHdpZHRoLWJhc2VkOiByZWxpYWJsZSBhY3Jvc3MgQW5kcm9pZCBicm93c2VycyB0aGF0CiAgIHJlcG9ydCBwb2ludGVyIHR5cGVzIGluY29uc2lzdGVudGx5KS4gTWlycm9ycyB0aGUgdG91Y2gtZGV2aWNlIHJ1bGUuICovCkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogIC5hcy10YWIsIC5lc3Qtb3B0LWNob2ljZSwgLmFtb2NrLWNhbC1kYXksIC5hbW9jay1zbG90LAogIC5lc3Qtc3ZjLWNoaXAsIC5lc3QtbW9kZS10YWIsIC5xdWljay1waWxsLCAuYW1vY2stYnRuLAogIC5hbWVsaWEtbW9kYWwtY2xvc2UsIC5hZ2VudC1hdHRhY2gsIC5idG4sIC5uYXYtY3RhIHsKICAgIG1pbi1oZWlnaHQ6IDQ0cHg7CiAgfQogIC5hcy10YWIsIC5hbW9jay1jYWwtZGF5LCAuYW1vY2stc2xvdCwgLmVzdC1vcHQtY2hvaWNlIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB9CiAgLmVzdC1xdHktYnRuLCAuYW1lbGlhLW1vZGFsLWNsb3NlLCAuYWdlbnQtYXR0YWNoIHsKICAgIG1pbi13aWR0aDogNDhweDsgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDsKICB9Cn0KCi8qIFBob25lczogQ2FsbCBidXR0b24gc2hvd3MgaWNvbi1vbmx5IChudW1iZXIgd291bGQgd3JhcCB0aGUgbmF2IGJhcikgKi8KQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgLm5hdi1jYWxsIC5udW0geyBkaXNwbGF5OiBub25lOyB9CiAgLm5hdi1jYWxsIHsgcGFkZGluZzogMCAxMnB4OyB9CiAgLyogRmxvYXRpbmcgY2FsbCBidXR0b246IGljb24tb25seSBjaXJjbGUgb24gdmVyeSBzbWFsbCBzY3JlZW5zICovCiAgLmZsb2F0LWNhbGwgc3BhbiB7IGRpc3BsYXk6IG5vbmU7IH0KICAuZmxvYXQtY2FsbCB7IHBhZGRpbmc6IDE0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgd2lkdGg6IDUycHg7IGhlaWdodDogNTJweDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0KICAuZmxvYXQtY2FsbCBzdmcgeyB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4OyB9Cn0KCi8qIFZlcnkgc21hbGwgcGhvbmVzIChpUGhvbmUgU0UsIH4zNjBweCkgKi8KQG1lZGlhIChtYXgtd2lkdGg6IDM4MHB4KSB7CiAgLnNoZWxsIHsgcGFkZGluZzogMCAxNnB4OyB9CiAgLm5hdi1jdGEgeyBwYWRkaW5nOiA5cHggMTRweDsgZm9udC1zaXplOiAxNHB4OyB9CiAgLm5hdi1jYWxsIHsgcGFkZGluZzogMCAxMXB4OyB9CiAgLmJyYW5kLXRleHQgeyBmb250LXNpemU6IDE3cHg7IH0KICBoMS5oZXJvLWggeyBmb250LXNpemU6IGNsYW1wKDI4cHgsIDExdncsIDQwcHgpOyBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyB9CiAgLnF1b3RlLXJhbmdlIHsgZm9udC1zaXplOiAzMHB4OyB9Cn0KCi8qIExhbmRzY2FwZSBwaG9uZXM6IHRpZ2h0ZW4gdmVydGljYWwgc3BhY2luZyAqLwpAbWVkaWEgKG1heC1oZWlnaHQ6IDQ4MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsKICAuaGVybyB7IHBhZGRpbmc6IDQ4cHggMCAzMnB4OyB9CiAgc2VjdGlvbi5ibG9jayB7IHBhZGRpbmc6IDU2cHggMDsgfQogIC5hbWVsaWEtbW9kYWwtc2hlbGwgeyBtYXgtaGVpZ2h0OiAxMDBkdmg7IH0KfQoKLyogSGlnaC1EUEk6IGNyaXNwZXIgMXB4IGJvcmRlcnMgKi8KQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkgewogIC5zdGVwLCAuc3ZjLCAudC1jYXJkLCAuZXN0LXN2Yy1jaGlwLCAuYW1vY2stZmllbGQgaW5wdXQsCiAgLmFtb2NrLWZpZWxkIHRleHRhcmVhLCAuYW1vY2stZmllbGQgc2VsZWN0IHsgYm9yZGVyLXdpZHRoOiAwLjVweDsgfQp9CgovKiBSZWR1Y2VkIG1vdGlvbjogcmVzcGVjdCBPUyBzZXR0aW5nICovCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7CiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDAxbXMgIWltcG9ydGFudDsKICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDAxbXMgIWltcG9ydGFudDsKICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50OwogIH0KICAubGl2ZS1kb3QsIC5hZ2VudC1zdGF0dXMgLnB1bHNlIHsgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH0KfQoKLyogRm9yY2VkLWNvbG9ycyAoV2luZG93cyBoaWdoLWNvbnRyYXN0KSAqLwpAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkgewogIC5idG4sIC5uYXYtY3RhLCAuZXN0LXN2Yy1jaGlwIHsgYm9yZGVyOiAxcHggc29saWQgQ2FudmFzVGV4dDsgfQp9CgovKiBQcmludDogY2xlYW4sIG5vIGNocm9tZSAqLwpAbWVkaWEgcHJpbnQgewogIG5hdiwgLnN0aWNreS1lc3RpbWF0ZSwgLmFpLXNob3djYXNlLCAuY2hhbm5lbC1jYXB0dXJlLCAuZXN0LW1vZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICBib2R5IHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiBibGFjazsgfQogIHNlY3Rpb24uYmxvY2sgeyBwYWRkaW5nOiAyNHB4IDA7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfQogIC5lc3RpbWF0b3IsIC5xdW90ZS1jYXJkIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7IH0KfQoKLyogU3RpY2t5IGZvb3RlciBlc3RpbWF0ZTogYXZvaWQgY292ZXJpbmcgY29udGVudCBvbiB0YWxsIHRvdWNoIGtleWJvYXJkcyAqLwpAc3VwcG9ydHMgKGhlaWdodDogMTAwc3ZoKSB7CiAgYm9keSB7IG1pbi1oZWlnaHQ6IDEwMHN2aDsgfQp9CgoucGNxLXByZWZpbGwtYmFubmVyIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7CiAgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wOCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzksMTQwLDI1NSwuMjIpOwogIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KLnBjcS1wcmVmaWxsLWJhbm5lciBzdmcgeyBmbGV4LXNocmluazogMDsgfQoKLyogRW1haWwgY2FwdHVyZSBvbiB3aXphcmQgcmVzdWx0ICovCi5wY3EtZW1haWwtY2FwdHVyZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDE4cHg7IHBhZGRpbmc6IDIycHggMjBweDsgbWFyZ2luLXRvcDogNHB4Owp9Ci5wY3EtZW1haWwtbGFiZWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luOiAwIDAgOHB4OyBkaXNwbGF5OiBibG9jazsKfQoucGNxLWVtYWlsLWRlc2MgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IG1hcmdpbjogMCAwIDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU7IH0KLnBjcS1lbWFpbC1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgZmxleC13cmFwOiB3cmFwOyB9Ci5wY3EtZW1haWwtaW5wdXQgewogIGZsZXg6IDE7IG1pbi13aWR0aDogMjAwcHg7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiAxMXB4IDE0cHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE1cHg7CiAgY29sb3I6IHZhcigtLWluayk7IG91dGxpbmU6IG5vbmU7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zOwp9Ci5wY3EtZW1haWwtaW5wdXQ6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyB9Ci5wY3EtZW1haWwtaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyB9Ci5wY3EtZW1haWwtYnRuIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgcGFkZGluZzogMTFweCAyMHB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNzAwOwogIGN1cnNvcjogcG9pbnRlcjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZmxleC1zaHJpbms6IDA7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcywgdHJhbnNmb3JtIDEyMG1zOwp9Ci5wY3EtZW1haWwtYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9Ci5wY3EtZW1haWwtc2VudCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBwYWRkaW5nOiAxMnB4IDA7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzA1OTY2OTsKfQoKLyogTW9iaWxlIG5hdiBwb2xpc2ggKi8KQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLm5hdi10aGVtZS10b2dnbGUgeyB3aWR0aDogNDhweDsgaGVpZ2h0OiA0OHB4OyB9CiAgLm5hdi1saW5rcyBhLAogIC5uYXYtbGlua3MgLm5hdi1kcm9wLXRyaWdnZXIgewogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1pbi1oZWlnaHQ6IDQ4cHg7CiAgICBwYWRkaW5nLXRvcDogNHB4OwogICAgcGFkZGluZy1ib3R0b206IDRweDsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIHdpZHRoOiAxMDAlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CiAgLm5hdi1kcm9wLW1lbnUgYSB7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMTJweCAyMHB4ICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDE2cHg7CiAgfQogIC5uYXYtY3RhIHsKICAgIG1pbi1oZWlnaHQ6IDUycHg7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIH0KfQovKiBOYXYgZHJvcCBtZW51IGFuaW1hdGlvbiAqLwoubmF2LWRyb3AtbWVudSB7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTYwbXMgZWFzZTsKfQoubmF2LWRyb3AtbWVudVthcmlhLWhpZGRlbj0idHJ1ZSJdIHsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgfQoubmF2LWRyb3AtbWVudVthcmlhLWhpZGRlbj0iZmFsc2UiXSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgaXEtZW5oYW5jZS5jc3MgLSBFeHByZXNzIGJvb2tpbmcsIFBob3RvLXRvLXF1b3RlLCBIdW1hbi1wcmVzZW5jZSwKICAgYW5kIHRoZSBUd2Vha3MgcGFuZWwuIExvYWRlZCBhZnRlciB0aGUgbWFpbiBzdHlsZXNoZWV0LgogICBVc2VzIHRoZSBzaXRlJ3MgZXhpc3RpbmcgZGVzaWduIHRva2VucyBmb3IgZnVsbCB2aXN1YWwgY29udGludWl0eS4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgovKiAtLS0tLS0tLS0tIEV4cHJlc3MgKDItdGFwKSBib29raW5nIC0tLS0tLS0tLS0gKi8KLyogV2hlbiB0aGUgbW9kYWwgc2hlbGwgaXMgaW4gZXhwcmVzcyBtb2RlLCBkcm9wIHRoZSBzdGVwcGVyIC8gc2lkZWJhciAvIGZvb3QKICAgc28gdGhlIHNpbmdsZSBjb25maXJtIHNjcmVlbiBvd25zIHRoZSB3aG9sZSBwYW5lbC4gKi8KLmFtZWxpYS1tb2RhbC1zaGVsbC5pcy1leHByZXNzIC5hbW9jay1zdGVwcGVyLAouYW1lbGlhLW1vZGFsLXNoZWxsLmlzLWV4cHJlc3MgLmFtb2NrLXNpZGUsCi5hbWVsaWEtbW9kYWwtc2hlbGwuaXMtZXhwcmVzcyAuYW1vY2stZm9vdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQouYW1lbGlhLW1vZGFsLXNoZWxsLmlzLWV4cHJlc3MgeyBtYXgtd2lkdGg6IDQ2MHB4OyBoZWlnaHQ6IGF1dG87IG1heC1oZWlnaHQ6IDkydmg7IG92ZXJmbG93OiBoaWRkZW47IH0KLyogVGhlIHdpZGdldCBpcyBub3JtYWxseSBwb3NpdGlvbjphYnNvbHV0ZSAoZmlsbHMgYSBmaXhlZC1oZWlnaHQgYm9keSkuIEluIGV4cHJlc3MKICAgdGhlIHNoZWxsIGlzIGNvbnRlbnQtc2l6ZWQsIHNvIHB1dCB0aGUgd2lkZ2V0IGJhY2sgaW50byBub3JtYWwgZmxvdyBvciB0aGUgYm9keQogICBjb2xsYXBzZXMgdG8gMCBoZWlnaHQgYW5kIG5vdGhpbmcgcmVuZGVycy4gKi8KLmFtZWxpYS1tb2RhbC1zaGVsbC5pcy1leHByZXNzIC5hbWVsaWEtbW9kYWwtYm9keSB7IGZsZXg6IDAgMSBhdXRvOyBvdmVyZmxvdzogYXV0bzsgbWluLWhlaWdodDogMDsgfQouYW1lbGlhLW1vZGFsLXNoZWxsLmlzLWV4cHJlc3MgLmFtb2NrIHsgcG9zaXRpb246IHN0YXRpYzsgaW5zZXQ6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdzogdmlzaWJsZTsgfQouYW1lbGlhLW1vZGFsLXNoZWxsLmlzLWV4cHJlc3MgLmFtb2NrLWJvZHkgeyBkaXNwbGF5OiBibG9jazsgfQouYW1lbGlhLW1vZGFsLXNoZWxsLmlzLWV4cHJlc3MgLmFtb2NrLW1haW4geyBwb3NpdGlvbjogc3RhdGljOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogdmlzaWJsZTsgaGVpZ2h0OiBhdXRvOyBmbGV4OiBub25lOyB9CgoueGIgeyBwYWRkaW5nOiAyNnB4IDI2cHggMjJweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNnB4OyB9Ci54Yi1oZWFkIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IH0KLnhiLWV5ZWJyb3cgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMTZlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4Owp9Ci54Yi1kb3QgeyB3aWR0aDogN3B4OyBoZWlnaHQ6IDdweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiAjNGFkZTgwOyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3NCwyMjIsMTI4LC4xOCk7IH0KLnhiLWggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyM3B4OyBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTsgbGluZS1oZWlnaHQ6IDEuMTsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMDsgfQoueGItdG90YWwgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDMwcHg7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgY29sb3I6IHZhcigtLWluayk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiAxMHB4Owp9Ci54Yi10b3RhbCBzcGFuIHsgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IDA7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KCi54Yi1sYWJlbCB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgbWFyZ2luOiAycHggMCAtNnB4OyB9Ci54Yi1zbG90cyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IGdhcDogMTBweDsgfQoueGItc2xvdCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LWFsaWduOiBsZWZ0OyBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDEzcHg7CiAgcGFkZGluZzogMTNweCAxNHB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDJweDsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMgZWFzZSwgYmFja2dyb3VuZCAxNDBtcyBlYXNlLCB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsKICBtaW4taGVpZ2h0OiA2NHB4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoueGItc2xvdDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgfQoueGItc2xvdC5pcy1zZWwgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDc5LDE0MCwyNTUsLjA3KSwgcmdiYSg3OSwxNDAsMjU1LC4wMikpOyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3OSwxNDAsMjU1LC4xMCk7IH0KLnhiLXNsb3QgLnhiLWRheSB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci54Yi1zbG90IC54Yi10aW1lIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KLnhiLXNsb3QuaXMtc2VsIC54Yi10aW1lIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLnhiLXNvb24geyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLThweDsgcmlnaHQ6IDEwcHg7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiA4LjVweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsgY29sb3I6ICNmZmY7IHBhZGRpbmc6IDJweCA3cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBmb250LXdlaWdodDogNjAwOyB9Ci54Yi1zbG90LnhiLW1vcmUgeyBib3JkZXItc3R5bGU6IGRhc2hlZDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci54Yi1zbG90LnhiLW1vcmUgLnhiLWRheSB7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KLnhiLXNsb3QueGItbW9yZSAueGItdGltZSB7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgfQoKLnhiLXByZXNlbmNlIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDExcHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxM3B4OyBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBsaW5lLWhlaWdodDogMS40Owp9Ci54Yi1wcmVzZW5jZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoueGItYXYgewogIGZsZXgtc2hyaW5rOiAwOyB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taGFsbykgMCUsIHZhcigtLWluaykgMTAwJSk7CiAgY29sb3I6ICNGQkZDRkU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAyZW07Cn0KCi54Yi1pZGVudCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgcGFkZGluZzogMnB4IDJweDsgfQoueGItaWRlbnQgc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnhiLWlkZW50IGEgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZS0yKTsgfQoueGItaWRlbnQtZm9ybSB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4zZnIgMWZyOyBnYXA6IDEwcHg7IH0KLnhiLWlkZW50LWZvcm0gaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxMXB4OwogIHBhZGRpbmc6IDEzcHggMTNweDsgZm9udC1zaXplOiAxNXB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgY29sb3I6IHZhcigtLWluayk7CiAgZm9udC13ZWlnaHQ6IDUwMDsgb3V0bGluZTogbm9uZTsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGJveC1zaGFkb3cgMTQwbXMgZWFzZTsKfQoueGItaWRlbnQtZm9ybSBpbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDc5LDE0MCwyNTUsLjEwKTsgfQoueGItaWRlbnQtZm9ybSBpbnB1dC54Yi1pbnZhbGlkIHsgYm9yZGVyLWNvbG9yOiAjZWY0NDQ0OyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMzksNjgsNjgsLjEyKTsgfQoKLnhiLWd1YXJhbnRlZSB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogOHB4OwogIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNDU7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLnhiLWd1YXJhbnRlZSBzdmcgeyBmbGV4LXNocmluazogMDsgY29sb3I6ICMxZjhhNWI7IG1hcmdpbi10b3A6IDFweDsgfQoKLnhiLWNvbmZpcm0gewogIG1hcmdpbi10b3A6IDJweDsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTZweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsKICBwYWRkaW5nOiAxNnB4OyBib3JkZXItcmFkaXVzOiAxNHB4OyBtaW4taGVpZ2h0OiA1MnB4OwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDEwMG1zIGVhc2U7Cn0KLnhiLWNvbmZpcm06aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci54Yi1jb25maXJtOmFjdGl2ZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyB9Ci54Yi1mdWxsbGluayB7CiAgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7IGFsaWduLXNlbGY6IGNlbnRlcjsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBwYWRkaW5nOiAycHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci54Yi1mdWxsbGluazpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmstMik7IGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXJ1bGUtMik7IH0KCi8qIGRvbmUtc2NyZWVuIGFkZGl0aW9ucyAqLwouYW1vY2stZG9uZSAueGItY2FsIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IG1hcmdpbi10b3A6IDRweDsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBsZXR0ZXItc3BhY2luZzogLjA0ZW07CiAgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUtMik7Cn0KLnhiLXJlZmVycmFsIHsKICBtYXJnaW4tdG9wOiAyMHB4OyBwYWRkaW5nOiAxOHB4OyBib3JkZXItcmFkaXVzOiAxNnB4OyB0ZXh0LWFsaWduOiBsZWZ0OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNzksMTQwLDI1NSwuMDgpLCByZ2JhKDEyNCw5MSwyNTUsLjA2KSk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7Cn0KLnhiLXJlZi1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTVweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IGNvbG9yOiB2YXIoLS1pbmspOyBtYXJnaW4tYm90dG9tOiA0cHg7IH0KLnhiLXJlZi1wIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBsaW5lLWhlaWdodDogMS40NTsgbWFyZ2luLWJvdHRvbTogMTJweDsgfQoueGItcmVmLXAgc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IH0KLnhiLXJlZi1idG4gewogIHdpZHRoOiAxMDAlOyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNC41cHg7IHBhZGRpbmc6IDEycHg7IGJvcmRlci1yYWRpdXM6IDExcHg7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlOwp9Ci54Yi1yZWYtYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgfQoKLyogLS0tLS0tLS0tLSBTZXJ2aWNlLWFkZHJlc3MgYXV0b2NvbXBsZXRlIC0tLS0tLS0tLS0gKi8KLmFtb2NrLWZpZWxkLmZ1bGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLmFtZi1hYyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyBsZWZ0OiAwOyByaWdodDogMDsgei1pbmRleDogMzA7IG1hcmdpbi10b3A6IDVweDsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxMXB4OyBib3gtc2hhZG93OiAwIDE4cHggNDRweCAtMThweCByZ2JhKDcsMTYsMzEsLjQ1KTsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogbm9uZTsgfQouYW1mLWFjLnNob3cgeyBkaXNwbGF5OiBibG9jazsgfQouYW1mLWFjLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQ7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAxMXB4IDEycHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWluayk7IH0KLmFtZi1hYy1pdGVtICsgLmFtZi1hYy1pdGVtIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyB9Ci5hbWYtYWMtaXRlbSBzdmcgeyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IGZsZXgtc2hyaW5rOiAwOyB9Ci5hbWYtYWMtaXRlbTpob3ZlciwgLmFtZi1hYy1pdGVtLmlzLWFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyB9Ci5hbWYtYWMtaXRlbSBzcGFuIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH0KCi8qIC0tLS0tLS0tLS0gUGhvdG8tdG8tcXVvdGUgLS0tLS0tLS0tLSAqLwouaXEtcGhvdG8tZW50cnkgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTRweDsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQ7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgcGFkZGluZzogMTRweCAxNnB4OyBjdXJzb3I6IHBvaW50ZXI7IG1hcmdpbjogMCAwIDE4cHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2UsIGJveC1zaGFkb3cgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDEyMG1zIGVhc2U7Cn0KLmlxLXBob3RvLWVudHJ5OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgYm94LXNoYWRvdzogMCA4cHggMjhweCAtMTZweCByZ2JhKDc5LDE0MCwyNTUsLjUpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KLmlxLXBob3RvLWljIHsKICBmbGV4LXNocmluazogMDsgd2lkdGg6IDQycHg7IGhlaWdodDogNDJweDsgYm9yZGVyLXJhZGl1czogMTJweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1oYWxvKSAwJSwgdmFyKC0taW5rKSAxMDAlKTsgY29sb3I6ICNmZmY7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmlxLXBob3RvLXR4IHsgZmxleDogMTsgfQouaXEtcGhvdG8tdHggLmggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNXB4OyBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgY29sb3I6IHZhcigtLWluayk7IH0KLmlxLXBob3RvLXR4IC5wIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOiAxcHg7IH0KLmlxLXBob3RvLWVudHJ5IC5hcnJvdyB7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgZmxleC1zaHJpbms6IDA7IH0KCi5pcS1wbW9kYWwgeyBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAxMTAwOyBkaXNwbGF5OiBub25lOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogMjBweDsgYmFja2dyb3VuZDogcmdiYSg3LDE2LDMxLC41NSk7IC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOyBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7IH0KLmlxLXBtb2RhbC5pcy1vcGVuIHsgZGlzcGxheTogZmxleDsgb3BhY2l0eTogMTsgfQouaXEtcG1vZGFsLXNoZWxsIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNDQwcHg7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDIycHg7IG92ZXJmbG93OiBoaWRkZW47IGJveC1zaGFkb3c6IDAgNDBweCA4MHB4IC0zMHB4IHJnYmEoNywxNiwzMSwuNSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguOTgpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjYwbXMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpOyBtYXgtaGVpZ2h0OiA5MnZoOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9Ci5pcS1wbW9kYWwuaXMtb3BlbiAuaXEtcG1vZGFsLXNoZWxsIHsgdHJhbnNmb3JtOiBub25lOyB9Ci5pcS1wbW9kYWwtaGVhZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgcGFkZGluZzogMTRweCAxOHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyB9Ci5pcS1wbW9kYWwtaGVhZCAudCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE1cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOyBjb2xvcjogdmFyKC0taW5rKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA5cHg7IH0KLmlxLXBtb2RhbC1oZWFkIC50IC5kb3QgeyB3aWR0aDogN3B4OyBoZWlnaHQ6IDdweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiAjNGFkZTgwOyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3NCwyMjIsMTI4LC4xOCk7IH0KLmlxLXBtb2RhbC1jbG9zZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgd2lkdGg6IDMycHg7IGhlaWdodDogMzJweDsgYm9yZGVyLXJhZGl1czogOHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9Ci5pcS1wbW9kYWwtY2xvc2U6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgY29sb3I6IHZhcigtLWluayk7IH0KLmlxLXBtb2RhbC1ib2R5IHsgcGFkZGluZzogMjBweDsgb3ZlcmZsb3c6IGF1dG87IH0KCi5pcS1kcm9wIHsKICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tcnVsZS0yKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMzRweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlOwp9Ci5pcS1kcm9wOmhvdmVyLCAuaXEtZHJvcC5kcmFnIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wNCk7IH0KLmlxLWRyb3AgLmljIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KLmlxLWRyb3AgLmggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNnB4OyBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgY29sb3I6IHZhcigtLWluayk7IH0KLmlxLWRyb3AgLnAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi10b3A6IDRweDsgfQouaXEtZHJvcCAuaGludCB7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IG1hcmdpbi10b3A6IDEycHg7IH0KCi5pcS1zaG90IHsgcG9zaXRpb246IHJlbGF0aXZlOyBib3JkZXItcmFkaXVzOiAxNHB4OyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjMGIxMzIyOyB9Ci5pcS1zaG90IGltZyB7IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgbWF4LWhlaWdodDogMjgwcHg7IG9iamVjdC1maXQ6IGNvdmVyOyB9Ci5pcS1zY2FuIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLWhhbG8pLCB0cmFuc3BhcmVudCk7IGJveC1zaGFkb3c6IDAgMCAxNnB4IDJweCByZ2JhKDc5LDE0MCwyNTUsLjYpOyB0b3A6IDA7IGFuaW1hdGlvbjogaXFTY2FuIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH0KQGtleWZyYW1lcyBpcVNjYW4geyAwJSwxMDAlIHsgdG9wOiA0JTsgfSA1MCUgeyB0b3A6IDk2JTsgfSB9Ci5pcS10YWcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiByZ2JhKDcsMTYsMzEsLjc4KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTgpOyBwYWRkaW5nOiA0cHggOHB4OyBib3JkZXItcmFkaXVzOiA3cHg7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLCB0cmFuc2Zvcm0gLjNzIGVhc2U7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KLmlxLXRhZy5zaG93IHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBub25lOyB9Ci5pcS10YWcgLmQgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tMik7IG1hcmdpbi1yaWdodDogNnB4OyB9CgouaXEtYW5hbHlzaXMgeyBtYXJnaW4tdG9wOiAxNnB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfQouaXEtYXJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOXB4OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyBhbmltYXRpb246IGlxSW4gLjM1cyBmb3J3YXJkczsgfQouaXEtYXJvdyBzdmcgeyBjb2xvcjogIzFmOGE1YjsgZmxleC1zaHJpbms6IDA7IH0KLmlxLWFyb3cgLmsgeyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9Ci5pcS1hcm93IC52IHsgbWFyZ2luLWxlZnQ6IGF1dG87IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rKTsgfQpAa2V5ZnJhbWVzIGlxSW4geyB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogbm9uZTsgfSB9CgouaXEtcHJlc3VsdCB7IG1hcmdpbi10b3A6IDE4cHg7IHBhZGRpbmc6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE0cHg7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgfQouaXEtcHJlc3VsdCAubGJsIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyB9Ci5pcS1wcmVzdWx0IC5hbXQgeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAzMnB4OyBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luOiAycHggMCAycHg7IH0KLmlxLXByZXN1bHQgLnN1YiB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgfQouaXEtcGJvb2sgeyBtYXJnaW4tdG9wOiAxNHB4OyB3aWR0aDogMTAwJTsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE1LjVweDsgcGFkZGluZzogMTVweDsgYm9yZGVyLXJhZGl1czogMTNweDsgbWluLWhlaWdodDogNTBweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlOyB9Ci5pcS1wYm9vazpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IH0KLmlxLXBmb290IHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiAxMnB4OyB9Ci5pcS1wZm9vdC1saW5rIHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfQouaXEtcGZvb3QtbGluazpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmstMik7IGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXJ1bGUtMik7IH0KCi8qIC0tLS0tLS0tLS0gVmlzaW9uIHNjb3BlIGFkZGl0aW9ucyAtLS0tLS0tLS0tICovCi5pcS1zY2FubGFiZWwgeyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDowOyByaWdodDowOyBib3R0b206MTBweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZToxMy41cHg7IGxldHRlci1zcGFjaW5nOi4xZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6I2ZmZjsgdGV4dC1zaGFkb3c6MCAxcHggNHB4IHJnYmEoMCwwLDAsLjYpOyB9Ci5pcS1zY29wZWQgeyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgZ2FwOjE0cHg7IH0KLmlxLXRodW1icyB7IGRpc3BsYXk6ZmxleDsgZ2FwOjhweDsgZmxleC13cmFwOndyYXA7IH0KLmlxLXRodW1iIHsgcG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOjc0cHg7IH0KLmlxLXRodW1iIGltZyB7IHdpZHRoOjc0cHg7IGhlaWdodDo1NXB4OyBvYmplY3QtZml0OmNvdmVyOyBib3JkZXItcmFkaXVzOjlweDsgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ydWxlKTsgZGlzcGxheTpibG9jazsgfQouaXEtdGh1bWIgLnN2YyB7IGRpc3BsYXk6YmxvY2s7IGZvbnQtc2l6ZToxM3B4OyBjb2xvcjp2YXIoLS1zdGVlbCk7IG1hcmdpbi10b3A6M3B4OyBsaW5lLWhlaWdodDoxLjE1OyB9Ci5pcS10aHVtYiAucm0geyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi02cHg7IHJpZ2h0Oi02cHg7IHdpZHRoOjE4cHg7IGhlaWdodDoxOHB4OyBib3JkZXItcmFkaXVzOjUwJTsgYm9yZGVyOjA7IGJhY2tncm91bmQ6dmFyKC0taW5rKTsgY29sb3I6I2ZmZjsgZm9udC1zaXplOjE0cHg7IGxpbmUtaGVpZ2h0OjE7IGN1cnNvcjpwb2ludGVyOyB9Ci5pcS1hZGRzaG90IHsgd2lkdGg6NzRweDsgaGVpZ2h0OjU1cHg7IGJvcmRlcjoxLjVweCBkYXNoZWQgdmFyKC0tcnVsZS0yKTsgYm9yZGVyLXJhZGl1czo5cHg7IGJhY2tncm91bmQ6bm9uZTsgY3Vyc29yOnBvaW50ZXI7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246Y29sdW1uOyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IGdhcDoycHg7IGNvbG9yOnZhcigtLXN0ZWVsKTsgZm9udC1zaXplOjEzcHg7IH0KLmlxLWFkZHNob3Q6aG92ZXIgeyBib3JkZXItY29sb3I6dmFyKC0taGFsbyk7IGNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IH0KLmlxLWludi1oIHsgZm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgZm9udC1zaXplOjEzcHg7IGxldHRlci1zcGFjaW5nOi4xNGVtOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOnZhcigtLXN0ZWVsLTIpOyB9Ci5pcS1mbGFncyB7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246Y29sdW1uOyBnYXA6N3B4OyB9Ci5pcS1mbGFnIHsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0OyBnYXA6OHB4OyBmb250LXNpemU6MTRweDsgbGluZS1oZWlnaHQ6MS40OyBwYWRkaW5nOjlweCAxMXB4OyBib3JkZXItcmFkaXVzOjEwcHg7IH0KLmlxLWZsYWcgc3ZnIHsgZmxleC1zaHJpbms6MDsgbWFyZ2luLXRvcDoxcHg7IH0KLmlxLWZsYWcub2sgeyBiYWNrZ3JvdW5kOnJnYmEoMzEsMTM4LDkxLC4wOSk7IH0KLmlxLWZsYWcub2sgc3ZnIHsgY29sb3I6IzFmOGE1YjsgfQouaXEtZmxhZy53YXJuIHsgYmFja2dyb3VuZDpyZ2JhKDE4MCw4Myw5LC4xMCk7IH0KLmlxLWZsYWcud2FybiBzdmcgeyBjb2xvcjojYjQ1MzA5OyB9Ci5pcS1mbGFnIHNwYW4geyBjb2xvcjp2YXIoLS1pbmstMik7IH0KLmlxLWRldmljZSB7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6MTBweDsgd2lkdGg6MTAwJTsgdGV4dC1hbGlnbjpsZWZ0OyBwYWRkaW5nOjExcHggMTNweDsgYm9yZGVyLXJhZGl1czoxMnB4OyBib3JkZXI6MXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBiYWNrZ3JvdW5kOnZhcigtLWJnLWNhcmQpOyBmb250LWZhbWlseTppbmhlcml0OyBjdXJzb3I6cG9pbnRlcjsgfQouaXEtZGV2aWNlLmFkZCB7IGNvbG9yOnZhcigtLWluay0yKTsgZm9udC1zaXplOjEzcHg7IGZvbnQtd2VpZ2h0OjUwMDsgfQouaXEtZGV2aWNlLmFkZCBzdmcgeyBjb2xvcjp2YXIoLS1zdGVlbC0yKTsgZmxleC1zaHJpbms6MDsgfQouaXEtZGV2aWNlLmFkZDpob3ZlciB7IGJvcmRlci1jb2xvcjp2YXIoLS1oYWxvKTsgfQouaXEtZGV2aWNlLm9rIHsgY3Vyc29yOmRlZmF1bHQ7IGJvcmRlci1jb2xvcjpyZ2JhKDMxLDEzOCw5MSwuNCk7IGJhY2tncm91bmQ6cmdiYSgzMSwxMzgsOTEsLjA1KTsgfQouaXEtZGV2aWNlLm9rIHN2ZyB7IGNvbG9yOiMxZjhhNWI7IGZsZXgtc2hyaW5rOjA7IH0KLmlxLWRldmljZSAuZG0geyBmb250LWZhbWlseTonSW50ZXIgVGlnaHQnLHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OjYwMDsgZm9udC1zaXplOjEzLjVweDsgY29sb3I6dmFyKC0taW5rKTsgfQouaXEtZGV2aWNlIC5kcCB7IGZvbnQtc2l6ZToxNHB4OyBjb2xvcjp2YXIoLS1zdGVlbCk7IG1hcmdpbi10b3A6MXB4OyB9Ci5pcS1jb25mIHsgZm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgZm9udC1zaXplOjEzcHg7IGxldHRlci1zcGFjaW5nOi4wNmVtOyBjb2xvcjp2YXIoLS1oYWxvLTIpOyBtYXJnaW4tbGVmdDo4cHg7IH0KLmlxLWxvd2NvbmYgeyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNHB4IDZweDsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGFsaWduLWl0ZW1zOmNlbnRlcjsgZ2FwOjhweDsgfQouaXEtbGMtaWMgeyBjb2xvcjojYjQ1MzA5OyB9Ci5pcS1sb3djb25mIC5oIHsgZm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0JyxzYW5zLXNlcmlmOyBmb250LXdlaWdodDo2MDA7IGZvbnQtc2l6ZToxN3B4OyBsZXR0ZXItc3BhY2luZzotLjAxNWVtOyBjb2xvcjp2YXIoLS1pbmspOyB9Ci5pcS1sb3djb25mIC5wIHsgZm9udC1zaXplOjEzcHg7IGNvbG9yOnZhcigtLXN0ZWVsKTsgbGluZS1oZWlnaHQ6MS41OyBtYXgtd2lkdGg6MzZjaDsgfQouaXEtbGMtcm93IHsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDo4cHg7IHdpZHRoOjEwMCU7IG1hcmdpbi10b3A6NnB4OyB9CgovKiAtLS0tLS0tLS0tIFR3ZWFrcyBwYW5lbCAodmFuaWxsYSkgLS0tLS0tLS0tLSAqLwouaXEtdHdlYWtzIHsgcG9zaXRpb246IGZpeGVkOyByaWdodDogMThweDsgYm90dG9tOiAxOHB4OyB6LWluZGV4OiAxMjAwOyB3aWR0aDogMjkwcHg7IGRpc3BsYXk6IG5vbmU7IGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7IH0KLmlxLXR3ZWFrcy5pcy1vbiB7IGRpc3BsYXk6IGJsb2NrOyB9Ci5pcS10d2Vha3MtY2FyZCB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE2cHg7IGJveC1zaGFkb3c6IDAgMzBweCA3MHB4IC0yNHB4IHJnYmEoNywxNiwzMSwuNDUpOyBvdmVyZmxvdzogaGlkZGVuOyB9Ci5pcS10d2Vha3MtaGVhZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgcGFkZGluZzogMTJweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyB9Ci5pcS10d2Vha3MtaGVhZCAudCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgY29sb3I6IHZhcigtLWluayk7IH0KLmlxLXR3ZWFrcy14IHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgcGFkZGluZzogNHB4OyBkaXNwbGF5OiBmbGV4OyB9Ci5pcS10d2Vha3MteDpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS10d2Vha3MtYm9keSB7IHBhZGRpbmc6IDEycHggMTRweCAxNHB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsgfQouaXEtdHctc2VjdGlvbiB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgbWFyZ2luOiAxMHB4IDAgMnB4OyB9Ci5pcS10dy1zZWN0aW9uOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfQouaXEtdHctcm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiAxMHB4OyBwYWRkaW5nOiA3cHggMDsgY3Vyc29yOiBwb2ludGVyOyB9Ci5pcS10dy10eHQgLmggeyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS10dy10eHQgLnAgeyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbGluZS1oZWlnaHQ6IDEuMzU7IG1hcmdpbi10b3A6IDFweDsgfQouaXEtc3dpdGNoIHsgZmxleC1zaHJpbms6IDA7IHdpZHRoOiAzOHB4OyBoZWlnaHQ6IDIycHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlLTIpOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZTsgbWFyZ2luLXRvcDogMnB4OyB9Ci5pcS1zd2l0Y2g6OmFmdGVyIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAycHg7IGxlZnQ6IDJweDsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwuMjUpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZTsgfQouaXEtdHctcm93Lm9uIC5pcS1zd2l0Y2ggeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsgfQouaXEtdHctcm93Lm9uIC5pcS1zd2l0Y2g6OmFmdGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpOyB9Ci5pcS10dy1idG4geyBtYXJnaW4tdG9wOiAxMHB4OyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiA5cHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmstMik7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGNvbG9yIDE0MG1zIGVhc2U7IH0KLmlxLXR3LWJ0bjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgY29sb3I6IHZhcigtLWluayk7IH0KLmlxLXR3LW5vdGUgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgbWFyZ2luLXRvcDogOHB4OyBsaW5lLWhlaWdodDogMS40OyB9CgpAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAuaXEtdHdlYWtzIHsgcmlnaHQ6IDEwcHg7IGxlZnQ6IDEwcHg7IGJvdHRvbTogMTBweDsgd2lkdGg6IGF1dG87IH0KICAueGItc2xvdHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogIC5pcS1wbW9kYWwtc2hlbGwgeyBtYXgtd2lkdGg6IG5vbmU7IH0KfQovKiA9PT09PSBBQ0NFU1NJQklMSVRZOiBib2R5IHRleHQgMTVweCsgdGhyb3VnaG91dCA9PT09PSAqLwouc3RlcC1wIHsgZm9udC1zaXplOiAxNS41cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuNiAhaW1wb3J0YW50OyB9Ci5yb2JvdGljLXN2Yy1kZXNjIHsgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7IH0KLmlocy1jYXJkLXAgeyBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsgfQoucGFpLWNhcmQtcCB7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyB9Ci5jbG9zZWxvb3AtZGVzYyB7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyB9Ci5hcHB0LWRlc2MgeyBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsgfQoudHJ1c3QtY2FyZHMgewogICAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDE2cHg7CiAgICAgIG1hcmdpbjogMjhweCAwIDA7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHsgLnRydXN0LWNhcmRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQogICAgLnRydXN0LWNhcmQgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7IHBhZGRpbmc6IDI0cHggMjJweDsKICAgICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICAudHJ1c3QtY2FyZDo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsKICAgICAgaGVpZ2h0OiAzcHg7IGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7CiAgICB9CiAgICAudHJ1c3QtY2FyZC1wcmVicmY6OmJlZm9yZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0taGFsby1kZWVwKSwgdmFyKC0taXJpLWMpKTsgfQogICAgLnRydXN0LWNhcmQtY2hlY2tpbjo6YmVmb3JlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1pcmktYyksICMwNTk2NjkpOyB9CiAgICAudHJ1c3QtY2FyZC12aWRlbzo6YmVmb3JlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDU5NjY5LCB2YXIoLS1oYWxvLWRlZXApKTsgfQogICAgLnRydXN0LWNhcmQtaWMgewogICAgICB3aWR0aDogNDJweDsgaGVpZ2h0OiA0MnB4OyBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGZsZXgtc2hyaW5rOiAwOwogICAgfQogICAgLnRydXN0LWNhcmQtbGFiZWwgewogICAgICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW46IDA7CiAgICB9CiAgICAudHJ1c3QtY2FyZC1oIHsKICAgICAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIGZvbnQtc2l6ZTogMTdweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgY29sb3I6IHZhcigtLWluayk7CiAgICAgIG1hcmdpbjogMDsgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICB9CiAgICAudHJ1c3QtY2FyZC1wIHsgZm9udC1zaXplOiAxNC41cHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiB2YXIoLS1pbmstMik7IG1hcmdpbjogMDsgfQogICAgLnRydXN0LWNhcmQtdGFnIHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjA4KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4xOCk7CiAgICAgIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgcGFkZGluZzogNHB4IDEycHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyBtYXJnaW4tdG9wOiA0cHg7CiAgICB9CiAgICAudHJ1c3QtY2FyZC10YWcgLmRvdCB7IHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOyB9CgogICAgLyogVmlkZW8gZ2FsbGVyeSAqLwogICAgLnZpZGVvLWdhbGxlcnkgewogICAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDEycHg7CiAgICAgIG1hcmdpbi10b3A6IDE0cHg7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsgLnZpZGVvLWdhbGxlcnkgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfQogICAgLnZpZGVvLXRodW1iIHsKICAgICAgYXNwZWN0LXJhdGlvOiAxNi85OyBib3JkZXItcmFkaXVzOiAxMnB4OyBvdmVyZmxvdzogaGlkZGVuOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNDBtcyBlYXNlLCBib3gtc2hhZG93IDE0MG1zIGVhc2U7CiAgICB9CiAgICAudmlkZW8tdGh1bWI6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgOHB4IDI0cHggLThweCByZ2JhKDcsMTYsMzEsLjE4KTsgfQogICAgLnZpZGVvLXRodW1iLWJnIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcGFwZXItMiksIHZhcigtLXBhcGVyKSk7CiAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgfQogICAgLnZpZGVvLXBsYXktYnRuIHsKICAgICAgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDcsMTYsMzEsLjI1KTsKICAgIH0KICAgIC52aWRlby10aHVtYi1sYWJlbCB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiA4cHg7IGxlZnQ6IDhweDsgcmlnaHQ6IDhweDsKICAgICAgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmspOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlci1yYWRpdXM6IDZweDsgcGFkZGluZzogNHB4IDhweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMS4zOwogICAgfQouYmFja2JvbmUtc2VjdGlvbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWludmVydGVkKTsgY29sb3I6IHZhcigtLWZnLWludmVydGVkKTsKICBib3JkZXItcmFkaXVzOiAzMnB4OyBwYWRkaW5nOiA3MnB4IDU2cHg7CiAgbWFyZ2luOiAwOwp9Ci5iYWNrYm9uZS1zZWN0aW9uOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDgwJSA2MCUgYXQgMTAwJSAwJSwgcmdiYSg3OSwxNDAsMjU1LC4xNCksIHRyYW5zcGFyZW50IDU1JSksCiAgICByYWRpYWwtZ3JhZGllbnQoNTAlIDUwJSBhdCAwJSAxMDAlLCByZ2JhKDE3NywxNTUsMjU1LC4xKSwgdHJhbnNwYXJlbnQgNjAlKTsKfQovKiBCbHVlcHJpbnQgZ3JpZCBvdmVybGF5ICovCi5iYWNrYm9uZS1zZWN0aW9uOjphZnRlciB7CiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOwogIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4wMjUpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwKICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwuMDI1KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7CiAgYmFja2dyb3VuZC1zaXplOiA0OHB4IDQ4cHg7CiAgbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgODAlIDgwJSBhdCA1MCUgNTAlLCBibGFjayA0MCUsIHRyYW5zcGFyZW50IDEwMCUpOwp9Ci5iYWNrYm9uZS1pbm5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfQouYmFja2JvbmUtZXllYnJvdyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1pcmktYyk7IG1hcmdpbjogMCAwIDIwcHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4Owp9Ci5iYWNrYm9uZS1leWVicm93OjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyB3aWR0aDogMjhweDsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IHZhcigtLWlyaS1jKTsgb3BhY2l0eTogLjY7Cn0KLmJhY2tib25lLWggewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogODAwOwogIGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgNXZ3LCA1OHB4KTsgbGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW07IGxpbmUtaGVpZ2h0OiAxLjA7CiAgbWFyZ2luOiAwIDAgNnB4OyBjb2xvcjogI2ZmZjsgdGV4dC13cmFwOiBiYWxhbmNlOwp9Ci5iYWNrYm9uZS1oIC5xLXdvcmQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci5iYWNrYm9uZS1oIC5xLWxldHRlciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taXJpLWEpLCB2YXIoLS1oYWxvLTIpLCB2YXIoLS1pcmktYykpOwogIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKfQouYmFja2JvbmUtc3ViIHsKICBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjUpOwogIG1heC13aWR0aDogNThjaDsgbWFyZ2luOiAxNnB4IDAgNTJweDsKfQovKiBMQVlFUiBHUklEICovCi5iYWNrYm9uZS1ncmlkIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDFweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7IGJvcmRlci1yYWRpdXM6IDIwcHg7IG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luLWJvdHRvbTogNDhweDsKfQouYmFja2JvbmUtbm9kZSB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDMpOyBwYWRkaW5nOiAyOHB4IDI0cHg7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxODBtcyBlYXNlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouYmFja2JvbmUtbm9kZTpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsgfQouYmFja2JvbmUtbm9kZS1pYyB7CiAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgYm9yZGVyLXJhZGl1czogMTFweDsgbWFyZ2luLWJvdHRvbTogMTZweDsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNyk7IGNvbG9yOiB2YXIoLS1pcmktYyk7Cn0KLmJhY2tib25lLW5vZGUtc3BhY2UgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMzgpOyBtYXJnaW4tYm90dG9tOiA4cHg7Cn0KLmJhY2tib25lLW5vZGUtaCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zaXplOiAxN3B4OyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBjb2xvcjogI2ZmZjsgbWFyZ2luLWJvdHRvbTogN3B4Owp9Ci5iYWNrYm9uZS1ub2RlLXAgewogIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41OCk7IG1hcmdpbjogMCAwIDEycHg7Cn0KLmJhY2tib25lLW5vZGUtcmVzdWx0IHsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pcmktYyk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KLmJhY2tib25lLW5vZGUtcmVzdWx0OjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyB3aWR0aDogNXB4OyBoZWlnaHQ6IDVweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7IGZsZXgtc2hyaW5rOiAwOwp9Ci8qIEZPT1RFUiBCQVIgKi8KLmJhY2tib25lLWZvb3QgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiAyNHB4OwogIHBhZGRpbmctdG9wOiA0MHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7IGZsZXgtd3JhcDogd3JhcDsKfQouYmFja2JvbmUtZm9vdC1sZWZ0IHt9Ci5iYWNrYm9uZS10YWdsaW5lIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDIuNXZ3LCAyNHB4KTsgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07CiAgY29sb3I6ICNmZmY7IG1hcmdpbjogMCAwIDZweDsKfQouYmFja2JvbmUtdGFnbGluZS1zdWIgewogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyBtYXJnaW46IDA7Cn0KLmJhY2tib25lLWN0YSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOXB4OwogIGJhY2tncm91bmQ6ICNmZmY7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc2l6ZTogMTQuNXB4OyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBwYWRkaW5nOiAxM3B4IDIycHg7CiAgYm9yZGVyLXJhZGl1czogOTk5cHg7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZmxleC1zaHJpbms6IDA7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogaW5oZXJpdDsKfQouYmFja2JvbmUtY3RhOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taXJpLWMpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KCi8qIFEgTkFNRVBMQVRFICovCi5iYWNrYm9uZS1uYW1lcGxhdGUgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiAwOyBtYXJnaW4tYm90dG9tOiAyOHB4OwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogODAwOwogIGZvbnQtc2l6ZTogY2xhbXAoMTNweCwgMS41dncsIDE2cHgpOyBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjMpOwp9Ci5iYWNrYm9uZS1uYW1lcGxhdGUgLnNlZyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQouYmFja2JvbmUtbmFtZXBsYXRlIC5zZWcuaGlnaGxpZ2h0IHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1pcmktYSksIHZhcigtLWhhbG8tMikpOwogIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKfQouYmFja2JvbmUtbmFtZXBsYXRlIC5zZWctZG90IHsKICB3aWR0aDogM3B4OyBoZWlnaHQ6IDNweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjIpOyBtYXJnaW46IDAgM3B4IDNweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CgpAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7IC5iYWNrYm9uZS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeyAuYmFja2JvbmUtc2VjdGlvbiB7IHBhZGRpbmc6IDQ4cHggMjRweDsgYm9yZGVyLXJhZGl1czogMjJweDsgfSB9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgeyAuYmFja2JvbmUtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IC5iYWNrYm9uZS1mb290IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfQouaWhzLWdyaWQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICBnYXA6IDE2cHg7CiAgICBtYXJnaW4tdG9wOiA0MHB4OwogIH0KICAuaWhzLWNhcmQgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogICAgYm9yZGVyLXJhZGl1czogMjBweDsgcGFkZGluZzogMjZweCAyNHB4OwogICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2UsIGJveC1zaGFkb3cgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDEyMG1zIGVhc2U7CiAgfQogIC5paHMtY2FyZDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgYm94LXNoYWRvdzogMCA2cHggMjRweCAtOHB4IHJnYmEoNywxNiwzMSwuMTApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH0KICAuaWhzLWZlYXR1cmVkIHsKICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCB2YXIoLS1iZy1pbnZlcnRlZCkgMCUsICMwZDFkMzggMTAwJSk7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMTExLDE2NywyNTUsLjI1KTsKICAgIGNvbG9yOiAjZmZmOwogIH0KICAuaWhzLWZlYXR1cmVkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDExMSwxNjcsMjU1LC41KTsgYm94LXNoYWRvdzogMCA4cHggMzJweCAtMTBweCByZ2JhKDc5LDE0MCwyNTUsLjI1KTsgfQogIC5paHMtY2FyZC10b3AgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi1ib3R0b206IDE0cHg7IH0KICAuaWhzLWljIHsKICAgIHdpZHRoOiA0NnB4OyBoZWlnaHQ6IDQ2cHg7IGJvcmRlci1yYWRpdXM6IDEzcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBmbGV4LXNocmluazogMDsKICB9CiAgLmlocy1mZWF0dXJlZCAuaWhzLWljIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDgpOyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjEyKTsgY29sb3I6IHZhcigtLWlyaS1jKTsgfQogIC5paHMtYmFkZ2UgewogICAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMTgpOyBjb2xvcjogdmFyKC0taXJpLWMpOwogICAgcGFkZGluZzogNHB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjI1KTsKICB9CiAgLmlocy1jYXJkLWggewogICAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTlweDsgZm9udC13ZWlnaHQ6IDY1MDsKICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IG1hcmdpbjogMCAwIDhweDsgY29sb3I6IHZhcigtLWluayk7CiAgfQogIC5paHMtZmVhdHVyZWQgLmlocy1jYXJkLWggeyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAyMnB4OyB9CiAgLmlocy1jYXJkLXAgeyBmb250LXNpemU6IDE0LjVweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luOiAwIDAgMTZweDsgfQogIC5paHMtZmVhdHVyZWQgLmlocy1jYXJkLXAgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzIpOyBmb250LXNpemU6IDE0LjVweDsgfQogIC5paHMtdGFncyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA3cHg7IH0KICAuaWhzLXRhZ3Mgc3BhbiB7CiAgICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgICBwYWRkaW5nOiA0cHggMTBweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgfQogIC5paHMtZmVhdHVyZWQgLmlocy10YWdzIHNwYW4gewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDcpOyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE0KTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcyKTsKICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgewogICAgLmlocy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogICAgLmlocy1mZWF0dXJlZCB7IGdyaWQtY29sdW1uOiBzcGFuIDI7IH0KICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7CiAgICAuaWhzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgLmlocy1mZWF0dXJlZCB7IGdyaWQtY29sdW1uOiBzcGFuIDE7IH0KICB9Ci5zY2VuYXJpby13cmFwIHsgbWFyZ2luLXRvcDogMzBweDsgfQogICAgICAgIC5zY2VuYXJpby1oZWFkIHsgZm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgZm9udC1zaXplOjEzLjVweDsgbGV0dGVyLXNwYWNpbmc6LjE0ZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6dmFyKC0tc3RlZWwpOyBtYXJnaW46MCAwIDE2cHg7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6OXB4OyB9CiAgICAgICAgLnNjZW5hcmlvLWhlYWQgLnBpcCB7IHdpZHRoOjdweDsgaGVpZ2h0OjdweDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQ6dmFyKC0taGFsbyk7IGJveC1zaGFkb3c6MCAwIDAgNHB4IHZhcigtLWhhbG8tc29mdCk7IH0KICAgICAgICAuc2NlbmFyaW8tZ3JpZCB7IGRpc3BsYXk6Z3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7IGdhcDoxNHB4OyB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpeyAuc2NlbmFyaW8tZ3JpZHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjsgfSB9CiAgICAgICAgLnNjZW5hcmlvLWNhcmQgeyB0ZXh0LWFsaWduOmxlZnQ7IGN1cnNvcjpwb2ludGVyOyBiYWNrZ3JvdW5kOnZhcigtLWJnLWNhcmQpOyBib3JkZXI6MXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOjE4cHg7IHBhZGRpbmc6MjBweDsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDoxMXB4OyB0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAxNjBtcyBlYXNlLCBib3gtc2hhZG93IDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxMjBtcyBlYXNlOyBmb250LWZhbWlseTppbmhlcml0OyB9CiAgICAgICAgLnNjZW5hcmlvLWNhcmQ6aG92ZXIgeyBib3JkZXItY29sb3I6dmFyKC0taGFsbyk7IGJveC1zaGFkb3c6MCAxNHB4IDM0cHggLTIwcHggcmdiYSg3OSwxNDAsMjU1LC41NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpOyB9CiAgICAgICAgLnNjZW5hcmlvLWljIHsgd2lkdGg6NDJweDsgaGVpZ2h0OjQycHg7IGJvcmRlci1yYWRpdXM6MTJweDsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWhhbG8pIDAlLHZhcigtLWluaykgMTAwJSk7IGNvbG9yOiNmZmY7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyB9CiAgICAgICAgLnNjZW5hcmlvLWggeyBmb250LWZhbWlseTonSW50ZXIgVGlnaHQnLHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OjYwMDsgZm9udC1zaXplOjE3cHg7IGxldHRlci1zcGFjaW5nOi0uMDJlbTsgY29sb3I6dmFyKC0taW5rKTsgbWFyZ2luOjA7IH0KICAgICAgICAuc2NlbmFyaW8tcCB7IGZvbnQtc2l6ZToxMy41cHg7IGxpbmUtaGVpZ2h0OjEuNTsgY29sb3I6dmFyKC0taW5rLTIpOyBtYXJnaW46MDsgZmxleDoxOyB9CiAgICAgICAgLnNjZW5hcmlvLWluYyB7IGZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTNweDsgbGV0dGVyLXNwYWNpbmc6LjA0ZW07IGNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBtYXJnaW4tdG9wOjJweDsgfQoucGFpLWJsb2NrIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWludmVydGVkKTsgY29sb3I6IHZhcigtLWZnLWludmVydGVkKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAzMnB4OwogICAgcGFkZGluZzogNzJweCA1NnB4OwogIH0KICAucGFpLWJsb2NrOjpiZWZvcmUgewogICAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgYmFja2dyb3VuZDoKICAgICAgcmFkaWFsLWdyYWRpZW50KDEyMCUgOTAlIGF0IDg4JSA4JSwgcmdiYSg3OSwxNDAsMjU1LC4xOCksIHRyYW5zcGFyZW50IDUyJSksCiAgICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNjAlIGF0IDAlIDEwMCUsIHJnYmEoMTc3LDE1NSwyNTUsLjEyKSwgdHJhbnNwYXJlbnQgNjAlKTsKICB9CiAgLnBhaS1ibG9jayA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAucGFpLWV5ZWJyb3cgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1oYWxvLTIpOyBtYXJnaW46IDAgMCAxNnB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsgfQogIC5wYWktZXllYnJvdyAucGlwIHsgd2lkdGg6IDdweDsgaGVpZ2h0OiA3cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0taGFsbyk7IGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg3OSwxNDAsMjU1LC41NSk7IGFuaW1hdGlvbjogbGl2ZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9CiAgLnBhaS1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAtLjAzZW07IGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMy44dncsIDQ2cHgpOyBsaW5lLWhlaWdodDogMS4wNDsgbWFyZ2luOiAwIDAgMThweDsgY29sb3I6ICNmZmY7IHRleHQtd3JhcDogYmFsYW5jZTsgbWF4LXdpZHRoOiAxOGNoOyB9CiAgLnBhaS1oIC5ncmFkIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taXJpLWEpIDAlLCB2YXIoLS1oYWxvLTIpIDUwJSwgdmFyKC0taXJpLWMpIDEwMCUpOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAucGFpLWxlZGUgeyBmb250LXNpemU6IDE3cHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43Mik7IG1heC13aWR0aDogNjBjaDsgbWFyZ2luOiAwIDAgNDBweDsgfQoKICAvKiBQUk9PRiBCQU5ORVIgKi8KICAucGFpLXByb29mIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0NSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEzKTsKICAgIGJvcmRlci1yYWRpdXM6IDIycHg7IHBhZGRpbmc6IDMwcHggMzJweDsgbWFyZ2luLWJvdHRvbTogNDRweDsKICAgIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4zNWZyIDFmcjsgZ2FwOiAzNnB4OyBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAucGFpLXByb29mLWV5ZWJyb3cgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBsZXR0ZXItc3BhY2luZzogLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1pcmktYyk7IG1hcmdpbjogMCAwIDEycHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyB9CiAgLnBhaS1wcm9vZi1leWVicm93IC5saXZlIHsgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogIzRhZGU4MDsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDc0LDIyMiwxMjgsLjYpOyBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfQogIC5wYWktcHJvb2YtaCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDI0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBtYXJnaW46IDAgMCAxMHB4OyBjb2xvcjogI2ZmZjsgfQogIC5wYWktcHJvb2YtcCB7IGZvbnQtc2l6ZTogMTQuNXB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNyk7IG1hcmdpbjogMDsgfQogIC5wYWktc3BlY3MgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEwcHg7IH0KICAucGFpLXNwZWMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IGJhY2tncm91bmQ6IHJnYmEoNywxNiwzMSwuNCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOyBib3JkZXItcmFkaXVzOiAxM3B4OyBwYWRkaW5nOiAxMnB4IDE0cHg7IH0KICAucGFpLXNwZWMtaWMgeyB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4OyBmbGV4LXNocmluazogMDsgYm9yZGVyLXJhZGl1czogOXB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NywxNTUsMjU1LC4yMiksIHJnYmEoMTExLDE2NywyNTUsLjE2KSk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBjb2xvcjogdmFyKC0taXJpLWMpOyB9CiAgLnBhaS1zcGVjLW5hbWUgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6ICNmZmY7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07IH0KICAucGFpLXNwZWMtcm9sZSB7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTUpOyBtYXJnaW4tdG9wOiAycHg7IH0KICAucGFpLXByb29mLWZvb3QgeyBncmlkLWNvbHVtbjogMSAvIC0xOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsgcGFkZGluZy10b3A6IDIwcHg7IG1hcmdpbi10b3A6IDRweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTsgfQogIC5wYWktcHJvb2YtZm9vdCBzdmcgeyBjb2xvcjogdmFyKC0taXJpLWMpOyBmbGV4LXNocmluazogMDsgfQoKICAvKiBXSEFUJ1MgSU5DTFVERUQgR1JJRCAqLwogIC5wYWktc3ViIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTUpOyBtYXJnaW46IDAgMCAxOHB4OyB9CiAgLnBhaS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxNHB4OyBtYXJnaW4tYm90dG9tOiA0NHB4OyB9CiAgLnBhaS1jYXJkIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDQpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsgYm9yZGVyLXJhZGl1czogMThweDsgcGFkZGluZzogMjRweDsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2UsIGJhY2tncm91bmQgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDEyMG1zIGVhc2U7IH0KICAucGFpLWNhcmQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHJnYmEoMTExLDE2NywyNTUsLjU1KTsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDYpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH0KICAucGFpLWNhcmQtaWMgeyB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4OyBib3JkZXItcmFkaXVzOiAxMnB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NywxNTUsMjU1LC4xOCksIHJnYmEoMTExLDE2NywyNTUsLjEzKSk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBjb2xvcjogdmFyKC0taXJpLWMpOyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9CiAgLnBhaS1jYXJkLWggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBtYXJnaW46IDAgMCA3cHg7IGNvbG9yOiAjZmZmOyB9CiAgLnBhaS1jYXJkLXAgeyBmb250LXNpemU6IDE0LjVweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42Nik7IG1hcmdpbjogMDsgfQoKICAvKiBMRURHRVIgKHByaXZhdGUgdnMgY2xvdWQpICovCiAgLnBhaS1sZWRnZXItd3JhcCB7IG1hcmdpbi1ib3R0b206IDQ0cHg7IH0KICAucGFpLWxlZGdlciB7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEyKTsgYm9yZGVyLXJhZGl1czogMThweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQogIC5wYWktbHJvdyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4zZnIgMWZyIDFmcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogIC5wYWktbHJvdyArIC5wYWktbHJvdyB7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7IH0KICAucGFpLWxyb3cuaGVhZCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgfQogIC5wYWktbGNlbGwgeyBwYWRkaW5nOiAxNHB4IDIwcHg7IGZvbnQtc2l6ZTogMTQuNXB4OyB9CiAgLnBhaS1sY2VsbC5rIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYyKTsgZm9udC1zaXplOiAxNHB4OyB9CiAgLnBhaS1sY2VsbC5wYWktY29sIHsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA1MDA7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyB9CiAgLnBhaS1sY2VsbC5jbG91ZC1jb2wgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDYpOyB9CiAgLnBhaS1scm93LmhlYWQgLnBhaS1sY2VsbCB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGxldHRlci1zcGFjaW5nOiAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBwYWRkaW5nLXRvcDogMTZweDsgcGFkZGluZy1ib3R0b206IDE2cHg7IH0KICAucGFpLWxyb3cuaGVhZCAucGFpLWNvbCB7IGNvbG9yOiB2YXIoLS1pcmktYyk7IH0KICAucGFpLWxyb3cuaGVhZCAuY2xvdWQtY29sIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQ1KTsgfQogIC5wYWkteWVzIHsgY29sb3I6ICM0YWRlODA7IH0KCiAgLyogQVVESUVOQ0UgKyBDVEEgKi8KICAucGFpLWZvb3QgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogNDBweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZy10b3A6IDQ0cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsgfQogIC5wYWktYXVkLWxhYmVsIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTUpOyBtYXJnaW46IDAgMCAxNnB4OyB9CiAgLnBhaS1jaGlwcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA5cHg7IH0KICAucGFpLWNoaXAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44Mik7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE2KTsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDQpOyBwYWRkaW5nOiA4cHggMTRweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IH0KICAucGFpLWN0YS1jYXJkIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMyk7IGJvcmRlci1yYWRpdXM6IDIycHg7IHBhZGRpbmc6IDI4cHggMzBweDsgfQogIC5wYWktY3RhLWggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyMXB4OyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBtYXJnaW46IDAgMCA4cHg7IGNvbG9yOiAjZmZmOyB9CiAgLnBhaS1jdGEtcCB7IGZvbnQtc2l6ZTogMTQuNXB4OyBsaW5lLWhlaWdodDogMS41NTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjY4KTsgbWFyZ2luOiAwIDAgMjBweDsgfQogIC5wYWktY3RhLWJ0biB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTQuNXB4OyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBwYWRkaW5nOiAxM3B4IDIycHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlOyB9CiAgLnBhaS1jdGEtYnRuOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyBiYWNrZ3JvdW5kOiB2YXIoLS1pcmktYyk7IH0KICAucGFpLWN0YS1idG4gLmFycm93IHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGZvbnQtc2l6ZTogMTdweDsgbGluZS1oZWlnaHQ6IDE7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlOyB9CiAgLnBhaS1jdGEtYnRuOmhvdmVyIC5hcnJvdyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9CiAgLyogVXNlIGNhc2VzIGdyaWQgKi8KICAucGFpLXVzZS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxMnB4OyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9CiAgLnBhaS11c2UtY2FyZCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDkpOyBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiAyMHB4OyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZTsgfQogIC5wYWktdXNlLWNhcmQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjIpOyB9CiAgLnBhaS11c2UtaWMgeyB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMTJweDsgfQogIC5wYWktdXNlLWNhdCB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogIC5wYWktdXNlLWxpc3QgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDAgMCAwIDE0cHg7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNnB4OyB9CiAgLnBhaS11c2UtbGlzdCBsaSB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjY4KTsgfQoKICAvKiBIYXJkd2FyZSBsaW5ldXAgKi8KICAucGFpLWh3LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDEycHg7IG1hcmdpbi1ib3R0b206IDE2cHg7IH0KICAucGFpLWh3LWNhcmQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA5KTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMjJweCAyMHB4OyB9CiAgLnBhaS1ody1iYWRnZSB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1pcmktYyk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMTIpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjIpOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDNweCA5cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9CiAgLnBhaS1ody1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTdweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDZweDsgfQogIC5wYWktaHctbW9kZWxzIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWlyaS1jKTsgbWFyZ2luLWJvdHRvbTogMTBweDsgbGluZS1oZWlnaHQ6IDEuNTsgfQogIC5wYWktaHctcCB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7IG1hcmdpbjogMCAwIDEycHg7IH0KICAucGFpLWh3LXRhZ3MgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4OyB9CiAgLnBhaS1ody10YWdzIHNwYW4geyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOyBwYWRkaW5nOiAzcHggOXB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgfQoKICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7CiAgICAucGFpLXVzZS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogICAgLnBhaS1ody1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogIH0KICBAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAgIC5wYWktdXNlLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgLnBhaS1ody1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICB9CgogIC8qIEdFVCBTVEFSVEVEIGxheW91dCAqLwogIC5wYWktZ2V0c3RhcnRlZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiA0MHB4OyBhbGlnbi1pdGVtczogc3RhcnQ7IHBhZGRpbmctdG9wOiA0NHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7IH0KICAucGFpLWdzLWxlZnQge30KICAucGFpLWdzLXJpZ2h0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAyMHB4OyB9CgogIC8qIEpvdXJuZXkgc3RlcHMgKi8KICAucGFpLWpvdXJuZXkgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDA7IH0KICAucGFpLWpzdGVwIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNnB4OyBwYWRkaW5nLWJvdHRvbTogMjRweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgLnBhaS1qc3RlcDpub3QoOmxhc3QtY2hpbGQpOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxM3B4OyB0b3A6IDMycHg7IGJvdHRvbTogMDsgd2lkdGg6IDFweDsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMTIpOyB9CiAgLnBhaS1qZG90IHsgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjIyKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC40KTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZsZXgtc2hyaW5rOiAwOyB9CiAgLnBhaS1qZG90IHNwYW4geyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0taXJpLWMpOyB9CiAgLnBhaS1qaCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE1cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOyBjb2xvcjogI2ZmZjsgbWFyZ2luLWJvdHRvbTogNXB4OyB9CiAgLnBhaS1qcCB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42Mik7IH0KCiAgLyogQ1RBIGNhcmQgZXh0cmFzICovCiAgLnBhaS1jdGEtZXllYnJvdyB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjNGFkZTgwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9CiAgLnBhaS1icmluZyB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDE2cHggMThweDsgbWFyZ2luOiAxOHB4IDA7IH0KICAucGFpLWJyaW5nLWxhYmVsIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQ1KTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogIC5wYWktYnJpbmctbGlzdCB7IG1hcmdpbjogMDsgcGFkZGluZy1sZWZ0OiAxNnB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDdweDsgfQogIC5wYWktYnJpbmctbGlzdCBsaSB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjY4KTsgfQogIC5wYWktY3RhLWZvb3QgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsgbWFyZ2luLXRvcDogMTRweDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7IH0KCiAgLyogRkFRICovCiAgLnBhaS1mYXEgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wMyk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA5KTsgYm9yZGVyLXJhZGl1czogMThweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQogIC5wYWktZmFxLWxhYmVsIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQpOyBwYWRkaW5nOiAxNHB4IDE4cHggMTBweDsgfQogIC5wYWktZmFxLWl0ZW0geyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOyB9CiAgLnBhaS1mYXEtaXRlbSBzdW1tYXJ5IHsgcGFkZGluZzogMTNweCAxOHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44Mik7IGN1cnNvcjogcG9pbnRlcjsgbGlzdC1zdHlsZTogbm9uZTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB1c2VyLXNlbGVjdDogbm9uZTsgfQogIC5wYWktZmFxLWl0ZW0gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7IGRpc3BsYXk6IG5vbmU7IH0KICAucGFpLWZhcS1pdGVtIHN1bW1hcnk6OmFmdGVyIHsgY29udGVudDogJysnOyBmb250LXNpemU6IDE4cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4zNSk7IGZvbnQtd2VpZ2h0OiAzMDA7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlOyB9CiAgLnBhaS1mYXEtaXRlbVtvcGVuXSBzdW1tYXJ5OjphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgY29sb3I6IHZhcigtLWlyaS1jKTsgfQogIC5wYWktZmFxLWl0ZW0gc3VtbWFyeTpob3ZlciB7IGNvbG9yOiAjZmZmOyB9CiAgLnBhaS1mYXEtaXRlbSBwIHsgcGFkZGluZzogMCAxOHB4IDE2cHg7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyBtYXJnaW46IDA7IH0KCiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkgewogICAgLnBhaS1nZXRzdGFydGVkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICB9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgewogICAgLnBhaS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogIH0KICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAgIC5wYWktYmxvY2sgeyBwYWRkaW5nOiA0OHB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDIycHg7IH0KICAgIC5wYWktcHJvb2YgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAyNHB4OyBwYWRkaW5nOiAyNnB4IDIycHg7IH0KICAgIC5wYWktZm9vdCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDI4cHg7IH0KICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7CiAgICAucGFpLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgLnBhaS1scm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgIC5wYWktbHJvdyAucGFpLWxjZWxsIHsgcGFkZGluZzogOXB4IDE4cHg7IH0KICAgIC5wYWktbHJvdyAucGFpLWxjZWxsLmsgeyBwYWRkaW5nLXRvcDogMTRweDsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNDUpOyB9CiAgICAucGFpLWxjZWxsLmNsb3VkLWNvbCB7IGJvcmRlci1sZWZ0OiAwOyB9CiAgICAucGFpLWxjZWxsLnBhaS1jb2w6OmJlZm9yZSB7IGNvbnRlbnQ6ICdQcml2YXRlIEFJIC0gJzsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQpOyBmb250LXdlaWdodDogNDAwOyB9CiAgICAucGFpLWxjZWxsLmNsb3VkLWNvbDo6YmVmb3JlIHsgY29udGVudDogJ0Nsb3VkIEFQSSAtICc7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4zKTsgfQogICAgLnBhaS1scm93LmhlYWQgeyBkaXNwbGF5OiBub25lOyB9CiAgfQpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAjd29ybGRtb2RlbC10ZWFzZXIgPiAuc2hlbGwgPiBhID4gZGl2IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDsgcGFkZGluZzogNDBweCAyOHB4ICFpbXBvcnRhbnQ7IH0KICAjd29ybGRtb2RlbC10ZWFzZXIgc3ZnIHsgd2lkdGg6IDE3MHB4OyBoZWlnaHQ6IDE3MHB4OyB9Cn0KLmlxLWNhbGxtb2RhbCB7IHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IHotaW5kZXg6IDEzMDA7IGRpc3BsYXk6IG5vbmU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAyMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDcsMTYsMzEsLjYpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOyB9Ci5pcS1jYWxsbW9kYWwuaXMtb3BlbiB7IGRpc3BsYXk6IGZsZXg7IG9wYWNpdHk6IDE7IH0KLmlxLWNhbGxtb2RhbC1zaGVsbCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNDIwcHg7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDIycHg7IHBhZGRpbmc6IDMwcHggMjZweCAyNHB4OyBib3gtc2hhZG93OiAwIDQwcHggOTBweCAtMzBweCByZ2JhKDcsMTYsMzEsLjU1KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEycHgpIHNjYWxlKC45OCk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNjBtcyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSk7IHRleHQtYWxpZ246IGNlbnRlcjsgfQouaXEtY2FsbG1vZGFsLmlzLW9wZW4gLmlxLWNhbGxtb2RhbC1zaGVsbCB7IHRyYW5zZm9ybTogbm9uZTsgfQouaXEtY2FsbG1vZGFsLWNsb3NlIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE0cHg7IHJpZ2h0OiAxNHB4OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IGJvcmRlci1yYWRpdXM6IDhweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgY3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfQouaXEtY2FsbG1vZGFsLWNsb3NlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS1jYWxsLWV5ZWJyb3cgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9Ci5pcS1jYWxsLWRvdCB7IHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6ICM0YWRlODA7IGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDc0LDIyMiwxMjgsLjE4KTsgYW5pbWF0aW9uOiBpcUNhbGxQdWxzZSAycyBpbmZpbml0ZTsgfQpAa2V5ZnJhbWVzIGlxQ2FsbFB1bHNlIHsgMCUsMTAwJSB7IG9wYWNpdHk6IDE7IH0gNTAlIHsgb3BhY2l0eTogLjQ7IH0gfQouaXEtY2FsbC1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjZweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMCAwIDhweDsgfQouaXEtY2FsbC1wIHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDAgYXV0byAyMnB4OyBtYXgtd2lkdGg6IDM0Y2g7IH0KLmlxLWNhbGwtYnRuIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTJweDsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLXJhZGl1czogMTVweDsgcGFkZGluZzogMThweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfQouaXEtY2FsbC1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5pcS1jYWxsLWJ0bjphY3RpdmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfQouaXEtY2FsbC1idG4gc3ZnIHsgZmxleC1zaHJpbms6IDA7IH0KLmlxLWNhbGwtYnRuIC5sYmwgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgbGluZS1oZWlnaHQ6IDEuMTsgfQouaXEtY2FsbC1idG4gLmxibCAuc21hbGwgeyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsgb3BhY2l0eTogLjc7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyB9Ci5pcS1jYWxsLWJ0biAubGJsIC5udW0geyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAyMnB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9Ci5pcS1jYWxsLWhvdXJzIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLXRvcDogMTJweDsgbGV0dGVyLXNwYWNpbmc6IC4wM2VtOyB9Ci5pcS1jYWxsLWFsdCB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMThweDsgcGFkZGluZy10b3A6IDE2cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgfQouaXEtY2FsbC1hbHQgYnV0dG9uIHsgZmxleDogMTsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxMXB4OyBwYWRkaW5nOiAxMXB4IDhweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWluay0yKTsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMgZWFzZSwgY29sb3IgMTQwbXMgZWFzZTsgfQouaXEtY2FsbC1hbHQgYnV0dG9uOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyBjb2xvcjogdmFyKC0taW5rKTsgfQpAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsgLmlxLWNhbGxtb2RhbC1zaGVsbCB7IG1heC13aWR0aDogbm9uZTsgfSAuaXEtY2FsbC1hbHQgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH0KLmJ0bi1hc3Nlc3MgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsKICBjb2xvcjogdmFyKC0taW5rLTIpOwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNjBtcywgY29sb3IgMTYwbXMsIGJhY2tncm91bmQgMTYwbXM7Cn0KLmJ0bi1hc3Nlc3M6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wNik7IH0KCi8qIE1PREFMIFNIRUxMICovCiNwY3FNb2RhbCB7CiAgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogMTYwMDsKICBkaXNwbGF5OiBub25lOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogMTZweDsKfQojcGNxTW9kYWwuaXMtb3BlbiB7IGRpc3BsYXk6IGZsZXg7IH0KLnBjcS1vdmVybGF5IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOwogIGJhY2tncm91bmQ6IHJnYmEoNywxNiwzMSwuNyk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTsgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7CiAgYW5pbWF0aW9uOiBwY3FGYWRlIDIwMG1zIGVhc2U7Cn0KQGtleWZyYW1lcyBwY3FGYWRlIHsgZnJvbSB7IG9wYWNpdHk6MDsgfSB0byB7IG9wYWNpdHk6MTsgfSB9CkBrZXlmcmFtZXMgcGNxVXAgeyBmcm9tIHsgb3BhY2l0eTowOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH0gdG8geyBvcGFjaXR5OjE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9Ci5wY3Etc2hlbGwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNjYwcHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyBib3JkZXItcmFkaXVzOiAyNnB4OwogIGJveC1zaGFkb3c6IDAgNDBweCAxMjBweCAtMzBweCByZ2JhKDcsMTYsMzEsLjYpLCAwIDAgMCAxcHggdmFyKC0tcnVsZSk7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXgtaGVpZ2h0OiA5MHZoOyBhbmltYXRpb246IHBjcVVwIDI0MG1zIGN1YmljLWJlemllciguMiwuOCwuMiwxKTsKfQovKiBIRUFEICovCi5wY3EtaGVhZCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OwogIHBhZGRpbmc6IDE0cHggMjBweDsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBmbGV4LXNocmluazogMDsKfQoucGNxLWJyYW5kIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9Ci5wY3EtcHJvZyB7IGZsZXg6IDE7IGhlaWdodDogM3B4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogOTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQoucGNxLXByb2ctYmFyIHsgaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiA5OXB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWhhbG8tZGVlcCksIHZhcigtLWlyaS1jKSk7IHRyYW5zaXRpb246IHdpZHRoIDMyMG1zIGVhc2U7IHdpZHRoOiAwJTsgfQoucGNxLXN0ZXAtbGJsIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci5wY3EteCB7CiAgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDI4cHg7IGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDE7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogY29sb3IgMTMwbXMsIGJvcmRlci1jb2xvciAxMzBtczsgZmxleC1zaHJpbms6IDA7Cn0KLnBjcS14OmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgfQovKiBCT0RZICovCi5wY3EtYm9keSB7IGZsZXg6IDE7IG92ZXJmbG93LXk6IGF1dG87IHBhZGRpbmc6IDMycHggMzJweCAyNHB4OyB9CkBtZWRpYSAobWF4LXdpZHRoOiA1ODBweCkgeyAucGNxLWJvZHkgeyBwYWRkaW5nOiAyNHB4IDIwcHggMjBweDsgfSB9Ci5wY3EtZXllYnJvdyB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IG1hcmdpbjogMCAwIDEwcHg7IH0KLnBjcS1xIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiBjbGFtcCgxOXB4LDMuMnZ3LDI1cHgpOyBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTsgbGluZS1oZWlnaHQ6IDEuMTI7IGNvbG9yOiB2YXIoLS1pbmspOyBtYXJnaW46IDAgMCAyNHB4OyB0ZXh0LXdyYXA6IGJhbGFuY2U7IH0KLyogUEFUSCBHUklEICovCi5wY3EtcGF0aHMgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTFweDsgfQpAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsgLnBjcS1wYXRocyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KLnBjcS1wY2FyZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMThweDsgcGFkZGluZzogMjBweCAxNnB4OyBjdXJzb3I6IHBvaW50ZXI7IHRleHQtYWxpZ246IGxlZnQ7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA1cHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE1MG1zLCBiYWNrZ3JvdW5kIDE1MG1zLCB0cmFuc2Zvcm0gMTIwbXM7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7Cn0KLnBjcS1wY2FyZDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDQpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KLnBjcS1wY2FyZDphY3RpdmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KLnBjcS1waWMgeyBmb250LXNpemU6IDI2cHg7IGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiA2cHg7IH0KLnBjcS1waCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTZweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgY29sb3I6IHZhcigtLWluayk7IH0KLnBjcS1wcCB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNDU7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbjogMDsgfQovKiBPUFRJT05TICovCi5wY3Etb3B0cyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAyMnB4OyB9Ci5wY3Etb3B0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxM3B4OyBwYWRkaW5nOiAxNHB4IDE4cHg7CiAgdGV4dC1hbGlnbjogbGVmdDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNTBtcywgYmFja2dyb3VuZCAxNTBtcywgY29sb3IgMTUwbXM7CiAgbWluLWhlaWdodDogNTJweDsKfQoucGNxLW9wdDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGNvbG9yOiB2YXIoLS1pbmspOyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjAzKTsgfQoucGNxLW9wdC5zZWwgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDgpOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoucGNxLW9wdC5zZWw6OmFmdGVyIHsgY29udGVudDogJ+Kckyc7IG1hcmdpbi1sZWZ0OiBhdXRvOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci8qIE5BViAqLwoucGNxLW5hdiB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgcGFkZGluZy10b3A6IDZweDsgfQoucGNxLWJhY2sgeyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDlweCAxNnB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tc3RlZWwpOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGNvbG9yIDEzMG1zLCBib3JkZXItY29sb3IgMTMwbXM7IH0KLnBjcS1iYWNrOmhvdmVyIHsgY29sb3I6IHZhcigtLWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgfQoucGNxLW5leHQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiAxMXB4IDIycHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgY3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMsIHRyYW5zZm9ybSAxMzBtczsgfQoucGNxLW5leHQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0KLnBjcS1uZXh0OmRpc2FibGVkIHsgYmFja2dyb3VuZDogdmFyKC0tcnVsZS0yKTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgdHJhbnNmb3JtOiBub25lOyB9Ci5wY3Etc2tpcCB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyBjdXJzb3I6IHBvaW50ZXI7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDsgcGFkZGluZzogNHB4OyB9Ci5wY3Etc2tpcDpob3ZlciB7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KLyogUkVTVUxUICovCi5wY3EtcmVzdWx0LWJhZGdlIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4xKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4yKTsKICBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDVweCAxNHB4OwogIGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJyxtb25vc3BhY2U7IG1hcmdpbi1ib3R0b206IDE0cHg7Cn0KLnBjcS1yZXN1bHQtYmFkZ2UgLmRvdCB7IHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOyBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfQoucGNxLXJlc3VsdC1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiBjbGFtcCgyMnB4LDMuNXZ3LDI4cHgpOyBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyBtYXJnaW46IDAgMCA4cHg7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5wY3EtcmVzdWx0LXN1YiB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLWluay0yKTsgbWFyZ2luOiAwIDAgMjZweDsgbGluZS1oZWlnaHQ6IDEuNTU7IH0KLnBjcS1yZWNzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9Ci5wY3EtcmVjIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAxNHB4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiAxNnB4IDE4cHg7Cn0KLnBjcS1yZWMtbnVtIHsgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1oYWxvLWRlZXApLCB2YXIoLS1pcmktYykpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogI2ZmZjsgZmxleC1zaHJpbms6IDA7IH0KLnBjcS1yZWMtaCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbi1ib3R0b206IDNweDsgfQoucGNxLXJlYy1wIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBsaW5lLWhlaWdodDogMS41OyBtYXJnaW46IDA7IH0KLnBjcS1idWRnZXQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDc5LDE0MCwyNTUsLjA4KSwgcmdiYSgxNzcsMTU1LDI1NSwuMDgpKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4yKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMThweCAyMHB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMTZweDsgZmxleC13cmFwOiB3cmFwOyB9Ci5wY3EtYnVkZ2V0LWxhYmVsIHsgZm9udC1mYW1pbHk6ICJHZWlzdCBNb25vIixtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgbWFyZ2luLWJvdHRvbTogNHB4OyB9Ci5wY3EtYnVkZ2V0LXJhbmdlIHsgZm9udC1mYW1pbHk6ICJJbnRlciBUaWdodCIsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDgwMDsgZm9udC1zaXplOiAyNHB4OyBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyBjb2xvcjogdmFyKC0taW5rKTsgfQoucGNxLWJ1ZGdldC1ub3RlIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBsaW5lLWhlaWdodDogMS41OyBtYXgtd2lkdGg6IDI2MHB4OyB9Ci5wY3EtbmV4dC1zdGVwcyB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgcGFkZGluZy10b3A6IDIwcHg7IG1hcmdpbi10b3A6IDRweDsgfQoucGNxLW5zLWxhYmVsIHsgZm9udC1mYW1pbHk6ICJHZWlzdCBNb25vIixtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tYm90dG9tOiAxNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLnBjcS1ucy1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7IH0KLnBjcS1idG4tcHJpbWFyeSB7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDEycHggMjJweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcywgdHJhbnNmb3JtIDEzMG1zOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnBjcS1idG4tcHJpbWFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfQoucGNxLWJ0bi1naG9zdCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0taW5rLTIpOyBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJ1bGUtMik7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiAxMXB4IDIwcHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogN3B4OyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMsIGNvbG9yIDE0MG1zOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnBjcS1idG4tZ2hvc3Q6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5wY3EtYnRuLWV4cGxvcmUgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGJvcmRlcjogMS41cHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4zKTsgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDEwcHggMThweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNjAwOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDdweDsgdHJhbnNpdGlvbjogYWxsIDE0MG1zOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnBjcS1idG4tZXhwbG9yZTpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDcpOyB9Ci8qIFdoYXQgd2UgaGVhcmQgKi8KLnBjcS1oZWFyZCB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTRweCAxOHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9Ci5wY3EtaGVhcmQtbGFiZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi1ib3R0b206IDEwcHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyB9Ci5wY3EtaGVhcmQtbGlzdCB7IG1hcmdpbjogMDsgcGFkZGluZy1sZWZ0OiAxNnB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDVweDsgfQoucGNxLWhlYXJkLWxpc3QgbGkgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjQ1OyB9Ci5wY3EtYmxpbmRzcG90IHsgYmFja2dyb3VuZDogcmdiYSgyNDUsMTU4LDExLC4wNyk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQ1LDE1OCwxMSwuMjUpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNnB4IDE4cHg7IG1hcmdpbi1ib3R0b206IDE0cHg7IH0KLnBjcS1kb250ZG8geyBiYWNrZ3JvdW5kOiByZ2JhKDIzOSw2OCw2OCwuMDYpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSw2OCw2OCwuMik7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDE2cHggMThweDsgbWFyZ2luLWJvdHRvbTogMTRweDsgfQoucGNxLXdhcm4tbGFiZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjZDk3NzA2OyBtYXJnaW4tYm90dG9tOiA4cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyB9Ci5wY3Etd2Fybi1yZWQgeyBjb2xvcjogI2RjMjYyNjsgfQoucGNxLXdhcm4tcCB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHZhcigtLWluay0yKTsgbWFyZ2luOiAwOyB9Ci5wY3EtdGltZWxpbmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDE4cHggMThweCAxMHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9Ci5wY3EtdGwtbGFiZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi1ib3R0b206IDE2cHg7IH0KLnBjcS10c3RlcCB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTRweDsgcGFkZGluZy1ib3R0b206IDE2cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQoucGNxLXRzdGVwOm5vdCg6bGFzdC1jaGlsZCk6OmJlZm9yZSB7IGNvbnRlbnQ6ICIiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDExcHg7IHRvcDogMjZweDsgYm90dG9tOiAwOyB3aWR0aDogMXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlKTsgfQoucGNxLXRzdGVwLWRvdCB7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgZmxleC1zaHJpbms6IDA7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNzAwOyB9Ci5wY3EtdHN0ZXAtaCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luLWJvdHRvbTogM3B4OyB9Ci5wY3EtdHN0ZXAtcCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbGluZS1oZWlnaHQ6IDEuNTsgfQoucGNxLWJ1aWxkaW5nLXNwaW5uZXIgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IG1hcmdpbjogMCBhdXRvOyBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYW5pbWF0aW9uOiBwY3FTcGluIC45cyBsaW5lYXIgaW5maW5pdGU7IH0KQGtleWZyYW1lcyBwY3FTcGluIHsgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH0KLyogUGhhc2UgYmxvY2tzICovCi5wY3EtcGhhc2UtYmxvY2sgeyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9Ci5wY3EtcGhhc2UtMSAucGNxLXJlY3MgeyBtYXJnaW4tYm90dG9tOiAwOyB9Ci5wY3EtcGhhc2UtbGFiZWwgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgZm9udC1mYW1pbHk6ICJHZWlzdCBNb25vIixtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9Ci5wY3EtcGhhc2UtbnVtIHsgcGFkZGluZzogM3B4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDE0cHg7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9Ci5wY3EtcGhhc2UtbnVtLTEgeyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjEyKTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLnBjcS1waGFzZS1udW0tMyB7IGJhY2tncm91bmQ6IHJnYmEoMTc3LDE1NSwyNTUsLjEyKTsgY29sb3I6ICM3YzVjYmY7IH0KLnBjcS1waGFzZS1saXN0IHsgbWFyZ2luOiAwOyBwYWRkaW5nLWxlZnQ6IDE4cHg7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogN3B4OyB9Ci5wY3EtcGhhc2UtbGlzdCBsaSB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNTsgfQoucGNxLXBoYXNlLXAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjU1OyBtYXJnaW46IDA7IH0KLnBjcS1waGFzZS0zIHsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNnB4IDE4cHg7IH0KLnBjcS1yZWMtdGFnIHsgZm9udC1mYW1pbHk6ICJHZWlzdCBNb25vIixtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjEpOyBwYWRkaW5nOiAycHggOHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgbWFyZ2luLWxlZnQ6IDhweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfQoucGNxLWNvbW1pdC1sZXZlbHMgeyBtYXJnaW4tYm90dG9tOiA0cHg7IH0KLnBjcS1jb21taXQtbGFiZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi1ib3R0b206IDE0cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfQoucGNxLWNvbW1pdC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywxZnIpOyBnYXA6IDEwcHg7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7IC5wY3EtY29tbWl0LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9Ci5wY3EtY29tbWl0LWNhcmQgeyBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiAxOHB4IDE0cHg7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDVweDsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEzMG1zIGVhc2UsIGJveC1zaGFkb3cgMTMwbXMgZWFzZTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ydWxlKTsgfQoucGNxLWNvbW1pdC1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyBib3gtc2hhZG93OiAwIDZweCAyMHB4IC04cHggcmdiYSg3LDE2LDMxLC4xNSk7IH0KLnBjcS1jb21taXQtbGV2ZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDJweDsgfQoucGNxLWNvbW1pdC1hY3Rpb24geyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmspOyBsaW5lLWhlaWdodDogMS4zOyB9Ci5wY3EtY29tbWl0LW5vdGUgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi10b3A6IDJweDsgfQoucGNxLWNvbW1pdC1sb3cgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgfQoucGNxLWNvbW1pdC1sb3cgLnBjcS1jb21taXQtbGV2ZWwgeyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9Ci5wY3EtY29tbWl0LW1pZCB7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDYpOyBib3JkZXItY29sb3I6IHJnYmEoNzksMTQwLDI1NSwuMjUpOyB9Ci5wY3EtY29tbWl0LW1pZCAucGNxLWNvbW1pdC1sZXZlbCB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5wY3EtY29tbWl0LW1pZCAucGNxLWNvbW1pdC1hY3Rpb24geyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQoucGNxLWNvbW1pdC1oaWdoIHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5wY3EtY29tbWl0LWhpZ2ggLnBjcS1jb21taXQtbGV2ZWwgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjUpOyB9Ci5wY3EtY29tbWl0LWhpZ2ggLnBjcS1jb21taXQtYWN0aW9uIHsgY29sb3I6ICNmZmY7IH0KLnBjcS1jb21taXQtaGlnaCAucGNxLWNvbW1pdC1ub3RlIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyB9Ci5wY3EtY29tbWl0LWhpZ2g6aG92ZXIgeyBib3gtc2hhZG93OiAwIDhweCAyNHB4IC04cHggcmdiYSg3LDE2LDMxLC4zNSk7IH0KLyogUk9JIGluc2lnaHQgdmlzaW9uICovCi5wY3Etcm9pIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogMTBweDsgYmFja2dyb3VuZDogcmdiYSg3NCwyMjIsMTI4LC4wNyk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzQsMjIyLDEyOCwuMik7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDE0cHggMThweDsgbWFyZ2luLWJvdHRvbTogMThweDsgZm9udC1zaXplOiAxNC41cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogdmFyKC0taW5rLTIpOyB9Ci5wY3Etcm9pIHN2ZyB7IGNvbG9yOiAjMDU5NjY5OyBmbGV4LXNocmluazogMDsgbWFyZ2luLXRvcDogMnB4OyB9Ci5wY3EtaW5zaWdodCB7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDYpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjE4KTsgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTZweCAxOHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9Ci5wY3EtaW5zaWdodC1sYWJlbCB7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IG1hcmdpbi1ib3R0b206IDhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IH0KLnBjcS1pbnNpZ2h0LXAgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiB2YXIoLS1pbmstMik7IG1hcmdpbjogMDsgZm9udC1zdHlsZTogaXRhbGljOyB9Ci5wY3EtdmlzaW9uIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNzcsMTU1LDI1NSwuMDgpLCByZ2JhKDc5LDE0MCwyNTUsLjA2KSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTc3LDE1NSwyNTUsLjIpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNnB4IDE4cHg7IG1hcmdpbi1ib3R0b206IDE4cHg7IH0KLnBjcS12aXNpb24tbGFiZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjN2M1Y2JmOyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KLnBjcS12aXNpb24tcCB7IGZvbnQtc2l6ZTogMTVweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMDsgZm9udC13ZWlnaHQ6IDUwMDsgfQ==
Leave a Reply