{"id":347282,"date":"2026-10-21T00:22:55","date_gmt":"2026-10-21T03:22:55","guid":{"rendered":"https:\/\/mkt.estrategia.com\/cj\/assinaturas-black-friday-juridica\/"},"modified":"2026-10-26T12:36:02","modified_gmt":"2026-10-26T15:36:02","slug":"assinaturas-black-friday-juridica","status":"publish","type":"page","link":"https:\/\/mkt.estrategia.com\/cj\/assinaturas-black-friday-juridica\/","title":{"rendered":"Assinaturas Black Friday Jur\u00eddica"},"content":{"rendered":"\n[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243;][et_pb_row _builder_version=&#8221;4.16&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243;][et_pb_text _builder_version=&#8221;4.16&#8243;]<div id=\"lp-host\"><\/div><script id=\"lp-payload\" type=\"text\/plain\">PGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M\/ZmFtaWx5PVJhbGV3YXk6NDAwLDQwMGksNTAwLDUwMGksNzAwLDcwMGklN0NQb3BwaW5zOjQwMCw2MDAlN0NPcGVuK1NhbnM6NDAwLDcwMCw2MDAsNDAwaSw3MDBpIiByZWw9InN0eWxlc2hlZXQiPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Qb3BwaW5zOndnaHRAMzAwOzQwMDs3MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPjxzdHlsZT4KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIE92ZXJyaWRlIGRvIHRlbWEgKERpdmkgKyBlc3RyYXRlZ2lhX2dyYXRpcykgcGFyYSBhIHJlcGxpY2EgZGEgTFAKICAgaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy8KCiAgIEVzdGUgYmxvY28gZW50cmEgREVOVFJPIGRlIHVtIDxzdHlsZT4gbm8gY29ycG8gZGEgcGFnZSwgQU5URVMgZG8gQ1NTCiAgIGRhIExQLiBDb21vIG8gPHN0eWxlPiBmaWNhIG5vIGJvZHksIGVsZSB2ZW0gZGVwb2lzIGRlIHRvZG8KICAgPGxpbms+LzxzdHlsZT4gZG8gdGVtYSBuYSBvcmRlbSBkbyBkb2N1bWVudG8gLS0gZW50YW8gdW0gc2VsZXRvciBkZQogICBFTEVNRU5UTyBhcXVpIGphIHZlbmNlIHVtIHNlbGV0b3IgZGUgZWxlbWVudG8gZG8gdGVtYS4KCiAgIFJlZ3JhIHByYXRpY2E6IHVzYXIgYSBNRU5PUiBlc3BlY2lmaWNpZGFkZSBxdWUgYWluZGEgdmVuY2UgbyB0ZW1hLAogICBwYXJhIHF1ZSBxdWFscXVlciByZWdyYSBkYSBwcm9wcmlhIExQIChxdWUgdmVtIGxvZ28gYWJhaXhvKSBjb250aW51ZQogICBnYW5oYW5kby4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgovKiAtLS0tIGNyb21vIGRvIHRlbWEgLS0tLSAqLwouZXQtbC0taGVhZGVyLC5ldC1sLS1mb290ZXIsI21haW4taGVhZGVyLCN0b3AtaGVhZGVyLCNtYWluLWZvb3Rlciwjd3BhZG1pbmJhciwuZW50cnktdGl0bGUsI3NpZGViYXJ7ZGlzcGxheTpub25lIWltcG9ydGFudH0KI3BhZ2UtY29udGFpbmVyLCNldC1tYWluLWFyZWEsI21haW4tY29udGVudCwuZXRfYnVpbGRlcl9pbm5lcl9jb250ZW50LGFydGljbGUsLmVudHJ5LWNvbnRlbnQsLmV0X3BiX3NlY3Rpb24sLmV0X3BiX3JvdywuZXRfcGJfY29sdW1uLC5ldF9wYl90ZXh0LC5ldF9wYl90ZXh0X2lubmVye3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O21heC13aWR0aDpub25lIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtmbG9hdDpub25lIWltcG9ydGFudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IWltcG9ydGFudH0KLyogb3ZlcmZsb3cteCBubyBib2R5IHRlbSBxdWUgc2VyICdjbGlwJywgTkFPICdoaWRkZW4nOiAnaGlkZGVuJyBmYXogZG8gYm9keQogICB1bSBCRkMsIHF1ZSBwYXNzYSBhIFJFVEVSIGEgbWFyZ2VtIGluZmVyaW9yIGNvbGFwc2FkYSBkbyBmaW0gZGEgTFAgZQogICBhY3Jlc2NlbnRhIHVtYSBmYWl4YSBkZSAxMHB4IGFiYWl4byBkbyByb2RhcGUuICdjbGlwJyBjb3J0YSBvIG92ZXJmbG93CiAgIGhvcml6b250YWwgZG8gbWVzbW8gamVpdG8gc2VtIGNyaWFyIGNvbnRleHRvIGRlIGZvcm1hdGFjYW8uICovCmh0bWx7b3ZlcmZsb3cteDpoaWRkZW4haW1wb3J0YW50fQpib2R5e292ZXJmbG93LXg6Y2xpcCFpbXBvcnRhbnR9CgovKiBEaXZpIHBvZSAuZXRfcGJfcm93OjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7Y2xlYXI6Ym90aH0gY29tbwogICBjbGVhcmZpeC4gU2VuZG8gdW0gZmlsaG8gaW4tZmxvdyBubyBmaW0gZGEgcm93LCBlbGUgQVBSSVNJT05BIGEgbWFyZ2VtCiAgIGluZmVyaW9yIHF1ZSBhIExQIGNvbGFwc2EgcGFyYSBmb3JhIGRvICNscC1ob3N0IC0+IG1haXMgMTBweCBhYmFpeG8gZG8KICAgcm9kYXBlLiBDb20gYSBjb2x1bmEgZW0gZmxvYXQ6bm9uZSBvIGNsZWFyZml4IG5hbyBzZXJ2ZSBwYXJhIG5hZGEuICovCi5ldF9wYl9yb3c6YWZ0ZXJ7Y29udGVudDpub25lIWltcG9ydGFudH0KCi8qIERpdmk6IC5jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9IHZhemEgcGFyYSB0b2RvIC5jb250YWluZXIgZGEgTFAKICAgKG5hIG9yaWdlbSBlbGVzIHNhbyBzdGF0aWMpLiBTZWxldG9yIGRlIGNsYXNzZSBzaW1wbGVzLCBxdWUgdmVuY2UgbyB0ZW1hCiAgIHBvciBvcmRlbSBkZSBkb2N1bWVudG8gZSBwZXJkZSBwYXJhIHF1YWxxdWVyIHJlZ3JhIGRhIHByb3ByaWEgTFAuICovCi5jb250YWluZXJ7cG9zaXRpb246c3RhdGljfQoKLyogRGl2aSBtYXJjYSBvIG1vZHVsbyBjb20gLmV0X3BiX3RleHRfYWxpZ25fbGVmdDsgbmEgb3JpZ2VtIG8gdmFsb3IKICAgaGVyZGFkbyBlIG8gaW5pY2lhbCAoc3RhcnQpLiBTbyBvIHByb3ByaW8gI2xwLWhvc3QsIG9zIGRlc2NlbmRlbnRlcwogICBjb250aW51YW0gbWFuZGFuZG8gbm9zIHNldXMuICovCiNscC1ob3N0e3RleHQtYWxpZ246c3RhcnR9CgovKiBEaXZpOiBib2R5Om5vdCguZXQtdGIpICNtYWluLWNvbnRlbnQgLmNvbnRhaW5lcntwYWRkaW5nLXRvcDo1OHB4fSAoSUQgdmVuY2UgY2xhc3NlKSAqLwpib2R5Om5vdCguZXQtdGIpICNtYWluLWNvbnRlbnQgLmNvbnRhaW5lcixib2R5Om5vdCguZXQtdGItaGFzLWhlYWRlcikgI21haW4tY29udGVudCAuY29udGFpbmVye3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fQojbWFpbi1jb250ZW50IC5jb250YWluZXI6YmVmb3Jle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9CgovKiBlc3RyYXRlZ2lhX2dyYXRpcyB0cmF2YSAuY29udGFpbmVyIGVtIG1pbi13aWR0aCA2NDAvMzU1LzMxMCBubyBtb2JpbGUKICAgZSB1c2EgZGlzcGxheTppbmxpbmUtYmxvY2sgZW0gPD0zNjBweC4gQSBMUCBkZWZpbmUKICAgLmNvbnRhaW5lcjpub3QoLi1tb2JpbGUpOm5vdCguLWRlc2t0b3Ape3dpZHRoOjEzNTBweDttYXgtd2lkdGg6MTAwJX0gKi8KI2xwLWhvc3QgLmNvbnRhaW5lcnttaW4td2lkdGg6MCFpbXBvcnRhbnQ7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O3RleHQtYWxpZ246aW5oZXJpdCFpbXBvcnRhbnR9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDozNjBweCl7I2xwLWhvc3QgLmNvbnRhaW5lcntkaXNwbGF5OmJsb2NrfX0KCi8qIG8gY2hpbGQgdGhlbWUgbWF0YSBvIGNsZWFyZml4IGRvIGJvb3RzdHJhcCwgcXVlIGEgZ3JhZGUgY29sLXNtLSogdXNhICovCiNscC1ob3N0IC5yb3c6YWZ0ZXIsI2xwLWhvc3QgLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnQ7Y29udGVudDoiICIhaW1wb3J0YW50fQojbHAtaG9zdCAucm93OmFmdGVye2NsZWFyOmJvdGghaW1wb3J0YW50fQoKLyogRGl2aSBhbmltYS9vY3VsdGEgZWxlbWVudG9zIGNvbSB3YXlwb2ludCAqLwojbHAtaG9zdCAuZXQtd2F5cG9pbnQsI2xwLWhvc3QgLmV0X3BiX3Njcm9sbF9hbmltYXRpb257b3BhY2l0eToxIWltcG9ydGFudDt0cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnR9CgovKiAtLS0tIHByb3ByaWVkYWRlcyBxdWUgbyB0ZW1hIGRlY2xhcmEgZSBvIGJvb3RzdHJhcC9MUCBuYW8sIGVudGFvIHZhemFtIC0tLS0KICAgTyBib290c3RyYXAuY3NzIGRhIExQIChsb2dvIGFiYWl4bywgbm8gbWVzbW8gPHN0eWxlPikgamEgcmVhc3NlcnRhCiAgIGJvZHkvaDEuLmg2L3AgZW0gZm9udC1zaXplLCBmb250LWZhbWlseSwgZm9udC13ZWlnaHQsIGNvbG9yIGUgbWFyZ2luLgogICBTb2JyYSBjb3JyaWdpciBvIHF1ZSBlbGUgTkFPIGRlY2xhcmEuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwoKLyogRGl2aTogaDEuLmg2e3BhZGRpbmctYm90dG9tOjEwcHh9IGUgcHtwYWRkaW5nLWJvdHRvbToxZW19ICovCmgxLGgyLGgzLGg0LGg1LGg2LHB7cGFkZGluZy1ib3R0b206MH0KCi8qIERpdmk6IGJvZHl7Zm9udC13ZWlnaHQ6NTAwfTsgbmEgb3JpZ2VtIG8gcGVzbyBoZXJkYWRvIGUgbyBub3JtYWwgKi8KYm9keXtmb250LXdlaWdodDo0MDB9CgovKiB0ZW1hOiBwe2ZvbnQtc2l6ZToxcmVtfSBlIDFyZW0gPSAxMHB4IHBvciBjYXVzYSBkbyBodG1se2ZvbnQtc2l6ZToxMHB4fQogICBkbyBib290c3RyYXAuIE5hIG9yaWdlbSBvIDxwPiBoZXJkYSBkbyBib2R5ICgxNHB4KS4gKi8KcHtmb250LXNpemU6aW5oZXJpdH0KCi8qIDxzdHlsZSBpZD0iZXN0cmF0ZWdpYS1jcml0aWNhbC1jc3MiPiBkbyBzaXRlOgogICAiYS5idXR0b24sIGJ1dHRvbiIgZ2FuaGEgZGlzcGxheS9wYWRkaW5nL2JhY2tncm91bmQvY29sb3IvYm9yZGVyLXJhZGl1cy4KICAgTnVtYSBMUCBjaGVpYSBkZSBhY2NvcmRpb24gKDxidXR0b24+IG5vIGNhcmQtaGVhZGVyKSBpc3NvIGVuZ29yZGEgY2FkYQogICBjYWJlY2FsaG8gZSBwaW50YSB0dWRvIGRlIGF6dWwuIFZvbHRhIGFvIGRlZmF1bHQgZG8gYnJvd3NlcjsgYXMgY2xhc3NlcwogICBkYSBwcm9wcmlhIExQLCBxdWUgdmVtIGRlcG9pcywgY29udGludWFtIG1hbmRhbmRvLiAqLwpidXR0b257cGFkZGluZzoxcHggNnB4O2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOkJ1dHRvbkZhY2U7Y29sb3I6QnV0dG9uVGV4dDt0ZXh0LWRlY29yYXRpb246bm9uZX0KCi8qIERpdmk6ICIuZW50cnktY29udGVudCB1bC9vbCIgZ2FuaGEgbGluZS1oZWlnaHQ6MjZweCArIHBhZGRpbmcgMCAwIDIzcHggMWVtLAogICBlICIuZXRfcGJfdGV4dCB1bC9vbCIgZ2FuaGEgcGFkZGluZy1ib3R0b206MWVtLiBNZXNtYSBlc3BlY2lmaWNpZGFkZSBwYXJhCiAgIHZlbmNlciBwb3Igb3JkZW0gZGUgZG9jdW1lbnRvIHNlbSBhdHJvcGVsYXIgYXMgcmVncmFzIGRhIExQLiBPcyB2YWxvcmVzCiAgIHNhbyBvcyBxdWUgYSBvcmlnZW0gcHJvZHV6IChVQSBwYWRkaW5nLWlubGluZS1zdGFydCA0MHB4ICsgYm9vdHN0cmFwCiAgIHVse21hcmdpbjowIDAgMTBweH0pLiAqLwouZW50cnktY29udGVudCB1bCwuZW50cnktY29udGVudCBvbCwuZXQtbC0tYm9keSB1bCwuZXQtbC0tYm9keSBvbCwuZXRfcGJfdGV4dCB1bCwuZXRfcGJfdGV4dCBvbHtwYWRkaW5nOjAgMCAwIDQwcHg7bWFyZ2luOjAgMCAxMHB4O2xpbmUtaGVpZ2h0OmluaGVyaXR9Cg0KLyogYm9vdHN0cmFwLmNzcyAqLw0KDQovKiENCiAqIEJvb3RzdHJhcCB2My4zLjcgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQ0KICogQ29weXJpZ2h0IDIwMTEtMjAxNiBUd2l0dGVyLCBJbmMuDQogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQ0KICovDQovKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovDQpodG1sIHsNCiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsNCiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7DQogICAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOw0KICB9DQogIGJvZHkgew0KICAgIG1hcmdpbjogMDsNCiAgfQ0KICBhcnRpY2xlLA0KICBhc2lkZSwNCiAgZGV0YWlscywNCiAgZmlnY2FwdGlvbiwNCiAgZmlndXJlLA0KICBmb290ZXIsDQogIGhlYWRlciwNCiAgaGdyb3VwLA0KICBtYWluLA0KICBtZW51LA0KICBuYXYsDQogIHNlY3Rpb24sDQogIHN1bW1hcnkgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIGF1ZGlvLA0KICBjYW52YXMsDQogIHByb2dyZXNzLA0KICB2aWRlbyB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsNCiAgfQ0KICBhdWRpbzpub3QoW2NvbnRyb2xzXSkgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgaGVpZ2h0OiAwOw0KICB9DQogIFtoaWRkZW5dLA0KICB0ZW1wbGF0ZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICBhIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICBhOmFjdGl2ZSwNCiAgYTpob3ZlciB7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICBhYmJyW3RpdGxlXSB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsNCiAgfQ0KICBiLA0KICBzdHJvbmcgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIGRmbiB7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICB9DQogIGgxIHsNCiAgICBtYXJnaW46IC42N2VtIDA7DQogICAgZm9udC1zaXplOiAyZW07DQogIH0NCiAgbWFyayB7DQogICAgY29sb3I6ICMwMDA7DQogICAgYmFja2dyb3VuZDogI2ZmMDsNCiAgfQ0KICBzbWFsbCB7DQogICAgZm9udC1zaXplOiA4MCU7DQogIH0NCiAgc3ViLA0KICBzdXAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmb250LXNpemU6IDc1JTsNCiAgICBsaW5lLWhlaWdodDogMDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7DQogIH0NCiAgc3VwIHsNCiAgICB0b3A6IC0uNWVtOw0KICB9DQogIHN1YiB7DQogICAgYm90dG9tOiAtLjI1ZW07DQogIH0NCiAgaW1nIHsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgc3ZnOm5vdCg6cm9vdCkgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCiAgZmlndXJlIHsNCiAgICBtYXJnaW46IDFlbSA0MHB4Ow0KICB9DQogIGhyIHsNCiAgICBoZWlnaHQ6IDA7DQogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7DQogIH0NCiAgcHJlIHsNCiAgICBvdmVyZmxvdzogYXV0bzsNCiAgfQ0KICBjb2RlLA0KICBrYmQsDQogIHByZSwNCiAgc2FtcCB7DQogICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOw0KICAgIGZvbnQtc2l6ZTogMWVtOw0KICB9DQogIGJ1dHRvbiwNCiAgaW5wdXQsDQogIG9wdGdyb3VwLA0KICBzZWxlY3QsDQogIHRleHRhcmVhIHsNCiAgICBtYXJnaW46IDA7DQogICAgZm9udDogaW5oZXJpdDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICBidXR0b24gew0KICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICB9DQogIGJ1dHRvbiwNCiAgc2VsZWN0IHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KICBidXR0b24sDQogIGh0bWwgaW5wdXRbdHlwZT0iYnV0dG9uIl0sDQogIGlucHV0W3R5cGU9InJlc2V0Il0sDQogIGlucHV0W3R5cGU9InN1Ym1pdCJdIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgYnV0dG9uW2Rpc2FibGVkXSwNCiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0gew0KICAgIGN1cnNvcjogZGVmYXVsdDsNCiAgfQ0KICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsDQogIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICBpbnB1dCB7DQogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJjaGVja2JveCJdLA0KICBpbnB1dFt0eXBlPSJyYWRpbyJdIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICBwYWRkaW5nOiAwOw0KICB9DQogIGlucHV0W3R5cGU9Im51bWJlciJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLA0KICBpbnB1dFt0eXBlPSJudW1iZXIiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIGlucHV0W3R5cGU9InNlYXJjaCJdIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJzZWFyY2giXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwNCiAgaW5wdXRbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24gew0KICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgfQ0KICBmaWVsZHNldCB7DQogICAgcGFkZGluZzogLjM1ZW0gLjYyNWVtIC43NWVtOw0KICAgIG1hcmdpbjogMCAycHg7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsNCiAgfQ0KICBsZWdlbmQgew0KICAgIHBhZGRpbmc6IDA7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIHRleHRhcmVhIHsNCiAgICBvdmVyZmxvdzogYXV0bzsNCiAgfQ0KICBvcHRncm91cCB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgdGFibGUgew0KICAgIGJvcmRlci1zcGFjaW5nOiAwOw0KICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7DQogIH0NCiAgdGQsDQogIHRoIHsNCiAgICBwYWRkaW5nOiAwOw0KICB9DQogIC8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi8NCiAgQG1lZGlhIHByaW50IHsNCiAgICAqLA0KICAgICo6YmVmb3JlLA0KICAgICo6YWZ0ZXIgew0KICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsNCiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7DQogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogICAgYSwNCiAgICBhOnZpc2l0ZWQgew0KICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQogICAgfQ0KICAgIGFbaHJlZl06YWZ0ZXIgew0KICAgICAgY29udGVudDogIiAoIiBhdHRyKGhyZWYpICIpIjsNCiAgICB9DQogICAgYWJiclt0aXRsZV06YWZ0ZXIgew0KICAgICAgY29udGVudDogIiAoIiBhdHRyKHRpdGxlKSAiKSI7DQogICAgfQ0KICAgIGFbaHJlZl49IiMiXTphZnRlciwNCiAgICBhW2hyZWZePSJqYXZhc2NyaXB0OiJdOmFmdGVyIHsNCiAgICAgIGNvbnRlbnQ6ICIiOw0KICAgIH0NCiAgICBwcmUsDQogICAgYmxvY2txdW90ZSB7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5Ow0KICANCiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsNCiAgICB9DQogICAgdGhlYWQgew0KICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOw0KICAgIH0NCiAgICB0ciwNCiAgICBpbWcgew0KICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOw0KICAgIH0NCiAgICBpbWcgew0KICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHAsDQogICAgaDIsDQogICAgaDMgew0KICAgICAgb3JwaGFuczogMzsNCiAgICAgIHdpZG93czogMzsNCiAgICB9DQogICAgaDIsDQogICAgaDMgew0KICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7DQogICAgfQ0KICAgIC5uYXZiYXIgew0KICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQogICAgLmJ0biA+IC5jYXJldCwNCiAgICAuZHJvcHVwID4gLmJ0biA+IC5jYXJldCB7DQogICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIC5sYWJlbCB7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOw0KICAgIH0NCiAgICAudGFibGUgew0KICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudGFibGUgdGQsDQogICAgLnRhYmxlIHRoIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICB9DQogICAgLnRhYmxlLWJvcmRlcmVkIHRoLA0KICAgIC50YWJsZS1ib3JkZXJlZCB0ZCB7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBmb250LWZhY2Ugew0KICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnOw0KICANCiAgICBzcmM6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuZW90KTsNCiAgICBzcmM6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuZW90PyNpZWZpeCkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvcGx1Z2lucy9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuc3ZnI2dseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhcikgZm9ybWF0KCdzdmcnKTsNCiAgfQ0KICAuZ2x5cGhpY29uIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgdG9wOiAxcHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICANCiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsNCiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICB9DQogIC5nbHlwaGljb24tYXN0ZXJpc2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDAwMmEiOw0KICB9DQogIC5nbHlwaGljb24tcGx1czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcMDAyYiI7DQogIH0NCiAgLmdseXBoaWNvbi1ldXJvOmJlZm9yZSwNCiAgLmdseXBoaWNvbi1ldXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDIwYWMiOw0KICB9DQogIC5nbHlwaGljb24tbWludXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDIyMTIiOw0KICB9DQogIC5nbHlwaGljb24tY2xvdWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDI2MDEiOw0KICB9DQogIC5nbHlwaGljb24tZW52ZWxvcGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDI3MDkiOw0KICB9DQogIC5nbHlwaGljb24tcGVuY2lsOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyNzBmIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWdsYXNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDAxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW11c2ljOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDAyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNlYXJjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwMyI7DQogIH0NCiAgLmdseXBoaWNvbi1oZWFydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwNSI7DQogIH0NCiAgLmdseXBoaWNvbi1zdGFyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDA2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXN0YXItZW1wdHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMDciOw0KICB9DQogIC5nbHlwaGljb24tdXNlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwOCI7DQogIH0NCiAgLmdseXBoaWNvbi1maWxtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDA5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRoLWxhcmdlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDEwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDExIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRoLWxpc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTIiOw0KICB9DQogIC5nbHlwaGljb24tb2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTMiOw0KICB9DQogIC5nbHlwaGljb24tcmVtb3ZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDE0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXpvb20taW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTUiOw0KICB9DQogIC5nbHlwaGljb24tem9vbS1vdXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTYiOw0KICB9DQogIC5nbHlwaGljb24tb2ZmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDE3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNpZ25hbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAxOCI7DQogIH0NCiAgLmdseXBoaWNvbi1jb2c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTkiOw0KICB9DQogIC5nbHlwaGljb24tdHJhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjAiOw0KICB9DQogIC5nbHlwaGljb24taG9tZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyMSI7DQogIH0NCiAgLmdseXBoaWNvbi1maWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDIyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRpbWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjMiOw0KICB9DQogIC5nbHlwaGljb24tcm9hZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyNCI7DQogIH0NCiAgLmdseXBoaWNvbi1kb3dubG9hZC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjUiOw0KICB9DQogIC5nbHlwaGljb24tZG93bmxvYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjYiOw0KICB9DQogIC5nbHlwaGljb24tdXBsb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWluYm94OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsYXktY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlcGVhdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzMCI7DQogIH0NCiAgLmdseXBoaWNvbi1yZWZyZXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDMxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxpc3QtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDMyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzMiOw0KICB9DQogIC5nbHlwaGljb24tZmxhZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzNCI7DQogIH0NCiAgLmdseXBoaWNvbi1oZWFkcGhvbmVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDM1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXZvbHVtZS1vZmY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzYiOw0KICB9DQogIC5nbHlwaGljb24tdm9sdW1lLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzciOw0KICB9DQogIC5nbHlwaGljb24tdm9sdW1lLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDM4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXFyY29kZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzOSI7DQogIH0NCiAgLmdseXBoaWNvbi1iYXJjb2RlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRhZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA0MSI7DQogIH0NCiAgLmdseXBoaWNvbi10YWdzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJvb2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDMiOw0KICB9DQogIC5nbHlwaGljb24tYm9va21hcms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDQiOw0KICB9DQogIC5nbHlwaGljb24tcHJpbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDUiOw0KICB9DQogIC5nbHlwaGljb24tY2FtZXJhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQ2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZvbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDciOw0KICB9DQogIC5nbHlwaGljb24tYm9sZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA0OCI7DQogIH0NCiAgLmdseXBoaWNvbi1pdGFsaWM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDkiOw0KICB9DQogIC5nbHlwaGljb24tdGV4dC1oZWlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTAiOw0KICB9DQogIC5nbHlwaGljb24tdGV4dC13aWR0aDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1MSI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGlnbi1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDUyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWFsaWduLWNlbnRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1MyI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGlnbi1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1NCI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxpc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTYiOw0KICB9DQogIC5nbHlwaGljb24taW5kZW50LWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTciOw0KICB9DQogIC5nbHlwaGljb24taW5kZW50LXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBpY3R1cmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjAiOw0KICB9DQogIC5nbHlwaGljb24tbWFwLW1hcmtlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2MiI7DQogIH0NCiAgLmdseXBoaWNvbi1hZGp1c3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjMiOw0KICB9DQogIC5nbHlwaGljb24tdGludDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2NCI7DQogIH0NCiAgLmdseXBoaWNvbi1lZGl0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDY1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNoYXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDY2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNoZWNrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDY3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1vdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjgiOw0KICB9DQogIC5nbHlwaGljb24tc3RlcC1iYWNrd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2OSI7DQogIH0NCiAgLmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDcwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJhY2t3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDcxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsYXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzIiOw0KICB9DQogIC5nbHlwaGljb24tcGF1c2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzMiOw0KICB9DQogIC5nbHlwaGljb24tc3RvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3NCI7DQogIH0NCiAgLmdseXBoaWNvbi1mb3J3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDc1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZhc3QtZm9yd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3NiI7DQogIH0NCiAgLmdseXBoaWNvbi1zdGVwLWZvcndhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzciOw0KICB9DQogIC5nbHlwaGljb24tZWplY3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzgiOw0KICB9DQogIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDc5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODAiOw0KICB9DQogIC5nbHlwaGljb24tcGx1cy1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDgxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1pbnVzLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODIiOw0KICB9DQogIC5nbHlwaGljb24tcmVtb3ZlLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODMiOw0KICB9DQogIC5nbHlwaGljb24tb2stc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4NCI7DQogIH0NCiAgLmdseXBoaWNvbi1xdWVzdGlvbi1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDg1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWluZm8tc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4NiI7DQogIH0NCiAgLmdseXBoaWNvbi1zY3JlZW5zaG90OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDg3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODgiOw0KICB9DQogIC5nbHlwaGljb24tb2stY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDg5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJhbi1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTAiOw0KICB9DQogIC5nbHlwaGljb24tYXJyb3ctbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5MSI7DQogIH0NCiAgLmdseXBoaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5MiI7DQogIH0NCiAgLmdseXBoaWNvbi1hcnJvdy11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5MyI7DQogIH0NCiAgLmdseXBoaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDk0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNoYXJlLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5NSI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXNpemUtZnVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5NiI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXNpemUtc21hbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTciOw0KICB9DQogIC5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwMSI7DQogIH0NCiAgLmdseXBoaWNvbi1naWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTAyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxlYWY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMDMiOw0KICB9DQogIC5nbHlwaGljb24tZmlyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwNCI7DQogIH0NCiAgLmdseXBoaWNvbi1leWUtb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwNSI7DQogIH0NCiAgLmdseXBoaWNvbi1leWUtY2xvc2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMDYiOw0KICB9DQogIC5nbHlwaGljb24td2FybmluZy1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTA3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsYW5lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTA4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNhbGVuZGFyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTA5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJhbmRvbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExMCI7DQogIH0NCiAgLmdseXBoaWNvbi1jb21tZW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTExIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1hZ25ldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExMiI7DQogIH0NCiAgLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTEzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExNCI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXR3ZWV0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTE1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMTYiOw0KICB9DQogIC5nbHlwaGljb24tZm9sZGVyLWNsb3NlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTE3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZvbGRlci1vcGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTE4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlc2l6ZS12ZXJ0aWNhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExOSI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXNpemUtaG9yaXpvbnRhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyMCI7DQogIH0NCiAgLmdseXBoaWNvbi1oZGQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjEiOw0KICB9DQogIC5nbHlwaGljb24tYnVsbGhvcm46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjIiOw0KICB9DQogIC5nbHlwaGljb24tYmVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyMyI7DQogIH0NCiAgLmdseXBoaWNvbi1jZXJ0aWZpY2F0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyNCI7DQogIH0NCiAgLmdseXBoaWNvbi10aHVtYnMtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjUiOw0KICB9DQogIC5nbHlwaGljb24tdGh1bWJzLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjYiOw0KICB9DQogIC5nbHlwaGljb24taGFuZC1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyNyI7DQogIH0NCiAgLmdseXBoaWNvbi1oYW5kLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjgiOw0KICB9DQogIC5nbHlwaGljb24taGFuZC11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyOSI7DQogIH0NCiAgLmdseXBoaWNvbi1oYW5kLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzAiOw0KICB9DQogIC5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTMxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTMyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzMyI7DQogIH0NCiAgLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzNCI7DQogIH0NCiAgLmdseXBoaWNvbi1nbG9iZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzNSI7DQogIH0NCiAgLmdseXBoaWNvbi13cmVuY2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzYiOw0KICB9DQogIC5nbHlwaGljb24tdGFza3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzciOw0KICB9DQogIC5nbHlwaGljb24tZmlsdGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTM4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJyaWVmY2FzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzOSI7DQogIH0NCiAgLmdseXBoaWNvbi1mdWxsc2NyZWVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTQwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWRhc2hib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0MSI7DQogIH0NCiAgLmdseXBoaWNvbi1wYXBlcmNsaXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDIiOw0KICB9DQogIC5nbHlwaGljb24taGVhcnQtZW1wdHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDMiOw0KICB9DQogIC5nbHlwaGljb24tbGluazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0NCI7DQogIH0NCiAgLmdseXBoaWNvbi1waG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0NSI7DQogIH0NCiAgLmdseXBoaWNvbi1wdXNocGluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTQ2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXVzZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0OCI7DQogIH0NCiAgLmdseXBoaWNvbi1nYnA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDkiOw0KICB9DQogIC5nbHlwaGljb24tc29ydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1MCI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTUxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTUyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktb3JkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTMiOw0KICB9DQogIC5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTQiOw0KICB9DQogIC5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcy1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTYiOw0KICB9DQogIC5nbHlwaGljb24tdW5jaGVja2VkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWV4cGFuZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1OCI7DQogIH0NCiAgLmdseXBoaWNvbi1jb2xsYXBzZS1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNvbGxhcHNlLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTYwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxvZy1pbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2MSI7DQogIH0NCiAgLmdseXBoaWNvbi1mbGFzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2MiI7DQogIH0NCiAgLmdseXBoaWNvbi1sb2ctb3V0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTYzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW5ldy13aW5kb3c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjQiOw0KICB9DQogIC5nbHlwaGljb24tcmVjb3JkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTY1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNhdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjYiOw0KICB9DQogIC5nbHlwaGljb24tb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2NyI7DQogIH0NCiAgLmdseXBoaWNvbi1zYXZlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2OCI7DQogIH0NCiAgLmdseXBoaWNvbi1pbXBvcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjkiOw0KICB9DQogIC5nbHlwaGljb24tZXhwb3J0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTcwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNlbmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzEiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LWRpc2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzIiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LXNhdmVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTczIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZsb3BweS1yZW1vdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzQiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LXNhdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzUiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LW9wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzYiOw0KICB9DQogIC5nbHlwaGljb24tY3JlZGl0LWNhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzciOw0KICB9DQogIC5nbHlwaGljb24tdHJhbnNmZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzgiOw0KICB9DQogIC5nbHlwaGljb24tY3V0bGVyeTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE3OSI7DQogIH0NCiAgLmdseXBoaWNvbi1oZWFkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODAiOw0KICB9DQogIC5nbHlwaGljb24tY29tcHJlc3NlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE4MSI7DQogIH0NCiAgLmdseXBoaWNvbi1lYXJwaG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE4MiI7DQogIH0NCiAgLmdseXBoaWNvbi1waG9uZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODMiOw0KICB9DQogIC5nbHlwaGljb24tdG93ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODQiOw0KICB9DQogIC5nbHlwaGljb24tc3RhdHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODUiOw0KICB9DQogIC5nbHlwaGljb24tc2QtdmlkZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODYiOw0KICB9DQogIC5nbHlwaGljb24taGQtdmlkZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODciOw0KICB9DQogIC5nbHlwaGljb24tc3VidGl0bGVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTg4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvdW5kLXN0ZXJlbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE4OSI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3VuZC1kb2xieTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5MCI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3VuZC01LTE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTEiOw0KICB9DQogIC5nbHlwaGljb24tc291bmQtNi0xOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTkyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvdW5kLTctMTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5MyI7DQogIH0NCiAgLmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5NCI7DQogIH0NCiAgLmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5NSI7DQogIH0NCiAgLmdseXBoaWNvbi1jbG91ZC1kb3dubG9hZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5NyI7DQogIH0NCiAgLmdseXBoaWNvbi1jbG91ZC11cGxvYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTgiOw0KICB9DQogIC5nbHlwaGljb24tdHJlZS1jb25pZmVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTk5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjAwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjAxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNhdmUtZmlsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwMiI7DQogIH0NCiAgLmdseXBoaWNvbi1vcGVuLWZpbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDMiOw0KICB9DQogIC5nbHlwaGljb24tbGV2ZWwtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDQiOw0KICB9DQogIC5nbHlwaGljb24tY29weTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwNSI7DQogIH0NCiAgLmdseXBoaWNvbi1wYXN0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwNiI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGVydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwOSI7DQogIH0NCiAgLmdseXBoaWNvbi1lcXVhbGl6ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTAiOw0KICB9DQogIC5nbHlwaGljb24ta2luZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxMSI7DQogIH0NCiAgLmdseXBoaWNvbi1xdWVlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxMiI7DQogIH0NCiAgLmdseXBoaWNvbi1wYXduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjEzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJpc2hvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxNCI7DQogIH0NCiAgLmdseXBoaWNvbi1rbmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTUiOw0KICB9DQogIC5nbHlwaGljb24tYmFieS1mb3JtdWxhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjE2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRlbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDI2ZmEiOw0KICB9DQogIC5nbHlwaGljb24tYmxhY2tib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxOCI7DQogIH0NCiAgLmdseXBoaWNvbi1iZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTkiOw0KICB9DQogIC5nbHlwaGljb24tYXBwbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4ZmYiOw0KICB9DQogIC5nbHlwaGljb24tZXJhc2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjEiOw0KICB9DQogIC5nbHlwaGljb24taG91cmdsYXNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyMzFiIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxhbXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjMiOw0KICB9DQogIC5nbHlwaGljb24tZHVwbGljYXRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjI0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBpZ2d5LWJhbms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjUiOw0KICB9DQogIC5nbHlwaGljb24tc2Npc3NvcnM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjYiOw0KICB9DQogIC5nbHlwaGljb24tYml0Y29pbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIyNyI7DQogIH0NCiAgLmdseXBoaWNvbi1idGM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjciOw0KICB9DQogIC5nbHlwaGljb24teGJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjI3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXllbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcMDBhNSI7DQogIH0NCiAgLmdseXBoaWNvbi1qcHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDAwYTUiOw0KICB9DQogIC5nbHlwaGljb24tcnVibGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDIwYmQiOw0KICB9DQogIC5nbHlwaGljb24tcnViOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyMGJkIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNjYWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjMwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWljZS1sb2xseTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzMSI7DQogIH0NCiAgLmdseXBoaWNvbi1pY2UtbG9sbHktdGFzdGVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjMyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWVkdWNhdGlvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzMyI7DQogIH0NCiAgLmdseXBoaWNvbi1vcHRpb24taG9yaXpvbnRhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzNCI7DQogIH0NCiAgLmdseXBoaWNvbi1vcHRpb24tdmVydGljYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzUiOw0KICB9DQogIC5nbHlwaGljb24tbWVudS1oYW1idXJnZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzYiOw0KICB9DQogIC5nbHlwaGljb24tbW9kYWwtd2luZG93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjM3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9pbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzOCI7DQogIH0NCiAgLmdseXBoaWNvbi1ncmFpbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzOSI7DQogIH0NCiAgLmdseXBoaWNvbi1zdW5nbGFzc2VzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRleHQtc2l6ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0MSI7DQogIH0NCiAgLmdseXBoaWNvbi10ZXh0LWNvbG9yOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0MyI7DQogIH0NCiAgLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdG9wOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQ0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ib3R0b206YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDUiOw0KICB9DQogIC5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDYiOw0KICB9DQogIC5nbHlwaGljb24tb2JqZWN0LWFsaWduLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDciOw0KICB9DQogIC5nbHlwaGljb24tb2JqZWN0LWFsaWduLXZlcnRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQ4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0OSI7DQogIH0NCiAgLmdseXBoaWNvbi10cmlhbmdsZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1MCI7DQogIH0NCiAgLmdseXBoaWNvbi10cmlhbmdsZS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjUxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1MiI7DQogIH0NCiAgLmdseXBoaWNvbi10cmlhbmdsZS10b3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTMiOw0KICB9DQogIC5nbHlwaGljb24tY29uc29sZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1NCI7DQogIH0NCiAgLmdseXBoaWNvbi1zdXBlcnNjcmlwdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1NSI7DQogIH0NCiAgLmdseXBoaWNvbi1zdWJzY3JpcHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTYiOw0KICB9DQogIC5nbHlwaGljb24tbWVudS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjU3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1lbnUtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTgiOw0KICB9DQogIC5nbHlwaGljb24tbWVudS1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjU5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1lbnUtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNjAiOw0KICB9DQogICogew0KICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICB9DQogICo6YmVmb3JlLA0KICAqOmFmdGVyIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgfQ0KICBodG1sIHsNCiAgICBmb250LXNpemU6IDEwcHg7DQogIA0KICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgfQ0KICBib2R5IHsNCiAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICBpbnB1dCwNCiAgYnV0dG9uLA0KICBzZWxlY3QsDQogIHRleHRhcmVhIHsNCiAgICBmb250LWZhbWlseTogaW5oZXJpdDsNCiAgICBmb250LXNpemU6IGluaGVyaXQ7DQogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQogIH0NCiAgYSB7DQogICAgY29sb3I6ICMzMzdhYjc7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB9DQogIGE6aG92ZXIsDQogIGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjMjM1MjdjOw0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KICB9DQogIGE6Zm9jdXMgew0KICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsNCiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsNCiAgfQ0KICBmaWd1cmUgew0KICAgIG1hcmdpbjogMDsNCiAgfQ0KICBpbWcgew0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgLmltZy1yZXNwb25zaXZlLA0KICAudGh1bWJuYWlsID4gaW1nLA0KICAudGh1bWJuYWlsIGEgPiBpbWcsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtID4gaW1nLA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmltZy1yb3VuZGVkIHsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmltZy10aHVtYm5haWwgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIHBhZGRpbmc6IDRweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0Ow0KICB9DQogIC5pbWctY2lyY2xlIHsNCiAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogIH0NCiAgaHIgew0KICAgIG1hcmdpbi10b3A6IDIwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBib3JkZXI6IDA7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7DQogIH0NCiAgLnNyLW9ubHkgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB3aWR0aDogMXB4Ow0KICAgIGhlaWdodDogMXB4Ow0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAtMXB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwNCiAgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICBtYXJnaW46IDA7DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgY2xpcDogYXV0bzsNCiAgfQ0KICBbcm9sZT0iYnV0dG9uIl0gew0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICBoMSwNCiAgaDIsDQogIGgzLA0KICBoNCwNCiAgaDUsDQogIGg2LA0KICAuaDEsDQogIC5oMiwNCiAgLmgzLA0KICAuaDQsDQogIC5oNSwNCiAgLmg2IHsNCiAgICBmb250LWZhbWlseTogaW5oZXJpdDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjE7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgaDEgc21hbGwsDQogIGgyIHNtYWxsLA0KICBoMyBzbWFsbCwNCiAgaDQgc21hbGwsDQogIGg1IHNtYWxsLA0KICBoNiBzbWFsbCwNCiAgLmgxIHNtYWxsLA0KICAuaDIgc21hbGwsDQogIC5oMyBzbWFsbCwNCiAgLmg0IHNtYWxsLA0KICAuaDUgc21hbGwsDQogIC5oNiBzbWFsbCwNCiAgaDEgLnNtYWxsLA0KICBoMiAuc21hbGwsDQogIGgzIC5zbWFsbCwNCiAgaDQgLnNtYWxsLA0KICBoNSAuc21hbGwsDQogIGg2IC5zbWFsbCwNCiAgLmgxIC5zbWFsbCwNCiAgLmgyIC5zbWFsbCwNCiAgLmgzIC5zbWFsbCwNCiAgLmg0IC5zbWFsbCwNCiAgLmg1IC5zbWFsbCwNCiAgLmg2IC5zbWFsbCB7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICBoMSwNCiAgLmgxLA0KICBoMiwNCiAgLmgyLA0KICBoMywNCiAgLmgzIHsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogIH0NCiAgaDEgc21hbGwsDQogIC5oMSBzbWFsbCwNCiAgaDIgc21hbGwsDQogIC5oMiBzbWFsbCwNCiAgaDMgc21hbGwsDQogIC5oMyBzbWFsbCwNCiAgaDEgLnNtYWxsLA0KICAuaDEgLnNtYWxsLA0KICBoMiAuc21hbGwsDQogIC5oMiAuc21hbGwsDQogIGgzIC5zbWFsbCwNCiAgLmgzIC5zbWFsbCB7DQogICAgZm9udC1zaXplOiA2NSU7DQogIH0NCiAgaDQsDQogIC5oNCwNCiAgaDUsDQogIC5oNSwNCiAgaDYsDQogIC5oNiB7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICB9DQogIGg0IHNtYWxsLA0KICAuaDQgc21hbGwsDQogIGg1IHNtYWxsLA0KICAuaDUgc21hbGwsDQogIGg2IHNtYWxsLA0KICAuaDYgc21hbGwsDQogIGg0IC5zbWFsbCwNCiAgLmg0IC5zbWFsbCwNCiAgaDUgLnNtYWxsLA0KICAuaDUgLnNtYWxsLA0KICBoNiAuc21hbGwsDQogIC5oNiAuc21hbGwgew0KICAgIGZvbnQtc2l6ZTogNzUlOw0KICB9DQogIGgxLA0KICAuaDEgew0KICAgIGZvbnQtc2l6ZTogMzZweDsNCiAgfQ0KICBoMiwNCiAgLmgyIHsNCiAgICBmb250LXNpemU6IDMwcHg7DQogIH0NCiAgaDMsDQogIC5oMyB7DQogICAgZm9udC1zaXplOiAyNHB4Ow0KICB9DQogIGg0LA0KICAuaDQgew0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgfQ0KICBoNSwNCiAgLmg1IHsNCiAgICBmb250LXNpemU6IDE0cHg7DQogIH0NCiAgaDYsDQogIC5oNiB7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICB9DQogIHAgew0KICAgIG1hcmdpbjogMCAwIDEwcHg7DQogIH0NCiAgLmxlYWQgew0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubGVhZCB7DQogICAgICBmb250LXNpemU6IDIxcHg7DQogICAgfQ0KICB9DQogIHNtYWxsLA0KICAuc21hbGwgew0KICAgIGZvbnQtc2l6ZTogODUlOw0KICB9DQogIG1hcmssDQogIC5tYXJrIHsNCiAgICBwYWRkaW5nOiAuMmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7DQogIH0NCiAgLnRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgfQ0KICAudGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogIH0NCiAgLnRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIH0NCiAgLnRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeTsNCiAgfQ0KICAudGV4dC1ub3dyYXAgew0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogIH0NCiAgLnRleHQtbG93ZXJjYXNlIHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOw0KICB9DQogIC50ZXh0LXVwcGVyY2FzZSB7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgfQ0KICAudGV4dC1jYXBpdGFsaXplIHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsNCiAgfQ0KICAudGV4dC1tdXRlZCB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLnRleHQtcHJpbWFyeSB7DQogICAgY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgYS50ZXh0LXByaW1hcnk6aG92ZXIsDQogIGEudGV4dC1wcmltYXJ5OmZvY3VzIHsNCiAgICBjb2xvcjogIzI4NjA5MDsNCiAgfQ0KICAudGV4dC1zdWNjZXNzIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgfQ0KICBhLnRleHQtc3VjY2Vzczpob3ZlciwNCiAgYS50ZXh0LXN1Y2Nlc3M6Zm9jdXMgew0KICAgIGNvbG9yOiAjMmI1NDJjOw0KICB9DQogIC50ZXh0LWluZm8gew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICB9DQogIGEudGV4dC1pbmZvOmhvdmVyLA0KICBhLnRleHQtaW5mbzpmb2N1cyB7DQogICAgY29sb3I6ICMyNDUyNjk7DQogIH0NCiAgLnRleHQtd2FybmluZyB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgYS50ZXh0LXdhcm5pbmc6aG92ZXIsDQogIGEudGV4dC13YXJuaW5nOmZvY3VzIHsNCiAgICBjb2xvcjogIzY2NTEyYzsNCiAgfQ0KICAudGV4dC1kYW5nZXIgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICB9DQogIGEudGV4dC1kYW5nZXI6aG92ZXIsDQogIGEudGV4dC1kYW5nZXI6Zm9jdXMgew0KICAgIGNvbG9yOiAjODQzNTM0Ow0KICB9DQogIC5iZy1wcmltYXJ5IHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIGEuYmctcHJpbWFyeTpob3ZlciwNCiAgYS5iZy1wcmltYXJ5OmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg2MDkwOw0KICB9DQogIC5iZy1zdWNjZXNzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4Ow0KICB9DQogIGEuYmctc3VjY2Vzczpob3ZlciwNCiAgYS5iZy1zdWNjZXNzOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFlMmIzOw0KICB9DQogIC5iZy1pbmZvIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3Ow0KICB9DQogIGEuYmctaW5mbzpob3ZlciwNCiAgYS5iZy1pbmZvOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZkOWVlOw0KICB9DQogIC5iZy13YXJuaW5nIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICB9DQogIGEuYmctd2FybmluZzpob3ZlciwNCiAgYS5iZy13YXJuaW5nOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlY2I1Ow0KICB9DQogIC5iZy1kYW5nZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogIH0NCiAgYS5iZy1kYW5nZXI6aG92ZXIsDQogIGEuYmctZGFuZ2VyOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRiOWI5Ow0KICB9DQogIC5wYWdlLWhlYWRlciB7DQogICAgcGFkZGluZy1ib3R0b206IDlweDsNCiAgICBtYXJnaW46IDQwcHggMCAyMHB4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOw0KICB9DQogIHVsLA0KICBvbCB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICB9DQogIHVsIHVsLA0KICBvbCB1bCwNCiAgdWwgb2wsDQogIG9sIG9sIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5saXN0LXVuc3R5bGVkIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgfQ0KICAubGlzdC1pbmxpbmUgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW4tbGVmdDogLTVweDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICB9DQogIC5saXN0LWlubGluZSA+IGxpIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZy1yaWdodDogNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogNXB4Ow0KICB9DQogIGRsIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogIH0NCiAgZHQsDQogIGRkIHsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgfQ0KICBkdCB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgZGQgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5kbC1ob3Jpem9udGFsIGR0IHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgd2lkdGg6IDE2MHB4Ow0KICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAgIGNsZWFyOiBsZWZ0Ow0KICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgfQ0KICAgIC5kbC1ob3Jpem9udGFsIGRkIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxODBweDsNCiAgICB9DQogIH0NCiAgYWJiclt0aXRsZV0sDQogIGFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0gew0KICAgIGN1cnNvcjogaGVscDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM3Nzc7DQogIH0NCiAgLmluaXRpYWxpc20gew0KICAgIGZvbnQtc2l6ZTogOTAlOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogIH0NCiAgYmxvY2txdW90ZSB7DQogICAgcGFkZGluZzogMTBweCAyMHB4Ow0KICAgIG1hcmdpbjogMCAwIDIwcHg7DQogICAgZm9udC1zaXplOiAxNy41cHg7DQogICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZWVlOw0KICB9DQogIGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkLA0KICBibG9ja3F1b3RlIHVsOmxhc3QtY2hpbGQsDQogIGJsb2NrcXVvdGUgb2w6bGFzdC1jaGlsZCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICBibG9ja3F1b3RlIGZvb3RlciwNCiAgYmxvY2txdW90ZSBzbWFsbCwNCiAgYmxvY2txdW90ZSAuc21hbGwgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtc2l6ZTogODAlOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIGJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSwNCiAgYmxvY2txdW90ZSBzbWFsbDpiZWZvcmUsDQogIGJsb2NrcXVvdGUgLnNtYWxsOmJlZm9yZSB7DQogICAgY29udGVudDogJ1wyMDE0IFwwMEEwJzsNCiAgfQ0KICAuYmxvY2txdW90ZS1yZXZlcnNlLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgew0KICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNlZWU7DQogICAgYm9yZGVyLWxlZnQ6IDA7DQogIH0NCiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmJlZm9yZSwNCiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDpiZWZvcmUsDQogIGJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDpiZWZvcmUsDQogIC5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmJlZm9yZSwNCiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICB9DQogIC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmFmdGVyLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmFmdGVyLA0KICAuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmFmdGVyLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YWZ0ZXIsDQogIC5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmFmdGVyLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmFmdGVyIHsNCiAgICBjb250ZW50OiAnXDAwQTAgXDIwMTQnOw0KICB9DQogIGFkZHJlc3Mgew0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICB9DQogIGNvZGUsDQogIGtiZCwNCiAgcHJlLA0KICBzYW1wIHsNCiAgICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZTsNCiAgfQ0KICBjb2RlIHsNCiAgICBwYWRkaW5nOiAycHggNHB4Ow0KICAgIGZvbnQtc2l6ZTogOTAlOw0KICAgIGNvbG9yOiAjYzcyNTRlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWYyZjQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIGtiZCB7DQogICAgcGFkZGluZzogMnB4IDRweDsNCiAgICBmb250LXNpemU6IDkwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjI1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjI1KTsNCiAgfQ0KICBrYmQga2JkIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGZvbnQtc2l6ZTogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICB9DQogIHByZSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogOS41cHg7DQogICAgbWFyZ2luOiAwIDAgMTBweDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICMzMzM7DQogICAgd29yZC1icmVhazogYnJlYWstYWxsOw0KICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIHByZSBjb2RlIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAucHJlLXNjcm9sbGFibGUgew0KICAgIG1heC1oZWlnaHQ6IDM0MHB4Ow0KICAgIG92ZXJmbG93LXk6IHNjcm9sbDsNCiAgfQ0KICAuY29udGFpbmVyIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmNvbnRhaW5lciB7DQogICAgICB3aWR0aDogNzUwcHg7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgIC5jb250YWluZXIgew0KICAgICAgd2lkdGg6IDk3MHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogICAgLmNvbnRhaW5lciB7DQogICAgICB3aWR0aDogMTE3MHB4Ow0KICAgIH0NCiAgfQ0KICAuY29udGFpbmVyLWZsdWlkIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgLnJvdyB7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tbGVmdDogLTE1cHg7DQogIH0NCiAgLmNvbC14cy0xLCAuY29sLXNtLTEsIC5jb2wtbWQtMSwgLmNvbC1sZy0xLCAuY29sLXhzLTIsIC5jb2wtc20tMiwgLmNvbC1tZC0yLCAuY29sLWxnLTIsIC5jb2wteHMtMywgLmNvbC1zbS0zLCAuY29sLW1kLTMsIC5jb2wtbGctMywgLmNvbC14cy00LCAuY29sLXNtLTQsIC5jb2wtbWQtNCwgLmNvbC1sZy00LCAuY29sLXhzLTUsIC5jb2wtc20tNSwgLmNvbC1tZC01LCAuY29sLWxnLTUsIC5jb2wteHMtNiwgLmNvbC1zbS02LCAuY29sLW1kLTYsIC5jb2wtbGctNiwgLmNvbC14cy03LCAuY29sLXNtLTcsIC5jb2wtbWQtNywgLmNvbC1sZy03LCAuY29sLXhzLTgsIC5jb2wtc20tOCwgLmNvbC1tZC04LCAuY29sLWxnLTgsIC5jb2wteHMtOSwgLmNvbC1zbS05LCAuY29sLW1kLTksIC5jb2wtbGctOSwgLmNvbC14cy0xMCwgLmNvbC1zbS0xMCwgLmNvbC1tZC0xMCwgLmNvbC1sZy0xMCwgLmNvbC14cy0xMSwgLmNvbC1zbS0xMSwgLmNvbC1tZC0xMSwgLmNvbC1sZy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xMiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1pbi1oZWlnaHQ6IDFweDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgfQ0KICAuY29sLXhzLTEsIC5jb2wteHMtMiwgLmNvbC14cy0zLCAuY29sLXhzLTQsIC5jb2wteHMtNSwgLmNvbC14cy02LCAuY29sLXhzLTcsIC5jb2wteHMtOCwgLmNvbC14cy05LCAuY29sLXhzLTEwLCAuY29sLXhzLTExLCAuY29sLXhzLTEyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgfQ0KICAuY29sLXhzLTEyIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICAuY29sLXhzLTExIHsNCiAgICB3aWR0aDogOTEuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtMTAgew0KICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy05IHsNCiAgICB3aWR0aDogNzUlOw0KICB9DQogIC5jb2wteHMtOCB7DQogICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLTcgew0KICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy02IHsNCiAgICB3aWR0aDogNTAlOw0KICB9DQogIC5jb2wteHMtNSB7DQogICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLTQgew0KICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy0zIHsNCiAgICB3aWR0aDogMjUlOw0KICB9DQogIC5jb2wteHMtMiB7DQogICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLTEgew0KICAgIHdpZHRoOiA4LjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLXB1bGwtMTIgew0KICAgIHJpZ2h0OiAxMDAlOw0KICB9DQogIC5jb2wteHMtcHVsbC0xMSB7DQogICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1bGwtMTAgew0KICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTkgew0KICAgIHJpZ2h0OiA3NSU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTggew0KICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTcgew0KICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTYgew0KICAgIHJpZ2h0OiA1MCU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTUgew0KICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTQgew0KICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTMgew0KICAgIHJpZ2h0OiAyNSU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTIgew0KICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTEgew0KICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLXB1bGwtMCB7DQogICAgcmlnaHQ6IGF1dG87DQogIH0NCiAgLmNvbC14cy1wdXNoLTEyIHsNCiAgICBsZWZ0OiAxMDAlOw0KICB9DQogIC5jb2wteHMtcHVzaC0xMSB7DQogICAgbGVmdDogOTEuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtcHVzaC0xMCB7DQogICAgbGVmdDogODMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVzaC05IHsNCiAgICBsZWZ0OiA3NSU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTggew0KICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtNyB7DQogICAgbGVmdDogNTguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVzaC02IHsNCiAgICBsZWZ0OiA1MCU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTUgew0KICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtNCB7DQogICAgbGVmdDogMzMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVzaC0zIHsNCiAgICBsZWZ0OiAyNSU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTIgew0KICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtMSB7DQogICAgbGVmdDogOC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTAgew0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtMTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxMDAlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTExIHsNCiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTEwIHsNCiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtOCB7DQogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC03IHsNCiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTYgew0KICAgIG1hcmdpbi1sZWZ0OiA1MCU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtNSB7DQogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC00IHsNCiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTMgew0KICAgIG1hcmdpbi1sZWZ0OiAyNSU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtMiB7DQogICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC0xIHsNCiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtMCB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICB9DQogICAgLmNvbC1zbS0xMiB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1zbS0xMSB7DQogICAgICB3aWR0aDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLTEwIHsNCiAgICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tOSB7DQogICAgICB3aWR0aDogNzUlOw0KICAgIH0NCiAgICAuY29sLXNtLTggew0KICAgICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS03IHsNCiAgICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tNiB7DQogICAgICB3aWR0aDogNTAlOw0KICAgIH0NCiAgICAuY29sLXNtLTUgew0KICAgICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS00IHsNCiAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tMyB7DQogICAgICB3aWR0aDogMjUlOw0KICAgIH0NCiAgICAuY29sLXNtLTIgew0KICAgICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS0xIHsNCiAgICAgIHdpZHRoOiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdWxsLTEyIHsNCiAgICAgIHJpZ2h0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtMTEgew0KICAgICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdWxsLTEwIHsNCiAgICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC05IHsNCiAgICAgIHJpZ2h0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC04IHsNCiAgICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC03IHsNCiAgICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC02IHsNCiAgICAgIHJpZ2h0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC01IHsNCiAgICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC00IHsNCiAgICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0zIHsNCiAgICAgIHJpZ2h0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0yIHsNCiAgICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0xIHsNCiAgICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdWxsLTAgew0KICAgICAgcmlnaHQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC0xMiB7DQogICAgICBsZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMTEgew0KICAgICAgbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMTAgew0KICAgICAgbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtOSB7DQogICAgICBsZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC04IHsNCiAgICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTcgew0KICAgICAgbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtNiB7DQogICAgICBsZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC01IHsNCiAgICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTQgew0KICAgICAgbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMyB7DQogICAgICBsZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC0yIHsNCiAgICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTEgew0KICAgICAgbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC0wIHsNCiAgICAgIGxlZnQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTEyIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0xMSB7DQogICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0xMCB7DQogICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC05IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTggew0KICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtNyB7DQogICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC02IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTUgew0KICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtNCB7DQogICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0zIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTIgew0KICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtMSB7DQogICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgIC5jb2wtbWQtMSwgLmNvbC1tZC0yLCAuY29sLW1kLTMsIC5jb2wtbWQtNCwgLmNvbC1tZC01LCAuY29sLW1kLTYsIC5jb2wtbWQtNywgLmNvbC1tZC04LCAuY29sLW1kLTksIC5jb2wtbWQtMTAsIC5jb2wtbWQtMTEsIC5jb2wtbWQtMTIgew0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KICAgIC5jb2wtbWQtMTIgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgIC5jb2wtbWQtMTEgew0KICAgICAgd2lkdGg6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC0xMCB7DQogICAgICB3aWR0aDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLTkgew0KICAgICAgd2lkdGg6IDc1JTsNCiAgICB9DQogICAgLmNvbC1tZC04IHsNCiAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtNyB7DQogICAgICB3aWR0aDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLTYgew0KICAgICAgd2lkdGg6IDUwJTsNCiAgICB9DQogICAgLmNvbC1tZC01IHsNCiAgICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtNCB7DQogICAgICB3aWR0aDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLTMgew0KICAgICAgd2lkdGg6IDI1JTsNCiAgICB9DQogICAgLmNvbC1tZC0yIHsNCiAgICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtMSB7DQogICAgICB3aWR0aDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVsbC0xMiB7DQogICAgICByaWdodDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTExIHsNCiAgICAgIHJpZ2h0OiA5MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVsbC0xMCB7DQogICAgICByaWdodDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtOSB7DQogICAgICByaWdodDogNzUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtOCB7DQogICAgICByaWdodDogNjYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNyB7DQogICAgICByaWdodDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNiB7DQogICAgICByaWdodDogNTAlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNSB7DQogICAgICByaWdodDogNDEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNCB7DQogICAgICByaWdodDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMyB7DQogICAgICByaWdodDogMjUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMiB7DQogICAgICByaWdodDogMTYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMSB7DQogICAgICByaWdodDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVsbC0wIHsNCiAgICAgIHJpZ2h0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtMTIgew0KICAgICAgbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTExIHsNCiAgICAgIGxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTEwIHsNCiAgICAgIGxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTkgew0KICAgICAgbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtOCB7DQogICAgICBsZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC03IHsNCiAgICAgIGxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTYgew0KICAgICAgbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtNSB7DQogICAgICBsZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC00IHsNCiAgICAgIGxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTMgew0KICAgICAgbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtMiB7DQogICAgICBsZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC0xIHsNCiAgICAgIGxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtMCB7DQogICAgICBsZWZ0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC0xMiB7DQogICAgICBtYXJnaW4tbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtOSB7DQogICAgICBtYXJnaW4tbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC04IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTcgew0KICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtNiB7DQogICAgICBtYXJnaW4tbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC01IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTQgew0KICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMyB7DQogICAgICBtYXJnaW4tbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC0yIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC0wIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogICAgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICB9DQogICAgLmNvbC1sZy0xMiB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1sZy0xMSB7DQogICAgICB3aWR0aDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLTEwIHsNCiAgICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctOSB7DQogICAgICB3aWR0aDogNzUlOw0KICAgIH0NCiAgICAuY29sLWxnLTggew0KICAgICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy03IHsNCiAgICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctNiB7DQogICAgICB3aWR0aDogNTAlOw0KICAgIH0NCiAgICAuY29sLWxnLTUgew0KICAgICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy00IHsNCiAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctMyB7DQogICAgICB3aWR0aDogMjUlOw0KICAgIH0NCiAgICAuY29sLWxnLTIgew0KICAgICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy0xIHsNCiAgICAgIHdpZHRoOiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdWxsLTEyIHsNCiAgICAgIHJpZ2h0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtMTEgew0KICAgICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdWxsLTEwIHsNCiAgICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC05IHsNCiAgICAgIHJpZ2h0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC04IHsNCiAgICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC03IHsNCiAgICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC02IHsNCiAgICAgIHJpZ2h0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC01IHsNCiAgICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC00IHsNCiAgICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0zIHsNCiAgICAgIHJpZ2h0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0yIHsNCiAgICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0xIHsNCiAgICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdWxsLTAgew0KICAgICAgcmlnaHQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC0xMiB7DQogICAgICBsZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMTEgew0KICAgICAgbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMTAgew0KICAgICAgbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtOSB7DQogICAgICBsZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC04IHsNCiAgICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTcgew0KICAgICAgbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtNiB7DQogICAgICBsZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC01IHsNCiAgICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTQgew0KICAgICAgbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMyB7DQogICAgICBsZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC0yIHsNCiAgICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTEgew0KICAgICAgbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC0wIHsNCiAgICAgIGxlZnQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTEyIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0xMSB7DQogICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0xMCB7DQogICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC05IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTggew0KICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtNyB7DQogICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC02IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTUgew0KICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtNCB7DQogICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0zIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTIgew0KICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtMSB7DQogICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgfQ0KICB9DQogIHRhYmxlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICBjYXB0aW9uIHsNCiAgICBwYWRkaW5nLXRvcDogOHB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiA4cHg7DQogICAgY29sb3I6ICM3Nzc7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgfQ0KICB0aCB7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgfQ0KICAudGFibGUgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQgew0KICAgIHBhZGRpbmc6IDhweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7DQogICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsNCiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDsNCiAgfQ0KICAudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLA0KICAudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLA0KICAudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLA0KICAudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwNCiAgLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHsNCiAgICBib3JkZXItdG9wOiAwOw0KICB9DQogIC50YWJsZSA+IHRib2R5ICsgdGJvZHkgew0KICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkOw0KICB9DQogIC50YWJsZSAudGFibGUgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0aCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0aCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0ZCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0ZCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0ZCB7DQogICAgcGFkZGluZzogNXB4Ow0KICB9DQogIC50YWJsZS1ib3JkZXJlZCB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsDQogIC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aCwNCiAgLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLA0KICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsDQogIC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZCwNCiAgLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCwNCiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkIHsNCiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7DQogIH0NCiAgLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgfQ0KICB0YWJsZSBjb2xbY2xhc3MqPSJjb2wtIl0gew0KICAgIHBvc2l0aW9uOiBzdGF0aWM7DQogICAgZGlzcGxheTogdGFibGUtY29sdW1uOw0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIHRhYmxlIHRkW2NsYXNzKj0iY29sLSJdLA0KICB0YWJsZSB0aFtjbGFzcyo9ImNvbC0iXSB7DQogICAgcG9zaXRpb246IHN0YXRpYzsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5hY3RpdmUsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmUsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5hY3RpdmUsDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5hY3RpdmUsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5hY3RpdmUsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5hY3RpdmUsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGQsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGQsDQogIC50YWJsZSA+IHRmb290ID4gdHIuYWN0aXZlID4gdGQsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGgsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGgsDQogIC50YWJsZSA+IHRmb290ID4gdHIuYWN0aXZlID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmFjdGl2ZTpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmFjdGl2ZTpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5hY3RpdmU6aG92ZXIgPiB0ZCwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5hY3RpdmUsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuYWN0aXZlOmhvdmVyID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7DQogIH0NCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLnN1Y2Nlc3MsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuc3VjY2VzcywNCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLnN1Y2Nlc3MsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5zdWNjZXNzLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGguc3VjY2VzcywNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5zdWNjZXNzID4gdGQsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRkLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLnN1Y2Nlc3MgPiB0ZCwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5zdWNjZXNzID4gdGgsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRoLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLnN1Y2Nlc3MgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsNCiAgfQ0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQuc3VjY2Vzczpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLnN1Y2Nlc3M6aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRkLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLnN1Y2Nlc3MsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlOWM2Ow0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5pbmZvLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQuaW5mbywNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmluZm8sDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5pbmZvLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGguaW5mbywNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLmluZm8sDQogIC50YWJsZSA+IHRoZWFkID4gdHIuaW5mbyA+IHRkLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0ZCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5pbmZvID4gdGQsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuaW5mbyA+IHRoLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0aCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5pbmZvID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmluZm86aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5pbmZvOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0ZCwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5pbmZvLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMzsNCiAgfQ0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQud2FybmluZywNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmcsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC53YXJuaW5nLA0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgud2FybmluZywNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aC53YXJuaW5nLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0ZCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGQsDQogIC50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRkLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0aCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGgsDQogIC50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICB9DQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGgud2FybmluZzpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGQsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAud2FybmluZywNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWYyY2M7DQogIH0NCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmRhbmdlciwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlciwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmRhbmdlciwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmRhbmdlciwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlciwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLmRhbmdlciwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5kYW5nZXIgPiB0ZCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0ZCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5kYW5nZXIgPiB0ZCwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5kYW5nZXIgPiB0aCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0aCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5kYW5nZXIgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsNCiAgfQ0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQuZGFuZ2VyOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguZGFuZ2VyOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRkLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLmRhbmdlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYzsNCiAgfQ0KICAudGFibGUtcmVzcG9uc2l2ZSB7DQogICAgbWluLWhlaWdodDogLjAxJTsNCiAgICBvdmVyZmxvdy14OiBhdXRvOw0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnRhYmxlLXJlc3BvbnNpdmUgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOw0KICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7DQogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7DQogICAgICBib3JkZXI6IDA7DQogICAgfQ0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7DQogICAgICBib3JkZXItcmlnaHQ6IDA7DQogICAgfQ0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQgew0KICAgICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgICB9DQogIH0NCiAgZmllbGRzZXQgew0KICAgIG1pbi13aWR0aDogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG1hcmdpbjogMDsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgbGVnZW5kIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgZm9udC1zaXplOiAyMXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Ow0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJvcmRlcjogMDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsNCiAgfQ0KICBsYWJlbCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgaW5wdXRbdHlwZT0ic2VhcmNoIl0gew0KICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICB9DQogIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIG1hcmdpbjogNHB4IDAgMDsNCiAgICBtYXJnaW4tdG9wOiAxcHggXDk7DQogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJmaWxlIl0gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIGlucHV0W3R5cGU9InJhbmdlIl0gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQogIHNlbGVjdFttdWx0aXBsZV0sDQogIHNlbGVjdFtzaXplXSB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIGlucHV0W3R5cGU9ImZpbGUiXTpmb2N1cywNCiAgaW5wdXRbdHlwZT0icmFkaW8iXTpmb2N1cywNCiAgaW5wdXRbdHlwZT0iY2hlY2tib3giXTpmb2N1cyB7DQogICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yOw0KICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4Ow0KICB9DQogIG91dHB1dCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZy10b3A6IDdweDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICM1NTU7DQogIH0NCiAgLmZvcm0tY29udHJvbCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAzNHB4Ow0KICAgIHBhZGRpbmc6IDZweCAxMnB4Ow0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzU1NTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOw0KICAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1czsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7DQogIH0NCiAgLmZvcm0tY29udHJvbDpmb2N1cyB7DQogICAgYm9yZGVyLWNvbG9yOiAjNjZhZmU5Ow0KICAgIG91dGxpbmU6IDA7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDEwMiwgMTc1LCAyMzMsIC42KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgLjYpOw0KICB9DQogIC5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXIgew0KICAgIGNvbG9yOiAjOTk5Ow0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgIGNvbG9yOiAjOTk5Ow0KICB9DQogIC5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgIGNvbG9yOiAjOTk5Ow0KICB9DQogIC5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwNCiAgLmZvcm0tY29udHJvbFtyZWFkb25seV0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgLmZvcm0tY29udHJvbFtkaXNhYmxlZF0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICB9DQogIHRleHRhcmVhLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIGlucHV0W3R5cGU9InNlYXJjaCJdIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogIH0NCiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkgew0KICAgIGlucHV0W3R5cGU9ImRhdGUiXS5mb3JtLWNvbnRyb2wsDQogICAgaW5wdXRbdHlwZT0idGltZSJdLmZvcm0tY29udHJvbCwNCiAgICBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLmZvcm0tY29udHJvbCwNCiAgICBpbnB1dFt0eXBlPSJtb250aCJdLmZvcm0tY29udHJvbCB7DQogICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICB9DQogICAgaW5wdXRbdHlwZT0iZGF0ZSJdLmlucHV0LXNtLA0KICAgIGlucHV0W3R5cGU9InRpbWUiXS5pbnB1dC1zbSwNCiAgICBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLmlucHV0LXNtLA0KICAgIGlucHV0W3R5cGU9Im1vbnRoIl0uaW5wdXQtc20sDQogICAgLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9ImRhdGUiXSwNCiAgICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT0idGltZSJdLA0KICAgIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLA0KICAgIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPSJtb250aCJdIHsNCiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIH0NCiAgICBpbnB1dFt0eXBlPSJkYXRlIl0uaW5wdXQtbGcsDQogICAgaW5wdXRbdHlwZT0idGltZSJdLmlucHV0LWxnLA0KICAgIGlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl0uaW5wdXQtbGcsDQogICAgaW5wdXRbdHlwZT0ibW9udGgiXS5pbnB1dC1sZywNCiAgICAuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT0iZGF0ZSJdLA0KICAgIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPSJ0aW1lIl0sDQogICAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl0sDQogICAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9Im1vbnRoIl0gew0KICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7DQogICAgfQ0KICB9DQogIC5mb3JtLWdyb3VwIHsNCiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICB9DQogIC5yYWRpbywNCiAgLmNoZWNrYm94IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICB9DQogIC5yYWRpbyBsYWJlbCwNCiAgLmNoZWNrYm94IGxhYmVsIHsNCiAgICBtaW4taGVpZ2h0OiAyMHB4Ow0KICAgIHBhZGRpbmctbGVmdDogMjBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICB9DQogIC5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICAucmFkaW8taW5saW5lIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIC5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdLA0KICAuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBtYXJnaW4tdG9wOiA0cHggXDk7DQogICAgbWFyZ2luLWxlZnQ6IC0yMHB4Ow0KICB9DQogIC5yYWRpbyArIC5yYWRpbywNCiAgLmNoZWNrYm94ICsgLmNoZWNrYm94IHsNCiAgICBtYXJnaW4tdG9wOiAtNXB4Ow0KICB9DQogIC5yYWRpby1pbmxpbmUsDQogIC5jaGVja2JveC1pbmxpbmUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSwNCiAgLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQogIH0NCiAgaW5wdXRbdHlwZT0icmFkaW8iXVtkaXNhYmxlZF0sDQogIGlucHV0W3R5cGU9ImNoZWNrYm94Il1bZGlzYWJsZWRdLA0KICBpbnB1dFt0eXBlPSJyYWRpbyJdLmRpc2FibGVkLA0KICBpbnB1dFt0eXBlPSJjaGVja2JveCJdLmRpc2FibGVkLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogIH0NCiAgLnJhZGlvLWlubGluZS5kaXNhYmxlZCwNCiAgLmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpby1pbmxpbmUsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3gtaW5saW5lIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICB9DQogIC5yYWRpby5kaXNhYmxlZCBsYWJlbCwNCiAgLmNoZWNrYm94LmRpc2FibGVkIGxhYmVsLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94IGxhYmVsIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICB9DQogIC5mb3JtLWNvbnRyb2wtc3RhdGljIHsNCiAgICBtaW4taGVpZ2h0OiAzNHB4Ow0KICAgIHBhZGRpbmctdG9wOiA3cHg7DQogICAgcGFkZGluZy1ib3R0b206IDdweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWxnLA0KICAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1zbSB7DQogICAgcGFkZGluZy1yaWdodDogMDsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogIH0NCiAgLmlucHV0LXNtIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgcGFkZGluZzogNXB4IDEwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICB9DQogIHNlbGVjdC5pbnB1dC1zbSB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICB9DQogIHRleHRhcmVhLmlucHV0LXNtLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LXNtIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICAuZm9ybS1ncm91cC1zbSBzZWxlY3QuZm9ybS1jb250cm9sIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogIH0NCiAgLmZvcm0tZ3JvdXAtc20gdGV4dGFyZWEuZm9ybS1jb250cm9sLA0KICAuZm9ybS1ncm91cC1zbSBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3RhdGljIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbWluLWhlaWdodDogMzJweDsNCiAgICBwYWRkaW5nOiA2cHggMTBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgfQ0KICAuaW5wdXQtbGcgew0KICAgIGhlaWdodDogNDZweDsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIHNlbGVjdC5pbnB1dC1sZyB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICB9DQogIHRleHRhcmVhLmlucHV0LWxnLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWxnIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDEwcHggMTZweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmZvcm0tZ3JvdXAtbGcgc2VsZWN0LmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICB9DQogIC5mb3JtLWdyb3VwLWxnIHRleHRhcmVhLmZvcm0tY29udHJvbCwNCiAgLmZvcm0tZ3JvdXAtbGcgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogYXV0bzsNCiAgfQ0KICAuZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXN0YXRpYyB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIG1pbi1oZWlnaHQ6IDM4cHg7DQogICAgcGFkZGluZzogMTFweCAxNnB4Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzOw0KICB9DQogIC5oYXMtZmVlZGJhY2sgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wgew0KICAgIHBhZGRpbmctcmlnaHQ6IDQyLjVweDsNCiAgfQ0KICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIHotaW5kZXg6IDI7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDM0cHg7DQogICAgaGVpZ2h0OiAzNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzNHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgfQ0KICAuaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLA0KICAuaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLA0KICAuZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgd2lkdGg6IDQ2cHg7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICB9DQogIC5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssDQogIC5pbnB1dC1ncm91cC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssDQogIC5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICB3aWR0aDogMzBweDsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogIH0NCiAgLmhhcy1zdWNjZXNzIC5oZWxwLWJsb2NrLA0KICAuaGFzLXN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsDQogIC5oYXMtc3VjY2VzcyAucmFkaW8sDQogIC5oYXMtc3VjY2VzcyAuY2hlY2tib3gsDQogIC5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLA0KICAuaGFzLXN1Y2Nlc3MgLmNoZWNrYm94LWlubGluZSwNCiAgLmhhcy1zdWNjZXNzLnJhZGlvIGxhYmVsLA0KICAuaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsDQogIC5oYXMtc3VjY2Vzcy5yYWRpby1pbmxpbmUgbGFiZWwsDQogIC5oYXMtc3VjY2Vzcy5jaGVja2JveC1pbmxpbmUgbGFiZWwgew0KICAgIGNvbG9yOiAjM2M3NjNkOw0KICB9DQogIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sIHsNCiAgICBib3JkZXItY29sb3I6ICMzYzc2M2Q7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICB9DQogIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICBib3JkZXItY29sb3I6ICMyYjU0MmM7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCAjNjdiMTY4Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggIzY3YjE2ODsNCiAgfQ0KICAuaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4Ow0KICAgIGJvcmRlci1jb2xvcjogIzNjNzYzZDsNCiAgfQ0KICAuaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogIH0NCiAgLmhhcy13YXJuaW5nIC5oZWxwLWJsb2NrLA0KICAuaGFzLXdhcm5pbmcgLmNvbnRyb2wtbGFiZWwsDQogIC5oYXMtd2FybmluZyAucmFkaW8sDQogIC5oYXMtd2FybmluZyAuY2hlY2tib3gsDQogIC5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLA0KICAuaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSwNCiAgLmhhcy13YXJuaW5nLnJhZGlvIGxhYmVsLA0KICAuaGFzLXdhcm5pbmcuY2hlY2tib3ggbGFiZWwsDQogIC5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsDQogIC5oYXMtd2FybmluZy5jaGVja2JveC1pbmxpbmUgbGFiZWwgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICB9DQogIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sIHsNCiAgICBib3JkZXItY29sb3I6ICM4YTZkM2I7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICB9DQogIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICBib3JkZXItY29sb3I6ICM2NjUxMmM7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCAjYzBhMTZiOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggI2MwYTE2YjsNCiAgfQ0KICAuaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9uIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICAgIGJvcmRlci1jb2xvcjogIzhhNmQzYjsNCiAgfQ0KICAuaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgLmhhcy1lcnJvciAuaGVscC1ibG9jaywNCiAgLmhhcy1lcnJvciAuY29udHJvbC1sYWJlbCwNCiAgLmhhcy1lcnJvciAucmFkaW8sDQogIC5oYXMtZXJyb3IgLmNoZWNrYm94LA0KICAuaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsDQogIC5oYXMtZXJyb3IgLmNoZWNrYm94LWlubGluZSwNCiAgLmhhcy1lcnJvci5yYWRpbyBsYWJlbCwNCiAgLmhhcy1lcnJvci5jaGVja2JveCBsYWJlbCwNCiAgLmhhcy1lcnJvci5yYWRpby1pbmxpbmUgbGFiZWwsDQogIC5oYXMtZXJyb3IuY2hlY2tib3gtaW5saW5lIGxhYmVsIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgfQ0KICAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wgew0KICAgIGJvcmRlci1jb2xvcjogI2E5NDQ0MjsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7DQogIH0NCiAgLmhhcy1lcnJvciAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICBib3JkZXItY29sb3I6ICM4NDM1MzQ7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCAjY2U4NDgzOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggI2NlODQ4MzsNCiAgfQ0KICAuaGFzLWVycm9yIC5pbnB1dC1ncm91cC1hZGRvbiB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsNCiAgICBib3JkZXItY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgLmhhcy1lcnJvciAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgfQ0KICAuaGFzLWZlZWRiYWNrIGxhYmVsIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgdG9wOiAyNXB4Ow0KICB9DQogIC5oYXMtZmVlZGJhY2sgbGFiZWwuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgew0KICAgIHRvcDogMDsNCiAgfQ0KICAuaGVscC1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgY29sb3I6ICM3MzczNzM7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXN0YXRpYyB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgew0KICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sDQogICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuLA0KICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuY29udHJvbC1sYWJlbCB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5yYWRpbywNCiAgICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5yYWRpbyBsYWJlbCwNCiAgICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IGxhYmVsIHsNCiAgICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICAgIC5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7DQogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgICB0b3A6IDA7DQogICAgfQ0KICB9DQogIC5mb3JtLWhvcml6b250YWwgLnJhZGlvLA0KICAuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCwNCiAgLmZvcm0taG9yaXpvbnRhbCAucmFkaW8taW5saW5lLA0KICAuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveC1pbmxpbmUgew0KICAgIHBhZGRpbmctdG9wOiA3cHg7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5mb3JtLWhvcml6b250YWwgLnJhZGlvLA0KICAuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCB7DQogICAgbWluLWhlaWdodDogMjdweDsNCiAgfQ0KICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuZm9ybS1ob3Jpem9udGFsIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIHBhZGRpbmctdG9wOiA3cHg7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgfQ0KICB9DQogIC5mb3JtLWhvcml6b250YWwgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICByaWdodDogMTVweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLWxnIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIHBhZGRpbmctdG9wOiAxMXB4Ow0KICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIHBhZGRpbmctdG9wOiA2cHg7DQogICAgICBmb250LXNpemU6IDEycHg7DQogICAgfQ0KICB9DQogIC5idG4gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBwYWRkaW5nOiA2cHggMTJweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOw0KICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAuYnRuOmZvY3VzLA0KICAuYnRuOmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi5hY3RpdmU6Zm9jdXMsDQogIC5idG4uZm9jdXMsDQogIC5idG46YWN0aXZlLmZvY3VzLA0KICAuYnRuLmFjdGl2ZS5mb2N1cyB7DQogICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yOw0KICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4Ow0KICB9DQogIC5idG46aG92ZXIsDQogIC5idG46Zm9jdXMsDQogIC5idG4uZm9jdXMgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgfQ0KICAuYnRuOmFjdGl2ZSwNCiAgLmJ0bi5hY3RpdmUgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgb3V0bGluZTogMDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSk7DQogIH0NCiAgLmJ0bi5kaXNhYmxlZCwNCiAgLmJ0bltkaXNhYmxlZF0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICBvcGFjaXR5OiAuNjU7DQogIH0NCiAgYS5idG4uZGlzYWJsZWQsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSBhLmJ0biB7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIH0NCiAgLmJ0bi1kZWZhdWx0IHsNCiAgICBjb2xvcjogIzMzMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogI2NjYzsNCiAgfQ0KICAuYnRuLWRlZmF1bHQ6Zm9jdXMsDQogIC5idG4tZGVmYXVsdC5mb2N1cyB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsNCiAgICBib3JkZXItY29sb3I6ICM4YzhjOGM7DQogIH0NCiAgLmJ0bi1kZWZhdWx0OmhvdmVyIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2Ow0KICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsNCiAgfQ0KICAuYnRuLWRlZmF1bHQ6YWN0aXZlLA0KICAuYnRuLWRlZmF1bHQuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7DQogICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOw0KICB9DQogIC5idG4tZGVmYXVsdDphY3RpdmU6aG92ZXIsDQogIC5idG4tZGVmYXVsdC5hY3RpdmU6aG92ZXIsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpob3ZlciwNCiAgLmJ0bi1kZWZhdWx0OmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi1kZWZhdWx0LmFjdGl2ZTpmb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmZvY3VzLA0KICAuYnRuLWRlZmF1bHQ6YWN0aXZlLmZvY3VzLA0KICAuYnRuLWRlZmF1bHQuYWN0aXZlLmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuZm9jdXMgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7DQogICAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjOw0KICB9DQogIC5idG4tZGVmYXVsdDphY3RpdmUsDQogIC5idG4tZGVmYXVsdC5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdCB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgfQ0KICAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6aG92ZXIsDQogIC5idG4tZGVmYXVsdFtkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXIsDQogIC5idG4tZGVmYXVsdC5kaXNhYmxlZDpmb2N1cywNCiAgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cywNCiAgLmJ0bi1kZWZhdWx0LmRpc2FibGVkLmZvY3VzLA0KICAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogI2NjYzsNCiAgfQ0KICAuYnRuLWRlZmF1bHQgLmJhZGdlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICB9DQogIC5idG4tcHJpbWFyeSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMyZTZkYTQ7DQogIH0NCiAgLmJ0bi1wcmltYXJ5OmZvY3VzLA0KICAuYnRuLXByaW1hcnkuZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7DQogICAgYm9yZGVyLWNvbG9yOiAjMTIyYjQwOw0KICB9DQogIC5idG4tcHJpbWFyeTpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDsNCiAgICBib3JkZXItY29sb3I6ICMyMDRkNzQ7DQogIH0NCiAgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwNCiAgLmJ0bi1wcmltYXJ5LmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5IHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg2MDkwOw0KICAgIGJvcmRlci1jb2xvcjogIzIwNGQ3NDsNCiAgfQ0KICAuYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLA0KICAuYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6aG92ZXIsDQogIC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsDQogIC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeTpmb2N1cywNCiAgLmJ0bi1wcmltYXJ5OmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5LmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0ZDc0Ow0KICAgIGJvcmRlci1jb2xvcjogIzEyMmI0MDsNCiAgfQ0KICAuYnRuLXByaW1hcnk6YWN0aXZlLA0KICAuYnRuLXByaW1hcnkuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnkgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLA0KICAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmhvdmVyLA0KICAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsDQogIC5idG4tcHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsDQogIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywNCiAgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5mb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMyZTZkYTQ7DQogIH0NCiAgLmJ0bi1wcmltYXJ5IC5iYWRnZSB7DQogICAgY29sb3I6ICMzMzdhYjc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7DQogICAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOw0KICB9DQogIC5idG4tc3VjY2Vzczpmb2N1cywNCiAgLmJ0bi1zdWNjZXNzLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ0Ow0KICAgIGJvcmRlci1jb2xvcjogIzI1NTYyNTsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3M6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDQ7DQogICAgYm9yZGVyLWNvbG9yOiAjMzk4NDM5Ow0KICB9DQogIC5idG4tc3VjY2VzczphY3RpdmUsDQogIC5idG4tc3VjY2Vzcy5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2VzcyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDsNCiAgICBib3JkZXItY29sb3I6ICMzOTg0Mzk7DQogIH0NCiAgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlciwNCiAgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlciwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzOmhvdmVyLA0KICAuYnRuLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6Zm9jdXMsDQogIC5idG4tc3VjY2VzczphY3RpdmUuZm9jdXMsDQogIC5idG4tc3VjY2Vzcy5hY3RpdmUuZm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzcy5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzM5ODQzOTsNCiAgICBib3JkZXItY29sb3I6ICMyNTU2MjU7DQogIH0NCiAgLmJ0bi1zdWNjZXNzOmFjdGl2ZSwNCiAgLmJ0bi1zdWNjZXNzLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICB9DQogIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwNCiAgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3ZlciwNCiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsDQogIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0uZm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3MuZm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7DQogICAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOw0KICB9DQogIC5idG4tc3VjY2VzcyAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjNWNiODVjOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmJ0bi1pbmZvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlOw0KICAgIGJvcmRlci1jb2xvcjogIzQ2YjhkYTsNCiAgfQ0KICAuYnRuLWluZm86Zm9jdXMsDQogIC5idG4taW5mby5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYjBkNTsNCiAgICBib3JkZXItY29sb3I6ICMxYjZkODU7DQogIH0NCiAgLmJ0bi1pbmZvOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1Ow0KICAgIGJvcmRlci1jb2xvcjogIzI2OWFiYzsNCiAgfQ0KICAuYnRuLWluZm86YWN0aXZlLA0KICAuYnRuLWluZm8uYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMWIwZDU7DQogICAgYm9yZGVyLWNvbG9yOiAjMjY5YWJjOw0KICB9DQogIC5idG4taW5mbzphY3RpdmU6aG92ZXIsDQogIC5idG4taW5mby5hY3RpdmU6aG92ZXIsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpob3ZlciwNCiAgLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmZvY3VzLA0KICAuYnRuLWluZm86YWN0aXZlLmZvY3VzLA0KICAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8uZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjlhYmM7DQogICAgYm9yZGVyLWNvbG9yOiAjMWI2ZDg1Ow0KICB9DQogIC5idG4taW5mbzphY3RpdmUsDQogIC5idG4taW5mby5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbyB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgfQ0KICAuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsDQogIC5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86aG92ZXIsDQogIC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywNCiAgLmJ0bi1pbmZvW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cywNCiAgLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLA0KICAuYnRuLWluZm9bZGlzYWJsZWRdLmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlOw0KICAgIGJvcmRlci1jb2xvcjogIzQ2YjhkYTsNCiAgfQ0KICAuYnRuLWluZm8gLmJhZGdlIHsNCiAgICBjb2xvcjogIzViYzBkZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5idG4td2FybmluZyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsNCiAgICBib3JkZXItY29sb3I6ICNlZWEyMzY7DQogIH0NCiAgLmJ0bi13YXJuaW5nOmZvY3VzLA0KICAuYnRuLXdhcm5pbmcuZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzk3MWY7DQogICAgYm9yZGVyLWNvbG9yOiAjOTg1ZjBkOw0KICB9DQogIC5idG4td2FybmluZzpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTcxZjsNCiAgICBib3JkZXItY29sb3I6ICNkNTg1MTI7DQogIH0NCiAgLmJ0bi13YXJuaW5nOmFjdGl2ZSwNCiAgLmJ0bi13YXJuaW5nLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5NzFmOw0KICAgIGJvcmRlci1jb2xvcjogI2Q1ODUxMjsNCiAgfQ0KICAuYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLA0KICAuYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6aG92ZXIsDQogIC5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsDQogIC5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpmb2N1cywNCiAgLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDU4NTEyOw0KICAgIGJvcmRlci1jb2xvcjogIzk4NWYwZDsNCiAgfQ0KICAuYnRuLXdhcm5pbmc6YWN0aXZlLA0KICAuYnRuLXdhcm5pbmcuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmcgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLA0KICAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmhvdmVyLA0KICAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsDQogIC5idG4td2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsDQogIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywNCiAgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5mb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsNCiAgICBib3JkZXItY29sb3I6ICNlZWEyMzY7DQogIH0NCiAgLmJ0bi13YXJuaW5nIC5iYWRnZSB7DQogICAgY29sb3I6ICNmMGFkNGU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAuYnRuLWRhbmdlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjsNCiAgICBib3JkZXItY29sb3I6ICNkNDNmM2E7DQogIH0NCiAgLmJ0bi1kYW5nZXI6Zm9jdXMsDQogIC5idG4tZGFuZ2VyLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjOw0KICAgIGJvcmRlci1jb2xvcjogIzc2MWMxOTsNCiAgfQ0KICAuYnRuLWRhbmdlcjpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M5MzAyYzsNCiAgICBib3JkZXItY29sb3I6ICNhYzI5MjU7DQogIH0NCiAgLmJ0bi1kYW5nZXI6YWN0aXZlLA0KICAuYnRuLWRhbmdlci5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjOw0KICAgIGJvcmRlci1jb2xvcjogI2FjMjkyNTsNCiAgfQ0KICAuYnRuLWRhbmdlcjphY3RpdmU6aG92ZXIsDQogIC5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6aG92ZXIsDQogIC5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcjpmb2N1cywNCiAgLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLA0KICAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWMyOTI1Ow0KICAgIGJvcmRlci1jb2xvcjogIzc2MWMxOTsNCiAgfQ0KICAuYnRuLWRhbmdlcjphY3RpdmUsDQogIC5idG4tZGFuZ2VyLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXIgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsDQogIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmhvdmVyLA0KICAuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywNCiAgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsDQogIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLA0KICAuYnRuLWRhbmdlcltkaXNhYmxlZF0uZm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlci5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjsNCiAgICBib3JkZXItY29sb3I6ICNkNDNmM2E7DQogIH0NCiAgLmJ0bi1kYW5nZXIgLmJhZGdlIHsNCiAgICBjb2xvcjogI2Q5NTM0ZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5idG4tbGluayB7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBjb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tbGluaywNCiAgLmJ0bi1saW5rOmFjdGl2ZSwNCiAgLmJ0bi1saW5rLmFjdGl2ZSwNCiAgLmJ0bi1saW5rW2Rpc2FibGVkXSwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluayB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgfQ0KICAuYnRuLWxpbmssDQogIC5idG4tbGluazpob3ZlciwNCiAgLmJ0bi1saW5rOmZvY3VzLA0KICAuYnRuLWxpbms6YWN0aXZlIHsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5idG4tbGluazpob3ZlciwNCiAgLmJ0bi1saW5rOmZvY3VzIHsNCiAgICBjb2xvcjogIzIzNTI3YzsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmhvdmVyLA0KICAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmZvY3VzIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIH0NCiAgLmJ0bi1sZywNCiAgLmJ0bi1ncm91cC1sZyA+IC5idG4gew0KICAgIHBhZGRpbmc6IDEwcHggMTZweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmJ0bi1zbSwNCiAgLmJ0bi1ncm91cC1zbSA+IC5idG4gew0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICAuYnRuLXhzLA0KICAuYnRuLWdyb3VwLXhzID4gLmJ0biB7DQogICAgcGFkZGluZzogMXB4IDVweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogIH0NCiAgLmJ0bi1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sgew0KICAgIG1hcmdpbi10b3A6IDVweDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJzdWJtaXQiXS5idG4tYmxvY2ssDQogIGlucHV0W3R5cGU9InJlc2V0Il0uYnRuLWJsb2NrLA0KICBpbnB1dFt0eXBlPSJidXR0b24iXS5idG4tYmxvY2sgew0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQogIC5mYWRlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBsaW5lYXI7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyOw0KICB9DQogIC5mYWRlLmluIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIC5jb2xsYXBzZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAuY29sbGFwc2UuaW4gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIHRyLmNvbGxhcHNlLmluIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7DQogIH0NCiAgdGJvZHkuY29sbGFwc2UuaW4gew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsNCiAgfQ0KICAuY29sbGFwc2luZyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGhlaWdodDogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7DQogICAgICAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsNCiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1czsNCiAgICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7DQogICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5Ow0KICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5Ow0KICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5Ow0KICB9DQogIC5jYXJldCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBtYXJnaW4tbGVmdDogMnB4Ow0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgYm9yZGVyLXRvcDogNHB4IGRhc2hlZDsNCiAgICBib3JkZXItdG9wOiA0cHggc29saWQgXDk7DQogICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgfQ0KICAuZHJvcHVwLA0KICAuZHJvcGRvd24gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBvdXRsaW5lOiAwOw0KICB9DQogIC5kcm9wZG93bi1tZW51IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAxMDAlOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTAwMDsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1pbi13aWR0aDogMTYwcHg7DQogICAgcGFkZGluZzogNXB4IDA7DQogICAgbWFyZ2luOiAycHggMCAwOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTUpOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTsNCiAgfQ0KICAuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0IHsNCiAgICByaWdodDogMDsNCiAgICBsZWZ0OiBhdXRvOw0KICB9DQogIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICBtYXJnaW46IDlweCAwOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogM3B4IDIwcHg7DQogICAgY2xlYXI6IGJvdGg7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzMzMzsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB9DQogIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLA0KICAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICMyNjI2MjY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSwNCiAgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpob3ZlciwNCiAgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsDQogIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwNCiAgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpOw0KICB9DQogIC5vcGVuID4gLmRyb3Bkb3duLW1lbnUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIC5vcGVuID4gYSB7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICAuZHJvcGRvd24tbWVudS1yaWdodCB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICAuZHJvcGRvd24tbWVudS1sZWZ0IHsNCiAgICByaWdodDogYXV0bzsNCiAgICBsZWZ0OiAwOw0KICB9DQogIC5kcm9wZG93bi1oZWFkZXIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDNweCAyMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzc3NzsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB9DQogIC5kcm9wZG93bi1iYWNrZHJvcCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiA5OTA7DQogIH0NCiAgLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICAuZHJvcHVwIC5jYXJldCwNCiAgLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5jYXJldCB7DQogICAgY29udGVudDogIiI7DQogICAgYm9yZGVyLXRvcDogMDsNCiAgICBib3JkZXItYm90dG9tOiA0cHggZGFzaGVkOw0KICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBcOTsNCiAgfQ0KICAuZHJvcHVwIC5kcm9wZG93bi1tZW51LA0KICAubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgew0KICAgIHRvcDogYXV0bzsNCiAgICBib3R0b206IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMnB4Ow0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUgew0KICAgICAgcmlnaHQ6IDA7DQogICAgICBsZWZ0OiBhdXRvOw0KICAgIH0NCiAgICAubmF2YmFyLXJpZ2h0IC5kcm9wZG93bi1tZW51LWxlZnQgew0KICAgICAgcmlnaHQ6IGF1dG87DQogICAgICBsZWZ0OiAwOw0KICAgIH0NCiAgfQ0KICAuYnRuLWdyb3VwLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4sDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmhvdmVyLA0KICAuYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsDQogIC5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLA0KICAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7DQogICAgei1pbmRleDogMjsNCiAgfQ0KICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLA0KICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLWdyb3VwLA0KICAuYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLA0KICAuYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHsNCiAgICBtYXJnaW4tbGVmdDogLTFweDsNCiAgfQ0KICAuYnRuLXRvb2xiYXIgew0KICAgIG1hcmdpbi1sZWZ0OiAtNXB4Ow0KICB9DQogIC5idG4tdG9vbGJhciAuYnRuLA0KICAuYnRuLXRvb2xiYXIgLmJ0bi1ncm91cCwNCiAgLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLmJ0bi10b29sYmFyID4gLmJ0biwNCiAgLmJ0bi10b29sYmFyID4gLmJ0bi1ncm91cCwNCiAgLmJ0bi10b29sYmFyID4gLmlucHV0LWdyb3VwIHsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAuYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwNCiAgLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4gew0KICAgIGJvcmRlci1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCwNCiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSwNCiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUgew0KICAgIG91dGxpbmU6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7DQogICAgcGFkZGluZy1sZWZ0OiA4cHg7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTJweDsNCiAgfQ0KICAuYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpOw0KICB9DQogIC5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1saW5rIHsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICB9DQogIC5idG4gLmNhcmV0IHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAuYnRuLWxnIC5jYXJldCB7DQogICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7DQogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsNCiAgfQ0KICAuZHJvcHVwIC5idG4tbGcgLmNhcmV0IHsNCiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0biB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgZmxvYXQ6IG5vbmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0biB7DQogICAgZmxvYXQ6IG5vbmU7DQogIH0NCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4tZ3JvdXAsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0biwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHsNCiAgICBtYXJnaW4tdG9wOiAtMXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgew0KICAgIGJvcmRlci1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4Ow0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAtanVzdGlmaWVkIHsNCiAgICBkaXNwbGF5OiB0YWJsZTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOw0KICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7DQogIH0NCiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLA0KICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAgew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQogICAgZmxvYXQ6IG5vbmU7DQogICAgd2lkdGg6IDElOw0KICB9DQogIC5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bi1ncm91cCAuYnRuIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUgew0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0gPiAuYnRuIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIFtkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0gPiAuYnRuIGlucHV0W3R5cGU9ImNoZWNrYm94Il0sDQogIFtkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIH0NCiAgLmlucHV0LWdyb3VwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogdGFibGU7DQogICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsNCiAgfQ0KICAuaW5wdXQtZ3JvdXBbY2xhc3MqPSJjb2wtIl0gew0KICAgIGZsb2F0OiBub25lOw0KICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICB9DQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMjsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICB6LWluZGV4OiAzOw0KICB9DQogIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsDQogIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIGhlaWdodDogNDZweDsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIHNlbGVjdC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsDQogIHNlbGVjdC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgc2VsZWN0LmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIGhlaWdodDogNDZweDsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgfQ0KICB0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsDQogIHRleHRhcmVhLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLA0KICB0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCwNCiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLA0KICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICBzZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLA0KICBzZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIHNlbGVjdC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogIH0NCiAgdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLA0KICB0ZXh0YXJlYS5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsDQogIHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgLmlucHV0LWdyb3VwLWJ0biwNCiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wgew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksDQogIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSwNCiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIC5pbnB1dC1ncm91cC1idG4gew0KICAgIHdpZHRoOiAxJTsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uIHsNCiAgICBwYWRkaW5nOiA2cHggMTJweDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogIzU1NTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtc20gew0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LWxnIHsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIG1hcmdpbi10b3A6IDA7DQogIH0NCiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsDQogIC5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCwNCiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sDQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0biwNCiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsDQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksDQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4gew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KICB9DQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsDQogIC5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0biwNCiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSwNCiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksDQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItbGVmdDogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYnRuIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZm9udC1zaXplOiAwOw0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogIH0NCiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5idG4gew0KICAgIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KICB9DQogIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmhvdmVyLA0KICAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpmb2N1cywNCiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46YWN0aXZlIHsNCiAgICB6LWluZGV4OiAyOw0KICB9DQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCB7DQogICAgbWFyZ2luLXJpZ2h0OiAtMXB4Ow0KICB9DQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sDQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgew0KICAgIHotaW5kZXg6IDI7DQogICAgbWFyZ2luLWxlZnQ6IC0xcHg7DQogIH0NCiAgLm5hdiB7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgfQ0KICAubmF2ID4gbGkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICAubmF2ID4gbGkgPiBhIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogMTBweCAxNXB4Ow0KICB9DQogIC5uYXYgPiBsaSA+IGE6aG92ZXIsDQogIC5uYXYgPiBsaSA+IGE6Zm9jdXMgew0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICB9DQogIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGEgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjNzc3Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXYgLm9wZW4gPiBhLA0KICAubmF2IC5vcGVuID4gYTpob3ZlciwNCiAgLm5hdiAub3BlbiA+IGE6Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7DQogICAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5uYXYgLm5hdi1kaXZpZGVyIHsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICBtYXJnaW46IDlweCAwOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsNCiAgfQ0KICAubmF2ID4gbGkgPiBhID4gaW1nIHsNCiAgICBtYXgtd2lkdGg6IG5vbmU7DQogIH0NCiAgLm5hdi10YWJzIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAubmF2LXRhYnMgPiBsaSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgbWFyZ2luLWJvdHRvbTogLTFweDsNCiAgfQ0KICAubmF2LXRhYnMgPiBsaSA+IGEgew0KICAgIG1hcmdpbi1yaWdodDogMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOw0KICB9DQogIC5uYXYtdGFicyA+IGxpID4gYTpob3ZlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjZWVlICNlZWUgI2RkZDsNCiAgfQ0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhLA0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzU1NTsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgew0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHsNCiAgICB0b3A6IGF1dG87DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQogICAgICB3aWR0aDogMSU7DQogICAgfQ0KICAgIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgfQ0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGEsDQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEgew0KICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7DQogICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsNCiAgICB9DQogICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwNCiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAgIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsNCiAgICB9DQogIH0NCiAgLm5hdi1waWxscyA+IGxpIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgfQ0KICAubmF2LXBpbGxzID4gbGkgPiBhIHsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLm5hdi1waWxscyA+IGxpICsgbGkgew0KICAgIG1hcmdpbi1sZWZ0OiAycHg7DQogIH0NCiAgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGEsDQogIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAubmF2LXN0YWNrZWQgPiBsaSB7DQogICAgZmxvYXQ6IG5vbmU7DQogIH0NCiAgLm5hdi1zdGFja2VkID4gbGkgKyBsaSB7DQogICAgbWFyZ2luLXRvcDogMnB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5uYXYtanVzdGlmaWVkIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICAubmF2LWp1c3RpZmllZCA+IGxpIHsNCiAgICBmbG9hdDogbm9uZTsNCiAgfQ0KICAubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgfQ0KICAubmF2LWp1c3RpZmllZCA+IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7DQogICAgdG9wOiBhdXRvOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdi1qdXN0aWZpZWQgPiBsaSB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgICAgd2lkdGg6IDElOw0KICAgIH0NCiAgICAubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgfQ0KICAubmF2LXRhYnMtanVzdGlmaWVkIHsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5uYXYtdGFicy1qdXN0aWZpZWQgPiBsaSA+IGEgew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLA0KICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOw0KICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7DQogICAgfQ0KICAgIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwNCiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7DQogICAgfQ0KICB9DQogIC50YWItY29udGVudCA+IC50YWItcGFuZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAudGFiLWNvbnRlbnQgPiAuYWN0aXZlIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICAubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUgew0KICAgIG1hcmdpbi10b3A6IC0xcHg7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgfQ0KICAubmF2YmFyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbWluLWhlaWdodDogNTBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXIgew0KICAgICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLWhlYWRlciB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1jb2xsYXBzZSB7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgb3ZlcmZsb3cteDogdmlzaWJsZTsNCiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7DQogIH0NCiAgLm5hdmJhci1jb2xsYXBzZS5pbiB7DQogICAgb3ZlcmZsb3cteTogYXV0bzsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgYm9yZGVyLXRvcDogMDsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICB9DQogICAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIC5uYXZiYXItY29sbGFwc2UuaW4gew0KICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTsNCiAgICB9DQogICAgLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSwNCiAgICAubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1jb2xsYXBzZSwNCiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsDQogIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Ugew0KICAgIG1heC1oZWlnaHQ6IDM0MHB4Ow0KICB9DQogIEBtZWRpYSAobWF4LWRldmljZS13aWR0aDogNDgwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgew0KICAgIC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsDQogICAgLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICBtYXgtaGVpZ2h0OiAyMDBweDsNCiAgICB9DQogIH0NCiAgLmNvbnRhaW5lciA+IC5uYXZiYXItaGVhZGVyLA0KICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsDQogIC5jb250YWluZXIgPiAubmF2YmFyLWNvbGxhcHNlLA0KICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tbGVmdDogLTE1cHg7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmNvbnRhaW5lciA+IC5uYXZiYXItaGVhZGVyLA0KICAgIC5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWhlYWRlciwNCiAgICAuY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSwNCiAgICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1zdGF0aWMtdG9wIHsNCiAgICB6LWluZGV4OiAxMDAwOw0KICAgIGJvcmRlci13aWR0aDogMCAwIDFweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLXN0YXRpYy10b3Agew0KICAgICAgYm9yZGVyLXJhZGl1czogMDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1maXhlZC10b3AsDQogIC5uYXZiYXItZml4ZWQtYm90dG9tIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxMDMwOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItZml4ZWQtdG9wLA0KICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIHsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItZml4ZWQtdG9wIHsNCiAgICB0b3A6IDA7DQogICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4Ow0KICB9DQogIC5uYXZiYXItZml4ZWQtYm90dG9tIHsNCiAgICBib3R0b206IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7DQogIH0NCiAgLm5hdmJhci1icmFuZCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgaGVpZ2h0OiA1MHB4Ow0KICAgIHBhZGRpbmc6IDE1cHggMTVweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogIH0NCiAgLm5hdmJhci1icmFuZDpob3ZlciwNCiAgLm5hdmJhci1icmFuZDpmb2N1cyB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB9DQogIC5uYXZiYXItYnJhbmQgPiBpbWcgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXIgPiAuY29udGFpbmVyIC5uYXZiYXItYnJhbmQsDQogICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1icmFuZCB7DQogICAgICBtYXJnaW4tbGVmdDogLTE1cHg7DQogICAgfQ0KICB9DQogIC5uYXZiYXItdG9nZ2xlIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICAgIHBhZGRpbmc6IDlweCAxMHB4Ow0KICAgIG1hcmdpbi10b3A6IDhweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5uYXZiYXItdG9nZ2xlOmZvY3VzIHsNCiAgICBvdXRsaW5lOiAwOw0KICB9DQogIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDIycHg7DQogICAgaGVpZ2h0OiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMXB4Ow0KICB9DQogIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciArIC5pY29uLWJhciB7DQogICAgbWFyZ2luLXRvcDogNHB4Ow0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItdG9nZ2xlIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICB9DQogIC5uYXZiYXItbmF2IHsNCiAgICBtYXJnaW46IDcuNXB4IC0xNXB4Ow0KICB9DQogIC5uYXZiYXItbmF2ID4gbGkgPiBhIHsNCiAgICBwYWRkaW5nLXRvcDogMTBweDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSB7DQogICAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgICAgZmxvYXQ6IG5vbmU7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgIGJvcmRlcjogMDsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICB9DQogICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEsDQogICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWhlYWRlciB7DQogICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDsNCiAgICB9DQogICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEgew0KICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgfQ0KICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHsNCiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItbmF2IHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgbWFyZ2luOiAwOw0KICAgIH0NCiAgICAubmF2YmFyLW5hdiA+IGxpIHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgIH0NCiAgICAubmF2YmFyLW5hdiA+IGxpID4gYSB7DQogICAgICBwYWRkaW5nLXRvcDogMTVweDsNCiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4Ow0KICAgIH0NCiAgfQ0KICAubmF2YmFyLWZvcm0gew0KICAgIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgICBtYXJnaW4tdG9wOiA4cHg7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tYm90dG9tOiA4cHg7DQogICAgbWFyZ2luLWxlZnQ6IC0xNXB4Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpLCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKSwgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXAgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wtc3RhdGljIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sDQogICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLnJhZGlvLA0KICAgIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgbWFyZ2luLXRvcDogMDsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLnJhZGlvIGxhYmVsLA0KICAgIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggbGFiZWwgew0KICAgICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl0sDQogICAgLm5hdmJhci1mb3JtIC5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICAgIHRvcDogMDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQgew0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1mb3JtIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgcGFkZGluZy10b3A6IDA7DQogICAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgICAgYm9yZGVyOiAwOw0KICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgIH0NCiAgfQ0KICAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgfQ0KICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAubmF2YmFyLWJ0biB7DQogICAgbWFyZ2luLXRvcDogOHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDhweDsNCiAgfQ0KICAubmF2YmFyLWJ0bi5idG4tc20gew0KICAgIG1hcmdpbi10b3A6IDEwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgfQ0KICAubmF2YmFyLWJ0bi5idG4teHMgew0KICAgIG1hcmdpbi10b3A6IDE0cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTRweDsNCiAgfQ0KICAubmF2YmFyLXRleHQgew0KICAgIG1hcmdpbi10b3A6IDE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLXRleHQgew0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7DQogICAgICBtYXJnaW4tbGVmdDogMTVweDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1sZWZ0IHsNCiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIC5uYXZiYXItcmlnaHQgew0KICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7DQogICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4Ow0KICAgIH0NCiAgICAubmF2YmFyLXJpZ2h0IH4gLm5hdmJhci1yaWdodCB7DQogICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItZGVmYXVsdCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsNCiAgICBib3JkZXItY29sb3I6ICNlN2U3ZTc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cyB7DQogICAgY29sb3I6ICM1ZTVlNWU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dCB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM1NTU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2NjYzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgew0KICAgIGJvcmRlci1jb2xvcjogI2RkZDsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1mb3JtIHsNCiAgICBib3JkZXItY29sb3I6ICNlN2U3ZTc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM1NTU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsNCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEgew0KICAgICAgY29sb3I6ICM3Nzc7DQogICAgfQ0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwNCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMgew0KICAgICAgY29sb3I6ICMzMzM7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICB9DQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsDQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgICAgY29sb3I6ICM1NTU7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3Ow0KICAgIH0NCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLA0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgICBjb2xvcjogI2NjYzsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIH0NCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rOmhvdmVyIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyB7DQogICAgY29sb3I6ICNjY2M7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyOw0KICAgIGJvcmRlci1jb2xvcjogIzA4MDgwODsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZCB7DQogICAgY29sb3I6ICM5ZDlkOWQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQ6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10ZXh0IHsNCiAgICBjb2xvcjogIzlkOWQ5ZDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEgew0KICAgIGNvbG9yOiAjOWQ5ZDlkOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgwODA4Ow0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGEsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjNDQ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSB7DQogICAgYm9yZGVyLWNvbG9yOiAjMzMzOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItY29sbGFwc2UsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWZvcm0gew0KICAgIGJvcmRlci1jb2xvcjogIzEwMTAxMDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgwODA4Ow0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kcm9wZG93bi1oZWFkZXIgew0KICAgICAgYm9yZGVyLWNvbG9yOiAjMDgwODA4Ow0KICAgIH0NCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIgew0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODsNCiAgICB9DQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHsNCiAgICAgIGNvbG9yOiAjOWQ5ZDlkOw0KICAgIH0NCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsDQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgfQ0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhLA0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODsNCiAgICB9DQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSwNCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgICAgY29sb3I6ICM0NDQ7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluayB7DQogICAgY29sb3I6ICM5ZDlkOWQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluayB7DQogICAgY29sb3I6ICM5ZDlkOWQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVyLA0KICAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMgew0KICAgIGNvbG9yOiAjNDQ0Ow0KICB9DQogIC5icmVhZGNydW1iIHsNCiAgICBwYWRkaW5nOiA4cHggMTVweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLmJyZWFkY3J1bWIgPiBsaSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB9DQogIC5icmVhZGNydW1iID4gbGkgKyBsaTpiZWZvcmUgew0KICAgIHBhZGRpbmc6IDAgNXB4Ow0KICAgIGNvbG9yOiAjY2NjOw0KICAgIGNvbnRlbnQ6ICIvXDAwYTAiOw0KICB9DQogIC5icmVhZGNydW1iID4gLmFjdGl2ZSB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLnBhZ2luYXRpb24gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luOiAyMHB4IDA7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5wYWdpbmF0aW9uID4gbGkgew0KICAgIGRpc3BsYXk6IGlubGluZTsNCiAgfQ0KICAucGFnaW5hdGlvbiA+IGxpID4gYSwNCiAgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW4gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBwYWRkaW5nOiA2cHggMTJweDsNCiAgICBtYXJnaW4tbGVmdDogLTFweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzMzN2FiNzsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBhLA0KICAucGFnaW5hdGlvbiA+IGxpOmZpcnN0LWNoaWxkID4gc3BhbiB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsNCiAgfQ0KICAucGFnaW5hdGlvbiA+IGxpOmxhc3QtY2hpbGQgPiBhLA0KICAucGFnaW5hdGlvbiA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7DQogIH0NCiAgLnBhZ2luYXRpb24gPiBsaSA+IGE6aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gbGkgPiBzcGFuOmhvdmVyLA0KICAucGFnaW5hdGlvbiA+IGxpID4gYTpmb2N1cywNCiAgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46Zm9jdXMgew0KICAgIHotaW5kZXg6IDI7DQogICAgY29sb3I6ICMyMzUyN2M7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3BhbiwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpob3ZlciwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3ZlciwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpmb2N1cywNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpmb2N1cyB7DQogICAgei1pbmRleDogMzsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuLA0KICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IHNwYW46aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gc3Bhbjpmb2N1cywNCiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhLA0KICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM3Nzc7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogI2RkZDsNCiAgfQ0KICAucGFnaW5hdGlvbi1sZyA+IGxpID4gYSwNCiAgLnBhZ2luYXRpb24tbGcgPiBsaSA+IHNwYW4gew0KICAgIHBhZGRpbmc6IDEwcHggMTZweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzsNCiAgfQ0KICAucGFnaW5hdGlvbi1sZyA+IGxpOmZpcnN0LWNoaWxkID4gYSwNCiAgLnBhZ2luYXRpb24tbGcgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4gew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7DQogIH0NCiAgLnBhZ2luYXRpb24tbGcgPiBsaTpsYXN0LWNoaWxkID4gYSwNCiAgLnBhZ2luYXRpb24tbGcgPiBsaTpsYXN0LWNoaWxkID4gc3BhbiB7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4Ow0KICB9DQogIC5wYWdpbmF0aW9uLXNtID4gbGkgPiBhLA0KICAucGFnaW5hdGlvbi1zbSA+IGxpID4gc3BhbiB7DQogICAgcGFkZGluZzogNXB4IDEwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogIH0NCiAgLnBhZ2luYXRpb24tc20gPiBsaTpmaXJzdC1jaGlsZCA+IGEsDQogIC5wYWdpbmF0aW9uLXNtID4gbGk6Zmlyc3QtY2hpbGQgPiBzcGFuIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYWdpbmF0aW9uLXNtID4gbGk6bGFzdC1jaGlsZCA+IGEsDQogIC5wYWdpbmF0aW9uLXNtID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4gew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFnZXIgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW46IDIwcHggMDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgfQ0KICAucGFnZXIgbGkgew0KICAgIGRpc3BsYXk6IGlubGluZTsNCiAgfQ0KICAucGFnZXIgbGkgPiBhLA0KICAucGFnZXIgbGkgPiBzcGFuIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZzogNXB4IDE0cHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7DQogIH0NCiAgLnBhZ2VyIGxpID4gYTpob3ZlciwNCiAgLnBhZ2VyIGxpID4gYTpmb2N1cyB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7DQogIH0NCiAgLnBhZ2VyIC5uZXh0ID4gYSwNCiAgLnBhZ2VyIC5uZXh0ID4gc3BhbiB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICB9DQogIC5wYWdlciAucHJldmlvdXMgPiBhLA0KICAucGFnZXIgLnByZXZpb3VzID4gc3BhbiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLnBhZ2VyIC5kaXNhYmxlZCA+IGEsDQogIC5wYWdlciAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAucGFnZXIgLmRpc2FibGVkID4gYTpmb2N1cywNCiAgLnBhZ2VyIC5kaXNhYmxlZCA+IHNwYW4gew0KICAgIGNvbG9yOiAjNzc3Ow0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAubGFiZWwgew0KICAgIGRpc3BsYXk6IGlubGluZTsNCiAgICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTsNCiAgICBmb250LXNpemU6IDc1JTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7DQogICAgYm9yZGVyLXJhZGl1czogLjI1ZW07DQogIH0NCiAgYS5sYWJlbDpob3ZlciwNCiAgYS5sYWJlbDpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAubGFiZWw6ZW1wdHkgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgLmJ0biAubGFiZWwgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB0b3A6IC0xcHg7DQogIH0NCiAgLmxhYmVsLWRlZmF1bHQgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7DQogIH0NCiAgLmxhYmVsLWRlZmF1bHRbaHJlZl06aG92ZXIsDQogIC5sYWJlbC1kZWZhdWx0W2hyZWZdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlOw0KICB9DQogIC5sYWJlbC1wcmltYXJ5IHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5sYWJlbC1wcmltYXJ5W2hyZWZdOmhvdmVyLA0KICAubGFiZWwtcHJpbWFyeVtocmVmXTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDsNCiAgfQ0KICAubGFiZWwtc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YzsNCiAgfQ0KICAubGFiZWwtc3VjY2Vzc1tocmVmXTpob3ZlciwNCiAgLmxhYmVsLXN1Y2Nlc3NbaHJlZl06Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDQ7DQogIH0NCiAgLmxhYmVsLWluZm8gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7DQogIH0NCiAgLmxhYmVsLWluZm9baHJlZl06aG92ZXIsDQogIC5sYWJlbC1pbmZvW2hyZWZdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1Ow0KICB9DQogIC5sYWJlbC13YXJuaW5nIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBhZDRlOw0KICB9DQogIC5sYWJlbC13YXJuaW5nW2hyZWZdOmhvdmVyLA0KICAubGFiZWwtd2FybmluZ1tocmVmXTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTcxZjsNCiAgfQ0KICAubGFiZWwtZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmOw0KICB9DQogIC5sYWJlbC1kYW5nZXJbaHJlZl06aG92ZXIsDQogIC5sYWJlbC1kYW5nZXJbaHJlZl06Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjOTMwMmM7DQogIH0NCiAgLmJhZGdlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWluLXdpZHRoOiAxMHB4Ow0KICAgIHBhZGRpbmc6IDNweCA3cHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsNCiAgICBib3JkZXItcmFkaXVzOiAxMHB4Ow0KICB9DQogIC5iYWRnZTplbXB0eSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAuYnRuIC5iYWRnZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogLTFweDsNCiAgfQ0KICAuYnRuLXhzIC5iYWRnZSwNCiAgLmJ0bi1ncm91cC14cyA+IC5idG4gLmJhZGdlIHsNCiAgICB0b3A6IDA7DQogICAgcGFkZGluZzogMXB4IDVweDsNCiAgfQ0KICBhLmJhZGdlOmhvdmVyLA0KICBhLmJhZGdlOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gLmJhZGdlLA0KICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjMzM3YWI3Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbSA+IC5iYWRnZSB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0gPiAuYmFkZ2UgKyAuYmFkZ2Ugew0KICAgIG1hcmdpbi1yaWdodDogNXB4Ow0KICB9DQogIC5uYXYtcGlsbHMgPiBsaSA+IGEgPiAuYmFkZ2Ugew0KICAgIG1hcmdpbi1sZWZ0OiAzcHg7DQogIH0NCiAgLmp1bWJvdHJvbiB7DQogICAgcGFkZGluZy10b3A6IDMwcHg7DQogICAgcGFkZGluZy1ib3R0b206IDMwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICB9DQogIC5qdW1ib3Ryb24gaDEsDQogIC5qdW1ib3Ryb24gLmgxIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICAuanVtYm90cm9uIHAgew0KICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogICAgZm9udC1zaXplOiAyMXB4Ow0KICAgIGZvbnQtd2VpZ2h0OiAyMDA7DQogIH0NCiAgLmp1bWJvdHJvbiA+IGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZDVkNWQ1Ow0KICB9DQogIC5jb250YWluZXIgLmp1bWJvdHJvbiwNCiAgLmNvbnRhaW5lci1mbHVpZCAuanVtYm90cm9uIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmp1bWJvdHJvbiAuY29udGFpbmVyIHsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogIH0NCiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuanVtYm90cm9uIHsNCiAgICAgIHBhZGRpbmctdG9wOiA0OHB4Ow0KICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7DQogICAgfQ0KICAgIC5jb250YWluZXIgLmp1bWJvdHJvbiwNCiAgICAuY29udGFpbmVyLWZsdWlkIC5qdW1ib3Ryb24gew0KICAgICAgcGFkZGluZy1yaWdodDogNjBweDsNCiAgICAgIHBhZGRpbmctbGVmdDogNjBweDsNCiAgICB9DQogICAgLmp1bWJvdHJvbiBoMSwNCiAgICAuanVtYm90cm9uIC5oMSB7DQogICAgICBmb250LXNpemU6IDYzcHg7DQogICAgfQ0KICB9DQogIC50aHVtYm5haWwgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDRweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgLjJzIGVhc2UtaW4tb3V0Ow0KICAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyIC4ycyBlYXNlLWluLW91dDsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7DQogIH0NCiAgLnRodW1ibmFpbCA+IGltZywNCiAgLnRodW1ibmFpbCBhID4gaW1nIHsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgYS50aHVtYm5haWw6aG92ZXIsDQogIGEudGh1bWJuYWlsOmZvY3VzLA0KICBhLnRodW1ibmFpbC5hY3RpdmUgew0KICAgIGJvcmRlci1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAudGh1bWJuYWlsIC5jYXB0aW9uIHsNCiAgICBwYWRkaW5nOiA5cHg7DQogICAgY29sb3I6ICMzMzM7DQogIH0NCiAgLmFsZXJ0IHsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5hbGVydCBoNCB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICAuYWxlcnQgLmFsZXJ0LWxpbmsgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIC5hbGVydCA+IHAsDQogIC5hbGVydCA+IHVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5hbGVydCA+IHAgKyBwIHsNCiAgICBtYXJnaW4tdG9wOiA1cHg7DQogIH0NCiAgLmFsZXJ0LWRpc21pc3NhYmxlLA0KICAuYWxlcnQtZGlzbWlzc2libGUgew0KICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7DQogIH0NCiAgLmFsZXJ0LWRpc21pc3NhYmxlIC5jbG9zZSwNCiAgLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogLTJweDsNCiAgICByaWdodDogLTIxcHg7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLmFsZXJ0LXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjM2M3NjNkOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7DQogICAgYm9yZGVyLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5hbGVydC1zdWNjZXNzIGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjYzllMmIzOw0KICB9DQogIC5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzJiNTQyYzsNCiAgfQ0KICAuYWxlcnQtaW5mbyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsNCiAgICBib3JkZXItY29sb3I6ICNiY2U4ZjE7DQogIH0NCiAgLmFsZXJ0LWluZm8gaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNhNmUxZWM7DQogIH0NCiAgLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsgew0KICAgIGNvbG9yOiAjMjQ1MjY5Ow0KICB9DQogIC5hbGVydC13YXJuaW5nIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICAgIGJvcmRlci1jb2xvcjogI2ZhZWJjYzsNCiAgfQ0KICAuYWxlcnQtd2FybmluZyBociB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2Y3ZTFiNTsNCiAgfQ0KICAuYWxlcnQtd2FybmluZyAuYWxlcnQtbGluayB7DQogICAgY29sb3I6ICM2NjUxMmM7DQogIH0NCiAgLmFsZXJ0LWRhbmdlciB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsNCiAgICBib3JkZXItY29sb3I6ICNlYmNjZDE7DQogIH0NCiAgLmFsZXJ0LWRhbmdlciBociB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2U0YjljMDsNCiAgfQ0KICAuYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzg0MzUzNDsNCiAgfQ0KICBALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgew0KICAgIGZyb20gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOw0KICAgIH0NCiAgICB0byB7DQogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQogICAgfQ0KICB9DQogIEAtby1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgew0KICAgIGZyb20gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOw0KICAgIH0NCiAgICB0byB7DQogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQogICAgfQ0KICB9DQogIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgew0KICAgIGZyb20gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOw0KICAgIH0NCiAgICB0byB7DQogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQogICAgfQ0KICB9DQogIC5wcm9ncmVzcyB7DQogICAgaGVpZ2h0OiAyMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4xKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4xKTsNCiAgfQ0KICAucHJvZ3Jlc3MtYmFyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAuMTUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAuMTUpOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggLjZzIGVhc2U7DQogICAgICAgICAtby10cmFuc2l0aW9uOiB3aWR0aCAuNnMgZWFzZTsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC42cyBlYXNlOw0KICB9DQogIC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsDQogIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDsNCiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4Ow0KICB9DQogIC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhciwNCiAgLnByb2dyZXNzLWJhci5hY3RpdmUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7DQogICAgICAgICAtby1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTsNCiAgICAgICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOw0KICB9DQogIC5wcm9ncmVzcy1iYXItc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YzsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICB9DQogIC5wcm9ncmVzcy1iYXItaW5mbyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWluZm8gew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICB9DQogIC5wcm9ncmVzcy1iYXItd2FybmluZyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXdhcm5pbmcgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICB9DQogIC5wcm9ncmVzcy1iYXItZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmOw0KICB9DQogIC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgfQ0KICAubWVkaWEgew0KICAgIG1hcmdpbi10b3A6IDE1cHg7DQogIH0NCiAgLm1lZGlhOmZpcnN0LWNoaWxkIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICB9DQogIC5tZWRpYSwNCiAgLm1lZGlhLWJvZHkgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgem9vbTogMTsNCiAgfQ0KICAubWVkaWEtYm9keSB7DQogICAgd2lkdGg6IDEwMDAwcHg7DQogIH0NCiAgLm1lZGlhLW9iamVjdCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogIH0NCiAgLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHsNCiAgICBtYXgtd2lkdGg6IG5vbmU7DQogIH0NCiAgLm1lZGlhLXJpZ2h0LA0KICAubWVkaWEgPiAucHVsbC1yaWdodCB7DQogICAgcGFkZGluZy1sZWZ0OiAxMHB4Ow0KICB9DQogIC5tZWRpYS1sZWZ0LA0KICAubWVkaWEgPiAucHVsbC1sZWZ0IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KICB9DQogIC5tZWRpYS1sZWZ0LA0KICAubWVkaWEtcmlnaHQsDQogIC5tZWRpYS1ib2R5IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7DQogIH0NCiAgLm1lZGlhLW1pZGRsZSB7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgfQ0KICAubWVkaWEtYm90dG9tIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOw0KICB9DQogIC5tZWRpYS1oZWFkaW5nIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgfQ0KICAubWVkaWEtbGlzdCB7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogIH0NCiAgLmxpc3QtZ3JvdXAgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogLTFweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtIHsNCiAgICBjb2xvcjogIzU1NTsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06Zm9jdXMgew0KICAgIGNvbG9yOiAjNTU1Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICB9DQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyB7DQogICAgY29sb3I6ICM3Nzc7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LA0KICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgew0KICAgIHotaW5kZXg6IDI7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7DQogICAgY29sb3I6ICNjN2RkZWY7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlOWM2Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzc2M2Q7DQogICAgYm9yZGVyLWNvbG9yOiAjM2M3NjNkOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0taW5mbyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8gew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmhvdmVyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIsDQogIGEubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMzsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSwNCiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsDQogIGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE3MDhmOw0KICAgIGJvcmRlci1jb2xvcjogIzMxNzA4ZjsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWYyY2M7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsDQogIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzhhNmQzYjsNCiAgICBib3JkZXItY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJjY2NjOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTQ0NDI7DQogICAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjM7DQogIH0NCiAgLnBhbmVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNSk7DQogIH0NCiAgLnBhbmVsLWJvZHkgew0KICAgIHBhZGRpbmc6IDE1cHg7DQogIH0NCiAgLnBhbmVsLWhlYWRpbmcgew0KICAgIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsLWhlYWRpbmcgPiAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLnBhbmVsLXRpdGxlIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5wYW5lbC10aXRsZSA+IGEsDQogIC5wYW5lbC10aXRsZSA+IHNtYWxsLA0KICAucGFuZWwtdGl0bGUgPiAuc21hbGwsDQogIC5wYW5lbC10aXRsZSA+IHNtYWxsID4gYSwNCiAgLnBhbmVsLXRpdGxlID4gLnNtYWxsID4gYSB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLnBhbmVsLWZvb3RlciB7DQogICAgcGFkZGluZzogMTBweCAxNXB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLmxpc3QtZ3JvdXAsDQogIC5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5wYW5lbCA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0sDQogIC5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0gew0KICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAucGFuZWwgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wOiAwOw0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogIH0NCiAgLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLXdpZHRoOiAwOw0KICB9DQogIC5saXN0LWdyb3VwICsgLnBhbmVsLWZvb3RlciB7DQogICAgYm9yZGVyLXRvcC13aWR0aDogMDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGUsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlIGNhcHRpb24sDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlIGNhcHRpb24sDQogIC5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSBjYXB0aW9uIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgew0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC5wYW5lbC1ib2R5ICsgLnRhYmxlLA0KICAucGFuZWwgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLA0KICAucGFuZWwgPiAudGFibGUgKyAucGFuZWwtYm9keSwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgKyAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCwNCiAgLnBhbmVsID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7DQogICAgYm9yZGVyLXRvcDogMDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLWxlZnQ6IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGggew0KICAgIGJvcmRlci1ib3R0b206IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGggew0KICAgIGJvcmRlci1ib3R0b206IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIC5wYW5lbC1ncm91cCB7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgfQ0KICAucGFuZWwtZ3JvdXAgLnBhbmVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAucGFuZWwtZ3JvdXAgLnBhbmVsICsgLnBhbmVsIHsNCiAgICBtYXJnaW4tdG9wOiA1cHg7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nIHsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LA0KICAucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbC1mb290ZXIgew0KICAgIGJvcmRlci10b3A6IDA7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkgew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0IHsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZGRkOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2Y1ZjVmNTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGRkOw0KICB9DQogIC5wYW5lbC1wcmltYXJ5IHsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLnBhbmVsLXByaW1hcnkgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLnBhbmVsLXByaW1hcnkgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogIzMzN2FiNzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5wYW5lbC1zdWNjZXNzIHsNCiAgICBib3JkZXItY29sb3I6ICNkNmU5YzY7DQogIH0NCiAgLnBhbmVsLXN1Y2Nlc3MgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsNCiAgICBib3JkZXItY29sb3I6ICNkNmU5YzY7DQogIH0NCiAgLnBhbmVsLXN1Y2Nlc3MgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2RmZjBkODsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M3NjNkOw0KICB9DQogIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5wYW5lbC1pbmZvIHsNCiAgICBib3JkZXItY29sb3I6ICNiY2U4ZjE7DQogIH0NCiAgLnBhbmVsLWluZm8gPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsNCiAgICBib3JkZXItY29sb3I6ICNiY2U4ZjE7DQogIH0NCiAgLnBhbmVsLWluZm8gPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjYmNlOGYxOw0KICB9DQogIC5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2Q5ZWRmNzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE3MDhmOw0KICB9DQogIC5wYW5lbC1pbmZvID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYmNlOGYxOw0KICB9DQogIC5wYW5lbC13YXJuaW5nIHsNCiAgICBib3JkZXItY29sb3I6ICNmYWViY2M7DQogIH0NCiAgLnBhbmVsLXdhcm5pbmcgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsNCiAgICBib3JkZXItY29sb3I6ICNmYWViY2M7DQogIH0NCiAgLnBhbmVsLXdhcm5pbmcgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmFlYmNjOw0KICB9DQogIC5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2ZjZjhlMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE2ZDNiOw0KICB9DQogIC5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmFlYmNjOw0KICB9DQogIC5wYW5lbC1kYW5nZXIgew0KICAgIGJvcmRlci1jb2xvcjogI2ViY2NkMTsNCiAgfQ0KICAucGFuZWwtZGFuZ2VyID4gLnBhbmVsLWhlYWRpbmcgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogICAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxOw0KICB9DQogIC5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJjY2QxOw0KICB9DQogIC5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjZjJkZWRlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgLnBhbmVsLWRhbmdlciA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ViY2NkMTsNCiAgfQ0KICAuZW1iZWQtcmVzcG9uc2l2ZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGhlaWdodDogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCiAgLmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSwNCiAgLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLA0KICAuZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwNCiAgLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LA0KICAuZW1iZWQtcmVzcG9uc2l2ZSB2aWRlbyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIC5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHsNCiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOw0KICB9DQogIC5lbWJlZC1yZXNwb25zaXZlLTRieTMgew0KICAgIHBhZGRpbmctYm90dG9tOiA3NSU7DQogIH0NCiAgLndlbGwgew0KICAgIG1pbi1oZWlnaHQ6IDIwcHg7DQogICAgcGFkZGluZzogMTlweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMzsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCiAgfQ0KICAud2VsbCBibG9ja3F1b3RlIHsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xNSk7DQogIH0NCiAgLndlbGwtbGcgew0KICAgIHBhZGRpbmc6IDI0cHg7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIC53ZWxsLXNtIHsNCiAgICBwYWRkaW5nOiA5cHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICB9DQogIC5jbG9zZSB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICAgIGZvbnQtc2l6ZTogMjFweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogIzAwMDsNCiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yMCk7DQogICAgb3BhY2l0eTogLjI7DQogIH0NCiAgLmNsb3NlOmhvdmVyLA0KICAuY2xvc2U6Zm9jdXMgew0KICAgIGNvbG9yOiAjMDAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTsNCiAgICBvcGFjaXR5OiAuNTsNCiAgfQ0KICBidXR0b24uY2xvc2Ugew0KICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLm1vZGFsLW9wZW4gew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCiAgLm1vZGFsIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwNTA7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsNCiAgICBvdXRsaW5lOiAwOw0KICB9DQogIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cgew0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Ow0KICAgICAgICAgLW8tdHJhbnNpdGlvbjogICAgICAtby10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Ow0KICAgICAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Ow0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7DQogICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsNCiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7DQogIH0NCiAgLm1vZGFsLmluIC5tb2RhbC1kaWFsb2cgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7DQogICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7DQogIH0NCiAgLm1vZGFsLW9wZW4gLm1vZGFsIHsNCiAgICBvdmVyZmxvdy14OiBoaWRkZW47DQogICAgb3ZlcmZsb3cteTogYXV0bzsNCiAgfQ0KICAubW9kYWwtZGlhbG9nIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgd2lkdGg6IGF1dG87DQogICAgbWFyZ2luOiAxMHB4Ow0KICB9DQogIC5tb2RhbC1jb250ZW50IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICAgIG91dGxpbmU6IDA7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAuNSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAuNSk7DQogIH0NCiAgLm1vZGFsLWJhY2tkcm9wIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwNDA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsNCiAgfQ0KICAubW9kYWwtYmFja2Ryb3AuZmFkZSB7DQogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgLm1vZGFsLWJhY2tkcm9wLmluIHsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApOw0KICAgIG9wYWNpdHk6IC41Ow0KICB9DQogIC5tb2RhbC1oZWFkZXIgew0KICAgIHBhZGRpbmc6IDE1cHg7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7DQogIH0NCiAgLm1vZGFsLWhlYWRlciAuY2xvc2Ugew0KICAgIG1hcmdpbi10b3A6IC0ycHg7DQogIH0NCiAgLm1vZGFsLXRpdGxlIHsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogIH0NCiAgLm1vZGFsLWJvZHkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICB9DQogIC5tb2RhbC1mb290ZXIgew0KICAgIHBhZGRpbmc6IDE1cHg7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7DQogIH0NCiAgLm1vZGFsLWZvb3RlciAuYnRuICsgLmJ0biB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KICB9DQogIC5tb2RhbC1mb290ZXIgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7DQogICAgbWFyZ2luLWxlZnQ6IC0xcHg7DQogIH0NCiAgLm1vZGFsLWZvb3RlciAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogIH0NCiAgLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAtOTk5OXB4Ow0KICAgIHdpZHRoOiA1MHB4Ow0KICAgIGhlaWdodDogNTBweDsNCiAgICBvdmVyZmxvdzogc2Nyb2xsOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5tb2RhbC1kaWFsb2cgew0KICAgICAgd2lkdGg6IDYwMHB4Ow0KICAgICAgbWFyZ2luOiAzMHB4IGF1dG87DQogICAgfQ0KICAgIC5tb2RhbC1jb250ZW50IHsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIC41KTsNCiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIC41KTsNCiAgICB9DQogICAgLm1vZGFsLXNtIHsNCiAgICAgIHdpZHRoOiAzMDBweDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogICAgLm1vZGFsLWxnIHsNCiAgICAgIHdpZHRoOiA5MDBweDsNCiAgICB9DQogIH0NCiAgLnRvb2x0aXAgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB6LWluZGV4OiAxMDcwOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IHN0YXJ0Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsNCiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsNCiAgICB3b3JkLXdyYXA6IG5vcm1hbDsNCiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsNCiAgICBvcGFjaXR5OiAwOw0KICANCiAgICBsaW5lLWJyZWFrOiBhdXRvOw0KICB9DQogIC50b29sdGlwLmluIHsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApOw0KICAgIG9wYWNpdHk6IC45Ow0KICB9DQogIC50b29sdGlwLnRvcCB7DQogICAgcGFkZGluZzogNXB4IDA7DQogICAgbWFyZ2luLXRvcDogLTNweDsNCiAgfQ0KICAudG9vbHRpcC5yaWdodCB7DQogICAgcGFkZGluZzogMCA1cHg7DQogICAgbWFyZ2luLWxlZnQ6IDNweDsNCiAgfQ0KICAudG9vbHRpcC5ib3R0b20gew0KICAgIHBhZGRpbmc6IDVweCAwOw0KICAgIG1hcmdpbi10b3A6IDNweDsNCiAgfQ0KICAudG9vbHRpcC5sZWZ0IHsNCiAgICBwYWRkaW5nOiAwIDVweDsNCiAgICBtYXJnaW4tbGVmdDogLTNweDsNCiAgfQ0KICAudG9vbHRpcC1pbm5lciB7DQogICAgbWF4LXdpZHRoOiAyMDBweDsNCiAgICBwYWRkaW5nOiAzcHggOHB4Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAudG9vbHRpcC1hcnJvdyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogIH0NCiAgLnRvb2x0aXAudG9wIC50b29sdGlwLWFycm93IHsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogNTAlOw0KICAgIG1hcmdpbi1sZWZ0OiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwOw0KICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7DQogIH0NCiAgLnRvb2x0aXAudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cgew0KICAgIHJpZ2h0OiA1cHg7DQogICAgYm90dG9tOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cgew0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiA1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogLTVweDsNCiAgICBib3JkZXItd2lkdGg6IDVweCA1cHggMDsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOw0KICB9DQogIC50b29sdGlwLnJpZ2h0IC50b29sdGlwLWFycm93IHsNCiAgICB0b3A6IDUwJTsNCiAgICBsZWZ0OiAwOw0KICAgIG1hcmdpbi10b3A6IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwOw0KICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5sZWZ0IC50b29sdGlwLWFycm93IHsNCiAgICB0b3A6IDUwJTsNCiAgICByaWdodDogMDsNCiAgICBtYXJnaW4tdG9wOiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDsNCiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3cgew0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiA1cHg7DQogICAgbWFyZ2luLXRvcDogLTVweDsNCiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOw0KICB9DQogIC50b29sdGlwLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvdyB7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDVweDsNCiAgICBtYXJnaW4tdG9wOiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogMCA1cHggNXB4Ow0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7DQogIH0NCiAgLnBvcG92ZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxMDYwOw0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgbWF4LXdpZHRoOiAyNzZweDsNCiAgICBwYWRkaW5nOiAxcHg7DQogICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogc3RhcnQ7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KICAgIHRleHQtdHJhbnNmb3JtOiBub25lOw0KICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7DQogICAgd29yZC1icmVhazogbm9ybWFsOw0KICAgIHdvcmQtc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtd3JhcDogbm9ybWFsOw0KICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIC4yKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMik7DQogIA0KICAgIGxpbmUtYnJlYWs6IGF1dG87DQogIH0NCiAgLnBvcG92ZXIudG9wIHsNCiAgICBtYXJnaW4tdG9wOiAtMTBweDsNCiAgfQ0KICAucG9wb3Zlci5yaWdodCB7DQogICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQogIH0NCiAgLnBvcG92ZXIuYm90dG9tIHsNCiAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICB9DQogIC5wb3BvdmVyLmxlZnQgew0KICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsNCiAgfQ0KICAucG9wb3Zlci10aXRsZSB7DQogICAgcGFkZGluZzogOHB4IDE0cHg7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViOw0KICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwOw0KICB9DQogIC5wb3BvdmVyLWNvbnRlbnQgew0KICAgIHBhZGRpbmc6IDlweCAxNHB4Ow0KICB9DQogIC5wb3BvdmVyID4gLmFycm93LA0KICAucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogIH0NCiAgLnBvcG92ZXIgPiAuYXJyb3cgew0KICAgIGJvcmRlci13aWR0aDogMTFweDsNCiAgfQ0KICAucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7DQogICAgY29udGVudDogIiI7DQogICAgYm9yZGVyLXdpZHRoOiAxMHB4Ow0KICB9DQogIC5wb3BvdmVyLnRvcCA+IC5hcnJvdyB7DQogICAgYm90dG9tOiAtMTFweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0xMXB4Ow0KICAgIGJvcmRlci10b3AtY29sb3I6ICM5OTk7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOw0KICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7DQogIH0NCiAgLnBvcG92ZXIudG9wID4gLmFycm93OmFmdGVyIHsNCiAgICBib3R0b206IDFweDsNCiAgICBtYXJnaW4tbGVmdDogLTEwcHg7DQogICAgY29udGVudDogIiAiOw0KICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsNCiAgfQ0KICAucG9wb3Zlci5yaWdodCA+IC5hcnJvdyB7DQogICAgdG9wOiA1MCU7DQogICAgbGVmdDogLTExcHg7DQogICAgbWFyZ2luLXRvcDogLTExcHg7DQogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5Ow0KICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOw0KICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KICB9DQogIC5wb3BvdmVyLnJpZ2h0ID4gLmFycm93OmFmdGVyIHsNCiAgICBib3R0b206IC0xMHB4Ow0KICAgIGxlZnQ6IDFweDsNCiAgICBjb250ZW50OiAiICI7DQogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KICB9DQogIC5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdyB7DQogICAgdG9wOiAtMTFweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0xMXB4Ow0KICAgIGJvcmRlci10b3Atd2lkdGg6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7DQogIH0NCiAgLnBvcG92ZXIuYm90dG9tID4gLmFycm93OmFmdGVyIHsNCiAgICB0b3A6IDFweDsNCiAgICBtYXJnaW4tbGVmdDogLTEwcHg7DQogICAgY29udGVudDogIiAiOw0KICAgIGJvcmRlci10b3Atd2lkdGg6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsNCiAgfQ0KICAucG9wb3Zlci5sZWZ0ID4gLmFycm93IHsNCiAgICB0b3A6IDUwJTsNCiAgICByaWdodDogLTExcHg7DQogICAgbWFyZ2luLXRvcDogLTExcHg7DQogICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOw0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTk5Ow0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7DQogIH0NCiAgLnBvcG92ZXIubGVmdCA+IC5hcnJvdzphZnRlciB7DQogICAgcmlnaHQ6IDFweDsNCiAgICBib3R0b206IC0xMHB4Ow0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7DQogICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmNhcm91c2VsIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IC42cyBlYXNlLWluLW91dCBsZWZ0Ow0KICAgICAgICAgICAgdHJhbnNpdGlvbjogLjZzIGVhc2UtaW4tb3V0IGxlZnQ7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0gPiBpbWcsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtID4gYSA+IGltZyB7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogIH0NCiAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkgew0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtIHsNCiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0Ow0KICAgICAgICAgICAtby10cmFuc2l0aW9uOiAgICAgIC1vLXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7DQogICAgICAgICAgICAgIHRyYW5zaXRpb246ICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDsNCiAgDQogICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTAwMHB4Ow0KICAgICAgICAgICAgICBwZXJzcGVjdGl2ZTogMTAwMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5uZXh0LA0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZS5yaWdodCB7DQogICAgICBsZWZ0OiAwOw0KICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIH0NCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5wcmV2LA0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZS5sZWZ0IHsNCiAgICAgIGxlZnQ6IDA7DQogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB9DQogICAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ubmV4dC5sZWZ0LA0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLnByZXYucmlnaHQsDQogICAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0uYWN0aXZlIHsNCiAgICAgIGxlZnQ6IDA7DQogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgfQ0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0LA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldiB7DQogICAgZGlzcGxheTogYmxvY2s7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZSB7DQogICAgbGVmdDogMDsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dCwNCiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQgew0KICAgIGxlZnQ6IDEwMCU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYgew0KICAgIGxlZnQ6IC0xMDAlOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0LmxlZnQsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2LnJpZ2h0IHsNCiAgICBsZWZ0OiAwOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUubGVmdCB7DQogICAgbGVmdDogLTEwMCU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZS5yaWdodCB7DQogICAgbGVmdDogMTAwJTsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTUlOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC42KTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7DQogICAgb3BhY2l0eTogLjU7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wubGVmdCB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgLjAwMDEpIDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgLjUpIDAlLCByZ2JhKDAsIDAsIDAsIC4wMDAxKSAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIC41KSksIHRvKHJnYmEoMCwgMCwgMCwgLjAwMDEpKSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgLjUpIDAlLCByZ2JhKDAsIDAsIDAsIC4wMDAxKSAxMDAlKTsNCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjODAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbC5yaWdodCB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIC4wMDAxKSAwJSwgcmdiYSgwLCAwLCAwLCAuNSkgMTAwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAuMDAwMSkgMCUsIHJnYmEoMCwgMCwgMCwgLjUpIDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgLjAwMDEpKSwgdG8ocmdiYSgwLCAwLCAwLCAuNSkpKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAuMDAwMSkgMCUsIHJnYmEoMCwgMCwgMCwgLjUpIDEwMCUpOw0KICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjODAwMDAwMDAnLCBHcmFkaWVudFR5cGU9MSk7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14Ow0KICB9DQogIC5jYXJvdXNlbC1jb250cm9sOmhvdmVyLA0KICAuY2Fyb3VzZWwtY29udHJvbDpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7DQogICAgb3V0bGluZTogMDsNCiAgICBvcGFjaXR5OiAuOTsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LA0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0LA0KICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiA1MCU7DQogICAgei1pbmRleDogNTsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWFyZ2luLXRvcDogLTEwcHg7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQgew0KICAgIGxlZnQ6IDUwJTsNCiAgICBtYXJnaW4tbGVmdDogLTEwcHg7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHsNCiAgICByaWdodDogNTAlOw0KICAgIG1hcmdpbi1yaWdodDogLTEwcHg7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7DQogICAgd2lkdGg6IDIwcHg7DQogICAgaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtZmFtaWx5OiBzZXJpZjsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2OmJlZm9yZSB7DQogICAgY29udGVudDogJ1wyMDM5JzsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0OmJlZm9yZSB7DQogICAgY29udGVudDogJ1wyMDNhJzsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogMTBweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgei1pbmRleDogMTU7DQogICAgd2lkdGg6IDYwJTsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luLWxlZnQ6IC0zMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogIH0NCiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMTBweDsNCiAgICBoZWlnaHQ6IDEwcHg7DQogICAgbWFyZ2luOiAxcHg7DQogICAgdGV4dC1pbmRlbnQ6IC05OTlweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCBcOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7DQogICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHsNCiAgICB3aWR0aDogMTJweDsNCiAgICBoZWlnaHQ6IDEycHg7DQogICAgbWFyZ2luOiAwOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmNhcm91c2VsLWNhcHRpb24gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICByaWdodDogMTUlOw0KICAgIGJvdHRvbTogMjBweDsNCiAgICBsZWZ0OiAxNSU7DQogICAgei1pbmRleDogMTA7DQogICAgcGFkZGluZy10b3A6IDIwcHg7DQogICAgcGFkZGluZy1ib3R0b206IDIwcHg7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNik7DQogIH0NCiAgLmNhcm91c2VsLWNhcHRpb24gLmJ0biB7DQogICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogIH0NCiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwNCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsDQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiwNCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHsNCiAgICAgIHdpZHRoOiAzMHB4Ow0KICAgICAgaGVpZ2h0OiAzMHB4Ow0KICAgICAgbWFyZ2luLXRvcDogLTEwcHg7DQogICAgICBmb250LXNpemU6IDMwcHg7DQogICAgfQ0KICAgIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LA0KICAgIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYgew0KICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsDQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7DQogICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7DQogICAgICByaWdodDogMjAlOw0KICAgICAgbGVmdDogMjAlOw0KICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7DQogICAgfQ0KICAgIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHsNCiAgICAgIGJvdHRvbTogMjBweDsNCiAgICB9DQogIH0NCiAgLmNsZWFyZml4OmJlZm9yZSwNCiAgLmNsZWFyZml4OmFmdGVyLA0KICAuZGwtaG9yaXpvbnRhbCBkZDpiZWZvcmUsDQogIC5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLA0KICAuY29udGFpbmVyOmJlZm9yZSwNCiAgLmNvbnRhaW5lcjphZnRlciwNCiAgLmNvbnRhaW5lci1mbHVpZDpiZWZvcmUsDQogIC5jb250YWluZXItZmx1aWQ6YWZ0ZXIsDQogIC5yb3c6YmVmb3JlLA0KICAucm93OmFmdGVyLA0KICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmJlZm9yZSwNCiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciwNCiAgLmJ0bi10b29sYmFyOmJlZm9yZSwNCiAgLmJ0bi10b29sYmFyOmFmdGVyLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpiZWZvcmUsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyLA0KICAubmF2OmJlZm9yZSwNCiAgLm5hdjphZnRlciwNCiAgLm5hdmJhcjpiZWZvcmUsDQogIC5uYXZiYXI6YWZ0ZXIsDQogIC5uYXZiYXItaGVhZGVyOmJlZm9yZSwNCiAgLm5hdmJhci1oZWFkZXI6YWZ0ZXIsDQogIC5uYXZiYXItY29sbGFwc2U6YmVmb3JlLA0KICAubmF2YmFyLWNvbGxhcHNlOmFmdGVyLA0KICAucGFnZXI6YmVmb3JlLA0KICAucGFnZXI6YWZ0ZXIsDQogIC5wYW5lbC1ib2R5OmJlZm9yZSwNCiAgLnBhbmVsLWJvZHk6YWZ0ZXIsDQogIC5tb2RhbC1oZWFkZXI6YmVmb3JlLA0KICAubW9kYWwtaGVhZGVyOmFmdGVyLA0KICAubW9kYWwtZm9vdGVyOmJlZm9yZSwNCiAgLm1vZGFsLWZvb3RlcjphZnRlciB7DQogICAgZGlzcGxheTogdGFibGU7DQogICAgY29udGVudDogIiAiOw0KICB9DQogIC5jbGVhcmZpeDphZnRlciwNCiAgLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsDQogIC5jb250YWluZXI6YWZ0ZXIsDQogIC5jb250YWluZXItZmx1aWQ6YWZ0ZXIsDQogIC5yb3c6YWZ0ZXIsDQogIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsDQogIC5idG4tdG9vbGJhcjphZnRlciwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6YWZ0ZXIsDQogIC5uYXY6YWZ0ZXIsDQogIC5uYXZiYXI6YWZ0ZXIsDQogIC5uYXZiYXItaGVhZGVyOmFmdGVyLA0KICAubmF2YmFyLWNvbGxhcHNlOmFmdGVyLA0KICAucGFnZXI6YWZ0ZXIsDQogIC5wYW5lbC1ib2R5OmFmdGVyLA0KICAubW9kYWwtaGVhZGVyOmFmdGVyLA0KICAubW9kYWwtZm9vdGVyOmFmdGVyIHsNCiAgICBjbGVhcjogYm90aDsNCiAgfQ0KICAuY2VudGVyLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgLnB1bGwtcmlnaHQgew0KICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50Ow0KICB9DQogIC5wdWxsLWxlZnQgew0KICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmhpZGUgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuc2hvdyB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgfQ0KICAuaW52aXNpYmxlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogIH0NCiAgLnRleHQtaGlkZSB7DQogICAgZm9udDogMC8wIGE7DQogICAgY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIHRleHQtc2hhZG93OiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICAuaGlkZGVuIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFmZml4IHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogIH0NCiAgQC1tcy12aWV3cG9ydCB7DQogICAgd2lkdGg6IGRldmljZS13aWR0aDsNCiAgfQ0KICAudmlzaWJsZS14cywNCiAgLnZpc2libGUtc20sDQogIC52aXNpYmxlLW1kLA0KICAudmlzaWJsZS1sZyB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIC52aXNpYmxlLXhzLWJsb2NrLA0KICAudmlzaWJsZS14cy1pbmxpbmUsDQogIC52aXNpYmxlLXhzLWlubGluZS1ibG9jaywNCiAgLnZpc2libGUtc20tYmxvY2ssDQogIC52aXNpYmxlLXNtLWlubGluZSwNCiAgLnZpc2libGUtc20taW5saW5lLWJsb2NrLA0KICAudmlzaWJsZS1tZC1ibG9jaywNCiAgLnZpc2libGUtbWQtaW5saW5lLA0KICAudmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssDQogIC52aXNpYmxlLWxnLWJsb2NrLA0KICAudmlzaWJsZS1sZy1pbmxpbmUsDQogIC52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC52aXNpYmxlLXhzIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRhYmxlLnZpc2libGUteHMgew0KICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgICB9DQogICAgdHIudmlzaWJsZS14cyB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGgudmlzaWJsZS14cywNCiAgICB0ZC52aXNpYmxlLXhzIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnZpc2libGUteHMtYmxvY2sgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnZpc2libGUteHMtaW5saW5lIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAudmlzaWJsZS14cy1pbmxpbmUtYmxvY2sgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7DQogICAgLnZpc2libGUtc20gew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGFibGUudmlzaWJsZS1zbSB7DQogICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0ci52aXNpYmxlLXNtIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0aC52aXNpYmxlLXNtLA0KICAgIHRkLnZpc2libGUtc20gew0KICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC52aXNpYmxlLXNtLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7DQogICAgLnZpc2libGUtc20taW5saW5lIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7DQogICAgLnZpc2libGUtbWQgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGFibGUudmlzaWJsZS1tZCB7DQogICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0ci52aXNpYmxlLW1kIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0aC52aXNpYmxlLW1kLA0KICAgIHRkLnZpc2libGUtbWQgew0KICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsNCiAgICAudmlzaWJsZS1tZC1ibG9jayB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsNCiAgICAudmlzaWJsZS1tZC1pbmxpbmUgew0KICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgew0KICAgIC52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC52aXNpYmxlLWxnIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRhYmxlLnZpc2libGUtbGcgew0KICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgICB9DQogICAgdHIudmlzaWJsZS1sZyB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGgudmlzaWJsZS1sZywNCiAgICB0ZC52aXNpYmxlLWxnIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC52aXNpYmxlLWxnLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgICAudmlzaWJsZS1sZy1pbmxpbmUgew0KICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgICAudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC5oaWRkZW4teHMgew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC5oaWRkZW4tc20gew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsNCiAgICAuaGlkZGVuLW1kIHsNCiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC5oaWRkZW4tbGcgew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAudmlzaWJsZS1wcmludCB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSBwcmludCB7DQogICAgLnZpc2libGUtcHJpbnQgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGFibGUudmlzaWJsZS1wcmludCB7DQogICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0ci52aXNpYmxlLXByaW50IHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0aC52aXNpYmxlLXByaW50LA0KICAgIHRkLnZpc2libGUtcHJpbnQgew0KICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAudmlzaWJsZS1wcmludC1ibG9jayB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSBwcmludCB7DQogICAgLnZpc2libGUtcHJpbnQtYmxvY2sgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgLnZpc2libGUtcHJpbnQtaW5saW5lIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCiAgQG1lZGlhIHByaW50IHsNCiAgICAudmlzaWJsZS1wcmludC1pbmxpbmUgew0KICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIC52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSBwcmludCB7DQogICAgLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgcHJpbnQgew0KICAgIC5oaWRkZW4tcHJpbnQgew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAvKiMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAuY3NzLm1hcCAqLw0KDQovKiBzbGljay5jc3MgKi8NCg0KLyogU2xpZGVyICovDQouc2xpY2stc2xpZGVyDQp7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KDQogICAgZGlzcGxheTogYmxvY2s7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCg0KICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7DQoNCiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7DQogICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOw0KICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15Ow0KICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15Ow0KICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi5zbGljay1saXN0DQp7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KDQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCg0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KLnNsaWNrLWxpc3Q6Zm9jdXMNCnsNCiAgICBvdXRsaW5lOiBub25lOw0KfQ0KLnNsaWNrLWxpc3QuZHJhZ2dpbmcNCnsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgY3Vyc29yOiBoYW5kOw0KfQ0KDQouc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywNCi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QNCnsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KfQ0KDQouc2xpY2stdHJhY2sNCnsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDA7DQoNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQp9DQouc2xpY2stdHJhY2s6YmVmb3JlLA0KLnNsaWNrLXRyYWNrOmFmdGVyDQp7DQogICAgZGlzcGxheTogdGFibGU7DQoNCiAgICBjb250ZW50OiAnJzsNCn0NCi5zbGljay10cmFjazphZnRlcg0Kew0KICAgIGNsZWFyOiBib3RoOw0KfQ0KLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrDQp7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KfQ0KDQouc2xpY2stc2xpZGUNCnsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIGZsb2F0OiBsZWZ0Ow0KDQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIG1pbi1oZWlnaHQ6IDFweDsNCn0NCltkaXI9J3J0bCddIC5zbGljay1zbGlkZQ0Kew0KICAgIGZsb2F0OiByaWdodDsNCn0NCi5zbGljay1zbGlkZSBpbWcNCnsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZw0Kew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQouc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nDQp7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQouc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlDQp7DQogICAgZGlzcGxheTogYmxvY2s7DQp9DQouc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUNCnsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQp9DQouc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlDQp7DQogICAgZGlzcGxheTogYmxvY2s7DQoNCiAgICBoZWlnaHQ6IGF1dG87DQoNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCn0NCi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4gew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi8qIGluZGV4LmNzcyAqLw0KDQoqIHsNCiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsNCn0NCg0KaHRtbCwNCmJvZHkgew0KICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50Ow0KICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQouY29udGFpbmVyOm5vdCguLW1vYmlsZSk6bm90KC4tZGVza3RvcCkgew0KICAgIHdpZHRoOiAxMzUwcHg7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQphIHsNCiAgICBvdXRsaW5lOiBub25lIWltcG9ydGFudDsNCn0NCg0KLm5vbmUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCmltZyB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQovKiBIZWFkZXIgKi8NCg0KLm5hdi10b3AsDQoubGF5b3V0LWhlYWRlciB7DQogICAgZGlzcGxheTogbm9uZTsNCn0NCg0KLyogRm9vdGVyICovDQoNCi5mb290ZXItbWFpbiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy1ib3R0b206IDYwcHghaW1wb3J0YW50Ow0KfQ0KDQovKiBNb2RhbCBSb2RhcMOpICovDQoNCi5tb2RhbFJvZGFwZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgei1pbmRleDogOTk5OTk5OTk7DQogICAgYm94LXNoYWRvdzogMHB4IC0xNnB4IDI4cHggcmdiKDQ1IDQ3IDY0IC8gMTUlKSwgMHB4IC0zLjVweCA1cHggcmdiKDQ1IDQ3IDY0IC8gMjUlKTsNCn0NCg0KLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIC50aXR1bG8gew0KICAgIGNvbG9yOiAjQzk4MzAwOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIC5ib3hQcmVjbyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KfQ0KDQoubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC50ZXh0byAuYm94UHJlY28gLnByZWNvZGUgew0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBjb2xvcjogIzY2NjsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIC5ib3hQcmVjbyAuYVBhcnRpciB7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGNvbG9yOiAjNjY2Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMDAlOw0KICAgIG1hcmdpbi1ib3R0b206IDVweDsNCn0NCg0KLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gLmJveFByZWNvIC5wcmVjb3BvciB7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMDAlOw0KfQ0KDQoubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIGEgew0KICAgIG1hcmdpbjogMDsNCiAgICBiYWNrZ3JvdW5kOiAjRjA5QzAwOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHBhZGRpbmc6IDEwcHggMzBweDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQovKiBNb2RhbCBWw61kZW8gKi8NCg0KI21vZGFsVmlkZW8gew0KICAgIHBvc2l0aW9uOiBmaXhlZDsNCiAgICBsZWZ0OiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogMDsNCiAgICBib3R0b206IDA7DQogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpOw0KICAgIHotaW5kZXg6IDk5OTk5OTk5OTsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQojbW9kYWxWaWRlbyAuYm94RmxleCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIHRvcDogMDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCiNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyB7DQogICAgd2lkdGg6IDgwMHB4Ow0KICAgIG1heC13aWR0aDogOTAlOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIHBhZGRpbmc6IDMwcHg7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQojbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gLmZlY2hhVmlkZW8gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBjb2xvcjogI0E5QUJCRDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0b3A6IDRweDsNCiAgICByaWdodDogNHB4Ow0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoNCiNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyAudmlkZW8tYmxvY2sgew0KICAgIG1heC13aWR0aDogMTAwJTsNCn0NCg0KI21vZGFsVmlkZW8gLmJveEZsZXggLmJveFZpZGVvIGlmcmFtZSB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgaGVpZ2h0OiA1MDBweDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgICNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyBpZnJhbWUgew0KICAgICAgICBoZWlnaHQ6IDE4MHB4Ow0KICAgIH0NCg0KICAgIC8qIE1vZGFsIFJvZGFww6kgKi8NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIHsNCiAgICAgICAgcGFkZGluZzogMCAxMHB4IWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIHsNCiAgICAgICAgcGFkZGluZzogMTVweCAwOw0KICAgIH0NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIHsNCiAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGluaXRpYWw7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgIGZsZXg6IDE7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gLnRpdHVsbyB7DQogICAgICAgIG1hcmdpbjogMCAwIDVweCAwOw0KICAgIH0NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIHVsIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC50ZXh0byAuYm94UHJlY28gLnByZWNvRGUgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLmJveE51bWVyb3MgI2Nsb2NrIC5ib3hEYWRvcyB7DQogICAgICAgIHBhZGRpbmc6IDhweCA4cHg7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAuYm94TnVtZXJvcyAjY2xvY2sgLmJveERhZG9zICsgLmJveERhZG9zIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsNCiAgICB9DQoNCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC5ib3hOdW1lcm9zICNjbG9jayAuYm94RGFkb3MgLm51bWVyb3Mgew0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDFweDsNCiAgICB9DQoNCiAgICAvKiBNb2RhbCBWw61kZW8gKi8NCg0KICAgICNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyB7DQogICAgICAgIHBhZGRpbmc6IDNweDsNCiAgICB9DQoNCiAgICAjbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gLmZlY2hhVmlkZW8gew0KICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4Ow0KICAgICAgICB0b3A6IC0xMHB4Ow0KICAgICAgICByaWdodDogLTEwcHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsNCg0KICAgIC8qIE1vZGFsIFJvZGFww6kgKi8NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgew0KICAgICAgICBwYWRkaW5nOiAxMHB4IDA7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gew0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIH0NCiAgICANCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC50ZXh0byAudGl0dWxvIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gLmJveFByZWNvIC5wcmVjb3BvciB7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICB9DQp9DQoNCi8qIGhlYWRlci5jc3MgKi8NCg0KLmhlYWRlckxhbmRpbmcgew0KICAgIHBvc2l0aW9uOiBmaXhlZDsNCiAgICB0b3A6IDA7DQogICAgaGVpZ2h0OiA2NXB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHotaW5kZXg6IDk5Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsNCn0NCg0KLmhlYWRlckxhbmRpbmcuc2Nyb2xsIHsNCiAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyNiwgNDIsIDAuOTUpOw0KfQ0KDQouaGVhZGVyTGFuZGluZyAuY29udGFpbmVyIHsNCiAgICBoZWlnaHQ6IDEwMCU7DQp9DQoNCi5oZWFkZXJMYW5kaW5nIC5jb250YWluZXIgLmNvbC1zbS0xMiB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBoZWlnaHQ6IDEwMCU7DQp9DQoNCi8qIExvZ28gKi8NCg0KLmhlYWRlckxhbmRpbmcgI2xvZ29MYW5kaW5nMjAyMiBpbWcgew0KICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsNCn0NCg0KLmhlYWRlckxhbmRpbmcuc2Nyb2xsICNsb2dvTGFuZGluZzIwMjIgaW1nIHsNCiAgICBtYXgtd2lkdGg6IDEyMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsNCn0NCg0KLyogTGlua3MgKi8NCg0KLmxpbmtzSGVhZGVyIHsNCiAgICBmbGV4OiAxOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOw0KfQ0KDQoubGlua3NIZWFkZXIgYSB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmxpbmtzSGVhZGVyIGEgKyBhIHsNCiAgICBtYXJnaW4tbGVmdDogMzBweDsNCn0NCg0KLmxpbmtzSGVhZGVyIGEgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luLWxlZnQ6IDdweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkgew0KDQogICAgLmxpbmtzSGVhZGVyIGEgc3BhbiB7DQogICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KDQp9DQoNCi8qIGJhbm5lclByaW5jaXBhbC5jc3MgKi8NCg0KLmJhbm5lclByaW5jaXBhbCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9iZy1iYW5uZXItcHJpbmNpcGFsLmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7DQogICAgcGFkZGluZzogMjIwcHggMCAyMjBweCAwOw0KICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQp9DQoNCi5iYW5uZXJQcmluY2lwYWwgLmNvbnRhaW5lciB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQovKiBUZXh0byAqLw0KDQouYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDJweDsNCn0NCg0KLmJhbm5lclByaW5jaXBhbCAudGV4dG9CYW5uZXIgaDIgc3Ryb25nIHsNCiAgICBjb2xvcjogI0YwOUMwMDsNCn0NCg0KLmJhbm5lclByaW5jaXBhbCAudGV4dG9CYW5uZXIgcCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQouYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBwIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7DQoNCiAgICAuYmFubmVyUHJpbmNpcGFsIHsNCiAgICAgICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9iZy1iYW5uZXItcHJpbmNpcGFsLW1vYmlsZS5qcGcpICMwZjFhMmEgYm90dG9tIGNlbnRlciBuby1yZXBlYXQ7DQogICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOw0KICAgICAgICBwYWRkaW5nOiAxMzBweCAwIDgwMHB4IDA7DQogICAgfQ0KDQogICAgLmJhbm5lclByaW5jaXBhbCAuY29udGFpbmVyIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAgICAgcGFkZGluZzogMCAxNXB4IWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAuYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgLnRleHRvQmFubmVyIGgyIGJyLA0KICAgIC5iYW5uZXJQcmluY2lwYWwgLnRleHRvQmFubmVyIHAgYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgLmNvbC1zbS02IHsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsNCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgew0KICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2JnLWJhbm5lci1wcmluY2lwYWwtbW9iaWxlLmpwZykgIzBmMWEyYSBib3R0b20gY2VudGVyIG5vLXJlcGVhdDsNCiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87DQogICAgICAgIHBhZGRpbmc6IDEzMHB4IDAgNjAwcHggMDsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgew0KDQogICAgLmJhbm5lclByaW5jaXBhbCB7DQogICAgICAgIHBhZGRpbmc6IDEyMHB4IDAgNDUwcHggMDsNCiAgICB9DQoNCiAgICAuYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgIH0NCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgLnRleHRvQmFubmVyIHAgew0KICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MzBweCkgew0KDQogICAgLmJhbm5lclByaW5jaXBhbCB7DQogICAgICAgIHBhZGRpbmc6IDkwcHggMCAzMDBweCAwOw0KICAgIH0NCg0KfQ0KDQovKiBjb21wYXJhY2FvLmNzcyAqLw0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiA1MHB4IDA7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgIzFFMkEzQiwgIzI3MkMzMik7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLyogVMOtdHVsbyAqLw0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwOw0KICAgIGxpbmUtaGVpZ2h0OiA0NHB4Ow0KICAgIGZvbnQtc2l6ZTogMzBweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyBoMiBzdHJvbmcgew0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQovKiBDb250ZcO6ZG8gKi8NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94TG90ZSAuY29udGV1ZG9Mb3RlIHsNCiAgICBiYWNrZ3JvdW5kOiAjMUUyQTNCOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHBhZGRpbmc6IDUwcHggMDsNCn0NCg0KLyogU2VsZXRvciBkZSBQbGFubyAqLw0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgcGFkZGluZzogNTBweCAwOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC50aXR1bG9QbGFubyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC5zd2l0Y2hQbGFubyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogNjBweDsNCiAgICBoZWlnaHQ6IDM0cHg7DQogICAgbWFyZ2luOiAwIDE1cHg7DQp9DQogIA0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc3dpdGNoUGxhbm8gaW5wdXQgeyANCiAgICBvcGFjaXR5OiAwOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc2xpZGVyUGxhbm8gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGJvcmRlci1yYWRpdXM6IDM0cHg7DQogICAgYm9yZGVyOiBzb2xpZCA0cHggI0YwOUMwMDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc2xpZGVyUGxhbm8gLmNpcmNsZSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGhlaWdodDogMjBweDsNCiAgICB3aWR0aDogMjBweDsNCiAgICBsZWZ0OiA0cHg7DQogICAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGMDlDMDA7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOw0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyBpbnB1dDpjaGVja2VkICsgLnNsaWRlclBsYW5vIC5jaXJjbGUgew0KICAgIHJpZ2h0OiA0cHg7DQogICAgbGVmdDogYXV0bzsNCn0NCg0KLyogUGxhbm9zICovDQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIHVsLmxpc3RhQ29tcGFyYWNhbyB7DQogICAgcGFkZGluZzogMDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gdWwubGlzdGFDb21wYXJhY2FvIGxpIHsNCiAgICBoZWlnaHQ6IGF1dG87DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gdWwub2N1bHRvIHsNCiAgICBoZWlnaHQ6IDA7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gew0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjNDc1NTY4LCAjNEM0RTRDKTsNCiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMzVweCAyMHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTBweCAxMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5ib3hCcmFuY28gLm1lbGhvck9mZXJ0YSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG1pbi1oZWlnaHQ6IDI4cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveEJyYW5jbyAubWVsaG9yT2ZlcnRhIHNwYW4gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1NjU3Njk7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIHBhZGRpbmc6IDVweCAxNHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC50aXR1bG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBjb2xvcjogIzI3MzY0QjsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMTBweCAwOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIG1pbi1oZWlnaHQ6IDc0cHg7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveEJyYW5jbyAuYm94Qm9udXMgLmxpc3RhQm9udXMgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAwIDAgMCAxNXB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyAubGlzdGFCb251cyBsaSB7DQogICAgY29sb3I6ICM1NjU3Njk7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveEJyYW5jbyAuYm94Qm9udXMgLmxpc3RhQm9udXMgbGkgc21hbGwgew0KICAgIGNvbG9yOiAjQTlBQkJEOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIC5ib3hQcmVjb0ludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1pbi1oZWlnaHQ6IDkycHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5ib3hQcmVjbyAuYVBhcnRpciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGNvbG9yOiAjMjczNjRCOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94UHJlY28gLnByZWNvRGUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW46IDVweCAwIDAgMDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBjb2xvcjogIzI3MzY0QjsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIC5wcmVjb1BvciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG1hcmdpbjogNXB4IDAgMTVweCAwOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBjb2xvcjogIzFFMkEzQjsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBiYWNrZ3JvdW5kOiAjQzk4NDAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHBhZGRpbmc6IDEwcHggMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgew0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBoZWlnaHQ6IDM1cHg7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveFRpdHVsbyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4OiAxOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpIC5ib3hUaXR1bG8gc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpLm5hb0luY2x1c28gLmJveFRpdHVsbyBzcGFuIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpLmJvbnVzLm5hb0luY2x1c28gLmJveEluZm8gew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveEluZm8gLmltZ0luZm8gew0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBtYXJnaW4tbGVmdDogMTVweDsNCn0NCg0KLyogTW9kYWwgKi8NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyAubW9kYWxJbmZvIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgd2lkdGg6IDMwMHB4Ow0KICAgIGJhY2tncm91bmQ6ICNGMEVGRjM7DQogICAgYm94LXNoYWRvdzogMHB4IDhweCAxNXB4IHJnYig0NSA0NyA2NCAvIDEwJSksIDBweCAxLjVweCA1cHggcmdiKDQ1IDQ3IDY0IC8gMjUlKTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgYm90dG9tOiBjYWxjKDEwMCUgKyAxNXB4KTsNCiAgICBwYWRkaW5nOiAyMHB4IDE1cHggMTVweCAxNXB4Ow0KICAgIHJpZ2h0OiAtNnB4Ow0KICAgIHotaW5kZXg6IDE7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveEluZm8gLm1vZGFsSW5mbyAuZmVjaGFQb3B1cCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogM3B4Ow0KICAgIHJpZ2h0OiAzcHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveEluZm8gLm1vZGFsSW5mbyAuZmVjaGFQb3B1cCBpbWcgew0KICAgIHdpZHRoOiAyMHB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpIC5ib3hJbmZvIC5tb2RhbEluZm86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiIjsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgd2lkdGg6IDA7DQogICAgaGVpZ2h0OiAwOw0KICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICNGMEVGRjM7DQogICAgcmlnaHQ6IDEwcHg7DQogICAgYm90dG9tOiAtN3B4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpIC5ib3hJbmZvIC5tb2RhbEluZm8gcCB7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGNvbG9yOiAjMjIyOw0KICAgIG1hcmdpbjogMDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyAubW9kYWxJbmZvIGEgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kOiAjMDA1N0VFOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIG1hcmdpbi10b3A6IDEycHg7DQogICAgcGFkZGluZzogMTBweCAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyAubW9kYWxJbmZvIGEgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIHVsLmxpc3RhQ29tcGFyYWNhbyB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIGgyIHsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgaDIgYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3Mgew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDM1cHggMzVweCAzNXB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLnRpdHVsb1BsYW5vIHsNCiAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLmJvdGFvMUFubyB7DQogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLnN3aXRjaFBsYW5vIHsNCiAgICAgICAgbWFyZ2luOiAwIDEycHg7DQogICAgICAgIHdpZHRoOiA1NXB4Ow0KICAgICAgICBtaW4td2lkdGg6IDU1cHg7DQogICAgfQ0KDQogICAgLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyB1bC5saXN0YUNvbXBhcmFjYW8gLnNsaWNrLWxpc3Qgew0KICAgICAgICBtYXJnaW46IDAgLTIwcHg7DQogICAgfQ0KDQogICAgLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyB1bC5saXN0YUNvbXBhcmFjYW8gbGkuYm94SXRlbSB7DQogICAgICAgIHBhZGRpbmc6IDAgNXB4Ow0KICAgIH0NCg0KICAgIC8qIE1vZGFsICovDQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyB1bCBsaSAuYm94SW5mbyAubW9kYWxJbmZvIHsNCiAgICAgICAgd2lkdGg6IDI2MHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5jb250YWluZXIgew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgZmxleC1iYXNpczogMTAwJTsNCiAgICAgICAgcGFkZGluZzogMCA1cHg7DQogICAgfQ0KDQogICAgLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gew0KICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMzVweCAxMHB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5ib3hCcmFuY28gLmJveEJvbnVzIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyAubGlzdGFCb251cyB7DQogICAgICAgIG1hcmdpbjogMTVweCAwIDAgMDsNCiAgICB9DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyAubGlzdGFCb251cyBsaSB7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB9DQoNCn0NCg0KLyogY2FycmVpcmFzRXNwZWNpZmljYXMuY3NzICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiA1MHB4IDAgMCAwOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgLnRpdHVsb1Nlc3NhbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMTVweCAwOw0KICAgIGxpbmUtaGVpZ2h0OiA0MnB4Ow0KICAgIGZvbnQtc2l6ZTogMzBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzIC50aXR1bG9TZXNzYW8gc3Ryb25nIHsNCiAgICBjb2xvcjogI0YwOUMwMDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzIC5zdWJUaXR1bG9TZXNzYW8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICBtYXJnaW46IDAgMCAzMHB4IDA7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAuc3ViVGl0dWxvU2Vzc2FvIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCi8qIEJveCBBY2NvcmRpb24gKi8NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhc0VzcGVjaWZpY2FzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgew0KCWZsb2F0OiBsZWZ0Ow0KICAgIGJvcmRlcjogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDAhaW1wb3J0YW50Ow0KICAgIHBhZGRpbmctYm90dG9tOiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDAhaW1wb3J0YW50Ow0KCWJveC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCgliYWNrZ3JvdW5kOiBub25lOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5jYXJkLWhlYWRlciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIHsNCgljdXJzb3I6IHBvaW50ZXI7DQoJYm9yZGVyOiAwOw0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQ6ICM0NzU1Njk7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUI2NTc1Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiAuY29udGFpbmVyIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIGhlaWdodDogOTBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIGZsZXg6IDE7DQogICAgYWxpZ24taXRlbXM6IHN0YXJ0Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC50aXR1bG9Mb3RlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLnRpdHVsb0xvdGUgLnRhZ0NvbXBsZXRhIHsNCiAgICBiYWNrZ3JvdW5kOiAjQzk4MzAwOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBwYWRkaW5nOiAycHggMTBweDsNCiAgICBib3JkZXItcmFkaXVzOiAyMHB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAyMHB4Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5zdWJ0aXR1bG9Mb3RlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiBpbWcgew0KICAgIG1heC13aWR0aDogMzBweDsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXIgMHM7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSBpbWcgew0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KCXBhZGRpbmc6IDYwcHggMCA1MHB4IDA7DQogICAgYmFja2dyb3VuZDogIzEyMTUyMDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmxpc3RhQXNzaW5hdHVyYXNDb250ZXVkbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZ3JpZDsNCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOw0KICAgIGdhcDogMTVweDsNCn0NCg0KLyogTGlzdGEgQXNzaW5hdHVyYXMgKi8NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJvcmRlcjogc29saWQgMnB4IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7DQogICAgcGFkZGluZzogMTVweCA3cHg7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJuby5tZWxob3JPZmVydGFCb3ggew0KICAgIGJvcmRlcjogc29saWQgMnB4ICNBMzZCMDA7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5tZWxob3JPZmVydGEgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBjb2xvcjogI0YwOUMwMDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0b3A6IC0xMnB4Ow0KICAgIGxlZnQ6IGNhbGMoNTAlIC0gNjNweCk7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQ6ICMxMjE1MjA7DQogICAgcGFkZGluZzogMCAxNXB4Ow0KfQ0KDQovKiBUYWcgQsO0bnVzICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC50YWdCb251cyB7DQogICAgaGVpZ2h0OiA0MHB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBtaW4td2lkdGg6IDFweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLnRhZ0JvbnVzIC50YWdCb251c0ludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjRjA5QzAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgcGFkZGluZzogMCAxNXB4Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAudGFnQm9udXMgLnRhZ0JvbnVzSW50ZXJubyAudGV4dG9UYWcgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLnRhZ0JvbnVzIC50YWdCb251c0ludGVybm8gLnBvcmNlbnRhZ2VtVGFnIHsNCiAgICBiYWNrZ3JvdW5kOiAjRDkzRTNFOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCn0NCg0KLyogRWNvbm9taXplICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogNDBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgLmJveEludGVybm8gew0KICAgIGJhY2tncm91bmQ6ICNGMDlDMDA7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgYm9yZGVyLXJhZGl1czogMzBweDsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBwYWRkaW5nOiAwIDRweCAwIDIwcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgLmJveEludGVybm8gLnRleHRvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgLmJveEludGVybm8gLnBvcmNlbnRhZ2VtIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBiYWNrZ3JvdW5kOiAjRDkzRTNFOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMTJweDsNCiAgICBwYWRkaW5nOiA5cHggMTBweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAzMHB4Ow0KfQ0KDQovKiBUw610dWxvICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAubGlzdGFCb251cyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmxpc3RhQm9udXMgdWwgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAubGlzdGFCb251cyB1bCBsaSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBjb2xvcjogI0NCRDRFMTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hQcmVjb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94UHJlY29zIC5ib3hQcmVjbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGJhY2tncm91bmQ6ICM0NzU1Njk7DQogICAgcGFkZGluZzogMTBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAuYm94UHJlY28gLnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBtYXJnaW4tYm90dG9tOiAzMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAuYm94UHJlY28gLmRlc2NyaWNhbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBoZWlnaHQ6IDQwcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hQcmVjb3MgLmJveFByZWNvIC5wcmVjb0RlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGNvbG9yOiAjRTJFOEYwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAuYm94UHJlY28gLnByZWNvUG9yIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hQcmVjb3MgLmJveFByZWNvIGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBiYWNrZ3JvdW5kOiAjQzk4NDAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHBhZGRpbmc6IDZweCAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveExpbmtTYWliYSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hMaW5rU2FpYmEgLmxpbmtTYWliYSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGNvbG9yOiAjRkFGQUZBOw0KICAgIG1hcmdpbi10b3A6IDE1cHg7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAubGlzdGFBc3NpbmF0dXJhc0NvbnRldWRvIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsNCiAgICAgICAgZ2FwOiAzMHB4Ow0KICAgIH0NCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgew0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHsNCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgICAgIHBhZGRpbmc6IDANCiAgICB9DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJuby5zZW1NZWxob3JPZmVydGEgLnRhZ0JvbnVzIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJuby5zZW1NZWxob3JPZmVydGEgaDIgew0KICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLm1lbGhvck9mZXJ0YS5zZW1Fc3BlY2lhbCB7DQogICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyB7DQogICAgICAgIHBhZGRpbmc6IDI1cHggMCAwIDA7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzIC50aXR1bG9TZXNzYW8gew0KICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCBidXR0b24gLmNvbnRhaW5lciB7DQogICAgICAgIGhlaWdodDogMTIwcHg7DQogICAgICAgIHBhZGRpbmc6IDAgOHB4Ow0KICAgIH0NCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLnRpdHVsb0xvdGUgLnRhZ0NvbXBsZXRhIHsNCiAgICAgICAgZm9udC1zaXplOiAxMHB4Ow0KICAgIH0NCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLnN1YnRpdHVsb0xvdGUgew0KICAgICAgICBmb250LXNpemU6IDEycHg7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmNvbC1zbS02IHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiA1MCU7DQogICAgICAgIG1heC13aWR0aDogNTAlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAubGlzdGFBc3NpbmF0dXJhc0NvbnRldWRvIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsNCiAgICAgICAgZ2FwOiAzMHB4Ow0KICAgIH0NCg0KfQ0KDQovKiBwcmVwYXJhY2FvUGVyc29uYWxpemFkYS5jc3MgKi8NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDgwcHggMCA1MHB4IDA7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94Qmcgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvYmctcHJlcGFyYWNhby1wZXJzb25hbGl6YWRhLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCiAgICBwYWRkaW5nOiA0MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgaDIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbWFyZ2luOiAwIDAgMTVweCAwOw0KICAgIGxpbmUtaGVpZ2h0OiAzNnB4Ow0KICAgIGZvbnQtc2l6ZTogMjZweDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuc3VidGl0dWxvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsNCiAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLnN1YnRpdHVsbyBzdHJvbmcgew0KICAgIGNvbG9yOiAjREJCRDg0Ow0KfQ0KDQoucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIC5ib3hQbGFub3NQZXJzb25hbGl6YWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZ3JpZDsNCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOw0KICAgIGdhcDogMzBweDsNCiAgICBtYXJnaW46IDMwcHggMDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3MgYSB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3MgLml0ZW1Bc3NpbmF0dXJhIHsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY2LCA2NiwgNjYsIDAuNCk7DQogICAgYm9yZGVyLXJhZGl1czogMjBweDsNCiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgcGFkZGluZzogMzBweDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3MgLml0ZW1Bc3NpbmF0dXJhIGgzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIG1hcmdpbjogMDsNCiAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICBmb250LXNpemU6IDIwcHg7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSAucHJlY29EZSB7DQogICAgY29sb3I6ICNEQkJEODQ7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgbWFyZ2luOiA4cHggMCAwIDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSAucHJlY29Qb3Igew0KICAgIGNvbG9yOiAjREJCRDg0Ow0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIG1hcmdpbjogMnB4IDAgNXB4IDA7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSBwIHsNCiAgICBjb2xvcjogIzhEOEQ4RDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQoucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIC5ib3hCYWl4byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gcCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luOiAwIDMwcHg7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyM3B4Ow0KICAgIGZsZXg6IDE7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveEJhaXhvIHAgc3Ryb25nIHsNCiAgICBjb2xvcjogI0RCQkQ4NDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gYSB7DQogICAgY29sb3I6ICM1NjRBMzM7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNjksIDE0MSwgODksIDEpIDEwMCUsIHJnYmEoMTkzLCAxNjQsIDEwOCwgMSkgMTAwJSk7DQogICAgcGFkZGluZzogMTdweCAzMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBsaW5lLWhlaWdodDogMTRweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIHsNCiAgICAgICAgcGFkZGluZzogNDBweCAwIDE1cHggMDsNCiAgICB9DQoNCiAgICAucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIHsNCiAgICAgICAgcGFkZGluZzogMjVweDsNCiAgICAgICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9iZy1wcmVwYXJhY2FvLXBlcnNvbmFsaXphZGEtbW9iaWxlLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7DQogICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyBoMiB7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4Ow0KICAgICAgICBmb250LXNpemU6IDIwcHg7DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3Mgew0KICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOw0KICAgICAgICBnYXA6IDEwcHg7DQogICAgICAgIG1hcmdpbjogMjVweCAwOw0KICAgIH0NCg0KICAgIC5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSB7DQogICAgICAgIHBhZGRpbmc6IDIwcHggMDsNCiAgICB9DQoNCiAgICAucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIC5ib3hCYWl4byB7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gcCB7DQogICAgICAgIG1hcmdpbjogMzBweCAwOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gYSB7DQogICAgICAgIHBhZGRpbmc6IDE1cHggMDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQoNCn0NCg0KLyogY2hhbWFkYVBhY290ZXMuY3NzICovDQoNCi5jaGFtYWRhc1BhY290ZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMwRjFBMkE7DQogICAgcGFkZGluZzogNTBweCAwIDAgMDsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94Qmcgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0Ow0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBwYWRkaW5nOiAzMHB4Ow0KICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50Ow0KfQ0KDQouY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICM1OTNBMDA7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMjRweDsNCiAgICBsaW5lLWhlaWdodDogMzJweDsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgaDIgc3Ryb25nIHsNCiAgICBjb2xvcjogIzBBMTIxRjsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgcCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICM1OTNBMDA7DQogICAgbWFyZ2luOiAyMHB4IDA7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNTAlOw0KfQ0KDQouY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBmaWd1cmUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGEgew0KICAgIHBhZGRpbmc6IDVweCA1MHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGNvbG9yOiAjMEExMjFGOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYm9yZGVyOiBzb2xpZCAycHggIzBBMTIxRjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQp9DQoNCi5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGE6aG92ZXIgew0KICAgIGJhY2tncm91bmQ6ICMwQTEyMUY7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KICAgIA0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmNvbC1zbS0xMiB7DQogICAgICAgIHBhZGRpbmc6IDA7DQogICAgfQ0KDQogICAgLmNoYW1hZGFzUGFjb3RlcyAuYm94Qmcgew0KICAgICAgICBwYWRkaW5nOiAxN3B4Ow0KICAgIH0NCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGgyIGJyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBmaWd1cmUgew0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIG1hcmdpbjogMjBweCAwOw0KICAgIH0NCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGEgew0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB9DQoNCn0NCg0KLyogYmlnTnVtYmVycy5jc3MgKi8NCg0KLmJpZ051bWJlcnMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogODBweCAwIDEwMHB4IDA7DQp9DQoNCi5iaWdOdW1iZXJzIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA0MHB4IDA7DQogICAgZm9udC1zaXplOiAzNHB4Ow0KICAgIHBhZGRpbmc6IDAgMTVweDsNCn0NCg0KLmJpZ051bWJlcnMgLmJveE51bWVyb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYmlnTnVtYmVycyAuYm94TnVtZXJvcyAubnVtZXJvIC5ib3hJbnRlcm5vIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzFFMkEzQiAwLjUyJSwgcmdiYSgzMCwgNDIsIDU5LCAwKSAxMDAlKTsNCiAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgcGFkZGluZzogNDBweCAxMHB4Ow0KfQ0KDQouYmlnTnVtYmVycyAuYm94TnVtZXJvcyAubnVtZXJvIC5ib3hJbnRlcm5vIC5udW1lcm9JbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0M5ODMwMCA0NS4zMSUsICM1OTNBMDAgNzYuMDQlLCByZ2JhKDEyNSwgODIsIDAsIDApIDEwMCUpOw0KICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0Ow0KICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBmb250LXNpemU6IDgwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbGluZS1oZWlnaHQ6IDkwcHg7DQp9DQoNCi5iaWdOdW1iZXJzIC5ib3hOdW1lcm9zIC5udW1lcm8gLmJveEludGVybm8gLm51bWVybyBzdHJvbmcgew0KICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXIgMHM7DQp9DQoNCi5iaWdOdW1iZXJzIC5ib3hOdW1lcm9zIC5udW1lcm8gLmJveEludGVybm8gLnRleHRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0M5ODMwMCA0NS4zMSUsICM1OTNBMDAgNzYuMDQlLCByZ2JhKDEyNSwgODIsIDAsIDApIDEwMCUpOw0KICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0Ow0KICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5iaWdOdW1iZXJzIHsNCiAgICAgICAgcGFkZGluZzogMzBweCAwOw0KICAgIH0NCg0KICAgIC5iaWdOdW1iZXJzIGgyIHsNCiAgICAgICAgbWFyZ2luOiAwIDAgMzZweCAwOw0KICAgICAgICBmb250LXNpemU6IDI2cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4Ow0KICAgIH0NCg0KICAgIC5iaWdOdW1iZXJzIC5ib3hOdW1lcm9zIC5udW1lcm8gew0KICAgICAgICB3aWR0aDogNTAlOw0KICAgICAgICBtYXgtd2lkdGg6IDUwJTsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHBhZGRpbmc6IDAgM3B4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7DQogICAgfQ0KDQogICAgLmJpZ051bWJlcnMgLmJveE51bWVyb3MgLm51bWVybyAuYm94SW50ZXJubyB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgaGVpZ2h0OiAyMDBweDsNCiAgICAgICAgcGFkZGluZzogNXB4Ow0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCiAgICAuYmlnTnVtYmVycyAuYm94TnVtZXJvcyAubnVtZXJvIC5ib3hJbnRlcm5vIC5udW1lcm9JbnRlcm5vIHsNCiAgICAgICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIH0NCg0KfQ0KDQovKiBkZXN0YXF1ZXMuY3NzICovDQoNCi5ib3hEZXN0YXF1ZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMwRjFBMkE7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggLTEyM3B4IDk1cHggLTEwNHB4IHJnYmEoMjU1LDI1NSwyNTUsMC40NCk7DQogICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggLTEyM3B4IDk1cHggLTEwNHB4IHJnYmEoMjU1LDI1NSwyNTUsMC40NCk7DQogICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xMjNweCA5NXB4IC0xMDRweCByZ2JhKDI1NSwyNTUsMjU1LDAuNDQpOw0KICAgIHBhZGRpbmc6IDA7DQogICAgYm9yZGVyLWJvdHRvbTogNjBweCBzb2xpZCAjMEYxQTJBOw0KfQ0KDQouYm94RGVzdGFxdWVzIGgyLnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDRweDsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgbGkuc2xpY2stc2xpZGUgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBtaW4taGVpZ2h0OiA0NjBweDsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDRweDsNCn0NCg0KLmJveERlc3RhcXVlcyBsaSAuY29sLXNtLTEyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgbGkgLmNvbC1zbS0xMiBpbWcgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCg0KLmJveERlc3RhcXVlcyBoMiBzdHJvbmcgew0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQouYm94RGVzdGFxdWVzIHAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMDsNCiAgICBjb2xvcjogI0NCRDRFMTsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDI2cHg7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgcCBzdHJvbmcgew0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQouYm94RGVzdGFxdWVzIGEgew0KICAgIHBhZGRpbmc6IDVweCA1MHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW4tdG9wOiAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLmJveERlc3RhcXVlcyBpbWcuY29tVmlkZW8gew0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLyogU2V0YXMgKi8NCg0KLmJveERlc3RhcXVlcyB1bCAuc2V0YUJhbm5lciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogY2FsYyg1MCUgLSAxMnB4KTsNCiAgICBsZWZ0OiAtNzBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgei1pbmRleDogMTsNCiAgICB3aWR0aDogNDVweDsNCiAgICBoZWlnaHQ6IDQ1cHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMkEzQjsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgLnNldGFCYW5uZXIucHJveGltbyB7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCiAgICByaWdodDogLTcwcHg7DQogICAgbGVmdDogYXV0bzsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCAuc2V0YUJhbm5lci5zbGljay1kaXNhYmxlZCB7DQogICAgb3BhY2l0eTogMC41Ow0KICAgIGN1cnNvcjogZGVmYXVsdDsNCn0NCg0KLyogRG90cyAqLw0KDQouYm94RGVzdGFxdWVzIHVsIHVsLnNsaWNrLWRvdHMgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IC00MHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCB1bC5zbGljay1kb3RzIGxpIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbGluZS1oZWlnaHQ6IDEwMCU7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgdWwuc2xpY2stZG90cyBsaSBidXR0b24gew0KICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDsNCiAgICBib3JkZXI6IHNvbGlkIDRweCAjZmZmOw0KICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgd2lkdGg6IDE4cHg7DQogICAgaGVpZ2h0OiAyMHB4Ow0KICAgIG1hcmdpbjogMCA1cHg7DQogICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgdWwuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHsNCiAgICBib3JkZXItY29sb3I6ICMzMzk5RkY7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7DQoNCiAgICAuYm94RGVzdGFxdWVzIC5jb250YWluZXIgew0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIH0NCg0KICAgIC5ib3hEZXN0YXF1ZXMgLmNvbC1zbS00LA0KICAgIC5ib3hEZXN0YXF1ZXMgLmNvbC1zbS04IHsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHBhZGRpbmc6IDA7DQogICAgfQ0KDQogICAgLmJveERlc3RhcXVlcyAuY29sLXNtLTggew0KICAgICAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KICAgIH0NCg0KICAgIC5ib3hEZXN0YXF1ZXMgYSB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBmb250LXNpemU6IDE4cHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7DQoNCiAgICAuYm94RGVzdGFxdWVzIHsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIGgyLnRpdHVsbywNCiAgICAuYm94RGVzdGFxdWVzIHVsIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIGgyLnRpdHVsbyB7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIGgyIGJyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIHVsIGxpLnNsaWNrLXNsaWRlIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCn0NCg0KLyogcGFzc29zLmNzcyAqLw0KDQoucGFzc29zQXByb3ZhY2FvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjMjQyYzM1Ow0KICAgIHBhZGRpbmc6IDUwcHggMDsNCn0NCg0KLnBhc3Nvc0Fwcm92YWNhbyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDQycHg7DQp9DQoNCi5wYXNzb3NBcHJvdmFjYW8gaDIgc3Ryb25nIHsNCiAgICBjb2xvcjogI0YwOUMwMDsNCn0NCg0KLnBhc3Nvc0Fwcm92YWNhbyBwaWN0dXJlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5wYXNzb3NBcHJvdmFjYW8gew0KICAgICAgICBwYWRkaW5nOiAzNXB4IDA7DQogICAgfQ0KDQogICAgLnBhc3Nvc0Fwcm92YWNhbyBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgfQ0KDQogICAgLnBhc3Nvc0Fwcm92YWNhbyBoMiBiciB7DQogICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KDQp9DQoNCi8qIGRpYXNEZVRlc3RlLmNzcyAqLw0KDQouZGlhc0RlVGVzdGUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogNTBweCAwIDcwcHggMDsNCn0NCg0KLyogQm94ICovDQoNCi5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NTU2OTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHBhZGRpbmc6IDQwcHggMzBweDsNCiAgICBoZWlnaHQ6IDE4MHB4Ow0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7DQp9DQoNCi5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyAuYm94VGV4dG8gLnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgbWFyZ2luOiAwIDAgMTBweCAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50ZXh0byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC5jb25kaWNhbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIG1hcmdpbi10b3A6IDEwcHg7DQp9DQoNCi5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyBmaWd1cmUgaW1nIHsNCiAgICB3aWR0aDogODBweDsNCiAgICBtaW4td2lkdGg6IDgwcHg7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gew0KICAgICAgICBoZWlnaHQ6IDIyMHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgew0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtICsgLmJveEl0ZW0gew0KICAgICAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgIH0NCg0KICAgIC5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyB7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICB9DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50aXR1bG8gew0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50aXR1bG8gYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gew0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7DQogICAgICAgIHBhZGRpbmc6IDIwcHg7DQogICAgfQ0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtIC5ib3hJbnRlcm5vIC5ib3hUZXh0byB7DQogICAgICAgIG1hcmdpbjogMjBweCAwIDAgMDsNCiAgICB9DQoNCn0NCg0KLyogY29uY3Vyc29zRG9zU29uaG9zLmNzcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMCAwIDcwcHggMDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA2MHB4IDA7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAwIDUwcHg7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgew0KICAgIGhlaWdodDogYXV0bzsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCBsaSAuYm94SW50ZXJubyBmaWd1cmUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gZmlndXJlIGltZyB7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi8qIFRleHRvcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvQ29uY3Vyc28gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAyMHB4Ow0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvQ29uY3Vyc28gaDMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDI4cHg7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCBsaSAuYm94SW50ZXJubyAuYm94VGV4dG9Db25jdXJzbyAudmFnYXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBtYXJnaW46IDVweCAwIDAgMDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0b0NvbmN1cnNvIC5uaXZlbCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIG1hcmdpbi10b3A6IDVweDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0b0NvbmN1cnNvIC5zYWxhcmlvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KfQ0KDQovKiBTZXRhcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgLnNldGFCYW5uZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7DQogICAgbGVmdDogMDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgei1pbmRleDogMTsNCiAgICB3aWR0aDogNDVweDsNCiAgICBoZWlnaHQ6IDQ1cHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMkEzQjsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCAuc2V0YUJhbm5lci5wcm94aW1vIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCAuc2V0YUJhbm5lci5zbGljay1kaXNhYmxlZCB7DQogICAgb3BhY2l0eTogMC41Ow0KICAgIGN1cnNvcjogZGVmYXVsdDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLmNvbmN1cnNvRG9zU29uaG9zIHsNCiAgICAgICAgcGFkZGluZzogNDBweCAwOw0KICAgIH0NCg0KICAgIC5jb25jdXJzb0Rvc1NvbmhvcyBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjZweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7DQogICAgICAgIG1hcmdpbjogMCAwIDM1cHggMDsNCiAgICB9DQoNCiAgICAuY29uY3Vyc29Eb3NTb25ob3MgdWwgew0KICAgICAgICBwYWRkaW5nOiAwIDIwcHg7DQogICAgfQ0KDQp9DQoNCi8qIHByZXZpc2FvRGVBdW1lbnRvLmNzcyAqLw0KDQoucHJldmlzYW9EZUF1bWVudG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMCAwIDgwcHggMDsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA0MHB4IDA7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIGgyIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCi5wcmV2aXNhb0RlQXVtZW50byBwIHsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBmb250LXdlaWdodDogbGlnaHRlcjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbWFyZ2luOiAwIDAgNTBweCAwOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLyogTWVudSAqLw0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDNweCAjOTk5OTk5Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW4tYm90dG9tOiA0MHB4Ow0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gdWwgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAwIDAgLTNweCAwOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtaW4td2lkdGg6IDExODBweDsNCiAgICB6LWluZGV4OiA5OTk7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gdWwgbGkgew0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHBhZGRpbmc6IDEwcHg7DQogICAgY29sb3I6ICNmZmY7DQogICAgYm9yZGVyLWJvdHRvbTogc29saWQgNXB4IHRyYW5zcGFyZW50Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQogICAgbWFyZ2luOiAwIDJweDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHVsIGxpOmhvdmVyLA0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHVsIGxpLmFjdGl2ZSB7DQogICAgY29sb3I6ICNGMDlDMDA7DQogICAgYm9yZGVyLWNvbG9yOiAjRjA5QzAwOw0KfQ0KDQovKiBDb250ZcO6ZG8gKi8NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YUNvbnRldWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YUNvbnRldWRvcyAuYm94SW50ZXJubyAuYm94SXRlbUNvbnRldWRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtaW4td2lkdGg6IDc2OHB4Ow0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNTBweCkgew0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHsNCiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIHsNCiAgICAgICAgcGFkZGluZzogMTBweCAwIDMwcHggMDsNCiAgICB9ICAgIA0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIGgyIHsNCiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgICAgICBmb250LXNpemU6IDIycHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4Ow0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubzo6LXdlYmtpdC1zY3JvbGxiYXIgew0KICAgICAgICB3aWR0aDogMDsNCiAgICAgICAgaGVpZ2h0OiAwOw0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubyB1bCB7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIHotaW5kZXg6IDk5OTsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubyB1bCBsaSB7DQogICAgICAgIHBhZGRpbmc6IDhweCAxMHB4Ow0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFDb250ZXVkb3MgLmJveEludGVybm8gew0KICAgICAgICBvdmVyZmxvdzogYXV0bzsNCiAgICB9DQoNCiAgICAucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJbnRlcm5vOjotd2Via2l0LXNjcm9sbGJhciB7DQogICAgICAgIHdpZHRoOiAwOw0KICAgICAgICBoZWlnaHQ6IDA7DQogICAgfQ0KDQp9DQoNCi8qIGNvbnRldWRvcy5jc3MgKi8NCg0KLmJveENvbnRldWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZDogIzBGMUEyQTsNCiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsNCn0NCg0KLmJveENvbnRldWRvcyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCn0NCg0KLyogTGlzdGEgUGFzc29zICovDQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIHsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJd2lkdGg6IDEwMCU7DQoJcGFkZGluZzogMDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIHsNCglmbG9hdDogbGVmdDsNCiAgICBib3JkZXI6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAwIWltcG9ydGFudDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICBib3JkZXItcmFkaXVzOiAwIWltcG9ydGFudDsNCglib3gtc2hhZG93OiBub25lIWltcG9ydGFudDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZDogbm9uZTsNCiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzMyMzUzRDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIHsNCgljdXJzb3I6IHBvaW50ZXI7DQoJYm9yZGVyOiAwOw0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQ6ICMxMjE1MjA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b246bm90KC5jb2xsYXBzZWQpIHsNCiAgICBiYWNrZ3JvdW5kOiAjQ0JENEUxOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmNvbnRhaW5lciB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBoZWlnaHQ6IDcwcHg7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0Ow0KICAgIGZsZXg6IDE7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC50aXR1bG8gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSAuYm94VGl0dWxvIC50aXR1bG8gew0KICAgIGNvbG9yOiAjMjIyMjIyOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyAuYm94VGFncyB7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDAgMCAwIDMwcHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSAuYm94VGl0dWxvIC5ib3hUYWdzIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyAuYm94VGFncyBsaSB7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiAjOUE5Mjg0Ow0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KICAgIHBhZGRpbmc6IDVweCAxNXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5ib3hUYWdzIGxpICsgbGkgew0KICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5ib3hUYWdzIGxpLnByZW1pdW0gew0KICAgIGJhY2tncm91bmQ6ICM2QjYzNTQ7DQogICAgY29sb3I6ICNmZmY7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5ib3hUYWdzIGxpLnBsYXRpbnVtIHsNCiAgICBiYWNrZ3JvdW5kOiAjMzYzNTMwOw0KICAgIGNvbG9yOiAjREFDRUE0Ow0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTVweDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIGltZy5pbWdCdXR0b24gew0KICAgIG1heC13aWR0aDogMzBweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyIDBzOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b246bm90KC5jb2xsYXBzZWQpIGltZy5pbWdCdXR0b24gew0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIHNwYW4gew0KCWNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KCXBhZGRpbmc6IDAgMDsNCglmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGJhY2tncm91bmQ6ICNDQkQ0RTE7DQogICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHRyYW5zcGFyZW50Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhciAwczsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIHAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCAwIDMwcHggMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCAuYm94Q29udGV1ZG8gLnRhZ3NDb250ZXVkbyBzcGFuIHsNCiAgICBjb2xvcjogIzI1MjYzMzsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIG1hcmdpbjogMCAwIDE1cHggMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAwIDAgMzBweCAwOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7DQogICAgZmxvYXQ6IGxlZnQ7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyAudGFnc0NvbnRldWRvIHVsIGxpIHsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICAgIGJhY2tncm91bmQ6ICNBMzZCMDA7DQogICAgY29sb3I6ICNmZmY7DQogICAgcGFkZGluZzogNXB4IDE1cHg7DQogICAgYm9yZGVyLXJhZGl1czogMjBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgbGkgKyBsaSB7DQogICAgbWFyZ2luLWxlZnQ6IDVweDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgbGkucHJlbWl1bSB7DQogICAgYmFja2dyb3VuZDogIzdENTIwMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgbGkucGxhdGludW0gew0KICAgIGJhY2tncm91bmQ6ICM1OTNBMDA7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyB2aWRlbyB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7DQoNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmNvbnRhaW5lciB7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICB9DQoNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyB7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Ow0KICAgIH0NCg0KICAgIC5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC50aXR1bG8gew0KICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgfQ0KDQogICAgLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLmJveFRhZ3Mgew0KICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5ib3hDb250ZXVkb3Mgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsNCiAgICB9DQogICAgDQogICAgLmJveENvbnRldWRvcyBoMiB7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAuYm94Q29udGV1ZG9zIHAgew0KICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICB9DQoNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDA7DQogICAgfQ0KDQogICAgLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIC50aXR1bG8gew0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyBwIHsNCiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOw0KICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgfQ0KDQp9DQoNCi8qIHByb2Zlc3NvcmVzRXNwZWNpYWxpc3Rhcy5jc3MgKi8NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCAyNXB4IDA7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIHAuc3VidGl0dWxvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBtYXJnaW46IDAgMCA0MHB4IDA7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNzAlOw0KfQ0KDQovKiBDb2xhcHNlICovDQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIHsNCglmbG9hdDogbGVmdDsNCiAgICBib3JkZXI6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAwIWltcG9ydGFudDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICBib3JkZXItcmFkaXVzOiAwIWltcG9ydGFudDsNCglib3gtc2hhZG93OiBub25lIWltcG9ydGFudDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZDogbm9uZTsNCiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzMyMzUzRDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b24gew0KCWN1cnNvcjogcG9pbnRlcjsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZDogIzBBMTIxRjsNCglmbG9hdDogbGVmdDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgb3V0bGluZTogbm9uZSFpbXBvcnRhbnQ7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgYnV0dG9uIC5jb250YWluZXIgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgaGVpZ2h0OiA3MHB4Ow0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIGJ1dHRvbiAudGl0dWxvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZmxleDogMTsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b24gaW1nIHsNCiAgICBtYXgtd2lkdGg6IDMwcHg7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwczsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b246bm90KC5jb2xsYXBzZWQpIGltZyB7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIGJ1dHRvbiBzcGFuIHsNCgljb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KCXBhZGRpbmc6IDUwcHggMCAyMHB4IDA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBiYWNrZ3JvdW5kOiAjMUUyQTNCOw0KICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB0cmFuc3BhcmVudDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIHsNCiAgICBtYXJnaW4tYm90dG9tOiAzMHB4Ow0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSAuYm94SW50ZXJubyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gaW1nIHsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAyMHB4Ow0KICAgIGJhY2tncm91bmQ6ICNmZmY7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0byBzcGFuIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGNvbG9yOiAjMUUyQTNCOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvIHAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjMUUyQTNCOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDE4cHg7DQogICAgbWluLWhlaWdodDogOTBweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkgew0KDQogICAgLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgew0KICAgICAgICBwYWRkaW5nOiAwIDAgMzBweCAwOw0KICAgIH0NCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgaDIgew0KICAgICAgICBmb250LXNpemU6IDIycHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4Ow0KICAgIH0NCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIHsNCiAgICAgICAgd2lkdGg6IDUwJTsNCiAgICAgICAgbWF4LXdpZHRoOiA1MCU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHsNCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0byBwIHsNCiAgICAgICAgbWluLWhlaWdodDogMTMwcHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcwcHgpIHsNCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIHsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICB9DQoNCiAgICAucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSAuYm94SW50ZXJubyAuYm94VGV4dG8gcCB7DQogICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCi8qIHJlc3VsdGFkb3MuY3NzICovDQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDUwcHggMDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveFRpdHVsb0dlcmFsIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiA0MHB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94VGl0dWxvR2VyYWwgaDIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDM0cHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hUaXR1bG9HZXJhbCBwIHsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBmb250LXdlaWdodDogbGlnaHRlcjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQovKiBMaXN0YSAqLw0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMxMjE1MjA7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDMwcHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5ib3hUaXR1bG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMzIzNTNEOw0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIGhlaWdodDogNjVweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmJveFRpdHVsbyBoMyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMjRweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMjQwcHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMkEzQjsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMjBweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyArIC5ib3hSZXN1bHRhZG8gew0KICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjRDFENkRDOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyAuYm94UmVzdWx0YWRvSW50ZXJubyAuYm94VGV4dG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gLmJveFRleHRvIC50ZXh0byB7DQogICAgY29sb3I6ICNGRkZGRkY7DQogICAgZm9udC1zaXplOiAxMXB4Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsaW5lLWhlaWdodDogMTYwJTsNCiAgICBmbGV4OiAxOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5ib3hUZXh0byBpbWcgew0KICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5jaGFydCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogODBweDsNCiAgICBoZWlnaHQ6IDgwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5jaGFydCBjYW52YXMgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyAuYm94UmVzdWx0YWRvSW50ZXJubyAucGVyY2VudCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDE1cHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gLnBlcmNlbnQ6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6JyUnOw0KICAgIG1hcmdpbi1sZWZ0OiAwLjFlbTsNCiAgICBmb250LXNpemU6IC44ZW07DQp9DQoNCi8qIENhcnJlZ2FyIFJlc3VsdGFkb3MgKi8NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveEJvdGFvQ2FycmVnYXIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveEJvdGFvQ2FycmVnYXIgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsNCg0KICAgIC5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbC1zbS0zIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1MHB4KSB7DQoNCiAgICAucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5jb2wtc20tMyB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogNTAlOw0KICAgICAgICBtYXgtd2lkdGg6IDUwJTsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnJlc3VsdGFkb3NDb25jdXJzb3Mgew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMwcHgpIHsNCg0KICAgIC5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hUaXR1bG9HZXJhbCBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMwcHgpIHsNCg0KICAgIC5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbC1zbS0zIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgew0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCi8qIGNvbmN1cnNvcy5jc3MgKi8NCg0KLmNoYW1hZGFDb25jdXJzb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMCAwIDcwcHggMDsNCn0NCg0KLmNoYW1hZGFDb25jdXJzb3MgLmJveEJnIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2JnLWNvbmN1cnNvcy5wbmcpICMwODA4MDggY2VudGVyIHJpZ2h0IG5vLXJlcGVhdDsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOw0KICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7DQogICAgcGFkZGluZzogMzBweCAyMHB4Ow0KfQ0KDQouY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgaDIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5jaGFtYWRhQ29uY3Vyc29zIC5ib3hCZyBoMiBzdHJvbmcgew0KICAgIGNvbG9yOiAjQzYxNjE2Ow0KfQ0KDQouY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgcCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAyMHB4IDA7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KfQ0KDQouY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgYSB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHBhZGRpbmc6IDhweCA1MHB4Ow0KICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7DQogICAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICAgIG91dGxpbmU6IG5vbmU7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCi5jaGFtYWRhQ29uY3Vyc29zIC5ib3hCZyBhIHNwYW4gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5jaGFtYWRhQ29uY3Vyc29zIHsNCiAgICAgICAgcGFkZGluZzogMCAwIDUwcHggMDsNCiAgICB9DQoNCiAgICAuY2hhbWFkYUNvbmN1cnNvcyAuYm94Qmcgew0KICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2JnLWNvbmN1cnNvcy1tb2JpbGUucG5nKSAjMDgwODA4IGJvdHRvbSBjZW50ZXIgbm8tcmVwZWF0Ow0KICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTYwcHggMTBweDsNCiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87DQogICAgfQ0KDQogICAgLmNoYW1hZGFDb25jdXJzb3MgLmJveEJnIGgyIGJyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgLmNvbC1zbS03IHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLmNoYW1hZGFDb25jdXJzb3MgLmJveEJnIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICB9DQoNCiAgICAuY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgYSB7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgIH0NCg0KfQ0KDQovKiBkZXBvaW1lbnRvcy5jc3MgKi8NCg0KLmRlcG9pbWVudG9zQXByb3ZhZG9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDAgMCA1MHB4IDA7DQogICAgbWF4LWhlaWdodDogNzAwcHg7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzRweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyAuZWxlbS1ib3ggew0KICAgIG92ZXJmbG93OiB1bnNldDsNCiAgICBtYXJnaW46IDA7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQovKiBUw610dWxvICovDQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyAuYm94VGl0dWxvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KfQ0KDQovKiBMaXN0YSAqLw0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgLmJveExpc3RhRGVwb2ltZW50b3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQovKiBDYXJyZWdhciBNYWlzIERlcG9pbWVudG9zICovDQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyAudmVyTWFpc0RlcG9pbWVudG9zIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzBGMUEyQSAwJSwgNzAlLCB0cmFuc3BhcmVudCk7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHotaW5kZXg6IDk5OTk5OTk5Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBwYWRkaW5nOiA1MHB4IDAgMzBweCAwOw0KfQ0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgLnZlck1haXNEZXBvaW1lbnRvcyBzcGFuIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB6LWluZGV4OiA5OTk5OTk5OTsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLmRlcG9pbWVudG9zQXByb3ZhZG9zIHsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICB9DQoNCiAgICAuZGVwb2ltZW50b3NBcHJvdmFkb3MgLmJveFRpdHVsbyB7DQogICAgICAgIG1hcmdpbjogMDsNCiAgICB9DQoNCiAgICAuZGVwb2ltZW50b3NBcHJvdmFkb3MgaDIgew0KICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIGZvbnQtc2l6ZTogMjZweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7DQogICAgfQ0KDQp9DQoNCi8qIGR1dmlkYXMuY3NzICovDQoNCg0KLnRpcmVEdXZpZGFzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBOw0KICAgIHBhZGRpbmc6IDUwcHggMCA1MHB4IDA7DQp9DQoNCi50aXJlRHV2aWRhcyBoMiB7DQogICAgY29sb3I6ICMyMjI7DQogICAgZm9udC1zaXplOiAyOHB4Ow0KICAgIG1hcmdpbjogMCAwIDMwcHggMDsNCiAgICBsaW5lLWhlaWdodDogMTUwJTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLyogQ29sYXBzZSAqLw0KDQoubGlzdGFDb250ZXVkb3Mgew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiAxMDAlOw0KCXBhZGRpbmc6IDA7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCB7DQoJZmxvYXQ6IGxlZnQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7DQoJYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZDogbm9uZTsNCglib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U3ZTdlNzsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5jYXJkLWhlYWRlciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCBidXR0b24gew0KCWN1cnNvcjogcG9pbnRlcjsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDEwMCU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWJhY2tncm91bmQ6IG5vbmU7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGhlaWdodDogNzBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIGltZyB7DQogICAgbWF4LXdpZHRoOiAzMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwczsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIGJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgaW1nIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIHNwYW4gew0KCWNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHsNCglwYWRkaW5nOiAyMHB4IDA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyBwIHsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgY29sb3I6ICM0NDQ0NDQ7DQogICAgbGluZS1oZWlnaHQ6IDE4NSU7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgew0KICAgIHBhZGRpbmc6IDAgMCAwIDQwcHg7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgew0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBwYWRkaW5nOiAzcHggMDsNCiAgICBjb2xvcjogIzQ0NDQ0NDsNCiAgICBsaW5lLWhlaWdodDogMTg1JTsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyBzdHJvbmcgew0KICAgIGNvbG9yOiAjREM5QTRDOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHRhYmxlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyB0YWJsZSB0ciB0ZCB7DQogICAgcGFkZGluZzogMTBweDsNCiAgICBib3JkZXI6IHNvbGlkIDFweCAjNDE0MjRDOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHsNCiAgICB3aWR0aDogMjUlOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIGltZyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkby5pbiB7DQoJYm9yZGVyLXRvcDogc29saWQgMXB4ICNlN2U3ZTc7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7DQoNCiAgICAudGlyZUR1dmlkYXMgew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KDQogICAgLnRpcmVEdXZpZGFzIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyNnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzZweDsNCiAgICB9DQoNCiAgICAubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIHsNCiAgICAgICAgaGVpZ2h0OiBhdXRvOw0KICAgICAgICBwYWRkaW5nOiAxMHB4IDA7DQogICAgfQ0KDQogICAgLmxpc3RhQ29udGV1ZG9zIC5jYXJkIGJ1dHRvbiBzcGFuIHsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICB9DQoNCiAgICAubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIGltZyB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7DQoNCiAgICANCg0KfQ0KDQovKiBmb290ZXIuY3NzICovDQoNCi5mb290ZXJQYWdlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogNTBweCAwOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgbWFyZ2luOiAwIGF1dG87DQogICAgZGlzcGxheTogZmxleDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCn0NCg0KLmZvb3RlclBhZ2UgLmZvb3RlckludGVybm8gew0KICAgIG1heC13aWR0aDogMjAwMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQovKiBCb3ggQ2ltYSAqLw0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMCAxMDBweDsNCiAgICBkaXNwbGF5OiBncmlkOw0KICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7DQogICAgZ2FwOiA0MHB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC5ib3hUZXh0byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiA0MHB4IDA7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLmJveFRleHRvIHAgew0KICAgIGNvbG9yOiAjOTk5OTk5Ow0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDIycHg7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLnJlZGVzU29jaWFpcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAucmVkZXNTb2NpYWlzIGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAucmVkZXNTb2NpYWlzIGEgKyBhIHsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC50aXR1bG9Sb2RhcGUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBtYXJnaW46IDAgMCAxNXB4IDA7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAubWVudVJvZGFwZSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLm1lbnVSb2RhcGUgbGkgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLm1lbnVSb2RhcGUgbGkgKyBsaSB7DQogICAgbWFyZ2luLXRvcDogN3B4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC5tZW51Um9kYXBlIGxpIGEgew0KICAgIGNvbG9yOiAjOTk5Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAubWVudVJvZGFwZSBsaSBhOmhvdmVyIHsNCiAgICBjb2xvcjogIzQ0NDQ0NDsNCn0NCg0KLyogQm94IEJhaXhvICovDQoNCi5mb290ZXJQYWdlIC5ib3hCYWl4byB7DQogICAgbWFyZ2luLXRvcDogNDBweDsNCiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBOw0KICAgIHBhZGRpbmc6IDIwcHggMTAwcHg7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQouZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHNwYW4gew0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIC5saXN0YUZvcm1hcyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byAubGlzdGFGb3JtYXMgaW1nICsgaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5ib3hTZWxvcyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hCYWl4byAuYm94U2Vsb3MgaW1nICsgaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsNCg0KICAgIC5mb290ZXJQYWdlIC5ib3hDaW1hIHsNCiAgICAgICAgcGFkZGluZzogMCAyMHB4Ow0KICAgICAgICBnYXA6IDMwcHg7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIHsNCiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1MHB4KSB7DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94Q2ltYSB7DQogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHNwYW4gew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHsNCg0KICAgIC5mb290ZXJQYWdlIC5ib3hDaW1hIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIC5saXN0YUZvcm1hcyB7DQogICAgICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byAubGlzdGFGb3JtYXMgaW1nIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICB9DQoNCn0NCg0KLyogYmYuY3NzICovDQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCbGFjayBGcmlkYXkgSnVyaWRpY2EgMjAyNiAtIGFqdXN0ZXMgZGEgY29waWEgL2NqL2Fzc2luYXR1cmFzLWJsYWNrLWZyaWRheS1qdXJpZGljYS8KICAgSWRlbnRpZGFkZSAiR0VORVJJQ0FTIiBkYSBjYW1wYW5oYTogcHJldG8gKyBkb3VyYWRvLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIC0tLS0gMWEgZG9icmE6IGJhbm5lciBjb20gYSBjb3J1amEsIE5lbG1hIGUgUm9kb2xmbyAtLS0tICovCgouYmFubmVyUHJpbmNpcGFsLmJhbm5lckJGIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzA0MDMwMSAwJSwgIzA0MDMwMSAzNCUsIHJnYmEoNCwgMywgMSwgMCkgNTIlKSwKICAgICAgICAgICAgICAgIHVybChodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzEwL2Fzc2luYXR1cmFzLWJmLWhlcm8ud2VicCkgcmlnaHQgLTQwcHggY2VudGVyIC8gYXV0byAxMDAlIG5vLXJlcGVhdCwKICAgICAgICAgICAgICAgICMwNDAzMDE7CiAgICBwYWRkaW5nOiAxNTBweCAwIDExMHB4IDA7Cn0KCi5iYW5uZXJQcmluY2lwYWwuYmFubmVyQkYgLnRleHRvQmFubmVyIHsKICAgIG1heC13aWR0aDogNjIwcHg7Cn0KCi5iYW5uZXJQcmluY2lwYWwuYmFubmVyQkYgLmxvZ29CRiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAzMDBweDsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIGhlaWdodDogYXV0bzsKICAgIG1hcmdpbjogMCAwIDI1cHggMDsKfQoKLmJhbm5lclByaW5jaXBhbC5iYW5uZXJCRiAudGV4dG9CYW5uZXIgaDIgewogICAgZm9udC1zaXplOiAzMHB4OwogICAgbGluZS1oZWlnaHQ6IDQycHg7Cn0KCi5iYW5uZXJQcmluY2lwYWwuYmFubmVyQkYgLnRleHRvQmFubmVyIGgyIHN0cm9uZywKLmJhbm5lclByaW5jaXBhbC5iYW5uZXJCRiAudGV4dG9CYW5uZXIgcCBzdHJvbmcgewogICAgY29sb3I6ICNFM0I4NjA7Cn0KCi5iYW5uZXJQcmluY2lwYWwuYmFubmVyQkYgLnRleHRvQmFubmVyIHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgICBjb2xvcjogI0U5RTREODsKfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHsKCiAgICAuYmFubmVyUHJpbmNpcGFsLmJhbm5lckJGIHsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwNDAzMDEgMCUsICMwNDAzMDEgNDAlLCByZ2JhKDQsIDMsIDEsIDApIDU4JSksCiAgICAgICAgICAgICAgICAgICAgdXJsKGh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMTAvYXNzaW5hdHVyYXMtYmYtaGVyby53ZWJwKSByaWdodCAtMTYwcHggY2VudGVyIC8gYXV0byAxMDAlIG5vLXJlcGVhdCwKICAgICAgICAgICAgICAgICAgICAjMDQwMzAxOwogICAgfQoKfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKCiAgICAuYmFubmVyUHJpbmNpcGFsLmJhbm5lckJGIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDQwMzAxIHVybChodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzEwL2Fzc2luYXR1cmFzLWJmLWhlcm8ud2VicCkgY2VudGVyIGJvdHRvbSAvIDEyNSUgYXV0byBuby1yZXBlYXQ7CiAgICAgICAgcGFkZGluZzogMTIwcHggMCA3MnZ3IDA7CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbC5iYW5uZXJCRiAudGV4dG9CYW5uZXIgewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbC5iYW5uZXJCRiAubG9nb0JGIHsKICAgICAgICB3aWR0aDogMjYwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvOwogICAgfQoKfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewoKICAgIC5iYW5uZXJQcmluY2lwYWwuYmFubmVyQkYgewogICAgICAgIHBhZGRpbmc6IDEwMHB4IDAgNzJ2dyAwOwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwuYmFubmVyQkYgLmxvZ29CRiB7CiAgICAgICAgd2lkdGg6IDIyMHB4OwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwuYmFubmVyQkYgLnRleHRvQmFubmVyIGgyIHsKICAgICAgICBmb250LXNpemU6IDIzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbC5iYW5uZXJCRiAudGV4dG9CYW5uZXIgcCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OwogICAgICAgIG1hcmdpbjogMDsKICAgIH0KCn0KCi8qIC0tLS0gMmEgZG9icmE6IGJvbnVzIGVtYmFpeG8gZGFzIGZlcnJhbWVudGFzIGRvcyAzIGNhcmRzIC0tLS0gKi8KCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkuaXRlbUJvbnVzQkYgewogICAgaGVpZ2h0OiBhdXRvOwogICAgbWluLWhlaWdodDogMzVweDsKICAgIHBhZGRpbmc6IDZweCAwOwp9CgovKiBsaW5oYSBkb3VyYWRhIHNlcGFyYW5kbyBhcyBmZXJyYW1lbnRhcyBkb3MgYm9udXMgKi8KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaS5pbmNsdXNvOm5vdCguaXRlbUJvbnVzQkYpICsgbGkuaXRlbUJvbnVzQkYsCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkubmFvSW5jbHVzbyArIGxpLml0ZW1Cb251c0JGIHsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICBwYWRkaW5nLXRvcDogMTRweDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIyNywgMTg0LCA5NiwgLjQ1KTsKfQoKLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaS5pdGVtQm9udXNCRiAuZXN0cmVsYUJGIHsKICAgIGZsZXg6IDAgMCAxOHB4Owp9CgouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpLml0ZW1Cb251c0JGIC5ib3hUaXR1bG8gc3BhbiB7CiAgICBjb2xvcjogI0UzQjg2MDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMTdweDsKfQoKLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaS5ub3RhQm9udXNCRiB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBwYWRkaW5nOiA0cHggMCAwIDI4cHg7Cn0KCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkubm90YUJvbnVzQkYgc3BhbiB7CiAgICBjb2xvcjogI0U5RTREODsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKfQoKLyogLS0tLSBkb2JyYXMgbm92YXMgKGJvbnVzIGUgZGVzY29udG8gZXh0cmEpIC0tLS0gKi8KCi5ib251c0JGLAouZGVzY29udG9FeHRyYUJGIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgMCUsICMyQTIxMTAgMCUsICMwQjA5MDUgNTUlLCAjMDQwMzAxIDEwMCUpOwogICAgY29sb3I6ICNFOUU0RDg7CiAgICBwYWRkaW5nOiA4MHB4IDA7Cn0KCi5kZXNjb250b0V4dHJhQkYgewogICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNTAlIDEwMCUsICMyQTIxMTAgMCUsICMwQjA5MDUgNTUlLCAjMDQwMzAxIDEwMCUpOwp9CgouYm9udXNCRiAudGl0dWxvQkYsCi5kZXNjb250b0V4dHJhQkYgLnRpdHVsb0JGIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgZm9udC1zaXplOiAzMnB4OwogICAgbGluZS1oZWlnaHQ6IDQ0cHg7CiAgICBtYXJnaW46IDAgMCA0NXB4IDA7Cn0KCi5ib251c0JGIC50aXR1bG9CRiBzdHJvbmcsCi5kZXNjb250b0V4dHJhQkYgLnRpdHVsb0JGIHN0cm9uZyB7CiAgICBjb2xvcjogI0UzQjg2MDsKfQoKLyogQm9udXMgKi8KCi5ib251c0JGIC5jYXJkc0JGIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDMwcHg7Cn0KCi5ib251c0JGIC5jYXJkQkYgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZmxleDogMCAxIDUyMHB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgIzFDMTcxMCAwJSwgIzBFMEIwNyAxMDAlKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjI3LCAxODQsIDk2LCAuNDUpOwogICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgIHBhZGRpbmc6IDQ1cHggMzVweCAzNXB4IDM1cHg7CiAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsIDAsIDAsIC40NSk7Cn0KCi5ib251c0JGIC5jYXJkQkYgLnNlbG9CRiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC0xNXB4OwogICAgbGVmdDogMzVweDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0I5OEEzNSwgI0YyRDU4QSwgI0M5OUE0NSk7CiAgICBjb2xvcjogIzFBMTQwODsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBwYWRkaW5nOiA2cHggMTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4Owp9CgouYm9udXNCRiAuY2FyZEJGIGgzIHsKICAgIGNvbG9yOiAjRTNCODYwOwogICAgZm9udC1zaXplOiAyMnB4OwogICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIG1hcmdpbjogMCAwIDE1cHggMDsKfQoKLmJvbnVzQkYgLmNhcmRCRiBwIHsKICAgIGNvbG9yOiAjRTlFNEQ4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICBtYXJnaW46IDA7Cn0KCi5ib251c0JGIC5jYXJkQkYgdWwgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIG1hcmdpbjogMThweCAwIDAgMDsKICAgIHBhZGRpbmc6IDA7Cn0KCi5ib251c0JGIC5jYXJkQkYgdWwgbGkgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7CiAgICBsaW5lLWhlaWdodDogMjBweDsKICAgIHBhZGRpbmc6IDZweCAwIDZweCAyNnB4Owp9CgouYm9udXNCRiAuY2FyZEJGIHVsIGxpOmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDEwcHg7CiAgICB3aWR0aDogMTJweDsKICAgIGhlaWdodDogMTJweDsKICAgIGJhY2tncm91bmQ6ICNFM0I4NjA7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoLjc1KTsKfQoKLyogRGVzY29udG8gZXh0cmEgKi8KCi5kZXNjb250b0V4dHJhQkYgLnBlcmZpc0JGIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDMwcHg7CiAgICBtYXJnaW46IDAgMCA1MHB4IDA7Cn0KCi5kZXNjb250b0V4dHJhQkYgLnBlcmZpbEJGIHsKICAgIGZsZXg6IDAgMSA0MjBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiAyMHB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgIzFDMTcxMCAwJSwgIzBFMEIwNyAxMDAlKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjI3LCAxODQsIDk2LCAuNDUpOwogICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgIHBhZGRpbmc6IDIycHggMjhweDsKfQoKLmRlc2NvbnRvRXh0cmFCRiAucGVyZmlsQkYgLm5vbWUgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGluZS1oZWlnaHQ6IDI0cHg7Cn0KCi5kZXNjb250b0V4dHJhQkYgLnBlcmZpbEJGIC5vZmYgewogICAgZmxleDogMCAwIGF1dG87CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNCOThBMzUsICNGMkQ1OEEsICNDOTlBNDUpOwogICAgY29sb3I6ICMxQTE0MDg7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgYm9yZGVyLXJhZGl1czogOHB4Owp9CgouZGVzY29udG9FeHRyYUJGIC5ncmlkQkYgewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogMTAwJTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA1MHB4Owp9CgouZGVzY29udG9FeHRyYUJGIC5jb2xUYWJlbGFzQkYgewogICAgZmxleDogMSAxIGF1dG87Cn0KCi5kZXNjb250b0V4dHJhQkYgLnRhYmVsYUJGIHsKICAgIG1hcmdpbjogMCAwIDMwcHggMDsKfQoKLmRlc2NvbnRvRXh0cmFCRiAudGFiZWxhQkYgLmludHJvQkYgewogICAgY29sb3I6ICNFOUU0RDg7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMjVweDsKICAgIG1hcmdpbjogMCAwIDE1cHggMDsKfQoKLmRlc2NvbnRvRXh0cmFCRiAudGFiZWxhQkYgLmludHJvQkYgc3Ryb25nIHsKICAgIGNvbG9yOiAjRTNCODYwOwp9CgouZGVzY29udG9FeHRyYUJGIC50YWJlbGFCRiB1bCB7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOwogICAgZ2FwOiAxMnB4Owp9CgouZGVzY29udG9FeHRyYUJGIC50YWJlbGFCRiB1bCBsaSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogMTBweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA0KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjI3LCAxODQsIDk2LCAuMyk7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgcGFkZGluZzogMTZweCAxNHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouZGVzY29udG9FeHRyYUJGIC50YWJlbGFCRiB1bCBsaSBzcGFuIHsKICAgIGNvbG9yOiAjRTlFNEQ4OwogICAgZm9udC1zaXplOiAxM3B4OwogICAgbGluZS1oZWlnaHQ6IDE5cHg7Cn0KCi5kZXNjb250b0V4dHJhQkYgLnRhYmVsYUJGIHVsIGxpIHN0cm9uZyB7CiAgICBjb2xvcjogI0UzQjg2MDsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGxpbmUtaGVpZ2h0OiAyNHB4Owp9CgouZGVzY29udG9FeHRyYUJGIC5hdmlzb0JGIHsKICAgIGNvbG9yOiAjRTlFNEQ4OwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjRTNCODYwOwogICAgYmFja2dyb3VuZDogcmdiYSgyMjcsIDE4NCwgOTYsIC4wOCk7CiAgICBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggMDsKfQoKLmRlc2NvbnRvRXh0cmFCRiAuYXZpc29CRiBzdHJvbmcgewogICAgY29sb3I6ICNFM0I4NjA7Cn0KCi5kZXNjb250b0V4dHJhQkYgLmNvbENvbnN1bHRvckJGIHsKICAgIGZsZXg6IDAgMCAzMzBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLyogTW9ja3VwIGRlIGNlbHVsYXIgKi8KCi5kZXNjb250b0V4dHJhQkYgLmNlbHVsYXJCRiB7CiAgICB3aWR0aDogMjUwcHg7CiAgICBoZWlnaHQ6IDQ3MHB4OwogICAgYm9yZGVyLXJhZGl1czogMzhweDsKICAgIGJhY2tncm91bmQ6ICMxNTEyMEM7CiAgICBib3JkZXI6IDJweCBzb2xpZCAjOEM2QTJDOwogICAgYm94LXNoYWRvdzogMCAwIDAgNnB4ICMwQjA5MDUsIDAgMjVweCA2MHB4IHJnYmEoMCwgMCwgMCwgLjYpLCAwIDAgODBweCByZ2JhKDIyNywgMTg0LCA5NiwgLjE4KTsKICAgIHBhZGRpbmc6IDEycHg7CiAgICBtYXJnaW46IDAgMCAzMHB4IDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5kZXNjb250b0V4dHJhQkYgLmNlbHVsYXJCRjpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDE4cHg7CiAgICBsZWZ0OiA1MCU7CiAgICB3aWR0aDogNzBweDsKICAgIGhlaWdodDogMThweDsKICAgIG1hcmdpbi1sZWZ0OiAtMzVweDsKICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiAjMDUwNDAyOwogICAgei1pbmRleDogMjsKfQoKLmRlc2NvbnRvRXh0cmFCRiAudGVsYUJGIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm9yZGVyLXJhZGl1czogMjhweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiAjRUZFOURDOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICB0ZXh0LWFsaWduOiBsZWZ0Owp9CgouZGVzY29udG9FeHRyYUJGIC50b3BvQ2hhdEJGIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMHB4OwogICAgYmFja2dyb3VuZDogIzFBMTQwODsKICAgIHBhZGRpbmc6IDQycHggMTRweCAxMnB4IDE0cHg7Cn0KCi5kZXNjb250b0V4dHJhQkYgLmF2YXRhckJGIHsKICAgIHdpZHRoOiAzMnB4OwogICAgaGVpZ2h0OiAzMnB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0YyRDU4QSwgI0I5OEEzNSk7CiAgICBmbGV4OiAwIDAgMzJweDsKfQoKLmRlc2NvbnRvRXh0cmFCRiAuY29udGF0b0JGIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxNnB4Owp9CgouZGVzY29udG9FeHRyYUJGIC5jb250YXRvQkYgc21hbGwgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb2xvcjogI0UzQjg2MDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5kZXNjb250b0V4dHJhQkYgLmNoYXRCRiB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMTBweDsKICAgIHBhZGRpbmc6IDE2cHggMTJweDsKfQoKLmRlc2NvbnRvRXh0cmFCRiAubXNnQkYgewogICAgbWF4LXdpZHRoOiA4MiU7CiAgICBmb250LXNpemU6IDExLjVweDsKICAgIGxpbmUtaGVpZ2h0OiAxNnB4OwogICAgY29sb3I6ICMyMjI7CiAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMTIpOwp9CgouZGVzY29udG9FeHRyYUJGIC5tc2dCRi5ldSB7CiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgIGJhY2tncm91bmQ6ICNGNkUzQjQ7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4Owp9CgouZGVzY29udG9FeHRyYUJGIC5tc2dCRi5lbGUgewogICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7Cn0KCi5kZXNjb250b0V4dHJhQkYgLm1zZ0JGIHN0cm9uZyB7CiAgICBjb2xvcjogIzhDNjQyMDsKfQoKLmRlc2NvbnRvRXh0cmFCRiAuY2hhbWFkYUNvbnN1bHRvckJGIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAyNHB4OwogICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbWFyZ2luOiAwIDAgMjBweCAwOwp9CgouZGVzY29udG9FeHRyYUJGIC5jaGFtYWRhQ29uc3VsdG9yQkYgc3Ryb25nIHsKICAgIGNvbG9yOiAjRTNCODYwOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi5kZXNjb250b0V4dHJhQkYgLmJvdGFvQkYgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjQjk4QTM1LCAjRjJENThBLCAjQzk5QTQ1KTsKICAgIGNvbG9yOiAjMUExNDA4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDIyNywgMTg0LCA5NiwgLjI1KTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZTsKfQoKLmRlc2NvbnRvRXh0cmFCRiAuYm90YW9CRjpob3ZlciB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICBjb2xvcjogIzFBMTQwODsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKCiAgICAuZGVzY29udG9FeHRyYUJGIC5ncmlkQkYgewogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICB9CgogICAgLmRlc2NvbnRvRXh0cmFCRiAuY29sQ29uc3VsdG9yQkYgewogICAgICAgIGZsZXg6IDAgMCBhdXRvOwogICAgfQoKICAgIC5kZXNjb250b0V4dHJhQkYgLnRhYmVsYUJGIHVsIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgfQoKfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoKICAgIC5ib251c0JGLAogICAgLmRlc2NvbnRvRXh0cmFCRiB7CiAgICAgICAgcGFkZGluZzogNTBweCAwOwogICAgfQoKICAgIC5ib251c0JGIC50aXR1bG9CRiwKICAgIC5kZXNjb250b0V4dHJhQkYgLnRpdHVsb0JGIHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgbWFyZ2luOiAwIDAgMzVweCAwOwogICAgfQoKICAgIC5ib251c0JGIC50aXR1bG9CRiBiciB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuYm9udXNCRiAuY2FyZHNCRiwKICAgIC5kZXNjb250b0V4dHJhQkYgLnBlcmZpc0JGIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICAgIGdhcDogMzBweDsKICAgIH0KCiAgICAuZGVzY29udG9FeHRyYUJGIC5wZXJmaXNCRiB7CiAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgIG1hcmdpbjogMCAwIDM1cHggMDsKICAgIH0KCiAgICAuYm9udXNCRiAuY2FyZEJGIHsKICAgICAgICBmbGV4OiAwIDAgYXV0bzsKICAgICAgICBwYWRkaW5nOiA0MHB4IDIycHggMjZweCAyMnB4OwogICAgfQoKICAgIC5ib251c0JGIC5jYXJkQkYgLnNlbG9CRiB7CiAgICAgICAgbGVmdDogMjJweDsKICAgIH0KCiAgICAuYm9udXNCRiAuY2FyZEJGIGgzIHsKICAgICAgICBmb250LXNpemU6IDE5cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgICB9CgogICAgLmRlc2NvbnRvRXh0cmFCRiAucGVyZmlsQkYgewogICAgICAgIGZsZXg6IDAgMCBhdXRvOwogICAgICAgIHBhZGRpbmc6IDE2cHggMThweDsKICAgIH0KCiAgICAuZGVzY29udG9FeHRyYUJGIC5wZXJmaWxCRiAubm9tZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4OwogICAgfQoKICAgIC5kZXNjb250b0V4dHJhQkYgLnBlcmZpbEJGIC5vZmYgewogICAgICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIH0KCiAgICAuZGVzY29udG9FeHRyYUJGIC50YWJlbGFCRiAuaW50cm9CRiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OwogICAgfQoKICAgIC5kZXNjb250b0V4dHJhQkYgLmNoYW1hZGFDb25zdWx0b3JCRiB7CiAgICAgICAgZm9udC1zaXplOiAyMXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4OwogICAgfQoKfQoNCgo8L3N0eWxlPgoNCiAgICANCiAgICA8aDEgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Bc3NpbmF0dXJhcyBFQ0ogLSBFc3RyYXTDqWdpYSBDb25jdXJzb3M8L2gxPg0KDQogICAgPCEtLSBIZWFkZXIgLS0+DQogICAgPGRpdiBjbGFzcz0iaGVhZGVyTGFuZGluZyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPg0KDQogICAgICAgICAgICAgICAgPCEtLSBMb2dvIC0tPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20iIGlkPSJsb2dvTGFuZGluZzIwMjIiPg0KICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9sb2dvLWJyYW5jYS5wbmciIGFsdD0iRXN0cmF0w6lnaWEgQ29uY3Vyc29zIj4NCiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgPCEtLSBMaW5rcyAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5rc0hlYWRlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9tZXNhLWRlLWVzdHVkbyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL21pbmhhLWNvbnRhLnBuZyIgYWx0PSJNaW5oYSBjb250YSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1pbmhhIGNvbnRhPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY2FycmluaG8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9tZXUtY2FycmluaG8ucG5nIiBhbHQ9Ik1ldSBjYXJyaW5obyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1ldSBjYXJyaW5obzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQmFubmVyIFByaW5jaXBhbCAtLT4NCiAgICA8ZGl2IGNsYXNzPSJiYW5uZXJQcmluY2lwYWwgYmFubmVyQkYiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KDQogICAgICAgICAgICA8IS0tIFRleHRvIC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgdGV4dG9CYW5uZXIiPg0KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxvZ29CRiIgc3JjPSJodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzEwL2Fzc2luYXR1cmFzLWJmLWxvZ28ud2VicCIgYWx0PSJCbGFjayBGcmlkYXkgLSBDb25jdXJzb3MgSnVyw61kaWNvcyIgd2lkdGg9IjgwNyIgaGVpZ2h0PSI0ODMiPg0KICAgICAgICAgICAgICAgIDxoMj5PIGN1cnNvIHF1ZSA8c3Ryb25nPk1BSVMgYXByb3ZhPC9zdHJvbmc+IGVtIGNvbmN1cnNvcyBqdXLDrWRpY29zLDxicj4gYWdvcmEgcGVsbyA8c3Ryb25nPk1FTk9SIFBSRcOHTyBETyBBTk8hPC9zdHJvbmc+PC9oMj4NCiAgICAgICAgICAgICAgICA8cD5HYXJhbnRhIHN1YSBBc3NpbmF0dXJhIGNvbSA8c3Ryb25nPmF0w6kgNTUlIE9GRiArIGLDtG51cyBlbSBkb3NlIGR1cGxhPC9zdHJvbmc+PGJyPiBlIGVzdHVkZSBjb20gYSBtZXRvZG9sb2dpYSB1c2FkYSBwb3IgPHN0cm9uZz42IGEgY2FkYSAxMCBhcHJvdmFkb3M8L3N0cm9uZz4uPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIENvbXBhcmHDp8OjbyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMiIGlkPSJib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMiPg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRldWRvTG90ZSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KDQogICAgICAgICAgICAgICAgPCEtLSBUw610dWxvIC0tPg0KICAgICAgICAgICAgICAgIDxoMj5Db25maXJhIG9zIG5vc3NvcyA8c3Ryb25nPm1vZGVsb3MgZGUgYXNzaW5hdHVyYTwvc3Ryb25nPiBlPGJyPiBlc2NvbGhhIGFxdWVsYSBxdWUgdm9jw6ogcHJlY2lzYS48L2gyPg0KDQogICAgICAgICAgICAgICAgPCEtLSBTZWxldG9yIGRlIFBsYW5vcyAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hTZWxldG9yUGxhbm9zIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsb1BsYW5vIGJvdGFvMUFubyI+QXNzaW5hdHVyYXMgZGUgMSBhbm88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ic3dpdGNoUGxhbm8iIGZvcj0iY2hlY2tib3hUaXBvUGxhbm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2hlY2tib3hUaXBvUGxhbm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNsaWRlclBsYW5vIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2lyY2xlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG9QbGFubyBib3RhbzJBbm9zIj5Bc3NpbmF0dXJhcyBkZSAyIGFub3M8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIExpc3RhIGRlIEFzc2luYXR1cmFzIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFBsYW5vc0NvbXBhcmFjYW8iPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3RhQ29tcGFyYWNhbyIgaWQ9InRpcG9Bc3NpbmF0dXJhMCI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJveEl0ZW0gY29sLXNtLTQiIGRhdGEtcGxhbm89ImJhc2ljYTFhbm8iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1JbnRlcm5vIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBCb3ggQnJhbmNvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QnJhbmNvIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVsaG9yIE9mZXJ0YSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWxob3JPZmVydGEiPjwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUw610dWxvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG8iPkLDoXNpY2E8L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByZcOnbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvSW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYVBhcnRpciI+YSBwYXJ0aXIgZGU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29EZSBub25lIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29Qb3IiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGxpbms9ImNhcnJlaXJhc0VzcGVjaWZpY2FzIj5Fc2NvbGhhIGEgc3VhIMOhcmVhPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVucyBtb250YWRvcyBwb3IgbW9udGFyTGlzdGFzQ29tcGFyYWNhbygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdGFJdGVuc0luY2x1c29zIj48L3VsPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJib3hJdGVtIGNvbC1zbS00IiBkYXRhLXBsYW5vPSJwcmVtaXVtMWFubyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUludGVybm8iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEJveCBCcmFuY28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCcmFuY28iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZWxob3IgT2ZlcnRhIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbGhvck9mZXJ0YSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1BSVMgVkVORElETzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVMOtdHVsbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvIj5QcmVtaXVtPC9zcGFuPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmXDp28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY28iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjb0ludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFQYXJ0aXIiPmEgcGFydGlyIGRlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvRGUgbm9uZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvUG9yIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBsaW5rPSJjYXJyZWlyYXNFc3BlY2lmaWNhcyI+RXNjb2xoYSBhIHN1YSDDoXJlYTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbnMgbW9udGFkb3MgcG9yIG1vbnRhckxpc3Rhc0NvbXBhcmFjYW8oKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3RhSXRlbnNJbmNsdXNvcyI+PC91bD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYm94SXRlbSBjb2wtc20tNCIgZGF0YS1wbGFubz0icGxhdGludW0iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1JbnRlcm5vIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBCb3ggQnJhbmNvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QnJhbmNvIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVsaG9yIE9mZXJ0YSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWxob3JPZmVydGEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUw610dWxvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG8iPlBsYXRpbnVtPC9zcGFuPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmXDp28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY28iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjb0ludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFQYXJ0aXIiPmEgcGFydGlyIGRlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvRGUgbm9uZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvUG9yIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBsaW5rPSJzZXNzYW9QbGF0aW51bSI+RXNjb2xoYSB1bSBwbGFubzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbnMgbW9udGFkb3MgcG9yIG1vbnRhckxpc3Rhc0NvbXBhcmFjYW8oKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3RhSXRlbnNJbmNsdXNvcyI+PC91bD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3RhQ29tcGFyYWNhbyIgaWQ9InRpcG9Bc3NpbmF0dXJhMSI+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYm94SXRlbSBjb2wtc20tNCIgZGF0YS1wbGFubz0iYmFzaWNhMmFub3MiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1JbnRlcm5vIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBCb3ggQnJhbmNvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QnJhbmNvIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVsaG9yIE9mZXJ0YSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWxob3JPZmVydGEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUw610dWxvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG8iPkLDoXNpY2E8L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByZcOnbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvSW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYVBhcnRpciI+YSBwYXJ0aXIgZGU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29EZSBub25lIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29Qb3IiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGxpbms9ImNhcnJlaXJhc0VzcGVjaWZpY2FzIj5Fc2NvbGhhIGEgc3VhIMOhcmVhPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVucyBtb250YWRvcyBwb3IgbW9udGFyTGlzdGFzQ29tcGFyYWNhbygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdGFJdGVuc0luY2x1c29zIj48L3VsPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJib3hJdGVtIGNvbC1zbS00IiBkYXRhLXBsYW5vPSJwcmVtaXVtMmFub3MiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1JbnRlcm5vIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBCb3ggQnJhbmNvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QnJhbmNvIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVsaG9yIE9mZXJ0YSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWxob3JPZmVydGEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5NQUlTIFZFTkRJRE88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFTDrXR1bG8gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsbyI+UHJlbWl1bTwvc3Bhbj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlw6dvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY29JbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhUGFydGlyIj5hIHBhcnRpciBkZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb0RlIG5vbmUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb1BvciI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGluaz0iY2FycmVpcmFzRXNwZWNpZmljYXMiPkVzY29saGEgYSBzdWEgw6FyZWE8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW5zIG1vbnRhZG9zIHBvciBtb250YXJMaXN0YXNDb21wYXJhY2FvKCkgZW0gYXNzZXRzL2pzL2luZGV4LmpzIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0YUl0ZW5zSW5jbHVzb3MiPjwvdWw+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJveEl0ZW0gY29sLXNtLTQiIGRhdGEtcGxhbm89InBsYXRpbnVtIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJdGVtSW50ZXJubyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQm94IEJyYW5jbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEJyYW5jbyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1lbGhvciBPZmVydGEgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVsaG9yT2ZlcnRhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVMOtdHVsbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvIj5QbGF0aW51bTwvc3Bhbj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlw6dvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY29JbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhUGFydGlyIj5hIHBhcnRpciBkZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb0RlIG5vbmUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb1BvciI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGluaz0ic2Vzc2FvUGxhdGludW0iPkVzY29saGEgdW0gcGxhbm88L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW5zIG1vbnRhZG9zIHBvciBtb250YXJMaXN0YXNDb21wYXJhY2FvKCkgZW0gYXNzZXRzL2pzL2luZGV4LmpzIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0YUl0ZW5zSW5jbHVzb3MiPjwvdWw+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQoNCg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQmxhY2sgRnJpZGF5OiBCw7RudXMgLS0+DQogICAgPHNlY3Rpb24gY2xhc3M9ImJvbnVzQkYiIGlkPSJib251c0JGIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0aXR1bG9CRiI+QWzDqW0gZGUgZGVzY29udG9zIGRlIDxzdHJvbmc+YXTDqSA1NSU8L3N0cm9uZz48YnI+IG5hcyBBc3NpbmF0dXJhcywgdm9jw6ogYWluZGE8YnI+IGdhbmhhIDxzdHJvbmc+QsOUTlVTIElOw4lESVRPUyE8L3N0cm9uZz48L2gyPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkc0JGIj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRCRiI+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWxvQkYiPkLDtG51cyAxPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8aDM+U2FsYXMgRXhjbHVzaXZhcyBjb20gUHJvZmVzc29yZXM8L2gzPg0KICAgICAgICAgICAgICAgICAgICA8cD5FbmNvbnRyb3MgYW8gdml2byBjb20gZXNwZWNpYWxpc3RhcyBlbSBjb25jdXJzb3MganVyw61kaWNvcywgZW0gcXVlIHZvY8OqIHBvZGVyw6EgaW50ZXJhZ2lyIGUgdGlyYXIgc3VhcyBkw7p2aWRhcyBkaXJldGFtZW50ZSBjb20gb3MgcHJvZmVzc29yZXM6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+QVVMQVMgUE9SIERJU0NJUExJTkE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkFOw4FMSVNFIERFIENST05PR1JBTUEgREUgRVNUVURPUzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RVNUVURPIFBPUiBRVUVTVMOVRVM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNPTU8gRVNDT0xIRVIgQSBDQVJSRUlSQSBDRVJUQTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q09NTyBFU1RVREFSIENPTSBQT1VDTyBURU1QTzwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkQkYiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2Vsb0JGIj5Cw7RudXMgMjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPGgzPkFjb21wYW5oYW1lbnRvIFBlcnNvbmFsaXphZG8gZGUgRXN0dWRvcyBwb3IgMzAgZGlhczwvaDM+DQogICAgICAgICAgICAgICAgICAgIDxwPlJlY2ViYSBvIHBsYW5vIGRlIGVzdHVkb3MgaWRlYWwgcGFyYSBvIHNldSBvYmpldGl2byBlIGEgc3VhIHJvdGluYSBlIGZpcXVlIGxpdnJlIHBhcmEgcGVkaXIgb3JpZW50YcOnw7VlcyBkZSBwbGFuZWphbWVudG8gZSBvcmdhbml6YcOnw6NvIHBvciAxIG3DqnMuPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8IS0tIENhcnJlaXJhcyBFc3BlY8OtZmljYXMgLS0+DQogICAgPHNlY3Rpb24gY2xhc3M9ImNhcnJlaXJhc0VzcGVjaWZpY2FzIiBpZD0iY2FycmVpcmFzRXNwZWNpZmljYXMiPg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8aDIgY2xhc3M9InRpdHVsb1Nlc3NhbyI+RXNjb2xoYSBhIHN1YSA8c3Ryb25nPmNhcnJlaXJhPC9zdHJvbmc+PC9oMj4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJzdWJUaXR1bG9TZXNzYW8iPkFsw6ltIGRhIDxzdHJvbmc+QXNzaW5hdHVyYSBKdXLDrWRpY2E8L3N0cm9uZz4sIHRlbW9zIDxzdHJvbmc+QXNzaW5hdHVyYXMgcG9yIMOhcmVhczwvc3Ryb25nPiBwYXJhIHF1ZW0gZGVzZWphIHNlIHByZXBhcmFyIGV4Y2x1c2l2YW1lbnRlIHBhcmEgdW1hIGNhcnJlaXJhLjwvcD4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtZ3JvdXAiIGlkPSJhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyI+DQogICAgICAgICAgICA8IS0tIENhcmRzIG1vbnRhZG9zIHBvciBtb250YXJDYXJyZWlyYXNFc3BlY2lmaWNhcygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8IS0tIEJsYWNrIEZyaWRheTogRGVzY29udG8gZXh0cmEgcGFyYSBhbHVub3MgLS0+DQogICAgPHNlY3Rpb24gY2xhc3M9ImRlc2NvbnRvRXh0cmFCRiIgaWQ9ImRlc2NvbnRvRXh0cmFCRiI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgIDxoMiBjbGFzcz0idGl0dWxvQkYiPkFsdW5vIGUgZXgtYWx1bm8gdMOqbTxicj4gPHN0cm9uZz5BSU5EQSBNQUlTIERFU0NPTlRPIE5BIEFTU0lOQVRVUkEgUFJFTUlVTSE8L3N0cm9uZz48L2gyPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwZXJmaXNCRiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGVyZmlsQkYiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibm9tZSI+QXNzaW5hbnRlIEVzdHJhdMOpZ2lhIE9BQjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im9mZiI+KzE1JSBPRkY8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGVyZmlsQkYiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibm9tZSI+Vml0YWzDrWNpbyBkbyBFc3RyYXTDqWdpYSBDb25jdXJzb3M8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJvZmYiPisyNSUgT0ZGPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWRCRiI+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xUYWJlbGFzQkYiPg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmVsYUJGIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJpbnRyb0JGIj5Ow6NvIHNlIGVuY2FpeGEgbm9zIHBlcmZpcyBhY2ltYT8gR2FuaGUgPHN0cm9uZz5hdMOpIDE1JSBPRkYgZXh0cmE8L3N0cm9uZz4sIGRlIGFjb3JkbyBjb20gYSBzdWEgZmFpeGEgZGUgZ2FzdG9zIG5vIHNpdGUgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmEgSnVyw61kaWNhLCBPQUIgb3UgQ29uY3Vyc29zOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4+QXTDqSBSJCAxLjAwMCwwMDwvc3Bhbj48c3Ryb25nPjQlIE9GRjwvc3Ryb25nPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuPkVudHJlIFIkIDEuMDAwLDAwIGUgUiQgMy4wMDAsMDA8L3NwYW4+PHN0cm9uZz43JSBPRkY8L3N0cm9uZz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3Bhbj5FbnRyZSBSJCAzLjAwMCwwMCBlIFIkIDUuMDAwLDAwPC9zcGFuPjxzdHJvbmc+MTAlIE9GRjwvc3Ryb25nPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuPkFjaW1hIGRlIFIkIDUuMDAwLDAwPC9zcGFuPjxzdHJvbmc+MTUlIE9GRjwvc3Ryb25nPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJlbGFCRiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaW50cm9CRiI+Q29tcHJvdSBtYXRlcmlhbCBuYSBjb25jb3Jyw6puY2lhPyBHYW5oZSA8c3Ryb25nPmF0w6kgMTUlIGRlIGRlc2NvbnRvIGV4dHJhPC9zdHJvbmc+OjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4+QXTDqSBSJCAyLjAwMCwwMDwvc3Bhbj48c3Ryb25nPjUlIE9GRjwvc3Ryb25nPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuPkVudHJlIFIkIDIuMDAwLDAwIGUgUiQgNC4wMDAsMDA8L3NwYW4+PHN0cm9uZz44JSBPRkY8L3N0cm9uZz48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3Bhbj5FbnRyZSBSJCA0LjAwMCwwMCBlIFIkIDYuMDAwLDAwPC9zcGFuPjxzdHJvbmc+MTAlIE9GRjwvc3Ryb25nPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuPkFjaW1hIGRlIFIkIDYuMDAwLDAwPC9zcGFuPjxzdHJvbmc+MTUlIE9GRjwvc3Ryb25nPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYXZpc29CRiI+PHN0cm9uZz5BdGVuw6fDo286PC9zdHJvbmc+IGRlc2NvbnRvcyBleHRyYXMgdsOhbGlkb3MgYXBlbmFzIG5hIGNvbXByYSBkYSBBc3NpbmF0dXJhIFByZW1pdW0uIENhdGVnb3JpYXMgZGUgZGVzY29udG9zIG7Do28gY3VtdWxhdGl2YXMuPC9wPg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xDb25zdWx0b3JCRiI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBNb2NrdXAgZGUgY2VsdWxhciAtLT4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsdWxhckJGIiBhcmlhLWhpZGRlbj0idHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWxhQkYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG9DaGF0QkYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXZhdGFyQkYiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhdG9CRiI+Q29uc3VsdG9yIEVzdHJhdMOpZ2lhPHNtYWxsPm9ubGluZTwvc21hbGw+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXRCRiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtc2dCRiBldSI+T2khIFNvdSBhbHVubyBlIHF1ZXJvIGF0aXZhciBtZXUgZGVzY29udG8gZXh0cmEgZGEgQmxhY2sgRnJpZGF5Ljwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1zZ0JGIGVsZSI+T2zDoSEgUXVlIMOzdGltbyEgTWUgY29udGEgcXVhbCDDqSBvIHNldSBwZXJmaWwgcXVlIGV1IGrDoSBjYWxjdWxvIG8gc2V1IGRlc2NvbnRvLjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1zZ0JGIGV1Ij5Tb3UgVml0YWzDrWNpbyBkbyBFc3RyYXTDqWdpYSBDb25jdXJzb3MhPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibXNnQkYgZWxlIj5QZXJmZWl0byEgVm9jw6ogZ2FuaGEgPHN0cm9uZz4rMjUlIE9GRjwvc3Ryb25nPiBuYSBzdWEgQXNzaW5hdHVyYSBQcmVtaXVtLiBWb3UgdGUgZW52aWFyIG8gbGluay48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNoYW1hZGFDb25zdWx0b3JCRiI+RmFsZSBjb20gdW0gPHN0cm9uZz5DT05TVUxUT1I8L3N0cm9uZz48YnI+IHBhcmEgYXRpdmFyIHNldTxicj4gPHN0cm9uZz5ERVNDT05UTyBFWFRSQSE8L3N0cm9uZz48L3A+DQogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJib3Rhb0JGIiBocmVmPSJodHRwczovL21haXMucmVkL3J1bi9jb25zdWx0b3Jlcy1ibGFjay1jb25jLWp1cmlkaWNvcy0yMDI2IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RmFsYXIgY29tIHVtIGNvbnN1bHRvcjwvYT4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8IS0tIFByZXBhcmHDp8OjbyBQZXJzb25hbGl6YWRhIC0tPg0KICAgIDxkaXYgY2xhc3M9InByZXBhcmFjYW9QZXJzb25hbGl6YWRhIiBpZD0ic2Vzc2FvUGxhdGludW0iPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QmciPg0KDQogICAgICAgICAgICAgICAgPGgyPlF1ZXIgdW1hIHByZXBhcmHDp8OjbyBhaW5kYSBtYWlzIHBlcnNvbmFsaXphZGE\/PC9oMj4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic3VidGl0dWxvIj5Ub3JuZS1zZSBhbHVubyBkYSA8c3Ryb25nPkFzc2luYXR1cmEgUGxhdGludW08L3N0cm9uZz4gZSB0ZW5oYSBhY2Vzc28gYW8gbWFpcyBub3ZvDQogICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+UHJvZ3JhbWEgZGUgQ29hY2hpbmc8L3N0cm9uZz4gcGFyYSBDYXJyZWlyYXMgSnVyw61kaWNhcywgYWzDqW0gZGUgPHN0cm9uZz5hY29tcGFuaGFtZW50bw0KICAgICAgICAgICAgICAgICAgICAgICAgcGVyc29uYWxpemFkbyBwYXJhIEZhc2UgRXNjcml0YTwvc3Ryb25nPiBlIGFvIDxzdHJvbmc+Q3Vyc28gT3JhbCBjb20gYXRlbmRpbWVudG8NCiAgICAgICAgICAgICAgICAgICAgICAgIGluZGl2aWR1YWw8L3N0cm9uZz4gbWFpcyBjb21wbGV0byBkbyBtZXJjYWRvLjwvcD4NCg0KICAgICAgICAgICAgICAgIDwhLS0gUGxhbm9zIG1vbnRhZG9zIHBvciBtb250YXJQbGF0aW51bSgpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQbGFub3NQZXJzb25hbGl6YWRvcyI+PC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCYWl4byI+DQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcHJlcGFyYWNhby1wZXJzb25hbGl6YWRhLnBuZyINCiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iUHJlcGFyYcOnw6NvIFBlcnNvbmFsaXphZGEiPg0KICAgICAgICAgICAgICAgICAgICA8cD5TZSB2b2PDqiA8c3Ryb25nPmrDoSDDqSBub3NzbyBhbHVubzwvc3Ryb25nPiBlIHBvc3N1aSBvdXRybyB0aXBvIGRlIGFzc2luYXR1cmEsIGNvbnZlcnNlIGNvbSBvcw0KICAgICAgICAgICAgICAgICAgICAgICAgbm9zc29zIGNvbnN1bHRvcmVzIHBhcmEgdmVyIG8gZGVzY29udG8gYWRpY2lvbmFsIHF1ZSB2b2PDqiBwb2RlIHRlciBkaXJlaXRvIG5hIEFzc2luYXR1cmENCiAgICAgICAgICAgICAgICAgICAgICAgIFBsYXRpbnVtPC9wPg0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5yZWRpcmVjdG1haXMuY29tL3J1bi9jb25zdWx0b3ItY29hY2hpbmciIHRhcmdldD0iX2JsYW5rIj5GQUxFIENPTSBVTQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ09OU1VMVE9SPC9hPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIENoYW1hZGEgUGFjb3RlcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJjaGFtYWRhc1BhY290ZXMiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCZyINCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvYmctY2hhbWFkYS1wYWNvdGVzLnBuZykgI0YwOUMwMCBuby1yZXBlYXQiPg0KICAgICAgICAgICAgICAgICAgICA8aDI+UHJvY3VyYW5kbyB1bSBtYXRlcmlhbCBhdnVsc28\/PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+T3MgUGFjb3RlcyBzw6NvIGNvbXBvc3RvcyBkZSBjdXJzb3MgY29tcGxldG9zLCBlbSB2w61kZW8gZSBQREYsIHBhcmEgPGJyPiBkZXRlcm1pbmFkYSDDoXJlYSBvdSBjb25jdXJzbyBlc3BlY8OtZmljby48L3A+DQogICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ltZy1tYXRlcmlhbC1hdnVsc28uc3ZnIiBhbHQ9Ik1hdGVyaWFsIEF2dWxzbyI+DQogICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvIj5BcHJvdmVpdGU8L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIEJpZyBOdW1iZXJzIC0tPg0KICAgIDxkaXYgY2xhc3M9ImJpZ051bWJlcnMiIGlkPSJiaWdOdW1iZXJzIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgPGgyPkVzdHVkZSBlbSB1bWEgcGxhdGFmb3JtYSBkZSBjb250ZcO6ZG9zIGNvbXBsZXRhPC9oMj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94TnVtZXJvcyI+DQoNCiAgICAgICAgICAgICAgICA8IS0tIE7Dum1lcm8gLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibnVtZXJvIGNvbC1zbS0zIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtZXJvSW50ZXJubyIgaWQ9Im51bWVyb0N1cnNvcyI+KzxzdHJvbmc+MDwvc3Ryb25nPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0byI+bWlsIGN1cnNvczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIE7Dum1lcm8gLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibnVtZXJvIGNvbC1zbS0zIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtZXJvSW50ZXJubyIgaWQ9Im51bWVyb1ZpZGVvQXVsYXMiPis8c3Ryb25nPjA8L3N0cm9uZz48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dG8iPm1pbCB2aWRlb2F1bGFzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gTsO6bWVybyAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJudW1lcm8gY29sLXNtLTMiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1lcm9JbnRlcm5vIiBpZD0ibnVtZXJvUXVlc3RvZXMiPis8c3Ryb25nPjA8L3N0cm9uZz48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dG8iPm1pbCBxdWVzdMO1ZXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPCEtLSBOw7ptZXJvIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im51bWVybyBjb2wtc20tMyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWVyb0ludGVybm8iIGlkPSJudW1lcm9BdWRpb3MiPis8c3Ryb25nPjA8L3N0cm9uZz48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dG8iPm1pbCBhdWRpb2xpdnJvczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBEZXN0YXF1ZXMgLS0+DQogICAgPGRpdiBjbGFzcz0iYm94RGVzdGFxdWVzIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+DQoNCiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRpdHVsbyI+QXF1aSB2b2PDqiBlbmNvbnRyYSBmZXJyYW1lbnRhcyBxdWUgZmFyw6NvIGEgPGJyPiBkaWZlcmVuw6dhIG5hIHN1YSBwcmVwYXJhw6fDo288L2gyPg0KDQogICAgICAgICAgICAgICAgPHVsPg0KDQogICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+PHN0cm9uZz5MaXZybyBEaWdpdGFsIEludGVyYXRpdm88L3N0cm9uZz48L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlVtYSBmZXJyYW1lbnRhIDxzdHJvbmc+bXVsdGkgcGVkYWfDs2dpY2E8L3N0cm9uZz4gcXVlIGNvbmdyZWdhIG1hdGVyaWFpcyBlc2NyaXRvcywgZW0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdsOtZGVvLCBxdWVzdMO1ZXMsIG1hcGFzIG1lbnRhaXMgZSBmYWl4YSBkZSDDoXVkaW8gZW0gdW0gc8OzIGx1Z2FyLiBBbMOpbSBkaXNzbywgcG9zc2liaWxpdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlIHNlamEgZ2VyYWRvIHVtIDxzdHJvbmc+cmVzdW1vIGNvbSB0b2RvcyBvcyBncmlmb3M8L3N0cm9uZz4gZmVpdG9zIG5vIG1hdGVyaWFsLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8cGljdHVyZSBjbGFzcz0iY29sLXNtLTgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgdmlkZW89Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2poY2pleTZvelRZP3NpPWhEWVprREJNcUpfaGFidEkiIGNsYXNzPSJjb21WaWRlbyIgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvZnVuY2lvbmFsaWRhZGVzL2xkaS5wbmciIGFsdD0iRnVuY2lvbmFsaWRhZGUiIHN0eWxlPSJ3aWR0aDogYXV0bzsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9waWN0dXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQogICAgICAgICAgICAgICAgICAgIDxsaT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmUgY2xhc3M9ImNvbC1zbS0xMiBjZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvZnVuY2lvbmFsaWRhZGVzL3JhbmtpbmctcG9zLXByb3ZhLnBuZyIgYWx0PSJGdW5jaW9uYWxpZGFkZSIgc3R5bGU9IndpZHRoOiBhdXRvOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3BpY3R1cmU+DQogICAgICAgICAgICAgICAgICAgIDwvbGk+DQoNCiAgICAgICAgICAgICAgICAgICAgPGxpPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8cGljdHVyZSBjbGFzcz0iY29sLXNtLTEyIGNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9mdW5jaW9uYWxpZGFkZXMvdHJpbGhhLWVzdHJhdGVnaWNhLnBuZyIgYWx0PSJGdW5jaW9uYWxpZGFkZSIgc3R5bGU9IndpZHRoOiBhdXRvOyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3BpY3R1cmU+DQogICAgICAgICAgICAgICAgICAgIDwvbGk+DQoNCiAgICAgICAgICAgICAgICAgICAgPGxpPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8cGljdHVyZSBjbGFzcz0iY29sLXNtLTEyIGNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9mdW5jaW9uYWxpZGFkZXMvc2ludGVzZS1lc3RyYXRlZ2ljYS5wbmciIGFsdD0iRnVuY2lvbmFsaWRhZGUiIHN0eWxlPSJ3aWR0aDogYXV0bzsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9waWN0dXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQogICAgICAgICAgICAgICAgPC91bD4NCg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBQYXNzb3MgcGFyYSBhIEFwcm92YcOnw6NvIC0tPg0KICAgIDxkaXYgY2xhc3M9InBhc3Nvc0Fwcm92YWNhbyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgIDxoMj5PcyA8c3Ryb25nPjUgcGFzc29zPC9zdHJvbmc+IHF1ZSBub3MgbGV2YXJhbSBhIGFwcm92YXIgNjAlIGRvcyBhbHVub3Mgbm9zPGJyPiDDumx0aW1vcyA0IGFub3MuPC9oMj4NCg0KICAgICAgICAgICAgPHBpY3R1cmU+DQogICAgICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MtYXByb3ZhY2FvLW1vYmlsZS5wbmciIG1lZGlhPSIobWF4LXdpZHRoOiA2MDBweCkiPg0KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zLWFwcm92YWNhby5wbmciIGFsdD0iUGFzc29zIj4NCiAgICAgICAgICAgIDwvcGljdHVyZT4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gMDcgZGlhcyBwYXJhIFRlc3RhciAtLT4NCiAgICA8ZGl2IGNsYXNzPSJkaWFzRGVUZXN0ZSI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgIDwhLS0gU2F0aXNmYcOnw6NvIEdhcmFudGlkYSAtLT4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNhdGlzZmFjYW9HYXJhbnRpZGEgYm94SXRlbSBjb2wtc20tNiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFRleHRvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG8iPlNhdGlzZmHDp8OjbyBnYXJhbnRpZGEgb3Ugc2V1IDxicj4gZGluaGVpcm8gZGUgdm9sdGE8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dG8iPlZvY8OqIHRlbSAwNyBkaWFzIHBhcmEgdGVzdGFyIG5vc3NvcyBjdXJzb3MuIENhc28gbsOjbyBzZSBhZGFwdGUgw6Agbm9zc2EgbWV0b2RvbG9naWEsIGRldm9sdmVtb3Mgc2V1IGRpbmhlaXJvKi48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29uZGljYW8iPipWZXJpZmlxdWUgYXMgY29uZGnDp8O1ZXMgZW0gbm9zc29zIHRlcm1vcyBkZSB1c28uPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXNhdGlzZmFjYW8tZ2FyYW50aWRhLnN2ZyIgYWx0PSJTYXRpc2Zhw6fDo28gR2FyYW50aWRhIj4NCiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPCEtLSBBdHVhbGl6YcOnw6NvIHDDs3MtZWRpdGFsIC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXR1YWxpemFjYW9Qb3NFZGl0YWwgYm94SXRlbSBjb2wtc20tNiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFRleHRvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG8iPkF0dWFsaXphw6fDo28gcMOzcy1lZGl0YWw8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dG8iPkNvbSBhIHB1YmxpY2HDp8OjbyBkbyBlZGl0YWwgZHVyYW50ZSBhIHZpZ8OqbmNpYSBkbyBzZXUgY29udHJhdG8sIG7Ds3MgZ2FyYW50aW1vcyBhIGF0dWFsaXphw6fDo28gZG8gY29udGXDumRvIHJldmlzYWRvIGNvbmZvcm1lIG8gZWRpdGFsLCBuYSBzdWEgw6FyZWEgZG8gYWx1bm8uPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWF0dWFsaXphY2FvLnN2ZyIgYWx0PSJTYXRpc2Zhw6fDo28gR2FyYW50aWRhIj4NCiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQ29uY3Vyc28gZG9zIHNldXMgU29uaG9zIC0tPg0KICAgIDxkaXYgY2xhc3M9ImNvbmN1cnNvRG9zU29uaG9zIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgPGgyPlNlamEgYXByb3ZhZG8gbm8gY29uY3Vyc28gZG9zIHNldXMgc29uaG9zITwvaDI+DQoNCiAgICAgICAgICAgIDwhLS0gSXRlbnMgbW9udGFkb3MgcG9yIG1vbnRhckNvbmN1cnNvcygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgIDx1bD48L3VsPg0KDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBQcmV2aXPDo28gLS0+DQogICAgPGRpdiBjbGFzcz0icHJldmlzYW9EZUF1bWVudG8iPg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8aDI+U8OjbyBtYWlzIGRlIDxzdHJvbmc+MS4wMDAgdmFnYXM8L3N0cm9uZz4gcHJldmlzdGFzIHBhcmEgMjAyNjxicj4gZSBwYXJhIG9zIHByw7N4aW1vcyBhbm9zLjwvaDI+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwhLS0gTWVudXMgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhTWVudXMiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJhY3RpdmUiIGNvbnRldWRvPSJjb250ZXVkb1ByZXZpc2FvMCI+TWFnaXN0cmF0dXJhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIiBjb250ZXVkbz0iY29udGV1ZG9QcmV2aXNhbzEiPkNhcnTDs3Jpb3M8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiIGNvbnRldWRvPSJjb250ZXVkb1ByZXZpc2FvMiI+RGVsdGE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiIGNvbnRldWRvPSJjb250ZXVkb1ByZXZpc2FvMyI+RGVmZW5zb3JpYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiIgY29udGV1ZG89ImNvbnRldWRvUHJldmlzYW80Ij5NaW5pc3TDqXJpbyBQw7pibGljbzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiIgY29udGV1ZG89ImNvbnRldWRvUHJldmlzYW81Ij5Qcm9jdXJhZG9yaWEgR2VyYWwgZG8gRXN0YWRvPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIiBjb250ZXVkbz0iY29udGV1ZG9QcmV2aXNhbzYiPlByb2N1cmFkb3JpYSBHZXJhbCBkbyBNdW5pY8OtcGlvPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIiBjb250ZXVkbz0iY29udGV1ZG9QcmV2aXNhbzciPkFkdm9jYWNpYSBQw7pibGljYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiIgY29udGV1ZG89ImNvbnRldWRvUHJldmlzYW84Ij5PdXRyb3M8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwhLS0gQ29udGXDumRvcyAtLT4NCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFDb250ZXVkb3MiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUNvbnRldWRvICIgaWQ9ImNvbnRldWRvUHJldmlzYW8wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMDkvcHJldmlzb2VzLW1hZ2lzdHJhdHVyYS1zZXQyMDI2LndlYnAiIGFsdD0iTWFnaXN0cmF0dXJhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJdGVtQ29udGV1ZG8gbm9uZSIgaWQ9ImNvbnRldWRvUHJldmlzYW8xIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMDkvcHJldmlzb2VzLWNhcnRvcmlvcy1zZXQyMDI2LndlYnAiIGFsdD0iQ2FydMOzcmlvcyIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUNvbnRldWRvIG5vbmUiIGlkPSJjb250ZXVkb1ByZXZpc2FvMiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzA5L3ByZXZpc29lcy1kZWx0YS1zZXQyMDI2LndlYnAiIGFsdD0iRGVsdGEiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1Db250ZXVkbyBub25lIiBpZD0iY29udGV1ZG9QcmV2aXNhbzMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9ta3QuZXN0cmF0ZWdpYS5jb20vY2ovd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzMvMjAyNi8wOS9wcmV2aXNvZXMtZGVmZW5zb3JpYS1zZXQyMDI2LndlYnAiIGFsdD0iRGVmZW5zb3JpYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUNvbnRldWRvIG5vbmUiIGlkPSJjb250ZXVkb1ByZXZpc2FvNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzA5L3ByZXZpc29lcy1taW5pc3RlcmlvLXB1YmxpY28tc2V0MjAyNi53ZWJwIiBhbHQ9Ik1pbmlzdMOpcmlvIFDDumJsaWNvIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJdGVtQ29udGV1ZG8gbm9uZSIgaWQ9ImNvbnRldWRvUHJldmlzYW81Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMDkvcHJldmlzb2VzLXByb2N1cmFkb3JpYS1nZXJhbC1kby1lc3RhZG8tc2V0MjAyNi53ZWJwIiBhbHQ9IlByb2N1cmFkb3JpYSBHZXJhbCBkbyBFc3RhZG8iIC8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1Db250ZXVkbyBub25lIiBpZD0iY29udGV1ZG9QcmV2aXNhbzYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9ta3QuZXN0cmF0ZWdpYS5jb20vY2ovd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzMvMjAyNi8wOS9wcmV2aXNvZXMtcHJvY3VyYWRvcmlhLWdlcmFsLWRvLW11bmljaXBpby1zZXQyMDI2LndlYnAiIGFsdD0iUHJvY3VyYWRvcmlhIEdlcmFsIGRvIE11bmljw61waW8iIC8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1Db250ZXVkbyBub25lIiBpZD0iY29udGV1ZG9QcmV2aXNhbzciPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9ta3QuZXN0cmF0ZWdpYS5jb20vY2ovd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzMvMjAyNi8wOS9wcmV2aXNvZXMtYWR2b2NhY2lhLXB1YmxpY2Etc2V0MjAyNi53ZWJwIiBhbHQ9IkFkdm9jYWNpYSBQw7pibGljYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUNvbnRldWRvIG5vbmUiIGlkPSJjb250ZXVkb1ByZXZpc2FvOCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzA5L3ByZXZpc29lcy1vdXRyb3Mtc2V0MjAyNi53ZWJwIiBhbHQ9Ik91dHJvcyIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBDb250ZcO6ZG9zIC0tPg0KICAgIDxkaXYgY2xhc3M9ImJveENvbnRldWRvcyIgaWQ9InBhc3Nvc0Fwcm92YWNhbyI+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgIDxoMj5Db25oZcOnYSBvcyBjb250ZcO6ZG9zIGUgYXMgZnVuY2lvbmFsaWRhZGVzPC9oMj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFQYXNzb3MiPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ncm91cCIgaWQ9ImFjY29yZGlvblBhc3NvcyI+DQogICAgICAgICAgICAgICAgPCEtLSBDYXJkcyBtb250YWRvcyBwb3IgbW9udGFyUGFzc29zKCkgZW0gYXNzZXRzL2pzL2luZGV4LmpzIC0tPg0KICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBQcm9mZXNzb3JlcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJwcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMiPg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8aDI+RXN0dWRlIGNvbSBwcm9mZXNzb3JlcyBlc3BlY2lhbGlzdGFzIGVtIHRvZGFzIGFzIMOhcmVhcyBqdXLDrWRpY2FzPC9oMj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFQcm9mZXNzb3JlcyI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIiBpZD0iYWNjb3JkaW9uUHJvZmVzc29yZXMiPg0KICAgICAgICAgICAgICAgIDwhLS0gQ2FyZHMgbW9udGFkb3MgcG9yIG1vbnRhclByb2Zlc3NvcmVzKCkgZW0gYXNzZXRzL2pzL2luZGV4LmpzIC0tPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gUmVzdWx0YWRvcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJyZXN1bHRhZG9zQ29uY3Vyc29zIj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJib3hUaXR1bG9HZXJhbCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+DQogICAgICAgICAgICAgICAgICAgIDxoMj5Db25maXJhIG5vc3NvcyByZXN1bHRhZG9zPC9oMj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0YVJlc3VsdGFkb3MiPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KDQogICAgICAgICAgICAgICAgPCEtLSBJdGVucyBtb250YWRvcyBwb3IgbW9udGFyUmVzdWx0YWRvcygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCb3Rhb0NhcnJlZ2FyIG5vbmUiPg0KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Nb3N0cmFyIG1haXMgcmVzdWx0YWRvczwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQ29uY3Vyc29zIC0tPg0KICAgIDxkaXYgY2xhc3M9ImNoYW1hZGFDb25jdXJzb3MiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QmciPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCiAgICAgICAgICAgICAgICAgICAgPGgyPkVzdHVkYSBwYXJhIGNvbmN1cnNvcyBjb21vIElOU1MsIFJlY2VpdGEgRmVkZXJhbCwgPGJyPiBQb2zDrWNpYSBGZWRlcmFsIGUgb3V0cm9zIHF1ZSA8c3Ryb25nPm7Do28NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzw6NvIGRhIMOhcmVhIGp1csOtZGljYT88L3N0cm9uZz48L2gyPg0KICAgICAgICAgICAgICAgICAgICA8cD5BcHJvdmVpdGUgYXMgb2ZlcnRhcyBpbXBlcmTDrXZlaXMgZG8gRXN0cmF0w6lnaWEgQ29uY3Vyc29zITwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZXN0cmF0ZWdpYWNvbmN1cnNvcy5jb20uYnIvYXNzaW5hdHVyYXMvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNvbmhlw6dhPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtY29uaGVjYS5zdmciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJDb25oZcOnYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBEZXBvaW1lbnRvcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJkZXBvaW1lbnRvc0Fwcm92YWRvcyI+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgPGgyPkRlcG9pbWVudG9zIGRvcyBub3Nzb3MgYXByb3ZhZG9zPC9oMj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94TGlzdGFEZXBvaW1lbnRvcyI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltX2lvIGVsZW0tYm94IiBzdHlsZT0ib3ZlcmZsb3c6IHVuc2V0OyBtYXJnaW46IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9IiIgaWQ9InRlc3RpbW9uaWFsdG8tcMOhZ2luYS1kZS12ZW5kYXMtbGlnaHQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zcmM9Imh0dHBzOi8vZW1iZWQudGVzdGltb25pYWwudG8vdy9ww6FnaW5hLWRlLXZlbmRhcz90aGVtZT1saWdodCZjYXJkPWJhc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iIHdpZHRoPSIxMDAlIj48L2lmcmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9InZlck1haXNEZXBvaW1lbnRvcyI+DQogICAgICAgICAgICA8c3Bhbj5WZXIgbWFpcy4uLjwvc3Bhbj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gVGlyZSBzdWFzIGTDunZpZGFzIC0tPg0KICAgIDxkaXYgY2xhc3M9InRpcmVEdXZpZGFzIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4NCg0KICAgICAgICAgICAgICAgIDxoMj5UaXJlIHN1YXMgZMO6dmlkYXM8L2gyPg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFDb250ZXVkb3MiPg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIiBpZD0iYWNjb3JkaW9uIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVtIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdEdXZpZGFzMSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VEdXZpZGFzMSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlRHV2aWRhczEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UXVhbCBhIGRpZmVyZW7Dp2EgZW50cmUgYXMgQXNzaW5hdHVyYXM\/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYXJyb3ctZG93bi5zdmciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJBYnJpciBkw7p2aWRhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZUR1dmlkYXMxIiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8gaW4iIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0R1dmlkYXMxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5vIEVzdHJhdMOpZ2lhIENhcnJlaXJhIEp1csOtZGljYSBuw7NzIHRlbW9zIGRvaXMgdGlwb3MgdHJhZGljaW9uYWlzIGRlIEFzc2luYXR1cmE6IGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+SnVyw61kaWNhPC9zdHJvbmc+IGUgYXMgPHN0cm9uZz5Bc3NpbmF0dXJhcyBwb3Igw4FyZWEvQ2FycmVpcmFzLjwvc3Ryb25nPjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q2FkYSB1bWEgZGVsYXMgcG9kZSBzZXIgYWRxdWlyaWRhIGFnb3JhIG5hIG1vZGFsaWRhZGUgPHN0cm9uZz5Cw6FzaWNhPC9zdHJvbmc+IG91DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlByZW1pdW08L3N0cm9uZz4sIHF1ZSBjb250YXLDo28gY29tIGZlcnJhbWVudGFzIGV4Y2x1c2l2YXMgZGUgcHJlcGFyYcOnw6NvLCBlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWxvIHByYXpvIGRlIDxzdHJvbmc+MSBvdSAyIGFub3M8L3N0cm9uZz4uPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UZXJlbW9zIGFpbmRhIGEgPHN0cm9uZz5Bc3NpbmF0dXJhIFBsYXRpbnVtPC9zdHJvbmc+LCBvIG5vc3NvIG1vZGVsbyBtYWlzIGNvbXBsZXRvLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlIGNvbnRhIGFjb21wYW5oYW1lbnRvIGluZGl2aWR1YWxpemFkbyBlIHBvZGUgc2VyIGFkcXVpcmlkbyBwZWxvIHBsYW5vDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPk1lbnNhbDwvc3Ryb25nPiAoY29tIHJlY29ycsOqbmNpYSkgb3UgPHN0cm9uZz5TZW1lc3RyYWw8L3N0cm9uZz4uPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5OYSA8c3Ryb25nPkFzc2luYXR1cmEgSnVyw61kaWNhPC9zdHJvbmc+LCB2b2PDqiB0ZXLDoSBhY2Vzc28gYSB0b2RvcyBvcyBub3Nzb3MgbWF0ZXJpYWlzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlIGZlcnJhbWVudGFzLCBwYXJhIHRvZGFzIGFzIGNhcnJlaXJhcyBlIGNvbmN1cnNvcyBqdXLDrWRpY29zIGV4aXN0ZW50ZXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5OYXMgPHN0cm9uZz5Bc3NpbmF0dXJhcyBwb3Igw4FyZWE8L3N0cm9uZz4sIHZvY8OqIHRlcsOhIGFjZXNzbyBhb3Mgbm9zc29zIG1hdGVyaWFpcyBkZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW1hIGNhcnJlaXJhIGVzcGVjw61maWNhLiBBdHVhbG1lbnRlLCB0ZW1vcyBhIDxzdHJvbmc+QXNzaW5hdHVyYSBEZWx0YSwgTWFnaXN0cmF0dXJhLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2N1cmFkb3JpYXMsIE1QcywgRGVmZW5zb3JpYXMgZSBDYXJ0w7NyaW9zPC9zdHJvbmc+LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TmFzIG1vZGFsaWRhZGVzIGRlIDxzdHJvbmc+QXNzaW5hdHVyYSBCw6FzaWNhczwvc3Ryb25nPiwgbyBhbHVubyB0ZXLDoSBhY2Vzc28gYTo8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5QREY8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlZpZGVvYXVsYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+U2lzdGVtYSBkZSBRdWVzdMO1ZXM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkVzdHJhdMOpZ2lhIENhc3Q8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlJldGEgRmluYWwgLSBQw7NzLUVkaXRhbDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+U2ltdWxhZG9zIEluw6lkaXRvczwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RXN0dWRvIEVzdHJhdMOpZ2ljbzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UmFua2luZyBQw7NzLVByb3ZhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Qcm92YSBDb21lbnRhZGE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Kw6EgbmEgPHN0cm9uZz5Bc3NpbmF0dXJhIFByZW1pdW08L3N0cm9uZz4sIG8gYWx1bm8gdGVyw6EgYWNlc3NvIGEgVFVETyBkYSBCw6FzaWNhIGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haXM6PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+VHJpbGhhIEVzdHJhdMOpZ2ljYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q3Vyc29zIHBhcmEgRmFzZSBFc2NyaXRhIGMvIENvcnJlw6fDo28gSW5kaXZpZHVhbGl6YWRhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Tw61udGVzZSBFc3RyYXTDqWdpY2E8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNsaXBwaW5nPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5EaXJldG8gYW8gUG9udG88L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNhZGVybm9zIGRlIEp1cmlzcHJ1ZMOqbmNpYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+VmFkZS1Nw6ljdW0gRXN0cmF0w6lnaWNvPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DYWRlcm5vIGRlIExlZ2lzbGHDp8OjbyBFc3BlY8OtZmljYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q3Vyc29zIEV4Y2x1c2l2b3MgZSBkZSBFeHRlbnPDo288L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1lbnRvcmlhcyBDb2xldGl2YXMgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+UG9yIGZpbSwgdGVtb3MgYSBBc3NpbmF0dXJhIFBsYXRpbnVtLCBxdWUgdmVtIGNvbSBUVURPIGRhIFByZW1pdW0gZSBtYWlzOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNvYWNoaW5nPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Fc3R1ZG8gQWNvbXBhbmhhZG8gcGFyYSBGYXNlIEVzY3JpdGE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkN1cnNvIHBhcmEgRmFzZSBPcmFsIGNvbSBBdGVuZGltZW50byBJbmRpdmlkdWFsaXphZG88L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcGFuZWwgcGFuZWwtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nRHV2aWRhczIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10YXJnZXQ9IiNjb2xsYXBzZUR1dmlkYXMyIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlRHV2aWRhczIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Q29tbyBmdW5jaW9uYSBvIHBlcsOtb2RvIGRlIGFjZXNzbz88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1hcnJvdy1kb3duLnN2ZyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IkFicmlyIGTDunZpZGEiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbGxhcHNlRHV2aWRhczIiIGNsYXNzPSJjb2xsYXBzZSBib3hDb250ZXVkbyIgYXJpYS1sYWJlbGxlZGJ5PSJoZWFkaW5nRHV2aWRhczIiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QXMgQXNzaW5hdHVyYXMgQsOhc2ljYSBlIFByZW1pdW0gcG9kZW0gc2VyIGNvbnRyYXRhZGEgcGFyYSAyIHBlcsOtb2RvcyBkZSB1c286PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+MSBhbm88L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjIgYW5vczwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5vdGUgcXVlIG9zIHZhbG9yZXMgZG9zIHBsYW5vcyBkZSA8c3Ryb25nPjIgYW5vczwvc3Ryb25nPiBzw6NvLCBwcm9wb3JjaW9uYWxtZW50ZSDDoA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVhbnRpZGFkZSBkZSBtZXNlcyBkZSB1c28sIDxzdHJvbmc+bWFpcyB2YW50YWpvc29zPC9zdHJvbmc+IGRvIHF1ZSBvcyBwbGFub3MgZGUgMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5vLiBPIG9iamV0aXZvIMOpIHByZW1pYXIgbyBhbHVubyBxdWUgb3B0b3UgcG9yIGFkcXVpcmlyIG9zIHBsYW5vcyBkZSAyIGFub3MgY29tDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxvcmVzIG1haXMgYXRyYXRpdm9zLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SsOhIGEgPHN0cm9uZz5Bc3NpbmF0dXJhIFBsYXRpbnVtPC9zdHJvbmc+IHBvZGVyw6Egc2VyIGFkcXVpcmlkYSBuYSBmb3JtYSBkZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3Jyw6puY2lhIDxzdHJvbmc+bWVuc2FsPC9zdHJvbmc+IG91IDxzdHJvbmc+c2VtZXN0cmFsPC9zdHJvbmc+LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW0gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHBhbmVsIHBhbmVsLWRlZmF1bHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZ0R1dmlkYXMzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VEdXZpZGFzMyIgYXJpYS1leHBhbmRlZD0iZmFsc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZUR1dmlkYXMzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlF1YWlzIGFzIGZvcm1hcyBkZSBwYWdhbWVudG8\/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYXJyb3ctZG93bi5zdmciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJBYnJpciBkw7p2aWRhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZUR1dmlkYXMzIiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8iIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0R1dmlkYXMzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk8gcGFnYW1lbnRvIGRhcyBhc3NpbmF0dXJhcyBkZSAxIG91IDIgYW5vcyBwb2RlcsOhIHNlciBmZWl0byBubyA8c3Ryb25nPmNhcnTDo28gZGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcsOpZGl0PC9zdHJvbmc+bywgZW0gYXTDqSAxMlgsIG5vIDxzdHJvbmc+Ym9sZXRvIMOgIHZpc3RhPC9zdHJvbmc+IG91IG5vDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlBJWDwvc3Ryb25nPi4gTmVzdGUgw7psdGltbyBjYXNvLCB2b2PDqiBjb250YXLDoSBjb20gdW0gZGVzY29udG8gYWRpY2lvbmFsIGRlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPjEwJTwvc3Ryb25nPi48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFpbmRhIHNlcsOhIHBvc3PDrXZlbCB1dGlsaXphciAxIG91IGRvaXMgY2FydMO1ZXMgbm8gbW9tZW50byBkYSBjb21wcmEuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5ObyBjYXNvIGRhIDxzdHJvbmc+QXNzaW5hdHVyYSBQbGF0aW51bSBNZW5zYWw8L3N0cm9uZz4sIGEgY29icmFuw6dhIHNlcsOhIGZlaXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNsdXNpdmFtZW50ZSDDoCB2aXN0YSBubyBjYXJ0w6NvIGRlIGNyw6lkaXRvLCBjb20gcmVjb3Jyw6puY2lhIG1lbnNhbC4gTm8gcGxhbm8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+U2VtZXN0cmFsPC9zdHJvbmc+IGRhIFBsYXRpbnVtLCBoYXZlcsOhIGEgcG9zc2liaWxpZGFkZSBkZSBwYWdhbWVudG8gbm8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcnTDo28gZGUgY3LDqWRpdG8gKMOgIHZpc3RhIG91IHBhcmNlbGFkbyBlbSAxMngpIG91IGF0cmF2w6lzIGRvIGJvbGV0byBiYW5jw6FyaW8uPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcGFuZWwgcGFuZWwtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nRHV2aWRhczQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10YXJnZXQ9IiNjb2xsYXBzZUR1dmlkYXM0IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlRHV2aWRhczQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RSBzZSBxdWlzZXIgQ0FOQ0VMQVI\/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYXJyb3ctZG93bi5zdmciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJBYnJpciBkw7p2aWRhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZUR1dmlkYXM0IiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8iIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0R1dmlkYXM0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk7Do28gdGVtIHByb2JsZW1hIGFsZ3VtLiBFbSByZWdyYSwgdm9jw6ogY29udGEgY29tIDcgZGlhcyBkZSBnYXJhbnRpYSBjb20gcmVlbWJvbHNvIGludGVncmFsLiBWZXJpZmlxdWUgYXMgY29uZGnDp8O1ZXMgcG9yIG1laW8gZG8gbm9zc28gdGVybW9zIGRlIHVzby48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVtIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdEdXZpZGFzNSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRhcmdldD0iI2NvbGxhcHNlRHV2aWRhczUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0iY29sbGFwc2VEdXZpZGFzNSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TZSBldSBxdWlzZXIgYWRxdWlyaXIgc29tZW50ZSAxIGN1cnNvIG91IHBhY290ZSwgc2VtIGZhemVyIGEgYXNzaW5hdHVyYSwgZXUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaW5kYSBwb3Nzbz88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1hcnJvdy1kb3duLnN2ZyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IkFicmlyIGTDunZpZGEiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbGxhcHNlRHV2aWRhczUiIGNsYXNzPSJjb2xsYXBzZSBib3hDb250ZXVkbyIgYXJpYS1sYWJlbGxlZGJ5PSJoZWFkaW5nRHV2aWRhczUiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+U2ltLCBjYXNvIHZvY8OqIHByZWZpcmEgY29tcHJhciBzb21lbnRlIHVtIHBhY290ZSBvdSBjdXJzbyBpc29sYWRhbWVudGUsIHNlbSBhZHF1aXJpcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBhc3NpbmF0dXJhLCBpc3NvIGFpbmRhIMOpIHBlcmZlaXRhbWVudGUgcG9zc8OtdmVsLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW0gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHBhbmVsIHBhbmVsLWRlZmF1bHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZ0R1dmlkYXM2Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VEdXZpZGFzNiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZUR1dmlkYXM2Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlF1YWlzIEN1cnNvcyBuw6NvIGVzdGFyw6NvIG5hIEFzc2luYXR1cmE\/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYXJyb3ctZG93bi5zdmciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJBYnJpciBkw7p2aWRhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZUR1dmlkYXM2IiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8iIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0R1dmlkYXM2Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlNpbS4gQWxndW5zIGN1cnNvcywgcGVsYXMgc3VhcyBlc3BlY2lmaWNpZGFkZXMsIG7Do28gZXN0YXLDo28gaW5jbHVzb3MgbmFzIEFzc2luYXR1cmFzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFpcyBjb21vOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk9BQiBlIENGQyAoZSBvdXRyYXMgY2VydGlmaWNhw6fDtWVzIGNvbnTDoWJlaXMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Gb3LDp2FzIEFybWFkYXM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkRpcGxvbWFjaWE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkN1cnNvcyBQcmVzZW5jaWFpczwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UmVjdXJzb3M8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPsOBcmVhIGRlIE9kb250b2xvZ2lhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DdXJzb3MgUGVyc29uYWxpemFkb3MgKGV4Y2x1c2l2b3MgZGEgUGxhdGludW0pPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DdXJzbyBQcmVzZW5jaWFsIGUgT25saW5lIENhc2NhdmVsPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5WZXN0aWJ1bGFyZXMgZSBFTkVNPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DdXJzbyBkZSBDb25jdXJzb3MgcXVlIG7Do28gc2VqYW0gZXNwZWPDrWZpY29zIGRlIENhcnJlaXJhcyBKdXLDrWRpY2FzLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gTW9kYWwgVsOtZGVvIC0tPg0KICAgIDxkaXYgaWQ9Im1vZGFsVmlkZW8iPg0KICAgICAgICA8ZGl2IGNsYXNzPSJib3hGbGV4Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFZpZGVvIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVjaGFWaWRlbyI+DQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWNsb3NlLW1vZGFsLnN2ZyIgYWx0PSJGZWNoYXIgTW9kYWwiPg0KICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8aWZyYW1lIGZyYW1lYm9yZGVyPSIwIg0KICAgICAgICAgICAgICAgICAgICBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSINCiAgICAgICAgICAgICAgICAgICAgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBOw7ptZXJvcyBBbmltYWRvcyAtLT4NCiAgICANCiAgICANCg0KICAgIDwhLS0gRm9vdGVyIC0tPg0KICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlclBhZ2UiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJJbnRlcm5vIj4NCg0KICAgICAgICAgICAgPCEtLSBCb3ggQ2ltYSAtLT4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveENpbWEiPg0KDQogICAgICAgICAgICAgICAgPCEtLSBEYWRvcyBkYSBFbXByZXNhIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEZvb3RlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBMb2dvIC0tPg0KICAgICAgICAgICAgICAgICAgICA8ZmlndXJlIGNsYXNzPSJsb2dvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvbG9nby1kb3VyYWRhLnN2ZyIgYWx0PSJFc3RyYXTDqWdpYSBDSiI+DQogICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KDQogICAgICAgICAgICAgICAgICAgIDwhLS0gVGV4dG8gLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFRleHRvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkVzdHVkZSBjb20gcXVlbSBtYWlzIGFwcm92YSBwYXJhIGNhcmdvcyBjb21vIGp1aXosIGRlbGVnYWRvLCBwcm9tb3RvciwgZGVmZW5zb3IgcMO6YmxpY28gZSBwcm9jdXJhZG9yLiBQcmVwYXJlLXNlIG9uZGUsIHF1YW5kbyBlIHNlbXByZSBxdWUgcXVpc2VyIGNvbSBjdXJzb3MsIHF1ZXN0w7VlcyBlIGNvbnRlw7pkb3MgY29tcGxldG9zIHBhcmEgY2FycmVpcmFzIGp1csOtZGljYXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFJlZGVzIFNvY2lhaXMgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGVzU29jaWFpcyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSW5zdGFncmFtIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9lc3RyYXRlZ2lhY29uY3Vyc29zLz9obD1wdC1iciIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWluc3RhZ3JhbS5wbmciIGFsdD0iSW5zdGFncmFtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBZb3V0dWJlIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9Fc3RyYXRlZ2lhQ3Vyc29zIiB0YXJnZXQ9Il9ibGFuayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMteW91dHViZS5wbmciIGFsdD0iWW91dHViZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRmFjZWJvb2sgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vRXN0cmF0ZWdpYUNvbmN1cnNvcyIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWZhY2Vib29rLnBuZyIgYWx0PSJGYWNlYm9vayI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gWCAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vRXN0cmF0Q29uY3Vyc29zIiB0YXJnZXQ9Il9ibGFuayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMteC5wbmciIGFsdD0iWCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gTWVudSBJbnN0aXR1Y2lvbmFsIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEZvb3RlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsb1JvZGFwZSI+SW5zdGl0dWNpb25hbDwvc3Bhbj4NCg0KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im1lbnVSb2RhcGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZXN0cmF0ZWdpYS5jb20vIj5RdWVtIHNvbW9zPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3B1YmxpYy1taXNjZWxsYW5lb3VzLnMzLXNhLWVhc3QtMS5hbWF6b25hd3MuY29tL3Rlcm1vcy9Qb2xpJUNDJTgxdGljYStkZStQcml2YWNpZGFkZSstK0VzdHJhdGUlQ0MlODFnaWErRWR1Y2FjaW9uYWwucGRmIiB0YXJnZXQ9Il9ibGFuayI+UG9sw610aWNhIGRlIHByaXZhY2lkYWRlPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3B1YmxpYy1taXNjZWxsYW5lb3VzLnMzLnNhLWVhc3QtMS5hbWF6b25hd3MuY29tL3Rlcm1vcy9UZXJtb3MrZGUrVXNvK0NvbmN1cnNvcystK0NhcnJlaXJhK0p1cmlkaWNhK1ZpdGFsJUMzJUFEY2lhLnBkZiIgdGFyZ2V0PSJfYmxhbmsiPlRlcm1vcyBkZSB1c288L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIE1lbnUgU3Vwb3J0ZSAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hGb290ZXIiPg0KDQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG9Sb2RhcGUiPlN1cG9ydGU8L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJtZW51Um9kYXBlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2VzdHJhdGVnaWFjYXJyZWlyYWp1cmlkaWNhLnplbmRlc2suY29tL2hjL3B0LWJyIiB0YXJnZXQ9Il9ibGFuayI+RmFsZSBjb25vc2NvPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5lc3RyYXRlZ2lhY29uY3Vyc29zLmNvbS5ici9hc3NpbmF0dXJhcy1lY2ovIiB0YXJnZXQ9Il9ibGFuayI+QXNzaW5hdHVyYXM8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyI+UGFjb3RlcyBlIGN1cnNvczwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9wb3J0YWwvIj5CbG9nPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tLyNhcHBzIj5CYWl4ZSBvIGFwcDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvZmFzZS1lc2NyaXRhLyI+RmFzZSBFc2NyaXRhPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9mYXNlLW9yYWwvIj5GYXNlIE9yYWw8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYXRlbmRpbWVudG9jYXJyZWlyYWp1cmlkaWNhLmVzdHJhdGVnaWEuY29tL2hjL3B0LWJyIj5BanVkYTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gTWVudSBDb25jdXJzb3MgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Rm9vdGVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvUm9kYXBlIj5Db25jdXJzb3M8L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJtZW51Um9kYXBlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+4q2QIEFzc2luYXR1cmFzPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIGVtIERlc3RhcXVlPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1kZWxlZ2FkbyIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBwYXJhIERlbGVnYWRvPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1wcm9jdXJhZG9yYWR2b2dhZG8iIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBQcm9jdXJhZG9yL0Fkdm9nYWRvPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1tYWdpc3RyYXR1cmEiIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBNYWdpc3RyYXR1cmE8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2N1cnNvcy1wYXJhLWNhcnRyaW9zIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIHBhcmEgQ2FydMOzcmlvczwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtZGVmZW5zb3JpYS1wYmxpY2EiIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBEZWZlbnNvcmlhIFDDumJsaWNhPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1wcm9tb3RvciIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBwYXJhIFByb21vdG9yPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9hZHZvY2FjaWEtcGJsaWNhLWZlZGVyYWwiIHRhcmdldD0iX2JsYW5rIj5BZHZvY2FjaWEgUMO6YmxpY2EgRmVkZXJhbDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXJlZ3VsYXJlcyIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBSZWd1bGFyZXM8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5WYWRlLU3DqWN1bSBwYXJhIENhcnJlaXJhcyBKdXLDrWRpY2E8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5RdWVzdMO1ZXM8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5DYXN0PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIEF2dWxzb3M8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5NUC1TUCBlIE1QLU1HPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPCEtLSBGb3JtYXMgZGUgUGFnYW1lbnRvIGUgU2Vsb3MgLS0+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCYWl4byI+DQoNCiAgICAgICAgICAgICAgICA8IS0tIEZvcm1hcyBkZSBQYWdhbWVudG8gLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybWFzRGVQYWdhbWVudG8iPg0KDQogICAgICAgICAgICAgICAgICAgIDxzcGFuPkZvcm1hcyBkZSBwYWdhbWVudG86PC9zcGFuPg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhRm9ybWFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWJvbGV0by5wbmciIGFsdD0iQm9sZXRvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLW1hc3RlcmNhcmQucG5nIiBhbHQ9Ik1hc3RlcmNhcmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtdmlzYS5wbmciIGFsdD0iVmlzYSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1hbWVyaWNhbi5wbmciIGFsdD0iQW1lcmljYW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtZGlubmVycy5wbmciIGFsdD0iRGluZXJzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWVsby5wbmciIGFsdD0iRWxvIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gU2Vsb3MgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94U2Vsb3MiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1hYmVkLnBuZyIgYWx0PSJBYmVkIj4NCiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtZWJpdC5wbmciIGFsdD0iRWJpdCI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZm9vdGVyPg0KDQogICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KDQo=<\/script><script id=\"lp-js\" type=\"text\/plain\">DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCg0KICAgIC8vIFBlZ2EgdmFsb3IgZGEgQVBJDQoNCiAgICBmdW5jdGlvbiBjYXJyZWdhclByZWNvcyAodXJsLCB2ZXJ0aWNhbCkgew0KDQogICAgICAgIHJldHVybiBmZXRjaCgnaHR0cHM6Ly9hcGkuZXN0cmF0ZWdpYS5jb20vYmZmL3B1YmxpYy9lY29tbWVyY2UvY2F0YWxvZy8nICsgdXJsLCB7IA0KICAgICAgICAgICAgbWV0aG9kOiAnR0VUJywNCiAgICAgICAgICAgIG1vZGU6ICdjb3JzJywNCiAgICAgICAgICAgIGhlYWRlcnM6IHsNCiAgICAgICAgICAgICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nLA0KICAgICAgICAgICAgICAgICd4LXZlcnRpY2FsJzogdmVydGljYWwsDQogICAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7IHJldHVybiByZXNwb25zZS5qc29uKCk7IH0pDQogICAgICAgIC50aGVuKGZ1bmN0aW9uKGpzb24pIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKGpzb24gJiYganNvbi5kYXRhKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoanNvbi5kYXRhLmxvdCkgew0KICAgIA0KICAgICAgICAgICAgICAgICAgICB2YXIgYW1vdW50cyA9IGpzb24uZGF0YS5sb3QuYW1vdW50czsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgdmFsb3JOb3JtYWwgPSBqc29uLmRhdGEuYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbG9yUHJvbW9jYW8gPSBhbW91bnRzLmNyZWRpdF9jYXJkX2luc3RhbGxtZW50cy50b0ZpeGVkKDIpIC8gMTAwOw0KDQogICAgICAgICAgICAgICAgICAgIC8vIENhcnTDo28gRGUNCiAgICAgICAgICAgICAgICAgICAgdmFyIGNhcnRhb0RlID0gMDsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGFtb3VudHMuY3JlZGl0X2NhcmRfaW5zdGFsbG1lbnRzID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FydGFvRGUgPSBqc29uLmRhdGEuYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhcnRhb0RlID0ganNvbi5kYXRhLmFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIC8vIENhcnTDo28gUG9yDQogICAgICAgICAgICAgICAgICAgIHZhciBjYXJ0YW8gPSAwOw0KICAgICAgICAgICAgICAgICAgICBpZiAoYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjYXJ0YW8gPSBhbW91bnRzLmNyZWRpdF9jYXJkX2luc3RhbGxtZW50cy50b0ZpeGVkKDIpIC8gMTAwOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FydGFvID0gYW1vdW50cy5jcmVkaXRfY2FyZC50b0ZpeGVkKDIpIC8gMTAwOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbG9yZXMgPSB7DQogICAgICAgICAgICAgICAgICAgICAgICAiYm9sZXRvIjogYW1vdW50cy5ib2xldG8udG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJib2xldG9EZSI6IGpzb24uZGF0YS5hbW91bnRzLmJvbGV0by50b0ZpeGVkKDIpIC8gMTAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgImNhcnRhbyI6IGNhcnRhbyAvIDEyLA0KICAgICAgICAgICAgICAgICAgICAgICAgImNhcnRhb0RlIjogY2FydGFvRGUgLyAxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbERlIjoganNvbi5kYXRhLmFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbCI6IGFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3JjZW50YWdlbSI6IGpzb24uZGF0YS5kaXNjb3VudF9wZXJjZW50YWdlID8\/IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAiZWNvbm9taXplIjogdmFsb3JOb3JtYWwgLSB2YWxvclByb21vY2FvDQogICAgICAgICAgICAgICAgICAgIH07DQogICAgDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICANCiAgICAgICAgICAgICAgICAgICAgdmFyIGFtb3VudHMgPSBqc29uLmRhdGEuYW1vdW50czsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGNhcnRhbyA9IDA7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGFtb3VudHMuY3JlZGl0X2NhcmRfaW5zdGFsbG1lbnRzID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FydGFvID0gYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhcnRhbyA9IGFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIHZhciB2YWxvcmVzID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgImJvbGV0byI6IGFtb3VudHMuYm9sZXRvLnRvRml4ZWQoMikgLyAxMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAiYm9sZXRvRGUiOiAnJywNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW8iOiBjYXJ0YW8gLyAxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbERlIjogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbCI6IGFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9EZSI6ICAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgInBvcmNlbnRhZ2VtIjogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJlY29ub21pemUiOiAwDQogICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsb3JlczsNCg0KICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgIHJldHVybiBwcmVjb3NWYXppb3MoKTsNCg0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaChmdW5jdGlvbihlcnJvKSB7DQogICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvIGFvIGNhcnJlZ2FyIHByZcOnb3MgZGUgIicgKyB1cmwgKyAnIjonLCBlcnJvKTsNCiAgICAgICAgICAgIHJldHVybiBwcmVjb3NWYXppb3MoKTsNCiAgICAgICAgfSk7DQoNCiAgICB9DQoNCiAgICAvLyBQcmXDp29zIHplcmFkb3M6IGV2aXRhIHF1ZWJyYXIgYSBtb250YWdlbSBkYSBww6FnaW5hIHF1YW5kbyB1bWEgY2hhbWFkYSBmYWxoYQ0KDQogICAgZnVuY3Rpb24gcHJlY29zVmF6aW9zICgpIHsNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICJib2xldG8iOiAwLA0KICAgICAgICAgICAgImJvbGV0b0RlIjogJycsDQogICAgICAgICAgICAiY2FydGFvIjogMCwNCiAgICAgICAgICAgICJjYXJ0YW9EZSI6IDAsDQogICAgICAgICAgICAiY2FydGFvVG90YWxEZSI6IDAsDQogICAgICAgICAgICAiY2FydGFvVG90YWwiOiAwLA0KICAgICAgICAgICAgInBvcmNlbnRhZ2VtIjogMCwNCiAgICAgICAgICAgICJlY29ub21pemUiOiAwDQogICAgICAgIH07DQogICAgfQ0KDQogICAgLy8gTW9udGEgQXJyYXkgY29tIFByb2R1dG9zDQoNCiAgICB2YXIgVkVSVElDQUwgPSAnY2FycmVpcmFzLWp1cmlkaWNhcyc7DQoNCiAgICB2YXIgcHJvZHV0b3MgPSB7DQoNCiAgICAgICAgLy8gSnVyw61kaWNhDQogICAgICAgIGp1cmlkaWNhQmFzaWNhMUFubzogICAgICAgICAnYXNzaW5hdHVyYS1qdXJpZGljYS1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBqdXJpZGljYUJhc2ljYTJBbm9zOiAgICAgICAgJ2Fzc2luYXR1cmEtanVyaWRpY2EtYmFzaWNhLTItYW5vcycsDQogICAgICAgIGp1cmlkaWNhUHJlbWl1bTFBbm86ICAgICAgICAnYXNzaW5hdHVyYS1qdXJpZGljYS0xLWFubycsDQogICAgICAgIGp1cmlkaWNhUHJlbWl1bTJBbm9zOiAgICAgICAnYXNzaW5hdHVyYS1qdXJpZGljYS0yLWFub3MnLA0KDQogICAgICAgIC8vIFByb2N1cmFkb3JpYXMNCiAgICAgICAgcHJvY3VyYWRvcmlhc0Jhc2ljYTFBbm86ICAgICdhc3NpbmF0dXJhLXByb2N1cmFkb3JpYXMtYmFzaWNhLTEtYW5vJywNCiAgICAgICAgcHJvY3VyYWRvcmlhc0Jhc2ljYTJBbm9zOiAgICdhc3NpbmF0dXJhLXByb2N1cmFkb3JpYXMtYmFzaWNhLTItYW5vcycsDQogICAgICAgIHByb2N1cmFkb3JpYXNQcmVtaXVtMUFubzogICAnYXNzaW5hdHVyYXByb2N1cmFkb3JpYXMtMS1hbm8nLCAvLyBzZW0gaMOtZmVuIG1lc21vOiDDqSBvIHNsdWcgZG8gUHJlbWl1bSBuYSBBUEkNCiAgICAgICAgcHJvY3VyYWRvcmlhc1ByZW1pdW0yQW5vczogICdhc3NpbmF0dXJhLXByb2N1cmFkb3JpYXMtMi1hbm9zJywNCg0KICAgICAgICAvLyBNYWdpc3RyYXR1cmENCiAgICAgICAgbWFnaXN0cmF0dXJhQmFzaWNhMUFubzogICAgICdhc3NpbmF0dXJhLW1hZ2lzdHJhdHVyYS1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBtYWdpc3RyYXR1cmFCYXNpY2EyQW5vczogICAgJ2Fzc2luYXR1cmEtbWFnaXN0cmF0dXJhLWJhc2ljYS0yLWFub3MnLA0KICAgICAgICBtYWdpc3RyYXR1cmFQcmVtaXVtMUFubzogICAgJ2Fzc2luYXR1cmEtbWFnaXN0cmF0dXJhLWFudWFsJywNCiAgICAgICAgbWFnaXN0cmF0dXJhUHJlbWl1bTJBbm9zOiAgICdhc3NpbmF0dXJhLW1hZ2lzdHJhdHVyYS0yLWFub3MnLA0KDQogICAgICAgIC8vIERlbHRhDQogICAgICAgIGRlbHRhQmFzaWNhMUFubzogICAgICAgICAgICAnYXNzaW5hdHVyYS1kZWx0YS1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBkZWx0YUJhc2ljYTJBbm9zOiAgICAgICAgICAgJ2Fzc2luYXR1cmEtZGVsdGEtYmFzaWNhLTItYW5vcycsDQogICAgICAgIGRlbHRhUHJlbWl1bTFBbm86ICAgICAgICAgICAnYXNzaW5hdHVyYS1kZWx0YS0xLWFubycsDQogICAgICAgIGRlbHRhUHJlbWl1bTJBbm9zOiAgICAgICAgICAnYXNzaW5hdHVyYS1kZWx0YS0yLWFub3MnLA0KDQogICAgICAgIC8vIENhcnTDs3Jpb3MNCiAgICAgICAgY2FydG9yaW9zQmFzaWNhMUFubzogICAgICAgICdhc3NpbmF0dXJhLWNhcnRvcmlvcy1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBjYXJ0b3Jpb3NCYXNpY2EyQW5vczogICAgICAgJ2Fzc2luYXR1cmEtY2FydG9yaW9zLWJhc2ljYS0yLWFub3MnLA0KICAgICAgICBjYXJ0b3Jpb3NQcmVtaXVtMUFubzogICAgICAgJ2Fzc2luYXR1cmEtY2FydG9yaW9zLTEtYW5vJywNCiAgICAgICAgY2FydG9yaW9zUHJlbWl1bTJBbm9zOiAgICAgICdhc3NpbmF0dXJhLWNhcnRvcmlvcy0yLWFub3MnLA0KDQogICAgICAgIC8vIERlZmVuc29yaWENCiAgICAgICAgZGVmZW5zb3JpYXNCYXNpY2ExQW5vOiAgICAgICdhc3NpbmF0dXJhLWRlZmVuc29yaWFzLWJhc2ljYS0xLWFubycsDQogICAgICAgIGRlZmVuc29yaWFzQmFzaWNhMkFub3M6ICAgICAnYXNzaW5hdHVyYS1kZWZlbnNvcmlhcy1iYXNpY2EtMi1hbm9zJywNCiAgICAgICAgZGVmZW5zb3JpYXNQcmVtaXVtMUFubzogICAgICdhc3NpbmF0dXJhLWRlZmVuc29yaWEtMS1hbm8nLA0KICAgICAgICBkZWZlbnNvcmlhc1ByZW1pdW0yQW5vczogICAgJ2Fzc2luYXR1cmEtZGVmZW5zb3JpYS0yLWFub3MnLA0KDQogICAgICAgIC8vIFByb21vdG9yaWENCiAgICAgICAgcHJvbW90b3JpYXNCYXNpY2ExQW5vOiAgICAgICdhc3NpbmF0dXJhLXByb21vdG9yaWFzLWJhc2ljYS0xLWFubycsDQogICAgICAgIHByb21vdG9yaWFzQmFzaWNhMkFub3M6ICAgICAnYXNzaW5hdHVyYS1wcm9tb3Rvcmlhcy1iYXNpY2EtMi1hbm9zJywNCiAgICAgICAgcHJvbW90b3JpYXNQcmVtaXVtMUFubzogICAgICdhc3NpbmF0dXJhLXByb21vdG9yaWEtMS1hbm8nLA0KICAgICAgICBwcm9tb3Rvcmlhc1ByZW1pdW0yQW5vczogICAgJ2Fzc2luYXR1cmEtcHJvbW90b3JpYS0yLWFub3MnLA0KDQogICAgICAgIC8vIFBsYXRpbnVtIChvIGNhcmQgZGUgY29tcGFyYcOnw6NvIHVzYSBvIHNlbWVzdHJhbCwgcXVlIMOpIHBhcmNlbGFkbyBlbSAxMngpDQogICAgICAgIHBsYXRpbnVtTWVuc2FsOiAgICAgICAgICAgICAnY29hY2hpbmctcGFyYS1jYXJyZWlyYXMtanVyaWRpY2FzJywNCiAgICAgICAgcGxhdGludW1TZW1lc3RyYWw6ICAgICAgICAgICdjb2FjaGluZy1wYXJhLWNhcnJlaXJhcy1qdXJpZGljYXMtc2VtZXN0cmFsJw0KDQogICAgfTsNCg0KICAgIC8vIENhZGEgY2FyZCBkbyAjYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIG1vc3RyYSAiYSBwYXJ0aXIgZGUiOg0KICAgIC8vIG8gbWVub3IgcHJlw6dvIGVudHJlIGFzIGNhcnJlaXJhcyBkYXF1ZWxlIG7DrXZlbC4NCg0KICAgIHZhciBjb21wYXJhY2FvID0gew0KICAgICAgICAnYmFzaWNhMWFubyc6ICAgWydqdXJpZGljYUJhc2ljYTFBbm8nLCAncHJvY3VyYWRvcmlhc0Jhc2ljYTFBbm8nLCAnbWFnaXN0cmF0dXJhQmFzaWNhMUFubycsICdkZWx0YUJhc2ljYTFBbm8nLCAnY2FydG9yaW9zQmFzaWNhMUFubycsICdkZWZlbnNvcmlhc0Jhc2ljYTFBbm8nLCAncHJvbW90b3JpYXNCYXNpY2ExQW5vJ10sDQogICAgICAgICdwcmVtaXVtMWFubyc6ICBbJ2p1cmlkaWNhUHJlbWl1bTFBbm8nLCAncHJvY3VyYWRvcmlhc1ByZW1pdW0xQW5vJywgJ21hZ2lzdHJhdHVyYVByZW1pdW0xQW5vJywgJ2RlbHRhUHJlbWl1bTFBbm8nLCAnY2FydG9yaW9zUHJlbWl1bTFBbm8nLCAnZGVmZW5zb3JpYXNQcmVtaXVtMUFubycsICdwcm9tb3Rvcmlhc1ByZW1pdW0xQW5vJ10sDQogICAgICAgICdiYXNpY2EyYW5vcyc6ICBbJ2p1cmlkaWNhQmFzaWNhMkFub3MnLCAncHJvY3VyYWRvcmlhc0Jhc2ljYTJBbm9zJywgJ21hZ2lzdHJhdHVyYUJhc2ljYTJBbm9zJywgJ2RlbHRhQmFzaWNhMkFub3MnLCAnY2FydG9yaW9zQmFzaWNhMkFub3MnLCAnZGVmZW5zb3JpYXNCYXNpY2EyQW5vcycsICdwcm9tb3Rvcmlhc0Jhc2ljYTJBbm9zJ10sDQogICAgICAgICdwcmVtaXVtMmFub3MnOiBbJ2p1cmlkaWNhUHJlbWl1bTJBbm9zJywgJ3Byb2N1cmFkb3JpYXNQcmVtaXVtMkFub3MnLCAnbWFnaXN0cmF0dXJhUHJlbWl1bTJBbm9zJywgJ2RlbHRhUHJlbWl1bTJBbm9zJywgJ2NhcnRvcmlvc1ByZW1pdW0yQW5vcycsICdkZWZlbnNvcmlhc1ByZW1pdW0yQW5vcycsICdwcm9tb3Rvcmlhc1ByZW1pdW0yQW5vcyddLA0KICAgICAgICAncGxhdGludW0nOiAgICAgWydwbGF0aW51bVNlbWVzdHJhbCddDQogICAgfTsNCg0KICAgIC8vIEl0ZW5zIGV4aWJpZG9zIG5hIGxpc3RhIGRlIGNhZGEgY2FyZCBkYSBjb21wYXJhw6fDo28uDQogICAgLy8gIm5pdmVsIiDDqSBjdW11bGF0aXZvOiBiw6FzaWNhIDwgcHJlbWl1bSA8IHBsYXRpbnVtLiBVbSBpdGVtIGRlIG7DrXZlbCAicHJlbWl1bSINCiAgICAvLyBhcGFyZWNlIGNvbW8gaW5jbHVzbyBuYSBQcmVtaXVtIGUgbmEgUGxhdGludW0sIGUgY29tbyBuw6NvIGluY2x1c28gbmEgQsOhc2ljYS4NCg0KICAgIHZhciBuaXZlaXMgPSBbJ2Jhc2ljYScsICdwcmVtaXVtJywgJ3BsYXRpbnVtJ107DQoNCiAgICAvLyBDYWRhIGNhcmQgZG8gSFRNTCBkZWNsYXJhIG8gbsOtdmVsIGEgcXVlIHBlcnRlbmNlDQogICAgdmFyIG5pdmVsRG9QbGFubyA9IHsNCiAgICAgICAgJ2Jhc2ljYTFhbm8nOiAgICdiYXNpY2EnLA0KICAgICAgICAnYmFzaWNhMmFub3MnOiAgJ2Jhc2ljYScsDQogICAgICAgICdwcmVtaXVtMWFubyc6ICAncHJlbWl1bScsDQogICAgICAgICdwcmVtaXVtMmFub3MnOiAncHJlbWl1bScsDQogICAgICAgICdwbGF0aW51bSc6ICAgICAncGxhdGludW0nDQogICAgfTsNCg0KICAgIHZhciBpdGVuc0NvbXBhcmFjYW8gPSBbDQogICAgICAgIHsgbml2ZWw6ICJiYXNpY2EiLCAgIG5vbWU6ICJWaWRlb2F1bGFzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQ29udGXDumRvIGVtIHbDrWRlbyBncmF2YWRvIHBvciBwcm9mZXNzb3JlcyBlc3BlY2lhbGlzdGFzIGVtIGNvbmN1cnNvcyBqdXLDrWRpY29zLCBwYXJhIGFzc2lzdGlyIHF1YW5kbywgb25kZSBlIHF1YW50YXMgdmV6ZXMgcXVpc2VyLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIkxpdnJvIERpZ2l0YWwgSW50ZXJhdGl2byIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJVbSBwb2Rlcm9zbyByZWN1cnNvIGRpZMOhdGljbyBxdWUgYWdyZWdhIGVtIHVtYSDDum5pY2EgaW50ZXJmYWNlIG1hdGVyaWFpcyBjb21wbGV0b3MgZW0gdsOtZGVvLCBlc2NyaXRvcywgZW0gw6F1ZGlvLCBxdWVzdMO1ZXMsIG1hcGFzIG1lbnRhaXMgZSByZXN1bW9zLiBBbMOpbSBkaXNzbyBwZXJtaXRlIHF1ZSB2b2PDqiBleHRyYWlhIHVtIHJlc3VtbyBkb3MgZ3JpZm9zIGUgYW5vdGHDp8O1ZXMgZmVpdG9zIG5vIFBERiwgYWzDqW0gZGUgcGVybWl0aXIgYSBuYXZlZ2HDp8OjbyBwb3IgdW0gc3Vtw6FyaW8gaW50ZWxpZ2VudGUuIiB9LA0KICAgICAgICB7IG5pdmVsOiAiYmFzaWNhIiwgICBub21lOiAiU2lzdGVtYSBkZSBRdWVzdMO1ZXMiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJPIG1haW9yIFNpc3RlbWEgZGUgUXVlc3TDtWVzIGdlbnVpbmFtZW50ZSBqdXLDrWRpY28gZG8gbWVyY2Fkby4gU8OjbyBtYWlzIGRlIDEwMCBtaWwgcXVlc3TDtWVzIGRlIGNvbmN1cnNvcyBkZSBjYXJyZWlyYXMganVyw61kaWNhcyBwYXJhIHZvY8OqIHByYXRpY2FyLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIkVzdHJhdMOpZ2lhIENhc3QiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQXBsaWNhdGl2byBjb20gYXVsYXMgZW0gw6F1ZGlvIHBhcmEgdm9jw6ogb3V2aXIgcXVhbmRvIGUgb25kZSBxdWlzZXIuIiB9LA0KICAgICAgICB7IG5pdmVsOiAiYmFzaWNhIiwgICBub21lOiAiUmV0YSBGaW5hbCAtIFDDs3MtRWRpdGFsIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZW0gdsOtZGVvIG1vbnRhZG9zIGV4Y2x1c2l2YW1lbnRlIHBhcmEgbyBww7NzLWVkaXRhbCBlIHF1ZSBmb2NhbSBlbSBjb250ZcO6ZG9zIGVzcGVjw61maWNvcywgbWFzIHJlbGV2YW50ZXMgcGFyYSBmaW5zIGRlIHByb3ZhLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIlNpbXVsYWRvcyBJbsOpZGl0b3MiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiU2ltdWxhZG9zIGZlaXRvcyBwZWxvcyBub3Nzb3MgcHJvZmVzc29yZXMsIG5vIGVzdGlsbyBkZSBjb2JyYW7Dp2EgZGFzIHByaW5jaXBhaXMgQmFuY2FzIE9yZ2FuaXphZG9yYXMgZSBjb20gbsOtdmVsIGRlIGRpZmljdWxkYWRlIGNvbXBhdMOtdmVsIGNvbSBjb25jdXJzb3MgZGUgQ2FycmVpcmFzIEp1csOtZGljYXMuIiB9LA0KICAgICAgICB7IG5pdmVsOiAiYmFzaWNhIiwgICBub21lOiAiRXN0dWRvIEVzdHJhdMOpZ2ljbyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDZW50cmFsIGRlIGluZm9ybWHDp8O1ZXMgZSBjb250ZcO6ZG9zIGRlIG9yaWVudGHDp8OjbyBwYXJhIHByZXBhcmHDp8OjbywgaW5jbHVpbmRvOiBhbsOhbGlzZSBlc3RhdMOtc3RpY2EgZSBxdWFsaXRhdGl2YSBkYSBjb2JyYW7Dp2EgZW0gcHJvdmEgZGEgZGlzY2lwbGluYSwgdGVuZG8gZW0gdmlzdGEgbyBoaXN0w7NyaWNvIGRlIGNvYnJhbsOnYSBlIG8gcGVyZmlsIGRvIGNvbmN1cnNvOyBwbGFubyBkZSBlc3R1ZG9zLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIlJhbmtpbmcgUMOzcy1Qcm92YSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQWNhYm91IGRlIGZhemVyIHVtYSBwcm92YSBlIHF1ZXIgdGVyIHVtYSBpZGVpYSBzb2JyZSBhIHBvc3PDrXZlbCBub3RhIGRlIGNvcnRlPyBPIFJhbmtpbmcgZG8gRXN0cmF0w6lnaWEgw6kgYSBzb2x1w6fDo28hIEZlaXRvIGNvbSBiYXNlIG5vcyBkYWRvcyBkb3Mgbm9zc29zIGFsdW5vcyBlIHRlbmRvIGNvbW8gcmVmZXLDqm5jaWEgbyBHYWJhcml0byBFeHRyYW9maWNpYWwgZG9zIG5vc3NvcyBwcm9mZXNzb3JlcyAoYXTDqSBvIG9maWNpYWwgc2VyIGRpdnVsZ2FkbyksIHZvY8OqIHNhYmVyw6EgZW0gcHJpbWVpcmEgbcOjbyBzZSBhIHZhZ2EgZXN0w6EgcGVydG8gb3UgbsOjby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJiYXNpY2EiLCAgIG5vbWU6ICJQcm92YSBDb21lbnRhZGEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQWNlc3NlIG9zIGNvbWVudMOhcmlvcyBkZSAxMDAlIGRhcyBxdWVzdMO1ZXMgZGEgc3VhIHByb3ZhIGRlIGNvbmN1cnNvLCBubyBkaWEgc2VndWludGUgw6Agc3VhIHJlYWxpemHDp8Ojby4gVG9kb3Mgb3MgY29tZW50w6FyaW9zIHPDo28gZmVpdG9zIHBlbG9zIG5vc3NvcyBwcm9mZXNzb3JlcyBlc3BlY2lhbGlzdGFzIGUgZGlzcG9uaWJpbGl6YWRvcyBlbSB1bSDDum5pY28gUERGLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgbm9tZTogIlRyaWxoYSBFc3RyYXTDqWdpY2EiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiR3VpYSBkZSBlc3R1ZG9zIGVzdHJ1dHVyYWRvIGNvbmZvcm1lIG8gY29uY3Vyc28gcGFyYSBlc3R1ZG8gcmVndWxhciBlIHDDs3MtZWRpdGFsLCBjb20gZGlzdHJpYnVpw6fDo28gc2VtYW5hbCBkZSB0YXJlZmFzIHBhcmEgcXVlIHZvY8OqIGTDqiBhdGVuw6fDo28gYW9zIHByaW5jaXBhaXMgY29udGXDumRvcyBjb2JyYWRvcy4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJDdXJzb3MgcGFyYSBGYXNlIEVzY3JpdGEgY29tIENvcnJlw6fDo28iLCAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZGlzY3Vyc2l2b3MgKHJlZ3VsYXJlcyBlIHBvciBlZGl0YWwpIGNvbSBjb3JyZcOnw6NvIGluZGl2aWR1YWxpemFkYSBwYXJhIGFzIGZhc2VzIGVzY3JpdGFzIGRvcyBwcmluY2lwYWlzIGNvbmN1cnNvcyBqdXLDrWRpY29zLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgbm9tZTogIlPDrW50ZXNlIEVzdHJhdMOpZ2ljYSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaWNhbzogIk8gcmVzdW1vIGRlIHbDqXNwZXJhIGRlIHByb3ZhIHF1ZSBmYWx0YXZhIG5hIHN1YSBwcmVwYXJhw6fDo28hIEFjZXNzZSBvcyBwcmluY2lwYWlzIGFzc3VudG9zIGRlIGNhZGEgZGlzY2lwbGluYSBlbSB1bSBQREYgY3VydG8gY29tIG9zIHRlbWFzIHF1ZW50ZXMgZXNxdWVtYXRpemFkb3MuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBub21lOiAiQ2xpcHBpbmciLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaWNhbzogIkNsaXBwaW5nIGRlIG5vdMOtY2lhcyBlIGF0dWFsaXphw6fDtWVzIHF1aW56ZW5haXMgZG8gbXVuZG8ganVyw61kaWNvIHBhcmEgdm9jw6ogZmljYXIgc2FiZW5kbyBkYXMgcHJpbmNpcGFpcyBhdHVhbGl6YcOnw7VlcyBlbSBwcmltZWlyYSBtw6NvLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgbm9tZTogIkRpcmV0byBhbyBQb250byIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJVbSBtYXRlcmlhbCA3MCUgbWVub3IgZG8gcXVlIG9zIG5vc3NvcyBjdXJzb3MgcmVndWxhcmVzLCBtb250YWRvIGF0cmF2w6lzIGRlIGVuZ2VuaGFyaWEgcmV2ZXJzYSwgZSBmb2NhZG8gbm8gcXVlIG1haXMgw6kgY29icmFkbyBlbSBwcm92YXMuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBub21lOiAiQ2VudHJhbCBkZSBKdXJpc3BydWTDqm5jaWEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJUb2RhIGEganVyaXNwcnVkw6puY2lhIG1haXMgcmVsZXZhbnRlIHBhcmEgY29uY3Vyc29zIGp1csOtZGljb3MgY29tIG9zIGNvbWVudMOhcmlvcyBkb3Mgbm9zc29zIHByb2Zlc3NvcmVzLiBFc3R1ZGUgZGUgZm9ybWEgb3JnYW5pemFkYSBlIHNpc3RlbWF0aXphZGEgYXMgZGVjaXPDtWVzIG1haXMgcmVjZW50ZXMgZG8gU1RGLCBTVEosIFRTVCBlIFRTRSwgSnVyaXNwcnVkw6puY2lhIEludGVybmFjaW9uYWwsIGFsw6ltIGRlIFByZWNlZGVudGVzIFF1YWxpZmljYWRvcy4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJDZW50cmFsIGRlIExlZ2lzbGHDp8OjbyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJUb2RhIGEgbGVnaXNsYcOnw6NvIG1haXMgcmVsZXZhbnRlIHBhcmEgY29uY3Vyc29zIGp1csOtZGljb3MsIGVtIExESSBlIGNvbSBpbmRpY2HDp8OjbyBkZSBtZXRhcyBkZSBsZWl0dXJhIGRpw6FyaWEgZGEgbGVpLCBjb20gZGlyZWNpb25hbWVudG8gcG9yIGFydGlnby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJDYWRlcm5vIGRlIExlZ2lzbGHDp8OjbyBFc3BlY8OtZmljYSIsICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiVW0gY29tcGlsYWRvIGRlIGxlaXMgZSBub3JtYXMgZXNwZWPDrWZpY2FzIHF1ZSBjb25zdGFtIGRvIHNldSBlZGl0YWwuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBub21lOiAiQ3Vyc29zIEV4Y2x1c2l2b3MgZSBkZSBFeHRlbnPDo28iLCAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZW0gdsOtZGVvIGRlIGFwcm9mdW5kYW1lbnRvIG5hcyBwcmluY2lwYWlzIGRpc2NpcGxpbmFzIGp1csOtZGljYXMgZSBkZSBhYm9yZGFnZW0gZGUgdGVtYXMgZXNwZWPDrWZpY29zIG91IGFwcm9mdW5kYWRvcyBjb25mb3JtZSBhIGNhcnJlaXJhIGUgbyBjb25jdXJzby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJNZW50b3JpYXMgQ29sZXRpdmFzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiTWVudG9yaWFzIGZlaXRhcyBjb20gbm9zc29zIHByb2Zlc3NvcmVzIHF1ZSBhdHVhbSBub3MgbWFpcyBkaXZlcnNvcyBjYXJnb3MganVyw61kaWNvcyBwYXJhIHRpcmFyIGTDunZpZGFzIHNvYnJlIGEgY2FycmVpcmEgZSBwcmVwYXJhw6fDo28iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwbGF0aW51bSIsIG5vbWU6ICJDb2FjaGluZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQWNvbXBhbmhhbWVudG8gcGVyc29uYWxpemFkbywgY29uZHV6aWRvIHBvciBxdWVtIGrDoSBmb2kgYXByb3ZhZG8sIHF1ZSBmb2NhIG5hcyBuZWNlc3NpZGFkZXMgZXNwZWPDrWZpY2FzIGRvIGFsdW5vIGFvIGVudHJlZ2FyIHVtYSBvcmllbnRhw6fDo28gZGUgZXN0dWRvcyBjb21wYXTDrXZlbCBjb20gbyBwZXJmaWwgZG8gYWx1bm8uIiB9LA0KICAgICAgICB7IG5pdmVsOiAicGxhdGludW0iLCBub21lOiAiRXN0dWRvIEFjb21wYW5oYWRvIHBhcmEgRmFzZSBFc2NyaXRhIiwgICAgICAgICAgICAgICAgIGRlc2NyaWNhbzogIkFjb21wYW5oYW1lbnRvIHBlcnNvbmFsaXphZG8gY29tIHVtIHByb2Zlc3NvciBkYSDDoXJlYSwgcXVlIGVudHJlZ2EgdW1hIHByZXBhcmHDp8OjbyBlc3BlY8OtZmljYSBwYXJhIGEgRmFzZSBFc2NyaXRhLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInBsYXRpbnVtIiwgbm9tZTogIkN1cnNvIHBhcmEgRmFzZSBPcmFsIGNvbSBBdGVuZGltZW50byBJbmRpdmlkdWFsaXphZG8iLCBkZXNjcmljYW86ICJBdGVuZGltZW50b3MgaW5kaXZpZHVhbGl6YWRvcyBjb20gcHJvZmVzc29yIGRhIGNhcnJlaXJhIHBhcmEgYXJndWnDp8O1ZXMsIGFsw6ltIGRlIGF0ZW5kaW1lbnRvIGNvbSBwc2ljw7Nsb2dhIGUgZm9ub2F1ZGnDs2xvZ2EsIGNhc28sIG5vIGNvbmN1cnNvLCBoYWphIGZhc2Ugb3JhbC4iIH0NCiAgICBdOw0KDQogICAgLy8gRXNjYXBhIHRhbWLDqW0gYXMgYXNwYXMsIHBhcmEgcG9kZXIgdXNhciBvIHJlc3VsdGFkbyBkZW50cm8gZGUgYXRyaWJ1dG9zDQogICAgZnVuY3Rpb24gZXNjYXBhckh0bWwgKHRleHRvKSB7DQogICAgICAgIHJldHVybiAkKCc8ZGl2PicpLnRleHQodGV4dG8pLmh0bWwoKS5yZXBsYWNlKC8iL2csICcmcXVvdDsnKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJJdGVtIChpdGVtLCBpbmNsdXNvKSB7DQoNCiAgICAgICAgdmFyIGljb25lID0gaW5jbHVzbyA\/ICdpYy1pbmNsdXNvLnN2ZycgOiAnaWMtbmFvLWluY2x1c28uc3ZnJzsNCg0KICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgJzxsaSBjbGFzcz0iJyArIChpbmNsdXNvID8gJ2luY2x1c28nIDogJ25hb0luY2x1c28nKSArICciPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUaXR1bG8iPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvJyArIGljb25lICsgJyIgYWx0PSLDjWNvbmUiPicgKw0KICAgICAgICAgICAgICAgICAgICAnPHNwYW4+JyArIGVzY2FwYXJIdG1sKGl0ZW0ubm9tZSkgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW5mbyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8aW1nIGNsYXNzPSJpbWdJbmZvIiBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtaW5mby5zdmciIGFsdD0iRGVzY3Jpw6fDo28iPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibW9kYWxJbmZvIG5vbmUiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmZWNoYVBvcHVwIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtY2xvc2UtbW9kYWwuc3ZnIiBhbHQ9IkZlY2hhciBNb2RhbCI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxwPicgKyBlc2NhcGFySHRtbChpdGVtLmRlc2NyaWNhbykgKyAnPC9wPicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvbGk+JzsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhckxpc3Rhc0NvbXBhcmFjYW8gKCkgew0KDQogICAgICAgICQoJyNib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgW2RhdGEtcGxhbm9dJykuZWFjaChmdW5jdGlvbiAoKSB7DQoNCiAgICAgICAgICAgIHZhciBwbGFubyA9ICQodGhpcykuZGF0YSgncGxhbm8nKTsNCiAgICAgICAgICAgIHZhciBuaXZlbCA9IG5pdmVsRG9QbGFub1twbGFub107DQoNCiAgICAgICAgICAgIGlmICghbml2ZWwpIHsNCiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NhcmQgc2VtIG7DrXZlbCBkZWZpbmlkbzogZGF0YS1wbGFubz0iJyArIHBsYW5vICsgJyIuJyk7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgaHRtbCA9IGl0ZW5zQ29tcGFyYWNhby5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsNCiAgICAgICAgICAgICAgICAvLyBJbmNsdXNvIHF1YW5kbyBvIG7DrXZlbCBkbyBpdGVtIMOpIGlndWFsIG91IGluZmVyaW9yIGFvIGRvIHBsYW5vDQogICAgICAgICAgICAgICAgcmV0dXJuIG1vbnRhckl0ZW0oaXRlbSwgbml2ZWlzLmluZGV4T2YoaXRlbS5uaXZlbCkgPD0gbml2ZWlzLmluZGV4T2Yobml2ZWwpKTsNCiAgICAgICAgICAgIH0pLmpvaW4oJycpOw0KDQogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ3VsLmxpc3RhSXRlbnNJbmNsdXNvcycpLmh0bWwoaHRtbCArIG1vbnRhckJvbnVzQkYocGxhbm8pKTsNCg0KICAgICAgICB9KTsNCg0KICAgIH0NCg0KICAgIC8vIEJsYWNrIEZyaWRheSBKdXLDrWRpY2EgMjAyNjogYsO0bnVzIGRvIExvdGUgRXNwZWNpYWwgZW1iYWl4byBkYXMgZmVycmFtZW50YXMNCiAgICAvLyBkZSBjYWRhIGNhcmQuIE5hIFBsYXRpbnVtIG9zIGLDtG51cyB2YWxlbSBzw7MgcGFyYSBvIHBsYW5vIHNlbWVzdHJhbC4NCg0KICAgIHZhciBib251c0JGID0gWw0KICAgICAgICB7IG5vbWU6ICJCw7RudXMgMTogU2FsYXMgRXhjbHVzaXZhcyBjb20gUHJvZmVzc29yZXMiLCAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiRW5jb250cm9zIGFvIHZpdm8gY29tIGVzcGVjaWFsaXN0YXMgZW0gY29uY3Vyc29zIGp1csOtZGljb3MsIGVtIHF1ZSB2b2PDqiBwb2RlcsOhIGludGVyYWdpciBlIHRpcmFyIHN1YXMgZMO6dmlkYXMgZGlyZXRhbWVudGUgY29tIG9zIHByb2Zlc3NvcmVzLiIgfSwNCiAgICAgICAgeyBub21lOiAiQsO0bnVzIDI6IEFjb21wYW5oYW1lbnRvIFBlcnNvbmFsaXphZG8gZGUgRXN0dWRvcyBwb3IgMzAgZGlhcyIsIGRlc2NyaWNhbzogIlJlY2ViYSBvIHBsYW5vIGRlIGVzdHVkb3MgaWRlYWwgcGFyYSBvIHNldSBvYmpldGl2byBlIGEgc3VhIHJvdGluYSBlIGZpcXVlIGxpdnJlIHBhcmEgcGVkaXIgb3JpZW50YcOnw7VlcyBkZSBwbGFuZWphbWVudG8gZSBvcmdhbml6YcOnw6NvIHBvciAxIG3DqnMuIiB9DQogICAgXTsNCg0KICAgIHZhciBJQ09ORV9FU1RSRUxBID0gJzxzdmcgY2xhc3M9ImVzdHJlbGFCRiIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBmaWxsPSIjRTNCODYwIiBkPSJNMTIgMi41bDIuOSA2LjEgNi42LjgtNC45IDQuNiAxLjMgNi42TDEyIDE3LjNsLTUuOSAzLjMgMS4zLTYuNi00LjktNC42IDYuNi0uOHoiLz48L3N2Zz4nOw0KDQogICAgZnVuY3Rpb24gbW9udGFyQm9udXNCRiAocGxhbm8pIHsNCg0KICAgICAgICB2YXIgYXN0ZXJpc2NvID0gcGxhbm8gPT09ICdwbGF0aW51bScgPyAnKicgOiAnJzsNCg0KICAgICAgICB2YXIgaHRtbCA9IGJvbnVzQkYubWFwKGZ1bmN0aW9uIChpdGVtKSB7DQogICAgICAgICAgICByZXR1cm4gbW9udGFySXRlbSh7IG5vbWU6IGl0ZW0ubm9tZSArIGFzdGVyaXNjbywgZGVzY3JpY2FvOiBpdGVtLmRlc2NyaWNhbyB9LCB0cnVlKQ0KICAgICAgICAgICAgICAgIC5yZXBsYWNlKCc8bGkgY2xhc3M9ImluY2x1c28iPicsICc8bGkgY2xhc3M9ImluY2x1c28gaXRlbUJvbnVzQkYiPicpDQogICAgICAgICAgICAgICAgLnJlcGxhY2UoLzxpbWcgc3JjPSJbXiJdKmljLWluY2x1c29cLnN2ZyIgYWx0PSLDjWNvbmUiPi8sIElDT05FX0VTVFJFTEEpOw0KICAgICAgICB9KS5qb2luKCcnKTsNCg0KICAgICAgICBpZiAoYXN0ZXJpc2NvKSB7DQogICAgICAgICAgICBodG1sICs9ICc8bGkgY2xhc3M9Im5vdGFCb251c0JGIj48c3Bhbj4qYXBlbmFzIHBhcmEgbyBwbGFubyBzZW1lc3RyYWwuPC9zcGFuPjwvbGk+JzsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBodG1sOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9lZGEgKHZhbG9yKSB7DQogICAgICAgIHJldHVybiB2YWxvci50b0xvY2FsZVN0cmluZygncHQtYnInLCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogJ0JSTCcgfSk7DQogICAgfQ0KDQogICAgLy8gQ2FycmVpcmFzIEVzcGVjw61maWNhczogbyBhY2NvcmRpb24gaW50ZWlybyDDqSBtb250YWRvIGEgcGFydGlyIGRlc3RlIGFycmF5Lg0KICAgIC8vICJjaGF2ZSIgbGlnYSBhIGFzc2luYXR1cmEgYW8gcHJvZHV0byBkZWNsYXJhZG8gZW0gYHByb2R1dG9zYCwgZGUgb25kZSB2w6ptIG9zIHByZcOnb3MuDQoNCiAgICB2YXIgY2FycmVpcmFzID0gWw0KICAgICAgICB7DQogICAgICAgICAgICBpZDogImJveEFzc2luYXR1cmFKdXJpZGljYSIsDQogICAgICAgICAgICB0aXR1bG86ICJBc3NpbmF0dXJhIEp1csOtZGljYSIsDQogICAgICAgICAgICBtYWlzQ29tcGxldGE6IHRydWUsDQogICAgICAgICAgICBzdWJ0aXR1bG86ICJBYnJhbmdlIGN1cnNvcyBwYXJhIHRvZGFzIGFzIGNhcnJlaXJhcywgaW5jbHVzaXZlIEFuYWxpc3RhcyBkZSBUcmlidW5haXMgY29tIGV4aWfDqm5jaWEgZGUgZm9ybWHDp8OjbyBlbSBEaXJlaXRvLiIsDQogICAgICAgICAgICBhc3NpbmF0dXJhczogWw0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJqdXJpZGljYUJhc2ljYTFBbm8iLCAgIG5vbWU6ICJKdXLDrWRpY2EgQsOhc2ljYTxicj4gMSBhbm8iLCAgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1qdXJpZGljYS1iYXNpY2EtMS1hbm8iIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImp1cmlkaWNhQmFzaWNhMkFub3MiLCAgbm9tZTogIkp1csOtZGljYSBCw6FzaWNhPGJyPiAyIGFub3MiLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLWp1cmlkaWNhLWJhc2ljYS0yLWFub3MiIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImp1cmlkaWNhUHJlbWl1bTFBbm8iLCAgbm9tZTogIkp1csOtZGljYSBQcmVtaXVtPGJyPiAxIGFubyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2Fzc2luYXR1cmEtanVyaWRpY2EtMS1hbm8iLCBkZXN0YXF1ZTogdHJ1ZSB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJqdXJpZGljYVByZW1pdW0yQW5vcyIsIG5vbWU6ICJKdXLDrWRpY2EgUHJlbWl1bTxicj4gMiBhbm9zIiwgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLWp1cmlkaWNhLTItYW5vcyIsIGRlc3RhcXVlOiB0cnVlIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgaWQ6ICJib3hBc3NpbmF0dXJhUHJvY3VyYWRvcmlhcyIsDQogICAgICAgICAgICB0aXR1bG86ICJBc3NpbmF0dXJhIFByb2N1cmFkb3JpYXMiLA0KICAgICAgICAgICAgc3VidGl0dWxvOiAiQWJyYW5nZSBhcyAyNyBQR0VzLCBQR01zLCBQcm9jdXJhZG9yaWFzIExlZ2lzbGF0aXZhcywgQWR2b2NhY2lhIFDDumJsaWNhIEZlZGVyYWwgZSBhZHZvY2FjaWEgcMO6YmxpY2EgZW0gZW50aWRhZGVzIGRhIEFkbWluaXN0cmHDp8OjbyBQw7pibGljYSBJbmRpcmV0YSIsDQogICAgICAgICAgICBhc3NpbmF0dXJhczogWw0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJwcm9jdXJhZG9yaWFzQmFzaWNhMUFubyIsICAgbm9tZTogIlByb2N1cmFkb3JpYXMgQsOhc2ljYTxicj4gMSBhbm8iLCAgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1wcm9jdXJhZG9yaWFzLWJhc2ljYS0xLWFubyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAicHJvY3VyYWRvcmlhc0Jhc2ljYTJBbm9zIiwgIG5vbWU6ICJQcm9jdXJhZG9yaWFzIELDoXNpY2E8YnI+IDIgYW5vcyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2Fzc2luYXR1cmEtcHJvY3VyYWRvcmlhcy1iYXNpY2EtMi1hbm9zIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJwcm9jdXJhZG9yaWFzUHJlbWl1bTFBbm8iLCAgbm9tZTogIlByb2N1cmFkb3JpYXMgUHJlbWl1bTxicj4gMSBhbm8iLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhcHJvY3VyYWRvcmlhcy0xLWFubyIsIGRlc3RhcXVlOiB0cnVlIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogInByb2N1cmFkb3JpYXNQcmVtaXVtMkFub3MiLCBub21lOiAiUHJvY3VyYWRvcmlhcyBQcmVtaXVtPGJyPiAyIGFub3MiLCB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2Fzc2luYXR1cmEtcHJvY3VyYWRvcmlhcy0yLWFub3MiLCBkZXN0YXF1ZTogdHJ1ZSB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIGlkOiAiYm94QXNzaW5hdHVyYU1hZ2lzdHJhdHVyYSIsDQogICAgICAgICAgICB0aXR1bG86ICJBc3NpbmF0dXJhIE1hZ2lzdHJhdHVyYSIsDQogICAgICAgICAgICBzdWJ0aXR1bG86ICJBYnJhbmdlIHRvZGFzIGFzIHByb3ZhcyBkbyBFTkFNLCBvcyAyNiBUcmlidW5haXMgZGUgSnVzdGnDp2EsIFRSRnMgZSBNYWdpc3RyYXR1cmEgZG8gVHJhYmFsaG8uIiwNCiAgICAgICAgICAgIGFzc2luYXR1cmFzOiBbDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogIm1hZ2lzdHJhdHVyYUJhc2ljYTFBbm8iLCAgIG5vbWU6ICJNYWdpc3RyYXR1cmEgQsOhc2ljYTxicj4gMSBhbm8iLCAgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1tYWdpc3RyYXR1cmEtYmFzaWNhLTEtYW5vLyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAibWFnaXN0cmF0dXJhQmFzaWNhMkFub3MiLCAgbm9tZTogIk1hZ2lzdHJhdHVyYSBCw6FzaWNhPGJyPiAyIGFub3MiLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtbWFnaXN0cmF0dXJhLWJhc2ljYS0yLWFub3MvIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJtYWdpc3RyYXR1cmFQcmVtaXVtMUFubyIsICBub21lOiAiTWFnaXN0cmF0dXJhIFByZW1pdW08YnI+IDEgYW5vIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLW1hZ2lzdHJhdHVyYS1hbnVhbC8iLCBkZXN0YXF1ZTogdHJ1ZSB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJtYWdpc3RyYXR1cmFQcmVtaXVtMkFub3MiLCBub21lOiAiTWFnaXN0cmF0dXJhIFByZW1pdW08YnI+IDIgYW5vcyIsIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLW1hZ2lzdHJhdHVyYS0yLWFub3MvIiwgZGVzdGFxdWU6IHRydWUgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBpZDogImJveEFzc2luYXR1cmFEZWx0YSIsDQogICAgICAgICAgICB0aXR1bG86ICJBc3NpbmF0dXJhIERlbHRhIiwNCiAgICAgICAgICAgIHN1YnRpdHVsbzogIkFicmFuZ2Ugb3MgMjYgZXN0YWRvcyBkYSBmZWRlcmHDp8OjbywgREYgZSBEZWxlZ2FkbyBkYSBQb2zDrWNpYSBGZWRlcmFsLiIsDQogICAgICAgICAgICBhc3NpbmF0dXJhczogWw0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJkZWx0YUJhc2ljYTFBbm8iLCAgIG5vbWU6ICJEZWx0YSBCw6FzaWNhPGJyPiAxIGFubyIsICAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtZGVsdGEtYmFzaWNhLTEtYW5vLyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAiZGVsdGFCYXNpY2EyQW5vcyIsICBub21lOiAiRGVsdGEgQsOhc2ljYTxicj4gMiBhbm9zIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWRlbHRhLWJhc2ljYS0yLWFub3MvIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJkZWx0YVByZW1pdW0xQW5vIiwgIG5vbWU6ICJEZWx0YSBQcmVtaXVtPGJyPiAxIGFubyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1kZWx0YS0xLWFuby8iLCBkZXN0YXF1ZTogdHJ1ZSB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJkZWx0YVByZW1pdW0yQW5vcyIsIG5vbWU6ICJEZWx0YSBQcmVtaXVtPGJyPiAyIGFub3MiLCB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1kZWx0YS0yLWFub3MvIiwgZGVzdGFxdWU6IHRydWUgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBpZDogImJveEFzc2luYXR1cmFDYXJ0b3Jpb3MiLA0KICAgICAgICAgICAgdGl0dWxvOiAiQXNzaW5hdHVyYSBDYXJ0w7NyaW9zIiwNCiAgICAgICAgICAgIHN1YnRpdHVsbzogIkFicmFuZ2UgdG9kYXMgYXMgcHJvdmFzIGRvIEVOQUMgZSBvcyBjb25jdXJzb3MgZGUgdG9kYXMgYXMgc2VydmVudGlhcyBkZSB0b2RvcyBvcyBUcmlidW5haXMuIiwNCiAgICAgICAgICAgIGFzc2luYXR1cmFzOiBbDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImNhcnRvcmlvc0Jhc2ljYTFBbm8iLCAgIG5vbWU6ICJDYXJ0w7NyaW9zIELDoXNpY2E8YnI+IDEgYW5vIiwgICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1jYXJ0b3Jpb3MtYmFzaWNhLTEtYW5vLyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAiY2FydG9yaW9zQmFzaWNhMkFub3MiLCAgbm9tZTogIkNhcnTDs3Jpb3MgQsOhc2ljYTxicj4gMiBhbm9zIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWNhcnRvcmlvcy1iYXNpY2EtMi1hbm9zLyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAiY2FydG9yaW9zUHJlbWl1bTFBbm8iLCAgbm9tZTogIkNhcnTDs3Jpb3MgUHJlbWl1bTxicj4gMSBhbm8iLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtY2FydG9yaW9zLTEtYW5vLyIsIGRlc3RhcXVlOiB0cnVlIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImNhcnRvcmlvc1ByZW1pdW0yQW5vcyIsIG5vbWU6ICJDYXJ0w7NyaW9zIFByZW1pdW08YnI+IDIgYW5vcyIsIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWNhcnRvcmlvcy0yLWFub3MvIiwgZGVzdGFxdWU6IHRydWUgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBpZDogImJveEFzc2luYXR1cmFEZWZlbnNvcmlhcyIsDQogICAgICAgICAgICB0aXR1bG86ICJBc3NpbmF0dXJhIERlZmVuc29yaWFzIiwNCiAgICAgICAgICAgIHN1YnRpdHVsbzogIkFicmFuZ2UgYXMgMjcgRFBFcywgaW5jbHVpbmRvIGEgRFBERiwgZSBhIERQVSIsDQogICAgICAgICAgICBhc3NpbmF0dXJhczogWw0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJkZWZlbnNvcmlhc0Jhc2ljYTFBbm8iLCAgIG5vbWU6ICJEZWZlbnNvcmlhcyBCw6FzaWNhPGJyPiAxIGFubyIsICAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtZGVmZW5zb3JpYXMtYmFzaWNhLTEtYW5vLyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAiZGVmZW5zb3JpYXNCYXNpY2EyQW5vcyIsICBub21lOiAiRGVmZW5zb3JpYXMgQsOhc2ljYTxicj4gMiBhbm9zIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWRlZmVuc29yaWFzLWJhc2ljYS0yLWFub3MvIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJkZWZlbnNvcmlhc1ByZW1pdW0xQW5vIiwgIG5vbWU6ICJEZWZlbnNvcmlhcyBQcmVtaXVtPGJyPiAxIGFubyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1kZWZlbnNvcmlhLTEtYW5vLyIsIGRlc3RhcXVlOiB0cnVlIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImRlZmVuc29yaWFzUHJlbWl1bTJBbm9zIiwgbm9tZTogIkRlZmVuc29yaWFzIFByZW1pdW08YnI+IDIgYW5vcyIsIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWRlZmVuc29yaWEtMi1hbm9zLyIsIGRlc3RhcXVlOiB0cnVlIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgaWQ6ICJib3hBc3NpbmF0dXJhUHJvbW90b3JpYXMiLA0KICAgICAgICAgICAgdGl0dWxvOiAiQXNzaW5hdHVyYSBQcm9tb3RvcmlhcyIsDQogICAgICAgICAgICBzdWJ0aXR1bG86ICJBYnJhbmdlIG9zIDI2IE1QRXMsIE1QREZULCBNUEYsIE1QVCBlIE1pbmlzdMOpcmlvIFDDumJsaWNvIGRlIENvbnRhcyIsDQogICAgICAgICAgICBhc3NpbmF0dXJhczogWw0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJwcm9tb3Rvcmlhc0Jhc2ljYTFBbm8iLCAgIG5vbWU6ICJQcm9tb3RvcmlhcyBCw6FzaWNhPGJyPiAxIGFubyIsICAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtcHJvbW90b3JpYXMtYmFzaWNhLTEtYW5vLyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAicHJvbW90b3JpYXNCYXNpY2EyQW5vcyIsICBub21lOiAiUHJvbW90b3JpYXMgQsOhc2ljYTxicj4gMiBhbm9zIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLXByb21vdG9yaWFzLWJhc2ljYS0yLWFub3MvIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJwcm9tb3Rvcmlhc1ByZW1pdW0xQW5vIiwgIG5vbWU6ICJQcm9tb3RvcmlhcyBQcmVtaXVtPGJyPiAxIGFubyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1wcm9tb3RvcmlhLTEtYW5vLyIsIGRlc3RhcXVlOiB0cnVlIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogInByb21vdG9yaWFzUHJlbWl1bTJBbm9zIiwgbm9tZTogIlByb21vdG9yaWFzIFByZW1pdW08YnI+IDIgYW5vcyIsIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLXByb21vdG9yaWEtMi1hbm9zLyIsIGRlc3RhcXVlOiB0cnVlIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfQ0KICAgIF07DQoNCiAgICBmdW5jdGlvbiBtb250YXJCb3hQcmVjbyAoYXNzaW5hdHVyYSkgew0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94UHJlY29zIj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94UHJlY28iPicgKw0KICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRpdHVsbyI+Q2FydMOjbzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJwcmVjb0RlIG5vbmUiPjwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJwcmVjb1BvciI+PC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGEgaHJlZj0iJyArIGFzc2luYXR1cmEudXJsICsgJyI+QXNzaW5lIGFnb3JhPC9hPicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICc8L2Rpdj4nOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyQXNzaW5hdHVyYSAoYXNzaW5hdHVyYSkgew0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94QXNzaW5hdHVyYSIgZGF0YS1jaGF2ZT0iJyArIGFzc2luYXR1cmEuY2hhdmUgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW50ZXJubyAnICsgKGFzc2luYXR1cmEuZGVzdGFxdWUgPyAnbWVsaG9yT2ZlcnRhQm94JyA6ICdzZW1NZWxob3JPZmVydGEnKSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAoYXNzaW5hdHVyYS5kZXN0YXF1ZSA\/ICc8c3BhbiBjbGFzcz0ibWVsaG9yT2ZlcnRhIj5NYWlzIGNvbXBsZXRvPC9zcGFuPicgOiAnJykgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94RWNvbm9taXplIj48L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxoMj4nICsgYXNzaW5hdHVyYS5ub21lICsgJzwvaDI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJsaXN0YUJvbnVzIj48dWw+PC91bD48L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgbW9udGFyQm94UHJlY28oYXNzaW5hdHVyYSkgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94TGlua1NhaWJhIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8YSBjbGFzcz0ibGlua1NhaWJhIj5Db25oZcOnYSBhcyBmZXJyYW1lbnRhcyBleGNsdXNpdmFzPC9hPicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvZGl2Pic7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJDYXJyZWlyYSAoY2FycmVpcmEsIGluZGljZSkgew0KDQogICAgICAgIHZhciB0YWcgPSBjYXJyZWlyYS5tYWlzQ29tcGxldGEgPyAnPHNwYW4gY2xhc3M9InRhZ0NvbXBsZXRhIj5NQUlTIENPTVBMRVRBPC9zcGFuPicgOiAnJzsNCg0KICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNhcmQgcGFuZWwgcGFuZWwtZGVmYXVsdCIgaWQ9IicgKyBjYXJyZWlyYS5pZCArICciPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdDYXJyZWlyYXNFc3BlY2lmaWNhcycgKyBpbmRpY2UgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VDYXJyZWlyYXNFc3BlY2lmaWNhcycgKyBpbmRpY2UgKyAnIicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJyBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iY29sbGFwc2UnICsgaW5kaWNlICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29udGFpbmVyIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94VGl0dWxvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ0aXR1bG9Mb3RlIj4nICsgZXNjYXBhckh0bWwoY2FycmVpcmEudGl0dWxvKSArIHRhZyArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ic3VidGl0dWxvTG90ZSI+JyArIGVzY2FwYXJIdG1sKGNhcnJlaXJhLnN1YnRpdHVsbykgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtcGx1cy13aGl0ZS5zdmciIGFsdD0iQWJyaXIgZMO6dmlkYSI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2J1dHRvbj4nICsNCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzxkaXYgaWQ9ImNvbGxhcHNlQ2FycmVpcmFzRXNwZWNpZmljYXMnICsgaW5kaWNlICsgJyIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvIicgKw0KICAgICAgICAgICAgICAgICAgICAnIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0NhcnJlaXJhc0VzcGVjaWZpY2FzJyArIGluZGljZSArICciJyArDQogICAgICAgICAgICAgICAgICAgICcgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9Imxpc3RhQXNzaW5hdHVyYXNDb250ZXVkbyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FycmVpcmEuYXNzaW5hdHVyYXMubWFwKG1vbnRhckFzc2luYXR1cmEpLmpvaW4oJycpICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICc8L2Rpdj4nOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyQ2FycmVpcmFzRXNwZWNpZmljYXMgKCkgew0KDQogICAgICAgICQoJyNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcycpLmh0bWwoDQogICAgICAgICAgICBjYXJyZWlyYXMubWFwKG1vbnRhckNhcnJlaXJhKS5qb2luKCcnKQ0KICAgICAgICApOw0KDQogICAgfQ0KDQogICAgLy8gUmVzdWx0YWRvcyBlbSBjb25jdXJzb3MgKC5yZXN1bHRhZG9zQ29uY3Vyc29zKS4NCiAgICAvLyBDYWRhIGNvbnF1aXN0YSDDqSB1bSBkZXN0YXF1ZSAow61jb25lIGRlIHDDs2Rpby90cm9mw6l1KSBvdSB1bSBwZXJjZW50dWFsIChncsOhZmljbykuDQogICAgLy8gInRleHRvIiBhY2VpdGEgSFRNTCDigJQgcXVhc2UgdG9kb3MgdXNhbSA8c3Ryb25nPiBwYXJhIHJlYWzDp2FyIG8gbsO6bWVyby4NCg0KICAgIHZhciByZXN1bHRhZG9zID0gWw0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICI1wrogRU5BTSAoMjAyNi4xKSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICI0LjUwMCBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgZm9yYW0gYXByb3ZhZG9zIG5vIEVOQU0gMjAyNi4xISIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICIzwrogRU5BQyAoMjAyNi4xKSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiMzgwIGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBmb3JhbSBhcHJvdmFkb3Mgbm8gRU5BQyAyMDI2LjEhIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkFkdm9nYWRvIEVNQ09QIFJpbyBQcmV0byAyMDI2IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICJBcHJvdmFkbyBlbSAxwrogbHVnYXIgw6kgYWx1bm8gZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMuIiB9LA0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiQ29uY3Vyc28gb2ZlcnRvdSBhcGVuYXMgMSB2YWdhIC0gYXByb3ZhZG9zIGVtIDLCuiwgM8K6IGUgNMK6IGx1Z2FyIHRhbWLDqW0gc8OjbyBub3Nzb3MgYWx1bm9zIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlBHRSBNVCBQcm9jdXJhZG9yIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIjkgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGFwcm92YWRvcyBubyBjb25jdXJzby4iIH0sDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICJJbmNsdXNpdmUsIG9zIGFwcm92YWRvcyBlbSAxwrosIDLCuiBlIDPCuiBsdWdhciEiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiTVBGIFByb2N1cmFkb3IgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICIxNCBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgYXByb3ZhZG9zIG5vIGNvbmN1cnNvLCBpbmNsdWluZG8gbyA0wrosIDbCuiwgN8K6IGUgOcK6IGx1Z2FyLiIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJEUEUgUlMgRGVmZW5zb3IgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiNyBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgYXByb3ZhZG9zIG5vIGNvbmN1cnNvLCBpbmNsdWluZG8gbyAywrogbHVnYXIuIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkRlbGVnYWRvIFBvbMOtY2lhIEZlZGVyYWwgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiNjYgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGFwcm92YWRvcyBubyBjb25jdXJzby4gIiB9LA0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiSW5jbHVzaXZlLCBvcyBhcHJvdmFkb3MgZW0gMcK6IGUgNMK6IGx1Z2FyISIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJEZWxlZ2FkbyBQQyBDRSAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICIzNyBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgYXByb3ZhZG9zIG5vIGNvbmN1cnNvLCBpbmNsdWluZG8gbyA0wrogbHVnYXIuIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb2N1cmFkb3IgQ8OibWFyYSBkZSBJdHVtYmlhcmEgR08gMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiQXByb3ZhZG8gZW0gMcK6IGx1Z2FyIMOpIGFsdW5vIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzLiBDb25jdXJzbyBvZmVydG91IGFwZW5hcyAxIHZhZ2EgLSBhcHJvdmFkb3MgZW0gMsK6IGUgM8K6IGx1Z2FyIHRhbWLDqW0gc8OjbyBub3Nzb3MgYWx1bm9zIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkFkdm9nYWRvIE5JVFRSQU5TIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIkFwcm92YWRvIGVtIDHCuiBsdWdhciDDqSBhbHVubyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcy4gQ29uY3Vyc28gb2ZlcnRvdSBhcGVuYXMgMSB2YWdhIC0gYXByb3ZhZG8gZW0gMsK6IGx1Z2FyIHRhbWLDqW0gw6kgbm9zc28gYWx1bm8iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiQWR2b2dhZG8gUHJlZmVpdHVyYSBkZSBKb2ludmlsbGUgU0MgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiQXByb3ZhZG8gZW0gMcK6IGx1Z2FyIMOpIGFsdW5vIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzLiBDb25jdXJzbyBvZmVydG91IGFwZW5hcyAxIHZhZ2EiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvbW90b3IgTVAgUkogMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICJBcHJvdmFkbyBlbSAywrogbHVnYXIgZXN0dWRvdSBjb20gbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcy4iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiQWR2b2dhZG8gQ1JPIFNQIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiQWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIG9jdXBhbSBhcyAyIHZhZ2FzIG9mZXJ0YWRhcyBubyBjb25jdXJzby4iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiSnVpeiBUSiBTQyAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIjggYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGFwcm92YWRvcyBubyBjb25jdXJzbywgaW5jbHVpbmRvIG8gMcK6IGx1Z2FyISIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJKdWl6IExlaWdvIFRKIFNDIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiMjAgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGFwcm92YWRvcyBubyBjb25jdXJzbywgaW5jbHVpbmRvIDHCuiBlIDLCuiBsdWdhci4iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfQ0KICAgIF07DQoNCiAgICBmdW5jdGlvbiBtb250YXJDb25xdWlzdGEgKGNvbnF1aXN0YSkgew0KDQogICAgICAgIHZhciBkZXN0YXF1ZSA9IGNvbnF1aXN0YS5wZXJjZW50dWFsICE9PSB1bmRlZmluZWQNCiAgICAgICAgICAgID8gJzxkaXYgY2xhc3M9ImNoYXJ0IGVhc3ktcGllLWNoYXJ0IiBkYXRhLXBlcmNlbnQ9IicgKyBjb25xdWlzdGEucGVyY2VudHVhbCArICciPicgKw0KICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJwZXJjZW50Ij4nICsgY29ucXVpc3RhLnBlcmNlbnR1YWwgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAnPC9kaXY+Jw0KICAgICAgICAgICAgOiAnPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtJyArIGNvbnF1aXN0YS5pY29uZSArICcuc3ZnIiBhbHQ9IlZlciBNYWlzIj4nOw0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94UmVzdWx0YWRvIj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94UmVzdWx0YWRvSW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUZXh0byI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRleHRvIj4nICsgY29ucXVpc3RhLnRleHRvICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RhcXVlICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICc8L2Rpdj4nOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyUmVzdWx0YWRvIChyZXN1bHRhZG8pIHsNCg0KICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbC1zbS0zIj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94Q2FycmVpcmEiPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94VGl0dWxvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8aDM+JyArIGVzY2FwYXJIdG1sKHJlc3VsdGFkby50aXR1bG8pICsgJzwvaDM+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9Imxpc3RhSXRlbnMiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0YWRvLmNvbnF1aXN0YXMubWFwKG1vbnRhckNvbnF1aXN0YSkuam9pbignJykgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvZGl2Pic7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJSZXN1bHRhZG9zICgpIHsNCg0KICAgICAgICAvLyBwcmVwZW5kOiBvIGJvdMOjbyAiTW9zdHJhciBtYWlzIHJlc3VsdGFkb3MiIMOpIG8gw7psdGltbyBmaWxobyBkbyBjb250YWluZXINCiAgICAgICAgJCgnLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuY29udGFpbmVyJykucHJlcGVuZCgNCiAgICAgICAgICAgIHJlc3VsdGFkb3MubWFwKG1vbnRhclJlc3VsdGFkbykuam9pbignJykNCiAgICAgICAgKTsNCg0KICAgIH0NCg0KICAgIC8vIFByb2Zlc3NvcmVzIHBvciDDoXJlYSAoI2FjY29yZGlvblByb2Zlc3NvcmVzKS4NCiAgICAvLyBPIG1lc21vIHByb2Zlc3NvciBhcGFyZWNlIGVtIHbDoXJpYXMgw6FyZWFzLCBjb20gY2FyZ28gZXNwZWPDrWZpY28gZGUgY2FkYSB1bWEg4oCUDQogICAgLy8gcG9yIGlzc28gbyBjYXJnbyBmaWNhIG5hIGVudHJhZGEgZGEgw6FyZWEsIGUgbsOjbyBudW0gY2FkYXN0cm8gw7puaWNvLg0KDQogICAgLy8gQXJxdWl2b3MgY3VqbyBub21lIG7Do28gc2VndWUgYSBncmFmaWEgZG8gcHJvZmVzc29yDQogICAgdmFyIGltYWdlbnNQcm9mZXNzb3JlcyA9IHsNCiAgICAgICAgIkZyYW5rIFdlbmRlbCBDaG9zc2FuaSI6ICAiZnJhbmstd25kZWwtY2hvc3NhbmkuanBnIiwNCiAgICAgICAgIlJhZmFlbCBCYXJyZXRvIjogICAgICAgICAicmFmYWVsLWJhcnJldHRvLmpwZyIsDQogICAgICAgICJGbMOhdmlvIE1pbGhvbWVtIjogICAgICAgICJmbGF2aW8tbWlsaG9tZW4uanBnIiwNCiAgICAgICAgIkpvc2lhcyBCYXJjZWxvcyBKw7puaW9yIjogImpvc2lhcy1iYXJjZWxvcy5qcGciLA0KICAgICAgICAiTHVjYXMgUGVzc8O0YSBNb3JlaXJhIjogICAibHVjYXMtcGVzc29hLmpwZyINCiAgICB9Ow0KDQogICAgdmFyIHByb2Zlc3NvcmVzID0gWw0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9mZXNzb3JlcyBkZSBEZWZlbnNvcmlhIiwNCiAgICAgICAgICAgIGVxdWlwZTogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkFsbGFuIEpvb3MiLCAgICAgIGNhcmdvOiAiQ29vcmRlbmFkb3IgZGEgw6FyZWEgZGUgRGVmZW5zb3JpYSBlIHByb2Zlc3NvciBkZSBEaXJlaXRvIFBlbmFsLCBQcm9jZXNzdWFsIFBlbmFsLCBDcmltaW5vbG9naWEgZSBFeGVjdcOnw6NvIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkRhbmllbCBNZXNxdWl0YSIsIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTWFyaWEgRWR1YXJkYSBTZXJlam8iLCBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBDaXZpbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJZYXNtaW4gVXNoYXJhIiwgY2FyZ286ICJQcm9ncmFtYSBkZSBNZXRhcyIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9mZXNzb3JlcyBkZSBDYXJ0w7NyaW9zIiwNCiAgICAgICAgICAgIGVxdWlwZTogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkFkcmlhbm8gw4FsdmFyZXMiLCAgICAgICAgY2FyZ286ICJDb29yZGVuYWRvciBkYSDDoXJlYSBkZSBDYXJ0w7NyaW9zIGUgcHJvZmVzc29yIGRlIFRhYmVsaW9uYXRvIGRlIFByb3Rlc3RvcyBlIFJlZ2lzdHJvIGRlIEltw7N2ZWlzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlBhbG9tYSBCZXJ0dG90dGkiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvcmEgZGUgUmVnaXN0cm8gQ2l2aWwgZGUgUGVzc29hcyBOYXR1cmFpcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQYXVsbyBTb3VzYSIsICAgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBDaXZpbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJOZWxtYSBGb250YW5hIiwgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gQ29uc3RpdHVjaW9uYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9kcmlnbyBWYXNsaW4iLCAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBDaXZpbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2RvbGZvIFBlbm5hIiwgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJJZ29yIE1hY2llbCIsICAgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byBlIERpcmVpdG8gZG8gQ29uc3VtaWRvciIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJNaWNoYWVsIFByb2PDs3BpbyIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTGVvbmFyZG8gVGF2YXJlcyIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc28gUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUmljYXJkbyBUb3JxdWVzIiwgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIEVzdGF0dXRvIGRhIENyaWFuw6dhIGUgQWRvbGVzY2VudGUiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTGVhbmRybyBTaWdub3JpIiwgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIEF0dWFsaWRhZGVzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkFzc3Vlcm8gUm9kcmlndWVzIE5ldG8iLCBjYXJnbzogIlRlb3JpYSBHZXJhbCBkbyBEaXJlaXRvIE5vdGFyaWFsIGUgUmVnaXN0cmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkZyYW5rIFdlbmRlbCBDaG9zc2FuaSIsICBjYXJnbzogIlRhYmVsaW9uYXRvIGRlIE5vdGFzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJhZmFlbCBTcMOtbm9sYSBDYXN0cm8iLCAgY2FyZ286ICJSZWdpc3RybyBkZSBJbcOzdmVpcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQZWRybyBSb2NoYSIsICBjYXJnbzogIlRhYmVsaW9uYXRvIGRlIE5vdGFzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIklodXJ1IEFzc3Vuw6fDo28iLCAgY2FyZ286ICIiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvZmVzc29yZXMgZGUgUHJvbW90b3JpYSIsDQogICAgICAgICAgICBlcXVpcGU6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJHdWlsaGVybWUgUmV6ZW5kZSIsIGNhcmdvOiAiQ29vcmRlbmFkb3IgZGEgw6FyZWEgZGUgUHJvbW90b3JpYSBlIHByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiVmluaWNpdXMgWm9wb25pIiwgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvcyBIdW1hbm9zIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk5lbG1hIEZvbnRhbmEiLCAgICAgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gQ29uc3RpdHVjaW9uYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUGF1bG8gU291c2EiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIENpdmlsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlRoaWFnbyBMZWl0ZSIsICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBbWJpZW50YWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiQWxleCBGYWRlbCIsICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBMZWdpc2xhw6fDo28gUGVuYWwgRXNwZWNpYWwgZSBFQ0EiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiR3VzdGF2byBDb3JkZWlybyIsICBjYXJnbzogIlByb2Zlc3NvciBkZSBkaWZ1c29zLCBjb2xldGl2b3MgZSBpbmRpdmlkdWFpcyBob21vZ8OqbmVvcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJNYXJpc2EgQmV6ZXJyYSIsICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIFRyaWJ1dMOhcmlvIGUgRWxlaXRvcmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkFkcnlhbiBKdXZlciIsICAgIGNhcmdvOiAiIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkRhbmllbCBSaXp6YSIsICAgIGNhcmdvOiAiRW1wcmVzYXJpYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRmVsaXBlIER1cXVlIiwgICAgY2FyZ286ICJEaXJlaXRvIFRyaWJ1dMOhcmlvIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb2Zlc3NvcmVzIGRlIE1hZ2lzdHJhdHVyYSIsDQogICAgICAgICAgICBlcXVpcGU6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2RyaWdvIFZhc2xpbiIsICAgIGNhcmdvOiAiQ29vcmRlbmFkb3IgZGEgw6FyZWEgZGUgTWFnaXN0cmF0dXJhIGUgcHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBDaXZpbCBlIFR1dGVsYSBDb2xldGl2YSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJOZWxtYSBGb250YW5hIiwgICAgIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIENvbnN0aXR1Y2lvbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZG9sZm8gUGVubmEiLCAgICAgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUGF1bG8gU291c2EiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIENpdmlsIGUgRGlyZWl0byBBZ3LDoXJpbyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJNaWNoYWVsIFByb2PDs3BpbyIsICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkxlb25hcmRvIFRhdmFyZXMiLCAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkl2YW4gTWFycXVlcyIsICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgTGVnaXNsYcOnw6NvIFBlbmFsIEVzcGVjaWFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZ8OpcmlvIEN1bmhhIiwgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gVHJpYnV0w6FyaW8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiVGhpYWdvIExlaXRlIiwgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFtYmllbnRhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJJZ29yIE1hY2llbCIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gZG8gQ29uc3VtaWRvciIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJBbGV4IEZhZGVsIiwgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIEVDQSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJEYW5uaWVsIEFkcmlhbm8iLCAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQ29uc3RpdHVjaW9uYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiQnJ1bm8gVGVycmEiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgQ2l2aWwgZSBDb25zdW1pZG9yIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkRhbmllbCBSaXp6YSIsICAgIGNhcmdvOiAiRW1wcmVzYXJpYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiR3VzdGF2byBDb3JkZWlybyIsICAgIGNhcmdvOiAiRUNBIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkxlb25hcmRvIEZlcm5hbmRlcyIsICAgIGNhcmdvOiAiRGlyZWl0byBFbGVpdG9yYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSnVsaWFuYSBNb3JhaXMiLCAgICBjYXJnbzogIkRpcmVpdG8gZG8gVHJhYmFsaG8gZSBQcm9jZXNzbyBkbyBUcmFiYWxobyIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9mZXNzb3JlcyBkZSBEZWxlZ2Fkb3MiLA0KICAgICAgICAgICAgZXF1aXBlOiBbDQogICAgICAgICAgICAgICAgeyBub21lOiAiTWljaGFlbCBQcm9jw7NwaW8iLCAgY2FyZ286ICJDb29yZGVuYWRvciBkYSDDoXJlYSBkZSBEZWxlZ2Fkb3MgZSBwcm9mZXNzb3IgZGUgRGlyZWl0byBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQYXVsbyBTb3VzYSIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQ2l2aWwgZSBEaXJlaXRvIEFncsOhcmlvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZHJpZ28gVmFzbGluIiwgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIENpdmlsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlBhdWxvIEJpbHluc2t5aiIsICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgTWVkaWNpbmEgTGVnYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiV2FsZXNrYSBBbHZhcmVuZ2EiLCBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBQZW5hbCBlIFBlw6dhcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMZW9uYXJkbyBUYXZhcmVzIiwgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJJdmFuIE1hcnF1ZXMiLCAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIExlZ2lzbGHDp8OjbyBQZW5hbCBFc3BlY2lhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2RvbGZvIFBlbm5hIiwgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTmVsbWEgRm9udGFuYSIsICAgICBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBDb25zdGl0dWNpb25hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSaWNhcmRvIFRvcnF1ZXMiLCAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG9zIEh1bWFub3MiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiVGhpYWdvIExlaXRlIiwgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFtYmllbnRhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJJZ29yIE1hY2llbCIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiT3RvIEFuZHJhZGUiLCAgICAgICBjYXJnbzogIkRpcmVpdG8gQ29uc3RpdHVjaW9uYWwgZSBQZcOnYXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTHVjYXMgUGV0cnkiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkxhcnlzc2EgTmV2ZXMiLCAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkZhYnLDrWNpbyBEdXRyYSIsICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIFBvcnR1Z3XDqnMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRGllZ28gQ2FydmFsaG8iLCAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBJbmZvcm3DoXRpY2EiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiVGhvbWF6IFJpYmVpcm8iLCAgICBjYXJnbzogIldlYmluYXJpc3RhIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlByaXNjaWxsYSBDYXJ2YWxobyIsICAgIGNhcmdvOiAiV2ViaW5hcmlzdGEiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTHVjYXMgQnJpc29sYSIsICAgIGNhcmdvOiAiTWVkaWNpbmEgTGVnYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUmFmYWVsIEdvYmJpIiwgICAgY2FyZ286ICJDcmltaW5hbMOtc3RpY2EgZSBQcm9jZXNzbyBQZW5hbCIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9mZXNzb3JlcyBkZSBQcm9jdXJhZG9yaWEiLA0KICAgICAgICAgICAgZXF1aXBlOiBbDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9kb2xmbyBQZW5uYSIsICAgICAgICAgIGNhcmdvOiAiQ29vcmRlbmFkb3IgZGEgw6FyZWEgZGUgUHJvY3VyYWRvcmlhcyBlIHByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkpvc2lhcyBCYXJjZWxvcyBKw7puaW9yIiwgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBDaXZpbCBlIFByb2Nlc3NvIENpdmlsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIklnb3IgTWFjaWVsIiwgICAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIGUgRGlyZWl0byBkbyBDb25zdW1pZG9yIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkZlbGlwZSBEdXF1ZSIsICAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFRyaWJ1dMOhcmlvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkpvw6NvIExhd2FsbCIsICAgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBGaW5hbmNlaXJvIGUgRWNvbsO0bWljbyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJBZHJpYW5hIE1lbmV6ZXMiLCAgICAgICAgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gUHJldmlkZW5jacOhcmlvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkx1Y2FzIFBlc3PDtGEgTW9yZWlyYSIsICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBkbyBUcmFiYWxobyBlIFByb2Nlc3NvIGRvIFRyYWJhbGhvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlRoaWFnbyBMZWl0ZSIsICAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFtYmllbnRhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJUaGFpcyBTb3V6YSIsICAgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIENpdmlsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkZlbGlwZSBGZXJuYW5kZXMiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIGRvIFRyYWJhbGhvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkRhbmllbCBNZXNxdWl0YSIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRGFuaWVsIFJpenphIiwgICAgICAgY2FyZ286ICJFbXByZXNhcmlhbCIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9DQogICAgXTsNCg0KICAgIC8vIEEgZm90byBzZWd1ZSBhIGdyYWZpYSBkbyBub21lICgiQWxsYW4gSm9vcyIgLT4gImFsbGFuLWpvb3MuanBnIiksDQogICAgLy8gc2Fsdm8gb3MgYXJxdWl2b3MgbGlzdGFkb3MgZW0gaW1hZ2Vuc1Byb2Zlc3NvcmVzLg0KDQogICAgZnVuY3Rpb24gZm90b1Byb2Zlc3NvciAobm9tZSkgew0KDQogICAgICAgIGlmIChpbWFnZW5zUHJvZmVzc29yZXNbbm9tZV0pIHsNCiAgICAgICAgICAgIHJldHVybiAnaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Byb2Zlc3NvcmVzLycgKyBpbWFnZW5zUHJvZmVzc29yZXNbbm9tZV07DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc2x1ZyA9IG5vbWUNCiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpDQogICAgICAgICAgICAubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXHUwMzAwLVx1MDM2Zl0vZywgJycpDQogICAgICAgICAgICAucmVwbGFjZSgvW15hLXowLTldKy9nLCAnLScpDQogICAgICAgICAgICAucmVwbGFjZSgvXi18LSQvZywgJycpOw0KDQogICAgICAgIHJldHVybiAnaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Byb2Zlc3NvcmVzLycgKyBzbHVnICsgJy5qcGcnOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyUHJvZmVzc29yIChwcm9mZXNzb3IpIHsNCg0KICAgICAgICB2YXIgbm9tZSA9IGVzY2FwYXJIdG1sKHByb2Zlc3Nvci5ub21lKTsNCg0KICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgJzxsaSBjbGFzcz0iY29sLXNtLTMiPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hJbnRlcm5vIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxpbWcgc3JjPSInICsgZm90b1Byb2Zlc3Nvcihwcm9mZXNzb3Iubm9tZSkgKyAnIiBhbHQ9IicgKyBub21lICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUZXh0byI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9Im5vbWUiPicgKyBub21lICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8cD4nICsgZXNjYXBhckh0bWwocHJvZmVzc29yLmNhcmdvKSArICc8L3A+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAnPC9saT4nOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyQXJlYVByb2Zlc3NvcmVzIChhcmVhLCBpbmRpY2UpIHsNCg0KICAgICAgICB2YXIgYWJlcnRvID0gaW5kaWNlID09PSAwOw0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nUHJvZmVzc29yZXMnICsgaW5kaWNlICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicgKyAoYWJlcnRvID8gJycgOiAnY29sbGFwc2VkJykgKyAnIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VQcm9mZXNzb3JlcycgKyBpbmRpY2UgKyAnIicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJyBhcmlhLWV4cGFuZGVkPSInICsgKGFiZXJ0byA\/ICd0cnVlJyA6ICdmYWxzZScpICsgJyIgYXJpYS1jb250cm9scz0iY29sbGFwc2UnICsgaW5kaWNlICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29udGFpbmVyIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRpdHVsbyI+JyArIGVzY2FwYXJIdG1sKGFyZWEudGl0dWxvKSArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXBsdXMtd2hpdGUuc3ZnIiBhbHQ9IkFicmlyIGTDunZpZGEiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9idXR0b24+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGlkPSJjb2xsYXBzZVByb2Zlc3NvcmVzJyArIGluZGljZSArICciIGNsYXNzPSJjb2xsYXBzZSBib3hDb250ZXVkbycgKyAoYWJlcnRvID8gJyBpbicgOiAnJykgKyAnIicgKw0KICAgICAgICAgICAgICAgICAgICAnIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ1Byb2Zlc3NvcmVzJyArIGluZGljZSArICciIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uUHJvZmVzc29yZXMiPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29udGFpbmVyIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8dWw+JyArIGFyZWEuZXF1aXBlLm1hcChtb250YXJQcm9mZXNzb3IpLmpvaW4oJycpICsgJzwvdWw+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAnPC9kaXY+JzsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhclByb2Zlc3NvcmVzICgpIHsNCg0KICAgICAgICAkKCcjYWNjb3JkaW9uUHJvZmVzc29yZXMnKS5odG1sKHByb2Zlc3NvcmVzLm1hcChtb250YXJBcmVhUHJvZmVzc29yZXMpLmpvaW4oJycpKTsNCg0KICAgIH0NCg0KICAgIC8vIENvbnRlw7pkb3MgZSBmdW5jaW9uYWxpZGFkZXMgKCNwYXNzb3NBcHJvdmFjYW8pLg0KICAgIC8vICJuaXZlbCIgw6kgbyBtZXNtbyBtb2RlbG8gY3VtdWxhdGl2byBkYSBjb21wYXJhw6fDo286IHVtIGNvbnRlw7pkbyBkZSBuw612ZWwNCiAgICAvLyAicHJlbWl1bSIgYXBhcmVjZSBtYXJjYWRvIGNvbW8gUFJFTUlVTSBlIFBMQVRJTlVNLg0KDQogICAgdmFyIHJvdHVsb05pdmVsID0gew0KICAgICAgICAnYmFzaWNhJzogICAnQsOBU0lDQScsDQogICAgICAgICdwcmVtaXVtJzogICdQUkVNSVVNJywNCiAgICAgICAgJ3BsYXRpbnVtJzogJ1BMQVRJTlVNJw0KICAgIH07DQoNCiAgICB2YXIgcGFzc29zID0gWw0KICAgICAgICB7IG5pdmVsOiAiYmFzaWNhIiwgICBpbWc6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zL2xpdnJvLWRpZ2l0YWwtaW50ZXJhdGl2by5wbmciLCAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICB0aXR1bG86ICJMaXZybyBEaWdpdGFsIEludGVyYXRpdm8gKExESSkiLA0KICAgICAgICAgIGRlc2NyaWNhbzogIk8gbm9zc28gTERJIMOpIHVtIHBvZGVyb3NvIHJlY3Vyc28gZGlkw6F0aWNvIHF1ZSBhZ3JlZ2EgZW0gdW1hIMO6bmljYSBpbnRlcmZhY2UgbWF0ZXJpYWlzIGNvbXBsZXRvcyBlbSB2w61kZW8sIGVzY3JpdG9zLCBlbSDDoXVkaW8sIHF1ZXN0w7VlcywgbWFwYXMgbWVudGFpcyBlIHJlc3Vtb3MuIEFsw6ltIGRpc3NvIHBlcm1pdGUgcXVlIHZvY8OqIGV4dHJhaWEgdW0gcmVzdW1vIGRvcyBncmlmb3MgZSBhbm90YcOnw7VlcyBmZWl0b3Mgbm8gUERGLCBhbMOpbSBkZSBwZXJtaXRpciBhIG5hdmVnYcOnw6NvIHBvciB1bSBzdW3DoXJpbyBpbnRlbGlnZW50ZS4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvY3Vyc29zLWV4Y2x1c2l2b3MtZGUtZXh0ZW5zYW8ucG5nIiwgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgIHRpdHVsbzogIkN1cnNvcyBFeGNsdXNpdm9zIGRlIEV4dGVuc8OjbyIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiQ3Vyc29zIGVtIHbDrWRlbyBkZSBhcHJvZnVuZGFtZW50byBuYXMgcHJpbmNpcGFpcyBkaXNjaXBsaW5hcyBqdXLDrWRpY2FzIGUgZGUgYWJvcmRhZ2VtIGRlIHRlbWFzIGVzcGVjw61maWNvcyBvdSBhcHJvZnVuZGFkb3MgY29uZm9ybWUgYSBjYXJyZWlyYSBlIG8gY29uY3Vyc28uIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBpbWc6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zL3RyaWxoYXMtZXN0cmF0ZWdpY2FzLnBuZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICB0aXR1bG86ICJUcmlsaGFzIEVzdHJhdMOpZ2ljYXMiLA0KICAgICAgICAgIGRlc2NyaWNhbzogIkd1aWEgZGUgZXN0dWRvcyBlc3RydXR1cmFkbyBjb25mb3JtZSBvIGNvbmN1cnNvIHBhcmEgZXN0dWRvIHJlZ3VsYXIgZSBww7NzLWVkaXRhbCwgY29tIGRpc3RyaWJ1acOnw6NvIHNlbWFuYWwgZGUgdGFyZWZhcyBwYXJhIHF1ZSB2b2PDqiBkw6ogYXRlbsOnw6NvIGFvcyBwcmluY2lwYWlzIGNvbnRlw7pkb3MgY29icmFkb3MuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBpbWc6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zL2N1cnNvcy1wYXJhLWZhc2VzLWVzY3JpdGFzLnBuZyIsICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICB0aXR1bG86ICJDdXJzb3MgcGFyYSBGYXNlcyBFc2NyaXRhcyIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiQ3Vyc29zIGRpc2N1cnNpdm9zIChyZWd1bGFyZXMgZSBwb3IgZWRpdGFsKSBjb20gY29ycmXDp8OjbyBpbmRpdmlkdWFsaXphZGEgcGFyYSBhcyBmYXNlcyBlc2NyaXRhcyBkb3MgcHJpbmNpcGFpcyBjb25jdXJzb3MganVyw61kaWNvcy4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwbGF0aW51bSIsIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvY3Vyc28tcGFyYS1mYXNlLW9yYWwtY29tLWF0ZW5kaW1lbnRvLWluZGl2aWR1YWxpemFkby5wbmciLA0KICAgICAgICAgIHRpdHVsbzogIkN1cnNvIHBhcmEgRmFzZSBPcmFsIGNvbSBBdGVuZGltZW50byBJbmRpdmlkdWFsaXphZG8iLA0KICAgICAgICAgIGRlc2NyaWNhbzogIk8gYWx1bm8gcXVlIHNlIHF1YWxpZmljYXIgcGFyYSBhIGZhc2Ugb3JhbCB0ZXLDoSBkaXJlaXRvIGEgZG9pcyBhdGVuZGltZW50b3MgaW5kaXZpZHVhbGl6YWRvcyBjb20gcHJvZmVzc29yIGRhIGNhcnJlaXJhIHBhcmEgYXJndWnDp8O1ZXMsIGFsw6ltIGRlIGF0ZW5kaW1lbnRvIGNvbSBwc2ljw7Nsb2dhIGUgZm9ub2F1ZGnDs2xvZ2EsIGNhc28sIG5vIGNvbmN1cnNvLCBoYWphIGZhc2Ugb3JhbC4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJiYXNpY2EiLCAgIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvcmFua2luZy1wb3MtcHJvdmEucG5nIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgIHRpdHVsbzogIlJhbmtpbmcgUMOzcy1Qcm92YSIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiQWNhYm91IGRlIGZhemVyIHVtYSBwcm92YSBlIHF1ZXIgdGVyIHVtYSBpZGVpYSBzb2JyZSBhIHBvc3PDrXZlbCBub3RhIGRlIGNvcnRlPyBPIFJhbmtpbmcgZG8gRXN0cmF0w6lnaWEgw6kgYSBzb2x1w6fDo28hIEZlaXRvIGNvbSBiYXNlIG5vcyBkYWRvcyBkb3Mgbm9zc29zIGFsdW5vcyBlIHRlbmRvIGNvbW8gcmVmZXLDqm5jaWEgbyBHYWJhcml0byBFeHRyYW9maWNpYWwgZG9zIG5vc3NvcyBwcm9mZXNzb3JlcyAoYXTDqSBvIG9maWNpYWwgc2VyIGRpdnVsZ2FkbyksIHZvY8OqIHNhYmVyw6EgZW0gcHJpbWVpcmEgbcOjbyBzZSBhIHZhZ2EgZXN0w6EgcGVydG8gb3UgbsOjby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJiYXNpY2EiLCAgIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvcHJvdmEtY29tZW50YWRhLnBuZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgIHRpdHVsbzogIlByb3ZhIENvbWVudGFkYSIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiQWNlc3NlIG9zIGNvbWVudMOhcmlvcyBkZSAxMDAlIGRhcyBxdWVzdMO1ZXMgZGEgc3VhIHByb3ZhIGRlIGNvbmN1cnNvLCBubyBkaWEgc2VndWludGUgw6Agc3VhIHJlYWxpemHDp8Ojby4gVG9kb3Mgb3MgY29tZW50w6FyaW9zIHPDo28gZmVpdG9zIHBlbG9zIG5vc3NvcyBwcm9mZXNzb3JlcyBlc3BlY2lhbGlzdGFzIGUgZGlzcG9uaWJpbGl6YWRvcyBlbSB1bSDDum5pY28gUERGLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgaW1nOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Bhc3Nvcy9zaW50ZXNlLWVzdHJhdGVnaWNhLnBuZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgdGl0dWxvOiAiU8OtbnRlc2UgRXN0cmF0w6lnaWNhIiwNCiAgICAgICAgICBkZXNjcmljYW86ICJPIHJlc3VtbyBkZSB2w6lzcGVyYSBkZSBwcm92YSBxdWUgZmFsdGF2YSBuYSBzdWEgcHJlcGFyYcOnw6NvISBBY2Vzc2Ugb3MgcHJpbmNpcGFpcyBhc3N1bnRvcyBkZSBjYWRhIGRpc2NpcGxpbmEgZW0gdW0gUERGIGN1cnRvIGNvbSBvcyB0ZW1hcyBxdWVudGVzIGVzcXVlbWF0aXphZG9zLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgaW1nOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Bhc3Nvcy9hdHVhbGl6YWNvZXMtanVyaWRpY2FzLnBuZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgdGl0dWxvOiAiQXR1YWxpemHDp8O1ZXMgUXVpbnplbmFpcyIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiQ2xpcHBpbmcgZGUgbm90w61jaWFzIGUgYXR1YWxpemHDp8O1ZXMgcXVpbnplbmFpcyBkbyBtdW5kbyBqdXLDrWRpY28gcGFyYSB2b2PDqiBmaWNhciBzYWJlbmRvIGRhcyBwcmluY2lwYWlzIGF0dWFsaXphw6fDtWVzIGVtIHByaW1laXJhIG3Do28uIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBpbWc6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zL2RpcmV0by1hby1wb250by5wbmciLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICB0aXR1bG86ICJEaXJldG8gYW8gUG9udG8iLA0KICAgICAgICAgIGRlc2NyaWNhbzogIlVtIG1hdGVyaWFsIDcwJSBtZW5vciBkbyBxdWUgb3Mgbm9zc29zIGN1cnNvcyByZWd1bGFyZXMsIG1vbnRhZG8gYXRyYXbDqXMgZGUgZW5nZW5oYXJpYSByZXZlcnNhLCBlIGZvY2FkbyBubyBxdWUgbWFpcyDDqSBjb2JyYWRvIGVtIHByb3Zhcy4gKkRpc3BvbsOtdmVsIGF0dWFsbWVudGUgcGFyYSBEZWxlZ2FkbywgUHJvY3VyYWRvcmlhcywgTWFnaXN0cmF0dXJhIChFTkFNKSBlIFByb21vdG9yaWFzIiB9DQogICAgXTsNCg0KICAgIC8vIFRhZ3MgYSBwYXJ0aXIgZG8gbsOtdmVsLCB1c2FkYXMgdGFudG8gbm8gY2FiZcOnYWxobyBxdWFudG8gbm8gY29ycG8gZG8gY2FyZA0KICAgIGZ1bmN0aW9uIG1vbnRhclRhZ3MgKG5pdmVsKSB7DQoNCiAgICAgICAgcmV0dXJuIG5pdmVpcy5zbGljZShuaXZlaXMuaW5kZXhPZihuaXZlbCkpLm1hcChmdW5jdGlvbiAobikgew0KICAgICAgICAgICAgcmV0dXJuICc8bGkgY2xhc3M9IicgKyAobiA9PT0gJ2Jhc2ljYScgPyAnJyA6IG4pICsgJyI+JyArIHJvdHVsb05pdmVsW25dICsgJzwvbGk+JzsNCiAgICAgICAgfSkuam9pbignJyk7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJQYXNzbyAocGFzc28sIGluZGljZSkgew0KDQogICAgICAgIHZhciBhYmVydG8gPSBpbmRpY2UgPT09IDA7DQogICAgICAgIHZhciB0YWdzID0gbW9udGFyVGFncyhwYXNzby5uaXZlbCk7DQogICAgICAgIHZhciB0aXR1bG8gPSBlc2NhcGFySHRtbChwYXNzby50aXR1bG8pOw0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nUGFzc29zJyArIGluZGljZSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSInICsgKGFiZXJ0byA\/ICcnIDogJ2NvbGxhcHNlZCcpICsgJyIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJyBkYXRhLXRhcmdldD0iI2NvbGxhcHNlUGFzc29zJyArIGluZGljZSArICciJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnIGFyaWEtZXhwYW5kZWQ9IicgKyAoYWJlcnRvID8gJ3RydWUnIDogJ2ZhbHNlJykgKyAnIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZScgKyBpbmRpY2UgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUaXR1bG8iPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRpdHVsbyI+JyArIHRpdHVsbyArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8dWwgY2xhc3M9ImJveFRhZ3MiPicgKyB0YWdzICsgJzwvdWw+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIGNsYXNzPSJpbWdCdXR0b24iIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1wbHVzLXdoaXRlLnN2ZyIgYWx0PSJBYnJpciBkw7p2aWRhIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvYnV0dG9uPicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBpZD0iY29sbGFwc2VQYXNzb3MnICsgaW5kaWNlICsgJyIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvJyArIChhYmVydG8gPyAnIGluJyA6ICcnKSArICciJyArDQogICAgICAgICAgICAgICAgICAgICcgYXJpYS1sYWJlbGxlZGJ5PSJoZWFkaW5nUGFzc29zJyArIGluZGljZSArICciIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uUGFzc29zIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPHA+JyArIGVzY2FwYXJIdG1sKHBhc3NvLmRlc2NyaWNhbykgKyAnPC9wPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InRhZ3NDb250ZXVkbyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuPkRpc3BvbsOtdmVsIG5vcyBwbGFub3MgZGUgYXNzaW5hdHVyYTo8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzx1bD4nICsgdGFncyArICc8L3VsPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxpbWcgc3JjPSInICsgcGFzc28uaW1nICsgJyIgYWx0PSInICsgdGl0dWxvICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAnPC9kaXY+JzsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhclBhc3NvcyAoKSB7DQoNCiAgICAgICAgJCgnI2FjY29yZGlvblBhc3NvcycpLmh0bWwocGFzc29zLm1hcChtb250YXJQYXNzbykuam9pbignJykpOw0KDQogICAgfQ0KDQogICAgLy8gQ29uY3Vyc29zIGRvcyBTb25ob3MNCg0KICAgIHZhciBjb25jdXJzb3MgPSBbDQogICAgICAgIHsgbm9tZTogIkRQIERGIiwgICAgICAgICAgIHZhZ2FzOiAiNjcgdmFnYXMgcHJldmlzdGFzIiwgICAgc2FsYXJpbzogIlIkIDIyLjU4OSw1OSBwb3IgbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiVEotQU0iLCAgICAgICAgICAgdmFnYXM6ICIxNSB2YWdhcyArIENSIiwgICAgICAgICBzYWxhcmlvOiAiUmVtdW5lcmHDp8OjbzogMzIuMDA0LDY1L23DqnMiIH0sDQogICAgICAgIHsgbm9tZTogIk1QIE1BIiwgICAgICAgICAgIHZhZ2FzOiAiMTUgdmFnYXMgcHJldmlzdGFzIiwgICAgc2FsYXJpbzogIlIkIDI4Ljg4NCwyNCBwb3IgbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiQ2FydMOzcmlvcyBUSiBNRyIsIHZhZ2FzOiAiMS4zOTQgdmFnYXMgcHJldmlzdGFzIiwgc2FsYXJpbzogIlJlbXVuZXJhw6fDo28gdmFyacOhdmVsIiB9LA0KICAgICAgICB7IG5vbWU6ICJQQyBERiIsICAgICAgICAgICB2YWdhczogIjQwIHZhZ2FzICsgNDAgQ1IiLCAgICAgIHNhbGFyaW86ICJSZW11bmVyYcOnw6NvOiBSJCAxOS43NDUsNjMvbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiVEotUlMiLCAgICAgICAgICAgdmFnYXM6ICI0NSB2YWdhcyBhIGRlZmluaXIiLCAgICBzYWxhcmlvOiAiUmVtdW5lcmHDp8OjbzogUiQgMjguOTU0LDIwL23DqnMiIH0sDQogICAgICAgIHsgbm9tZTogIlRSRi01IiwgICAgICAgICAgIHZhZ2FzOiAiNzAgY2FyZ29zIHZhZ29zIiwgICAgICAgc2FsYXJpbzogIlIkIDMyLjAwNCw2NSBwb3IgbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiVFJGLTIiLCAgICAgICAgICAgdmFnYXM6ICIzMCB2YWdhcyIsICAgICAgICAgICAgICBzYWxhcmlvOiAiUiQgMzUuODQ1LDIxIHBvciBtw6pzIiB9LA0KICAgICAgICB7IG5vbWU6ICJQQy1DRSIsICAgICAgICAgICB2YWdhczogIjEwMCB2YWdhcyIsICAgICAgICAgICAgIHNhbGFyaW86ICJSJCAxNi4zMTksNjAgcG9yIG3DqnMiIH0sDQogICAgICAgIHsgbm9tZTogIlBDLU1HIiwgICAgICAgICAgIHZhZ2FzOiAiNTQgdmFnYXMiLCAgICAgICAgICAgICAgc2FsYXJpbzogIlIkIDE0LjkzMSwzMSBwb3IgbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiTVAtU1AiLCAgICAgICAgICAgdmFnYXM6ICI3NSB2YWdhcyIsICAgICAgICAgICAgICBzYWxhcmlvOiAiUiQgMzIuMzUwLDA1IHBvciBtw6pzIiB9LA0KICAgICAgICB7IG5vbWU6ICJNUC1NRyIsICAgICAgICAgICB2YWdhczogIjcwIHZhZ2FzIiwgICAgICAgICAgICAgIHNhbGFyaW86ICJSJCAzNC4wNTIsOTUgcG9yIG3DqnMiIH0sDQogICAgICAgIHsgbm9tZTogIkRlbGVnYWRvIC0gUEYiLCAgIHZhZ2FzOiAiMjIyIHZhZ2FzIHByZXZpc3RhcyIsICAgc2FsYXJpbzogIlIkIDI2LjMwMC9tw6pzIiB9DQogICAgXTsNCg0KICAgIC8vIEEgaW1hZ2VtIHNlZ3VlIG8gbm9tZSBkbyBjb25jdXJzbyAoIkRQIERGIiAtPiAiZHAtZGYucG5nIikuDQogICAgLy8gU2UgYWxndW0gYXJxdWl2byBmdWdpciBkbyBwYWRyw6NvLCBiYXN0YSBkZWNsYXJhciAiaW1nIiBubyBpdGVtLg0KDQogICAgZnVuY3Rpb24gaW1hZ2VtQ29uY3Vyc28gKGNvbmN1cnNvKSB7DQoNCiAgICAgICAgaWYgKGNvbmN1cnNvLmltZykgew0KICAgICAgICAgICAgcmV0dXJuIGNvbmN1cnNvLmltZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzbHVnID0gY29uY3Vyc28ubm9tZQ0KICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkNCiAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcdTAzMDAtXHUwMzZmXS9nLCAnJykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOV0rL2csICctJykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9eLXwtJC9nLCAnJyk7DQoNCiAgICAgICAgcmV0dXJuICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvY29uY3Vyc29zLWRvcy1zb25ob3MvJyArIHNsdWcgKyAnLnBuZyc7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJDb25jdXJzb3MgKCkgew0KDQogICAgICAgICQoJy5jb25jdXJzb0Rvc1NvbmhvcyB1bCcpLmh0bWwoDQoNCiAgICAgICAgICAgIGNvbmN1cnNvcy5tYXAoZnVuY3Rpb24gKGNvbmN1cnNvKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICAgICAgICAgJzxsaSBjbGFzcz0iY29sLXNtLTQiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveEludGVybm8iPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZmlndXJlPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IicgKyBpbWFnZW1Db25jdXJzbyhjb25jdXJzbykgKyAnIiBhbHQ9IicgKyBlc2NhcGFySHRtbChjb25jdXJzby5ub21lKSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L2ZpZ3VyZT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94VGV4dG9Db25jdXJzbyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aDM+JyArIGVzY2FwYXJIdG1sKGNvbmN1cnNvLm5vbWUpICsgJzwvaDM+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0idmFnYXMiPicgKyBlc2NhcGFySHRtbChjb25jdXJzby52YWdhcykgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InNhbGFyaW8iPicgKyBlc2NhcGFySHRtbChjb25jdXJzby5zYWxhcmlvKSArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9saT4nOw0KICAgICAgICAgICAgfSkuam9pbignJykNCg0KICAgICAgICApOw0KDQogICAgfQ0KDQogICAgLy8gUGxhbm9zIGRhIHNlw6fDo28gI3Nlc3Nhb1BsYXRpbnVtLiBBcXVpIG8gcHJlw6dvIGV4aWJpZG8gw6kgbyB0b3RhbCBkbyBwbGFubywNCiAgICAvLyBuw6NvIGEgcGFyY2VsYTogbyBtZW5zYWwgw6kgdW1hIHJlY29ycsOqbmNpYSBlIG8gc2VtZXN0cmFsIMOpIHBhcmNlbGFkbyBlbSAxMnguDQoNCiAgICB2YXIgcGxhdGludW0gPSBbDQogICAgICAgIHsgY2hhdmU6ICdwbGF0aW51bU1lbnNhbCcsICAgIG5vbWU6ICdQbGF0aW51bSBtZW5zYWwnLCAgICB1cmw6ICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2NvYWNoaW5nLXBhcmEtY2FycmVpcmFzLWp1cmlkaWNhcy8nLCAgICAgICAgICAgcm9kYXBlOiAnUmVjb3Jyw6puY2lhIG1lbnNhbCcgfSwNCiAgICAgICAgeyBjaGF2ZTogJ3BsYXRpbnVtU2VtZXN0cmFsJywgbm9tZTogJ1BsYXRpbnVtIHNlbWVzdHJhbCcsIHVybDogJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vY29hY2hpbmctcGFyYS1jYXJyZWlyYXMtanVyaWRpY2FzLXNlbWVzdHJhbC8nLCByb2RhcGU6ICdlbSBhdMOpIDEyIHZlemVzIHNlbSBqdXJvcycgfQ0KICAgIF07DQoNCiAgICBmdW5jdGlvbiBtb250YXJQbGF0aW51bSAoKSB7DQoNCiAgICAgICAgJCgnI3Nlc3Nhb1BsYXRpbnVtIC5ib3hQbGFub3NQZXJzb25hbGl6YWRvcycpLmh0bWwoDQoNCiAgICAgICAgICAgIHBsYXRpbnVtLm1hcChmdW5jdGlvbiAocGxhbm8pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGEgaHJlZj0iJyArIHBsYW5vLnVybCArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9Iml0ZW1Bc3NpbmF0dXJhIiBkYXRhLWNoYXZlPSInICsgcGxhbm8uY2hhdmUgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGgzPicgKyBlc2NhcGFySHRtbChwbGFuby5ub21lKSArICc8L2gzPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icHJlY29EZSBub25lIj48L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJwcmVjb1BvciI+PC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8cD4nICsgZXNjYXBhckh0bWwocGxhbm8ucm9kYXBlKSArICc8L3A+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2E+JzsNCiAgICAgICAgICAgIH0pLmpvaW4oJycpDQoNCiAgICAgICAgKTsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHByZWVuY2hlclBsYXRpbnVtIChwcmVjb3MpIHsNCg0KICAgICAgICBwbGF0aW51bS5mb3JFYWNoKGZ1bmN0aW9uIChwbGFubykgew0KDQogICAgICAgICAgICB2YXIgcHJlY28gPSBwcmVjb3NbcGxhbm8uY2hhdmVdOw0KICAgICAgICAgICAgdmFyIGl0ZW0gPSAkKCcjc2Vzc2FvUGxhdGludW0gW2RhdGEtY2hhdmU9IicgKyBwbGFuby5jaGF2ZSArICciXScpOw0KDQogICAgICAgICAgICBpZiAoIXByZWNvIHx8ICFwcmVjby5jYXJ0YW9Ub3RhbCkgew0KICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignU2VtIHByZcOnbyBwYXJhICInICsgcGxhbm8uY2hhdmUgKyAnIi4nKTsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGl0ZW0uZmluZCgnLnByZWNvUG9yJykudGV4dChtb2VkYShwcmVjby5jYXJ0YW9Ub3RhbCkpOw0KDQogICAgICAgICAgICB2YXIgcHJlY29EZSA9IGl0ZW0uZmluZCgnLnByZWNvRGUnKTsNCg0KICAgICAgICAgICAgaWYgKHByZWNvLmNhcnRhb1RvdGFsRGUgPiBwcmVjby5jYXJ0YW9Ub3RhbCkgew0KICAgICAgICAgICAgICAgIHByZWNvRGUudGV4dChtb2VkYShwcmVjby5jYXJ0YW9Ub3RhbERlKSkucmVtb3ZlQ2xhc3MoJ25vbmUnKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcHJlY29EZS5hZGRDbGFzcygnbm9uZScpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0pOw0KDQogICAgfQ0KDQogICAgLy8gUHJlZW5jaGUgb3MgcHJlw6dvcyBkYXMgYXNzaW5hdHVyYXMgZGVwb2lzIHF1ZSBhIEFQSSByZXNwb25kZQ0KDQogICAgZnVuY3Rpb24gcHJlZW5jaGVyQ2FycmVpcmFzIChwcmVjb3MpIHsNCg0KICAgICAgICBjYXJyZWlyYXMuZm9yRWFjaChmdW5jdGlvbiAoY2FycmVpcmEpIHsNCg0KICAgICAgICAgICAgY2FycmVpcmEuYXNzaW5hdHVyYXMuZm9yRWFjaChmdW5jdGlvbiAoYXNzaW5hdHVyYSkgew0KDQogICAgICAgICAgICAgICAgdmFyIHByZWNvID0gcHJlY29zW2Fzc2luYXR1cmEuY2hhdmVdOw0KICAgICAgICAgICAgICAgIHZhciBib3ggPSAkKCcjJyArIGNhcnJlaXJhLmlkICsgJyBbZGF0YS1jaGF2ZT0iJyArIGFzc2luYXR1cmEuY2hhdmUgKyAnIl0nKTsNCg0KICAgICAgICAgICAgICAgIGlmICghcHJlY28gfHwgIXByZWNvLmNhcnRhbykgew0KICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NlbSBwcmXDp28gcGFyYSAiJyArIGFzc2luYXR1cmEuY2hhdmUgKyAnIi4nKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGJveC5maW5kKCcucHJlY29Qb3InKS50ZXh0KCcxMnggJyArIG1vZWRhKHByZWNvLmNhcnRhbykpOw0KDQogICAgICAgICAgICAgICAgLy8gIkRlIiByaXNjYWRvIGUgdGFnIGRlIGVjb25vbWlhIHPDsyBleGlzdGVtIHF1YW5kbyBow6EgbG90ZSBwcm9tb2Npb25hbA0KICAgICAgICAgICAgICAgIHZhciBwcmVjb0RlID0gYm94LmZpbmQoJy5wcmVjb0RlJyk7DQoNCiAgICAgICAgICAgICAgICBpZiAocHJlY28uY2FydGFvRGUgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHByZWNvRGUudGV4dCgnMTJ4ICcgKyBtb2VkYShwcmVjby5jYXJ0YW9EZSkpLnJlbW92ZUNsYXNzKCdub25lJyk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcHJlY29EZS5hZGRDbGFzcygnbm9uZScpOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmIChwcmVjby5lY29ub21pemUgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIGJveC5maW5kKCcuYm94RWNvbm9taXplJykuaHRtbCgnJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ0ZXh0byI+RWNvbm9taXplICcgKyBtb2VkYShwcmVjby5lY29ub21pemUpICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InBvcmNlbnRhZ2VtIj4nICsgcHJlY28ucG9yY2VudGFnZW0gKyAnJSBPRkY8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+Jyk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgYm94LmZpbmQoJy5ib3hFY29ub21pemUnKS5lbXB0eSgpOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgfSk7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBwcmVlbmNoZXJDb21wYXJhY2FvIChwcmVjb3MpIHsNCg0KICAgICAgICBPYmplY3Qua2V5cyhjb21wYXJhY2FvKS5mb3JFYWNoKGZ1bmN0aW9uIChwbGFubykgew0KDQogICAgICAgICAgICB2YXIgY2FyZCA9ICQoJyNib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgW2RhdGEtcGxhbm89IicgKyBwbGFubyArICciXScpOw0KDQogICAgICAgICAgICAvLyBNZW5vciBwcmXDp28gZW50cmUgYXMgY2FycmVpcmFzIGRlc3NlIG7DrXZlbA0KICAgICAgICAgICAgdmFyIGNhbmRpZGF0b3MgPSBjb21wYXJhY2FvW3BsYW5vXQ0KICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKGNoYXZlKSB7IHJldHVybiBwcmVjb3NbY2hhdmVdOyB9KQ0KICAgICAgICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKHByZWNvKSB7IHJldHVybiBwcmVjbyAmJiBwcmVjby5jYXJ0YW8gPiAwOyB9KTsNCg0KICAgICAgICAgICAgaWYgKCFjYW5kaWRhdG9zLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignU2VtIHByZcOnbyBkaXNwb27DrXZlbCBwYXJhIG8gcGxhbm8gIicgKyBwbGFubyArICciLicpOw0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIG1haXNCYXJhdG8gPSBjYW5kaWRhdG9zLnJlZHVjZShmdW5jdGlvbiAobWVub3IsIGF0dWFsKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGF0dWFsLmNhcnRhbyA8IG1lbm9yLmNhcnRhbyA\/IGF0dWFsIDogbWVub3I7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgY2FyZC5maW5kKCcucHJlY29Qb3InKS50ZXh0KCcxMnggJyArIG1vZWRhKG1haXNCYXJhdG8uY2FydGFvKSk7DQoNCiAgICAgICAgICAgIC8vIE8gImRlIiBzw7MgYXBhcmVjZSBxdWFuZG8gZXhpc3RlIGxvdGUgcHJvbW9jaW9uYWwNCiAgICAgICAgICAgIHZhciBwcmVjb0RlID0gY2FyZC5maW5kKCcucHJlY29EZScpOw0KDQogICAgICAgICAgICBpZiAobWFpc0JhcmF0by5jYXJ0YW9EZSA+IDApIHsNCiAgICAgICAgICAgICAgICBwcmVjb0RlLnRleHQoJzEyeCAnICsgbW9lZGEobWFpc0JhcmF0by5jYXJ0YW9EZSkpLnJlbW92ZUNsYXNzKCdub25lJyk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHByZWNvRGUuYWRkQ2xhc3MoJ25vbmUnKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9KTsNCg0KICAgIH0NCg0KICAgIC8vIEJsYWNrIEZyaWRheSBKdXLDrWRpY2EgMjAyNiAtIExvdGUgRXNwZWNpYWwgKDI2LzEwIGEgMTEvMTEpLg0KICAgIC8vIFByZcOnb3MgZml4b3MgZGEgcGxhbmlsaGEgZGEgY2FtcGFuaGEgKEVDSl9CbGFja19GcmlkYXlfSnVyaWRpY2FfMjAyNl81NSkNCiAgICAvLyBubyBsdWdhciBkYSBBUEkgZG8gY2F0w6Fsb2dvOiBbcGFyY2VsYSByZWd1bGFyLCBwYXJjZWxhIEJGLCAlIGRlIGRlc2NvbnRvXS4NCiAgICAvLyBPIG1lbnNhbCBkYSBQbGF0aW51bSBuw6NvIMOpIHBhcmNlbGFkbzogW3RvdGFsIHJlZ3VsYXIsIHRvdGFsIEJGLCAlLCB0cnVlXS4NCg0KICAgIHZhciBwcmVjb3NCRiA9IHsNCiAgICAgICAganVyaWRpY2FCYXNpY2ExQW5vOiAgICAgICAgWzI4MS45MCwgMjE2LjkwLCAyMy4wNl0sDQogICAgICAgIGp1cmlkaWNhQmFzaWNhMkFub3M6ICAgICAgIFs0MjkuOTAsIDI3NS45MCwgMzUuODJdLA0KICAgICAgICBqdXJpZGljYVByZW1pdW0xQW5vOiAgICAgICBbNDI5LjkwLCAyMzEuOTAsIDQ2LjA2XSwNCiAgICAgICAganVyaWRpY2FQcmVtaXVtMkFub3M6ICAgICAgWzYzOS45MCwgMjg3LjkwLCA1NS4wMV0sDQogICAgICAgIHByb2N1cmFkb3JpYXNCYXNpY2ExQW5vOiAgIFsyMDkuOTAsIDE2Mi45MCwgMjIuMzldLA0KICAgICAgICBwcm9jdXJhZG9yaWFzQmFzaWNhMkFub3M6ICBbMzEzLjkwLCAyMTEuOTAsIDMyLjQ5XSwNCiAgICAgICAgcHJvY3VyYWRvcmlhc1ByZW1pdW0xQW5vOiAgWzMxMy45MCwgMTkxLjkwLCAzOC44N10sDQogICAgICAgIHByb2N1cmFkb3JpYXNQcmVtaXVtMkFub3M6IFs0NjUuOTAsIDI1NC45MCwgNDUuMjldLA0KICAgICAgICBtYWdpc3RyYXR1cmFCYXNpY2ExQW5vOiAgICBbMjE0LjkwLCAxNjcuOTAsIDIxLjg3XSwNCiAgICAgICAgbWFnaXN0cmF0dXJhQmFzaWNhMkFub3M6ICAgWzMxOS45MCwgMjExLjkwLCAzMy43Nl0sDQogICAgICAgIG1hZ2lzdHJhdHVyYVByZW1pdW0xQW5vOiAgIFszMjQuOTAsIDE5Ni45MCwgMzkuNDBdLA0KICAgICAgICBtYWdpc3RyYXR1cmFQcmVtaXVtMkFub3M6ICBbNDc2LjkwLCAyNjAuOTAsIDQ1LjI5XSwNCiAgICAgICAgZGVsdGFCYXNpY2ExQW5vOiAgICAgICAgICAgWzE5OS45MCwgMTU3LjkwLCAyMS4wMV0sDQogICAgICAgIGRlbHRhQmFzaWNhMkFub3M6ICAgICAgICAgIFsyOTkuOTAsIDIwMS45MCwgMzIuNjhdLA0KICAgICAgICBkZWx0YVByZW1pdW0xQW5vOiAgICAgICAgICBbMjk5LjkwLCAxODIuOTAsIDM5LjAxXSwNCiAgICAgICAgZGVsdGFQcmVtaXVtMkFub3M6ICAgICAgICAgWzQ1OS45MCwgMjUxLjkwLCA0NS4yM10sDQogICAgICAgIGNhcnRvcmlvc0Jhc2ljYTFBbm86ICAgICAgIFsyMzUuOTAsIDE4NC45MCwgMjEuNjJdLA0KICAgICAgICBjYXJ0b3Jpb3NCYXNpY2EyQW5vczogICAgICBbMzI0LjkwLCAyMTguOTAsIDMyLjYzXSwNCiAgICAgICAgY2FydG9yaW9zUHJlbWl1bTFBbm86ICAgICAgWzM1NC45MCwgMjE2LjkwLCAzOC44OF0sDQogICAgICAgIGNhcnRvcmlvc1ByZW1pdW0yQW5vczogICAgIFs0ODYuOTAsIDI2Ny45MCwgNDQuOThdLA0KICAgICAgICBkZWZlbnNvcmlhc0Jhc2ljYTFBbm86ICAgICBbMjA5LjkwLCAxNjMuOTAsIDIxLjkyXSwNCiAgICAgICAgZGVmZW5zb3JpYXNCYXNpY2EyQW5vczogICAgWzMxMy45MCwgMjEwLjkwLCAzMi44MV0sDQogICAgICAgIGRlZmVuc29yaWFzUHJlbWl1bTFBbm86ICAgIFszMTMuOTAsIDE5MS45MCwgMzguODddLA0KICAgICAgICBkZWZlbnNvcmlhc1ByZW1pdW0yQW5vczogICBbNDY1LjkwLCAyNTQuOTAsIDQ1LjI5XSwNCiAgICAgICAgcHJvbW90b3JpYXNCYXNpY2ExQW5vOiAgICAgWzIxOS45MCwgMTcyLjkwLCAyMS4zN10sDQogICAgICAgIHByb21vdG9yaWFzQmFzaWNhMkFub3M6ICAgIFszMTkuOTAsIDIxNi45MCwgMzIuMjBdLA0KICAgICAgICBwcm9tb3Rvcmlhc1ByZW1pdW0xQW5vOiAgICBbMzI0LjkwLCAxOTYuOTAsIDM5LjQwXSwNCiAgICAgICAgcHJvbW90b3JpYXNQcmVtaXVtMkFub3M6ICAgWzQ3Ni45MCwgMjYwLjkwLCA0NS4yOV0sDQogICAgICAgIHBsYXRpbnVtTWVuc2FsOiAgICAgICAgICAgIFsxMTQ5LjkwLCA4ODkuOTAsIDIyLjYxLCB0cnVlXSwNCiAgICAgICAgcGxhdGludW1TZW1lc3RyYWw6ICAgICAgICAgWzQ2OS45MCwgMzM5LjkwLCAyNy42N10NCiAgICB9Ow0KDQogICAgZnVuY3Rpb24gcHJlY29CRiAoY2hhdmUpIHsNCg0KICAgICAgICB2YXIgcCA9IHByZWNvc0JGW2NoYXZlXTsNCg0KICAgICAgICBpZiAoIXApIHsNCiAgICAgICAgICAgIHJldHVybiBwcmVjb3NWYXppb3MoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBtZXNlcyA9IHBbM10gPyAxIDogMTI7DQoNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICJib2xldG8iOiAwLA0KICAgICAgICAgICAgImJvbGV0b0RlIjogJycsDQogICAgICAgICAgICAiY2FydGFvIjogcFsxXSAvIChwWzNdID8gMTIgOiAxKSwNCiAgICAgICAgICAgICJjYXJ0YW9EZSI6IHBbMF0gLyAocFszXSA\/IDEyIDogMSksDQogICAgICAgICAgICAiY2FydGFvVG90YWxEZSI6IE1hdGgucm91bmQocFswXSAqIG1lc2VzICogMTAwKSAvIDEwMCwNCiAgICAgICAgICAgICJjYXJ0YW9Ub3RhbCI6IE1hdGgucm91bmQocFsxXSAqIG1lc2VzICogMTAwKSAvIDEwMCwNCiAgICAgICAgICAgICJwb3JjZW50YWdlbSI6IE1hdGgucm91bmQocFsyXSksDQogICAgICAgICAgICAiZWNvbm9taXplIjogTWF0aC5yb3VuZCgocFswXSAtIHBbMV0pICogbWVzZXMgKiAxMDApIC8gMTAwDQogICAgICAgIH07DQoNCiAgICB9DQoNCiAgICB2YXIgY2hhdmVzID0gT2JqZWN0LmtleXMocHJvZHV0b3MpOw0KDQogICAgbGV0IHJlc3VsdEFzc2luYXR1cmFzID0gUHJvbWlzZS5hbGwoY2hhdmVzLm1hcChmdW5jdGlvbiAoY2hhdmUpIHsNCiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocHJlY29CRihjaGF2ZSkpOw0KICAgICAgICB9KSkNCiAgICAgICAgLnRoZW4oKGxpc3RhKSA9PiB7DQoNCiAgICAgICAgICAgIC8vIFRyYW5zZm9ybWEgbyBhcnJheSBkZSByZXNwb3N0YXMgZW0gdW0gb2JqZXRvOiB7IGp1cmlkaWNhQmFzaWNhMUFubzogey4uLn0sIC4uLiB9DQogICAgICAgICAgICB2YXIgcHJlY29zID0ge307DQoNCiAgICAgICAgICAgIGNoYXZlcy5mb3JFYWNoKGZ1bmN0aW9uIChjaGF2ZSwgaSkgew0KICAgICAgICAgICAgICAgIHByZWNvc1tjaGF2ZV0gPSBsaXN0YVtpXTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAvLyBKb2dhIG9zIHByZcOnb3MgbmFzIHNlw6fDtWVzIGRhIHDDoWdpbmENCiAgICAgICAgICAgIHByZWVuY2hlckNvbXBhcmFjYW8ocHJlY29zKTsNCiAgICAgICAgICAgIHByZWVuY2hlckNhcnJlaXJhcyhwcmVjb3MpOw0KICAgICAgICAgICAgcHJlZW5jaGVyUGxhdGludW0ocHJlY29zKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByZWNvczsNCg0KICAgICAgICB9KS50aGVuKChwcmVjb3MpID0+IHsNCg0KICAgICAgICAgICAgcmV0dXJuIFsNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICJ0aXR1bG8iOiAiQXNzaW5hdHVyYSBKdXLDrWRpY2EiLA0KICAgICAgICAgICAgICAgICAgICAic3VidGl0dWxvIjogIkFicmFuZ2UgY3Vyc29zIHBhcmEgdG9kYXMgYXMgY2FycmVpcmFzLCBpbmNsdXNpdmUgQW5hbGlzdGFzIGRlIFRyaWJ1bmFpcyBjb20gZXhpZ8OqbmNpYSBkZSBmb3JtYcOnw6NvIGVtIERpcmVpdG8uIiwNCiAgICAgICAgICAgICAgICAgICAgImlkIjogImJveEFzc2luYXR1cmFKdXJpZGljYSIsDQogICAgICAgICAgICAgICAgICAgICJtYWlzQ29tcGxldGEiOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAibG90ZXMiOiBbDQogICAgICAgICAgICAgICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXRpdm8iOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXNzaW5hdHVyYXMiOiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9tZSI6ICJKdXLDrWRpY2EgQsOhc2ljYTxicj4gMSBhbm8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXNwZWNpYWwiOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiBbXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVjb25vbWl6ZSI6IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3JjZW50YWdlbSI6IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW8iOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1qdXJpZGljYS1iYXNpY2EtMS1hbm8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWNvX2RlIjogcHJlY29zLmp1cmlkaWNhQmFzaWNhMUFuby5jYXJ0YW9EZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjb19wb3IiOiBwcmVjb3MuanVyaWRpY2FCYXNpY2ExQW5vLmNhcnRhbywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJjZWxhcyI6IDEyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lc2VzIjogMTINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9tZSI6ICJKdXLDrWRpY2EgQsOhc2ljYTxicj4gMiBhbm9zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVzcGVjaWFsIjogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogW10sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlY29ub21pemUiOiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9yY2VudGFnZW0iOiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2FydGFvIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2Fzc2luYXR1cmEtanVyaWRpY2EtYmFzaWNhLTItYW5vcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY29fZGUiOiBwcmVjb3MuanVyaWRpY2FCYXNpY2EyQW5vcy5jYXJ0YW9EZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjb19wb3IiOiBwcmVjb3MuanVyaWRpY2FCYXNpY2EyQW5vcy5jYXJ0YW8sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyY2VsYXMiOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXNlcyI6IDEyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vbWUiOiAiSnVyw61kaWNhIFByZW1pdW08YnI+IDEgYW5vIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVzcGVjaWFsIjogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiBbXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVjb25vbWl6ZSI6IHByZWNvcy5qdXJpZGljYVByZW1pdW0xQW5vLmVjb25vbWl6ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvcmNlbnRhZ2VtIjogcHJlY29zLmp1cmlkaWNhUHJlbWl1bTFBbm8ucG9yY2VudGFnZW0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW8iOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1qdXJpZGljYS0xLWFubyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY29fZGUiOiBwcmVjb3MuanVyaWRpY2FQcmVtaXVtMUFuby5jYXJ0YW9EZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjb19wb3IiOiBwcmVjb3MuanVyaWRpY2FQcmVtaXVtMUFuby5jYXJ0YW8sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyY2VsYXMiOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXNlcyI6IDEyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vbWUiOiAiSnVyw61kaWNhIFByZW1pdW08YnI+IDIgYW5vcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlc3BlY2lhbCI6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogW10sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlY29ub21pemUiOiBwcmVjb3MuanVyaWRpY2FQcmVtaXVtMkFub3MuZWNvbm9taXplLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9yY2VudGFnZW0iOiBwcmVjb3MuanVyaWRpY2FQcmVtaXVtMkFub3MucG9yY2VudGFnZW0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW8iOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1qdXJpZGljYS0yLWFub3MiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWNvX2RlIjogcHJlY29zLmp1cmlkaWNhUHJlbWl1bTJBbm9zLmNhcnRhb0RlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWNvX3BvciI6IHByZWNvcy5qdXJpZGljYVByZW1pdW0yQW5vcy5jYXJ0YW8sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyY2VsYXMiOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXNlcyI6IDEyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICBdOw0KDQogICAgICAgIH0pLnRoZW4oKGRhdGEpID0+IHsNCiAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICB9KTsNCg0KICAgIC8vIE1vbmV5IGZvcm1hdCBjYXJkDQoNCiAgICBmdW5jdGlvbiBmb3JtYXRDYXJkIChwcmljZSkgew0KICAgICAgICB2YXIgcGFyY2VsYSA9IChwcmljZS50b0ZpeGVkKDIpIC8gMTAwKSAvIDEyDQogICAgICAgIHBhcmNlbGEgPSBwYXJjZWxhLnRvTG9jYWxlU3RyaW5nKCdwdC1icicse3N0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogJ0JSTCd9KTsNCiAgICAgICAgcmV0dXJuIHBhcmNlbGENCiAgICB9DQoNCiAgICAvLyBTY3JvbGwgaGVhZGVyDQoNCiAgICBpZiAoJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkgPiA1MCkgew0KICAgICAgICAkKCcuY291bnRkb3duJykuYWRkQ2xhc3MoJ3Njcm9sbCcpDQogICAgICAgICQoJy5oZWFkZXJMYW5kaW5nJykuYWRkQ2xhc3MoJ3Njcm9sbCcpDQogICAgfSBlbHNlIHsNCiAgICAgICAgJCgnLmNvdW50ZG93bicpLnJlbW92ZUNsYXNzKCdzY3JvbGwnKQ0KICAgICAgICAkKCcuaGVhZGVyTGFuZGluZycpLnJlbW92ZUNsYXNzKCdzY3JvbGwnKQ0KICAgIH0NCg0KICAgICQod2luZG93KS5zY3JvbGwoZnVuY3Rpb24oKSB7DQogICAgICAgIGlmICgkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSA+IDUwKSB7DQogICAgICAgICAgICAkKCcuY291bnRkb3duJykuYWRkQ2xhc3MoJ3Njcm9sbCcpDQogICAgICAgICAgICAkKCcuaGVhZGVyTGFuZGluZycpLmFkZENsYXNzKCdzY3JvbGwnKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJCgnLmNvdW50ZG93bicpLnJlbW92ZUNsYXNzKCdzY3JvbGwnKQ0KICAgICAgICAgICAgJCgnLmhlYWRlckxhbmRpbmcnKS5yZW1vdmVDbGFzcygnc2Nyb2xsJykNCiAgICAgICAgfQ0KICAgIH0pDQoNCiAgICAvLyBCYW5uZXIgUHJpbmNpcGFsDQoNCiAgICAkKCcuYmFubmVyUHJpbmNpcGFsIC5wbGFub3NCYW5uZXIgLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gLmJveFByZWNvIGEnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICAgICAgJCgiaHRtbCwgYm9keSIpLmFuaW1hdGUoew0KICAgICAgICAgICAgc2Nyb2xsVG9wOiAkKCcjYm94QXNzaW5hdHVyYUp1cmlkaWNhJykub2Zmc2V0KCkudG9wIC0gNzANCiAgICAgICAgfSwgNTAwKTsNCiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoJyNib3hBc3NpbmF0dXJhSnVyaWRpY2EnKS5maW5kKCdidXR0b24uY29sbGFwc2VkJykuY2xpY2soKQ0KICAgICAgICB9LCAxNTAwKQ0KICAgIH0pDQoNCiAgICAvLyBDb21wYXJhw6fDo28NCg0KICAgIG1vbnRhckxpc3Rhc0NvbXBhcmFjYW8oKTsNCg0KICAgICQoJyN0aXBvQXNzaW5hdHVyYTEnKS5vbignaW5pdCcsIGZ1bmN0aW9uIChldmVudCwgc2xpY2spIHsNCiAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnb2N1bHRvJykNCiAgICB9KTsNCg0KICAgICQoJy5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmxpc3RhQ29tcGFyYWNhbycpLmVhY2goZnVuY3Rpb24oKXsNCg0KICAgICAgICAkKCcjJyArICQodGhpcykuYXR0cignaWQnKSkuc2xpY2soew0KICAgICAgICAgICAgZG90czogZmFsc2UsDQogICAgICAgICAgICBpbmZpbml0ZTogZmFsc2UsDQogICAgICAgICAgICBzcGVlZDogMzAwLA0KICAgICAgICAgICAgYXJyb3dzOiBmYWxzZSwNCiAgICAgICAgICAgIGF1dG9wbGF5OiBmYWxzZSwNCiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMywNCiAgICAgICAgICAgIHJlc3BvbnNpdmU6IFsNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrcG9pbnQ6IDEyNTAsDQogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDIsDQogICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXJNb2RlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyUGFkZGluZzogJzMwcHgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFNsaWRlOiAyDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogNzY4LA0KICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogew0KICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyTW9kZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlclBhZGRpbmc6ICcyMHB4JywNCiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxTbGlkZTogMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9KTsNCg0KICAgIH0pDQoNCiAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC5zd2l0Y2hQbGFubyBpbnB1dCcpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICQoJy5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmxpc3RhQ29tcGFyYWNhbycpLnRvZ2dsZUNsYXNzKCdvY3VsdG8nKQ0KICAgIH0pDQoNCiAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC50aXR1bG9QbGFuby5ib3RhbzFBbm8nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICAgICAgJCgnLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc3dpdGNoUGxhbm8gaW5wdXQnKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpDQogICAgICAgICQoJyN0aXBvQXNzaW5hdHVyYTAnKS5yZW1vdmVDbGFzcygnb2N1bHRvJykNCiAgICAgICAgJCgnI3RpcG9Bc3NpbmF0dXJhMScpLmFkZENsYXNzKCdvY3VsdG8nKQ0KICAgIH0pDQoNCiAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC50aXR1bG9QbGFuby5ib3RhbzJBbm9zJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsNCiAgICAgICAgJCgnLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc3dpdGNoUGxhbm8gaW5wdXQnKS5wcm9wKCdjaGVja2VkJywgdHJ1ZSkNCiAgICAgICAgJCgnI3RpcG9Bc3NpbmF0dXJhMScpLnJlbW92ZUNsYXNzKCdvY3VsdG8nKQ0KICAgICAgICAkKCcjdGlwb0Fzc2luYXR1cmEwJykuYWRkQ2xhc3MoJ29jdWx0bycpDQogICAgfSkNCg0KICAgICQoJy5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5ib3hQcmVjbyBhJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgICAgICQoImh0bWwsIGJvZHkiKS5hbmltYXRlKHsNCiAgICAgICAgICAgIHNjcm9sbFRvcDogJCgnIycgKyAkKHRoaXMpLmF0dHIoJ2xpbmsnKSkub2Zmc2V0KCkudG9wIC0gNTANCiAgICAgICAgfSwgNTAwKTsNCiAgICB9KQ0KDQogICAgJCgnLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gdWwgbGkgLmJveEluZm8gLmltZ0luZm8nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICAgICAgJCgnLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gdWwgbGkgLmJveEluZm8gLm1vZGFsSW5mbycpLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ25vbmUnKQ0KICAgICAgICB9KQ0KICAgICAgICAkKHRoaXMpLnNpYmxpbmdzKCcubW9kYWxJbmZvJykucmVtb3ZlQ2xhc3MoJ25vbmUnKQ0KICAgIH0pDQoNCiAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyB1bCBsaSAuYm94SW5mbyAubW9kYWxJbmZvIC5mZWNoYVBvcHVwJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgICAgICQodGhpcykucGFyZW50KCkuYWRkQ2xhc3MoJ25vbmUnKQ0KICAgIH0pDQoNCiAgICAvLyBDYXJyZWlyYXMgRXNwZWPDrWZpY2FzDQoNCiAgICBtb250YXJDYXJyZWlyYXNFc3BlY2lmaWNhcygpOw0KICAgIG1vbnRhclBsYXRpbnVtKCk7DQoNCiAgICAkKCcuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94TGlua1NhaWJhIC5saW5rU2FpYmEnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICAgICAgJCgiaHRtbCwgYm9keSIpLmFuaW1hdGUoew0KICAgICAgICAgICAgc2Nyb2xsVG9wOiAkKCcjcGFzc29zQXByb3ZhY2FvJykub2Zmc2V0KCkudG9wIC0gMzANCiAgICAgICAgfSwgNTAwKTsNCiAgICB9KQ0KDQogICAgLy8gRGVzdGFxdWVzDQoNCiAgICAkKCcuYm94RGVzdGFxdWVzIHVsJykuc2xpY2soew0KICAgICAgICBkb3RzOiB0cnVlLA0KICAgICAgICBpbmZpbml0ZTogZmFsc2UsDQogICAgICAgIHNwZWVkOiAzMDAsDQogICAgICAgIGFycm93czogdHJ1ZSwNCiAgICAgICAgYXV0b3BsYXk6IGZhbHNlLA0KICAgICAgICBzbGlkZXNUb1Nob3c6IDEsDQogICAgICAgIG5leHRBcnJvdzogJzxkaXYgY2xhc3M9InByb3hpbW8gc2V0YUJhbm5lciI+PGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtc2V0YS1iYW5uZXIuc3ZnIiAvPjwvZGl2PicsDQogICAgICAgIHByZXZBcnJvdzogJzxkaXYgY2xhc3M9ImFudGVyaW9yIHNldGFCYW5uZXIiPjxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXNldGEtYmFubmVyLnN2ZyIgLz48L2Rpdj4nLA0KICAgICAgICByZXNwb25zaXZlOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTM1MCwNCiAgICAgICAgICAgICAgICBzZXR0aW5nczogew0KICAgICAgICAgICAgICAgICAgICBhcnJvd3M6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICBdDQogICAgfSk7DQoNCiAgICAkKCcuYm94RGVzdGFxdWVzIGltZy5jb21WaWRlbycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCl7DQogICAgICAgICQoJyNtb2RhbFZpZGVvJykuc2xpZGVUb2dnbGUoKTsNCiAgICAgICAgJCgnI21vZGFsVmlkZW8gLmJveEZsZXggLmJveFZpZGVvIGlmcmFtZScpLmF0dHIoJ3NyYycsICQodGhpcykuYXR0cigndmlkZW8nKSkNCiAgICB9KQ0KDQogICAgLy8gQ29uY3Vyc29zIGRvcyBTb25ob3MNCg0KICAgIG1vbnRhckNvbmN1cnNvcygpOw0KDQogICAgJCgnLmNvbmN1cnNvRG9zU29uaG9zIHVsJykuc2xpY2soew0KICAgICAgICBkb3RzOiBmYWxzZSwNCiAgICAgICAgaW5maW5pdGU6IGZhbHNlLA0KICAgICAgICBzcGVlZDogMzAwLA0KICAgICAgICBhcnJvd3M6IHRydWUsDQogICAgICAgIGF1dG9wbGF5OiBmYWxzZSwNCiAgICAgICAgc2xpZGVzVG9TaG93OiAzLA0KICAgICAgICBuZXh0QXJyb3c6ICc8ZGl2IGNsYXNzPSJwcm94aW1vIHNldGFCYW5uZXIiPjxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXNldGEtYmFubmVyLnN2ZyIgLz48L2Rpdj4nLA0KICAgICAgICBwcmV2QXJyb3c6ICc8ZGl2IGNsYXNzPSJhbnRlcmlvciBzZXRhQmFubmVyIj48aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1zZXRhLWJhbm5lci5zdmciIC8+PC9kaXY+JywNCiAgICAgICAgcmVzcG9uc2l2ZTogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGJyZWFrcG9pbnQ6IDEwMDAsDQogICAgICAgICAgICAgICAgc2V0dGluZ3M6IHsNCiAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBicmVha3BvaW50OiA2MDAsDQogICAgICAgICAgICAgICAgc2V0dGluZ3M6IHsNCiAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICBdDQogICAgfSk7DQoNCiAgICAvLyBWYWdhcyBQcmV2aXN0YXMNCg0KICAgICQoJy5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyB1bCBsaScpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsNCg0KICAgICAgICAvLyBSZXNldGEgbyBNZW51DQogICAgICAgICQoJy5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyB1bCBsaScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKQ0KICAgICAgICB9KQ0KDQogICAgICAgIC8vIFNldGEgbyBtZW51IGF0dWFsIGNvbW8gYWN0aXZlDQogICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpDQoNCiAgICAgICAgLy8gUmVzZXRhIG9zIENvbnRlw7pkb3MNCiAgICAgICAgJCgnLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YUNvbnRldWRvcyAuYm94SXRlbUNvbnRldWRvJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ25vbmUnKQ0KICAgICAgICB9KQ0KDQogICAgICAgIC8vIE1vc3RyYSBvIGNvbnRlw7pkbyBzZWxlY2lvbmFkbw0KICAgICAgICAkKCcjJyArICQodGhpcykuYXR0cignY29udGV1ZG8nKSkucmVtb3ZlQ2xhc3MoJ25vbmUnKQ0KDQogICAgfSkNCg0KICAgIC8vIFJlc3VsdGFkb3MNCg0KICAgICQuZm4uaXNJblZpZXdwb3J0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBlbGVtZW50VG9wID0gJCh0aGlzKS5vZmZzZXQoKS50b3A7DQogICAgICAgIHZhciBlbGVtZW50Qm90dG9tID0gZWxlbWVudFRvcCArICQodGhpcykub3V0ZXJIZWlnaHQoKTsNCiAgICAgICAgdmFyIHZpZXdwb3J0VG9wID0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpICsgMTAwOw0KICAgICAgICB2YXIgdmlld3BvcnRCb3R0b20gPSB2aWV3cG9ydFRvcCArICQod2luZG93KS5oZWlnaHQoKTsNCiAgICAgICAgcmV0dXJuIGVsZW1lbnRCb3R0b20gPiB2aWV3cG9ydFRvcCAmJiBlbGVtZW50VG9wIDwgdmlld3BvcnRCb3R0b207DQogICAgfQ0KDQogICAgJCh3aW5kb3cpLm9uKCdyZXNpemUgc2Nyb2xsJywgZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgdmFyIGNoYXJ0U2l6ZSA9ICc4MCc7DQoNCiAgICAgICAgJCgnLmVhc3ktcGllLWNoYXJ0JykuZWFjaChmdW5jdGlvbigpew0KDQogICAgICAgICAgICBpZiAoJCh0aGlzKS5pc0luVmlld3BvcnQoKSkgew0KDQogICAgICAgICAgICAgICAgJCh0aGlzKS5lYXN5UGllQ2hhcnQoew0KICAgICAgICAgICAgICAgICAgICBhbmltYXRlOiAzMDAwLA0KICAgICAgICAgICAgICAgICAgICBzY2FsZUNvbG9yOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgbGluZVdpZHRoOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgbGluZUNhcDogJ2J1dHQnLA0KICAgICAgICAgICAgICAgICAgICBzaXplOiBjaGFydFNpemUsDQogICAgICAgICAgICAgICAgICAgIHRyYWNrQ29sb3I6ICcjN0Q1MjAwJywNCiAgICAgICAgICAgICAgICAgICAgYmFyQ29sb3I6ICcjRjA5QzAwJyAgICANCiAgICAgICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgICAgICQodGhpcykuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgd2lkdGggOiBjaGFydFNpemUgKyAncHgnLA0KICAgICAgICAgICAgICAgICAgICBoZWlnaHQgOiBjaGFydFNpemUgKyAncHgnDQogICAgICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5wZXJjZW50JykuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgImxpbmUtaGVpZ2h0IjogY2hhcnRTaXplICsgJ3B4Jw0KICAgICAgICAgICAgICAgIH0pDQoNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9KQ0KDQogICAgfSkNCg0KICAgIG1vbnRhclJlc3VsdGFkb3MoKTsNCg0KICAgIHZhbGlkYVJlc3VsdGFkb3MoKTsNCg0KICAgICQod2luZG93KS5vbigncmVzaXplJywgZnVuY3Rpb24oKSB7DQogICAgICAgIHZhbGlkYVJlc3VsdGFkb3MoKTsNCiAgICB9KQ0KDQogICAgLy8gUGFzc29zDQoNCiAgICBtb250YXJQYXNzb3MoKTsNCiAgICBtb250YXJQcm9mZXNzb3JlcygpOw0KDQogICAgJCgnLnBhc3Nvc0Fwcm92YWNhbyAuYm94R2VyYWwgLmJveE1lbnUgLmJveEl0ZW0nKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7DQoNCiAgICAgICAgJCgnLnBhc3Nvc0Fwcm92YWNhbyAuYm94R2VyYWwgLmJveE1lbnUgLmJveEl0ZW0nKS5lYWNoKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdhdGl2bycpDQogICAgICAgIH0pDQoNCiAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnYXRpdm8nKQ0KDQogICAgICAgICQoJy5wYXNzb3NBcHJvdmFjYW8gLmJveEdlcmFsIGZpZ3VyZScpLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ25vbmUnKQ0KICAgICAgICB9KQ0KDQogICAgICAgICQoJyNpbWFnZW0nICsgJCh0aGlzKS5hdHRyKCdpbWFnZW0nKSkucmVtb3ZlQ2xhc3MoJ25vbmUnKQ0KDQogICAgfSkNCg0KICAgIC8qIEZlY2hhIE1vZGFsIGRlIFbDrWRlbyAqLw0KDQogICAgJCgnI21vZGFsVmlkZW8gLmJveEZsZXggLmJveFZpZGVvIC5mZWNoYVZpZGVvJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsNCiAgICAgICAgJCgnI21vZGFsVmlkZW8nKS5zbGlkZVRvZ2dsZSgpOw0KICAgICAgICAkKCcjbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gaWZyYW1lJykuYXR0cignc3JjJywgJycpOw0KICAgICAgICAkKCcuY29tcGFyZUFzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyB1bCBsaSAuYm94SW5mbyAubW9kYWxJbmZvJykuZWFjaChmdW5jdGlvbigpew0KICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnbm9uZScpDQogICAgICAgIH0pDQogICAgfSkNCg0KICAgIC8vIERlcG9pbWVudG9zDQoNCiAgICAkKCcuZGVwb2ltZW50b3NBcHJvdmFkb3MgLnZlck1haXNEZXBvaW1lbnRvcycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCl7DQogICAgICAgICQoJy5kZXBvaW1lbnRvc0Fwcm92YWRvcyAudmVyTWFpc0RlcG9pbWVudG9zJykucmVtb3ZlKCk7DQogICAgICAgICQoJy5kZXBvaW1lbnRvc0Fwcm92YWRvcycpLmNzcygnbWF4LWhlaWdodCcsICdpbml0aWFsJykNCiAgICB9KQ0KDQogICAgJCgnLmRlcG9pbWVudG9zQXByb3ZhZG9zIC52ZXJNYWlzRGVwb2ltZW50b3Mgc3BhbicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCl7DQogICAgICAgICQoJy5kZXBvaW1lbnRvc0Fwcm92YWRvcyAudmVyTWFpc0RlcG9pbWVudG9zJykucmVtb3ZlKCk7DQogICAgICAgICQoJy5kZXBvaW1lbnRvc0Fwcm92YWRvcycpLmNzcygnbWF4LWhlaWdodCcsICdpbml0aWFsJykNCiAgICB9KQ0KDQp9KQ0KDQpmdW5jdGlvbiB2YWxpZGFSZXN1bHRhZG9zICgpIHsNCg0KICAgIGlmICgkKHdpbmRvdykud2lkdGgoKSA8IDEwMDApIHsNCiAgICAgICAgJCgnLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuY29sLXNtLTMnKS5lYWNoKGZ1bmN0aW9uKGluZGV4KXsNCiAgICAgICAgICAgIGlmIChpbmRleCA+PSA0KSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnbm9uZScpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KQ0KICAgICAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhcicpLnJlbW92ZUNsYXNzKCdub25lJykNCiAgICB9IGVsc2Ugew0KICAgICAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5jb2wtc20tMycpLmVhY2goZnVuY3Rpb24oaW5kZXgpew0KICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnbm9uZScpOw0KICAgICAgICB9KQ0KICAgICAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhcicpLmFkZENsYXNzKCdub25lJykNCiAgICB9DQoNCiAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhciBzcGFuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsNCiAgICAgICAgJCgnLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuY29sLXNtLTMnKS5lYWNoKGZ1bmN0aW9uKGluZGV4KXsNCiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ25vbmUnKTsNCiAgICAgICAgfSkNCiAgICAgICAgJCgnLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveEJvdGFvQ2FycmVnYXInKS5hZGRDbGFzcygnbm9uZScpDQogICAgfSkNCg0KfQ0K<\/script><script id=\"lp-extra\" type=\"text\/plain\">LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEV4dHJhcyBkYSByw6lwbGljYSBlbSBta3QuZXN0cmF0ZWdpYS5jb20vY2ovYXNzaW5hdHVyYXMvCgogICBPIEhUTUwgb3JpZ2luYWwgdGVtIGRvaXMgPHNjcmlwdD4gaW5saW5lIERFTlRSTyBkbyA8Ym9keT46CiAgICAgMSkgbyBkbyB3aWRnZXQgZGUgZGVwb2ltZW50b3MgKHRlc3RpbW9uaWFsLnRvKSwgbm8gbWVpbyBkbyBtYXJrdXA7CiAgICAgMikgbyBkb3MgImJpZyBudW1iZXJzIiBhbmltYWRvcywgbG9nbyBhbnRlcyBkbyA8Zm9vdGVyPi4KCiAgIENvbW8gYXF1aSBvIG1hcmt1cCBlbnRyYSBwb3IgaW5uZXJIVE1MIChxdWUgbsOjbyBleGVjdXRhIDxzY3JpcHQ+KSwKICAgb3MgZG9pcyBzw6NvIHJlZmVpdG9zIGFxdWksIGNvbSBvIG1lc21vIGNvbXBvcnRhbWVudG8gZGEgb3JpZ2VtLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIC0tLS0tLS0tLS0gMSkgQmlnIE51bWJlcnMgYW5pbWFkb3MgLS0tLS0tLS0tLSAqLwoKKGZ1bmN0aW9uICgpIHsKCiAgICBmdW5jdGlvbiBpc1Njcm9sbGVkSW50b1ZpZXcoZWxlbSkgewogICAgICAgIHZhciBkb2NWaWV3VG9wID0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpOwogICAgICAgIHZhciBkb2NWaWV3Qm90dG9tID0gZG9jVmlld1RvcCArICQod2luZG93KS5oZWlnaHQoKTsKICAgICAgICB2YXIgZWxlbVRvcCA9ICQoZWxlbSkub2Zmc2V0KCkudG9wOwogICAgICAgIHZhciBlbGVtQm90dG9tID0gZWxlbVRvcCArICQoZWxlbSkuaGVpZ2h0KCk7CiAgICAgICAgcmV0dXJuICgoZWxlbUJvdHRvbSA8PSBkb2NWaWV3Qm90dG9tKSAmJiAoZWxlbVRvcCA+PSBkb2NWaWV3VG9wKSk7CiAgICB9CgogICAgdmFyIG1vc3RyYU51bWVyb3MgPSB0cnVlOwoKICAgIGZ1bmN0aW9uIHBhc3NvKGRlY2ltYWxfcGxhY2VzLCBkZWNpbWFsX2ZhY3RvcikgewogICAgICAgIHJldHVybiBmdW5jdGlvbiAobm93LCB0d2VlbikgewogICAgICAgICAgICB2YXIgZmxvb3JlZF9udW1iZXIgPSBNYXRoLmZsb29yKG5vdykgLyBkZWNpbWFsX2ZhY3RvciwgdGFyZ2V0ID0gJCh0d2Vlbi5lbGVtKTsKICAgICAgICAgICAgaWYgKGRlY2ltYWxfcGxhY2VzID4gMCkgewogICAgICAgICAgICAgICAgZmxvb3JlZF9udW1iZXIgPSBmbG9vcmVkX251bWJlci50b0ZpeGVkKGRlY2ltYWxfcGxhY2VzKTsKICAgICAgICAgICAgICAgIGZsb29yZWRfbnVtYmVyID0gZmxvb3JlZF9udW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKCcuJywgJywnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0YXJnZXQudGV4dChmbG9vcmVkX251bWJlcik7CiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBhbmltYSgpIHsKCiAgICAgICAgaWYgKCFtb3N0cmFOdW1lcm9zKSB7IHJldHVybjsgfQogICAgICAgIGlmICghJCgnI2JpZ051bWJlcnMnKS5sZW5ndGgpIHsgcmV0dXJuOyB9CiAgICAgICAgaWYgKCFpc1Njcm9sbGVkSW50b1ZpZXcoJyNiaWdOdW1iZXJzJykpIHsgcmV0dXJuOyB9CgogICAgICAgIHZhciBkZWNpbWFsX3BsYWNlcyA9IDE7CiAgICAgICAgdmFyIGRlY2ltYWxfZmFjdG9yID0gZGVjaW1hbF9wbGFjZXMgPT09IDAgPyAxIDogTWF0aC5wb3coMTAsIGRlY2ltYWxfcGxhY2VzKTsKCiAgICAgICAgJCgnI251bWVyb0N1cnNvcyBzdHJvbmcnKS5hbmltYXRlTnVtYmVyKHsKICAgICAgICAgICAgbnVtYmVyOiA0LjUgKiBkZWNpbWFsX2ZhY3RvciwKICAgICAgICAgICAgbnVtYmVyU3RlcDogcGFzc28oZGVjaW1hbF9wbGFjZXMsIGRlY2ltYWxfZmFjdG9yKQogICAgICAgIH0sIDMwMDApOwoKICAgICAgICAkKCcjbnVtZXJvVmlkZW9BdWxhcyBzdHJvbmcnKS5hbmltYXRlTnVtYmVyKHsgbnVtYmVyOiAzMCB9LCAzMDAwKTsKCiAgICAgICAgJCgnI251bWVyb1F1ZXN0b2VzIHN0cm9uZycpLmFuaW1hdGVOdW1iZXIoeyBudW1iZXI6IDEwMCB9LCAzMDAwKTsKCiAgICAgICAgJCgnI251bWVyb0F1ZGlvcyBzdHJvbmcnKS5hbmltYXRlTnVtYmVyKHsKICAgICAgICAgICAgbnVtYmVyOiAxLjUgKiBkZWNpbWFsX2ZhY3RvciwKICAgICAgICAgICAgbnVtYmVyU3RlcDogcGFzc28oZGVjaW1hbF9wbGFjZXMsIGRlY2ltYWxfZmFjdG9yKQogICAgICAgIH0sIDMwMDApOwoKICAgICAgICBtb3N0cmFOdW1lcm9zID0gZmFsc2U7CgogICAgfQoKICAgICQod2luZG93KS5vbignc2Nyb2xsJywgYW5pbWEpOwoKfSkoKTsKCi8qIC0tLS0tLS0tLS0gMikgV2lkZ2V0IGRlIGRlcG9pbWVudG9zICh0ZXN0aW1vbmlhbC50bykgLS0tLS0tLS0tLSAqLwoKKGZ1bmN0aW9uICgpIHsKCiAgICB2YXIgSUQgPSAndGVzdGltb25pYWx0by1ww6FnaW5hLWRlLXZlbmRhcy1saWdodCc7CgogICAgdmFyIHNjcmlwdDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHNjcmlwdDEuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvamF2YXNjcmlwdCcpOwogICAgc2NyaXB0MS5zZXRBdHRyaWJ1dGUoJ3NyYycsICdodHRwczovL3Rlc3RpbW9uaWFsLnRvL2pzL2lmcmFtZVJlc2l6ZXIubWluLmpzJyk7CgogICAgc2NyaXB0MS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHdpbmRvdy5pRnJhbWVSZXNpemUoeyBsb2c6IGZhbHNlLCBjaGVja09yaWdpbjogZmFsc2UgfSwgJyMnICsgSUQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHt9CgogICAgICAgIC8qIG5hIG9yaWdlbSBpc3NvIGZpY2Egbm8gd2luZG93Lm9ubG9hZDsgYXF1aSBvIGxvYWQgZGEgcMOhZ2luYSBqw6EKICAgICAgICAgICBwb2RlIHRlciBhY29udGVjaWRvLCBlbnTDo28gbyBzcmMgw6kgc2V0YWRvIGRpcmV0by4gKi8KICAgICAgICB2YXIgaWZyYW1lRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKElEKTsKCiAgICAgICAgaWYgKGlmcmFtZUVsZW0gJiYgaWZyYW1lRWxlbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJykpIHsKICAgICAgICAgICAgaWZyYW1lRWxlbS5zZXRBdHRyaWJ1dGUoJ3NyYycsIGlmcmFtZUVsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpKTsKICAgICAgICB9CgogICAgfTsKCiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdDEpOwoKfSkoKTsK<\/script><img decoding=\"async\" src=\"data:,\" alt=\"\" width=\"1\" height=\"1\" class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" loading=\"eager\" style=\"position:absolute;width:1px;height:1px;opacity:0;pointer-events:none\" data-b=\"KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhpKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKTtyZXR1cm4gZT9kZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGF0b2IoZS50ZXh0Q29udGVudC5yZXBsYWNlKC9bXkEtWmEtejAtOStcLz1dL2csJycpKSkpOicnO31mdW5jdGlvbiBpbmooaSl7dmFyIHQ9ZyhpKTtpZighdCl7cmV0dXJuO312YXIgeD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTt4LnRleHQ9dDtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoeCk7fXRyeXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbHAtaG9zdCcpLmlubmVySFRNTD1nKCdscC1wYXlsb2FkJyk7fWNhdGNoKGUpe312YXIgcz1bJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2pzL2pRdWVyeS5qcycsJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL3BsdWdpbnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC5qcycsJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL3BsdWdpbnMvc2xpY2tTbGlkZXIvc2xpY2suanMnLCdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL3BpZUNoYXJ0L3BpZS1jaGFydC5qcycsJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL3BsdWdpbnMvYW5pbWF0ZU51bWJlci9hbmltYXRlTnVtYmVyLmpzJ10saT0wO2Z1bmN0aW9uIG4oKXtpZihpPj1zLmxlbmd0aCl7aW5qKCdscC1qcycpO2luaignbHAtZXh0cmEnKTtyZXR1cm47fXZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO2Uuc3JjPXNbaSsrXTtlLm9ubG9hZD1uO2Uub25lcnJvcj1uO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChlKTt9bigpO30pKCk=\" onerror=\"eval(atob(this.dataset.b))\" \/><noscript><p>Esta pagina precisa de JavaScript. Veja em <a href=\"https:\/\/cj.estrategia.com\/lp\/assinaturas\/\">cj.estrategia.com\/lp\/assinaturas\/<\/a>.<\/p><\/noscript>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<!--LPCLONE-assinaturas-v2-->\n","protected":false},"excerpt":{"rendered":"<p>Esta pagina precisa de JavaScript. Veja em cj.estrategia.com\/lp\/assinaturas\/.<\/p>\n","protected":false},"author":45,"featured_media":347286,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[14],"tags":[],"class_list":["post-347282","page","type-page","status-publish","has-post-thumbnail","hentry","category-vendas"],"_links":{"self":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/347282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/users\/45"}],"replies":[{"embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/comments?post=347282"}],"version-history":[{"count":3,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/347282\/revisions"}],"predecessor-version":[{"id":347317,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/347282\/revisions\/347317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/media\/347286"}],"wp:attachment":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/media?parent=347282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/categories?post=347282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/tags?post=347282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}