LyogLS0gQWNjZXNzaWJpbGl0eSAmIDc1eXItb2xkIHJlYWRhYmlsaXR5IGltcHJvdmVtZW50cyAtLSAqLwoKLyogU2tpcCB0byBjb250ZW50ICovCi5za2lwLW5hdiB7CiAgcG9zaXRpb246IGZpeGVkOyB0b3A6IC0xMDBweDsgbGVmdDogMTJweDsgei1pbmRleDogOTk5OTk7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBwYWRkaW5nOiAxMHB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDhweDsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxNXB4OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdHJhbnNpdGlvbjogdG9wIDEyMG1zOwp9Ci5za2lwLW5hdjpmb2N1cyB7IHRvcDogMTJweDsgfQoKLyogR2xvYmFsIGZvY3VzIHJpbmcgLSByZXBsYWNlcyBvdXRsaW5lOm5vbmUgd2l0aCBhY2Nlc3NpYmxlIHZpc2libGUgcmluZyAqLwoqOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IDIuNXB4IHNvbGlkICM0ZjhjZmYgIWltcG9ydGFudDsKICBvdXRsaW5lLW9mZnNldDogM3B4ICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogNHB4Owp9Ci8qIFN1cHByZXNzIHJpbmcgZm9yIG1vdXNlIGNsaWNrcyBvbmx5ICovCio6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7IG91dGxpbmU6IG5vbmU7IH0KCi8qIE1pbmltdW0gYm9keSB0ZXh0IHNpemUgKi8KYm9keSB7IGZvbnQtc2l6ZTogMTZweDsgfQoKLyogUmFpc2UgbGV0dGVyL251bWJlciBsYWJlbHMgZmxvb3IgdG8gMTNweCAqLwouc2VjLWV5ZWJyb3csIC5lc3Qtc2VjdGlvbi1sYWJlbCwgLnRydXN0LWNhcmQtbGFiZWwsIC5wY3Etc3RlcC1sYWJlbCwKLnBjcS1lbWFpbC1sYWJlbCwgLnN2Yy1leWVicm93LCAudGFnLWNoaXAsIC52aWRlby10aHVtYi1sYWJlbCwKLnBjcS12aXNpb24tbGFiZWwsIC5wY3Etcm9pLWxhYmVsLCAucmVjLXRhZywgLnBoYXNlLWxhYmVsLAouYmFja2JvbmUta2lja2VyLCAubmF2LWRyb3AtdHJpZ2dlciBzcGFuIHsgCiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7IAp9CgovKiBDb25jaWVyZ2UgY2hhdCBwaWxsIHN0YXJ0ZXJzIC0gcmVhZGFibGUgKi8KLmNoYXQtcGlsbCB7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyB9CgovKiBNb25vc3BhY2UgZXllYnJvd3MgLSBmbG9vciBhdCAxM3B4ICovCltzdHlsZSo9ImZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubyciXSwgW3N0eWxlKj0iZm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nIl0gewogIG1pbi1mb250LXNpemU6IDEzcHg7Cn0KCi8qIFN0aWNreSBtb2JpbGUgcGhvbmUgYmFyICovCi5zdGlja3ktcGhvbmUtYmFyIHsKICBkaXNwbGF5OiBub25lOwogIHBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgei1pbmRleDogMTEwMDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIHBhZGRpbmc6IDEycHggMjBweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTJweDsKICBib3gtc2hhZG93OiAwIC00cHggMjRweCByZ2JhKDcsMTYsMzEsLjE4KTsKICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwp9Ci5zdGlja3ktcGhvbmUtYmFyIGEuc3BoLWNhbGwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICBjb2xvcjogdmFyKC0tcGFwZXIpOyBmb250LXNpemU6IDE3cHg7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7IGZsZXgtc2hyaW5rOiAwOwp9Ci5zdGlja3ktcGhvbmUtYmFyIGEuc3BoLWNhbGwgc3ZnIHsgZmxleC1zaHJpbms6IDA7IH0KLnN0aWNreS1waG9uZS1iYXIgYS5zcGgtdGV4dCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43NSk7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHBhZGRpbmc6IDhweCAxMnB4OyBib3JkZXItcmFkaXVzOiA4cHg7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGZsZXgtc2hyaW5rOiAwOwogIHRyYW5zaXRpb246IGNvbG9yIDE0MG1zLCBib3JkZXItY29sb3IgMTQwbXMsIGJhY2tncm91bmQgMTQwbXM7Cn0KLnN0aWNreS1waG9uZS1iYXIgYS5zcGgtdGV4dDpob3ZlciB7IGNvbG9yOiAjZmZmOyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7IH0KLnN0aWNreS1waG9uZS1iYXIgLnNwaC1sYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH0KLnN0aWNreS1waG9uZS1iYXIgLnNwaC1kaXNtaXNzIHsKICBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDA7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40KTsKICBmb250LXNpemU6IDIycHg7IGxpbmUtaGVpZ2h0OiAxOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDRweCA2cHg7CiAgZmxleC1zaHJpbms6IDA7Cn0KLnN0aWNreS1waG9uZS1iYXIgLnNwaC1hc3Nlc3MgewogIGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOyBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMTBweCAxNnB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgY3Vyc29yOiBwb2ludGVyOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBmbGV4LXNocmluazogMDsKfQpAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAuc3RpY2t5LXBob25lLWJhciB7IGRpc3BsYXk6IGZsZXg7IH0KICAvKiBQdXNoIHBhZ2UgY29udGVudCB1cCBzbyBiYXIgZG9lc24ndCBjb3ZlciBmb290ZXIgKi8KICBib2R5IHsgcGFkZGluZy1ib3R0b206IDY0cHg7IH0KfQoKLyogQ2hhdCBpbnB1dCBzaXplICovCi5jaGF0LWlucHV0LCAjY2hhdElucHV0LCB0ZXh0YXJlYS5jaGF0LWlucHV0IHsKICBtaW4taGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7CiAgcmVzaXplOiB2ZXJ0aWNhbDsKICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7Cn0KCi8qIElucHV0IGxhYmVscyAtIG1ha2UgcGVyc2lzdGVudCBhbmQgdmlzaWJsZSAqLwouZmllbGQtbGFiZWwgewogIGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEzLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW4tYm90dG9tOiA1cHg7Cn0KLmZpZWxkLWhpbnQgewogIGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgbWFyZ2luLXRvcDogNHB4OyBsaW5lLWhlaWdodDogMS40Owp9CgovKiBFbnN1cmUgYWxsIGZvcm0gaW5wdXRzIGhhdmUgdmlzaWJsZSBsYWJlbHMgKi8KLmZvcm0tZmllbGQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDA7IH0KCi54Yi1maWVsZC1sYWJlbCB7CiAgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDEwcHggMCA0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07Cn0KLnhiLWlkZW50LWZvcm0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDA7IH0KCkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOndnaHRANDAwOzUwMDs2MDA7NzAwJmZhbWlseT1JbnRlcitUaWdodDp3Z2h0QDUwMDs2MDA7NzAwOzgwMCZmYW1pbHk9R2Vpc3QrTW9ubzp3Z2h0QDQwMDs1MDAmZGlzcGxheT1zd2FwJyk7Cgo6cm9vdCB7CiAgLS1wYXBlcjogICAgICAgI0ZCRkNGRTsKICAtLXBhcGVyLTI6ICAgICAjRjJGNUZBOwogIC0tcnVsZTogICAgICAgICNFNEU5RjI7CiAgLS1ydWxlLTI6ICAgICAgI0Q2RENFNzsKICAtLWluazogICAgICAgICAjMDcxMDFGOwogIC0taW5rLTI6ICAgICAgICMxQTI3NDA7CiAgLS1zdGVlbDogICAgICAgIzVDNkI4NTsKICAtLXN0ZWVsLTI6ICAgICAjNjk3NDhCOwogIC0taGFsbzogICAgICAgICM0RjhDRkY7CiAgLS1oYWxvLTI6ICAgICAgIzZGQTdGRjsKICAtLWhhbG8tZGVlcDogICAjMkM1QkUwOwogIC0taGFsby1zb2Z0OiAgICNEQ0U4RkY7CiAgLS1pcmktYTogICAgICAgI0IxOUJGRjsKICAtLWlyaS1iOiAgICAgICAjNkZBN0ZGOwogIC0taXJpLWM6ICAgICAgICM5MkU1RkY7CiAgLS1pcmktZDogICAgICAgI0ZGQzlFNjsKICAvKiBTZW1hbnRpYyBzdXJmYWNlIHRva2VucyAtIGFkYXB0IGNsZWFubHkgaW4gZGFyayBtb2RlICovCiAgLS1iZy1jYXJkOiAgICAgI0ZGRkZGRjsgICAgIC8qIHdoaXRlIGNhcmQgc3VyZmFjZSBpbiBsaWdodCwgbGlmdGVkIGRhcmsgc3VyZmFjZSBpbiBkYXJrICovCiAgLS1iZy1pbnZlcnRlZDogIzA3MTAxRjsgICAgIC8qIGFsd2F5cy1kYXJrIHN1cmZhY2VzIChzaG93Y2FzZSBibG9ja3MpIC0gc2xpZ2h0bHkgbGlmdHMgaW4gZGFyayBtb2RlICovCiAgLS1mZy1pbnZlcnRlZDogI0ZCRkNGRTsgICAgIC8qIGFsd2F5cy1saWdodCB0ZXh0IG9uIGludmVydGVkIHN1cmZhY2VzICovCiAgLS1zY3JpbTogICAgICAgcmdiYSg3LDE2LDMxLC42Mik7CiAgLS1mb2N1cy1yaW5nOiAgI0Y0QTExQzsgICAgIC8qIHNpZ25hbCBhbWJlciBwZXIgZGVzaWduIHN5c3RlbSAtIHN0cm9uZywgQUEgdmlzaWJsZSBvbiBib3RoIG1vZGVzICovCiAgLS1zaWduYWw6ICAgICAgI0Y0QTExQzsgICAgIC8qIGFsaWFzIGZvciB3YXJtIGFtYmVyIHdhcm5pbmdzICovCiAgLS1nb29kOiAgICAgICAgIzM2QzI4QjsgICAgIC8qIHN1Y2Nlc3MgZ3JlZW4gKi8KICAvKiBXYXJtIC8gbmF0dXJhbCB0b25lcyAqLwogIC0tZm9yZXN0OiAgICAgICMyRDVBM0Q7CiAgLS1mb3Jlc3QtMjogICAgIzNENzg1NDsKICAtLWZvcmVzdC1zb2Z0OiAjRThGMkVDOwogIC0tYW1iZXItZGVlcDogICM4QzVFMDA7CiAgLS1hbWJlci1zb2Z0OiAgI0ZFRjRERTsKICAtLXdhcm0tcGFwZXI6ICAjRkFGOEY0OwogIC0tYmFyazogICAgICAgICM0QTM3Mjg7Cn0KaHRtbCB7IGNvbG9yLXNjaGVtZTogbGlnaHQ7IH0KCi8qIERhcmsgbW9kZSBpcyBvcHQtaW4gdmlhIFtkYXRhLXRoZW1lPSJkYXJrIl0gb24gPGh0bWw+IC0gbm90IHRyaWdnZXJlZCBieSBPUyBwcmVmZXJlbmNlLgogICBXaXJlIGEgdG9nZ2xlIGxhdGVyIHZpYSB0aGUgVHdlYWtzIHBhbmVsOyB0b2tlbnMgYmVsb3cgYWxyZWFkeSBkbyBhbGwgdGhlIHdvcmsuICovCltkYXRhLXRoZW1lPSJkYXJrIl0gewogICAgLS1wYXBlcjogICAgICAgIzBBMEYxQTsKICAgIC0tcGFwZXItMjogICAgICMxMzFBMjg7CiAgICAtLXJ1bGU6ICAgICAgICAjMUYyNzM4OwogICAgLS1ydWxlLTI6ICAgICAgIzJBMzQ1MDsKICAgIC0taW5rOiAgICAgICAgICNGMEYyRjc7CiAgICAtLWluay0yOiAgICAgICAjQzdDREQ4OwogICAgLS1zdGVlbDogICAgICAgIzhBOTVBODsKICAgIC0tc3RlZWwtMjogICAgICM2QjczODU7CiAgICAtLWhhbG86ICAgICAgICAjNkZBN0ZGOwogICAgLS1oYWxvLTI6ICAgICAgIzkyQkFGRjsKICAgIC0taGFsby1kZWVwOiAgICNCQUQzRkY7CiAgICAtLWhhbG8tc29mdDogICAjMUEyNDQwOwogICAgLS1iZy1jYXJkOiAgICAgIzEzMUEyODsKICAgIC0tYmctaW52ZXJ0ZWQ6ICMxQTI3NDA7ICAgIC8qIG9uZSBzaGFkZSBsaWZ0ZWQgZnJvbSBwYWdlIGJnIC0gZ2l2ZXMgc2hvd2Nhc2UgYmxvY2tzIGRlcHRoICovCiAgICAtLWZnLWludmVydGVkOiAjRjBGMkY3OwogICAgLS1zY3JpbTogICAgICAgcmdiYSgwLDAsMCwuNzIpOwogIH0KICAvKiBTdWJ0bGUgYWRqdXN0bWVudHMgZm9yIGRhcmstbW9kZSB2aXN1YWwgY29oZXJlbmNlICovCiAgW2RhdGEtdGhlbWU9ImRhcmsiXSBib2R5IHsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyB9CiAgW2RhdGEtdGhlbWU9ImRhcmsiXSAuaGVybzo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsCiAgICAgIHJnYmEoMTc3LDE1NSwyNTUsLjEwKSAwJSwKICAgICAgcmdiYSgxMTEsMTY3LDI1NSwuMDgpIDM1JSwKICAgICAgdHJhbnNwYXJlbnQgNzAlKTsKICB9CiAgLyogU2hhZG93cyBhcmUgbGVzcyB2aXNpYmxlIG9uIGRhcmsgLSBzdHJlbmd0aGVuIHNsaWdodGx5ICovCiAgW2RhdGEtdGhlbWU9ImRhcmsiXSAuZXN0aW1hdG9yIHsgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpLCAwIDI4cHggODBweCAtMzJweCByZ2JhKDAsMCwwLC43KSwgMCA4cHggMjhweCAtMTBweCByZ2JhKDc5LDE0MCwyNTUsLjE4KTsgfQogIFtkYXRhLXRoZW1lPSJkYXJrIl0gLmFnZW50LW1vZHVsZSB7IGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSwgMCAyNHB4IDYwcHggLTI4cHggcmdiYSgwLDAsMCwuNyksIDAgOHB4IDI4cHggLTEwcHggcmdiYSg3OSwxNDAsMjU1LC4xOCk7IH0KICAvKiBMb2dvIHN0cmlwICsgZm9vdGVyOiB3YXJtZXIgYm9yZGVycyAqLwogIFtkYXRhLXRoZW1lPSJkYXJrIl0gLmxvZ29zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlKTsgfQogIFtkYXRhLXRoZW1lPSJkYXJrIl0gLmhlcm8tdjIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcikgIWltcG9ydGFudDsgfQogIFtkYXRhLXRoZW1lPSJkYXJrIl0gLmhlcm8tdjIgLmdyYWQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjN2JiZjhmLCAjZDRhODU1KSAhaW1wb3J0YW50OyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQgIWltcG9ydGFudDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH0KfQoqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQpodG1sLCBib2R5IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9CmJvZHkgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsKICBjb2xvcjogdmFyKC0taW5rKTsKICBmb250LWZhbWlseTogJ0ludGVyJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmOwogIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogInNzMDEiLCJjdjExIjsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KYSB7IGNvbG9yOiBpbmhlcml0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLyogRGFyayBtb2RlIHRvZ2dsZSAqLwoKLm5hdi1jaGF0IHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tZm9yZXN0LXNvZnQpOyBjb2xvcjogdmFyKC0tZm9yZXN0KTsKICBib3JkZXI6IDEuNXB4IHNvbGlkIHJnYmEoNDUsOTAsNjEsLjIpOyBib3JkZXItcmFkaXVzOiA4cHg7CiAgcGFkZGluZzogOHB4IDE0cHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMsIGJvcmRlci1jb2xvciAxNDBtczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOyBtaW4taGVpZ2h0OiA0MHB4Owp9Ci5uYXYtY2hhdDpob3ZlciB7IGJhY2tncm91bmQ6ICNkMmU4ZDg7IGJvcmRlci1jb2xvcjogdmFyKC0tZm9yZXN0KTsgfQovKiBEZXNrdG9wOiBzaG93IHNob3J0IGxhYmVsOyBtb2JpbGUgbWVudTogc2hvdyBsb25nIGxhYmVsIHdpdGggaGludCAqLwoubmF2LWJ0bi1kZXNrIHsgZGlzcGxheTogaW5saW5lOyB9Ci5uYXYtYnRuLW1vYiAgeyBkaXNwbGF5OiBub25lOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsgfQoubmF2LWJ0bi1oaW50IHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTIuNXB4OyBmb250LXdlaWdodDogNDAwOyBvcGFjaXR5OiAuNzI7IG1hcmdpbi10b3A6IDJweDsgbGV0dGVyLXNwYWNpbmc6IDA7IHRleHQtdHJhbnNmb3JtOiBub25lOyBmb250LXN0eWxlOiBub3JtYWw7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7CiAgbmF2LmlzLW9wZW4gLm5hdi1idG4tZGVzayB7IGRpc3BsYXk6IG5vbmU7IH0KICBuYXYuaXMtb3BlbiAubmF2LWJ0bi1tb2IgIHsgZGlzcGxheTogZmxleDsgfQogIC8qIFNlY3Rpb24gbGFiZWwgYmVmb3JlIGFjdGlvbiBjYXJkcyAqLwogIC5uYXYtbGlua3M6OmJlZm9yZSB7CiAgICBjb250ZW50OiAnSG93IGNhbiB3ZSBoZWxwPyc7CiAgICBkaXNwbGF5OiBub25lOwogICAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxMS41cHg7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1zdGVlbCk7IGZvbnQtd2VpZ2h0OiA1MDA7IHBhZGRpbmc6IDAgNHB4IDEycHg7CiAgICBvcmRlcjogLTQ7CiAgfQogIG5hdi5pcy1vcGVuIC5uYXYtbGlua3M6OmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyB9CiAgLyogRXhwbG9yZSBkaXZpZGVyIGJlZm9yZSBuYXYgbGlua3MgKi8KICAubmF2LWxpbmtzIGFbaHJlZj0iI3Jlc2lkZW50aWFsIl0gewogICAgbWFyZ2luLXRvcDogOHB4OwogICAgcGFkZGluZy10b3A6IDI0cHg7CiAgfQogIC5uYXYtbGlua3MgYVtocmVmPSIjcmVzaWRlbnRpYWwiXTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdFeHBsb3JlJzsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiA0cHg7CiAgICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDExLjVweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLXN0ZWVsKTsgZm9udC13ZWlnaHQ6IDUwMDsKICB9CiAgbmF2LmlzLW9wZW4gLm5hdi1saW5rcyBhW2hyZWY9IiNyZXNpZGVudGlhbCJdIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9Cn0KW2RhdGEtdGhlbWU9ImRhcmsiXSAubmF2LWNoYXQgeyBiYWNrZ3JvdW5kOiByZ2JhKDQ1LDkwLDYxLC4yKTsgY29sb3I6ICM3YmJmOGY7IGJvcmRlci1jb2xvcjogcmdiYSgxMjMsMTkxLDE0MywuMik7IH0KW2RhdGEtdGhlbWU9ImRhcmsiXSAubmF2LWNoYXQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDQ1LDkwLDYxLC4zNSk7IH0KLm5hdi10aGVtZS10b2dnbGUgewogIGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiA4cHg7CiAgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgZm9udC1zaXplOiAxM3B4OwogIGN1cnNvcjogcG9pbnRlcjsgY29sb3I6IHZhcigtLXN0ZWVsKTsgZmxleC1zaHJpbms6IDA7CiAgdHJhbnNpdGlvbjogY29sb3IgMTQwbXMsIGJvcmRlci1jb2xvciAxNDBtcywgYmFja2dyb3VuZCAxNDBtczsKfQoubmF2LXRoZW1lLXRvZ2dsZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUtMik7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyB9Ci8qIFNob3cgc3VuIGluIGRhcmsgbW9kZSwgbW9vbiBpbiBsaWdodCBtb2RlICovCltkYXRhLXRoZW1lPSJkYXJrIl0gLmljb24tbW9vbiB7IGRpc3BsYXk6IG5vbmU7IH0KW2RhdGEtdGhlbWU9ImxpZ2h0Il0gLmljb24tc3VuLCA6cm9vdDpub3QoW2RhdGEtdGhlbWU9ImRhcmsiXSkgLmljb24tc3VuIHsgZGlzcGxheTogbm9uZTsgfQpbZGF0YS10aGVtZT0iZGFyayJdIC5pY29uLXN1biB7IGRpc3BsYXk6IGJsb2NrOyB9Cgouc2hlbGwgeyBtYXgtd2lkdGg6IDEyNDBweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDAgMzJweDsgbWluLXdpZHRoOiAwOyB9CgovKiBSZXNwb25zaXZlIGJhc2UgKi8KQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgewogIC5zaGVsbCB7IHBhZGRpbmc6IDAgMjhweDsgfQp9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogIC5zaGVsbCB7IHBhZGRpbmc6IDAgMjBweDsgfQp9CgovKiA9PT09PT09PT09PT09PT0gTkFWID09PT09PT09PT09PT09PSAqLwpuYXYgewogIHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMDsgei1pbmRleDogNTA7CiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpOwogIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpOwogIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAyNTIsIDI1NCwgMC43KTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7Cn0KLm5hdi1pbm5lciB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDE2cHggMDsKfQouYnJhbmQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogcG9pbnRlcjsgfQouYnJhbmQtdGV4dCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTlweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07Cn0KLmJyYW5kLXRleHQgeyBmb250LXdlaWdodDogNTAwOyBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07IH0KLmJyYW5kLXRleHQgLnEtYWNjZW50IHsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1pcmktYSkgMCUsIHZhcigtLWhhbG8pIDU1JSwgdmFyKC0taXJpLWMpIDEwMCUpOwogIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogIHBhZGRpbmc6IDAgMC4wMmVtOwp9Ci5uYXYtbGlua3MgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDMycHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KLm5hdi1jYWxsIHsgZGlzcGxheTppbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6N3B4OyBmb250LXNpemU6MTRweDsgZm9udC13ZWlnaHQ6NjAwOyBjb2xvcjp2YXIoLS1pbmspOyBib3JkZXI6MS41cHggc29saWQgdmFyKC0taGFsbyk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDYpOyBwYWRkaW5nOjhweCAxNnB4OyBib3JkZXItcmFkaXVzOjk5OXB4OyB3aGl0ZS1zcGFjZTpub3dyYXA7IG1pbi1oZWlnaHQ6NDBweDsgdHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyBlYXNlLCBjb2xvciAuMTVzIGVhc2U7IH0KLm5hdi1jYWxsIHN2ZyB7IGNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGZsZXgtc2hyaW5rOjA7IH0KLm5hdi1jYWxsOmhvdmVyIHsgYm9yZGVyLWNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMTIpOyB9Ci8qIEZsb2F0aW5nIG1vYmlsZSBjYWxsIGJ1dHRvbiAqLwouZmxvYXQtY2FsbCB7CiAgZGlzcGxheTogbm9uZTsKICBwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMjBweDsgcmlnaHQ6IDE2cHg7IHotaW5kZXg6IDUwMDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOXB4OwogIHBhZGRpbmc6IDE0cHggMjJweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTZweDsKICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgYm94LXNoYWRvdzogMCA2cHggMjhweCByZ2JhKDcsMTYsMzEsLjMyKSwgMCAxcHggNHB4IHJnYmEoNywxNiwzMSwuMTgpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsIGJveC1zaGFkb3cgMTYwbXMgZWFzZTsKfQouZmxvYXQtY2FsbCBzdmcgeyBjb2xvcjogdmFyKC0taGFsby0yKTsgZmxleC1zaHJpbms6IDA7IH0KLmZsb2F0LWNhbGw6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IGJveC1zaGFkb3c6IDAgMTBweCAzNnB4IHJnYmEoNzksMTQwLDI1NSwuMzUpOyB9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogIC8qIGZsb2F0LWNhbGwgaGlkZGVuOiBzdGlja3kgYmFyIGFscmVhZHkgaGFzIENhbGwgKyBUZXh0IGJ1dHRvbnMgKi8KICAuZmxvYXQtY2FsbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQogIGJvZHkgeyBwYWRkaW5nLWJvdHRvbTogODhweDsgfQp9Ci8qIEFjY2Vzc2liaWxpdHk6IGxlZ2libGUgZmxvb3IgZm9yIGRlY29yYXRpdmUgbWljcm8tbGFiZWxzIChoZWxwcyBvbGRlciBleWVzKSAqLwouZXN0LXNlY3Rpb24tbGFiZWwsIC5hZ2VudC1zdGF0dXMsIC5sb2dvcy1sYWJlbCwgLmRlcGxveWVkLCAuc2VjLWV5ZWJyb3csCi5lc3QtZXllYnJvdywgLmhlcm8tZXllYnJvdywgLnNjZW5hcmlvLWhlYWQsIC5mb290LW5vdGUsIC5jb25mLWxibCwKLnBmLXJpc2ssIC52aWRlby1jYXAsIC5jaGFubmVsLWNhcHR1cmUtbGVnYWwsCi5xdW90ZS1icmVha2Rvd24gLmssIC5saXZlb3BzLXN0YXQgLmssIC5zdXJ2ZXktY2FyZCAuayB7IGZvbnQtc2l6ZTogMTQuNXB4ICFpbXBvcnRhbnQ7IH0KLm5hdi1idXJnZXIgeyBkaXNwbGF5OiBub25lOyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDA7IHBhZGRpbmc6IDA7IGN1cnNvcjogcG9pbnRlcjsgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGNvbG9yOiB2YXIoLS1pbmspOyBtYXJnaW4tbGVmdDogYXV0bzsgfQoubmF2LWJ1cmdlciBzdmcgeyB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4OyB9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogIC5uYXYtYnVyZ2VyIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IG1hcmdpbi1sZWZ0OiA4cHg7IH0KICAubmF2LWNhbGwgeyBtYXJnaW4tbGVmdDogYXV0bzsgbWluLWhlaWdodDogNDhweDsgcGFkZGluZzogMCAxNHB4OyBmb250LXNpemU6IDE1cHg7IH0KICAvKiBXaGVuIHRoZSBzbGlkZS1kb3duIG1lbnUgaXMgb3BlbiwgZHJvcCB0aGUgbmF2J3MgYmFja2Ryb3AtZmlsdGVyLiBBbiBlbGVtZW50CiAgICAgd2l0aCBiYWNrZHJvcC1maWx0ZXIgYmVjb21lcyB0aGUgY29udGFpbmluZyBibG9jayBmb3IgcG9zaXRpb246Zml4ZWQgY2hpbGRyZW4sCiAgICAgd2hpY2ggd291bGQgb3RoZXJ3aXNlIHRyYXAgdGhlIGZ1bGwtc2NyZWVuIG1lbnUgaW5zaWRlIHRoZSB+ODRweCBuYXYgYmFyIGFuZAogICAgIGxldCB0aGUgcGFnZSBzaG93IHRocm91Z2ggYmVsb3cgaXQuICovCiAgbmF2LmlzLW9wZW4geyBiYWNrZHJvcC1maWx0ZXI6IG5vbmUgIWltcG9ydGFudDsgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmUgIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyB9CiAgLyogS2VlcCB0aGUgbG9nbyArIGNsb3NlIGJ1dHRvbiB0YXBwYWJsZSBvbiB0b3Agb2YgdGhlIGZ1bGwtc2NyZWVuIG1lbnUgKi8KICBuYXYuaXMtb3BlbiAuYnJhbmQsCiAgbmF2LmlzLW9wZW4gLm5hdi1idXJnZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDk5OTsgfQogIC8qIFN3YXAgdGhlIGhhbWJ1cmdlciBmb3IgYSBjbGVhciBYIHdoaWxlIHRoZSBtZW51IGlzIG9wZW4gKi8KICAubmF2LWJ1cmdlciAuaWNvbi1jbG9zZSB7IGRpc3BsYXk6IG5vbmU7IH0KICBuYXYuaXMtb3BlbiAubmF2LWJ1cmdlciAuaWNvbi1vcGVuIHsgZGlzcGxheTogbm9uZTsgfQogIG5hdi5pcy1vcGVuIC5uYXYtYnVyZ2VyIC5pY29uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH0KCiAgLyogSGlkZSBuYXYtY2hhdCArIG5hdi1jdGEgZnJvbSB0aGUgdG9wIGJhciBvbiBtb2JpbGUgLSB0aGV5IGxpdmUgaW5zaWRlIHRoZSBtZW51ICovCiAgLm5hdi1jaGF0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9CiAgLm5hdi1jdGEgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9CgogIC8qIEZ1bGwtc2NyZWVuIHNsaWRlLWRvd24gbWVudSAqLwogIC5uYXYtbGlua3MgewogICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgZ2FwOiAwOwogICAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOwogICAgcGFkZGluZzogODhweCAyNHB4IDQ4cHg7CiAgICBvdmVyZmxvdy15OiBhdXRvOyB6LWluZGV4OiA5OTg7CiAgICBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjIycyBlYXNlLCB0cmFuc2Zvcm0gLjIycyBlYXNlOwogIH0KICBuYXYuaXMtb3BlbiAubmF2LWxpbmtzIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBub25lOyBwb2ludGVyLWV2ZW50czogYXV0bzsgfQoKICAvKiBIaWRlIGFsbCBjaGlsZHJlbiB1bnRpbCBvcGVuICovCiAgLm5hdi1saW5rcyA+ICogeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KCiAgLyogUmV2ZWFsIGFuZCByZW9yZGVyIHdoZW4gb3BlbiAqLwogIG5hdi5pcy1vcGVuIC5uYXYtbGlua3MgPiAqIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9CgogIC8qIFByaW1hcnkgYWN0aW9uIGNhcmRzIC0gQ2hhdCBhbmQgQXNzZXNzIGZsb2F0IHRvIHRoZSB0b3AgKi8KICBuYXYuaXMtb3BlbiAubmF2LWxpbmtzIC5uYXYtY2hhdCB7CiAgICBvcmRlcjogLTM7IG1pbi1oZWlnaHQ6IDY4cHg7IHdpZHRoOiAxMDAlOwogICAgcGFkZGluZzogMTZweCAyMHB4OyBib3JkZXItcmFkaXVzOiAxNnB4OwogICAgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNjAwOyBnYXA6IDE0cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3Jlc3Qtc29mdCkgIWltcG9ydGFudDsKICAgIGNvbG9yOiB2YXIoLS1mb3Jlc3QpICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHJnYmEoNDUsOTAsNjEsLjIyKSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICBuYXYuaXMtb3BlbiAubmF2LWxpbmtzIC5uYXYtY3RhIHsKICAgIG9yZGVyOiAtMjsgbWluLWhlaWdodDogNjhweDsgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS1wYXBlcikgIWltcG9ydGFudDsKICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOiAyOHB4OwogICAgdGV4dC1hbGlnbjogbGVmdDsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KCiAgLyogRXhwbG9yZSBsaW5rcyAqLwogIC5uYXYtbGlua3MgYSB7CiAgICBwYWRkaW5nOiAxN3B4IDRweDsgbWluLWhlaWdodDogNThweDsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgICBjb2xvcjogdmFyKC0taW5rLTIpOwogIH0KICAubmF2LWxpbmtzIGE6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH0KCiAgLyogQm9vayBhcHBvaW50bWVudCBpbiB0aGUgZXhwbG9yZSBsaXN0ICovCiAgLm5hdi1saW5rcyBhLm5hdi1ib29rLW1vYmlsZSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLXNvZnQpOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1oYWxvKTsgYm9yZGVyLXJhZGl1czogMTRweDsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OwogICAgbWFyZ2luLXRvcDogMjBweDsgcGFkZGluZzogMTdweCAyMHB4OyBtaW4taGVpZ2h0OiA2MHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQoKICAvKiBEcm9wZG93biBpbiBtb2JpbGU6IGZsYXQgaW5kZW50ZWQgbGlua3MgKi8KICBuYXYuaXMtb3BlbiAubmF2LWxpbmtzIC5uYXYtZHJvcCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMDsgfQp9Ci5uYXYtbGlua3MgYSB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgZm9udC13ZWlnaHQ6IDUwMDsgfQoubmF2LWxpbmtzIGE6aG92ZXIgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQoubmF2LWxpbmtzIGEubmF2LWN0YSB7IGNvbG9yOiB2YXIoLS1wYXBlcik7IH0KLyogTmF2IGRyb3Bkb3duICovCi5uYXYtZHJvcCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQoubmF2LWRyb3AtdHJpZ2dlciB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBmb250LXdlaWdodDogNTAwOyBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OwogIGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgdHJhbnNpdGlvbjogY29sb3IgMTQwbXMgZWFzZTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoubmF2LWRyb3A6aG92ZXIgLm5hdi1kcm9wLXRyaWdnZXIgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQoubmF2LWRyb3AtdHJpZ2dlciAuY2hldiB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlOyB9Ci5uYXYtZHJvcC10cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9InRydWUiXSAuY2hldiB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0KLm5hdi1kcm9wLW1lbnUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiBjYWxjKDEwMCUgKyAxNHB4KTsgbGVmdDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01cHgpOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogNnB4IDZweDsgbWluLXdpZHRoOiAyMTBweDsKICBib3gtc2hhZG93OiAwIDEycHggNDBweCAtMTBweCByZ2JhKDcsMTYsMzEsLjE2KTsKICBvcGFjaXR5OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxNjBtcyBlYXNlOwogIHotaW5kZXg6IDIwMDsKfQovKiBEcm9wZG93biBvcGVucyB2aWEgSlMgbW91c2VlbnRlci9tb3VzZWxlYXZlIC0gbm8gQ1NTIDpob3ZlciBydWxlICovCi5uYXYtZHJvcC1tZW51IGEgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nOiAxMHB4IDEzcHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEzMG1zIGVhc2UsIGNvbG9yIDEzMG1zIGVhc2U7Cn0KLm5hdi1kcm9wLW1lbnUgYTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBjb2xvcjogdmFyKC0taW5rKTsgfQoubmF2LWRyb3AtbWVudSBhIC5kbS1iYWRnZSB7CiAgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4xMik7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOwogIHBhZGRpbmc6IDJweCA3cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBmbGV4LXNocmluazogMDsKfQovKiBNb2JpbGU6IGRyb3Bkb3duIGJlY29tZXMgZmxhdCBpbmRlbnRlZCBsaW5rcyAqLwpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAubmF2LWRyb3AgeyBkaXNwbGF5OiBjb250ZW50czsgfQogIC5uYXYtZHJvcC10cmlnZ2VyIHsgZGlzcGxheTogbm9uZTsgfQogIC5uYXYtZHJvcC1tZW51IHsKICAgIHBvc2l0aW9uOiBzdGF0aWM7IHRyYW5zZm9ybTogbm9uZTsgb3BhY2l0eTogMTsgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICBib3gtc2hhZG93OiBub25lOyBib3JkZXI6IDA7IHBhZGRpbmc6IDA7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgZGlzcGxheTogbm9uZTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB9CiAgbmF2LmlzLW9wZW4gLm5hdi1kcm9wLW1lbnUgeyBkaXNwbGF5OiBmbGV4OyB9CiAgLm5hdi1kcm9wLW1lbnUgYSB7CiAgICBwYWRkaW5nOiAxNHB4IDRweCAxNHB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDA7IGZvbnQtc2l6ZTogMTVweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgY29sb3I6IHZhcigtLWluay0yKTsKICB9CiAgLm5hdi1kcm9wLW1lbnUgYSAuZG0tYmFkZ2UgeyBkaXNwbGF5OiBub25lOyB9Cn0KLm5hdi1jdGEgewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcikgIWltcG9ydGFudDsKICBwYWRkaW5nOiAxMHB4IDE4cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDMwMDsKICBib3JkZXI6IG5vbmU7IGJveC1zaGFkb3c6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLm5hdi1jdGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB9CgovKiA9PT09PT09PT09PT09PT0gSEVSTyA9PT09PT09PT09PT09PT0gKi8KLmhlcm8geyBwYWRkaW5nOiA5NnB4IDAgNjRweDsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9Ci5oZXJvOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTQwJTsgcmlnaHQ6IC0xMCU7CiAgd2lkdGg6IDgwMHB4OyBoZWlnaHQ6IDgwMHB4OwogIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsCiAgICByZ2JhKDE3NywxNTUsMjU1LC4xOCkgMCUsCiAgICByZ2JhKDExMSwxNjcsMjU1LC4xMikgMzUlLAogICAgdHJhbnNwYXJlbnQgNzAlKTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBmaWx0ZXI6IGJsdXIoMjBweCk7Cn0KLmhlcm8tZXllYnJvdyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogMC4xOGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBtYXJnaW46IDAgMCAxOHB4IDA7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4Owp9Ci5oZXJvLWV5ZWJyb3cgLmxpdmUtZG90IHsKICB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsKICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNzksMTQwLDI1NSwuNik7CiAgYW5pbWF0aW9uOiBsaXZlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBsaXZlUHVsc2UgewogIDAlLCAxMDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDc5LDE0MCwyNTUsLjYpOyB9CiAgNTAlIHsgYm94LXNoYWRvdzogMCAwIDAgNnB4IHJnYmEoNzksMTQwLDI1NSwwKTsgfQp9CmgxLmhlcm8taCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiBjbGFtcCg0MHB4LCA2LjR2dywgODhweCk7IGxpbmUtaGVpZ2h0OiAxOyBsZXR0ZXItc3BhY2luZzogLTAuMDQ1ZW07CiAgbWFyZ2luOiAwIDAgMjRweCAwOyBtYXgtd2lkdGg6IDkwMHB4OwogIHRleHQtd3JhcDogYmFsYW5jZTsKfQpoMS5oZXJvLWggLmdyYWQgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWlyaS1hKSAwJSwgdmFyKC0taGFsbykgNTAlLCB2YXIoLS1pcmktYykgMTAwJSk7CiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IGJhY2tncm91bmQtY2xpcDogdGV4dDsKICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmhlcm8tc3ViIHsKICBmb250LXNpemU6IDIxcHg7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgbWF4LXdpZHRoOiA2NDBweDsgbWFyZ2luOiAwIDAgMzZweCAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOwp9Ci5jdGEtcm93IHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9Ci5idG4gewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICBwYWRkaW5nOiAxNHB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2UsIGJhY2tncm91bmQgMTYwbXMgZWFzZTsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgY3Vyc29yOiBwb2ludGVyOwp9Ci5idG4tcHJpbWFyeSB7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IH0KLmJ0bi1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9Ci5idG4tZ2hvc3QgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgY29sb3I6IHZhcigtLWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgfQouYnRuLWdob3N0OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5idG4gLmFycm93IHsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2U7IH0KCi8qID09PT09IEdMT0JBTCBBQ0NFU1NJQklMSVRZIEZMT09SID09PT09ICovCi8qIE5vIHZpc2libGUgdGV4dCBlbGVtZW50IG1heSByZW5kZXIgYmVsb3cgMTNweCAqLwoubmF2LXRoZW1lLXRvZ2dsZSBzdmcsIC5uYXYtYnVyZ2VyIHN2ZywKLmFnZW50LWF0dGFjaCBzdmcsIC5hZ2VudC1zZW5kLWJ0biBzdmcsCi5hcnJvdywgLnF1aWNrLXBpbGwsIC5zY2VuYXJpby1pbmMsCi5pcS1waG90by10eCAucCB7IGZvbnQtc2l6ZTogMTNweDsgfQouYWdlbnQtc2VuZC1idG4geyBtaW4td2lkdGg6IDQ4cHggIWltcG9ydGFudDsgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50OyB3aWR0aDogNDhweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsgZm9udC1zaXplOiAxM3B4OyB9Ci5uYXYtdGhlbWUtdG9nZ2xlIHsgbWluLXdpZHRoOiA0OHB4ICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsgd2lkdGg6IDQ4cHggIWltcG9ydGFudDsgaGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7IH0KLmFnZW50LWF0dGFjaCB7IG1pbi13aWR0aDogNDhweCAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7IHdpZHRoOiA0OHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNDhweCAhaW1wb3J0YW50OyB9Ci5idG46aG92ZXIgLmFycm93IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH0KCi50cnVzdCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyNHB4OyBtYXJnaW4tdG9wOiA0OHB4OwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQoudHJ1c3QtZGl2aWRlciB7IHdpZHRoOiAxcHg7IGhlaWdodDogMTZweDsgYmFja2dyb3VuZDogdmFyKC0tcnVsZS0yKTsgfQoudHJ1c3Qgc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KCi8qID09PT09PT09PT09PT09PSBIRVJPIEFHRU5UIE1PRFVMRSA9PT09PT09PT09PT09PT0gKi8KLmhlcm8tZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSA0NjBweDsgZ2FwOiA1NnB4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7CiAgLmhlcm8tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7IGdhcDogNDhweDsgfQp9CgouYWdlbnQtbW9kdWxlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAyOHB4OwogIHBhZGRpbmc6IDI0cHg7CiAgYm94LXNoYWRvdzoKICAgIDAgMXB4IDJweCByZ2JhKDcsMTYsMzEsLjA0KSwKICAgIDAgMjRweCA2MHB4IC0yOHB4IHJnYmEoNywxNiwzMSwuMTgpLAogICAgMCA4cHggMjhweCAtMTBweCByZ2JhKDc5LDE0MCwyNTUsLjE4KTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmFnZW50LW1vZHVsZTo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogLTFweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLAogICAgcmdiYSgxNzcsMTU1LDI1NSwuNCkgMCUsCiAgICByZ2JhKDExMSwxNjcsMjU1LC40KSAzNSUsCiAgICByZ2JhKDE0NiwyMjksMjU1LC40KSA3MCUsCiAgICB0cmFuc3BhcmVudCAxMDAlKTsKICBib3JkZXItcmFkaXVzOiAyOHB4OwogIHotaW5kZXg6IC0xOyBmaWx0ZXI6IGJsdXIoMTJweCk7IG9wYWNpdHk6IC42Owp9Ci5hZ2VudC1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7CiAgcGFkZGluZzogNHB4IDhweCAxNnB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKfQouYWdlbnQtbWFyayB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgfQouYWdlbnQtbWFyayAuaGFsbyB7CiAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogLTNweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLAogICAgdmFyKC0taXJpLWEpLCB2YXIoLS1pcmktYiksIHZhcigtLWlyaS1jKSwgdmFyKC0taXJpLWQpLCB2YXIoLS1pcmktYSkpOwogIGZpbHRlcjogYmx1cig0cHgpOyBvcGFjaXR5OiAuNjU7CiAgYW5pbWF0aW9uOiBzcGluU2xvdyA2cyBsaW5lYXIgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBzcGluU2xvdyB7IHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9Ci5hZ2VudC1tYXJrIHN2ZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IH0KLmFnZW50LW5hbWUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOwp9Ci5hZ2VudC1zdGF0dXMgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KLmFnZW50LXN0YXR1cyAuZG90IHsKICB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsKICBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQoKLmFnZW50LXN0cmVhbSB7CiAgcGFkZGluZzogMThweCA0cHggNHB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTJweDsKICBtaW4taGVpZ2h0OiAyODBweDsKfQouYnViYmxlIHsKICBtYXgtd2lkdGg6IDg2JTsgcGFkZGluZzogMTFweCAxNXB4OyBib3JkZXItcmFkaXVzOiAxNnB4OwogIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTsgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07Cn0KLmJ1YmJsZS11c2VyIHsKICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgY29sb3I6IHZhcigtLWluayk7Cn0KLmJ1YmJsZS1hZ2VudCB7CiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDc5LDE0MCwyNTUsLjA3KSwgcmdiYSgxNzcsMTU1LDI1NSwuMDUpKTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjE1KTsKICBjb2xvcjogdmFyKC0taW5rKTsKfQouYnViYmxlLWFnZW50IHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9CgouYm9vay1jYXJkIHsKICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyBtYXgtd2lkdGg6IDg2JTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTJweCAxNHB4OwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsKfQouYm9vay1jYXJkIC53aGVuIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOwp9Ci5ib29rLWNhcmQgLndobyB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgfQovKiA9PT0gTGl2ZSBjb25jaWVyZ2UgY29udHJvbHMgPT09ICovCi5hZ2VudC1xdWlja3JvdyB7CiAgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDZweDsKICBwYWRkaW5nOiAxNHB4IDRweCAwOwp9Ci5xdWljay1waWxsIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogN3B4IDExcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6IHZhcigtLWluay0yKTsgY3Vyc29yOiBwb2ludGVyOwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtcyBlYXNlLCBjb2xvciAxNDBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE0MG1zIGVhc2U7Cn0KLnF1aWNrLXBpbGw6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgd2hpdGUsIHZhcigtLXBhcGVyKSk7IH0KLmFnZW50LWlucHV0IHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IGdhcDogOHB4OwogIG1hcmdpbi10b3A6IDE0cHg7CiAgbWluLXdpZHRoOiAwOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiAxMHB4IDhweCAxMHB4IDE0cHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2UsIGJhY2tncm91bmQgMTYwbXMgZWFzZTsKfQouYWdlbnQtaW5wdXQ6Zm9jdXMtd2l0aGluIHsKICBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3OSwxNDAsMjU1LC4xMCk7Cn0KLmFnZW50LWlucHV0IHRleHRhcmVhIHsKICBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyBvdXRsaW5lOiBub25lOwogIGZvbnQ6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0taW5rKTsgcGFkZGluZzogMnB4IDA7CiAgcmVzaXplOiBub25lOyBtaW4taGVpZ2h0OiA1MnB4OyBtYXgtaGVpZ2h0OiAxODBweDsgbGluZS1oZWlnaHQ6IDEuNTU7CiAgb3ZlcmZsb3cteTogYXV0bzsgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwp9Ci5hZ2VudC1pbnB1dCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IH0KLmFnZW50LWlucHV0IGJ1dHRvbiB7CiAgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDsgYm9yZGVyLXJhZGl1czogMTBweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsKICBmb250LXNpemU6IDEzcHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlLCB0cmFuc2Zvcm0gMTQwbXMgZWFzZTsKfQouYWdlbnQtaW5wdXQgYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7IH0KLmFnZW50LWlucHV0IGJ1dHRvbjpkaXNhYmxlZCB7IGJhY2tncm91bmQ6IHZhcigtLXN0ZWVsLTIpOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB0cmFuc2Zvcm06IG5vbmU7IH0KLmFnZW50LWFzc2Vzcy1waWxsIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDdweDsKICB3aWR0aDogMTAwJTsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wNik7CiAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoNzksMTQwLDI1NSwuMyk7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgcGFkZGluZzogOXB4IDE0cHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7CiAgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGN1cnNvcjogcG9pbnRlcjsKICB0ZXh0LWFsaWduOiBsZWZ0OyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE0MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxNDBtcyBlYXNlOwogIG1hcmdpbi10b3A6IDRweDsKfQouYWdlbnQtYXNzZXNzLXBpbGw6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjEpOyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyB9Ci5hZ2VudC1hc3Nlc3MtcGlsbCBzdmcgeyBmbGV4LXNocmluazogMDsgfQouYWdlbnQtZm9vdCB7CiAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOwogIG1hcmdpbi10b3A6IDEwcHg7IHBhZGRpbmc6IDAgMnB4OwogIGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9Ci5hZ2VudC1mb290IHNwYW4geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7IH0KLmFnZW50LWZvb3QgYSB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KLmFnZW50LWZvb3QgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9Ci8qIFNlbmQgdHJhbnNjcmlwdCAqLwouYWdlbnQtc2VuZC10eC1idG4gewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKICBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlLTIpOyBib3JkZXItcmFkaXVzOiA4cHg7CiAgcGFkZGluZzogNnB4IDEycHg7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtcywgY29sb3IgMTQwbXMsIGJhY2tncm91bmQgMTQwbXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouYWdlbnQtc2VuZC10eC1idG46aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYmFja2dyb3VuZDogdmFyKC0taGFsby1zb2Z0KTsgfQouYWdlbnQtc2VuZC10eC1idG46ZGlzYWJsZWQgeyBvcGFjaXR5OiAuNDU7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH0KLnR4LWRyYXdlciB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgbWF4LWhlaWdodDogMDsgb3BhY2l0eTogMDsKICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDMwMG1zIGVhc2UsIG9wYWNpdHkgMjAwbXMgZWFzZSwgbWFyZ2luIDIwMG1zIGVhc2U7CiAgbWFyZ2luLXRvcDogMDsKfQoudHgtZHJhd2VyLm9wZW4gewogIG1heC1oZWlnaHQ6IDI2MHB4OyBvcGFjaXR5OiAxOyBtYXJnaW4tdG9wOiAxMnB4Owp9Ci50eC1kcmF3ZXItaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTRweDsKICBwYWRkaW5nOiAxNnB4IDE4cHggMTRweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4Owp9Ci50eC1kcmF3ZXItdGl0bGUgewogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMDsKfQoudHgtbWV0aG9kLXJvdyB7CiAgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGFsaWduLWl0ZW1zOiBzdHJldGNoOwp9Ci50eC1tZXRob2Qtcm93IGlucHV0IHsKICBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlLTIpOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDlweCAxMnB4OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmspOwogIG91dGxpbmU6IG5vbmU7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtczsKfQoudHgtbWV0aG9kLXJvdyBpbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDc5LDE0MCwyNTUsLjEwKTsgfQoudHgtbWV0aG9kLXJvdyBidXR0b24gewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogMTBweDsKICBwYWRkaW5nOiA5cHggMTZweDsgZm9udC1zaXplOiAxMy41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGN1cnNvcjogcG9pbnRlcjsKICB3aGl0ZS1zcGFjZTogbm93cmFwOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE0MG1zOwogIG1pbi1oZWlnaHQ6IDQycHg7Cn0KLnR4LW1ldGhvZC1yb3cgYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgfQoudHgtZGl2aWRlciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgZm9udC1zaXplOiAxMi41cHg7IH0KLnR4LWRpdmlkZXI6OmJlZm9yZSwgLnR4LWRpdmlkZXI6OmFmdGVyIHsgY29udGVudDogJyc7IGZsZXg6IDE7IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlKTsgfQoudHgtc3RhdHVzIHsKICBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1nb29kKTsgZm9udC13ZWlnaHQ6IDUwMDsgdGV4dC1hbGlnbjogY2VudGVyOwogIG1pbi1oZWlnaHQ6IDE4cHg7Cn0KLnR4LXN0YXR1cy5lcnJvciB7IGNvbG9yOiB2YXIoLS1zaWduYWwpOyB9Ci8qID09PT09PT09PT09PSBIRVJPIFYyID09PT09PT09PT09PSAqLwouaGVyby12MiB7IHBhZGRpbmc6IDExMHB4IDAgODBweDsgfQouaGVyby12Mi1pbm5lciB7IG1heC13aWR0aDogNzQwcHg7IG1hcmdpbjogMCBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLmhlcm8tdjIgLmhlcm8tZXllYnJvdyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAyOHB4OyBmb250LXNpemU6IDE0cHg7IH0KLmhlcm8tdjIgLmhlcm8taCB7IGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA1dncsIDMuOHJlbSk7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMjJweDsgbGluZS1oZWlnaHQ6IDEuMTI7IH0KLmhlcm8tdjIgLmhlcm8tc3ViIHsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMS42NTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXgtd2lkdGg6IDU4MHB4OyBtYXJnaW46IDAgYXV0byA0NHB4OyB9Ci5jdGEtcm93LXYyIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNHB4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOyB9Ci5jdGEtdjItYnRuIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OwogIHBhZGRpbmc6IDE2cHggMjRweDsgYm9yZGVyLXJhZGl1czogMTZweDsgbWluLXdpZHRoOiAyMDBweDsKICBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcywgYm94LXNoYWRvdyAxNTBtcywgYmFja2dyb3VuZCAxNTBtczsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5jdGEtdjItYnRuOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9Ci5jdGEtdjItdGV4dCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogM3B4OyB9Ci5jdGEtdjItbWFpbiB7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgY29sb3I6IGluaGVyaXQ7IH0KLmN0YS1zdWIgeyBmb250LXNpemU6IDEyLjVweDsgZm9udC13ZWlnaHQ6IDQwMDsgb3BhY2l0eTogLjY1OyB9Ci5jdGEtdjItYXNzZXNzIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSg3LDE2LDMxLC4xOCksIDAgMXB4IDRweCByZ2JhKDcsMTYsMzEsLjEyKTsKfQouY3RhLXYyLWFzc2Vzczpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWluay0yKTsgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDcsMTYsMzEsLjIyKTsgfQouY3RhLXYyLXF1b3RlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLXNvZnQpOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWhhbG8pICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDc5LDE0MCwyNTUsLjE0KTsKfQouY3RhLXYyLXF1b3RlIC5jdGEtc3ViIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLmN0YS12Mi1xdW90ZTpob3ZlciB7IGJhY2tncm91bmQ6ICNjOGQ5ZmY7IGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSg3OSwxNDAsMjU1LC4yKTsgfQouY3RhLXYyLWJvb2sgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0taW5rKTsKICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJ1bGUtMikgIWltcG9ydGFudDsKICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSg3LDE2LDMxLC4wNik7Cn0KLmN0YS12Mi1ib29rOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zdGVlbCkgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDcsMTYsMzEsLjEpOyB9Ci50cnVzdC12MiB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBtYXJnaW4tdG9wOiA0NHB4OyBmbGV4LXdyYXA6IHdyYXA7IH0KLnRydXN0LXBob25lIHsgY29sb3I6IHZhcigtLXN0ZWVsKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogNjAwOyB9Ci50cnVzdC1waG9uZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQoKLyogSGVybyB2MiB3YXJtdGggb3ZlcnJpZGVzICovCi5oZXJvLXYyIHsgYmFja2dyb3VuZDogdmFyKC0td2FybS1wYXBlcik7IH0KLmhlcm8tdjIgLmhlcm8taCB7CiAgZm9udC1mYW1pbHk6ICdETSBTZXJpZiBEaXNwbGF5JywgR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOwogIGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc2l6ZTogY2xhbXAoMi42cmVtLCA1LjV2dywgNC4ycmVtKTsKICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBsaW5lLWhlaWdodDogMS4xOwogIHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMjRweDsKfQouaGVyby12MiAuaGVyby1oIC5ncmFkIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1mb3Jlc3QpLCB2YXIoLS1hbWJlci1kZWVwKSk7CiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IGJhY2tncm91bmQtY2xpcDogdGV4dDsKICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsKfQouaGVyby12MiAuaGVyby1zdWIgeyBmb250LXNpemU6IDE4cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1heC13aWR0aDogNTYwcHg7IH0KLmN0YS12Mi1hc3Nlc3MgeyBiYWNrZ3JvdW5kOiB2YXIoLS1mb3Jlc3QpICFpbXBvcnRhbnQ7IH0KLmN0YS12Mi1hc3Nlc3M6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1mb3Jlc3QtMikgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDQ1LDkwLDYxLC4yNikgIWltcG9ydGFudDsgfQouaGVyby1vcm5hbWVudCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDAgYXV0byAzMnB4OyBjb2xvcjogdmFyKC0tZm9yZXN0KTsgb3BhY2l0eTogLjIyOyB9Ci8qIG5hdi1ib29rLW1vYmlsZTogb25seSB2aXNpYmxlIGluc2lkZSB0aGUgb3BlbiBtb2JpbGUgbWVudSAqLwoubmF2LWJvb2stbW9iaWxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9Cm5hdi5pcy1vcGVuIC5uYXYtYm9vay1tb2JpbGUgeyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH0KCkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkgewogIC5oZXJvLXYyIHsgcGFkZGluZzogODBweCAwIDU2cHg7IH0KICAuaGVyby12MiAuaGVyby1zdWIgeyBmb250LXNpemU6IDE2cHg7IH0KICAuY3RhLXYyLWJ0biB7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBtaW4td2lkdGg6IDA7IHdpZHRoOiAxMDAlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBhZGRpbmc6IDE1cHggMThweDsKICB9CiAgLmN0YS1yb3ctdjIgewogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiBub25lOwogIH0KfQpAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHsKICAuaGVyby12MiAuaGVyby1oIHsgZm9udC1zaXplOiAycmVtOyB9Cn0KCi8qID09PT09PT09PT09PSBGTE9BVElORyBDT05DSUVSR0UgRkFCID09PT09PT09PT09PSAqLwouY29uY2llcmdlLWZhYiB7CiAgcG9zaXRpb246IGZpeGVkOyBib3R0b206IDk2cHg7IHJpZ2h0OiAyMHB4OyB6LWluZGV4OiA5MDA7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBwYWRkaW5nOiAxM3B4IDIwcHggMTNweCAxNnB4OwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBib3gtc2hhZG93OiAwIDRweCAyNHB4IHJnYmEoNywxNiwzMSwuMjIpLCAwIDFweCA0cHggcmdiYSg3LDE2LDMxLC4xMik7CiAgY3Vyc29yOiBwb2ludGVyOyBtaW4taGVpZ2h0OiA1MnB4OwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBib3gtc2hhZG93IDE2MG1zIGVhc2UsIGJhY2tncm91bmQgMTYwbXMgZWFzZTsKfQouY29uY2llcmdlLWZhYjpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDcsMTYsMzEsLjI4KTsgfQouZmFiLXB1bHNlIHsKICB3aWR0aDogOXB4OyBoZWlnaHQ6IDlweDsgYm9yZGVyLXJhZGl1czogNTAlOyBmbGV4LXNocmluazogMDsKICBiYWNrZ3JvdW5kOiAjMzZjMjhiOwogIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDU0LDE5NCwxMzksLjI1KTsKICBhbmltYXRpb246IGZhYlB1bHNlIDIuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBmYWJQdWxzZSB7CiAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg1NCwxOTQsMTM5LC4yNSk7IH0KICA1MCUgeyBib3gtc2hhZG93OiAwIDAgMCA3cHggcmdiYSg1NCwxOTQsMTM5LC4wOCk7IH0KfQpAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAvKiBTaXQganVzdCBhYm92ZSB0aGUgc3RpY2t5IHBob25lIGJhciAoaGVpZ2h0IH42NHB4KSAqLwogIC5jb25jaWVyZ2UtZmFiIHsgYm90dG9tOiA3NnB4OyByaWdodDogMTZweDsgcGFkZGluZzogMTRweDsgYm9yZGVyLXJhZGl1czogNTAlOyB3aWR0aDogNTRweDsgaGVpZ2h0OiA1NHB4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfQogIC5mYWItbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9Cn0KCi8qID09PT09PT09PT09PSBDT05DSUVSR0UgT1ZFUkxBWSA9PT09PT09PT09PT0gKi8KLmNvbmNpZXJnZS1vdmVybGF5IHsKICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAxMDUwOwogIGJhY2tncm91bmQ6IHJnYmEoNywxNiwzMSwwKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyNjBtcyBlYXNlOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQouY29uY2llcmdlLW92ZXJsYXkuaXMtb3BlbiB7IGJhY2tncm91bmQ6IHJnYmEoNywxNiwzMSwuNDgpOyBwb2ludGVyLWV2ZW50czogYWxsOyB9Ci5jb25jaWVyZ2Utb3ZlcmxheS1iYWNrZHJvcCB7CiAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgY3Vyc29yOiBwb2ludGVyOwp9Ci5jb25jaWVyZ2Utb3ZlcmxheS1wYW5lbCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOwogIHdpZHRoOiA0NDBweDsgbWF4LXdpZHRoOiAxMDB2dzsKICBoZWlnaHQ6IG1pbig3ODBweCwgY2FsYygxMDB2aCAtIDBweCkpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIGJvcmRlci1yYWRpdXM6IDI0cHggMjRweCAwIDA7CiAgYm94LXNoYWRvdzogMCAtOHB4IDYwcHggcmdiYSg3LDE2LDMxLC4yKSwgMCAtMnB4IDEycHggcmdiYSg3LDE2LDMxLC4xKTsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBvdmVyZmxvdzogaGlkZGVuOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzIwbXMgY3ViaWMtYmV6aWVyKC4yMiwxLC4zNiwxKTsKfQouY29uY2llcmdlLW92ZXJsYXkuaXMtb3BlbiAuY29uY2llcmdlLW92ZXJsYXktcGFuZWwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7CiAgLmNvbmNpZXJnZS1vdmVybGF5LXBhbmVsIHsgd2lkdGg6IDEwMHZ3OyBoZWlnaHQ6IDg4dmg7IGJvcmRlci1yYWRpdXM6IDI0cHggMjRweCAwIDA7IH0KfQouY29uY2llcmdlLW92ZXJsYXktdG9wYmFyIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcGFkZGluZzogMTRweCAxNnB4IDA7IGZsZXgtc2hyaW5rOiAwOwp9Ci5jb25jaWVyZ2Utb3ZlcmxheS10aXRsZSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDEzcHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsgbGV0dGVyLXNwYWNpbmc6IC4xZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHZhcigtLXN0ZWVsKTsgcGFkZGluZy1sZWZ0OiA0cHg7Cn0KLmNvbmNpZXJnZS1vdmVybGF5LWNsb3NlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogNTAlOyB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBtaW4td2lkdGg6IDM2cHg7CiAgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMTsgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMTMwbXMsIGNvbG9yIDEzMG1zOwp9Ci5jb25jaWVyZ2Utb3ZlcmxheS1jbG9zZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXJ1bGUtMik7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci8qIEFnZW50LW1vZHVsZSBzaXRzIGluc2lkZSBvdmVybGF5IHdpdGggbm8gZXh0cmEgY2FyZCBzaGFkb3cgKi8KLmNvbmNpZXJnZS1vdmVybGF5LXBhbmVsIC5hZ2VudC1tb2R1bGUgewogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OwogIGJvcmRlcjogMCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogIGZsZXg6IDE7IG92ZXJmbG93OiBoaWRkZW47IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cn0KLmNvbmNpZXJnZS1vdmVybGF5LXBhbmVsIC5hZ2VudC1zdHJlYW0gewogIGZsZXg6IDE7IG92ZXJmbG93LXk6IGF1dG87Cn0KCi5idWJibGUtdHlwaW5nIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMTZweCAhaW1wb3J0YW50Owp9Ci5idWJibGUtdHlwaW5nIHNwYW4gewogIHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogdmFyKC0tc3RlZWwtMik7IGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBhbmltYXRpb246IHR5cGluZ0JvdW5jZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5idWJibGUtdHlwaW5nIHNwYW46bnRoLWNoaWxkKDIpIHsgYW5pbWF0aW9uLWRlbGF5OiAuMTVzOyB9Ci5idWJibGUtdHlwaW5nIHNwYW46bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAuM3M7IH0KQGtleWZyYW1lcyB0eXBpbmdCb3VuY2UgewogIDAlLCA2MCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IC41OyB9CiAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBvcGFjaXR5OiAxOyB9Cn0KLmJ1YmJsZS1lcnJvciB7CiAgYmFja2dyb3VuZDogcmdiYSgyMTgsIDgwLCA4MCwgLjA4KSAhaW1wb3J0YW50OwogIGNvbG9yOiAjQjIzMzMzICFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7Cn0KLmFjdGlvbi1jaGlwLXdyYXAgewogIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IG1heC13aWR0aDogODYlOwogIG1hcmdpbi10b3A6IC00cHg7Cn0KLmFjdGlvbi1jaGlwLXBhaXIgewogIGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBmbGV4LXdyYXA6IHdyYXA7Cn0KLmFjdGlvbi1jaGlwLXBhaXIgLmFjdGlvbi1jaGlwIHsKICBmbGV4OiAxOyBtaW4td2lkdGg6IDEzMHB4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouYWN0aW9uLWNoaXAtcGFpciAuYWN0aW9uLWNoaXA6bGFzdC1jaGlsZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOwogIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcnVsZS0yKTsKICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSg3LDE2LDMxLC4wOCk7Cn0KLmFjdGlvbi1jaGlwLXBhaXIgLmFjdGlvbi1jaGlwOmxhc3QtY2hpbGQ6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLWhhbG8tc29mdCk7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7CiAgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSg3OSwxNDAsMjU1LC4xNSk7Cn0KLmFjdGlvbi1jaGlwIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBib3JkZXI6IDA7IHBhZGRpbmc6IDlweCAxNHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGxldHRlci1zcGFjaW5nOiAtLjAwNWVtOwogIGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZSwgdHJhbnNmb3JtIDE0MG1zIGVhc2UsIGJveC1zaGFkb3cgMTQwbXMgZWFzZTsKICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoNywxNiwzMSwuMTgpOwp9Ci5hY3Rpb24tY2hpcDpob3ZlciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taGFsby1kZWVwKSwgdmFyKC0taW5rKSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSg3LDE2LDMxLC4yOCk7Cn0KLmFjdGlvbi1jaGlwIHN2ZzpmaXJzdC1jaGlsZCB7IG9wYWNpdHk6IC44NTsgfQouYWN0aW9uLWNoaXAgc3ZnOmxhc3QtY2hpbGQgeyBvcGFjaXR5OiAuNjsgbWFyZ2luLWxlZnQ6IDJweDsgfQouYm9vay1jYXJkIC5waWxsIHsKICBtYXJnaW4tbGVmdDogYXV0bzsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIHBhZGRpbmc6IDZweCAxMXB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDYwMDsKfQoKLnR5cGluZyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4OyBwYWRkaW5nOiAxNHB4IDE4cHg7IH0KLnR5cGluZyBzcGFuIHsKICB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1zdGVlbC0yKTsKICBhbmltYXRpb246IHR5cGluZ0RvdCAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci50eXBpbmcgc3BhbjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IC4xNXM7IH0KLnR5cGluZyBzcGFuOm50aC1jaGlsZCgzKSB7IGFuaW1hdGlvbi1kZWxheTogLjNzOyB9CkBrZXlmcmFtZXMgdHlwaW5nRG90IHsKICAwJSwgNjAlLCAxMDAlIHsgb3BhY2l0eTogLjM7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogIDMwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfQp9CgovKiA9PT09PT09PT09PT09PT0gTE9HTyBTVFJJUCA9PT09PT09PT09PT09PT0gKi8KLmxvZ29zIHsKICBwYWRkaW5nOiA0OHB4IDA7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIG1hcmdpbi10b3A6IDY0cHg7Cn0KLmxvZ29zLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5sb2dvcy1yb3cgewogIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDMycHg7IGZsZXgtd3JhcDogd3JhcDsKfQoubG9nby1jZWxsIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNjAwOwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7IGxldHRlci1zcGFjaW5nOiAtLjAyZW07Cn0KCi8qID09PT09PT09PT09PT09PSBTRUNUSU9OUyA9PT09PT09PT09PT09PT0gKi8Kc2VjdGlvbi5ibG9jayB7IHBhZGRpbmc6IDEyMHB4IDA7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IHNlY3Rpb24uYmxvY2sgeyBwYWRkaW5nOiA3MnB4IDA7IH0gLmhlcm8geyBwYWRkaW5nOiA1NnB4IDAgNDBweDsgfSB9Ci5zZWMtZXllYnJvdyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogMC4xOGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBtYXJnaW46IDAgMCAxNHB4IDA7Cn0KaDIuc2VjLWggewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgNC42dncsIDU2cHgpOyBsaW5lLWhlaWdodDogMS4wNTsgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNWVtOwogIG1hcmdpbjogMCAwIDE4cHggMDsgbWF4LXdpZHRoOiA3NjBweDsKICB0ZXh0LXdyYXA6IGJhbGFuY2U7Cn0KLnNlYy1sZWRlIHsKICBmb250LXNpemU6IDE5cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogdmFyKC0taW5rLTIpOwogIG1heC13aWR0aDogNjYwcHg7IG1hcmdpbjogMCAwIDU2cHggMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKfQoKLyogPT09PT09PT09PT09PT09IEhPVyBJVCBXT1JLUyA9PT09PT09PT09PT09PT0gKi8KLmhvdy1ncmlkIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDE4cHg7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgLmhvdy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KfQouc3RlcCB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAyMnB4OwogIHBhZGRpbmc6IDI4cHg7IG1pbi1oZWlnaHQ6IDI2MHB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxNjBtcyBlYXNlOwp9Ci5zdGVwOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9Ci5zdGVwLW51bSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgbWFyZ2luLWJvdHRvbTogYXV0bzsKfQouc3RlcC1pY29uIHsKICB3aWR0aDogNDhweDsgaGVpZ2h0OiA0OHB4OyBib3JkZXItcmFkaXVzOiAxNHB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXBhcGVyLTIpLCB3aGl0ZSk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLWJvdHRvbTogMTZweDsKfQouc3RlcC1oIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAyMnB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBtYXJnaW46IDAgMCA4cHggMDsKfQouc3RlcC1wIHsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjU1OyBtYXJnaW46IDA7IH0KCi8qID09PT09PT09PT09PT09PSBTRVJWSUNFUyA9PT09PT09PT09PT09PT0gKi8KLnNlcnZpY2VzLWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IGdhcDogMTRweDsKfQpAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7IC5zZXJ2aWNlcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgIHsgLnNlcnZpY2VzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH0KLnN2YyB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxOHB4OwogIHBhZGRpbmc6IDIycHg7IG1pbi1oZWlnaHQ6IDE4MHB4OyBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47Cn0KLnN2Yzpob3ZlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB3aGl0ZSwgdmFyKC0tcGFwZXItMikpOwp9Ci5zdmM6OmFmdGVyIHsKICBjb250ZW50OiAn4oaSJzsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMThweDsgYm90dG9tOiAxNnB4OwogIGZvbnQtc2l6ZTogMThweDsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLCBjb2xvciAyMDBtcyBlYXNlOwp9Ci5zdmM6aG92ZXI6OmFmdGVyIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpOyB9Ci5zdmMtaWNvbiB7CiAgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgbWFyZ2luLWJvdHRvbTogMTRweDsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyLXJhZGl1czogMTBweDsKfQouc3ZjLW5hbWUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgbWFyZ2luOiAwIDAgNHB4IDA7Cn0KLnN2Yy1mcm9tIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW46IDA7IH0KLnN2Yy1mcm9tIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXdlaWdodDogNjAwOyB9CgovKiA9PT09PT09PT09PT09PT0gQUkgU0hPV0NBU0UgPT09PT09PT09PT09PT09ICovCi5haS1zaG93Y2FzZSB7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsKICBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6IDMycHg7CiAgcGFkZGluZzogODhweCA2NHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAuYWktc2hvd2Nhc2UgeyBwYWRkaW5nOiA1NnB4IDI4cHg7IGJvcmRlci1yYWRpdXM6IDIycHg7IH0KfQouYWktc2hvd2Nhc2U6OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDkwJSAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMTgpLCB0cmFuc3BhcmVudCksCiAgICByYWRpYWwtZ3JhZGllbnQoNjAlIDUwJSBhdCAwJSAxMDAlLCByZ2JhKDE0NiwyMjksMjU1LC4xNCksIHRyYW5zcGFyZW50KTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQouYWktZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjJmciAxZnI7IGdhcDogNTZweDsKICBhbGlnbi1pdGVtczogY2VudGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgewogIC5haS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogNDhweDsgfQogIC5iaWctbWFyayB7IHdpZHRoOiAyMjBweDsgaGVpZ2h0OiAyMjBweDsgfQp9Ci5haS1zaG93Y2FzZSAuc2VjLWV5ZWJyb3cgeyBjb2xvcjogdmFyKC0taGFsby0yKTsgfQouYWktc2hvd2Nhc2UgaDIgeyBjb2xvcjogdmFyKC0tcGFwZXIpOyB9Ci5haS1zaG93Y2FzZSAuc2VjLWxlZGUgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpOyB9CgouY2hhbm5lbC1saXN0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyB9Ci5jaGFubmVsIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNCk7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwogIGJvcmRlci1yYWRpdXM6IDE4cHg7CiAgcGFkZGluZzogMThweCAyMHB4OwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTZweDsKfQouY2hhbm5lbC1pY29uIHsKICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBib3JkZXItcmFkaXVzOiAxMnB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTc3LDE1NSwyNTUsLjE4KSwgcmdiYSgxMTEsMTY3LDI1NSwuMTIpKTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgZmxleC1zaHJpbms6IDA7Cn0KLmNoYW5uZWwtbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDYwMDsKfQouY2hhbm5lbC1kIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTUpOyBtYXJnaW4tdG9wOiAycHg7IH0KLmNoYW5uZWwtc3RhdHVzIHsKICBtYXJnaW4tbGVmdDogYXV0bzsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IGNvbG9yOiB2YXIoLS1oYWxvLTIpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owp9Ci5jaGFubmVsLXN0YXR1cyAuZG90IHsKICB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsKICBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQoKLyogQmlnIGJyZWF0aGluZyBtYXJrICovCi5iaWctbWFyayB7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHg7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLmJpZy1tYXJrIC5oYWxvIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAtMTZweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLAogICAgdmFyKC0taXJpLWEpLCB2YXIoLS1pcmktYiksIHZhcigtLWlyaS1jKSwgdmFyKC0taXJpLWQpLCB2YXIoLS1pcmktYSkpOwogIGZpbHRlcjogYmx1cigyMHB4KTsgb3BhY2l0eTogLjU1OwogIGFuaW1hdGlvbjogc3BpblNsb3cgOHMgbGluZWFyIGluZmluaXRlOwp9Ci5iaWctbWFyayBzdmcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyB9CgovKiA9PT09PT09PT09PT09PT0gVEVTVElNT05JQUwgPT09PT09PT09PT09PT09ICovCi50ZXN0aW1vbmlhbCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxNHB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeyAudGVzdGltb25pYWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9Ci50LWNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMjJweDsKICBwYWRkaW5nOiAyOHB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnN0YXJzIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IDJweDsgbWFyZ2luLWJvdHRvbTogMTRweDsgfQoudC1xdW90ZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDEuNDU7CiAgZm9udC13ZWlnaHQ6IDUwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDE4ZW07CiAgbWFyZ2luOiAwIDAgMjRweCAwOyBmbGV4OiAxOwp9Ci50LWF1dGhvciB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OwogIHBhZGRpbmctdG9wOiAxOHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcnVsZSk7Cn0KLnQtYXZhdGFyIHsKICB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcGFwZXItMiksIHZhcigtLXJ1bGUpKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOwogIGNvbG9yOiB2YXIoLS1pbmstMik7Cn0KLnQtbmFtZSB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgfQoudC1tZXRhIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9CgovKiA9PT09PT09PT09PT09PT0gRklOQUwgQ1RBID09PT09PT09PT09PT09PSAqLwouZmluYWwtY3RhIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDEyMHB4IDA7Cn0KLmZpbmFsLWN0YSBoMiB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiBjbGFtcCg0MHB4LCA2dncsIDcycHgpOyBsaW5lLWhlaWdodDogMTsgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTsKICBtYXJnaW46IDAgMCAyNHB4IDA7Cn0KLmZpbmFsLWN0YSBoMiAuZ3JhZCB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taXJpLWEpIDAlLCB2YXIoLS1oYWxvKSA1MCUsIHZhcigtLWlyaS1jKSAxMDAlKTsKICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKfQouZmluYWwtY3RhIHAgeyBmb250LXNpemU6IDE5cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IG1heC13aWR0aDogNTYwcHg7IG1hcmdpbjogMCBhdXRvIDQwcHg7IH0KCi8qID09PT09PT09PT09PT09PSBGT09URVIgPT09PT09PT09PT09PT09ICovCmZvb3RlciB7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHBhZGRpbmc6IDU2cHggMCA0MHB4Owp9Ci5mb290LWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciAxZnIgMWZyIDFmcjsgZ2FwOiA0MHB4OwogIG1hcmdpbi1ib3R0b206IDQwcHg7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgLmZvb3QtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICAuZm9vdC1ncmlkID4gZGl2OmZpcnN0LWNoaWxkIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfQp9Ci5mb290LWJyYW5kLXRleHQgewogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLXRvcDogMTJweDsgbWF4LXdpZHRoOiAyODBweDsgbGluZS1oZWlnaHQ6IDEuNTU7Cn0KLmZvb3QtaCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBtYXJnaW46IDAgMCAxMnB4IDA7Cn0KLmZvb3QtbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOHB4OyB9Ci5mb290LWxpc3QgYSB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgfQouZm9vdC1saXN0IGE6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgfQouZm9vdC1ib3R0b20gewogIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBwYWRkaW5nLXRvcDogMjRweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQoKLyogPT09PT09PT09PT09PT09IEFVRElFTkNFIFNXSVRDSCAoaGVybykgPT09PT09PT09PT09PT09ICovCi5hdWRpZW5jZS1zd2l0Y2ggewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBwYWRkaW5nOiA0cHg7IGdhcDogNHB4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiA5OTlweDsgbWFyZ2luLWJvdHRvbTogMjJweDsKfQouYXMtdGFiIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDdweCAxNHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtMC4wMDVlbTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgY3Vyc29yOiBwb2ludGVyOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZSwgY29sb3IgMTYwbXMgZWFzZTsKfQouYXMtdGFiLmlzLWFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0taW5rKTsgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoNywxNiwzMSwuMDYpOyB9Ci5hcy10YWI6aG92ZXI6bm90KC5pcy1hY3RpdmUpIHsgY29sb3I6IHZhcigtLWluay0yKTsgfQouYXMtdGFiIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyB9CgovKiA9PT09PT09PT09PT09PT0gRVNUSU1BVE9SID09PT09PT09PT09PT09PSAqLwouZXN0aW1hdG9yLXdyYXAgewogIHBhZGRpbmc6IDgwcHggMCAyNHB4Owp9Ci5lc3RpbWF0b3IgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDI4cHg7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjA1ZnIgMWZyOwogIG92ZXJmbG93OiBoaWRkZW47CiAgYm94LXNoYWRvdzoKICAgIDAgMXB4IDJweCByZ2JhKDcsMTYsMzEsLjA0KSwKICAgIDAgMjhweCA4MHB4IC0zMnB4IHJnYmEoNywxNiwzMSwuMTgpLAogICAgMCA4cHggMjhweCAtMTBweCByZ2JhKDc5LDE0MCwyNTUsLjEwKTsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAuZXN0aW1hdG9yIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KfQouZXN0LWxlZnQgewogIHBhZGRpbmc6IDM2cHg7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgd2hpdGUsIHZhcigtLXBhcGVyKSk7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgLmVzdC1sZWZ0IHsgYm9yZGVyLXJpZ2h0OiAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IHBhZGRpbmc6IDI4cHg7IH0KfQouZXN0LXJpZ2h0IHsKICBwYWRkaW5nOiAzNnB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMjJweDsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgLmVzdC1yaWdodCB7IHBhZGRpbmc6IDI4cHg7IH0gfQoKLmVzdC1leWVicm93IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMThlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OwogIG1hcmdpbi1ib3R0b206IDE0cHg7Cn0KLmVzdC1leWVicm93IC5kb3QgeyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsgYW5pbWF0aW9uOiBsaXZlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH0KCi5lc3QtaCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiAzMHB4OyBsaW5lLWhlaWdodDogMS4wNTsgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsKICBtYXJnaW46IDAgMCAxMHB4IDA7IHRleHQtd3JhcDogYmFsYW5jZTsKfQouZXN0LXN1YiB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLWluay0yKTsgbWFyZ2luOiAwIDAgMjRweCAwOyBsaW5lLWhlaWdodDogMS41OyBtYXgtd2lkdGg6IDM4Y2g7IH0KCi5lc3QtbW9kZSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IHBhZGRpbmc6IDNweDsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIG1hcmdpbi1ib3R0b206IDIycHg7Cn0KLmVzdC1tb2RlLXRhYiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgcGFkZGluZzogNnB4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7IGxldHRlci1zcGFjaW5nOiAtLjAwNWVtOwp9Ci5lc3QtbW9kZS10YWIuaXMtYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOyBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSg3LDE2LDMxLC4wNik7IH0KCi5lc3Qtc2VjdGlvbi1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwpOwogIG1hcmdpbjogMCAwIDEwcHggMDsKfQoKLmVzdC1zZXJ2aWNlcyB7CiAgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDhweDsgbWFyZ2luLWJvdHRvbTogMjJweDsKICBtaW4td2lkdGg6IDA7IG92ZXJmbG93OiBoaWRkZW47Cn0KLmVzdC1zdmMtY2hpcCB7IG1heC13aWR0aDogMTAwJTsgfQouZXN0LXN2Yy1jaGlwIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogOXB4IDEzcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWluay0yKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogN3B4OwogIHRyYW5zaXRpb246IGFsbCAxNjBtcyBlYXNlOwp9Ci5lc3Qtc3ZjLWNoaXAgc3ZnIHsgY29sb3I6IHZhcigtLXN0ZWVsKTsgdHJhbnNpdGlvbjogY29sb3IgMTYwbXMgZWFzZTsgfQouZXN0LXN2Yy1jaGlwOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyBjb2xvcjogdmFyKC0taW5rKTsgfQouZXN0LXN2Yy1jaGlwLmlzLWFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOwp9Ci5lc3Qtc3ZjLWNoaXAuaXMtYWN0aXZlIHN2ZyB7IGNvbG9yOiB2YXIoLS1oYWxvLTIpOyB9Ci5lc3Qtc3ZjLWNoaXAuaXMtYWN0aXZlOjpiZWZvcmUgewogIGNvbnRlbnQ6ICfinJMnOyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWhhbG8tMik7Cn0KCi8qIFBlci1zZXJ2aWNlIGV4cGFuZGFibGUgYmxvY2sgaW4gbXVsdGktc2VydmljZSBtb2RlICovCi5lc3Qtc3ZjLWJsb2NrIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTRweCAxNnB4OyBtYXJnaW4tYm90dG9tOiAxMHB4Owp9Ci5lc3Qtc3ZjLWJsb2NrLWhlYWQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBtYXJnaW4tYm90dG9tOiAxMnB4Owp9Ci5lc3Qtc3ZjLWJsb2NrLW5hbWUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKfQouZXN0LXN2Yy1ibG9jay1uYW1lIC5yb3ctcHJpY2UgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgZm9udC13ZWlnaHQ6IDUwMDsgbGV0dGVyLXNwYWNpbmc6IDA7Cn0KLmVzdC1zdmMtYmxvY2stcmVtb3ZlIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4OyBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmVzdC1zdmMtYmxvY2stcmVtb3ZlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5lc3Qtc3ZjLWJsb2NrIC5lc3Qtb3B0aW9ucyB7IGdhcDogMTJweDsgbWFyZ2luOiAwOyB9CgovKiBQZXItc2VydmljZSBoZWFkZXIgKG11bHRpLW1vZGUpIC0gbmFtZSBvbiBsZWZ0LCBxdHkgc3RlcHBlciBvbiByaWdodCAqLwouZXN0LXN2Yy1oZWFkZXIgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDEycHg7IG1hcmdpbjogMThweCAwIDhweDsKfQouZXN0LXN2Yy1oZWFkZXI6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiA0cHg7IH0KLmVzdC1zdmMtaGVhZGVyLW5hbWUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IGNvbG9yOiB2YXIoLS1pbmspOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKfQouZXN0LXN2Yy1oZWFkZXItZG90IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0taGFsbyk7Cn0KLmVzdC1xdHkgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDNweDsKfQouZXN0LXF0eS1idG4gewogIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3JkZXI6IDA7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjdXJzb3I6IHBvaW50ZXI7CiAgY29sb3I6IHZhcigtLWluay0yKTsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZSwgY29sb3IgMTQwbXMgZWFzZTsKfQouZXN0LXF0eS1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgY29sb3I6IHZhcigtLWluayk7IH0KLmVzdC1xdHktdmFsIHsKICBtaW4td2lkdGg6IDI4cHg7IHRleHQtYWxpZ246IGNlbnRlcjsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0taW5rKTsgbGV0dGVyLXNwYWNpbmc6IDA7Cn0KCi5lc3QtaGVscGVyIHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbjogNnB4IDAgMThweCAwOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKfQouZXN0LWhlbHBlciBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rLTIpOyBmb250LXdlaWdodDogNjAwOyB9CgouYnVuZGxlLXBpbGwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKICBtYXJnaW4tdG9wOiAxMHB4OwogIGJhY2tncm91bmQ6IHJnYmEoMTQ2LDIyOSwyNTUsLjE0KTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDYsMjI5LDI1NSwuMyk7CiAgcGFkZGluZzogNHB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmVzdC1vcHRpb25zIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxOHB4OyBtYXJnaW4tYm90dG9tOiA2cHg7IH0KLmVzdC1vcHQtcm93IHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiA4cHg7Cn0KLmVzdC1vcHQtbGFiZWwgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1pbmstMik7Cn0KLmVzdC1vcHQtdmFsdWUgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgcGFkZGluZzogMnB4IDhweDsgYm9yZGVyLXJhZGl1czogNnB4Owp9Ci5lc3Qtb3B0LWNob2ljZXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4OyB9Ci5lc3Qtb3B0LWNob2ljZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHBhZGRpbmc6IDdweCAxMXB4OyBib3JkZXItcmFkaXVzOiA4cHg7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0taW5rLTIpOwogIGN1cnNvcjogcG9pbnRlcjsKICB0cmFuc2l0aW9uOiBhbGwgMTQwbXMgZWFzZTsKfQouZXN0LW9wdC1jaG9pY2U6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUtMik7IH0KLmVzdC1vcHQtY2hvaWNlLmlzLWFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0taW5rKTsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWluayk7Cn0KCi5lc3Qtc2xpZGVyIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7CiAgd2lkdGg6IDEwMCU7IGhlaWdodDogNHB4OyBib3JkZXItcmFkaXVzOiA0cHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1oYWxvKSwgdmFyKC0taGFsbykgdmFyKC0tcCwgNTAlKSwgdmFyKC0tcnVsZSkgdmFyKC0tcCwgNTAlKSwgdmFyKC0tcnVsZSkgMTAwJSk7CiAgb3V0bGluZTogbm9uZTsKfQouZXN0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgYXBwZWFyYW5jZTogbm9uZTsKICB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWluayk7CiAgY3Vyc29yOiBwb2ludGVyOyBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSg3LDE2LDMxLC4xOCk7Cn0KLmVzdC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWIgewogIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAycHggc29saWQgdmFyKC0taW5rKTsKICBjdXJzb3I6IHBvaW50ZXI7IGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDcsMTYsMzEsLjE4KTsKfQoKLmVzdC10b2dnbGUgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IGN1cnNvcjogcG9pbnRlcjsKfQouZXN0LXRvZ2dsZSBpbnB1dCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0KLmVzdC10b2dnbGUgLnN3YXRjaCB7CiAgd2lkdGg6IDMycHg7IGhlaWdodDogMThweDsgYmFja2dyb3VuZDogdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlOwp9Ci5lc3QtdG9nZ2xlIC5zd2F0Y2g6OmFmdGVyIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDJweDsgbGVmdDogMnB4OwogIHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgdHJhbnNpdGlvbjogbGVmdCAxNjBtcyBlYXNlOwp9Ci5lc3QtdG9nZ2xlIGlucHV0OmNoZWNrZWQgKyAuc3dhdGNoIHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgfQouZXN0LXRvZ2dsZSBpbnB1dDpjaGVja2VkICsgLnN3YXRjaDo6YWZ0ZXIgeyBsZWZ0OiAxNnB4OyB9CgovKiA9PT09PT09PT09PT09PT0gVFYgbXVsdGktdW5pdDogc2l6ZSBtYXRyaXggKyBwZXItdW5pdCBvdmVycmlkZSA9PT09PT09PT09PT09PT0gKi8KLmVzdC10di1zZWN0aW9uIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNnB4OyB9Ci5lc3QtdHYtaGVhZGVyIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxNHB4OyBtYXJnaW4tdG9wOiA0cHg7Cn0KLmVzdC10di1oZWFkZXItbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBjb2xvcjogdmFyKC0taW5rKTsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7Cn0KLmVzdC10di1oZWFkZXItbmFtZSAuZG90IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0taGFsbyk7Cn0KLmVzdC10di1oZWFkZXItbmFtZSAuY291bnQgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7CiAgY29sb3I6IHZhcigtLXN0ZWVsKTsgZm9udC13ZWlnaHQ6IDUwMDsgbWFyZ2luLWxlZnQ6IDZweDsKfQouZXN0LXR2LW92ZXJyaWRlIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGN1cnNvcjogcG9pbnRlcjsKICB1c2VyLXNlbGVjdDogbm9uZTsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBmb250LXdlaWdodDogNTAwOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmVzdC10di1vdmVycmlkZSBpbnB1dCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0KLmVzdC10di1vdmVycmlkZSAuc3cgewogIHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIGJhY2tncm91bmQ6IHZhcigtLXJ1bGUtMik7IHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7IGZsZXgtc2hyaW5rOiAwOwp9Ci5lc3QtdHYtb3ZlcnJpZGUgLnN3OjphZnRlciB7CiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAycHg7IGxlZnQ6IDJweDsKICB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IHRyYW5zaXRpb246IGxlZnQgMTYwbXMgZWFzZTsKfQouZXN0LXR2LW92ZXJyaWRlIGlucHV0OmNoZWNrZWQgKyAuc3cgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5lc3QtdHYtb3ZlcnJpZGUgaW5wdXQ6Y2hlY2tlZCArIC5zdzo6YWZ0ZXIgeyBsZWZ0OiAxNHB4OyB9CgouZXN0LXR2LW1hdHJpeCB7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTJweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgb3ZlcmZsb3c6IGhpZGRlbjsKfQouZXN0LXR2LW1hdHJpeC1yb3cgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBnYXA6IDEycHg7IHBhZGRpbmc6IDEwcHggMTRweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlOwp9Ci5lc3QtdHYtbWF0cml4LXJvdyArIC5lc3QtdHYtbWF0cml4LXJvdyB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgfQouZXN0LXR2LW1hdHJpeC1yb3cuaGFzIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoNzksMTQwLDI1NSwuMDYpLCB0cmFuc3BhcmVudCA2MCUpOwp9Ci5lc3QtdHYtbWF0cml4LXJvdyAubGJsIHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiA4cHg7Cn0KLmVzdC10di1tYXRyaXgtcm93LmhhcyAubGJsIHsgY29sb3I6IHZhcigtLWluayk7IH0KLmVzdC10di1tYXRyaXgtcm93IC5wcmljZSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsKICBjb2xvcjogdmFyKC0tc3RlZWwpOyBmb250LXdlaWdodDogNDAwOwp9CgouZXN0LXR2LWdsb2JhbHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE0cHg7IH0KCi8qIEl0ZW1zIG1vZGUgKi8KLmVzdC10di1pdGVtcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTBweDsgfQouZXN0LXR2LWl0ZW0gewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBvdmVyZmxvdzogaGlkZGVuOwp9Ci5lc3QtdHYtaXRlbS1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7CiAgcGFkZGluZzogMTBweCAxNHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7Cn0KLmVzdC10di1pdGVtLXRhZyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNmVtOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgZm9udC13ZWlnaHQ6IDYwMDsKfQouZXN0LXR2LWl0ZW0tY291bnQgewogIG1hcmdpbi1sZWZ0OiBhdXRvOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLmVzdC10di1pdGVtLXJlbW92ZSB7CiAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlcjogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGN1cnNvcjogcG9pbnRlcjsKICBjb2xvcjogdmFyKC0tc3RlZWwpOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAxOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE0MG1zIGVhc2UsIGNvbG9yIDE0MG1zIGVhc2U7Cn0KLmVzdC10di1pdGVtLXJlbW92ZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXJ1bGUpOyBjb2xvcjogdmFyKC0taW5rKTsgfQouZXN0LXR2LWl0ZW0tYm9keSB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEwcHggMTRweDsKICBwYWRkaW5nOiAxMnB4IDE0cHg7Cn0KLmVzdC10di1pdGVtLWZpZWxkIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7IH0KLmVzdC10di1pdGVtLWZpZWxkIC5rIHsKICBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQouZXN0LXR2LWl0ZW0tZmllbGQgc2VsZWN0IHsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogOHB4OyBwYWRkaW5nOiA4cHggMjhweCA4cHggMTBweDsgY3Vyc29yOiBwb2ludGVyOwogIGFwcGVhcmFuY2U6IG5vbmU7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAnIGhlaWdodD0nNicgdmlld0JveD0nMCAwIDEwIDYnPjxwYXRoIGQ9J00xIDFsNCA0IDQtNCcgc3Ryb2tlPSclMjM1QzZCODUnIHN0cm9rZS13aWR0aD0nMS41JyBmaWxsPSdub25lJyBzdHJva2UtbGluZWNhcD0ncm91bmQnLz48L3N2Zz4iKTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGNlbnRlcjsKfQouZXN0LXR2LWl0ZW0tZmllbGQgc2VsZWN0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgfQouZXN0LXR2LWl0ZW0tZmllbGQuY2FibGVzIHsKICBncmlkLWNvbHVtbjogMSAvIC0xOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7Cn0KLmVzdC10di1pdGVtLWZpZWxkLmNhYmxlcyBsYWJlbCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBjdXJzb3I6IHBvaW50ZXI7Cn0KLmVzdC10di1hZGQgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tcnVsZS0yKTsKICBib3JkZXItcmFkaXVzOiAxMnB4OyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOwogIHBhZGRpbmc6IDExcHg7IGN1cnNvcjogcG9pbnRlcjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE0MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxNDBtcyBlYXNlOwp9Ci5lc3QtdHYtYWRkOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1zb2Z0KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgfQoKQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7CiAgLmVzdC10di1oZWFkZXIgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAxMHB4OyB9CiAgLmVzdC10di1pdGVtLWJvZHkgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQp9CgovKiBRdW90ZSBjYXJkOiBwZXItbGluZSBicmVha2Rvd24gZm9yIG11bHRpLXVuaXQgam9icyAqLwoucXVvdGUtbGluZXMgewogIG1hcmdpbi10b3A6IDE0cHg7IHBhZGRpbmctdG9wOiAxNHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMCk7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7Cn0KLnF1b3RlLWxpbmVzOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfQoucXVvdGUtbGluZSB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGZvbnQtc2l6ZTogMTRweDsgZ2FwOiAxMnB4Owp9Ci5xdW90ZS1saW5lIC5xbC1sIHsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODIpOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IGdhcDogNnB4OwogIG1pbi13aWR0aDogMDsgZmxleDogMSAxIGF1dG87IG92ZXJmbG93OiBoaWRkZW47Cn0KLnF1b3RlLWxpbmUgLnFsLWNvdW50IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OwogIGNvbG9yOiB2YXIoLS1pcmktYyk7IGZsZXgtc2hyaW5rOiAwOwp9Ci5xdW90ZS1saW5lIC5xbC10YWcgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40NSk7IGxldHRlci1zcGFjaW5nOiAwOwogIG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5xdW90ZS1saW5lIC5xbC1yIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBjb2xvcjogdmFyKC0tcGFwZXIpOyB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5xdW90ZS1saW5lLmlzLWRpc2NvdW50IHsKICBtYXJnaW4tdG9wOiAycHg7IHBhZGRpbmctdG9wOiA2cHg7CiAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDI1NSwyNTUsMjU1LC4xMik7Cn0KLnF1b3RlLWxpbmUuaXMtZGlzY291bnQgLnFsLWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMDRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogdmFyKC0taXJpLWMpOwp9Ci5xdW90ZS1saW5lLmlzLWRpc2NvdW50IC5xbC1yIHsgY29sb3I6IHZhcigtLWlyaS1jKTsgfQoKLyogTXVsdGktc2VydmljZSBicmVha2Rvd246IHNtYWxsIHBlci1zZXJ2aWNlIGhlYWRlciAqLwoucXVvdGUtc3ZjLWhlYWQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGdhcDogMTJweDsgbWFyZ2luLXRvcDogMTBweDsgcGFkZGluZy10b3A6IDhweDsKICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwp9Ci5xdW90ZS1zdmMtaGVhZC5maXJzdCB7IG1hcmdpbi10b3A6IDA7IHBhZGRpbmctdG9wOiAwOyBib3JkZXItdG9wOiAwOyB9Ci5xdW90ZS1zdmMtaGVhZCAucXNoLW5hbWUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgY29sb3I6IHZhcigtLXBhcGVyKTsKfQoucXVvdGUtc3ZjLWhlYWQgLnFzaC1zdWIgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyBmb250LXdlaWdodDogNTAwOwp9CgovKiBSSUdIVCBTSURFOiBsaXZlIHF1b3RlICovCi5xdW90ZS1jYXJkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6IDIycHg7CiAgcGFkZGluZzogMjZweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoucXVvdGUtY2FyZDo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNjAlIDUwJSBhdCA5MCUgMCUsIHJnYmEoMTc3LDE1NSwyNTUsLjE4KSwgdHJhbnNwYXJlbnQpLAogICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDAlIDEwMCUsIHJnYmEoMTQ2LDIyOSwyNTUsLjEwKSwgdHJhbnNwYXJlbnQpOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5xdW90ZS1jYXJkLWlubmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9Ci5xdW90ZS1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTsgbWFyZ2luOiAwIDAgOHB4IDA7Cn0KLnF1b3RlLXJhbmdlIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXNpemU6IDQ0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAzNWVtOyBsaW5lLWhlaWdodDogMTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IGdhcDogNHB4Owp9Ci5xdW90ZS1yYW5nZSAuZGFzaCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40KTsgbWFyZ2luOiAwIDRweDsgZm9udC13ZWlnaHQ6IDUwMDsgfQoucXVvdGUtdHlwaWNhbCB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNyk7IG1hcmdpbi10b3A6IDEwcHg7Cn0KLnF1b3RlLXR5cGljYWwgc3Ryb25nIHsgY29sb3I6IHZhcigtLXBhcGVyKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoKLnF1b3RlLWJyZWFrZG93biB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDhweDsKICBtYXJnaW4tdG9wOiAxOHB4OyBwYWRkaW5nLXRvcDogMThweDsKICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7Cn0KLnF1b3RlLWJyZWFrZG93bi1pdGVtIHsgZm9udC1zaXplOiAxNHB4OyB9Ci5xdW90ZS1icmVha2Rvd24taXRlbSAuayB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSk7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAycHg7IH0KLnF1b3RlLWJyZWFrZG93bi1pdGVtIC52IHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1wYXBlcik7IH0KCi50ZWNoLWNhcmQgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA1KTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OwogIHBhZGRpbmc6IDEycHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OwogIG1hcmdpbi10b3A6IDE2cHg7Cn0KLm1vbm8tYXZhdGFyIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZmxleC1zaHJpbms6IDA7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOwogIGNvbG9yOiAjRkJGQ0ZFOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWhhbG8pIDAlLCB2YXIoLS1pbmspIDEwMCUpOwp9Ci50ZWNoLWNhcmQgLm1vbm8tYXZhdGFyIHsgd2lkdGg6IDM4cHg7IGhlaWdodDogMzhweDsgZm9udC1zaXplOiAxNHB4OyB9Ci5jaGFubmVsIC5tb25vLWF2YXRhciAgIHsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNXB4OyB9Ci5mb3VuZGVyLW5vdGUgeyBtYXJnaW4tdG9wOiAyOHB4OyBwYWRkaW5nLXRvcDogMjJweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEwKTsgfQouZm91bmRlci1xdW90ZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTdweDsgbGluZS1oZWlnaHQ6IDEuNTsgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODIpOyBtYXJnaW46IDAgMCAxNnB4IDA7IG1heC13aWR0aDogNTZjaDsKfQouZm91bmRlci1zaWduIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyB9Ci5mb3VuZGVyLXNpZ24gLm1vbm8tYXZhdGFyIHsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNXB4OyB9Ci50ZWNoLWNhcmQgLndobyB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnRlY2gtY2FyZCAubWV0YSB7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7IG1hcmdpbi10b3A6IDFweDsgfQoudGVjaC1jYXJkIC53aGVuIHsKICBtYXJnaW4tbGVmdDogYXV0bzsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogIGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0taGFsby0yKTsgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwp9CgouYWN0aW9uLXJvdyB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDhweDsKICBtYXJnaW4tdG9wOiA2cHg7Cn0KLmFjdGlvbi1idG4gewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogdmFyKC0taW5rKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgcGFkZGluZzogMTNweCAxNHB4OyBib3JkZXItcmFkaXVzOiAxMnB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMDVlbTsgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgdHJhbnNpdGlvbjogYWxsIDE2MG1zIGVhc2U7Cn0KLmFjdGlvbi1idG46aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfQouYWN0aW9uLWJ0bi5pcy1wcmltYXJ5IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7Cn0KLmFjdGlvbi1idG4uaXMtcHJpbWFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQouYWN0aW9uLWJ0biBzdmcgeyBjb2xvcjogY3VycmVudENvbG9yOyB9CgouY2hhbm5lbC1jYXB0dXJlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTRweDsKICBkaXNwbGF5OiBub25lOwp9Ci5jaGFubmVsLWNhcHR1cmUuaXMtb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9Ci5jaGFubmVsLWNhcHR1cmUtaCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBtYXJnaW46IDAgMCA0cHggMDsKfQouY2hhbm5lbC1jYXB0dXJlLXAgewogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbWFyZ2luOiAwIDAgMTBweCAwOyBsaW5lLWhlaWdodDogMS40NTsKfQouY2hhbm5lbC1jYXB0dXJlLXJvdyB7CiAgZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7Cn0KLmNoYW5uZWwtY2FwdHVyZS1pbnB1dCB7CiAgZmxleDogMTsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHBhZGRpbmc6IDEwcHggMTJweDsgYm9yZGVyLXJhZGl1czogMTBweDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmspOwogIG91dGxpbmU6IG5vbmU7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNjBtcyBlYXNlOwp9Ci5jaGFubmVsLWNhcHR1cmUtaW5wdXQ6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH0KLmNoYW5uZWwtY2FwdHVyZS1zZW5kIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXI6IDA7CiAgcGFkZGluZzogMCAxNnB4OyBib3JkZXItcmFkaXVzOiAxMHB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGN1cnNvcjogcG9pbnRlcjsKfQouY2hhbm5lbC1jYXB0dXJlLXNlbmQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5jaGFubmVsLWNhcHR1cmUtbGVnYWwgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi10b3A6IDhweDsgbGluZS1oZWlnaHQ6IDEuNDsgfQoKLnN1Y2Nlc3Mtc3RhdGUgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTRweDsKICBwYWRkaW5nOiAxNHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7CiAgZGlzcGxheTogbm9uZTsKfQouc3VjY2Vzcy1zdGF0ZS5pcy1vcGVuIHsgZGlzcGxheTogZmxleDsgfQouc3VjY2Vzcy1pY29uIHsKICB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzRGQ0I4QiwgIzNCQUE3NSk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGNvbG9yOiB3aGl0ZTsKICBmbGV4LXNocmluazogMDsKfQouc3VjY2Vzcy1zdGF0ZSAuaCB7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNjAwOyB9Ci5zdWNjZXNzLXN0YXRlIC5wIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOiAycHg7IH0KCi8qIGNvbW1lcmNpYWwgZXN0aW1hdG9yICovCi5lc3QtbG9jYXRpb25zLXJvdyB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEycHg7CiAgbWFyZ2luLWJvdHRvbTogMjJweDsKfQpAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAuZXN0LWxvY2F0aW9ucy1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQp9Ci5lc3QtbnVtLWNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7Cn0KLmVzdC1udW0tY2FyZCAuayB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7Cn0KLmVzdC1udW0tY29udHJvbHMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDZweDsgfQouZXN0LW51bS1idG4gewogIHdpZHRoOiAyNnB4OyBoZWlnaHQ6IDI2cHg7IGJvcmRlci1yYWRpdXM6IDdweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgY29sb3I6IHZhcigtLWluayk7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5lc3QtbnVtLWJ0bjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgfQouZXN0LW51bS1pbnB1dCB7CiAgZmxleDogMTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMDsgb3V0bGluZTogbm9uZTsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAyMnB4OyBmb250LXdlaWdodDogNjAwOwogIGNvbG9yOiB2YXIoLS1pbmspOyB3aWR0aDogMTAwJTsgbWluLXdpZHRoOiAzMHB4OwogIGxldHRlci1zcGFjaW5nOiAtLjAyZW07CiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7Cn0KLmVzdC1udW0taW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sCi5lc3QtbnVtLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBtYXJnaW46IDA7IH0KCi8qID09PT09PT09PT09PT09PSBBTUVMSUEgQk9PS0lORyBNT0RBTCA9PT09PT09PT09PT09PT0gKi8KLmFtZWxpYS1tb2RhbCB7CiAgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogMTAwMDsKICBkaXNwbGF5OiBub25lOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiByZ2JhKDcsIDE2LCAzMSwgMC42Mik7CiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7IC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7CiAgcGFkZGluZzogMjRweDsKICBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IDIyMG1zIGVhc2U7Cn0KLmFtZWxpYS1tb2RhbC5pcy1vcGVuIHsgZGlzcGxheTogZmxleDsgb3BhY2l0eTogMTsgfQouYW1lbGlhLW1vZGFsLXNoZWxsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogOTIwcHg7IGhlaWdodDogODh2aDsgbWF4LWhlaWdodDogNzYwcHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyBib3JkZXItcmFkaXVzOiAxOHB4OyBvdmVyZmxvdzogaGlkZGVuOwogIGJveC1zaGFkb3c6IDAgMzBweCA4MHB4IC0yMHB4IHJnYmEoMCwwLDAsLjQ1KSwgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHNjYWxlKDAuOTg1KTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjgwbXMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpOwp9Ci5hbWVsaWEtbW9kYWwuaXMtb3BlbiAuYW1lbGlhLW1vZGFsLXNoZWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOyB9Ci5hbWVsaWEtbW9kYWwtaGVhZCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDE0cHggMThweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOwp9Ci5hbWVsaWEtbW9kYWwtdGl0bGUgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNXB4OwogIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOyBjb2xvcjogdmFyKC0taW5rKTsKfQouYW1lbGlhLW1vZGFsLXRpdGxlIC5kb3QgewogIHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogIzRhZGU4MDsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzQsMjIyLDEyOCwuMTgpOwp9Ci5hbWVsaWEtbW9kYWwtdGl0bGUgLnBpbGwgewogIG1hcmdpbi1sZWZ0OiA0cHg7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgcGFkZGluZzogM3B4IDhweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDZweDsKICBmb250LXdlaWdodDogNTAwOwp9Ci5hbWVsaWEtbW9kYWwtY2xvc2UgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4OyBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0taW5rLTIpOwogIHRyYW5zaXRpb246IGFsbCAxNjBtcyBlYXNlOwp9Ci5hbWVsaWEtbW9kYWwtY2xvc2U6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgY29sb3I6IHZhcigtLWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgfQouYW1lbGlhLW1vZGFsLWJvZHkgewogIGZsZXg6IDE7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOwp9Ci8qIC0tLS0gTW9jayBBbWVsaWEgd2lkZ2V0ICh2aXN1YWwgc3RhbmQtaW4gdW50aWwgcmVhbCBBbWVsaWEgaXMgd2lyZWQpIC0tLS0gKi8KLmFtb2NrIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgb3ZlcmZsb3c6IGhpZGRlbjsKfQouYW1vY2stc3RlcHBlciB7CiAgZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IHBhZGRpbmc6IDE0cHggMThweCAxMnB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOwp9Ci5hbW9jay1zdGVwIHsKICBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOwogIHBhZGRpbmc6IDZweCAxMHB4OyBib3JkZXItcmFkaXVzOiA4cHg7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07CiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7Cn0KLmFtb2NrLXN0ZXAgLm4gewogIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNzAwOwogIGJhY2tncm91bmQ6IHZhcigtLXJ1bGUpOyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9Ci5hbW9jay1zdGVwLmlzLWFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1pbmspOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgfQouYW1vY2stc3RlcC5pcy1hY3RpdmUgLm4geyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyB9Ci5hbW9jay1zdGVwLmlzLWRvbmUgLm4geyBiYWNrZ3JvdW5kOiAjNGFkZTgwOyBjb2xvcjogd2hpdGU7IH0KCi5hbW9jay1ib2R5IHsgZmxleDogMTsgZGlzcGxheTogZmxleDsgbWluLWhlaWdodDogMDsgfQouYW1vY2stbWFpbiB7CiAgZmxleDogMTsgcGFkZGluZzogMjBweCAyMnB4OyBvdmVyZmxvdzogYXV0bzsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE2cHg7Cn0KLmFtb2NrLXNpZGUgewogIHdpZHRoOiAyNDBweDsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgcGFkZGluZzogMThweCAxOHB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTRweDsKICBmb250LXNpemU6IDE0cHg7Cn0KLmFtb2NrLXNpZGUgaDQgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogdmFyKC0tc3RlZWwtMik7IG1hcmdpbjogMDsgZm9udC13ZWlnaHQ6IDUwMDsKfQouYW1vY2stc2lkZSAuc3ZjLW5hbWUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE3cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgY29sb3I6IHZhcigtLWluayk7IGxldHRlci1zcGFjaW5nOiAtLjAyZW07IG1hcmdpbjogMnB4IDAgMDsKfQouYW1vY2stc2lkZSAuc3ZjLW1ldGEgeyBjb2xvcjogdmFyKC0tc3RlZWwpOyBsaW5lLWhlaWdodDogMS41NTsgZm9udC1zaXplOiAxNHB4OyB9Ci5hbW9jay1zaWRlIC5zdW1tYXJ5LXJvdyB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDdweCAwOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOwp9Ci5hbW9jay1zaWRlIC5zdW1tYXJ5LXJvdyAudiB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWluayk7Cn0KLmFtb2NrLXNpZGUgLnN1bW1hcnktcm93LnBsYWNlaG9sZGVyIC52IHsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyBmb250LXN0eWxlOiBpdGFsaWM7IH0KLmFtb2NrLXNpZGUgLnRvdGFsIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nLXRvcDogMTBweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUtMik7CiAgbWFyZ2luLXRvcDogYXV0bzsKfQouYW1vY2stc2lkZSAudG90YWwgLmxhYmVsIHsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMWVtOyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IH0KLmFtb2NrLXNpZGUgLnRvdGFsIC52YWwgeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBjb2xvcjogdmFyKC0taW5rKTsgfQoKLmFtb2NrLWggewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IGNvbG9yOiB2YXIoLS1pbmspOyBtYXJnaW46IDA7Cn0KLmFtb2NrLXN1YiB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luOiAycHggMCAwOyB9CgovKiBDYWxlbmRhciAqLwouYW1vY2stY2FsIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgcGFkZGluZzogMTRweCAxNnB4Owp9Ci5hbW9jay1jYWwtaGVhZCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLmFtb2NrLWNhbC1oZWFkIC5tb250aCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWluayk7Cn0KLmFtb2NrLWNhbC1uYXYgewogIGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4Owp9Ci5hbW9jay1jYWwtbmF2IGJ1dHRvbiB7CiAgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDsgYm9yZGVyLXJhZGl1czogMTFweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbmspOwogIGN1cnNvcjogcG9pbnRlcjsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBmb250LXNpemU6IDIycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGJveC1zaGFkb3c6IDAgMnB4IDZweCAtMnB4IHJnYmEoNywxNiwzMSwuMzUpOwogIHRyYW5zaXRpb246IGFsbCAxNjBtcyBlYXNlOwp9Ci5hbW9jay1jYWwtbmF2IGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsby1kZWVwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9Ci5hbW9jay1jYWwtbmF2IGJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KLmFtb2NrLWNhbC1uYXYgYnV0dG9uOmRpc2FibGVkIHsgb3BhY2l0eTogMC4yMjsgY3Vyc29yOiBub3QtYWxsb3dlZDsgYm94LXNoYWRvdzogbm9uZTsgfQouYW1vY2stY2FsLWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7IGdhcDogNHB4Owp9Ci5hbW9jay1jYWwtZG93IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjFlbTsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNHB4IDA7Cn0KLmFtb2NrLWNhbC1kYXkgewogIGFzcGVjdC1yYXRpbzogMTsgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yYWRpdXM6IDhweDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWluay0yKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdHJhbnNpdGlvbjogYWxsIDE0MG1zIGVhc2U7Cn0KLmFtb2NrLWNhbC1kYXk6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlKTsgfQouYW1vY2stY2FsLWRheS5oYXMtc2xvdHM6OmFmdGVyIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDVweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgd2lkdGg6IDRweDsgaGVpZ2h0OiA0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogIzRhZGU4MDsKfQouYW1vY2stY2FsLWRheS5pcy10b2RheSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5hbW9jay1jYWwtZGF5LmlzLXNlbGVjdGVkIHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5hbW9jay1jYWwtZGF5LmlzLXNlbGVjdGVkLmhhcy1zbG90czo6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLTIpOyB9Ci5hbW9jay1jYWwtZGF5OmRpc2FibGVkIHsgb3BhY2l0eTogMC4yODsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfQouYW1vY2stY2FsLWRheS5pcy1vdGhlci1tb250aCB7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgb3BhY2l0eTogMC41OyB9CgovKiBTbG90cyAqLwouYW1vY2stc2xvdC1zZWN0aW9uIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IH0KLmFtb2NrLXNsb3QtbGFiZWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4Owp9Ci5hbW9jay1zbG90LWxhYmVsOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1zdGVlbC0yKTsKfQouYW1vY2stc2xvdC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTA4cHgsIDFmcikpOyBnYXA6IDdweDsgfQouYW1vY2stc2xvdCB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiA4cHg7CiAgcGFkZGluZzogOXB4IDEwcHg7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rKTsKICB0cmFuc2l0aW9uOiBhbGwgMTQwbXMgZWFzZTsgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5hbW9jay1zbG90OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IGJveC1zaGFkb3c6IDAgNHB4IDEwcHggLTRweCByZ2JhKDAsMCwwLDAuMDgpOyB9Ci5hbW9jay1zbG90LmlzLXNlbGVjdGVkIHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5hbW9jay1zbG90OmRpc2FibGVkIHsgb3BhY2l0eTogMC40OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyB9Ci5hbW9jay1zbG90IC50ZWNoLXRhZyB7CiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC03cHg7IHJpZ2h0OiAtNXB4OwogIGZvbnQtc2l6ZTogOC41cHg7IHBhZGRpbmc6IDJweCA1cHg7IGJvcmRlci1yYWRpdXM6IDRweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDE0NiwyMjksMjU1LC4yMik7IGNvbG9yOiB2YXIoLS1oYWxvLTIpOwogIGxldHRlci1zcGFjaW5nOiAuMDRlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0NiwyMjksMjU1LC4zKTsKfQoKLyogRm9ybSAqLwouYW1vY2stZm9ybSB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAxMnB4OyB9Ci5hbW9jay1maWVsZCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4OyB9Ci5hbW9jay1maWVsZC5mdWxsIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfQouYW1vY2stZmllbGQgbGFiZWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9Ci5hbW9jay1maWVsZCBpbnB1dCwgLmFtb2NrLWZpZWxkIHRleHRhcmVhLCAuYW1vY2stZmllbGQgc2VsZWN0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDlweDsKICBwYWRkaW5nOiAxMHB4IDEycHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgY29sb3I6IHZhcigtLWluayk7IHRyYW5zaXRpb246IGFsbCAxNDBtcyBlYXNlOwogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLmFtb2NrLWZpZWxkIGlucHV0OmZvY3VzLCAuYW1vY2stZmllbGQgdGV4dGFyZWE6Zm9jdXMsIC5hbW9jay1maWVsZCBzZWxlY3Q6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNywxNiwzMSwuMDYpOwp9Ci5hbWYtaGludCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLXRvcDogNXB4OyBsaW5lLWhlaWdodDogMS40OyB9Ci5hbWYtaGludCBhIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUtMik7IH0KLmFtZi1oaW50IGE6aG92ZXIgeyBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5hbW9jay1maWVsZCB0ZXh0YXJlYSB7IG1pbi1oZWlnaHQ6IDcwcHg7IHJlc2l6ZTogdmVydGljYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IH0KCi5hbW9jay1mb290IHsKICBwYWRkaW5nOiAxMnB4IDE4cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKfQouYW1vY2stZm9vdCAucHJvZ3Jlc3MgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KLmFtb2NrLWZvb3QgLmFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgfQouYW1vY2stYnRuIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDlweDsKICBwYWRkaW5nOiA5cHggMTZweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOwogIGN1cnNvcjogcG9pbnRlcjsgY29sb3I6IHZhcigtLWluay0yKTsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7CiAgdHJhbnNpdGlvbjogYWxsIDE0MG1zIGVhc2U7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7Cn0KLmFtb2NrLWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgY29sb3I6IHZhcigtLWluayk7IH0KLmFtb2NrLWJ0bi5pcy1wcmltYXJ5IHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5hbW9jay1idG4uaXMtcHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJhY2tncm91bmQ6IHZhcigtLWluay0yKTsgfQouYW1vY2stYnRuOmRpc2FibGVkIHsgb3BhY2l0eTogMC40OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9CgovKiBDb25maXJtYXRpb24gKi8KLmFtb2NrLWRvbmUgewogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNDBweCAyMHB4OyBmbGV4OiAxOyBnYXA6IDE0cHg7Cn0KLmFtb2NrLWRvbmUtY2hlY2sgewogIHdpZHRoOiA1NnB4OyBoZWlnaHQ6IDU2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiByZ2JhKDc0LDIyMiwxMjgsLjE2KTsgY29sb3I6ICMxNmEzNGE7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3NCwyMjIsMTI4LC4zMik7Cn0KLmFtb2NrLWRvbmUgaDMgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDI0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMDsKfQouYW1vY2stZG9uZSBwIHsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IG1heC13aWR0aDogMzhjaDsgbGluZS1oZWlnaHQ6IDEuNTU7IH0KLmFtb2NrLWRvbmUgLnJlZiB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHBhZGRpbmc6IDhweCAxNHB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyBtYXJnaW4tdG9wOiA0cHg7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkgewogIC5hbW9jay1zaWRlIHsgZGlzcGxheTogbm9uZTsgfQogIC5hbW9jay1mb3JtIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KfQouYW1lbGlhLW1vZGFsLWZvb3QgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nOiAxMHB4IDE4cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLmFtZWxpYS1tb2RhbC1mb290IC5rZXkgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogdmFyKC0tc3RlZWwtMik7Cn0KLmFtZWxpYS1tb2RhbC1mb290IGEgeyBjb2xvcjogdmFyKC0taW5rLTIpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlLTIpOyB9CkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkgewogIC5hbWVsaWEtbW9kYWwgeyBwYWRkaW5nOiAwOyB9CiAgLmFtZWxpYS1tb2RhbC1zaGVsbCB7IGhlaWdodDogMTAwdmg7IG1heC1oZWlnaHQ6IG5vbmU7IGJvcmRlci1yYWRpdXM6IDA7IH0KfQoKLyogPT09PT09PT09PT09PT09IEFQUE9JTlRNRU5UIEJPT0tJTkcgKEFtZWxpYSkgPT09PT09PT09PT09PT09ICovCi5ib29rLXNlY3Rpb24geyBwYWRkaW5nOiA4MHB4IDAgMjRweDsgfQouYm9vay1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMThweDsgbWFyZ2luLWJvdHRvbTogMjhweDsKfQouYm9vay1oZWFkIC5yaWdodCB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKfQouYm9vay1oZWFkIC5yaWdodCAuYmFkZ2UgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgcGFkZGluZzogM3B4IDdweDsgYm9yZGVyLXJhZGl1czogNXB4Owp9Ci5hcHB0LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDE0cHg7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC5hcHB0LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9Ci5hcHB0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDIycHg7CiAgcGFkZGluZzogMjZweDsgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTJweDsKICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICB0ZXh0LWFsaWduOiBsZWZ0OyBmb250OiBpbmhlcml0OyBjb2xvcjogaW5oZXJpdDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmFwcHQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgMTRweCA0MHB4IC0yMnB4IHJnYmEoNywxNiwzMSwuMTgpOyB9Ci5hcHB0LmlzLXJlY29tbWVuZGVkIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmspOyB9Ci5hcHB0LmlzLXJlY29tbWVuZGVkOjphZnRlciB7CiAgY29udGVudDogJ01vc3QgYm9va2VkJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMHB4OyByaWdodDogMThweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBwYWRkaW5nOiA0cHggOXB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKfQouYXBwdC1pY29uIHsKICB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4OyBib3JkZXItcmFkaXVzOiAxMnB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXBhcGVyLTIpLCB3aGl0ZSk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmFwcHQtbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMTlweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBtYXJnaW46IDA7Cn0KLmFwcHQtZGVzYyB7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBsaW5lLWhlaWdodDogMS41OyBtYXJnaW46IDA7IGZsZXg6IDE7IH0KLmFwcHQtbWV0YSB7CiAgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7CiAgcGFkZGluZy10b3A6IDEycHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLmFwcHQtbWV0YSBzcGFuIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNXB4OyB9Ci5hcHB0LWN0YSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OwogIGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taW5rKTsKICBtYXJnaW4tdG9wOiA0cHg7Cn0KLmFwcHQ6aG92ZXIgLmFwcHQtY3RhIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLmFwcHQtY3RhIC5hcnJvdyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlOyB9Ci5hcHB0OmhvdmVyIC5hcHB0LWN0YSAuYXJyb3cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTsgfQouYXBwdC1wcmljZSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsKICBjb2xvcjogdmFyKC0tc3RlZWwpOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07Cn0KLmFwcHQtcHJpY2Ugc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KCi5hbWVsaWEtZm9vdCB7CiAgbWFyZ2luLXRvcDogMThweDsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IHRleHQtYWxpZ246IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgd2lkdGg6IDEwMCU7IGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5hbWVsaWEtZm9vdCAua2V5IHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgcGFkZGluZzogM3B4IDdweDsgYm9yZGVyLXJhZGl1czogNXB4Owp9CgovKiA9PT09PT09PT09PT09PT0gU0lURSBTVVJWRVkgKGNvbW1lcmNpYWwpID09PT09PT09PT09PT09PSAqLwouc3VydmV5LWNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAyMnB4OyBwYWRkaW5nOiAyOHB4OwogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAxNHB4OwogIG1hcmdpbi10b3A6IDI4cHg7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7IC5zdXJ2ZXktY2FyZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBwYWRkaW5nOiAyMnB4OyB9IH0KLnN1cnZleS1maWVsZCB7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7Cn0KLnN1cnZleS1maWVsZC5mdWxsIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfQouc3VydmV5LWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7Cn0KLnN1cnZleS1pbnB1dCwgLnN1cnZleS1zZWxlY3QsIC5zdXJ2ZXktdGV4dCB7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiAxMXB4IDEzcHg7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluayk7CiAgb3V0bGluZTogbm9uZTsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2U7Cn0KLnN1cnZleS1pbnB1dDpmb2N1cywgLnN1cnZleS1zZWxlY3Q6Zm9jdXMsIC5zdXJ2ZXktdGV4dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgfQouc3VydmV5LXRleHQgeyBtaW4taGVpZ2h0OiA4MHB4OyByZXNpemU6IHZlcnRpY2FsOyBsaW5lLWhlaWdodDogMS41OyB9Ci5zdXJ2ZXktc3VibWl0IHsKICBncmlkLWNvbHVtbjogMSAvIC0xOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgZ2FwOiAxMnB4OyBtYXJnaW4tdG9wOiA2cHg7IGZsZXgtd3JhcDogd3JhcDsKfQouc3VydmV5LXByb21pc2UgewogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owp9CgovKiA9PT09PT09PT09PT09PT0gU1RJQ0tZIEVTVElNQVRFIEJBUiA9PT09PT09PT09PT09PT0gKi8KLnN0aWNreS1lc3RpbWF0ZSB7CiAgcG9zaXRpb246IGZpeGVkOyBib3R0b206IDE2cHg7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTIwJSk7CiAgei1pbmRleDogNjA7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBib3JkZXItcmFkaXVzOiA5OTlweDsKICBwYWRkaW5nOiAxMHB4IDEycHggMTBweCAxOHB4OwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTRweDsKICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSg3LDE2LDMxLC4xKSwgMCAxOHB4IDUwcHggLTE2cHggcmdiYSg3LDE2LDMxLC40KTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzUwbXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7CiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7Cn0KLnN0aWNreS1lc3RpbWF0ZS5pcy12aXNpYmxlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7IH0KLnN0aWNreS1lc3RpbWF0ZSAuZG90IHsKICB3aWR0aDogN3B4OyBoZWlnaHQ6IDdweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvKTsKICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNzksMTQwLDI1NSwuNik7CiAgYW5pbWF0aW9uOiBsaXZlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLnN0aWNreS1lc3RpbWF0ZSAuc2UtbGFiZWwgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTZlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOwp9Ci5zdGlja3ktZXN0aW1hdGUgLnNlLXJhbmdlIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOwp9Ci5zdGlja3ktZXN0aW1hdGUgLnNlLWN0YSB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOwogIHBhZGRpbmc6IDhweCAxNHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsKfQouc3RpY2t5LWVzdGltYXRlIC5zZS1jdGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLTIpOyB9CkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogIC5zdGlja3ktZXN0aW1hdGUgeyBwYWRkaW5nOiA5cHggMTBweCA5cHggMTRweDsgZ2FwOiAxMHB4OyB9CiAgLnN0aWNreS1lc3RpbWF0ZSAuc2UtbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9Cn0KCi8qID09PT09PT09PT09PT09PSBST0JPVElDUyBQSUxMQVIgPT09PT09PT09PT09PT09ICovCi5yb2JvdGljcy1ibG9jayB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tcGFwZXItMiksIHZhcigtLXBhcGVyKSk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMzJweDsKICBwYWRkaW5nOiA3MnB4IDU2cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwp9Ci5yb2JvdGljcy1ibG9jazo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudCg0NSUgMzUlIGF0IDEwMCUgMCUsIHJnYmEoMTc3LDE1NSwyNTUsLjEwKSwgdHJhbnNwYXJlbnQgNjAlKSwKICAgIHJhZGlhbC1ncmFkaWVudCg0NSUgMzUlIGF0IDAlIDEwMCUsIHJnYmEoMTQ2LDIyOSwyNTUsLjA4KSwgdHJhbnNwYXJlbnQgNjAlKTsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgLnJvYm90aWNzLWJsb2NrIHsgcGFkZGluZzogNDhweCAyNHB4OyBib3JkZXItcmFkaXVzOiAyMnB4OyB9IH0KCi5yb2JvdGljcy1zZXJ2aWNlcy1ncmlkIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDE0cHg7CiAgbWFyZ2luLXRvcDogMzJweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgeyAucm9ib3RpY3Mtc2VydmljZXMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfQpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpICB7IC5yb2JvdGljcy1zZXJ2aWNlcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQoKLnJvYm90aWMtc3ZjIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE4cHg7CiAgcGFkZGluZzogMjRweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgdHJhbnNmb3JtIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBpbmhlcml0Owp9Ci5yb2JvdGljLXN2Yzpob3ZlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgYm94LXNoYWRvdzogMCAxNHB4IDQwcHggLTIycHggcmdiYSg3LDE2LDMxLC4xOCk7Cn0KLnJvYm90aWMtc3ZjLWljb24gewogIHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNzcsMTU1LDI1NSwuMTQpLCByZ2JhKDExMSwxNjcsMjU1LC4xMCkpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLnJvYm90aWMtc3ZjLW5hbWUgewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnOyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgbWFyZ2luOiAwIDAgNnB4IDA7Cn0KLnJvYm90aWMtc3ZjLWRlc2MgewogIGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBsaW5lLWhlaWdodDogMS41NTsgbWFyZ2luOiAwIDAgMTRweCAwOyBmbGV4OiAxOwp9Ci5yb2JvdGljLXN2Yy1mb290IHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcGFkZGluZy10b3A6IDE0cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgZ2FwOiAxMHB4Owp9Ci5yb2JvdGljLXN2Yy1mb290IC5kZXBsb3llZCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owp9Ci5yb2JvdGljLXN2Yy1mb290IC5kZXBsb3llZDo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiAjNGFkZTgwOwogIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg3NCwyMjIsMTI4LC41KTsKICBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQoKLyogPT09PT09PT09PT09PT09IExJVkUgT1BTIHdpZGdldCA9PT09PT09PT09PT09PT0gKi8KLmxpdmVvcHMgewogIGJhY2tncm91bmQ6IHZhcigtLWluayk7CiAgY29sb3I6IHZhcigtLXBhcGVyKTsKICBib3JkZXItcmFkaXVzOiAyNnB4OwogIHBhZGRpbmc6IDM2cHg7CiAgbWFyZ2luLXRvcDogMzJweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC5saXZlb3BzIHsgcGFkZGluZzogMjhweCAyMnB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyB9IH0KLmxpdmVvcHM6OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDEwMCUgMCUsIHJnYmEoMTc3LDE1NSwyNTUsLjE2KSwgdHJhbnNwYXJlbnQpLAogICAgcmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgMCUgMTAwJSwgcmdiYSgxNDYsMjI5LDI1NSwuMTIpLCB0cmFuc3BhcmVudCk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLmxpdmVvcHMtaGVhZCB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMTZweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDI0cHg7Cn0KLmxpdmVvcHMtZXllYnJvdyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjE4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHZhcigtLWhhbG8tMik7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OwogIG1hcmdpbjogMDsKfQoubGl2ZW9wcy1leWVicm93IC5kb3QgewogIHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogIzRhZGU4MDsKICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNzQsMjIyLDEyOCwuNik7CiAgYW5pbWF0aW9uOiBsaXZlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmxpdmVvcHMtaCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zaXplOiAyNnB4OyBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTsgbWFyZ2luOiA2cHggMCAwIDA7CiAgY29sb3I6IHZhcigtLXBhcGVyKTsKICB0ZXh0LXdyYXA6IGJhbGFuY2U7Cn0KLmxpdmVvcHMtc3RhdHVzIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTsKICBsZXR0ZXItc3BhY2luZzogLjAyZW07CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbGluZS1oZWlnaHQ6IDEuNjsKICBtYXgtd2lkdGg6IDI4MHB4Owp9Ci5saXZlb3BzLXN0YXR1cyBzdHJvbmcgeyBjb2xvcjogIzRhZGU4MDsgZm9udC13ZWlnaHQ6IDYwMDsgfQoubGl2ZW9wcy1ncmlkIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyBnYXA6IDFweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgYm9yZGVyLXJhZGl1czogMTZweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7IC5saXZlb3BzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH0KLmxpdmVvcHMtc3RhdCB7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsKICBwYWRkaW5nOiAyMnB4IDIwcHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5saXZlb3BzLXN0YXQtayB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSk7Cn0KLmxpdmVvcHMtc3RhdC12IHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXNpemU6IDMwcHg7IGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgbWFyZ2luLXRvcDogMnB4Owp9Ci5saXZlb3BzLXN0YXQtc3ViIHsKICBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyBtYXJnaW4tdG9wOiA0cHg7Cn0KLmxpdmVvcHMtc3RhdC1zdWIudXAgeyBjb2xvcjogIzRhZGU4MDsgfQoubGl2ZW9wcy1mb290IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi10b3A6IDIycHg7CiAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOwogIGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxMnB4OwogIHBhZGRpbmctdG9wOiAyMnB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTUpOwp9Ci5saXZlb3BzLWZvb3QgYSB7CiAgY29sb3I6IHZhcigtLWhhbG8tMik7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owp9Ci5saXZlb3BzLWZvb3QgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CgovKiA9PT09PT09PT09PT09PT0gVklERU8gU0hPV0NBU0UgPT09PT09PT09PT09PT09ICovCi52aWRlby1ncmlkIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDE0cHg7CiAgbWFyZ2luLXRvcDogMzJweDsKfQpAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7IC52aWRlby1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9CkBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkgIHsgLnZpZGVvLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9Ci52aWRlby1jYXJkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE4cHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlOwogIGN1cnNvcjogcG9pbnRlcjsKICB0ZXh0LWFsaWduOiBsZWZ0OyBmb250OiBpbmhlcml0OyBjb2xvcjogaW5oZXJpdDsKfQoudmlkZW8tY2FyZDpob3ZlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7CiAgYm94LXNoYWRvdzogMCAxOHB4IDUwcHggLTI2cHggcmdiYSg3LDE2LDMxLC4yMik7Cn0KLnZpZGVvLXBvc3RlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGFzcGVjdC1yYXRpbzogMTYgLyAxMDsKICBvdmVyZmxvdzogaGlkZGVuOwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7Cn0KLnZpZGVvLXBvc3RlciBzdmcucG9zdGVyLWFydCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9Ci52aWRlby1wb3N0ZXIgLnBsYXkgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICB3aWR0aDogNTZweDsgaGVpZ2h0OiA1NnB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTIpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOwogIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwuMyk7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIyMG1zIGVhc2UsIGJhY2tncm91bmQgMjIwbXMgZWFzZTsKfQoudmlkZW8tcG9zdGVyIC5wbGF5IHN2ZyB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci52aWRlby1jYXJkOmhvdmVyIC52aWRlby1wb3N0ZXIgLnBsYXkgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMDgpOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwp9Ci52aWRlby1iYWRnZSB7CiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEycHg7IGxlZnQ6IDEycHg7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OwogIHBhZGRpbmc6IDVweCAxMHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKfQoudmlkZW8tYmFkZ2UucmVhbCB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTIpOyBjb2xvcjogdmFyKC0taW5rKTsKfQoudmlkZW8tYmFkZ2UucmVhbDo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiAjZWY0NDQ0OwogIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyMzksNjgsNjgsLjYpOwogIGFuaW1hdGlvbjogbGl2ZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci52aWRlby1iYWRnZS5haSB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNzcsMTU1LDI1NSwuOTIpLCByZ2JhKDExMSwxNjcsMjU1LC45MikpOwogIGNvbG9yOiB3aGl0ZTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKTsKfQoudmlkZW8tYmFkZ2UuYWk6OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHdpZHRoOiA4cHg7IGhlaWdodDogOHB4OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDYwJSA0MCUsIDEwMCUgNTAlLCA2MCUgNjAlLCA1MCUgMTAwJSwgNDAlIDYwJSwgMCUgNTAlLCA0MCUgNDAlKTsKfQoudmlkZW8tZHVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMTJweDsgcmlnaHQ6IDEycHg7CiAgYmFja2dyb3VuZDogcmdiYSg3LDE2LDMxLC43OCk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgcGFkZGluZzogM3B4IDdweDsgYm9yZGVyLXJhZGl1czogNXB4OwogIGxldHRlci1zcGFjaW5nOiAuMDRlbTsKICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTsKfQoudmlkZW8tbWV0YSB7CiAgcGFkZGluZzogMTZweCAxOHB4IDE4cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7Cn0KLnZpZGVvLXRpdGxlIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAxNS41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IGNvbG9yOiB2YXIoLS1pbmspOyBtYXJnaW46IDA7Cn0KLnZpZGVvLWNhcCB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW46IDA7IGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLnZpZGVvLWZvb3Qtbm90ZSB7CiAgbWFyZ2luLXRvcDogMjRweDsgcGFkZGluZzogMTZweCAyMHB4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTRweDsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjY7CiAgZGlzcGxheTogZmxleDsgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKfQoudmlkZW8tZm9vdC1ub3RlIHN2ZyB7IGZsZXgtc2hyaW5rOiAwOyBtYXJnaW4tdG9wOiAycHg7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci52aWRlby1mb290LW5vdGUgc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IH0KLnZpZGVvLWZvb3Qtbm90ZSBhIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH0KCi8qIFBvc3RlciBhcnQgYW5pbWF0aW9ucyAqLwoudmlkZW8tcG9zdGVyIC5wb3N0ZXItYXJ0IHsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDkwMG1zIGN1YmljLWJlemllciguMiwuNiwuMiwxKTsgfQoudmlkZW8tY2FyZDpob3ZlciAucG9zdGVyLWFydCB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNDUpOyB9CgovKiBBSSBzaGltbWVyIG92ZXJsYXkgb24gaG92ZXIgKi8KLnZpZGVvLWNhcmRbZGF0YS1raW5kPSJhaSJdIC52aWRlby1wb3N0ZXI6OmFmdGVyIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTA1ZGVnLCB0cmFuc3BhcmVudCAzNSUsIHJnYmEoMjU1LDI1NSwyNTUsLjE4KSA1MCUsIHRyYW5zcGFyZW50IDY1JSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMTAlKTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS4xcyBjdWJpYy1iZXppZXIoLjIsLjYsLjIsMSk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLnZpZGVvLWNhcmRbZGF0YS1raW5kPSJhaSJdOmhvdmVyIC52aWRlby1wb3N0ZXI6OmFmdGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDExMCUpOyB9CgovKiBSZWFsLWZvb3RhZ2Ugc2NhbiBsaW5lIC0gc3VidGxlICJwbGF5aW5nIiBjdWUgKi8KLnZpZGVvLWNhcmRbZGF0YS1raW5kPSJyZWFsIl0gLnZpZGVvLXBvc3Rlcjo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyByaWdodDogMDsgdG9wOiA1MCU7CiAgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LDI1NSwyNTUsLjU1KSwgdHJhbnNwYXJlbnQpOwogIG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDI7Cn0KLnZpZGVvLWNhcmRbZGF0YS1raW5kPSJyZWFsIl06aG92ZXIgLnZpZGVvLXBvc3Rlcjo6YmVmb3JlIHsKICBvcGFjaXR5OiAuOTsgYW5pbWF0aW9uOiBzY2FubGluZSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9CkBrZXlmcmFtZXMgc2NhbmxpbmUgewogIDAlIHsgdG9wOiAxNSU7IG9wYWNpdHk6IDA7IH0KICAxMCUgeyBvcGFjaXR5OiAuOTsgfQogIDkwJSB7IG9wYWNpdHk6IC45OyB9CiAgMTAwJSB7IHRvcDogODUlOyBvcGFjaXR5OiAwOyB9Cn0KCi8qID09PT09PT09PT09PT09PSBQSE9UTyBVUExPQUQgKGNvbmNpZXJnZSkgPT09PT09PT09PT09PT09ICovCi5hZ2VudC1hdHRhY2htZW50cyB7CiAgZGlzcGxheTogbm9uZTsgcGFkZGluZzogOHB4IDRweCAwOwogIGdhcDogOHB4OyBmbGV4LXdyYXA6IHdyYXA7Cn0KLmFnZW50LWF0dGFjaG1lbnRzLmhhcy1waG90b3MgeyBkaXNwbGF5OiBmbGV4OyB9Ci5hZ2VudC1hdHRhY2htZW50IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDY0cHg7IGhlaWdodDogNjRweDsKICBib3JkZXItcmFkaXVzOiAxMHB4OyBvdmVyZmxvdzogaGlkZGVuOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOwp9Ci5hZ2VudC1hdHRhY2htZW50IGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1maXQ6IGNvdmVyOyBkaXNwbGF5OiBibG9jazsgfQouYWdlbnQtYXR0YWNobWVudCAueCB7CiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDNweDsgcmlnaHQ6IDNweDsKICB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxOwogIHBhZGRpbmc6IDA7Cn0KLmFnZW50LWF0dGFjaCB7CiAgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDsgYm9yZGVyLXJhZGl1czogMTBweDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udC1zaXplOiAxM3B4OwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7CiAgdHJhbnNpdGlvbjogY29sb3IgMTQwbXMgZWFzZSwgYmFja2dyb3VuZCAxNDBtcyBlYXNlOwogIGZsZXgtc2hyaW5rOiAwOwp9Ci5hZ2VudC1hdHRhY2g6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IH0KLmFnZW50LWF0dGFjaC5oYXMtcGVuZGluZyB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjA4KTsgfQoKLyogVXNlciBidWJibGUgdGhhdCBjb250YWlucyBhIHBob3RvICovCi5idWJibGUuYnViYmxlLXVzZXIuaGFzLXBob3RvIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgcGFkZGluZzogMDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDZweDsKICBhbGlnbi1pdGVtczogZmxleC1lbmQ7Cn0KLmJ1YmJsZS11c2VyLXBob3RvIHsKICBtYXgtd2lkdGg6IDIyMHB4OyBtYXgtaGVpZ2h0OiAxODBweDsKICBib3JkZXItcmFkaXVzOiAxNHB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGRpc3BsYXk6IGJsb2NrOwp9Ci5idWJibGUtdXNlci10ZXh0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsKICBwYWRkaW5nOiAxMXB4IDE1cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgZm9udC1zaXplOiAxNHB4OwogIG1heC13aWR0aDogODYlOwogIGNvbG9yOiB2YXIoLS1pbmspOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi8qIFZpc2lvbi1hbmFseXppbmcgY2hpcCAtIHNob3duIHdoaWxlIHRoZSB2aXNpb24gTExNIHByb2Nlc3NlcyB0aGUgaW1hZ2UgKi8KLnZpc2lvbi1hbmFseXppbmcgewogIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OwogIHBhZGRpbmc6IDhweCAxMnB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NywxNTUsMjU1LC4xMiksIHJnYmEoMTExLDE2NywyNTUsLjA4KSk7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4yKTsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgZm9udC1zaXplOiAxNC41cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwogIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOwp9Ci52aXNpb24tYW5hbHl6aW5nIC5zcGlubmVyIHsKICB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1oYWxvKTsKICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDsKICBhbmltYXRpb246IHZpc2lvblNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyB2aXNpb25TcGluIHsgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH0KCi8qIFNwYXRpYWwgcmVhZG91dCBjYXJkIC0gdGhlIGluZmVycmVkIGRpbWVuc2lvbnMgcmVhZG91dCB0aGF0IGZvbGxvd3MgdGhlIGFuYWx5emluZyBjaGlwICovCi5zcGF0aWFsLXJlYWRvdXQgewogIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IG1heC13aWR0aDogOTIlOwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTJweCAxNHB4IDExcHg7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wNik7Cn0KLnNwYXRpYWwtcmVhZG91dC1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcGFkZGluZy1ib3R0b206IDdweDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwogIG1hcmdpbi1ib3R0b206IDJweDsKfQouc3BhdGlhbC1yZWFkb3V0LWhlYWQgLmxhYmVsIHsKICBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTZlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogdmFyKC0taGFsby0yKTsgZm9udC13ZWlnaHQ6IDYwMDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KLnNwYXRpYWwtcmVhZG91dC1oZWFkIC5sYWJlbDo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgd2lkdGg6IDVweDsgaGVpZ2h0OiA1cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0taGFsby0yKTsKfQouc3BhdGlhbC1yZWFkb3V0LWhlYWQgLmNvbmYgewogIGZvbnQtc2l6ZTogMTNweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40NSk7Cn0KLnNwYXRpYWwtcmVhZG91dC1yb3cgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzhweCAxZnI7IGdhcDogMTBweDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwp9Ci5zcGF0aWFsLXJlYWRvdXQtcm93IC5rIHsKICBmb250LXNpemU6IDEzcHg7IGxldHRlci1zcGFjaW5nOiAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Cn0KLnNwYXRpYWwtcmVhZG91dC1yb3cgLnYgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7CiAgY29sb3I6IHZhcigtLXBhcGVyKTsgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07IGxpbmUtaGVpZ2h0OiAxLjQ1Owp9Ci5zcGF0aWFsLXJlYWRvdXQtZm9vdCB7CiAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNCk7IG1hcmdpbi10b3A6IDRweDsKICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IC0uMDAyZW07CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7Cn0KLnNwYXRpYWwtcmVhZG91dC1mb290OjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOyB3aWR0aDogNHB4OyBoZWlnaHQ6IDRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4zKTsKfQoKLyogPT09PT09PT09PT09PT09IE1ZIFBST1BFUlRZIChwb3N0LWluc3RhbGwgc3RhdGUgZGFzaGJvYXJkKSA9PT09PT09PT09PT09PT0gKi8KLm15cHJvcGVydHktc2VjdGlvbiB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tcGFwZXItMiksIHZhcigtLXBhcGVyKSk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMzJweDsKICBwYWRkaW5nOiA3MnB4IDU2cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeyAubXlwcm9wZXJ0eS1zZWN0aW9uIHsgcGFkZGluZzogNDhweCAyNHB4OyBib3JkZXItcmFkaXVzOiAyMnB4OyB9IH0KLm15cHJvcGVydHktc2VjdGlvbjo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudCg0MCUgMzAlIGF0IDEwMCUgMCUsIHJnYmEoMTQ2LDIyOSwyNTUsLjEwKSwgdHJhbnNwYXJlbnQgNzAlKSwKICAgIHJhZGlhbC1ncmFkaWVudCg0MCUgMzAlIGF0IDAlIDEwMCUsIHJnYmEoMTc3LDE1NSwyNTUsLjA4KSwgdHJhbnNwYXJlbnQgNzAlKTsKfQoubXlwcm9wZXJ0eS1kYXNoIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luLXRvcDogMzZweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAyMnB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoNywxNiwzMSwuMDQpLCAwIDI0cHggNjBweCAtMjhweCByZ2JhKDcsMTYsMzEsLjE2KTsKfQoubXlwcm9wZXJ0eS10aXRsZWJhciB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDE0cHggMjJweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7Cn0KLm15cHJvcGVydHktdGl0bGUgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsKICBjb2xvcjogdmFyKC0taW5rKTsKfQoubXlwcm9wZXJ0eS10aXRsZSAubGlnaHRzIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGdhcDogNXB4OyBtYXJnaW4tcmlnaHQ6IDJweDsgfQoubXlwcm9wZXJ0eS10aXRsZSAubGlnaHRzIHNwYW4gewogIHdpZHRoOiA5cHg7IGhlaWdodDogOXB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlLTIpOwp9Ci5teXByb3BlcnR5LW1ldGEgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7Cn0KLm15cHJvcGVydHktbWV0YSAuZG90IHsKICB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiAjNGFkZTgwOwogIGFuaW1hdGlvbjogbGl2ZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5teXByb3BlcnR5LWJvZHkgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDI2MHB4LCAxZnIpIDEuM2ZyOwogIG1pbi1oZWlnaHQ6IDQ2MHB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeyAubXlwcm9wZXJ0eS1ib2R5IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQoubXlwcm9wZXJ0eS1wbGFuIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAubXlwcm9wZXJ0eS1wbGFuIHsgYm9yZGVyLXJpZ2h0OiAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IG1pbi1oZWlnaHQ6IDMyMHB4OyB9Cn0KLm15cHJvcGVydHktcGxhbiBzdmcgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQoubXAtd2FsbCB7IHN0cm9rZTogdmFyKC0taW5rLTIpOyBzdHJva2Utd2lkdGg6IDQ7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfQoubXAtcm9vbS1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDEzcHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZpbGw6IHZhcigtLXN0ZWVsLTIpOwp9Ci5tcC1waW4geyBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDRweCByZ2JhKDcsMTYsMzEsLjE4KSk7IH0KLm1wLXBpbi1ib2R5IHsgZmlsbDogdmFyKC0taW5rKTsgfQoubXAtcGluLWljb24geyBmaWxsOiB2YXIoLS1wYXBlcik7IH0KLm1wLXBpbi5vayAubXAtcGluLWJvZHkgeyBmaWxsOiAjMUY4QTVCOyB9Ci5tcC1waW4ud2FybiAubXAtcGluLWJvZHkgewogIGZpbGw6ICNEOTc3NTc7CiAgYW5pbWF0aW9uOiBwaW5QdWxzZSAyLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDsKfQpAa2V5ZnJhbWVzIHBpblB1bHNlIHsKICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH0KICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyB9Cn0KLm1wLXBpbi1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDguNXB4OwogIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBmaWxsOiB2YXIoLS1pbmstMik7Cn0KLm15cHJvcGVydHktY29udGVudCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHBhZGRpbmc6IDIycHggMjZweDsgZ2FwOiAyMnB4OyB9Ci5tcC1zdGF0LXJvdyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTBweDsgfQoubXAtc3RhdC1jYXJkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgcGFkZGluZzogMTJweCAxNHB4OwogIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogM3B4Owp9Ci5tcC1zdGF0LWNhcmQgLmsgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsKfQoubXAtc3RhdC1jYXJkIC52IHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtOyBjb2xvcjogdmFyKC0taW5rKTsKfQoubXAtc3RhdC1jYXJkIC52Lm9rICAgeyBjb2xvcjogIzFGOEE1QjsgfQoubXAtc3RhdC1jYXJkIC52Lndhcm4geyBjb2xvcjogI0Q5Nzc1NzsgfQoubXAtc2VjdGlvbi1oZWFkIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHZhcigtLXN0ZWVsLTIpOwogIG1hcmdpbjogMCAwIDhweCAwOwp9Ci5tcC10aW1lbGluZSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOXB4OyB9Ci5tcC10aW1lbGluZS1pdGVtIHsKICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE4cHggMWZyIGF1dG87CiAgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgcGFkZGluZzogN3B4IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmspOwp9Ci5tcC10aW1lbGluZS1pdGVtOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyBwYWRkaW5nLWJvdHRvbTogMDsgfQoubXAtdGltZWxpbmUtaXRlbSAuaWNvbiB7CiAgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYm9yZGVyLXJhZGl1czogNHB4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi10b3A6IDFweDsKfQoubXAtdGltZWxpbmUtaXRlbSAuaWNvbiBzdmcgeyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyB9Ci5tcC10aW1lbGluZS1pdGVtIC5sYWJlbCB7IGxpbmUtaGVpZ2h0OiAxLjQ1OyB9Ci5tcC10aW1lbGluZS1pdGVtIC5sYWJlbCBzdHJvbmcgeyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoubXAtdGltZWxpbmUtaXRlbSAubGFiZWwgLnN1YiB7CiAgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOiAxcHg7Cn0KLm1wLXRpbWVsaW5lLWl0ZW0gLndoZW4gewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5tcC1pbnNpZ2h0IHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NywxNTUsMjU1LC4wOCksIHJnYmEoMTExLDE2NywyNTUsLjA1KSk7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4yMik7CiAgYm9yZGVyLXJhZGl1czogMTRweDsKICBwYWRkaW5nOiAxNHB4IDE2cHg7CiAgZGlzcGxheTogZmxleDsgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKfQoubXAtaW5zaWdodC1tYXJrIHsKICB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBmbGV4LXNocmluazogMDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsKfQoubXAtaW5zaWdodC1ib2R5IHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogdmFyKC0taW5rLTIpOyB9Ci5tcC1pbnNpZ2h0LWJvZHkgc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLm1wLWluc2lnaHQtYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyBtYXJnaW4tdG9wOiA4cHg7IGZsZXgtd3JhcDogd3JhcDsgfQoubXAtaW5zaWdodC1hY3Rpb25zIGJ1dHRvbiB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHBhZGRpbmc6IDVweCAxMHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6IHZhcigtLWluayk7IGN1cnNvcjogcG9pbnRlcjsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMgZWFzZSwgY29sb3IgMTQwbXMgZWFzZTsKfQoubXAtaW5zaWdodC1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgfQoubXAtaW5zaWdodC1hY3Rpb25zIGJ1dHRvbi5wcmltYXJ5IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7Cn0KLm15cHJvcGVydHktZm9vdCB7CiAgbWFyZ2luLXRvcDogMjRweDsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjU1OwogIGRpc3BsYXk6IGZsZXg7IGdhcDogMTJweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOwp9Ci5teXByb3BlcnR5LWZvb3Qgc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IH0KLm15cHJvcGVydHktZm9vdCBhIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH0KCi8qID09PT09PT09PT09PT09PSBDTE9TRS1USEUtTE9PUCBTRUNUSU9OID09PT09PT09PT09PT09PSAqLwouY2xvc2Vsb29wLWdyaWQgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTRweDsKICBtYXJnaW4tdG9wOiAzMnB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHsgLmNsb3NlbG9vcC1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQoKLmNsb3NlbG9vcC1jYXJkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDIycHg7CiAgcGFkZGluZzogMjhweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE0cHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIHRyYW5zZm9ybSAyMDBtcyBlYXNlLCBib3gtc2hhZG93IDIwMG1zIGVhc2U7Cn0KLmNsb3NlbG9vcC1jYXJkOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICBib3gtc2hhZG93OiAwIDE0cHggNDBweCAtMjJweCByZ2JhKDcsMTYsMzEsLjE4KTsKfQouY2xvc2Vsb29wLWV5ZWJyb3cgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBtYXJnaW46IDA7Cn0KLmNsb3NlbG9vcC10aXRsZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTsgbWFyZ2luOiAwOwp9Ci5jbG9zZWxvb3AtZGVzYyB7CiAgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7IGxpbmUtaGVpZ2h0OiAxLjU1OyBtYXJnaW46IDA7Cn0KCi8qIFRlY2ggcHJlLWJyaWVmIG1vY2sgLSBkYXJrICJvcGVyYXRpb25zIHRlcm1pbmFsIiBmZWVsICovCi5icmllZi1tb2NrIHsKICBtYXJnaW4tdG9wOiBhdXRvOwogIGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTRweCAxNnB4OwogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA3cHg7Cn0KLmJyaWVmLWhlYWQgewogIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBwYWRkaW5nLWJvdHRvbTogOXB4OyBtYXJnaW4tYm90dG9tOiA0cHg7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOwp9Ci5icmllZi10aW1lIHsKICBjb2xvcjogdmFyKC0taGFsby0yKTsgbGV0dGVyLXNwYWNpbmc6IC4xZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQouYnJpZWYtdGVjaCB7CiAgY29sb3I6IHZhcigtLXBhcGVyKTsgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAtLjAxZW07Cn0KLmJyaWVmLXJvdyB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2NHB4IDFmcjsgZ2FwOiAxMHB4OwogIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKfQouYnJpZWYtcm93IC5rIHsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNDUpOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDhlbTsgZm9udC1zaXplOiAxM3B4Owp9Ci5icmllZi1yb3cgLnYgewogIGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsKICBsaW5lLWhlaWdodDogMS40NTsKfQouYnJpZWYtcm93IC5waG90by1kb3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsKICBib3JkZXItcmFkaXVzOiAzcHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taXJpLWEpLCB2YXIoLS1oYWxvKSk7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBtYXJnaW4tcmlnaHQ6IDNweDsKfQoKLyogU01TIG1vY2sgKi8KLnNtcy1tb2NrIHsKICBtYXJnaW4tdG9wOiBhdXRvOwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXItcmFkaXVzOiAxNHB4OwogIHBhZGRpbmc6IDE0cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA5cHg7Cn0KLnNtcy1tc2cgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsgfQouc21zLW1zZy5zbXMtb3V0IHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0KLnNtcy1tc2cuc21zLWluIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9Ci5zbXMtbWV0YSB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7CiAgcGFkZGluZzogMCA0cHg7Cn0KLnNtcy1idWJibGUgewogIHBhZGRpbmc6IDhweCAxMnB4OyBib3JkZXItcmFkaXVzOiAxNHB4OwogIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNDU7CiAgbWF4LXdpZHRoOiA4NCU7Cn0KLnNtcy1vdXQgLnNtcy1idWJibGUgewogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLWluayk7Cn0KLnNtcy1pbiAuc21zLWJ1YmJsZSB7CiAgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4Owp9CgouY2xvc2Vsb29wLWZvb3QgewogIG1hcmdpbi10b3A6IDI0cHg7CiAgcGFkZGluZzogMTRweCAxOHB4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTRweDsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmstMik7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLmNsb3NlbG9vcC1mb290IHN2ZyB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBmbGV4LXNocmluazogMDsgfQouY2xvc2Vsb29wLWZvb3Qgc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KCi8qID09PT09PT09PT09PT09PSBTUEFUSUFMIFZJRVdTSEVEIChjYW1lcmEgcHJldmlldykgPT09PT09PT09PT09PT09ICovCi52aWV3c2hlZC1hcHAgewogIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41NWZyIDFmcjsgZ2FwOiAxOHB4OwogIG1hcmdpbi10b3A6IDMycHg7CiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkgeyAudmlld3NoZWQtYXBwIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQoKLnZpZXdzaGVkLXN0YWdlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMjJweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIG1pbi1oZWlnaHQ6IDM2MHB4OwogIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDcsMTYsMzEsLjA0KTsKfQoudmlld3NoZWQtc3RhZ2U6OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudCg0MCUgMzUlIGF0IDkyJSA4JSwgcmdiYSgxNzcsMTU1LDI1NSwuMTApLCB0cmFuc3BhcmVudCA3MCUpLAogICAgcmFkaWFsLWdyYWRpZW50KDQwJSAzNSUgYXQgOCUgOTIlLCByZ2JhKDE0NiwyMjksMjU1LC4wOCksIHRyYW5zcGFyZW50IDcwJSk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLnZpZXdzaGVkLXN0YWdlIHN2ZyB7CiAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7CiAgdG91Y2gtYWN0aW9uOiBub25lOyAvKiBwcmV2ZW50cyBzY3JvbGwgZHVyaW5nIGRyYWcgKi8KICB1c2VyLXNlbGVjdDogbm9uZTsKfQoudmlld3NoZWQtdG9vbGJhciB7CiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE0cHg7IGxlZnQ6IDE0cHg7CiAgZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IGZsZXgtd3JhcDogd3JhcDsKICB6LWluZGV4OiAyOwp9Ci52aWV3c2hlZC10b29sYmFyIGJ1dHRvbiB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHBhZGRpbmc6IDdweCAxMnB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOwogIGNvbG9yOiB2YXIoLS1pbmstMik7IGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGNvbG9yIDE0MG1zIGVhc2U7Cn0KLnZpZXdzaGVkLXRvb2xiYXIgYnV0dG9uOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLnZpZXdzaGVkLXRvb2xiYXIgYnV0dG9uOmRpc2FibGVkIHsgb3BhY2l0eTogLjQ7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH0KCi52aWV3c2hlZC1sZWdlbmQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAxMnB4OyBsZWZ0OiAxNHB4OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBnYXA6IDE0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1zdGVlbCk7IHotaW5kZXg6IDI7Cn0KLnZpZXdzaGVkLWxlZ2VuZCAubGctc3cgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDlweDsgaGVpZ2h0OiA5cHg7IGJvcmRlci1yYWRpdXM6IDJweDsKICBtYXJnaW4tcmlnaHQ6IDRweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoudmlld3NoZWQtbGVnZW5kIC5sZy1jb3YgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1pcmktYSksIHZhcigtLWhhbG8pKTsgb3BhY2l0eTogLjU1OyB9Ci52aWV3c2hlZC1sZWdlbmQgLmxnLWRlYWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZS0yKTsgfQoKLyogRmxvb3IgcGxhbiArIHdhbGxzIGluc2lkZSB0aGUgU1ZHICovCi52aWV3c2hlZC1mbG9vciB7IGZpbGw6IHZhcigtLXBhcGVyLTIpOyBzdHJva2U6IG5vbmU7IH0KLnZpZXdzaGVkLXdhbGwgIHsgc3Ryb2tlOiB2YXIoLS1pbmstMik7IHN0cm9rZS13aWR0aDogNDsgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOyBzdHJva2UtbGluZWpvaW46IHJvdW5kOyB9Ci52aWV3c2hlZC1yb29tLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZmlsbDogdmFyKC0tc3RlZWwtMik7IHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci52aWV3c2hlZC1mb3YgewogIGZpbGw6IHVybCgjdnNoR3JhZEZvdik7CiAgb3BhY2l0eTogLjU1OwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsKfQoudmlld3NoZWQtY2FtLWdyb3VwIHsgY3Vyc29yOiBncmFiOyB9Ci52aWV3c2hlZC1jYW0tZ3JvdXAuaXMtZHJhZ2dpbmcgeyBjdXJzb3I6IGdyYWJiaW5nOyB9Ci52aWV3c2hlZC1jYW0tYm9keSB7IGZpbGw6IHZhcigtLWluayk7IHN0cm9rZTogdmFyKC0tcGFwZXIpOyBzdHJva2Utd2lkdGg6IDEuNTsgfQoudmlld3NoZWQtY2FtLWxlbnMgeyBmaWxsOiB2YXIoLS1oYWxvLTIpOyBzdHJva2U6IHZhcigtLXBhcGVyKTsgc3Ryb2tlLXdpZHRoOiAxLjI7IH0KLnZpZXdzaGVkLWNhbS1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgZmlsbDogdmFyKC0tcGFwZXIpOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICB0ZXh0LWFuY2hvcjogbWlkZGxlOyBkb21pbmFudC1iYXNlbGluZTogbWlkZGxlOwp9Ci52aWV3c2hlZC1jYW0taGFuZGxlIHsKICBmaWxsOiB2YXIoLS1wYXBlcik7IHN0cm9rZTogdmFyKC0taW5rKTsgc3Ryb2tlLXdpZHRoOiAxLjU7CiAgY3Vyc29yOiBldy1yZXNpemU7Cn0KLnZpZXdzaGVkLWNhbS1oYW5kbGUtbGluZSB7CiAgc3Ryb2tlOiB2YXIoLS1pbmspOyBzdHJva2Utd2lkdGg6IDEuNTsgc3Ryb2tlLWRhc2hhcnJheTogMiAzOwogIG9wYWNpdHk6IC41OyBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLyogUmlnaHQgcGFuZWwgKi8KLnZpZXdzaGVkLXBhbmVsIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6IDIycHg7CiAgcGFkZGluZzogMjZweDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE2cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOwp9Ci52aWV3c2hlZC1wYW5lbDo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICBiYWNrZ3JvdW5kOgogICAgcmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgMTAwJSAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMTgpLCB0cmFuc3BhcmVudCksCiAgICByYWRpYWwtZ3JhZGllbnQoNjAlIDUwJSBhdCAwJSAxMDAlLCByZ2JhKDE0NiwyMjksMjU1LC4xMCksIHRyYW5zcGFyZW50KTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoudmlld3NoZWQtcGFuZWwgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9Ci52aWV3c2hlZC1zdGF0IHsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDNweDsKICBwYWRkaW5nOiAxMnB4IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Cn0KLnZpZXdzaGVkLXN0YXQ6Zmlyc3Qtb2YtdHlwZSB7IHBhZGRpbmctdG9wOiA0cHg7IH0KLnZpZXdzaGVkLXN0YXQgLmsgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OwogIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTUpOwp9Ci52aWV3c2hlZC1zdGF0IC52IHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JzsgZm9udC1zaXplOiAzMHB4OyBmb250LXdlaWdodDogNjAwOwogIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7Cn0KLnZpZXdzaGVkLXN0YXQuc3ViIC52IHsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNTAwOyB9Ci52aWV3c2hlZC1oaW50IHsKICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNyk7CiAgcGFkZGluZzogMTBweCAxNHB4OwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA1KTsKICBib3JkZXItcmFkaXVzOiAxMnB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsKfQoudmlld3NoZWQtaGludCBzdHJvbmcgeyBjb2xvcjogdmFyKC0taGFsby0yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQoudmlld3NoZWQtY3RhIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGNvbG9yOiB2YXIoLS1pbmspOwogIGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgcGFkZGluZzogMTNweCAyMHB4OyBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtLjAwNWVtOwogIGN1cnNvcjogcG9pbnRlcjsgbWFyZ2luLXRvcDogNHB4OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTYwbXMgZWFzZTsKfQoudmlld3NoZWQtY3RhOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby0yKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9Ci52aWV3c2hlZC1maW5lcHJpbnQgewogIGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7IGxpbmUtaGVpZ2h0OiAxLjU1Owp9CgovKiA9PT09PT09PT09PT09PT0gTU9XRVIgUk9VVEUgUFJFVklFVyA9PT09PT09PT09PT09PT0gKi8KLm1vd2VyLWFwcCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjU1ZnIgMWZyOyBnYXA6IDE4cHg7CiAgbWFyZ2luLXRvcDogMjhweDsKICBhbGlnbi1pdGVtczogc3RyZXRjaDsKfQpAbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7IC5tb3dlci1hcHAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9CgoubW93ZXItc3RhZ2UgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAyMnB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWluLWhlaWdodDogMzYwcHg7CiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoNywxNiwzMSwuMDQpOwp9Ci5tb3dlci1zdGFnZSBzdmcgewogIGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOwogIHRvdWNoLWFjdGlvbjogbm9uZTsgdXNlci1zZWxlY3Q6IG5vbmU7Cn0KLm1vd2VyLXlhcmQgICAgICB7IGZpbGw6ICNEREVERDQ7IH0gICAvKiBsYXduIC0gZGVzYXR1cmF0ZWQgcGFzdGVsIGdyZWVuICovCi5tb3dlci1jdXQgICAgICAgeyBmaWxsOiAjQzNFMUIzOyB9ICAgLyogImFscmVhZHkgbW93ZWQiIHRpbnQgLSBzbGlnaHRseSBkYXJrZXIgZ3JlZW4gKi8KLm1vd2VyLWhvdXNlICAgICB7IGZpbGw6ICNFOERDQzg7IHN0cm9rZTogIzhDNzc1NTsgc3Ryb2tlLXdpZHRoOiAxLjY7IH0KLm1vd2VyLXRyZWUgICAgICB7IGZpbGw6ICM2RkE2NzI7IHN0cm9rZTogIzNGNkI0NTsgc3Ryb2tlLXdpZHRoOiAxLjM7IH0KLm1vd2VyLXRyZWUtc2hhZG93IHsgZmlsbDogcmdiYSg2MCw5MCw1NSwuMTgpOyB9Ci5tb3dlci15YXJkLW91dGxpbmUgeyBmaWxsOiBub25lOyBzdHJva2U6ICM2QTgyNjE7IHN0cm9rZS13aWR0aDogMS41OyBzdHJva2UtZGFzaGFycmF5OiA1IDQ7IG9wYWNpdHk6IC41NTsgfQoubW93ZXItcGF0aCB7CiAgZmlsbDogbm9uZTsgc3Ryb2tlOiAjRkZDN0U2OyBzdHJva2Utd2lkdGg6IDIuMjsKICBzdHJva2UtbGluZWNhcDogcm91bmQ7IHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNHB4IHJnYmEoMjE3LCAxMTksIDg3LCAuNTUpKTsKfQoubW93ZXItcGF0aC1wcm9ncmVzcyB7CiAgZmlsbDogbm9uZTsgc3Ryb2tlOiAjRkY5REM2OyBzdHJva2Utd2lkdGg6IDM7CiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOyBzdHJva2UtbGluZWpvaW46IHJvdW5kOwp9Ci5tb3dlci1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZpbGw6ICM0RjY5NDg7IHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5tb3dlci1kb2NrLWdyb3VwIHsgY3Vyc29yOiBncmFiOyB9Ci5tb3dlci1kb2NrLWdyb3VwLmlzLWRyYWdnaW5nIHsgY3Vyc29yOiBncmFiYmluZzsgfQoubW93ZXItZG9jayB7IGZpbGw6IHZhcigtLWluayk7IHN0cm9rZTogdmFyKC0tcGFwZXIpOyBzdHJva2Utd2lkdGg6IDEuODsgfQoubW93ZXItZG9jay1pY29uIHsgZmlsbDogdmFyKC0taGFsby0yKTsgfQoubW93ZXItZG9jay1sYWJlbCB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZpbGw6IHZhcigtLXBhcGVyKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgdGV4dC1hbmNob3I6IG1pZGRsZTsgZG9taW5hbnQtYmFzZWxpbmU6IG1pZGRsZTsKfQoKLm1vd2VyLWJvdCB7CiAgZmlsbDogI0ZGQzdFNjsgc3Ryb2tlOiB2YXIoLS1pbmspOyBzdHJva2Utd2lkdGg6IDEuNDsKICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggcmdiYSgyNTUsIDE5OSwgMjMwLCAuOSkpOwp9CgoubW93ZXItdG9vbGJhciB7CiAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE0cHg7IGxlZnQ6IDE0cHg7CiAgZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IGZsZXgtd3JhcDogd3JhcDsKICB6LWluZGV4OiAyOwp9Ci5tb3dlci10b29sYmFyIGJ1dHRvbiB7CiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIHBhZGRpbmc6IDdweCAxMnB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOwogIGNvbG9yOiB2YXIoLS1pbmstMik7IGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGNvbG9yIDE0MG1zIGVhc2U7Cn0KLm1vd2VyLXRvb2xiYXIgYnV0dG9uOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KCi5tb3dlci1wYW5lbCB7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBib3JkZXItcmFkaXVzOiAyMnB4OwogIHBhZGRpbmc6IDI2cHg7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKfQoubW93ZXItcGFuZWw6OmJlZm9yZSB7CiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDEwMCUgMCUsIHJnYmEoMTQ2LDIyOSwyNTUsLjE2KSwgdHJhbnNwYXJlbnQpLAogICAgcmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgMCUgMTAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMTApLCB0cmFuc3BhcmVudCk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1vd2VyLXBhbmVsID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQoubW93ZXItc3RhdCB7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAzcHg7CiAgcGFkZGluZzogMTJweCAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwp9Ci5tb3dlci1zdGF0OmZpcnN0LW9mLXR5cGUgeyBwYWRkaW5nLXRvcDogNHB4OyB9Ci5tb3dlci1zdGF0IC5rIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTsKfQoubW93ZXItc3RhdCAudiB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCc7IGZvbnQtc2l6ZTogMjhweDsgZm9udC13ZWlnaHQ6IDYwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTsgY29sb3I6IHZhcigtLXBhcGVyKTsKICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwp9Ci5tb3dlci1zdGF0LnN1YiAudiB7IGZvbnQtc2l6ZTogMTdweDsgZm9udC13ZWlnaHQ6IDUwMDsgfQoubW93ZXItaGludCB7CiAgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS41NTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcpOwogIHBhZGRpbmc6IDEwcHggMTRweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNSk7CiAgYm9yZGVyLXJhZGl1czogMTJweDsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wNik7Cn0KLm1vd2VyLWhpbnQgc3Ryb25nIHsgY29sb3I6IHZhcigtLWhhbG8tMik7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLm1vd2VyLWN0YSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyBjb2xvcjogdmFyKC0taW5rKTsKICBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDk5OXB4OwogIHBhZGRpbmc6IDEzcHggMjBweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOwogIGN1cnNvcjogcG9pbnRlcjsgbWFyZ2luLXRvcDogNHB4OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTYwbXMgZWFzZTsKfQoubW93ZXItY3RhOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby0yKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9CgovKiA9PT09PT09PT09PT09PT0gQlJBTkQgTUFSSyAtIFF1YW50dW0gUSA9PT09PT09PT09PT09PT0gKi8KLmJyYW5kLW1hcmsgeyBjb2xvcjogaW5oZXJpdDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfQouYnJhbmQtbWFyayAuYm0tcmluZywKLmJyYW5kLW1hcmsgLmJtLXRhaWwgeyBzdHJva2U6IGN1cnJlbnRDb2xvcjsgfQouYnJhbmQtbWFyayAuYm0tcmluZyB7IGZpbGw6IG5vbmU7IH0KLmJyYW5kLW1hcmsgLmJtLXRhaWwgeyBmaWxsOiBub25lOyBzdHJva2UtbGluZWNhcDogcm91bmQ7IH0KCi8qID09PT09PT09PT09PT09PSBGT0NVUyBSSU5HUyA9PT09PT09PT09PT09PT0gKi8KLyogOmZvY3VzLXZpc2libGUgLSBrZXlib2FyZC1vbmx5IHJpbmcsIG5ldmVyIG9uIG1vdXNlIGNsaWNrLgogICBBbWJlciBwZXIgZGVzaWduIHN5c3RlbSwgQUEtdmlzaWJsZSBvbiBib3RoIGxpZ2h0IGFuZCBkYXJrIHN1cmZhY2VzLiAqLwoqOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfQphOmZvY3VzLXZpc2libGUsCmJ1dHRvbjpmb2N1cy12aXNpYmxlLAppbnB1dDpmb2N1cy12aXNpYmxlLAp0ZXh0YXJlYTpmb2N1cy12aXNpYmxlLApzZWxlY3Q6Zm9jdXMtdmlzaWJsZSwKW3JvbGU9InRhYiJdOmZvY3VzLXZpc2libGUsCltyb2xlPSJidXR0b24iXTpmb2N1cy12aXNpYmxlIHsKICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZyk7CiAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICBib3JkZXItcmFkaXVzOiA2cHg7Cn0KLyogQ2FyZHMgLyBwaWxsLXNoYXBlZCBjb250cm9scyAtIG1hdGNoIHRoZWlyIGV4aXN0aW5nIHJhZGl1cyAqLwouYnRuOmZvY3VzLXZpc2libGUsIC5uYXYtY3RhOmZvY3VzLXZpc2libGUsIC5xdWljay1waWxsOmZvY3VzLXZpc2libGUsCi5lc3Qtc3ZjLWNoaXA6Zm9jdXMtdmlzaWJsZSwgLmVzdC1vcHQtY2hvaWNlOmZvY3VzLXZpc2libGUsCi5hY3Rpb24tYnRuOmZvY3VzLXZpc2libGUsIC5hY3Rpb24tY2hpcDpmb2N1cy12aXNpYmxlLAouYW1vY2stc2xvdDpmb2N1cy12aXNpYmxlLCAuYW1vY2stYnRuOmZvY3VzLXZpc2libGUsCi5hcHB0OmZvY3VzLXZpc2libGUsIC52aWRlby1jYXJkOmZvY3VzLXZpc2libGUsCi5zdmM6Zm9jdXMtdmlzaWJsZSwgLnJvYm90aWMtc3ZjOmZvY3VzLXZpc2libGUgewogIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nKTsKICBvdXRsaW5lLW9mZnNldDogM3B4Owp9CgovKiA9PT09PT09PT09PT09PT0gQ1JPU1MtQlJPV1NFUiBiYWNrZHJvcC1maWx0ZXIgPT09PT09PT09PT09PT09ICovCi8qIE9sZCBTYWZhcmkgKGluY2wuIH41JSBvZiBpT1MgdXNlcnMgc3RpbGwgb24gMTUtKSBuZWVkcyB0aGUgLXdlYmtpdC0gcHJlZml4LiAqLwoudmlkZW8tYmFkZ2UsCi52aWRlby1kdXIsCi52aWRlby1wb3N0ZXIgLnBsYXksCi5hbWVsaWEtbW9kYWwsCi5zdWNjZXNzLXN0YXRlIHsKICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOwp9CgovKiA9PT09PT09PT09PT09PT0gQVNQRUNULVJBVElPIEZBTExCQUNLID09PT09PT09PT09PT09PSAqLwovKiBhc3BlY3QtcmF0aW8gc2hpcHBlZCBpbiBTYWZhcmkgMTUgLyBDaHJvbWUgODguIEZhbGwgYmFjayBmb3Igb2xkIGJyb3dzZXJzLiAqLwpAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDE2IC8gMTApIHsKICAudmlkZW8tcG9zdGVyIHsKICAgIGhlaWdodDogMDsKICAgIHBhZGRpbmctYm90dG9tOiA2Mi41JTsgLyogMTAvMTYgKi8KICB9CiAgLnZpZGVvLXBvc3RlciA+IC5wb3N0ZXItYXJ0LAogIC52aWRlby1wb3N0ZXIgPiAudmlkZW8tYmFkZ2UsCiAgLnZpZGVvLXBvc3RlciA+IC52aWRlby1kdXIsCiAgLnZpZGVvLXBvc3RlciA+IC5wbGF5IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB9CiAgLnZpZGVvLXBvc3RlciA+IC5wb3N0ZXItYXJ0IHsKICAgIGluc2V0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOwogIH0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENST1NTLURFVklDRSBIQVJERU5JTkcKICAgaU9TIFNhZmFyaSArIEFuZHJvaWQgQ2hyb21lICsgRmlyZWZveCArIHNtYWxsL21lZGl1bS9sYXJnZQogICBzYWZlLWFyZWEsIHRvdWNoIHRhcmdldHMsIG92ZXJmbG93LCByZWR1Y2VkIG1vdGlvbiwgZHZoLCBwcmludAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIFByZXZlbnQgYW55IGhvcml6b250YWwgb3ZlcmZsb3cgb24gdGhlIGRvY3VtZW50LgogICBOT1RFOiBvdmVyZmxvdy14OiBoaWRkZW4gb24gaHRtbC9ib2R5IGJyZWFrcyBwb3NpdGlvbjogc3RpY2t5IGluIG1hbnkgYnJvd3NlcnMuCiAgIFVzZSBvdmVyZmxvdy14OiBjbGlwIChtb2Rlcm4pIHdpdGggb3ZlcmZsb3cteDogaGlkZGVuIGZhbGxiYWNrIG9ubHkgb24gYm9keS4gKi8KaHRtbCB7IG1heC13aWR0aDogMTAwdnc7IH0KYm9keSB7IG1heC13aWR0aDogMTAwdnc7IG92ZXJmbG93LXg6IGNsaXA7IH0KQHN1cHBvcnRzIG5vdCAob3ZlcmZsb3cteDogY2xpcCkgewogIGJvZHkgeyBvdmVyZmxvdy14OiBoaWRkZW47IH0KfQppbWcsIHZpZGVvLCBzdmcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfQoKLyogSG9ub3IgaU9TIHNhZmUgYXJlYXMgKG5vdGNoIC8gaG9tZSBpbmRpY2F0b3IpIG9uIHRoZSBjaHJvbWUgbGF5ZXJzICovCm5hdiB7IHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCk7IH0KQHN1cHBvcnRzIChwYWRkaW5nOiBtYXgoMHB4KSkgewogIC5zaGVsbCB7CiAgICBwYWRkaW5nLWxlZnQ6IG1heCgyMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTsKICAgIHBhZGRpbmctcmlnaHQ6IG1heCgyMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7CiAgfQp9Ci5zdGlja3ktZXN0aW1hdGUgeyBwYWRkaW5nLWJvdHRvbTogbWF4KDEwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7IH0KCi8qIGlPUyBmb3JtIHpvb206IGlucHV0cyA8IDE2cHggdHJpZ2dlciBhdXRvLXpvb20uIEZvcmNlIDE2cHggb24gdG91Y2guICovCkBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKSB7CiAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIC5hbW9jay1maWVsZCBpbnB1dCwgLmFtb2NrLWZpZWxkIHRleHRhcmVhLCAuYW1vY2stZmllbGQgc2VsZWN0LAogIC5jaGFubmVsLWNhcHR1cmUtaW5wdXQsIC5lc3QtbnVtLWlucHV0IHsKICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50OwogIH0KICAvKiBUb3VjaCB0YXJnZXRzOiBtaW5pbXVtIDQ0eDQ0IChBcHBsZSBISUcpICovCiAgLmJ0biwgLm5hdi1jdGEsIC5lc3Qtc3ZjLWNoaXAsIC5lc3QtbW9kZS10YWIsIC5hbW9jay1idG4sIC5jaGFubmVsLWNhcHR1cmUtc2VuZCwKICAuZXN0LW9wdC1jaG9pY2UsIC5lc3Qtc3ZjLWJsb2NrLXJlbW92ZSwgLnF1aWNrLXBpbGwsIC5hbW9jay1jYWwtZGF5LCAuYW1vY2stc2xvdCwKICAuYXMtdGFiLCAuYW1lbGlhLW1vZGFsLWNsb3NlLCAuYWdlbnQtYXR0YWNoIHsKICAgIG1pbi1oZWlnaHQ6IDQ0cHg7CiAgfQogIC5lc3QtcXR5LWJ0biwgLmFtZWxpYS1tb2RhbC1jbG9zZSwgLmFnZW50LWF0dGFjaCB7IG1pbi13aWR0aDogNDhweDsgaGVpZ2h0OiA0OHB4OyB3aWR0aDogNDhweDsgfQogIC5lc3Qtc3ZjLWJsb2NrLXJlbW92ZSB7IG1pbi13aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4OyB9Cn0KCi8qIFVzZSBkeW5hbWljIHZpZXdwb3J0IGhlaWdodCB3aGVyZSBzdXBwb3J0ZWQgKGhhbmRsZXMgaU9TIFVSTCBiYXIgY29sbGFwc2UpICovCkBzdXBwb3J0cyAoaGVpZ2h0OiAxMDBkdmgpIHsKICAuYW1lbGlhLW1vZGFsLXNoZWxsIHsgbWF4LWhlaWdodDogMTAwZHZoOyB9Cn0KCi8qIFRhYmxldCAobWVkaXVtKSByZWZpbmVtZW50cyAqLwpAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7CiAgLmhlcm8geyBwYWRkaW5nLXRvcDogNjRweDsgfQogIC50cnVzdCB7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxNHB4IDIwcHg7IH0KICAudHJ1c3QtZGl2aWRlciB7IGRpc3BsYXk6IG5vbmU7IH0KfQoKLyogUGhvbmUgcmVmaW5lbWVudHMgKi8KQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7CiAgLyogSGVybzogc3RhY2sgYWN0aW9ucyBmdWxsLXdpZHRoLCB0aWdodGVyIHNwYWNpbmcgKi8KICBoMS5oZXJvLWggeyBmb250LXNpemU6IGNsYW1wKDM0cHgsIDEwdncsIDUycHgpOyB9CiAgLmhlcm8tc3ViIHsgZm9udC1zaXplOiAxN3B4OyB9CiAgLmhlcm8tYWN0aW9ucyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBzdHJldGNoOyBnYXA6IDEwcHg7IH0KICAuaGVyby1hY3Rpb25zIC5idG4geyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgd2lkdGg6IDEwMCU7IH0KICAuYXVkaWVuY2Utc3dpdGNoIHsgd2lkdGg6IDEwMCU7IH0KICAuYXVkaWVuY2Utc3dpdGNoIGJ1dHRvbiB7IGZsZXg6IDE7IH0KCiAgLyogU2VjdGlvbiBzcGFjaW5nICYgaGVhZGluZ3MgKi8KICAuc2VjLWxlZGUgeyBmb250LXNpemU6IDE2cHg7IG1hcmdpbi1ib3R0b206IDM2cHg7IH0KICBoMi5zZWMtaCB7IGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgN3Z3LCA0MHB4KTsgfQoKICAvKiBFc3RpbWF0b3I6IHN0YWNrIGFuZCBicmVhdGhlICovCiAgLmVzdC1sZWZ0LCAuZXN0LXJpZ2h0IHsgcGFkZGluZzogMjJweCAxOHB4OyB9CiAgLmVzdC1oIHsgZm9udC1zaXplOiAyNHB4OyB9CiAgLnF1b3RlLXJhbmdlIHsgZm9udC1zaXplOiAzNnB4OyB9CiAgLnF1b3RlLWJyZWFrZG93biB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfQoKICAvKiBGaW5hbCBDVEEgKi8KICAuZmluYWwtY3RhIGgyIHsgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA5dncsIDQ4cHgpOyB9CiAgLmZpbmFsLWN0YSBwICB7IGZvbnQtc2l6ZTogMTZweDsgfQoKICAvKiBGb290ZXI6IHN0YWNrIGNsZWFubHkgKi8KICAuZm9vdC1ib3R0b20geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9CgogIC8qIEFJIHNob3djYXNlIGNoYXQ6IGtlZXAgcmVhZGFibGUgb24gc21hbGwgc2NyZWVucyAqLwogIC5haS1zaG93Y2FzZSB7IHBhZGRpbmc6IDM2cHggMThweDsgfQogIC5hZ2VudC1jaGF0IHsgbWF4LXdpZHRoOiAxMDAlOyB9CiAgLyogbGV0IGdyaWQgY2hpbGRyZW4gc2hyaW5rIHNvIG5vdGhpbmcgY2xpcHMgb24gbmFycm93IEFuZHJvaWRzICh+MzYwcHgpICovCiAgLmFpLWdyaWQsIC5haS1ncmlkID4gKiB7IG1pbi13aWR0aDogMDsgfQogIC8qIGZpbmdlci1mcmllbmRseSB0YXAgdGFyZ2V0cyAo4omlNDRweCkgKi8KICAuZXN0LXN2Yy1jaGlwIHsgbWluLWhlaWdodDogNDRweDsgfQogIC5lc3QtbW9kZS10YWIgeyBtaW4taGVpZ2h0OiA0NHB4OyB9CiAgLyogcHJldmVudCBzbWFsbCBjbGlwcyBvbiBuYXJyb3cgQW5kcm9pZHMgKi8KICAuY2hhbm5lbCwgLmNoYW5uZWwgPiBkaXYgeyBtaW4td2lkdGg6IDA7IH0KICAuY2hhbm5lbC1kIHsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7IH0KICAubXlwcm9wZXJ0eS1wbGFuLCAubXlwcm9wZXJ0eS1jb250ZW50IHsgbWluLXdpZHRoOiAwOyB9CiAgLm15cHJvcGVydHktcGxhbiBzdmcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfQp9CgovKiBQaG9uZSByZWFkYWJpbGl0eSBmbG9vcjogbGlmdCBkZWNvcmF0aXZlIG1pY3JvLWxhYmVscyB0byBhIGxlZ2libGUgc2l6ZS4KICAgT24gZGVza3RvcCB0aGVzZSB0aW55IG1vbm8vZXllYnJvdyBsYWJlbHMgcmVhZCBhcyBkZWxpYmVyYXRlIHN0eWxpbmc7IG9uIGEKICAgcGhvbmUgYW55dGhpbmcgdW5kZXIgfjExcHggaXMgYSBzdHJhaW4uIFRhcmdldGVkIHNvIGxheW91dC9kZXNrdG9wIGlzIHVudG91Y2hlZC4gKi8KQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgLnZpZGVvLWJhZGdlLCAuc21zLW1ldGEsIC5tcC1zZWN0aW9uLWhlYWQsIC5hZ2VudC1zdGF0dXMsIC5sb2dvcy1sYWJlbCwKICAuZXN0LXNlY3Rpb24tbGFiZWwsIC5saXZlb3BzLXN0YXQtaywgLnN1cnZleS1sYWJlbCwgLnF1b3RlLWxhYmVsLAogIC5jaGFubmVsLWNhcHR1cmUtbGVnYWwsIC5kZXBsb3llZCwgLnZpZGVvLWR1ciwgLmNsb3NlbG9vcC1leWVicm93LAogIC5teXByb3BlcnR5LW1ldGEsIC5iYWRnZSwgLnBpbGwsIC5zZWMtZXllYnJvdyB7CiAgICBmb250LXNpemU6IDE0LjVweCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEuNDsKICB9CiAgLyogc3RhdCAia2V5IiByb3dzIGluIGVzdGltYXRvciAvIGxpdmUtb3BzIGdyaWRzICovCiAgLnF1b3RlLWJyZWFrZG93biAuaywgLmxpdmVvcHMtc3RhdCAuaywgLnN1cnZleS1jYXJkIC5rIHsgZm9udC1zaXplOiAxNC41cHggIWltcG9ydGFudDsgfQp9CgovKiBQaG9uZSB0YXAtdGFyZ2V0IGZsb29yICh3aWR0aC1iYXNlZDogcmVsaWFibGUgYWNyb3NzIEFuZHJvaWQgYnJvd3NlcnMgdGhhdAogICByZXBvcnQgcG9pbnRlciB0eXBlcyBpbmNvbnNpc3RlbnRseSkuIE1pcnJvcnMgdGhlIHRvdWNoLWRldmljZSBydWxlLiAqLwpAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAuYXMtdGFiLCAuZXN0LW9wdC1jaG9pY2UsIC5hbW9jay1jYWwtZGF5LCAuYW1vY2stc2xvdCwKICAuZXN0LXN2Yy1jaGlwLCAuZXN0LW1vZGUtdGFiLCAucXVpY2stcGlsbCwgLmFtb2NrLWJ0biwKICAuYW1lbGlhLW1vZGFsLWNsb3NlLCAuYWdlbnQtYXR0YWNoLCAuYnRuLCAubmF2LWN0YSB7CiAgICBtaW4taGVpZ2h0OiA0NHB4OwogIH0KICAuYXMtdGFiLCAuYW1vY2stY2FsLWRheSwgLmFtb2NrLXNsb3QsIC5lc3Qtb3B0LWNob2ljZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC5lc3QtcXR5LWJ0biwgLmFtZWxpYS1tb2RhbC1jbG9zZSwgLmFnZW50LWF0dGFjaCB7CiAgICBtaW4td2lkdGg6IDQ4cHg7IHdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7CiAgfQp9CgovKiBQaG9uZXM6IENhbGwgYnV0dG9uIHNob3dzIGljb24tb25seSAobnVtYmVyIHdvdWxkIHdyYXAgdGhlIG5hdiBiYXIpICovCkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgewogIC5uYXYtY2FsbCAubnVtIHsgZGlzcGxheTogbm9uZTsgfQogIC5uYXYtY2FsbCB7IHBhZGRpbmc6IDAgMTJweDsgfQogIC8qIEZsb2F0aW5nIGNhbGwgYnV0dG9uOiBpY29uLW9ubHkgY2lyY2xlIG9uIHZlcnkgc21hbGwgc2NyZWVucyAqLwogIC5mbG9hdC1jYWxsIHNwYW4geyBkaXNwbGF5OiBub25lOyB9CiAgLmZsb2F0LWNhbGwgeyBwYWRkaW5nOiAxNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IHdpZHRoOiA1MnB4OyBoZWlnaHQ6IDUycHg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9CiAgLmZsb2F0LWNhbGwgc3ZnIHsgd2lkdGg6IDIycHg7IGhlaWdodDogMjJweDsgfQp9CgovKiBWZXJ5IHNtYWxsIHBob25lcyAoaVBob25lIFNFLCB+MzYwcHgpICovCkBtZWRpYSAobWF4LXdpZHRoOiAzODBweCkgewogIC5zaGVsbCB7IHBhZGRpbmc6IDAgMTZweDsgfQogIC5uYXYtY3RhIHsgcGFkZGluZzogOXB4IDE0cHg7IGZvbnQtc2l6ZTogMTRweDsgfQogIC5uYXYtY2FsbCB7IHBhZGRpbmc6IDAgMTFweDsgfQogIC5icmFuZC10ZXh0IHsgZm9udC1zaXplOiAxN3B4OyB9CiAgaDEuaGVyby1oIHsgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAxMXZ3LCA0MHB4KTsgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgfQogIC5xdW90ZS1yYW5nZSB7IGZvbnQtc2l6ZTogMzBweDsgfQp9CgovKiBMYW5kc2NhcGUgcGhvbmVzOiB0aWdodGVuIHZlcnRpY2FsIHNwYWNpbmcgKi8KQG1lZGlhIChtYXgtaGVpZ2h0OiA0ODBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7CiAgLmhlcm8geyBwYWRkaW5nOiA0OHB4IDAgMzJweDsgfQogIHNlY3Rpb24uYmxvY2sgeyBwYWRkaW5nOiA1NnB4IDA7IH0KICAuYW1lbGlhLW1vZGFsLXNoZWxsIHsgbWF4LWhlaWdodDogMTAwZHZoOyB9Cn0KCi8qIEhpZ2gtRFBJOiBjcmlzcGVyIDFweCBib3JkZXJzICovCkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHsKICAuc3RlcCwgLnN2YywgLnQtY2FyZCwgLmVzdC1zdmMtY2hpcCwgLmFtb2NrLWZpZWxkIGlucHV0LAogIC5hbW9jay1maWVsZCB0ZXh0YXJlYSwgLmFtb2NrLWZpZWxkIHNlbGVjdCB7IGJvcmRlci13aWR0aDogMC41cHg7IH0KfQoKLyogUmVkdWNlZCBtb3Rpb246IHJlc3BlY3QgT1Mgc2V0dGluZyAqLwpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgewogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAwMW1zICFpbXBvcnRhbnQ7CiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAwMW1zICFpbXBvcnRhbnQ7CiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLmxpdmUtZG90LCAuYWdlbnQtc3RhdHVzIC5wdWxzZSB7IGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9Cn0KCi8qIEZvcmNlZC1jb2xvcnMgKFdpbmRvd3MgaGlnaC1jb250cmFzdCkgKi8KQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHsKICAuYnRuLCAubmF2LWN0YSwgLmVzdC1zdmMtY2hpcCB7IGJvcmRlcjogMXB4IHNvbGlkIENhbnZhc1RleHQ7IH0KfQoKLyogUHJpbnQ6IGNsZWFuLCBubyBjaHJvbWUgKi8KQG1lZGlhIHByaW50IHsKICBuYXYsIC5zdGlja3ktZXN0aW1hdGUsIC5haS1zaG93Y2FzZSwgLmNoYW5uZWwtY2FwdHVyZSwgLmVzdC1tb2RlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9CiAgYm9keSB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBjb2xvcjogYmxhY2s7IH0KICBzZWN0aW9uLmJsb2NrIHsgcGFkZGluZzogMjRweCAwOyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH0KICAuZXN0aW1hdG9yLCAucXVvdGUtY2FyZCB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgI2NjYyAhaW1wb3J0YW50OyB9Cn0KCi8qIFN0aWNreSBmb290ZXIgZXN0aW1hdGU6IGF2b2lkIGNvdmVyaW5nIGNvbnRlbnQgb24gdGFsbCB0b3VjaCBrZXlib2FyZHMgKi8KQHN1cHBvcnRzIChoZWlnaHQ6IDEwMHN2aCkgewogIGJvZHkgeyBtaW4taGVpZ2h0OiAxMDBzdmg7IH0KfQoKLnBjcS1wcmVmaWxsLWJhbm5lciB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OwogIGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjIyKTsKICBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYm9yZGVyLXJhZGl1czogMTJweDsgcGFkZGluZzogMTJweCAxNnB4OwogIGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5wY3EtcHJlZmlsbC1iYW5uZXIgc3ZnIHsgZmxleC1zaHJpbms6IDA7IH0KCi8qIEVtYWlsIGNhcHR1cmUgb24gd2l6YXJkIHJlc3VsdCAqLwoucGNxLWVtYWlsLWNhcHR1cmUgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxOHB4OyBwYWRkaW5nOiAyMnB4IDIwcHg7IG1hcmdpbi10b3A6IDRweDsKfQoucGNxLWVtYWlsLWxhYmVsIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbjogMCAwIDhweDsgZGlzcGxheTogYmxvY2s7Cn0KLnBjcS1lbWFpbC1kZXNjIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDAgMCAxNHB4OyBsaW5lLWhlaWdodDogMS41OyB9Ci5wY3EtZW1haWwtcm93IHsgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGZsZXgtd3JhcDogd3JhcDsgfQoucGNxLWVtYWlsLWlucHV0IHsKICBmbGV4OiAxOyBtaW4td2lkdGg6IDIwMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czogMTBweDsgcGFkZGluZzogMTFweCAxNHB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNXB4OwogIGNvbG9yOiB2YXIoLS1pbmspOyBvdXRsaW5lOiBub25lOwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtczsKfQoucGNxLWVtYWlsLWlucHV0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgfQoucGNxLWVtYWlsLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgfQoucGNxLWVtYWlsLWJ0biB7CiAgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAxMHB4OwogIHBhZGRpbmc6IDExcHggMjBweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsKICBjdXJzb3I6IHBvaW50ZXI7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGZsZXgtc2hyaW5rOiAwOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMsIHRyYW5zZm9ybSAxMjBtczsKfQoucGNxLWVtYWlsLWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfQoucGNxLWVtYWlsLXNlbnQgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgcGFkZGluZzogMTJweCAwOwogIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICMwNTk2Njk7Cn0KCi8qIE1vYmlsZSBuYXYgcG9saXNoICovCkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogIC5uYXYtdGhlbWUtdG9nZ2xlIHsgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDsgfQogIC5uYXYtbGlua3MgYSwKICAubmF2LWxpbmtzIC5uYXYtZHJvcC10cmlnZ2VyIHsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBtaW4taGVpZ2h0OiA0OHB4OwogICAgcGFkZGluZy10b3A6IDRweDsKICAgIHBhZGRpbmctYm90dG9tOiA0cHg7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgfQogIC5uYXYtZHJvcC1tZW51IGEgewogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDEycHggMjBweCAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxNnB4OwogIH0KICAubmF2LWN0YSB7CiAgICBtaW4taGVpZ2h0OiA1MnB4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB9Cn0KLyogTmF2IGRyb3AgbWVudSBhbmltYXRpb24gLSBkZXNrdG9wIG9ubHk7IG1vYmlsZSB1c2VzIGRpc3BsYXk6ZmxleCB0b2dnbGUgdmlhIG5hdi5pcy1vcGVuICovCkBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkgewogIC5uYXYtZHJvcC1tZW51IHsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDE2MG1zIGVhc2U7CiAgfQogIC5uYXYtZHJvcC1tZW51W2FyaWEtaGlkZGVuPSJ0cnVlIl0gIHsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC00cHgpOyB9CiAgLm5hdi1kcm9wLW1lbnVbYXJpYS1oaWRkZW49ImZhbHNlIl0geyBvcGFjaXR5OiAxOyBwb2ludGVyLWV2ZW50czogYXV0bzsgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApOyB9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBpcS1lbmhhbmNlLmNzcyAtIEV4cHJlc3MgYm9va2luZywgUGhvdG8tdG8tcXVvdGUsIEh1bWFuLXByZXNlbmNlLAogICBhbmQgdGhlIFR3ZWFrcyBwYW5lbC4gTG9hZGVkIGFmdGVyIHRoZSBtYWluIHN0eWxlc2hlZXQuCiAgIFVzZXMgdGhlIHNpdGUncyBleGlzdGluZyBkZXNpZ24gdG9rZW5zIGZvciBmdWxsIHZpc3VhbCBjb250aW51aXR5LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIC0tLS0tLS0tLS0gRXhwcmVzcyAoMi10YXApIGJvb2tpbmcgLS0tLS0tLS0tLSAqLwovKiBXaGVuIHRoZSBtb2RhbCBzaGVsbCBpcyBpbiBleHByZXNzIG1vZGUsIGRyb3AgdGhlIHN0ZXBwZXIgLyBzaWRlYmFyIC8gZm9vdAogICBzbyB0aGUgc2luZ2xlIGNvbmZpcm0gc2NyZWVuIG93bnMgdGhlIHdob2xlIHBhbmVsLiAqLwouYW1lbGlhLW1vZGFsLXNoZWxsLmlzLWV4cHJlc3MgLmFtb2NrLXN0ZXBwZXIsCi5hbWVsaWEtbW9kYWwtc2hlbGwuaXMtZXhwcmVzcyAuYW1vY2stc2lkZSwKLmFtZWxpYS1tb2RhbC1zaGVsbC5pcy1leHByZXNzIC5hbW9jay1mb290IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9Ci5hbWVsaWEtbW9kYWwtc2hlbGwuaXMtZXhwcmVzcyB7IG1heC13aWR0aDogNDYwcHg7IGhlaWdodDogYXV0bzsgbWF4LWhlaWdodDogOTJ2aDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQovKiBUaGUgd2lkZ2V0IGlzIG5vcm1hbGx5IHBvc2l0aW9uOmFic29sdXRlIChmaWxscyBhIGZpeGVkLWhlaWdodCBib2R5KS4gSW4gZXhwcmVzcwogICB0aGUgc2hlbGwgaXMgY29udGVudC1zaXplZCwgc28gcHV0IHRoZSB3aWRnZXQgYmFjayBpbnRvIG5vcm1hbCBmbG93IG9yIHRoZSBib2R5CiAgIGNvbGxhcHNlcyB0byAwIGhlaWdodCBhbmQgbm90aGluZyByZW5kZXJzLiAqLwouYW1lbGlhLW1vZGFsLXNoZWxsLmlzLWV4cHJlc3MgLmFtZWxpYS1tb2RhbC1ib2R5IHsgZmxleDogMCAxIGF1dG87IG92ZXJmbG93OiBhdXRvOyBtaW4taGVpZ2h0OiAwOyB9Ci5hbWVsaWEtbW9kYWwtc2hlbGwuaXMtZXhwcmVzcyAuYW1vY2sgeyBwb3NpdGlvbjogc3RhdGljOyBpbnNldDogYXV0bzsgZGlzcGxheTogYmxvY2s7IG92ZXJmbG93OiB2aXNpYmxlOyB9Ci5hbWVsaWEtbW9kYWwtc2hlbGwuaXMtZXhwcmVzcyAuYW1vY2stYm9keSB7IGRpc3BsYXk6IGJsb2NrOyB9Ci5hbWVsaWEtbW9kYWwtc2hlbGwuaXMtZXhwcmVzcyAuYW1vY2stbWFpbiB7IHBvc2l0aW9uOiBzdGF0aWM7IHBhZGRpbmc6IDA7IG92ZXJmbG93OiB2aXNpYmxlOyBoZWlnaHQ6IGF1dG87IGZsZXg6IG5vbmU7IH0KCi54YiB7IHBhZGRpbmc6IDI2cHggMjZweCAyMnB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE2cHg7IH0KLnhiLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfQoueGItZXllYnJvdyB7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7Cn0KLnhiLWRvdCB7IHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6ICM0YWRlODA7IGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDc0LDIyMiwxMjgsLjE4KTsgfQoueGItaCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDIzcHg7IGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBsaW5lLWhlaWdodDogMS4xOyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luOiAwOyB9Ci54Yi10b3RhbCB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMzBweDsKICBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyBjb2xvcjogdmFyKC0taW5rKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBnYXA6IDEwcHg7Cn0KLnhiLXRvdGFsIHNwYW4geyBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogMDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgfQoKLnhiLXRydXN0IHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweCAxNHB4OyBmb250LXNpemU6IDEzLjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luOiAtNHB4IDAgMDsgfQoueGItdHJ1c3QgPiBzcGFuIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNXB4OyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci54Yi10cnVzdCA+IHNwYW4gKyBzcGFuIHsgcGFkZGluZy1sZWZ0OiAxNHB4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXJ1bGUtMik7IH0KLnhiLXRydXN0IC54Yi1zdGFycyB7IGNvbG9yOiB2YXIoLS1hbWJlci1kZWVwLCAjYjg3NDBhKTsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IH0KLnhiLWhvbGQgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IGZvbnQtc2l6ZTogMTMuNXB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiA3cHggMTRweDsgfQoueGItaG9sZCBzdmcgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgZmxleC1zaHJpbms6IDA7IH0KLnhiLWhvbGQgc3Ryb25nIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgbGV0dGVyLXNwYWNpbmc6IC4wMmVtOyB9Ci5hbW9jay1ob2xkIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBmb250LXNpemU6IDEzLjVweDsgY29sb3I6IHZhcigtLWluay0yKTsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogN3B4IDE0cHg7IG1hcmdpbi10b3A6IDRweDsgfQouYW1vY2staG9sZCBzdmcgeyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgZmxleC1zaHJpbms6IDA7IH0KLmFtb2NrLWhvbGQgc3Ryb25nIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfQoueGItbGFiZWwgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IG1hcmdpbjogMnB4IDAgLTZweDsgfQoueGItc2xvdHMgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyBnYXA6IDEwcHg7IH0KLnhiLXNsb3QgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsgdGV4dC1hbGlnbjogbGVmdDsgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxM3B4OwogIHBhZGRpbmc6IDEzcHggMTRweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAycHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGJhY2tncm91bmQgMTQwbXMgZWFzZSwgdHJhbnNmb3JtIDEwMG1zIGVhc2U7CiAgbWluLWhlaWdodDogNjRweDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLnhiLXNsb3Q6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUtMik7IH0KLnhiLXNsb3QuaXMtc2VsIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg3OSwxNDAsMjU1LC4wNyksIHJnYmEoNzksMTQwLDI1NSwuMDIpKTsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzksMTQwLDI1NSwuMTApOyB9Ci54Yi1zbG90IC54Yi1kYXkgeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBjb2xvcjogdmFyKC0taW5rKTsgfQoueGItc2xvdCAueGItdGltZSB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyB9Ci54Yi1zbG90LmlzLXNlbCAueGItdGltZSB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci54Yi1zb29uIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC04cHg7IHJpZ2h0OiAxMHB4OyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOC41cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZDogdmFyKC0taGFsbyk7IGNvbG9yOiAjZmZmOyBwYWRkaW5nOiAycHggN3B4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgZm9udC13ZWlnaHQ6IDYwMDsgfQoueGItc2xvdC54Yi1tb3JlIHsgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgfQoueGItc2xvdC54Yi1tb3JlIC54Yi1kYXkgeyBjb2xvcjogdmFyKC0tc3RlZWwpOyBmb250LXdlaWdodDogNTAwOyB9Ci54Yi1zbG90LnhiLW1vcmUgLnhiLXRpbWUgeyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IH0KCi54Yi1wcmVzZW5jZSB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMXB4OwogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTNweDsgcGFkZGluZzogMTJweCAxNHB4OwogIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNDsKfQoueGItcHJlc2VuY2Ugc3Ryb25nIHsgY29sb3I6IHZhcigtLWluayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnhiLWF2IHsKICBmbGV4LXNocmluazogMDsgd2lkdGg6IDM0cHg7IGhlaWdodDogMzRweDsgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWhhbG8pIDAlLCB2YXIoLS1pbmspIDEwMCUpOwogIGNvbG9yOiAjRkJGQ0ZFOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOwp9CgoueGItaWRlbnQgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IHBhZGRpbmc6IDJweCAycHg7IH0KLnhiLWlkZW50IHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXdlaWdodDogNjAwOyB9Ci54Yi1pZGVudCBhIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUtMik7IH0KLnhiLWlkZW50LWZvcm0geyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuM2ZyIDFmcjsgZ2FwOiAxMHB4OyB9Ci54Yi1pZGVudC1mb3JtIGlucHV0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTFweDsKICBwYWRkaW5nOiAxM3B4IDEzcHg7IGZvbnQtc2l6ZTogMTVweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGNvbG9yOiB2YXIoLS1pbmspOwogIGZvbnQtd2VpZ2h0OiA1MDA7IG91dGxpbmU6IG5vbmU7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtcyBlYXNlLCBib3gtc2hhZG93IDE0MG1zIGVhc2U7Cn0KLnhiLWlkZW50LWZvcm0gaW5wdXQ6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLWhhbG8pOyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3OSwxNDAsMjU1LC4xMCk7IH0KLnhiLWlkZW50LWZvcm0gaW5wdXQueGItaW52YWxpZCB7IGJvcmRlci1jb2xvcjogI2VmNDQ0NDsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjM5LDY4LDY4LC4xMik7IH0KCi54Yi1ndWFyYW50ZWUgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDhweDsKICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjQ1OyBjb2xvcjogdmFyKC0tc3RlZWwpOwp9Ci54Yi1ndWFyYW50ZWUgc3ZnIHsgZmxleC1zaHJpbms6IDA7IGNvbG9yOiAjMWY4YTViOyBtYXJnaW4tdG9wOiAxcHg7IH0KCi54Yi1jb25maXJtIHsKICBtYXJnaW4tdG9wOiAycHg7IHdpZHRoOiAxMDAlOyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsKICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE2cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07CiAgcGFkZGluZzogMTZweDsgYm9yZGVyLXJhZGl1czogMTRweDsgbWluLWhlaWdodDogNTJweDsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxMDBtcyBlYXNlOwp9Ci54Yi1jb25maXJtOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgfQoueGItY29uZmlybTphY3RpdmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfQoueGItZnVsbGxpbmsgewogIGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgcGFkZGluZzogMnB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoueGItZnVsbGxpbms6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rLTIpOyBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyB9CgovKiBkb25lLXNjcmVlbiBhZGRpdGlvbnMgKi8KLmFtb2NrLWRvbmUgLnhiLWNhbCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyBtYXJnaW4tdG9wOiA0cHg7CiAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwogIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ydWxlLTIpOwp9Ci54Yi1yZWZlcnJhbCB7CiAgbWFyZ2luLXRvcDogMjBweDsgcGFkZGluZzogMThweDsgYm9yZGVyLXJhZGl1czogMTZweDsgdGV4dC1hbGlnbjogbGVmdDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDc5LDE0MCwyNTUsLjA4KSwgcmdiYSgxMjQsOTEsMjU1LC4wNikpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwp9Ci54Yi1yZWYtaCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE1cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luLWJvdHRvbTogNHB4OyB9Ci54Yi1yZWYtcCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNDU7IG1hcmdpbi1ib3R0b206IDEycHg7IH0KLnhiLXJlZi1wIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci54Yi1yZWYtYnRuIHsKICB3aWR0aDogMTAwJTsgYm9yZGVyOiAwOyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTQuNXB4OyBwYWRkaW5nOiAxMnB4OyBib3JkZXItcmFkaXVzOiAxMXB4OwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZTsKfQoueGItcmVmLWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IH0KCi8qIC0tLS0tLS0tLS0gU2VydmljZS1hZGRyZXNzIGF1dG9jb21wbGV0ZSAtLS0tLS0tLS0tICovCi5hbW9jay1maWVsZC5mdWxsIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9Ci5hbWYtYWMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwJTsgbGVmdDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDMwOyBtYXJnaW4tdG9wOiA1cHg7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTFweDsgYm94LXNoYWRvdzogMCAxOHB4IDQ0cHggLTE4cHggcmdiYSg3LDE2LDMxLC40NSk7IG92ZXJmbG93OiBoaWRkZW47IGRpc3BsYXk6IG5vbmU7IH0KLmFtZi1hYy5zaG93IHsgZGlzcGxheTogYmxvY2s7IH0KLmFtZi1hYy1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA5cHg7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBsZWZ0OyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogMTFweCAxMnB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5hbWYtYWMtaXRlbSArIC5hbWYtYWMtaXRlbSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgfQouYW1mLWFjLWl0ZW0gc3ZnIHsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyBmbGV4LXNocmluazogMDsgfQouYW1mLWFjLWl0ZW06aG92ZXIsIC5hbWYtYWMtaXRlbS5pcy1hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgfQouYW1mLWFjLWl0ZW0gc3BhbiB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9CgovKiAtLS0tLS0tLS0tIFBob3RvLXRvLXF1b3RlIC0tLS0tLS0tLS0gKi8KLmlxLXBob3RvLWVudHJ5IHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE0cHg7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBsZWZ0OwogIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNnB4OwogIHBhZGRpbmc6IDE0cHggMTZweDsgY3Vyc29yOiBwb2ludGVyOyBtYXJnaW46IDAgMCAxOHB4OwogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNjBtcyBlYXNlLCBib3gtc2hhZG93IDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxMjBtcyBlYXNlOwp9Ci5pcS1waG90by1lbnRyeTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGJveC1zaGFkb3c6IDAgOHB4IDI4cHggLTE2cHggcmdiYSg3OSwxNDAsMjU1LC41KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9Ci5pcS1waG90by1pYyB7CiAgZmxleC1zaHJpbms6IDA7IHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7IGJvcmRlci1yYWRpdXM6IDEycHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taGFsbykgMCUsIHZhcigtLWluaykgMTAwJSk7IGNvbG9yOiAjZmZmOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5pcS1waG90by10eCB7IGZsZXg6IDE7IH0KLmlxLXBob3RvLXR4IC5oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTVweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS1waG90by10eCAucCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLXRvcDogMXB4OyB9Ci5pcS1waG90by1lbnRyeSAuYXJyb3cgeyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IGZsZXgtc2hyaW5rOiAwOyB9CgouaXEtcG1vZGFsIHsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogMTEwMDsgZGlzcGxheTogbm9uZTsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDIwcHg7IGJhY2tncm91bmQ6IHJnYmEoNywxNiwzMSwuNTUpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOyB9Ci5pcS1wbW9kYWwuaXMtb3BlbiB7IGRpc3BsYXk6IGZsZXg7IG9wYWNpdHk6IDE7IH0KLmlxLXBtb2RhbC1zaGVsbCB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDQ0MHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAyMnB4OyBvdmVyZmxvdzogaGlkZGVuOyBib3gtc2hhZG93OiAwIDQwcHggODBweCAtMzBweCByZ2JhKDcsMTYsMzEsLjUpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJweCkgc2NhbGUoLjk4KTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI2MG1zIGN1YmljLWJlemllciguMiwuOCwuMiwxKTsgbWF4LWhlaWdodDogOTJ2aDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfQouaXEtcG1vZGFsLmlzLW9wZW4gLmlxLXBtb2RhbC1zaGVsbCB7IHRyYW5zZm9ybTogbm9uZTsgfQouaXEtcG1vZGFsLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmc6IDE0cHggMThweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgfQouaXEtcG1vZGFsLWhlYWQgLnQgeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNXB4OyBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgY29sb3I6IHZhcigtLWluayk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOXB4OyB9Ci5pcS1wbW9kYWwtaGVhZCAudCAuZG90IHsgd2lkdGg6IDdweDsgaGVpZ2h0OiA3cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogIzRhZGU4MDsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzQsMjIyLDEyOCwuMTgpOyB9Ci5pcS1wbW9kYWwtY2xvc2UgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IGJvcmRlci1yYWRpdXM6IDhweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgY3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfQouaXEtcG1vZGFsLWNsb3NlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS1wbW9kYWwtYm9keSB7IHBhZGRpbmc6IDIwcHg7IG92ZXJmbG93OiBhdXRvOyB9CgouaXEtZHJvcCB7CiAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLXJ1bGUtMik7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDM0cHggMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOwogIGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2UsIGJhY2tncm91bmQgMTYwbXMgZWFzZTsKfQouaXEtZHJvcDpob3ZlciwgLmlxLWRyb3AuZHJhZyB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDQpOyB9Ci5pcS1kcm9wIC5pYyB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9Ci5pcS1kcm9wIC5oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTZweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS1kcm9wIC5wIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOiA0cHg7IH0KLmlxLWRyb3AgLmhpbnQgeyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsLTIpOyBtYXJnaW4tdG9wOiAxMnB4OyB9CgouaXEtc2hvdCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyLXJhZGl1czogMTRweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogIzBiMTMyMjsgfQouaXEtc2hvdCBpbWcgeyB3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IG1heC1oZWlnaHQ6IDI4MHB4OyBvYmplY3QtZml0OiBjb3ZlcjsgfQouaXEtc2NhbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgcmlnaHQ6IDA7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCB2YXIoLS1oYWxvKSwgdHJhbnNwYXJlbnQpOyBib3gtc2hhZG93OiAwIDAgMTZweCAycHggcmdiYSg3OSwxNDAsMjU1LC42KTsgdG9wOiAwOyBhbmltYXRpb246IGlxU2NhbiAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9CkBrZXlmcmFtZXMgaXFTY2FuIHsgMCUsMTAwJSB7IHRvcDogNCU7IH0gNTAlIHsgdG9wOiA5NiU7IH0gfQouaXEtdGFnIHsgcG9zaXRpb246IGFic29sdXRlOyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogcmdiYSg3LDE2LDMxLC43OCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE4KTsgcGFkZGluZzogNHB4IDhweDsgYm9yZGVyLXJhZGl1czogN3B4OyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZSwgdHJhbnNmb3JtIC4zcyBlYXNlOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9Ci5pcS10YWcuc2hvdyB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogbm9uZTsgfQouaXEtdGFnIC5kIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLTIpOyBtYXJnaW4tcmlnaHQ6IDZweDsgfQoKLmlxLWFuYWx5c2lzIHsgbWFyZ2luLXRvcDogMTZweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IH0KLmlxLWFyb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsgYW5pbWF0aW9uOiBpcUluIC4zNXMgZm9yd2FyZHM7IH0KLmlxLWFyb3cgc3ZnIHsgY29sb3I6ICMxZjhhNWI7IGZsZXgtc2hyaW5rOiAwOyB9Ci5pcS1hcm93IC5rIHsgY29sb3I6IHZhcigtLXN0ZWVsKTsgfQouaXEtYXJvdyAudiB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluayk7IH0KQGtleWZyYW1lcyBpcUluIHsgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IG5vbmU7IH0gfQoKLmlxLXByZXN1bHQgeyBtYXJnaW4tdG9wOiAxOHB4OyBwYWRkaW5nOiAxNnB4OyBib3JkZXItcmFkaXVzOiAxNHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IH0KLmlxLXByZXN1bHQgLmxibCB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbC0yKTsgfQouaXEtcHJlc3VsdCAuYW10IHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMzJweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMnB4IDAgMnB4OyB9Ci5pcS1wcmVzdWx0IC5zdWIgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KLmlxLXBib29rIHsgbWFyZ2luLXRvcDogMTRweDsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNS41cHg7IHBhZGRpbmc6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDEzcHg7IG1pbi1oZWlnaHQ6IDUwcHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZTsgfQouaXEtcGJvb2s6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5pcS1wZm9vdCB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMTJweDsgfQouaXEtcGZvb3QtbGluayB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH0KLmlxLXBmb290LWxpbms6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rLTIpOyBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyB9CgovKiAtLS0tLS0tLS0tIFZpc2lvbiBzY29wZSBhZGRpdGlvbnMgLS0tLS0tLS0tLSAqLwouaXEtc2NhbmxhYmVsIHsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgcmlnaHQ6MDsgYm90dG9tOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlOyBmb250LXNpemU6MTMuNXB4OyBsZXR0ZXItc3BhY2luZzouMWVtOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiNmZmY7IHRleHQtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC42KTsgfQouaXEtc2NvcGVkIHsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDoxNHB4OyB9Ci5pcS10aHVtYnMgeyBkaXNwbGF5OmZsZXg7IGdhcDo4cHg7IGZsZXgtd3JhcDp3cmFwOyB9Ci5pcS10aHVtYiB7IHBvc2l0aW9uOnJlbGF0aXZlOyB3aWR0aDo3NHB4OyB9Ci5pcS10aHVtYiBpbWcgeyB3aWR0aDo3NHB4OyBoZWlnaHQ6NTVweDsgb2JqZWN0LWZpdDpjb3ZlcjsgYm9yZGVyLXJhZGl1czo5cHg7IGJvcmRlcjoxcHggc29saWQgdmFyKC0tcnVsZSk7IGRpc3BsYXk6YmxvY2s7IH0KLmlxLXRodW1iIC5zdmMgeyBkaXNwbGF5OmJsb2NrOyBmb250LXNpemU6MTNweDsgY29sb3I6dmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOjNweDsgbGluZS1oZWlnaHQ6MS4xNTsgfQouaXEtdGh1bWIgLnJtIHsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDotNnB4OyByaWdodDotNnB4OyB3aWR0aDoxOHB4OyBoZWlnaHQ6MThweDsgYm9yZGVyLXJhZGl1czo1MCU7IGJvcmRlcjowOyBiYWNrZ3JvdW5kOnZhcigtLWluayk7IGNvbG9yOiNmZmY7IGZvbnQtc2l6ZToxNHB4OyBsaW5lLWhlaWdodDoxOyBjdXJzb3I6cG9pbnRlcjsgfQouaXEtYWRkc2hvdCB7IHdpZHRoOjc0cHg7IGhlaWdodDo1NXB4OyBib3JkZXI6MS41cHggZGFzaGVkIHZhcigtLXJ1bGUtMik7IGJvcmRlci1yYWRpdXM6OXB4OyBiYWNrZ3JvdW5kOm5vbmU7IGN1cnNvcjpwb2ludGVyOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBnYXA6MnB4OyBjb2xvcjp2YXIoLS1zdGVlbCk7IGZvbnQtc2l6ZToxM3B4OyB9Ci5pcS1hZGRzaG90OmhvdmVyIHsgYm9yZGVyLWNvbG9yOnZhcigtLWhhbG8pOyBjb2xvcjp2YXIoLS1oYWxvLWRlZXApOyB9Ci5pcS1pbnYtaCB7IGZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZToxM3B4OyBsZXR0ZXItc3BhY2luZzouMTRlbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjp2YXIoLS1zdGVlbC0yKTsgfQouaXEtZmxhZ3MgeyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgZ2FwOjdweDsgfQouaXEtZmxhZyB7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6ZmxleC1zdGFydDsgZ2FwOjhweDsgZm9udC1zaXplOjE0cHg7IGxpbmUtaGVpZ2h0OjEuNDsgcGFkZGluZzo5cHggMTFweDsgYm9yZGVyLXJhZGl1czoxMHB4OyB9Ci5pcS1mbGFnIHN2ZyB7IGZsZXgtc2hyaW5rOjA7IG1hcmdpbi10b3A6MXB4OyB9Ci5pcS1mbGFnLm9rIHsgYmFja2dyb3VuZDpyZ2JhKDMxLDEzOCw5MSwuMDkpOyB9Ci5pcS1mbGFnLm9rIHN2ZyB7IGNvbG9yOiMxZjhhNWI7IH0KLmlxLWZsYWcud2FybiB7IGJhY2tncm91bmQ6cmdiYSgxODAsODMsOSwuMTApOyB9Ci5pcS1mbGFnLndhcm4gc3ZnIHsgY29sb3I6I2I0NTMwOTsgfQouaXEtZmxhZyBzcGFuIHsgY29sb3I6dmFyKC0taW5rLTIpOyB9Ci5pcS1kZXZpY2UgeyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsgZ2FwOjEwcHg7IHdpZHRoOjEwMCU7IHRleHQtYWxpZ246bGVmdDsgcGFkZGluZzoxMXB4IDEzcHg7IGJvcmRlci1yYWRpdXM6MTJweDsgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYmFja2dyb3VuZDp2YXIoLS1iZy1jYXJkKTsgZm9udC1mYW1pbHk6aW5oZXJpdDsgY3Vyc29yOnBvaW50ZXI7IH0KLmlxLWRldmljZS5hZGQgeyBjb2xvcjp2YXIoLS1pbmstMik7IGZvbnQtc2l6ZToxM3B4OyBmb250LXdlaWdodDo1MDA7IH0KLmlxLWRldmljZS5hZGQgc3ZnIHsgY29sb3I6dmFyKC0tc3RlZWwtMik7IGZsZXgtc2hyaW5rOjA7IH0KLmlxLWRldmljZS5hZGQ6aG92ZXIgeyBib3JkZXItY29sb3I6dmFyKC0taGFsbyk7IH0KLmlxLWRldmljZS5vayB7IGN1cnNvcjpkZWZhdWx0OyBib3JkZXItY29sb3I6cmdiYSgzMSwxMzgsOTEsLjQpOyBiYWNrZ3JvdW5kOnJnYmEoMzEsMTM4LDkxLC4wNSk7IH0KLmlxLWRldmljZS5vayBzdmcgeyBjb2xvcjojMWY4YTViOyBmbGV4LXNocmluazowOyB9Ci5pcS1kZXZpY2UgLmRtIHsgZm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0JyxzYW5zLXNlcmlmOyBmb250LXdlaWdodDo2MDA7IGZvbnQtc2l6ZToxMy41cHg7IGNvbG9yOnZhcigtLWluayk7IH0KLmlxLWRldmljZSAuZHAgeyBmb250LXNpemU6MTRweDsgY29sb3I6dmFyKC0tc3RlZWwpOyBtYXJnaW4tdG9wOjFweDsgfQouaXEtY29uZiB7IGZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZToxM3B4OyBsZXR0ZXItc3BhY2luZzouMDZlbTsgY29sb3I6dmFyKC0taGFsby0yKTsgbWFyZ2luLWxlZnQ6OHB4OyB9Ci5pcS1sb3djb25mIHsgdGV4dC1hbGlnbjpjZW50ZXI7IHBhZGRpbmc6MTRweCA2cHg7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246Y29sdW1uOyBhbGlnbi1pdGVtczpjZW50ZXI7IGdhcDo4cHg7IH0KLmlxLWxjLWljIHsgY29sb3I6I2I0NTMwOTsgfQouaXEtbG93Y29uZiAuaCB7IGZvbnQtZmFtaWx5OidJbnRlciBUaWdodCcsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6NjAwOyBmb250LXNpemU6MTdweDsgbGV0dGVyLXNwYWNpbmc6LS4wMTVlbTsgY29sb3I6dmFyKC0taW5rKTsgfQouaXEtbG93Y29uZiAucCB7IGZvbnQtc2l6ZToxM3B4OyBjb2xvcjp2YXIoLS1zdGVlbCk7IGxpbmUtaGVpZ2h0OjEuNTsgbWF4LXdpZHRoOjM2Y2g7IH0KLmlxLWxjLXJvdyB7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246Y29sdW1uOyBnYXA6OHB4OyB3aWR0aDoxMDAlOyBtYXJnaW4tdG9wOjZweDsgfQoKLyogLS0tLS0tLS0tLSBUd2Vha3MgcGFuZWwgKHZhbmlsbGEpIC0tLS0tLS0tLS0gKi8KLmlxLXR3ZWFrcyB7IHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IDE4cHg7IGJvdHRvbTogMThweDsgei1pbmRleDogMTIwMDsgd2lkdGg6IDI5MHB4OyBkaXNwbGF5OiBub25lOyBmb250LWZhbWlseTogJ0ludGVyJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmOyB9Ci5pcS10d2Vha3MuaXMtb24geyBkaXNwbGF5OiBibG9jazsgfQouaXEtdHdlYWtzLWNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNnB4OyBib3gtc2hhZG93OiAwIDMwcHggNzBweCAtMjRweCByZ2JhKDcsMTYsMzEsLjQ1KTsgb3ZlcmZsb3c6IGhpZGRlbjsgfQouaXEtdHdlYWtzLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmc6IDEycHggMTRweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgfQouaXEtdHdlYWtzLWhlYWQgLnQgeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNC41cHg7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS10d2Vha3MteCB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IHBhZGRpbmc6IDRweDsgZGlzcGxheTogZmxleDsgfQouaXEtdHdlYWtzLXg6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgfQouaXEtdHdlYWtzLWJvZHkgeyBwYWRkaW5nOiAxMnB4IDE0cHggMTRweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7IH0KLmlxLXR3LXNlY3Rpb24geyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IG1hcmdpbjogMTBweCAwIDJweDsgfQouaXEtdHctc2VjdGlvbjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH0KLmlxLXR3LXJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMTBweDsgcGFkZGluZzogN3B4IDA7IGN1cnNvcjogcG9pbnRlcjsgfQouaXEtdHctdHh0IC5oIHsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taW5rKTsgfQouaXEtdHctdHh0IC5wIHsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGxpbmUtaGVpZ2h0OiAxLjM1OyBtYXJnaW4tdG9wOiAxcHg7IH0KLmlxLXN3aXRjaCB7IGZsZXgtc2hyaW5rOiAwOyB3aWR0aDogMzhweDsgaGVpZ2h0OiAyMnB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgYmFja2dyb3VuZDogdmFyKC0tcnVsZS0yKTsgcG9zaXRpb246IHJlbGF0aXZlOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7IG1hcmdpbi10b3A6IDJweDsgfQouaXEtc3dpdGNoOjphZnRlciB7IGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMnB4OyBsZWZ0OiAycHg7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogI2ZmZjsgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsLjI1KTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2U7IH0KLmlxLXR3LXJvdy5vbiAuaXEtc3dpdGNoIHsgYmFja2dyb3VuZDogdmFyKC0taGFsbyk7IH0KLmlxLXR3LXJvdy5vbiAuaXEtc3dpdGNoOjphZnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTsgfQouaXEtdHctYnRuIHsgbWFyZ2luLXRvcDogMTBweDsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTBweDsgcGFkZGluZzogOXB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taW5rLTIpOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtcyBlYXNlLCBjb2xvciAxNDBtcyBlYXNlOyB9Ci5pcS10dy1idG46aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXJ1bGUtMik7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS10dy1ub3RlIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IG1hcmdpbi10b3A6IDhweDsgbGluZS1oZWlnaHQ6IDEuNDsgfQoKQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgLmlxLXR3ZWFrcyB7IHJpZ2h0OiAxMHB4OyBsZWZ0OiAxMHB4OyBib3R0b206IDEwcHg7IHdpZHRoOiBhdXRvOyB9CiAgLnhiLXNsb3RzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAuaXEtcG1vZGFsLXNoZWxsIHsgbWF4LXdpZHRoOiBub25lOyB9Cn0KCi8qID09PT09IEFDQ0VTU0lCSUxJVFk6IGJvZHkgdGV4dCAxNXB4KyB0aHJvdWdob3V0ID09PT09ICovCi5zdGVwLXAgeyBmb250LXNpemU6IDE1LjVweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS42ICFpbXBvcnRhbnQ7IH0KLnJvYm90aWMtc3ZjLWRlc2MgeyBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsgfQouaWhzLWNhcmQtcCB7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyB9Ci5wYWktY2FyZC1wIHsgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7IH0KLmNsb3NlbG9vcC1kZXNjIHsgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7IH0KLmFwcHQtZGVzYyB7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyB9CgoudHJ1c3QtY2FyZHMgewogICAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDE2cHg7CiAgICAgIG1hcmdpbjogMjhweCAwIDA7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHsgLnRydXN0LWNhcmRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQogICAgLnRydXN0LWNhcmQgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7IHBhZGRpbmc6IDI0cHggMjJweDsKICAgICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICAudHJ1c3QtY2FyZDo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsKICAgICAgaGVpZ2h0OiAzcHg7IGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7CiAgICB9CiAgICAudHJ1c3QtY2FyZC1wcmVicmY6OmJlZm9yZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0taGFsby1kZWVwKSwgdmFyKC0taXJpLWMpKTsgfQogICAgLnRydXN0LWNhcmQtY2hlY2tpbjo6YmVmb3JlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1pcmktYyksICMwNTk2NjkpOyB9CiAgICAudHJ1c3QtY2FyZC12aWRlbzo6YmVmb3JlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDU5NjY5LCB2YXIoLS1oYWxvLWRlZXApKTsgfQogICAgLnRydXN0LWNhcmQtaWMgewogICAgICB3aWR0aDogNDJweDsgaGVpZ2h0OiA0MnB4OyBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGZsZXgtc2hyaW5rOiAwOwogICAgfQogICAgLnRydXN0LWNhcmQtbGFiZWwgewogICAgICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW46IDA7CiAgICB9CiAgICAudHJ1c3QtY2FyZC1oIHsKICAgICAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIGZvbnQtc2l6ZTogMTdweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgY29sb3I6IHZhcigtLWluayk7CiAgICAgIG1hcmdpbjogMDsgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICB9CiAgICAudHJ1c3QtY2FyZC1wIHsgZm9udC1zaXplOiAxNC41cHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiB2YXIoLS1pbmstMik7IG1hcmdpbjogMDsgfQogICAgLnRydXN0LWNhcmQtdGFnIHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjA4KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4xOCk7CiAgICAgIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgcGFkZGluZzogNHB4IDEycHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyBtYXJnaW4tdG9wOiA0cHg7CiAgICB9CiAgICAudHJ1c3QtY2FyZC10YWcgLmRvdCB7IHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOyB9CgogICAgLyogVmlkZW8gZ2FsbGVyeSAqLwogICAgLnZpZGVvLWdhbGxlcnkgewogICAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDEycHg7CiAgICAgIG1hcmdpbi10b3A6IDE0cHg7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsgLnZpZGVvLWdhbGxlcnkgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfQogICAgLnZpZGVvLXRodW1iIHsKICAgICAgYXNwZWN0LXJhdGlvOiAxNi85OyBib3JkZXItcmFkaXVzOiAxMnB4OyBvdmVyZmxvdzogaGlkZGVuOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNDBtcyBlYXNlLCBib3gtc2hhZG93IDE0MG1zIGVhc2U7CiAgICB9CiAgICAudmlkZW8tdGh1bWI6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgOHB4IDI0cHggLThweCByZ2JhKDcsMTYsMzEsLjE4KTsgfQogICAgLnZpZGVvLXRodW1iLWJnIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcGFwZXItMiksIHZhcigtLXBhcGVyKSk7CiAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgfQogICAgLnZpZGVvLXBsYXktYnRuIHsKICAgICAgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tcGFwZXIpOwogICAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDcsMTYsMzEsLjI1KTsKICAgIH0KICAgIC52aWRlby10aHVtYi1sYWJlbCB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiA4cHg7IGxlZnQ6IDhweDsgcmlnaHQ6IDhweDsKICAgICAgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmspOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlci1yYWRpdXM6IDZweDsgcGFkZGluZzogNHB4IDhweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMS4zOwogICAgfQoKLmJhY2tib25lLXNlY3Rpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1pbnZlcnRlZCk7IGNvbG9yOiB2YXIoLS1mZy1pbnZlcnRlZCk7CiAgYm9yZGVyLXJhZGl1czogMzJweDsgcGFkZGluZzogNzJweCA1NnB4OwogIG1hcmdpbjogMDsKfQouYmFja2JvbmUtc2VjdGlvbjo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudCg4MCUgNjAlIGF0IDEwMCUgMCUsIHJnYmEoNzksMTQwLDI1NSwuMTQpLCB0cmFuc3BhcmVudCA1NSUpLAogICAgcmFkaWFsLWdyYWRpZW50KDUwJSA1MCUgYXQgMCUgMTAwJSwgcmdiYSgxNzcsMTU1LDI1NSwuMSksIHRyYW5zcGFyZW50IDYwJSk7Cn0KLyogQmx1ZXByaW50IGdyaWQgb3ZlcmxheSAqLwouYmFja2JvbmUtc2VjdGlvbjo6YWZ0ZXIgewogIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMDI1KSAxcHgsIHRyYW5zcGFyZW50IDFweCksCiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsLjAyNSkgMXB4LCB0cmFuc3BhcmVudCAxcHgpOwogIGJhY2tncm91bmQtc2l6ZTogNDhweCA0OHB4OwogIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDgwJSA4MCUgYXQgNTAlIDUwJSwgYmxhY2sgNDAlLCB0cmFuc3BhcmVudCAxMDAlKTsKfQouYmFja2JvbmUtaW5uZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH0KLmJhY2tib25lLWV5ZWJyb3cgewogIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGxldHRlci1zcGFjaW5nOiAuMTZlbTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taXJpLWMpOyBtYXJnaW46IDAgMCAyMHB4OwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsKfQouYmFja2JvbmUtZXllYnJvdzo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgd2lkdGg6IDI4cHg7IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1pcmktYyk7IG9wYWNpdHk6IC42Owp9Ci5iYWNrYm9uZS1oIHsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXNpemU6IGNsYW1wKDMycHgsIDV2dywgNThweCk7IGxldHRlci1zcGFjaW5nOiAtLjAzNWVtOyBsaW5lLWhlaWdodDogMS4wOwogIG1hcmdpbjogMCAwIDZweDsgY29sb3I6ICNmZmY7IHRleHQtd3JhcDogYmFsYW5jZTsKfQouYmFja2JvbmUtaCAucS13b3JkIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQouYmFja2JvbmUtaCAucS1sZXR0ZXIgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWlyaS1hKSwgdmFyKC0taGFsby0yKSwgdmFyKC0taXJpLWMpKTsKICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmJhY2tib25lLXN1YiB7CiAgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMS41NTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjY1KTsKICBtYXgtd2lkdGg6IDU4Y2g7IG1hcmdpbjogMTZweCAwIDUycHg7Cn0KLyogTEFZRVIgR1JJRCAqLwouYmFja2JvbmUtZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxcHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDgpOyBib3JkZXItcmFkaXVzOiAyMHB4OyBvdmVyZmxvdzogaGlkZGVuOwogIG1hcmdpbi1ib3R0b206IDQ4cHg7Cn0KLmJhY2tib25lLW5vZGUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjAzKTsgcGFkZGluZzogMjhweCAyNHB4OwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTgwbXMgZWFzZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmJhY2tib25lLW5vZGU6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNik7IH0KLmJhY2tib25lLW5vZGUtaWMgewogIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGJvcmRlci1yYWRpdXM6IDExcHg7IG1hcmdpbi1ib3R0b206IDE2cHg7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDcpOyBjb2xvcjogdmFyKC0taXJpLWMpOwp9Ci5iYWNrYm9uZS1ub2RlLXNwYWNlIHsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsKICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjM4KTsgbWFyZ2luLWJvdHRvbTogOHB4Owp9Ci5iYWNrYm9uZS1ub2RlLWggewogIGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc2l6ZTogMTdweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDdweDsKfQouYmFja2JvbmUtbm9kZS1wIHsKICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNTgpOyBtYXJnaW46IDAgMCAxMnB4Owp9Ci5iYWNrYm9uZS1ub2RlLXJlc3VsdCB7CiAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taXJpLWMpOwogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4Owp9Ci5iYWNrYm9uZS1ub2RlLXJlc3VsdDo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsgd2lkdGg6IDVweDsgaGVpZ2h0OiA1cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogY3VycmVudENvbG9yOyBmbGV4LXNocmluazogMDsKfQovKiBGT09URVIgQkFSICovCi5iYWNrYm9uZS1mb290IHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMjRweDsKICBwYWRkaW5nLXRvcDogNDBweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOyBmbGV4LXdyYXA6IHdyYXA7Cn0KLmJhY2tib25lLWZvb3QtbGVmdCB7fQouYmFja2JvbmUtdGFnbGluZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAyLjV2dywgMjRweCk7IGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOwogIGNvbG9yOiAjZmZmOyBtYXJnaW46IDAgMCA2cHg7Cn0KLmJhY2tib25lLXRhZ2xpbmUtc3ViIHsKICBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTsgbWFyZ2luOiAwOwp9Ci5iYWNrYm9uZS1jdGEgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDsKICBiYWNrZ3JvdW5kOiAjZmZmOyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgcGFkZGluZzogMTNweCAyMnB4OwogIGJvcmRlci1yYWRpdXM6IDk5OXB4OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7IGZsZXgtc2hyaW5rOiAwOyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1mYW1pbHk6IGluaGVyaXQ7Cn0KLmJhY2tib25lLWN0YTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWlyaS1jKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9CgovKiBRIE5BTUVQTEFURSAqLwouYmFja2JvbmUtbmFtZXBsYXRlIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IGdhcDogMDsgbWFyZ2luLWJvdHRvbTogMjhweDsKICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXNpemU6IGNsYW1wKDEzcHgsIDEuNXZ3LCAxNnB4KTsgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4zKTsKfQouYmFja2JvbmUtbmFtZXBsYXRlIC5zZWcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLmJhY2tib25lLW5hbWVwbGF0ZSAuc2VnLmhpZ2hsaWdodCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taXJpLWEpLCB2YXIoLS1oYWxvLTIpKTsKICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmJhY2tib25lLW5hbWVwbGF0ZSAuc2VnLWRvdCB7CiAgd2lkdGg6IDNweDsgaGVpZ2h0OiAzcHg7IGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4yKTsgbWFyZ2luOiAwIDNweCAzcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgeyAuYmFja2JvbmUtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfQpAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsgLmJhY2tib25lLXNlY3Rpb24geyBwYWRkaW5nOiA0OHB4IDI0cHg7IGJvcmRlci1yYWRpdXM6IDIycHg7IH0gfQpAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsgLmJhY2tib25lLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSAuYmFja2JvbmUtZm9vdCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH0KCi5paHMtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgIGdhcDogMTZweDsKICAgIG1hcmdpbi10b3A6IDQwcHg7CiAgfQogIC5paHMtY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyBwYWRkaW5nOiAyNnB4IDI0cHg7CiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZSwgYm94LXNoYWRvdyAxNjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTIwbXMgZWFzZTsKICB9CiAgLmlocy1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyBib3gtc2hhZG93OiAwIDZweCAyNHB4IC04cHggcmdiYSg3LDE2LDMxLC4xMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfQogIC5paHMtZmVhdHVyZWQgewogICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHZhcigtLWJnLWludmVydGVkKSAwJSwgIzBkMWQzOCAxMDAlKTsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsMTY3LDI1NSwuMjUpOwogICAgY29sb3I6ICNmZmY7CiAgfQogIC5paHMtZmVhdHVyZWQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHJnYmEoMTExLDE2NywyNTUsLjUpOyBib3gtc2hhZG93OiAwIDhweCAzMnB4IC0xMHB4IHJnYmEoNzksMTQwLDI1NSwuMjUpOyB9CiAgLmlocy1jYXJkLXRvcCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWFyZ2luLWJvdHRvbTogMTRweDsgfQogIC5paHMtaWMgewogICAgd2lkdGg6IDQ2cHg7IGhlaWdodDogNDZweDsgYm9yZGVyLXJhZGl1czogMTNweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGZsZXgtc2hyaW5rOiAwOwogIH0KICAuaWhzLWZlYXR1cmVkIC5paHMtaWMgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTIpOyBjb2xvcjogdmFyKC0taXJpLWMpOyB9CiAgLmlocy1iYWRnZSB7CiAgICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogNjAwOwogICAgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4xOCk7IGNvbG9yOiB2YXIoLS1pcmktYyk7CiAgICBwYWRkaW5nOiA0cHggMTBweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzksMTQwLDI1NSwuMjUpOwogIH0KICAuaWhzLWNhcmQtaCB7CiAgICBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogNjUwOwogICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgbWFyZ2luOiAwIDAgOHB4OyBjb2xvcjogdmFyKC0taW5rKTsKICB9CiAgLmlocy1mZWF0dXJlZCAuaWhzLWNhcmQtaCB7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDIycHg7IH0KICAuaWhzLWNhcmQtcCB7IGZvbnQtc2l6ZTogMTQuNXB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBtYXJnaW46IDAgMCAxNnB4OyB9CiAgLmlocy1mZWF0dXJlZCAuaWhzLWNhcmQtcCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43Mik7IGZvbnQtc2l6ZTogMTQuNXB4OyB9CiAgLmlocy10YWdzIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDdweDsgfQogIC5paHMtdGFncyBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLXN0ZWVsKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsKICAgIHBhZGRpbmc6IDRweCAxMHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsKICB9CiAgLmlocy1mZWF0dXJlZCAuaWhzLXRhZ3Mgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNyk7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTQpOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzIpOwogIH0KICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7CiAgICAuaWhzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9CiAgICAuaWhzLWZlYXR1cmVkIHsgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfQogIH0KICBAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHsKICAgIC5paHMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAuaWhzLWZlYXR1cmVkIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfQogIH0KCi5zY2VuYXJpby13cmFwIHsgbWFyZ2luLXRvcDogMzBweDsgfQogICAgICAgIC5zY2VuYXJpby1oZWFkIHsgZm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgZm9udC1zaXplOjEzLjVweDsgbGV0dGVyLXNwYWNpbmc6LjE0ZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6dmFyKC0tc3RlZWwpOyBtYXJnaW46MCAwIDE2cHg7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6OXB4OyB9CiAgICAgICAgLnNjZW5hcmlvLWhlYWQgLnBpcCB7IHdpZHRoOjdweDsgaGVpZ2h0OjdweDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQ6dmFyKC0taGFsbyk7IGJveC1zaGFkb3c6MCAwIDAgNHB4IHZhcigtLWhhbG8tc29mdCk7IH0KICAgICAgICAuc2NlbmFyaW8tZ3JpZCB7IGRpc3BsYXk6Z3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7IGdhcDoxNHB4OyB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpeyAuc2NlbmFyaW8tZ3JpZHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjsgfSB9CiAgICAgICAgLnNjZW5hcmlvLWNhcmQgeyB0ZXh0LWFsaWduOmxlZnQ7IGN1cnNvcjpwb2ludGVyOyBiYWNrZ3JvdW5kOnZhcigtLWJnLWNhcmQpOyBib3JkZXI6MXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOjE4cHg7IHBhZGRpbmc6MjBweDsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDoxMXB4OyB0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAxNjBtcyBlYXNlLCBib3gtc2hhZG93IDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxMjBtcyBlYXNlOyBmb250LWZhbWlseTppbmhlcml0OyB9CiAgICAgICAgLnNjZW5hcmlvLWNhcmQ6aG92ZXIgeyBib3JkZXItY29sb3I6dmFyKC0taGFsbyk7IGJveC1zaGFkb3c6MCAxNHB4IDM0cHggLTIwcHggcmdiYSg3OSwxNDAsMjU1LC41NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpOyB9CiAgICAgICAgLnNjZW5hcmlvLWljIHsgd2lkdGg6NDJweDsgaGVpZ2h0OjQycHg7IGJvcmRlci1yYWRpdXM6MTJweDsgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWhhbG8pIDAlLHZhcigtLWluaykgMTAwJSk7IGNvbG9yOiNmZmY7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyB9CiAgICAgICAgLnNjZW5hcmlvLWggeyBmb250LWZhbWlseTonSW50ZXIgVGlnaHQnLHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OjYwMDsgZm9udC1zaXplOjE3cHg7IGxldHRlci1zcGFjaW5nOi0uMDJlbTsgY29sb3I6dmFyKC0taW5rKTsgbWFyZ2luOjA7IH0KICAgICAgICAuc2NlbmFyaW8tcCB7IGZvbnQtc2l6ZToxMy41cHg7IGxpbmUtaGVpZ2h0OjEuNTsgY29sb3I6dmFyKC0taW5rLTIpOyBtYXJnaW46MDsgZmxleDoxOyB9CiAgICAgICAgLnNjZW5hcmlvLWluYyB7IGZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTNweDsgbGV0dGVyLXNwYWNpbmc6LjA0ZW07IGNvbG9yOnZhcigtLWhhbG8tZGVlcCk7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBtYXJnaW4tdG9wOjJweDsgfQoKLnBhaS1ibG9jayB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1pbnZlcnRlZCk7IGNvbG9yOiB2YXIoLS1mZy1pbnZlcnRlZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMzJweDsKICAgIHBhZGRpbmc6IDcycHggNTZweDsKICB9CiAgLnBhaS1ibG9jazo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGJhY2tncm91bmQ6CiAgICAgIHJhZGlhbC1ncmFkaWVudCgxMjAlIDkwJSBhdCA4OCUgOCUsIHJnYmEoNzksMTQwLDI1NSwuMTgpLCB0cmFuc3BhcmVudCA1MiUpLAogICAgICByYWRpYWwtZ3JhZGllbnQoNjAlIDYwJSBhdCAwJSAxMDAlLCByZ2JhKDE3NywxNTUsMjU1LC4xMiksIHRyYW5zcGFyZW50IDYwJSk7CiAgfQogIC5wYWktYmxvY2sgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgLnBhaS1leWVicm93IHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby0yKTsgbWFyZ2luOiAwIDAgMTZweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA5cHg7IH0KICAucGFpLWV5ZWJyb3cgLnBpcCB7IHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8pOyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNzksMTQwLDI1NSwuNTUpOyBhbmltYXRpb246IGxpdmVQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfQogIC5wYWktaCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuOHZ3LCA0NnB4KTsgbGluZS1oZWlnaHQ6IDEuMDQ7IG1hcmdpbjogMCAwIDE4cHg7IGNvbG9yOiAjZmZmOyB0ZXh0LXdyYXA6IGJhbGFuY2U7IG1heC13aWR0aDogMThjaDsgfQogIC5wYWktaCAuZ3JhZCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWlyaS1hKSAwJSwgdmFyKC0taGFsby0yKSA1MCUsIHZhcigtLWlyaS1jKSAxMDAlKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IGJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgLnBhaS1sZWRlIHsgZm9udC1zaXplOiAxN3B4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzIpOyBtYXgtd2lkdGg6IDYwY2g7IG1hcmdpbjogMCAwIDQwcHg7IH0KCiAgLyogUFJPT0YgQkFOTkVSICovCiAgLnBhaS1wcm9vZiB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNDUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMyk7CiAgICBib3JkZXItcmFkaXVzOiAyMnB4OyBwYWRkaW5nOiAzMHB4IDMycHg7IG1hcmdpbi1ib3R0b206IDQ0cHg7CiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMzVmciAxZnI7IGdhcDogMzZweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsKICB9CiAgLnBhaS1wcm9vZi1leWVicm93IHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taXJpLWMpOyBtYXJnaW46IDAgMCAxMnB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgfQogIC5wYWktcHJvb2YtZXllYnJvdyAubGl2ZSB7IHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6ICM0YWRlODA7IGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg3NCwyMjIsMTI4LC42KTsgYW5pbWF0aW9uOiBsaXZlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH0KICAucGFpLXByb29mLWggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTsgbWFyZ2luOiAwIDAgMTBweDsgY29sb3I6ICNmZmY7IH0KICAucGFpLXByb29mLXAgeyBmb250LXNpemU6IDE0LjVweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcpOyBtYXJnaW46IDA7IH0KICAucGFpLXNwZWNzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyB9CiAgLnBhaS1zcGVjIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyBiYWNrZ3JvdW5kOiByZ2JhKDcsMTYsMzEsLjQpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsgYm9yZGVyLXJhZGl1czogMTNweDsgcGFkZGluZzogMTJweCAxNHB4OyB9CiAgLnBhaS1zcGVjLWljIHsgd2lkdGg6IDM0cHg7IGhlaWdodDogMzRweDsgZmxleC1zaHJpbms6IDA7IGJvcmRlci1yYWRpdXM6IDlweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNzcsMTU1LDI1NSwuMjIpLCByZ2JhKDExMSwxNjcsMjU1LC4xNikpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgY29sb3I6IHZhcigtLWlyaS1jKTsgfQogIC5wYWktc3BlYy1uYW1lIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiAjZmZmOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9CiAgLnBhaS1zcGVjLXJvbGUgeyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTsgbWFyZ2luLXRvcDogMnB4OyB9CiAgLnBhaS1wcm9vZi1mb290IHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA5cHg7IHBhZGRpbmctdG9wOiAyMHB4OyBtYXJnaW4tdG9wOiA0cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7IH0KICAucGFpLXByb29mLWZvb3Qgc3ZnIHsgY29sb3I6IHZhcigtLWlyaS1jKTsgZmxleC1zaHJpbms6IDA7IH0KCiAgLyogV0hBVCdTIElOQ0xVREVEIEdSSUQgKi8KICAucGFpLXN1YiB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTsgbWFyZ2luOiAwIDAgMThweDsgfQogIC5wYWktZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTRweDsgbWFyZ2luLWJvdHRvbTogNDRweDsgfQogIC5wYWktY2FyZCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7IGJvcmRlci1yYWRpdXM6IDE4cHg7IHBhZGRpbmc6IDI0cHg7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxMjBtcyBlYXNlOyB9CiAgLnBhaS1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDExMSwxNjcsMjU1LC41NSk7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9CiAgLnBhaS1jYXJkLWljIHsgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDsgYm9yZGVyLXJhZGl1czogMTJweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNzcsMTU1LDI1NSwuMTgpLCByZ2JhKDExMSwxNjcsMjU1LC4xMykpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgY29sb3I6IHZhcigtLWlyaS1jKTsgbWFyZ2luLWJvdHRvbTogMTZweDsgfQogIC5wYWktY2FyZC1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgbWFyZ2luOiAwIDAgN3B4OyBjb2xvcjogI2ZmZjsgfQogIC5wYWktY2FyZC1wIHsgZm9udC1zaXplOiAxNC41cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjYpOyBtYXJnaW46IDA7IH0KCiAgLyogTEVER0VSIChwcml2YXRlIHZzIGNsb3VkKSAqLwogIC5wYWktbGVkZ2VyLXdyYXAgeyBtYXJnaW4tYm90dG9tOiA0NHB4OyB9CiAgLnBhaS1sZWRnZXIgeyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMik7IGJvcmRlci1yYWRpdXM6IDE4cHg7IG92ZXJmbG93OiBoaWRkZW47IH0KICAucGFpLWxyb3cgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuM2ZyIDFmciAxZnI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAucGFpLWxyb3cgKyAucGFpLWxyb3cgeyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOyB9CiAgLnBhaS1scm93LmhlYWQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNCk7IH0KICAucGFpLWxjZWxsIHsgcGFkZGluZzogMTRweCAyMHB4OyBmb250LXNpemU6IDE0LjVweDsgfQogIC5wYWktbGNlbGwuayB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42Mik7IGZvbnQtc2l6ZTogMTRweDsgfQogIC5wYWktbGNlbGwucGFpLWNvbCB7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNTAwOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgfQogIC5wYWktbGNlbGwuY2xvdWQtY29sIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsgfQogIC5wYWktbHJvdy5oZWFkIC5wYWktbGNlbGwgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTQuNXB4OyBsZXR0ZXItc3BhY2luZzogLjFlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgcGFkZGluZy10b3A6IDE2cHg7IHBhZGRpbmctYm90dG9tOiAxNnB4OyB9CiAgLnBhaS1scm93LmhlYWQgLnBhaS1jb2wgeyBjb2xvcjogdmFyKC0taXJpLWMpOyB9CiAgLnBhaS1scm93LmhlYWQgLmNsb3VkLWNvbCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40NSk7IH0KICAucGFpLXllcyB7IGNvbG9yOiAjNGFkZTgwOyB9CgogIC8qIEFVRElFTkNFICsgQ1RBICovCiAgLnBhaS1mb290IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDQwcHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmctdG9wOiA0NHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7IH0KICAucGFpLWF1ZC1sYWJlbCB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTsgbWFyZ2luOiAwIDAgMTZweDsgfQogIC5wYWktY2hpcHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogOXB4OyB9CiAgLnBhaS1jaGlwIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODIpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNik7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgcGFkZGluZzogOHB4IDE0cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyB9CiAgLnBhaS1jdGEtY2FyZCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA1KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTMpOyBib3JkZXItcmFkaXVzOiAyMnB4OyBwYWRkaW5nOiAyOHB4IDMwcHg7IH0KICAucGFpLWN0YS1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjFweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgbWFyZ2luOiAwIDAgOHB4OyBjb2xvcjogI2ZmZjsgfQogIC5wYWktY3RhLXAgeyBmb250LXNpemU6IDE0LjVweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42OCk7IG1hcmdpbjogMCAwIDIwcHg7IH0KICAucGFpLWN0YS1idG4geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA5cHg7IGJhY2tncm91bmQ6ICNmZmY7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE0LjVweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgcGFkZGluZzogMTNweCAyMnB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2UsIGJhY2tncm91bmQgMTYwbXMgZWFzZTsgfQogIC5wYWktY3RhLWJ0bjpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgYmFja2dyb3VuZDogdmFyKC0taXJpLWMpOyB9CiAgLnBhaS1jdGEtYnRuIC5hcnJvdyB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBmb250LXNpemU6IDE3cHg7IGxpbmUtaGVpZ2h0OiAxOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZTsgfQogIC5wYWktY3RhLWJ0bjpob3ZlciAuYXJyb3cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfQogIC8qIFVzZSBjYXNlcyBncmlkICovCiAgLnBhaS11c2UtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTJweDsgbWFyZ2luLWJvdHRvbTogNDBweDsgfQogIC5wYWktdXNlLWNhcmQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA5KTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMjBweDsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2U7IH0KICAucGFpLXVzZS1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4yKTsgfQogIC5wYWktdXNlLWljIHsgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgYm9yZGVyLXJhZGl1czogMTBweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDEycHg7IH0KICAucGFpLXVzZS1jYXQgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KICAucGFpLXVzZS1saXN0IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwIDAgMCAxNHB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDZweDsgfQogIC5wYWktdXNlLWxpc3QgbGkgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42OCk7IH0KCiAgLyogSGFyZHdhcmUgbGluZXVwICovCiAgLnBhaS1ody1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxMnB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9CiAgLnBhaS1ody1jYXJkIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDQpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOSk7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDIycHggMjBweDsgfQogIC5wYWktaHctYmFkZ2UgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taXJpLWMpOyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjEyKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwxNDAsMjU1LC4yKTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAzcHggOXB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogIC5wYWktaHctaCB7IGZvbnQtZmFtaWx5OiAnSW50ZXIgVGlnaHQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE3cHg7IGxldHRlci1zcGFjaW5nOiAtLjAyZW07IGNvbG9yOiAjZmZmOyBtYXJnaW4tYm90dG9tOiA2cHg7IH0KICAucGFpLWh3LW1vZGVscyB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pcmktYyk7IG1hcmdpbi1ib3R0b206IDEwcHg7IGxpbmUtaGVpZ2h0OiAxLjU7IH0KICAucGFpLWh3LXAgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjUpOyBtYXJnaW46IDAgMCAxMnB4OyB9CiAgLnBhaS1ody10YWdzIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDZweDsgfQogIC5wYWktaHctdGFncyBzcGFuIHsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsgcGFkZGluZzogM3B4IDlweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IH0KCiAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkgewogICAgLnBhaS11c2UtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICAgIC5wYWktaHctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7CiAgICAucGFpLXVzZS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgIC5wYWktaHctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgfQoKICAvKiBHRVQgU1RBUlRFRCBsYXlvdXQgKi8KICAucGFpLWdldHN0YXJ0ZWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogNDBweDsgYWxpZ24taXRlbXM6IHN0YXJ0OyBwYWRkaW5nLXRvcDogNDRweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOyB9CiAgLnBhaS1ncy1sZWZ0IHt9CiAgLnBhaS1ncy1yaWdodCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMjBweDsgfQoKICAvKiBKb3VybmV5IHN0ZXBzICovCiAgLnBhaS1qb3VybmV5IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAwOyB9CiAgLnBhaS1qc3RlcCB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTZweDsgcGFkZGluZy1ib3R0b206IDI0cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogIC5wYWktanN0ZXA6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTNweDsgdG9wOiAzMnB4OyBib3R0b206IDA7IHdpZHRoOiAxcHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjEyKTsgfQogIC5wYWktamRvdCB7IHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDI4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4yMik7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzksMTQwLDI1NSwuNCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXNocmluazogMDsgfQogIC5wYWktamRvdCBzcGFuIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWlyaS1jKTsgfQogIC5wYWktamggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNXB4OyBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDVweDsgfQogIC5wYWktanAgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjIpOyB9CgogIC8qIENUQSBjYXJkIGV4dHJhcyAqLwogIC5wYWktY3RhLWV5ZWJyb3cgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogIzRhZGU4MDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogIC5wYWktYnJpbmcgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNnB4IDE4cHg7IG1hcmdpbjogMThweCAwOyB9CiAgLnBhaS1icmluZy1sYWJlbCB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40NSk7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0KICAucGFpLWJyaW5nLWxpc3QgeyBtYXJnaW46IDA7IHBhZGRpbmctbGVmdDogMTZweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA3cHg7IH0KICAucGFpLWJyaW5nLWxpc3QgbGkgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42OCk7IH0KICAucGFpLWN0YS1mb290IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA5cHg7IG1hcmdpbi10b3A6IDE0cHg7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyB9CgogIC8qIEZBUSAqLwogIC5wYWktZmFxIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDMpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOSk7IGJvcmRlci1yYWRpdXM6IDE4cHg7IG92ZXJmbG93OiBoaWRkZW47IH0KICAucGFpLWZhcS1sYWJlbCB7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjE0ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40KTsgcGFkZGluZzogMTRweCAxOHB4IDEwcHg7IH0KICAucGFpLWZhcS1pdGVtIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA4KTsgfQogIC5wYWktZmFxLWl0ZW0gc3VtbWFyeSB7IHBhZGRpbmc6IDEzcHggMThweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuODIpOyBjdXJzb3I6IHBvaW50ZXI7IGxpc3Qtc3R5bGU6IG5vbmU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgdXNlci1zZWxlY3Q6IG5vbmU7IH0KICAucGFpLWZhcS1pdGVtIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIgeyBkaXNwbGF5OiBub25lOyB9CiAgLnBhaS1mYXEtaXRlbSBzdW1tYXJ5OjphZnRlciB7IGNvbnRlbnQ6ICcrJzsgZm9udC1zaXplOiAxOHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMzUpOyBmb250LXdlaWdodDogMzAwOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsgfQogIC5wYWktZmFxLWl0ZW1bb3Blbl0gc3VtbWFyeTo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IGNvbG9yOiB2YXIoLS1pcmktYyk7IH0KICAucGFpLWZhcS1pdGVtIHN1bW1hcnk6aG92ZXIgeyBjb2xvcjogI2ZmZjsgfQogIC5wYWktZmFxLWl0ZW0gcCB7IHBhZGRpbmc6IDAgMThweCAxNnB4OyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTsgbWFyZ2luOiAwOyB9CgogIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAgIC5wYWktZ2V0c3RhcnRlZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgfQoKICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHsKICAgIC5wYWktZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAucGFpLWJsb2NrIHsgcGFkZGluZzogNDhweCAyNHB4OyBib3JkZXItcmFkaXVzOiAyMnB4OyB9CiAgICAucGFpLXByb29mIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMjRweDsgcGFkZGluZzogMjZweCAyMnB4OyB9CiAgICAucGFpLWZvb3QgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAyOHB4OyB9CiAgfQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogICAgLnBhaS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgIC5wYWktbHJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAucGFpLWxyb3cgLnBhaS1sY2VsbCB7IHBhZGRpbmc6IDlweCAxOHB4OyB9CiAgICAucGFpLWxyb3cgLnBhaS1sY2VsbC5rIHsgcGFkZGluZy10b3A6IDE0cHg7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjFlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjQ1KTsgfQogICAgLnBhaS1sY2VsbC5jbG91ZC1jb2wgeyBib3JkZXItbGVmdDogMDsgfQogICAgLnBhaS1sY2VsbC5wYWktY29sOjpiZWZvcmUgeyBjb250ZW50OiAnUHJpdmF0ZSBBSSAtICc7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC40KTsgZm9udC13ZWlnaHQ6IDQwMDsgfQogICAgLnBhaS1sY2VsbC5jbG91ZC1jb2w6OmJlZm9yZSB7IGNvbnRlbnQ6ICdDbG91ZCBBUEkgLSAnOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMyk7IH0KICAgIC5wYWktbHJvdy5oZWFkIHsgZGlzcGxheTogbm9uZTsgfQogIH0KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkgewogICN3b3JsZG1vZGVsLXRlYXNlciA+IC5zaGVsbCA+IGEgPiBkaXYgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50OyBwYWRkaW5nOiA0MHB4IDI4cHggIWltcG9ydGFudDsgfQogICN3b3JsZG1vZGVsLXRlYXNlciBzdmcgeyB3aWR0aDogMTcwcHg7IGhlaWdodDogMTcwcHg7IH0KfQoKLmlxLWNhbGxtb2RhbCB7IHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IHotaW5kZXg6IDEzMDA7IGRpc3BsYXk6IG5vbmU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAyMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDcsMTYsMzEsLjYpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOyB9Ci5pcS1jYWxsbW9kYWwuaXMtb3BlbiB7IGRpc3BsYXk6IGZsZXg7IG9wYWNpdHk6IDE7IH0KLmlxLWNhbGxtb2RhbC1zaGVsbCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNDIwcHg7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDIycHg7IHBhZGRpbmc6IDMwcHggMjZweCAyNHB4OyBib3gtc2hhZG93OiAwIDQwcHggOTBweCAtMzBweCByZ2JhKDcsMTYsMzEsLjU1KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEycHgpIHNjYWxlKC45OCk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNjBtcyBjdWJpYy1iZXppZXIoLjIsLjgsLjIsMSk7IHRleHQtYWxpZ246IGNlbnRlcjsgfQouaXEtY2FsbG1vZGFsLmlzLW9wZW4gLmlxLWNhbGxtb2RhbC1zaGVsbCB7IHRyYW5zZm9ybTogbm9uZTsgfQouaXEtY2FsbG1vZGFsLWNsb3NlIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE0cHg7IHJpZ2h0OiAxNHB4OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IGJvcmRlci1yYWRpdXM6IDhweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgY3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfQouaXEtY2FsbG1vZGFsLWNsb3NlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5pcS1jYWxsLWV5ZWJyb3cgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9Ci5pcS1jYWxsLWRvdCB7IHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6ICM0YWRlODA7IGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDc0LDIyMiwxMjgsLjE4KTsgYW5pbWF0aW9uOiBpcUNhbGxQdWxzZSAycyBpbmZpbml0ZTsgfQpAa2V5ZnJhbWVzIGlxQ2FsbFB1bHNlIHsgMCUsMTAwJSB7IG9wYWNpdHk6IDE7IH0gNTAlIHsgb3BhY2l0eTogLjQ7IH0gfQouaXEtY2FsbC1oIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjZweDsgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMCAwIDhweDsgfQouaXEtY2FsbC1wIHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDAgYXV0byAyMnB4OyBtYXgtd2lkdGg6IDM0Y2g7IH0KLmlxLWNhbGwtYnRuIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTJweDsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLXJhZGl1czogMTVweDsgcGFkZGluZzogMThweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfQouaXEtY2FsbC1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5pcS1jYWxsLWJ0bjphY3RpdmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfQouaXEtY2FsbC1idG4gc3ZnIHsgZmxleC1zaHJpbms6IDA7IH0KLmlxLWNhbGwtYnRuIC5sYmwgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgbGluZS1oZWlnaHQ6IDEuMTsgfQouaXEtY2FsbC1idG4gLmxibCAuc21hbGwgeyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDUwMDsgb3BhY2l0eTogLjc7IGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyB9Ci5pcS1jYWxsLWJ0biAubGJsIC5udW0geyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAyMnB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9Ci5pcS1jYWxsLWhvdXJzIHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLXRvcDogMTJweDsgbGV0dGVyLXNwYWNpbmc6IC4wM2VtOyB9Ci5pcS1jYWxsLWNvbnRhY3Qtcm93IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyB9Ci5pcS10ZXh0LWJ0biB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS1pbmspICFpbXBvcnRhbnQ7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcnVsZS0yKTsgfQouaXEtdGV4dC1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1oYWxvLXNvZnQpICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbykgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCkgIWltcG9ydGFudDsgfQouaXEtY2FsbC1hbHQgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDE4cHg7IHBhZGRpbmctdG9wOiAxNnB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IH0KLmlxLWNhbGwtYWx0IGJ1dHRvbiB7IGZsZXg6IDE7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTFweDsgcGFkZGluZzogMTFweCA4cHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmstMik7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGNvbG9yIDE0MG1zIGVhc2U7IH0KLmlxLWNhbGwtYWx0IGJ1dHRvbjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS0yKTsgY29sb3I6IHZhcigtLWluayk7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7IC5pcS1jYWxsbW9kYWwtc2hlbGwgeyBtYXgtd2lkdGg6IG5vbmU7IH0gLmlxLWNhbGwtYWx0IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9CgouYnRuLWFzc2VzcyB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOwogIGNvbG9yOiB2YXIoLS1pbmstMik7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE2MG1zLCBjb2xvciAxNjBtcywgYmFja2dyb3VuZCAxNjBtczsKfQouYnRuLWFzc2Vzczpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsbyk7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjA2KTsgfQoKLyogTU9EQUwgU0hFTEwgKi8KI3BjcU1vZGFsIHsKICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAxNjAwOwogIGRpc3BsYXk6IG5vbmU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAxNnB4Owp9CiNwY3FNb2RhbC5pcy1vcGVuIHsgZGlzcGxheTogZmxleDsgfQoucGNxLW92ZXJsYXkgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZDogcmdiYSg3LDE2LDMxLC43KTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTsKICBhbmltYXRpb246IHBjcUZhZGUgMjAwbXMgZWFzZTsKfQpAa2V5ZnJhbWVzIHBjcUZhZGUgeyBmcm9tIHsgb3BhY2l0eTowOyB9IHRvIHsgb3BhY2l0eToxOyB9IH0KQGtleWZyYW1lcyBwY3FVcCB7IGZyb20geyBvcGFjaXR5OjA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfSB0byB7IG9wYWNpdHk6MTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH0KLnBjcS1zaGVsbCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2NjBweDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGJvcmRlci1yYWRpdXM6IDI2cHg7CiAgYm94LXNoYWRvdzogMCA0MHB4IDEyMHB4IC0zMHB4IHJnYmEoNywxNiwzMSwuNiksIDAgMCAwIDFweCB2YXIoLS1ydWxlKTsKICBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1heC1oZWlnaHQ6IDkwdmg7IGFuaW1hdGlvbjogcGNxVXAgMjQwbXMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpOwp9Ci8qIEhFQUQgKi8KLnBjcS1oZWFkIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7CiAgcGFkZGluZzogMTRweCAyMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGZsZXgtc2hyaW5rOiAwOwp9Ci5wY3EtYnJhbmQgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KLnBjcS1wcm9nIHsgZmxleDogMTsgaGVpZ2h0OiAzcHg7IGJhY2tncm91bmQ6IHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiA5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyB9Ci5wY3EtcHJvZy1iYXIgeyBoZWlnaHQ6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDk5cHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0taGFsby1kZWVwKSwgdmFyKC0taXJpLWMpKTsgdHJhbnNpdGlvbjogd2lkdGggMzIwbXMgZWFzZTsgd2lkdGg6IDAlOyB9Ci5wY3Etc3RlcC1sYmwgeyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KLnBjcS14IHsKICBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDsgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsgY29sb3I6IHZhcigtLXN0ZWVsKTsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBjb2xvciAxMzBtcywgYm9yZGVyLWNvbG9yIDEzMG1zOyBmbGV4LXNocmluazogMDsKfQoucGNxLXg6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyB9Ci8qIEJPRFkgKi8KLnBjcS1ib2R5IHsgZmxleDogMTsgb3ZlcmZsb3cteTogYXV0bzsgcGFkZGluZzogMzJweCAzMnB4IDI0cHg7IH0KQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7IC5wY3EtYm9keSB7IHBhZGRpbmc6IDI0cHggMjBweCAyMHB4OyB9IH0KLnBjcS1leWVicm93IHsgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJyxtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgbWFyZ2luOiAwIDAgMTBweDsgfQoucGNxLXEgeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JyxzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IGNsYW1wKDE5cHgsMy4ydncsMjVweCk7IGxldHRlci1zcGFjaW5nOiAtLjAyNWVtOyBsaW5lLWhlaWdodDogMS4xMjsgY29sb3I6IHZhcigtLWluayk7IG1hcmdpbjogMCAwIDI0cHg7IHRleHQtd3JhcDogYmFsYW5jZTsgfQovKiBQQVRIIEdSSUQgKi8KLnBjcS1wYXRocyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAxMXB4OyB9CkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgeyAucGNxLXBhdGhzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfQoucGNxLXBjYXJkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ydWxlKTsKICBib3JkZXItcmFkaXVzOiAxOHB4OyBwYWRkaW5nOiAyMHB4IDE2cHg7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1hbGlnbjogbGVmdDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDVweDsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTUwbXMsIGJhY2tncm91bmQgMTUwbXMsIHRyYW5zZm9ybSAxMjBtczsKICBmb250LWZhbWlseTogaW5oZXJpdDsKfQoucGNxLXBjYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wNCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfQoucGNxLXBjYXJkOmFjdGl2ZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQoucGNxLXBpYyB7IGZvbnQtc2l6ZTogMjZweDsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbi1ib3R0b206IDZweDsgfQoucGNxLXBoIHsgZm9udC1mYW1pbHk6ICdJbnRlciBUaWdodCcsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxNnB4OyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBjb2xvcjogdmFyKC0taW5rKTsgfQoucGNxLXBwIHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS40NTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luOiAwOyB9Ci8qIE9QVElPTlMgKi8KLnBjcS1vcHRzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IG1hcmdpbi1ib3R0b206IDIycHg7IH0KLnBjcS1vcHQgewogIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDEzcHg7IHBhZGRpbmc6IDE0cHggMThweDsKICB0ZXh0LWFsaWduOiBsZWZ0OyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWluay0yKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE1MG1zLCBiYWNrZ3JvdW5kIDE1MG1zLCBjb2xvciAxNTBtczsKICBtaW4taGVpZ2h0OiA1MnB4Owp9Ci5wY3Etb3B0OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1oYWxvKTsgY29sb3I6IHZhcigtLWluayk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMDMpOyB9Ci5wY3Etb3B0LnNlbCB7IGJvcmRlci1jb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wOCk7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBmb250LXdlaWdodDogNjAwOyB9Ci5wY3Etb3B0LnNlbDo6YWZ0ZXIgeyBjb250ZW50OiAn4pyTJzsgbWFyZ2luLWxlZnQ6IGF1dG87IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLyogTkFWICovCi5wY3EtbmF2IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBwYWRkaW5nLXRvcDogNnB4OyB9Ci5wY3EtYmFjayB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogOXB4IDE2cHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogY29sb3IgMTMwbXMsIGJvcmRlci1jb2xvciAxMzBtczsgfQoucGNxLWJhY2s6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLTIpOyB9Ci5wY3EtbmV4dCB7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1wYXBlcik7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDExcHggMjJweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTQuNXB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcywgdHJhbnNmb3JtIDEzMG1zOyB9Ci5wY3EtbmV4dDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWhhbG8tZGVlcCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfQoucGNxLW5leHQ6ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1ydWxlLTIpOyBjb2xvcjogdmFyKC0tc3RlZWwpOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB0cmFuc2Zvcm06IG5vbmU7IH0KLnBjcS1za2lwIHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiAwOyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwtMik7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4OyBwYWRkaW5nOiA0cHg7IH0KLnBjcS1za2lwOmhvdmVyIHsgY29sb3I6IHZhcigtLXN0ZWVsKTsgfQovKiBSRVNVTFQgKi8KLnBjcS1yZXN1bHQtYmFkZ2UgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDc5LDE0MCwyNTUsLjEpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjIpOwogIGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogNXB4IDE0cHg7CiAgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgbWFyZ2luLWJvdHRvbTogMTRweDsKfQoucGNxLXJlc3VsdC1iYWRnZSAuZG90IHsgd2lkdGg6IDdweDsgaGVpZ2h0OiA3cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0taGFsbyk7IGFuaW1hdGlvbjogbGl2ZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9Ci5wY3EtcmVzdWx0LWggeyBmb250LWZhbWlseTogJ0ludGVyIFRpZ2h0JyxzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IGNsYW1wKDIycHgsMy41dncsMjhweCk7IGxldHRlci1zcGFjaW5nOiAtLjAzZW07IG1hcmdpbjogMCAwIDhweDsgY29sb3I6IHZhcigtLWluayk7IH0KLnBjcS1yZXN1bHQtc3ViIHsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDAgMCAyNnB4OyBsaW5lLWhlaWdodDogMS41NTsgfQoucGNxLXJlY3MgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEwcHg7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0KLnBjcS1yZWMgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDE0cHg7CiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOwogIGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDE2cHggMThweDsKfQoucGNxLXJlYy1udW0geyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWhhbG8tZGVlcCksIHZhcigtLWlyaS1jKSk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjZmZmOyBmbGV4LXNocmluazogMDsgfQoucGNxLXJlYy1oIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luLWJvdHRvbTogM3B4OyB9Ci5wY3EtcmVjLXAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGxpbmUtaGVpZ2h0OiAxLjU7IG1hcmdpbjogMDsgfQoucGNxLWJ1ZGdldCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNzksMTQwLDI1NSwuMDgpLCByZ2JhKDE3NywxNTUsMjU1LC4wOCkpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjIpOyBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiAxOHB4IDIwcHg7IG1hcmdpbi1ib3R0b206IDI0cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiAxNnB4OyBmbGV4LXdyYXA6IHdyYXA7IH0KLnBjcS1idWRnZXQtbGFiZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBtYXJnaW4tYm90dG9tOiA0cHg7IH0KLnBjcS1idWRnZXQtcmFuZ2UgeyBmb250LWZhbWlseTogIkludGVyIFRpZ2h0IixzYW5zLXNlcmlmOyBmb250LXdlaWdodDogODAwOyBmb250LXNpemU6IDI0cHg7IGxldHRlci1zcGFjaW5nOiAtLjAzZW07IGNvbG9yOiB2YXIoLS1pbmspOyB9Ci5wY3EtYnVkZ2V0LW5vdGUgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IGxpbmUtaGVpZ2h0OiAxLjU7IG1heC13aWR0aDogMjYwcHg7IH0KLnBjcS1uZXh0LXN0ZXBzIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBwYWRkaW5nLXRvcDogMjBweDsgbWFyZ2luLXRvcDogNHB4OyB9Ci5wY3EtbnMtbGFiZWwgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi1ib3R0b206IDE0cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfQoucGNxLW5zLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMTBweDsgfQoucGNxLWJ0bi1wcmltYXJ5IHsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogMTJweCAyMnB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAtLjAxZW07IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE1MG1zLCB0cmFuc2Zvcm0gMTMwbXM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoucGNxLWJ0bi1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0taGFsby1kZWVwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9Ci5wY3EtYnRuLWdob3N0IHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1pbmstMik7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcnVsZS0yKTsgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDExcHggMjBweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA3cHg7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtcywgY29sb3IgMTQwbXM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoucGNxLWJ0bi1naG9zdDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLWluayk7IH0KLnBjcS1idG4tZXhwbG9yZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDc5LDE0MCwyNTUsLjMpOyBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogMTBweCAxOHB4OyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxNC41cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogN3B4OyB0cmFuc2l0aW9uOiBhbGwgMTQwbXM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoucGNxLWJ0bi1leHBsb3JlOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wNyk7IH0KLyogV2hhdCB3ZSBoZWFyZCAqLwoucGNxLWhlYXJkIHsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNHB4IDE4cHg7IG1hcmdpbi1ib3R0b206IDE4cHg7IH0KLnBjcS1oZWFyZC1sYWJlbCB7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLWJvdHRvbTogMTBweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IH0KLnBjcS1oZWFyZC1saXN0IHsgbWFyZ2luOiAwOyBwYWRkaW5nLWxlZnQ6IDE2cHg7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4OyB9Ci5wY3EtaGVhcmQtbGlzdCBsaSB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNDU7IH0KLnBjcS1ibGluZHNwb3QgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwxNTgsMTEsLjA3KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDUsMTU4LDExLC4yNSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDE2cHggMThweDsgbWFyZ2luLWJvdHRvbTogMTRweDsgfQoucGNxLWRvbnRkbyB7IGJhY2tncm91bmQ6IHJnYmEoMjM5LDY4LDY4LC4wNik7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LDY4LDY4LC4yKTsgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTZweCAxOHB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9Ci5wY3Etd2Fybi1sYWJlbCB7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICNkOTc3MDY7IG1hcmdpbi1ib3R0b206IDhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IH0KLnBjcS13YXJuLXJlZCB7IGNvbG9yOiAjZGMyNjI2OyB9Ci5wY3Etd2Fybi1wIHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogdmFyKC0taW5rLTIpOyBtYXJnaW46IDA7IH0KLnBjcS10aW1lbGluZSB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ydWxlKTsgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMThweCAxOHB4IDEwcHg7IG1hcmdpbi1ib3R0b206IDE4cHg7IH0KLnBjcS10bC1sYWJlbCB7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLWJvdHRvbTogMTZweDsgfQoucGNxLXRzdGVwIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNHB4OyBwYWRkaW5nLWJvdHRvbTogMTZweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9Ci5wY3EtdHN0ZXA6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHsgY29udGVudDogIiI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTFweDsgdG9wOiAyNnB4OyBib3R0b206IDA7IHdpZHRoOiAxcHg7IGJhY2tncm91bmQ6IHZhcigtLXJ1bGUpOyB9Ci5wY3EtdHN0ZXAtZG90IHsgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBmbGV4LXNocmluazogMDsgYmFja2dyb3VuZDogdmFyKC0taW5rKTsgY29sb3I6IHZhcigtLXBhcGVyKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IH0KLnBjcS10c3RlcC1oIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1pbmspOyBtYXJnaW4tYm90dG9tOiAzcHg7IH0KLnBjcS10c3RlcC1wIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc3RlZWwpOyBsaW5lLWhlaWdodDogMS41OyB9Ci5wY3EtYnVpbGRpbmctc3Bpbm5lciB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgbWFyZ2luOiAwIGF1dG87IGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLXJ1bGUpOyBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyBhbmltYXRpb246IHBjcVNwaW4gLjlzIGxpbmVhciBpbmZpbml0ZTsgfQpAa2V5ZnJhbWVzIHBjcVNwaW4geyB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfQovKiBQaGFzZSBibG9ja3MgKi8KLnBjcS1waGFzZS1ibG9jayB7IG1hcmdpbi1ib3R0b206IDE4cHg7IH0KLnBjcS1waGFzZS0xIC5wY3EtcmVjcyB7IG1hcmdpbi1ib3R0b206IDA7IH0KLnBjcS1waGFzZS1sYWJlbCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjEyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IG1hcmdpbi1ib3R0b206IDEycHg7IH0KLnBjcS1waGFzZS1udW0geyBwYWRkaW5nOiAzcHggMTBweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTRweDsgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItMik7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KLnBjcS1waGFzZS1udW0tMSB7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMTIpOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgfQoucGNxLXBoYXNlLW51bS0zIHsgYmFja2dyb3VuZDogcmdiYSgxNzcsMTU1LDI1NSwuMTIpOyBjb2xvcjogIzdjNWNiZjsgfQoucGNxLXBoYXNlLWxpc3QgeyBtYXJnaW46IDA7IHBhZGRpbmctbGVmdDogMThweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA3cHg7IH0KLnBjcS1waGFzZS1saXN0IGxpIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rLTIpOyBsaW5lLWhlaWdodDogMS41OyB9Ci5wY3EtcGhhc2UtcCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWluay0yKTsgbGluZS1oZWlnaHQ6IDEuNTU7IG1hcmdpbjogMDsgfQoucGNxLXBoYXNlLTMgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci0yKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDE2cHggMThweDsgfQoucGNxLXJlYy10YWcgeyBmb250LWZhbWlseTogIkdlaXN0IE1vbm8iLG1vbm9zcGFjZTsgZm9udC1zaXplOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjFlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IGJhY2tncm91bmQ6IHJnYmEoNzksMTQwLDI1NSwuMSk7IHBhZGRpbmc6IDJweCA4cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBtYXJnaW4tbGVmdDogOHB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9Ci5wY3EtY29tbWl0LWxldmVscyB7IG1hcmdpbi1ib3R0b206IDRweDsgfQoucGNxLWNvbW1pdC1sYWJlbCB7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLWJvdHRvbTogMTRweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5wY3EtY29tbWl0LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLDFmcik7IGdhcDogMTBweDsgfQpAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHsgLnBjcS1jb21taXQtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KLnBjcS1jb21taXQtY2FyZCB7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDE4cHggMTRweDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNXB4OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTMwbXMgZWFzZSwgYm94LXNoYWRvdyAxMzBtcyBlYXNlOyBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJ1bGUpOyB9Ci5wY3EtY29tbWl0LWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgNnB4IDIwcHggLThweCByZ2JhKDcsMTYsMzEsLjE1KTsgfQoucGNxLWNvbW1pdC1sZXZlbCB7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWJvdHRvbTogMnB4OyB9Ci5wY3EtY29tbWl0LWFjdGlvbiB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWluayk7IGxpbmUtaGVpZ2h0OiAxLjM7IH0KLnBjcS1jb21taXQtbm90ZSB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLXN0ZWVsKTsgbWFyZ2luLXRvcDogMnB4OyB9Ci5wY3EtY29tbWl0LWxvdyB7IGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLTIpOyB9Ci5wY3EtY29tbWl0LWxvdyAucGNxLWNvbW1pdC1sZXZlbCB7IGNvbG9yOiB2YXIoLS1zdGVlbCk7IH0KLnBjcS1jb21taXQtbWlkIHsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wNik7IGJvcmRlci1jb2xvcjogcmdiYSg3OSwxNDAsMjU1LC4yNSk7IH0KLnBjcS1jb21taXQtbWlkIC5wY3EtY29tbWl0LWxldmVsIHsgY29sb3I6IHZhcigtLWhhbG8tZGVlcCk7IH0KLnBjcS1jb21taXQtbWlkIC5wY3EtY29tbWl0LWFjdGlvbiB7IGNvbG9yOiB2YXIoLS1oYWxvLWRlZXApOyB9Ci5wY3EtY29tbWl0LWhpZ2ggeyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLWluayk7IH0KLnBjcS1jb21taXQtaGlnaCAucGNxLWNvbW1pdC1sZXZlbCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7IH0KLnBjcS1jb21taXQtaGlnaCAucGNxLWNvbW1pdC1hY3Rpb24geyBjb2xvcjogI2ZmZjsgfQoucGNxLWNvbW1pdC1oaWdoIC5wY3EtY29tbWl0LW5vdGUgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7IH0KLnBjcS1jb21taXQtaGlnaDpob3ZlciB7IGJveC1zaGFkb3c6IDAgOHB4IDI0cHggLThweCByZ2JhKDcsMTYsMzEsLjM1KTsgfQovKiBST0kgaW5zaWdodCB2aXNpb24gKi8KLnBjcS1yb2kgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDc0LDIyMiwxMjgsLjA3KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3NCwyMjIsMTI4LC4yKTsgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMTRweCAxOHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyBmb250LXNpemU6IDE0LjVweDsgbGluZS1oZWlnaHQ6IDEuNTU7IGNvbG9yOiB2YXIoLS1pbmstMik7IH0KLnBjcS1yb2kgc3ZnIHsgY29sb3I6ICMwNTk2Njk7IGZsZXgtc2hyaW5rOiAwOyBtYXJnaW4tdG9wOiAycHg7IH0KLnBjcS1pbnNpZ2h0IHsgYmFja2dyb3VuZDogcmdiYSg3OSwxNDAsMjU1LC4wNik7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzksMTQwLDI1NSwuMTgpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxNnB4IDE4cHg7IG1hcmdpbi1ib3R0b206IDE4cHg7IH0KLnBjcS1pbnNpZ2h0LWxhYmVsIHsgZm9udC1mYW1pbHk6ICJHZWlzdCBNb25vIixtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTRweDsgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0taGFsby1kZWVwKTsgbWFyZ2luLWJvdHRvbTogOHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgfQoucGNxLWluc2lnaHQtcCB7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHZhcigtLWluay0yKTsgbWFyZ2luOiAwOyBmb250LXN0eWxlOiBpdGFsaWM7IH0KLnBjcS12aXNpb24geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE3NywxNTUsMjU1LC4wOCksIHJnYmEoNzksMTQwLDI1NSwuMDYpKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNzcsMTU1LDI1NSwuMik7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDE2cHggMThweDsgbWFyZ2luLWJvdHRvbTogMThweDsgfQoucGNxLXZpc2lvbi1sYWJlbCB7IGZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsbW9ub3NwYWNlOyBmb250LXNpemU6IDE0cHg7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICM3YzVjYmY7IG1hcmdpbi1ib3R0b206IDhweDsgfQoucGNxLXZpc2lvbi1wIHsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogdmFyKC0taW5rKTsgbWFyZ2luOiAwOyBmb250LXdlaWdodDogNTAwOyB9
Leave a Reply