{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+Sm95Y2UgS2l6YSB8IERpZ2l0YWwgQ2FyZCB8IFRoZSBSb290cyBVZ2FuZGE8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkNvbm5lY3Qgd2l0aCBKb3ljZSBLaXphIC0gRm91bmRlciBvZiBUaGUgUm9vdHMsIGVtcG93ZXJpbmcgcmVmdWdlZSB3b21lbiBpbiBVZ2FuZGEuIFNjYW4gdG8gc2F2ZSBjb250YWN0LiI+CiAgICAKICAgIDxzdHlsZT4KICAgICAgICAqIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgYm9keSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzBGMjQxNSAwJSwgIzFCM0ExRiAxMDAlKTsKICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAxcmVtOwogICAgICAgIH0KCiAgICAgICAgLmNhcmQtY29udGFpbmVyIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxQjNBMUYgMCUsICMwRjI0MTUgMTAwJSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICNGRkQ3MDA7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IAogICAgICAgICAgICAgICAgMCAwIDQwcHggcmdiYSgyNTUsIDIxNSwgMCwgMC42KSwKICAgICAgICAgICAgICAgIDAgMCA4MHB4IHJnYmEoMjU1LCAyMTUsIDAsIDAuMyksCiAgICAgICAgICAgICAgICBpbnNldCAwIDAgNjBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjEpOwogICAgICAgICAgICBwYWRkaW5nOiAycmVtOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEuNXJlbTsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLyogQW5pbWF0ZWQgQmFja2dyb3VuZCBQYXR0ZXJuICovCiAgICAgICAgLmNhcmQtY29udGFpbmVyOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IC01MCU7CiAgICAgICAgICAgIGxlZnQ6IC01MCU7CiAgICAgICAgICAgIHdpZHRoOiAyMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDIwMCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyNTUsIDIxNSwgMCwgMC4wMykgMXB4LCB0cmFuc3BhcmVudCAxcHgpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyMjQsIDEyMiwgOTUsIDAuMDMpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsKICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MHB4IDUwcHgsIDgwcHggODBweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCA0MHB4IDQwcHg7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZHJpZnQgNjBzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGRyaWZ0IHsKICAgICAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSByb3RhdGUoMGRlZyk7IH0KICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMHB4LCAxMDBweCkgcm90YXRlKDM2MGRlZyk7IH0KICAgICAgICB9CgogICAgICAgIC8qIE5FT04gQVJST1cgUE9JTlRJTkcgVVAgKi8KICAgICAgICAuc2Nhbi1hcnJvdy10b3AgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCAyMTUsIDAsIDAuMykgMCUsIHJnYmEoMjI0LCAxMjIsIDk1LCAwLjMpIDEwMCUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjRkZENzAwOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgICAgICBib3gtc2hhZG93OiAKICAgICAgICAgICAgICAgIDAgMCA0MHB4IHJnYmEoMjU1LCAyMTUsIDAsIDAuNyksCiAgICAgICAgICAgICAgICBpbnNldCAwIDAgMzBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjIpOwogICAgICAgICAgICBhbmltYXRpb246IHB1bHNlLWdsb3ctYXJyb3cgMnMgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHB1bHNlLWdsb3ctYXJyb3cgewogICAgICAgICAgICAwJSwgMTAwJSB7IAogICAgICAgICAgICAgICAgYm94LXNoYWRvdzogCiAgICAgICAgICAgICAgICAgICAgMCAwIDQwcHggcmdiYSgyNTUsIDIxNSwgMCwgMC43KSwKICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDAgMzBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjIpOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgICAgfQogICAgICAgICAgICA1MCUgeyAKICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IAogICAgICAgICAgICAgICAgICAgIDAgMCA2MHB4IHJnYmEoMjU1LCAyMTUsIDAsIDEpLAogICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMCA0MHB4IHJnYmEoMjU1LCAyMTUsIDAsIDAuNCk7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuYXJyb3ctaWNvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTsKICAgICAgICAgICAgY29sb3I6ICNGRkQ3MDA7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsKICAgICAgICAgICAgdGV4dC1zaGFkb3c6IAogICAgICAgICAgICAgICAgMCAwIDIwcHggcmdiYSgyNTUsIDIxNSwgMCwgMSksCiAgICAgICAgICAgICAgICAwIDAgNDBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjcpOwogICAgICAgICAgICBhbmltYXRpb246IGJvdW5jZS1hcnJvdyAxLjVzIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBib3VuY2UtYXJyb3cgewogICAgICAgICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOyB9CiAgICAgICAgfQoKICAgICAgICAuYXJyb3ctdGV4dCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogOTAwOwogICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDsKICAgICAgICAgICAgdGV4dC1zaGFkb3c6IAogICAgICAgICAgICAgICAgM3B4IDNweCA2cHggcmdiYSgwLDAsMCwwLjkpLAogICAgICAgICAgICAgICAgMCAwIDMwcHggcmdiYSgyNTUsIDIxNSwgMCwgMC43KTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICB9CgogICAgICAgIC5hcnJvdy1zdWJ0ZXh0IHsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiAjRTA3QTVGOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07CiAgICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsMCwwLDAuOCk7CiAgICAgICAgfQoKICAgICAgICAvKiBJbml0aWFscyBDaXJjbGUgKi8KICAgICAgICAuaW5pdGlhbHMtY2lyY2xlIHsKICAgICAgICAgICAgd2lkdGg6IDE4MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDE4MHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGRkQ3MDAgMCUsICNGRkE1MDAgMTAwJSk7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgICAgICAgIGNvbG9yOiAjMUIzQTFGOwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCA0cHggcmdiYSgwLDAsMCwwLjMpOwogICAgICAgICAgICBib3gtc2hhZG93OiAKICAgICAgICAgICAgICAgIDAgMCA0MHB4IHJnYmEoMjU1LCAyMTUsIDAsIDAuOCksCiAgICAgICAgICAgICAgICAwIDAgODBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjQpLAogICAgICAgICAgICAgICAgaW5zZXQgMCAwIDMwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAjRkZENzAwOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgICAgICBhbmltYXRpb246IHB1bHNlLWdsb3cgM3MgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHB1bHNlLWdsb3cgewogICAgICAgICAgICAwJSwgMTAwJSB7IAogICAgICAgICAgICAgICAgYm94LXNoYWRvdzogCiAgICAgICAgICAgICAgICAgICAgMCAwIDQwcHggcmdiYSgyNTUsIDIxNSwgMCwgMC44KSwKICAgICAgICAgICAgICAgICAgICAwIDAgODBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjQpLAogICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMCAzMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgICAgICAgfQogICAgICAgICAgICA1MCUgeyAKICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IAogICAgICAgICAgICAgICAgICAgIDAgMCA2MHB4IHJnYmEoMjU1LCAyMTUsIDAsIDEpLAogICAgICAgICAgICAgICAgICAgIDAgMCAxMjBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjYpLAogICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMCA0MHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyogTmFtZSBTZWN0aW9uICovCiAgICAgICAgLm5hbWUtc2VjdGlvbiB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICB9CgogICAgICAgIC5uYW1lIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgICAgICAgIGNvbG9yOiAjRkZENzAwOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07CiAgICAgICAgICAgIHRleHQtc2hhZG93OiAKICAgICAgICAgICAgICAgIDNweCAzcHggNnB4IHJnYmEoMCwwLDAsMC44KSwKICAgICAgICAgICAgICAgIDAgMCAzMHB4IHJnYmEoMjU1LCAyMTUsIDAsIDAuNSk7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgfQoKICAgICAgICAudGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTsKICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggNHB4IHJnYmEoMCwwLDAsMC43KTsKICAgICAgICB9CgogICAgICAgIC5vcmdhbml6YXRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6ICNFMDdBNUY7CiAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsMCwwLDAuNyk7CiAgICAgICAgfQoKICAgICAgICAubG9jYXRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiAjRkZENzAwOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07CiAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsMCwwLDAuNik7CiAgICAgICAgfQoKICAgICAgICAvKiBRdW90ZSBTZWN0aW9uICovCiAgICAgICAgLnF1b3RlLXNlY3Rpb24gewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMjE1LCAwLCAwLjE1KSAwJSwgcmdiYSgyMjQsIDEyMiwgOTUsIDAuMTUpIDEwMCUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjE1LCAwLCAwLjQpOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIH0KCiAgICAgICAgLnF1b3RlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6ICNGRkQ3MDA7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsMCwwLDAuNyk7CiAgICAgICAgfQoKICAgICAgICAvKiBQYXltZW50IEluZm8gU2VjdGlvbiAqLwogICAgICAgIC5wYXltZW50LXNlY3Rpb24gewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsIDIxNSwgMCwgMC4yKSAwJSwgcmdiYSg0NCwgOTUsIDQ1LCAwLjMpIDEwMCUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjRkZENzAwOwogICAgICAgICAgICBwYWRkaW5nOiAxcmVtOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIH0KCiAgICAgICAgLnBheW1lbnQtdGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgICAgICAgY29sb3I6ICNGRkQ3MDA7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtOwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCA0cHggcmdiYSgwLDAsMCwwLjcpOwogICAgICAgIH0KCiAgICAgICAgLnBheW1lbnQtaXRlbSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgICAgcGFkZGluZzogMC41cmVtOwogICAgICAgICAgICBtYXJnaW46IDAuM3JlbSAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgfQoKICAgICAgICAucGF5bWVudC1sYWJlbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsKICAgICAgICB9CgogICAgICAgIC5wYXltZW50LXZhbHVlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogOTAwOwogICAgICAgICAgICBjb2xvcjogI0ZGRDcwMDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICB9CgogICAgICAgIC8qIFNvY2lhbCBJY29ucyAqLwogICAgICAgIC5zb2NpYWwtc2VjdGlvbiB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMXJlbTsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgfQoKICAgICAgICAuc29jaWFsLWljb24gewogICAgICAgICAgICB3aWR0aDogNTBweDsKICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGRkQ3MDAgMCUsICNGRkE1MDAgMTAwJSk7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjRkZGRkZGOwogICAgICAgICAgICBib3gtc2hhZG93OiAKICAgICAgICAgICAgICAgIDAgNXB4IDIwcHggcmdiYSgyNTUsIDIxNSwgMCwgMC41KSwKICAgICAgICAgICAgICAgIGluc2V0IDAgMCAxNXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICAgICAgfQoKICAgICAgICAuc29jaWFsLWljb246aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgc2NhbGUoMS4xKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogCiAgICAgICAgICAgICAgICAwIDEwcHggMzBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjgpLAogICAgICAgICAgICAgICAgaW5zZXQgMCAwIDIwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwogICAgICAgIH0KCiAgICAgICAgLyogQ1RBIEJ1dHRvbnMgKi8KICAgICAgICAuY3RhLXNlY3Rpb24gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDFyZW07CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIH0KCiAgICAgICAgLmN0YS1idXR0b24gewogICAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgICBwYWRkaW5nOiAxcmVtOwogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLmN0YS1wcmltYXJ5IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0UwN0E1RiAwJSwgI0Q0NjA1RiAxMDAlKTsKICAgICAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjRkZENzAwOwogICAgICAgICAgICBib3gtc2hhZG93OiAKICAgICAgICAgICAgICAgIDAgOHB4IDI1cHggcmdiYSgyMjQsIDEyMiwgOTUsIDAuNSksCiAgICAgICAgICAgICAgICBpbnNldCAwIDAgMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgfQoKICAgICAgICAuY3RhLXByaW1hcnk6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IAogICAgICAgICAgICAgICAgMCAxNXB4IDQwcHggcmdiYSgyMjQsIDEyMiwgOTUsIDAuOCksCiAgICAgICAgICAgICAgICBpbnNldCAwIDAgMzBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICAgICAgfQoKICAgICAgICAuY3RhLXNlY29uZGFyeSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBjb2xvcjogI0ZGRDcwMDsKICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI0ZGRDcwMDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDI1NSwgMjE1LCAwLCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgLmN0YS1zZWNvbmRhcnk6aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjE1LCAwLCAwLjIpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMjU1LCAyMTUsIDAsIDAuNik7CiAgICAgICAgfQoKICAgICAgICAvKiBSZXNwb25zaXZlICovCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5jYXJkLWNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5hcnJvdy1pY29uIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLmFycm93LXRleHQgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5pbml0aWFscy1jaXJjbGUgewogICAgICAgICAgICAgICAgd2lkdGg6IDE0MHB4OwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLm5hbWUgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAudGl0bGUgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5jdGEtc2VjdGlvbiB7CiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGFpbmVyIj4KICAgICAgICA8IS0tIE5FT04gQVJST1cgUE9JTlRJTkcgVVAgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2Nhbi1hcnJvdy10b3AiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcnJvdy1pY29uIj7irIbvuI88L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJyb3ctdGV4dCI+U0NBTiBRUiBDT0RFPGJyPkFCT1ZFPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFycm93LXN1YnRleHQiPlBvaW50IFlvdXIgQ2FtZXJhIFVwIOKshu+4jzwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEluaXRpYWxzIENpcmNsZSAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbml0aWFscy1jaXJjbGUiPgogICAgICAgICAgICBKSwogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIE5hbWUgU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lIj5KT1lDRSBLSVpBPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5Gb3VuZGVyICYgU29jaWFsIEVudHJlcHJlbmV1cjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcmdhbml6YXRpb24iPlRoZSBSb290cyB8IFJlZnVnZWUgRW1wb3dlcm1lbnQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jYXRpb24iPvCfk40gTmFraXZhbGUgQ2FtcCwgVWdhbmRhPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gUXVvdGUgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0icXVvdGUtc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1b3RlIj4iRnJvbSBEaXNwbGFjZW1lbnQgdG8gRW1wb3dlcm1lbnQiPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gUGF5bWVudCBJbmZvIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InBheW1lbnQtc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBheW1lbnQtdGl0bGUiPvCfkrAgU1VQUE9SVCBUSEUgTUlTU0lPTjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXltZW50LWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBheW1lbnQtbGFiZWwiPvCfk7EgTW9iaWxlIE1vbmV5Ojwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXltZW50LXZhbHVlIj4rMjU2IDc1MyA3NjQgODEzPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGF5bWVudC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXltZW50LWxhYmVsIj7wn4+mIEJhbmsgQWNjb3VudDo8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGF5bWVudC12YWx1ZSI+MzIwNTIyNDg0NTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gU29jaWFsIEljb25zIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbC1zZWN0aW9uIj4KICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmpveWNla2l6YW10QGdtYWlsLmNvbSIgY2xhc3M9InNvY2lhbC1pY29uIj7wn5OnPC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3dhLm1lLzI1Njc1Mzc2NDgxMyIgY2xhc3M9InNvY2lhbC1pY29uIj7wn5OxPC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vam95Y2Uta2l6YS1iYjEyMTMxYjYvIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InNvY2lhbC1pY29uIj7wn5K8PC9hPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIENUQSBCdXR0b25zIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImN0YS1zZWN0aW9uIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3RhLWJ1dHRvbiBjdGEtcHJpbWFyeSIgb25jbGljaz0ic2F2ZUNvbnRhY3QoKSI+CiAgICAgICAgICAgICAgICDwn5K+IFNBVkUgQ09OVEFDVAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3RhLWJ1dHRvbiBjdGEtc2Vjb25kYXJ5IiBvbmNsaWNrPSJzaGFyZUNhcmQoKSI+CiAgICAgICAgICAgICAgICDwn5OkIFNIQVJFCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBzYXZlQ29udGFjdCgpIHsKICAgICAgICAgICAgY29uc3QgdkNhcmQgPSBgQkVHSU46VkNBUkQKVkVSU0lPTjozLjAKRk46Sm95Y2UgS2l6YQpPUkc6VGhlIFJvb3RzClRJVExFOkZvdW5kZXIgJiBTb2NpYWwgRW50cmVwcmVuZXVyClRFTDtUWVBFPUNFTEw6KzI1Njc1Mzc2NDgxMwpFTUFJTDpqb3ljZWtpemFtdEBnbWFpbC5jb20KQURSOjs7TmFraXZhbGUgQ2FtcDtJc2luZ2lybztVZ2FuZGEKVVJMOmh0dHBzOi8vbXkuaGFuZHNoYWtlLmFmcmljYS9qb3ljZS1raXphCk5PVEU6RnJvbSBEaXNwbGFjZW1lbnQgdG8gRW1wb3dlcm1lbnQKRU5EOlZDQVJEYDsKCiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbdkNhcmRdLCB7IHR5cGU6ICd0ZXh0L3ZjYXJkJyB9KTsKICAgICAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICAgICAgICAgIGxpbmsuaHJlZiA9IHVybDsKICAgICAgICAgICAgbGluay5kb3dubG9hZCA9ICdKb3ljZV9LaXphX0NvbnRhY3QudmNmJzsKICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKICAgICAgICAgICAgbGluay5jbGljaygpOwogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspOwogICAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpOwogICAgICAgICAgICAKICAgICAgICAgICAgYWxlcnQoJ+KchSBDb250YWN0IHNhdmVkISBDaGVjayB5b3VyIGRvd25sb2Fkcy4nKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHNoYXJlQ2FyZCgpIHsKICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5zaGFyZSkgewogICAgICAgICAgICAgICAgbmF2aWdhdG9yLnNoYXJlKHsKICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0pveWNlIEtpemEgLSBUaGUgUm9vdHMnLAogICAgICAgICAgICAgICAgICAgIHRleHQ6ICdDb25uZWN0IHdpdGggSm95Y2UgS2l6YSwgRm91bmRlciBvZiBUaGUgUm9vdHMgLSBFbXBvd2VyaW5nIHJlZnVnZWUgd29tZW4gaW4gVWdhbmRhJywKICAgICAgICAgICAgICAgICAgICB1cmw6ICdodHRwczovL215LmhhbmRzaGFrZS5hZnJpY2Evam95Y2Uta2l6YScKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmxvZygnU2hhcmUgY2FuY2VsbGVkJykpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoJ2h0dHBzOi8vbXkuaGFuZHNoYWtlLmFmcmljYS9qb3ljZS1raXphJyk7CiAgICAgICAgICAgICAgICBhbGVydCgn4pyFIExpbmsgY29waWVkISBTaGFyZSB3aXRoIHlvdXIgbmV0d29yay4nKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=","embed":""}