cropper

MUKASA VENTURE PARTNERS LLC

  • Discover
  • About Us
  • Our Services
  • Our Products
  • Contact Us
  • Thank You
  • Message Sent
  • Guide Sent
  • About Me
  • Birthday Club Casino
  • Casino Entered
  • Cohort Ubuntu
  • Cohort CEO Life
  • Cohort Mentrx
{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+TXVrYXNhIFZlbnR1cmUgUGFydG5lcnMgfCBUaGUgU292ZXJlaWduIEVtcGlyZTwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iTXVrYXNhIFZlbnR1cmUgUGFydG5lcnMgTExDIC0gUGFyZW50IGhvbGRpbmcgY29tcGFueSBvZiBhIHNvdmVyZWlnbiBkaWdpdGFsIGVtcGlyZSBzcGFubmluZyBNZWRpYSwgTGVhcm5pbmcsIERpcmVjdG9yaWVzLCBOZXR3b3JraW5nLCBhbmQgQ01PIFNlcnZpY2VzIGFjcm9zcyBBZnJpY2EgYW5kIHRoZSBkaWFzcG9yYS4gRXN0LiAyMDE3LiI+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3csIG5vYXJjaGl2ZSwgbm9pbWFnZWluZGV4Ij4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iTXVrYXNhIFZlbnR1cmUgUGFydG5lcnMgfCBUaGUgU292ZXJlaWduIEVtcGlyZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IldoZW4gQWZyaWNhbiBzdG9yaWVzIGFyZSB0b2xkIGJ5IEFmcmljYW5zLCBkZXZlbG9wbWVudCBzdG9wcyBiZWluZyBhIHByb21pc2UgYW5kIGJlY29tZXMgYSBsaXZlZCByZWFsaXR5LiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL211a2FzYXZlbnR1cmVwYXJ0bmVycy5jb20vIj4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL211a2FzYXZlbnR1cmVwYXJ0bmVycy5jb20vIj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTp3Z2h0QDQwMDs1MDA7NjAwOzcwMCZmYW1pbHk9Q29ybW9yYW50K0dhcmFtb25kOml0YWwsd2dodEAwLDQwMDswLDUwMDswLDYwMDsxLDQwMCZmYW1pbHk9TnVuaXRvOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8c3R5bGU+CiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLW5hdnk6ICMwRDFCMkE7CiAgICAgICAgICAgIC0taW5kaWdvOiAjMUMxRjRBOwogICAgICAgICAgICAtLWdvbGQ6ICNENEFGMzc7CiAgICAgICAgICAgIC0tcm9zZWdvbGQ6ICNDMjlBOEI7CiAgICAgICAgICAgIC0taXZvcnk6ICNGOEY0RUM7CiAgICAgICAgICAgIC0tZGVlcGdvbGQ6ICNCODk3MkU7CiAgICAgICAgICAgIC0tbGlnaHRnb2xkOiAjRThENUEzOwogICAgICAgICAgICAtLXRlYWw6ICMwMDg5N2I7CiAgICAgICAgICAgIC0tY2hhcmNvYWw6ICMxYTFhMmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0KICAgICAgICBodG1sIHsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH0KICAgICAgICAKICAgICAgICBib2R5IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODsKICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogV2F0ZXJtYXJrICovCiAgICAgICAgLndhdGVybWFyayB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgei1pbmRleDogOTk5OTsgb3BhY2l0eTogMC4wMTI7CiAgICAgICAgfQogICAgICAgIC53YXRlcm1hcms6OmJlZm9yZSB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICfCqSBNdWthc2EgVmVudHVyZSBQYXJ0bmVycyBMTEMg4oCiIEVzdC4gMjAxNyDigKIgVGhlIFNvdmVyZWlnbiBFbXBpcmUnOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiA1MCU7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMjVkZWcpOwogICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTsgY29sb3I6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjA0KTsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIHByaW50IHsgYm9keSAqIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH0gfQogICAgICAgIAogICAgICAgIC8qIEFuaW1hdGVkIEJhY2tncm91bmQgTGF5ZXJzICovCiAgICAgICAgLmJnLWxheWVyIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB6LWluZGV4OiAwOwogICAgICAgIH0KICAgICAgICAuYmctZ3JhZGllbnQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAKICAgICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDIwJSAyMCUsIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjA4KSAwJSwgdHJhbnNwYXJlbnQgNTAlKSwKICAgICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDgwJSA4MCUsIHJnYmEoMTk0LCAxNTQsIDEzOSwgMC4wNikgMCUsIHRyYW5zcGFyZW50IDUwJSksCiAgICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgNTAlLCByZ2JhKDAsIDEzNywgMTIzLCAwLjA0KSAwJSwgdHJhbnNwYXJlbnQgNjAlKTsKICAgICAgICAgICAgYW5pbWF0aW9uOiBncmFkaWVudFNoaWZ0IDIwcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgICB9CiAgICAgICAgQGtleWZyYW1lcyBncmFkaWVudFNoaWZ0IHsKICAgICAgICAgICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9CiAgICAgICAgICAgIDUwJSB7IG9wYWNpdHk6IDAuODsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYmctcGF0dGVybiB7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuMDI7CiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IAogICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDMwZGVnLCB2YXIoLS1nb2xkKSAxcHgsIHRyYW5zcGFyZW50IDFweCksCiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTMwZGVnLCB2YXIoLS1nb2xkKSAxcHgsIHRyYW5zcGFyZW50IDFweCk7CiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjBweCAxMDRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogRmxvYXRpbmcgT3JicyAqLwogICAgICAgIC5vcmIgeyBwb3NpdGlvbjogZml4ZWQ7IGJvcmRlci1yYWRpdXM6IDUwJTsgZmlsdGVyOiBibHVyKDEwMHB4KTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDA7IH0KICAgICAgICAub3JiMSB7IHdpZHRoOiA2MDBweDsgaGVpZ2h0OiA2MDBweDsgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7IG9wYWNpdHk6IDAuMDg7IHRvcDogLTIwMHB4OyByaWdodDogLTIwMHB4OyBhbmltYXRpb246IG9yYkZsb2F0IDI1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfQogICAgICAgIC5vcmIyIHsgd2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDUwMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1yb3NlZ29sZCk7IG9wYWNpdHk6IDAuMDY7IGJvdHRvbTogMTAlOyBsZWZ0OiAtMjAwcHg7IGFuaW1hdGlvbjogb3JiRmxvYXQgMzBzIGVhc2UtaW4tb3V0IGluZmluaXRlIHJldmVyc2U7IH0KICAgICAgICAub3JiMyB7IHdpZHRoOiA0MDBweDsgaGVpZ2h0OiA0MDBweDsgYmFja2dyb3VuZDogdmFyKC0tdGVhbCk7IG9wYWNpdHk6IDAuMDU7IHRvcDogNTAlOyBsZWZ0OiA1MCU7IGFuaW1hdGlvbjogb3JiUHVsc2UgMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9CiAgICAgICAgCiAgICAgICAgQGtleWZyYW1lcyBvcmJGbG9hdCB7CiAgICAgICAgICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0KICAgICAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTBweCwgLTUwcHgpOyB9CiAgICAgICAgfQogICAgICAgIEBrZXlmcmFtZXMgb3JiUHVsc2UgewogICAgICAgICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpOyBvcGFjaXR5OiAwLjA1OyB9CiAgICAgICAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMik7IG9wYWNpdHk6IDAuMDg7IH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogRmxvYXRpbmcgSWNvbnMgKi8KICAgICAgICAuZmxvYXRpZSB7IHBvc2l0aW9uOiBmaXhlZDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDE7IG9wYWNpdHk6IDAuMDQ7IGZvbnQtc2l6ZTogMy41cmVtOyB9CiAgICAgICAgLmZsb2F0aWUxIHsgdG9wOiAxMiU7IGxlZnQ6IDglOyBhbmltYXRpb246IGdlbnRsZUZsb2F0IDE4cyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfQogICAgICAgIC5mbG9hdGllMiB7IHRvcDogNjUlOyByaWdodDogMTAlOyBhbmltYXRpb246IGdlbnRsZUZsb2F0IDIycyBlYXNlLWluLW91dCBpbmZpbml0ZSAyczsgfQogICAgICAgIC5mbG9hdGllMyB7IGJvdHRvbTogMTglOyBsZWZ0OiAxNSU7IGFuaW1hdGlvbjogZ2VudGxlRmxvYXQgMjBzIGVhc2UtaW4tb3V0IGluZmluaXRlIDFzOyB9CiAgICAgICAgLmZsb2F0aWU0IHsgdG9wOiAzNSU7IHJpZ2h0OiAxOCU7IGFuaW1hdGlvbjogZ2VudGxlRmxvYXQgMjRzIGVhc2UtaW4tb3V0IGluZmluaXRlIDNzOyB9CiAgICAgICAgLmZsb2F0aWU1IHsgdG9wOiA4MCU7IGxlZnQ6IDYwJTsgYW5pbWF0aW9uOiBnZW50bGVGbG9hdCAxOXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgMS41czsgfQogICAgICAgIC5mbG9hdGllNiB7IHRvcDogMjAlOyBsZWZ0OiA3MCU7IGFuaW1hdGlvbjogZ2VudGxlRmxvYXQgMjFzIGVhc2UtaW4tb3V0IGluZmluaXRlIDIuNXM7IH0KICAgICAgICAKICAgICAgICBAa2V5ZnJhbWVzIGdlbnRsZUZsb2F0IHsKICAgICAgICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9CiAgICAgICAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCkgcm90YXRlKDhkZWcpOyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIE5hdmlnYXRpb24gKi8KICAgICAgICAudG9wbmF2IHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAxMDAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzLCAyNywgNDIsIDAuOTUpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjVweCk7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMTUpOwogICAgICAgIH0KICAgICAgICAubmF2LWJyYW5kIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB9CiAgICAgICAgLm5hdi1sb2dvIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgICB9CiAgICAgICAgLm5hdi10YWdsaW5lIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNSk7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgfQogICAgICAgIC5uYXZsaW5rcyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTJweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgICAgIC5uYXZsaW5rIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsgbGV0dGVyLXNwYWNpbmc6IDFweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KICAgICAgICAubmF2bGluazpob3ZlciB7IGJvcmRlci1jb2xvcjogcmdiYSgyMTIsIDE3NSwgNTUsIDAuMyk7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfQogICAgICAgIC5uYXZsaW5rLnByaW1hcnkgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tZGVlcGdvbGQpKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOyBmb250LXdlaWdodDogNjAwOwogICAgICAgIH0KICAgICAgICAubmF2bGluay5wcmltYXJ5OmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyBib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjMpOyB9CiAgICAgICAgCiAgICAgICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICBTQ1JPTExJTkcgUVVPVEUgQkFOTkVSCiAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgICAgICAucXVvdGUtYmFubmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1jaGFyY29hbCksIHZhcigtLW5hdnkpLCB2YXIoLS1jaGFyY29hbCkpOwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMSk7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICAgICAgcGFkZGluZzogMjBweCAwOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7CiAgICAgICAgfQogICAgICAgIC5xdW90ZS10cmFjayB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFuaW1hdGlvbjogc2Nyb2xsUXVvdGUgNDBzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50OwogICAgICAgIH0KICAgICAgICAucXVvdGUtdHJhY2s6aG92ZXIgeyBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkOyB9CiAgICAgICAgCiAgICAgICAgLnF1b3RlLWl0ZW0gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDIwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDAgNjBweDsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB9CiAgICAgICAgLnF1b3RlLWljb24geyBjb2xvcjogdmFyKC0tZ29sZCk7IGZvbnQtc2l6ZTogMS41cmVtOyB9CiAgICAgICAgLnF1b3RlLXRleHQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBjb2xvcjogdmFyKC0taXZvcnkpOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgfQogICAgICAgIC5xdW90ZS1kaXZpZGVyIHsgY29sb3I6IHZhcigtLXJvc2Vnb2xkKTsgb3BhY2l0eTogMC4zOyBmb250LXNpemU6IDEuNXJlbTsgfQogICAgICAgIAogICAgICAgIEBrZXlmcmFtZXMgc2Nyb2xsUXVvdGUgewogICAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogICAgICAgICAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgSEVSTyBTRUNUSU9OCiAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgICAgICAuaGVybyB7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiA4MHB4IDQwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5oZXJvLWVzdCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4OwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjUpOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgICAgICBhbmltYXRpb246IGZhZGVJbiAxcyBlYXNlIGZvcndhcmRzOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaGVyby1sb2dvIHsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIGZvcndhcmRzIDAuMnM7IG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIC5oZXJvLWxvZ28taWNvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDEwcHggMzBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKSk7CiAgICAgICAgfQogICAgICAgIC5oZXJvLWxvZ28tdGV4dCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgOHZ3LCA1cmVtKTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksIHZhcigtLWxpZ2h0Z29sZCksIHZhcigtLXJvc2Vnb2xkKSwgdmFyKC0tZ29sZCkpOwogICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwMCUgMzAwJTsKICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBzaGltbWVyIDZzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIH0KICAgICAgICAuaGVyby1sb2dvLXN1YiB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yb3NlZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBrZXlmcmFtZXMgc2hpbW1lciB7CiAgICAgICAgICAgIDAlLCAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlOyB9CiAgICAgICAgICAgIDUwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5oZXJvLXRhZ2xpbmUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDN2dywgMnJlbSk7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSBmb3J3YXJkcyAwLjRzOyBvcGFjaXR5OiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaGVyby1kZXNjcmlwdGlvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC44KTsKICAgICAgICAgICAgbWF4LXdpZHRoOiA3NTBweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIGZvcndhcmRzIDAuNnM7IG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5oZXJvLXN0YXRzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsgZ2FwOiA0MHB4OyBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OwogICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2UgZm9yd2FyZHMgMC44czsgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgLnN0YXQtaXRlbSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgICAgIC5zdGF0LW51bWJlciB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICB9CiAgICAgICAgLnN0YXQtbGFiZWwgewogICAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNSk7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhlcm8tY3RhIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksIHZhcigtLWRlZXBnb2xkKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgICAgICAgcGFkZGluZzogMThweCA0NXB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuMyk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSBmb3J3YXJkcyAxczsgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgLmhlcm8tY3RhOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDI1cHggNjBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC40KTsKICAgICAgICB9CiAgICAgICAgLmhlcm8tY3RhIC5hcnJvdyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH0KICAgICAgICAuaGVyby1jdGE6aG92ZXIgLmFycm93IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7IH0KICAgICAgICAKICAgICAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7CiAgICAgICAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB9CiAgICAgICAgICAgIHRvIHsgb3BhY2l0eTogMTsgfQogICAgICAgIH0KICAgICAgICBAa2V5ZnJhbWVzIGZhZGVJblVwIHsKICAgICAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsgfQogICAgICAgICAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgIFRIRSBFTkdJTkUgU0VDVElPTgogICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAgICAgLmVuZ2luZS1zZWN0aW9uIHsKICAgICAgICAgICAgcGFkZGluZzogMTAwcHggNDBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjQpLCB0cmFuc3BhcmVudCk7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7CiAgICAgICAgfQogICAgICAgIC5jb250YWluZXIgeyBtYXgtd2lkdGg6IDEyMDBweDsgbWFyZ2luOiAwIGF1dG87IH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi1oZWFkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDYwcHg7IH0KICAgICAgICAuc2VjdGlvbi1sYWJlbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOyBsZXR0ZXItc3BhY2luZzogNHB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNXZ3LCAzcmVtKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tcm9zZWdvbGQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZW5naW5lLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDEzLCAyNywgNDIsIDAuOTUpLCByZ2JhKDI4LCAzMSwgNzQsIDAuNykpOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgICAgICAgcGFkZGluZzogNTBweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDMwcHggODBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICB9CiAgICAgICAgLmVuZ2luZS1pY29uIHsgZm9udC1zaXplOiA0cmVtOyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9CiAgICAgICAgLmVuZ2luZS1uYW1lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuZW5naW5lLXVybCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2Vnb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CiAgICAgICAgLmVuZ2luZS1kZXNjcmlwdGlvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC44NSk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7CiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7CiAgICAgICAgfQogICAgICAgIC5lbmdpbmUtZmVhdHVyZXMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBnYXA6IDMwcHg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIC5lbmdpbmUtZmVhdHVyZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMTIsIDE3NSwgNTUsIDAuMSk7CiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjVweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICB9CiAgICAgICAgLmVuZ2luZS1mZWF0dXJlLWljb24geyBjb2xvcjogdmFyKC0tZ29sZCk7IH0KICAgICAgICAuZW5naW5lLWZlYXR1cmUtdGV4dCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICBFTVBJUkVTIEdSSUQgU0VDVElPTgogICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAgICAgLmVtcGlyZXMtc2VjdGlvbiB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDQwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5lbXBpcmVzLWdyaWQgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMyMHB4LCAxZnIpKTsKICAgICAgICAgICAgZ2FwOiAyNXB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZW1waXJlLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDEzLCAyNywgNDIsIDAuOTUpLCByZ2JhKDI4LCAzMSwgNzQsIDAuNikpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4yKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmVtcGlyZS1jYXJkOmhvdmVyIHsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDMwcHggNzBweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5lbXBpcmUtaGVhZGVyIHsKICAgICAgICAgICAgcGFkZGluZzogMjVweCAzMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xNSksIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjA1KSk7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIH0KICAgICAgICAuZW1waXJlLWljb24geyBmb250LXNpemU6IDIuNXJlbTsgfQogICAgICAgIC5lbXBpcmUtYmFkZ2UgewogICAgICAgICAgICBmb250LXNpemU6IDAuNnJlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgcGFkZGluZzogNXB4IDEycHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjIpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5lbXBpcmUtYm9keSB7IHBhZGRpbmc6IDMwcHg7IH0KICAgICAgICAKICAgICAgICAuZW1waXJlLW5hbWUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB9CiAgICAgICAgLmVtcGlyZS10YWdsaW5lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tcm9zZWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KICAgICAgICAuZW1waXJlLWRlc2NyaXB0aW9uIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNyk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5lbXBpcmUtZG9tYWlucyB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIC5lbXBpcmUtZG9tYWlucy1sYWJlbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjUpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuZG9tYWluLWxpc3QgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAuZG9tYWluLXRhZyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzNywgMTIzLCAwLjE1KTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlYWwpOwogICAgICAgICAgICBwYWRkaW5nOiA1cHggMTJweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxMzcsIDEyMywgMC4zKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmVtcGlyZS1jdGEgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmVtcGlyZS1jdGE6aG92ZXIgeyBjb2xvcjogdmFyKC0tbGlnaHRnb2xkKTsgfQogICAgICAgIC5lbXBpcmUtY3RhIC5hcnJvdyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH0KICAgICAgICAuZW1waXJlLWN0YTpob3ZlciAuYXJyb3cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsgfQogICAgICAgIAogICAgICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgU09WRVJFSUdOIFNDUklCRVMgU0VDVElPTgogICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAgICAgLnNjcmliZXMtc2VjdGlvbiB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDQwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWluZGlnbyksIHZhcigtLW5hdnkpKTsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNjcmliZXMtaW50cm8gewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDYwcHg7CiAgICAgICAgfQogICAgICAgIC5zY3JpYmVzLWludHJvIHAgewogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC44NSk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zY3JpYmVzLWdyaWQgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTsKICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2NyaWJlLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDEzLCAyNywgNDIsIDAuOSksIHJnYmEoMjgsIDMxLCA3NCwgMC41KSk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgcGFkZGluZzogMzBweCAyNXB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5zY3JpYmUtY2FyZDpob3ZlciB7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgICAgICB9CiAgICAgICAgLnNjcmliZS1jYXJkLmRpdmEgewogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKSwgcmdiYSgxMywgMjcsIDQyLCAwLjkpKTsKICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsKICAgICAgICB9CiAgICAgICAgLnNjcmliZS1pY29uIHsgZm9udC1zaXplOiAzcmVtOyBtYXJnaW4tYm90dG9tOiAxNXB4OyB9CiAgICAgICAgLnNjcmliZS1uYW1lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB9CiAgICAgICAgLnNjcmliZS10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjUpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuc2NyaWJlLW1lYW5pbmcgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yb3NlZ29sZCk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIH0KICAgICAgICAuc2NyaWJlLWFzc2lnbm1lbnQgewogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICBST09UUyBTRUNUSU9OCiAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgICAgICAucm9vdHMtc2VjdGlvbiB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDQwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yb290cy10aW1lbGluZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDMwcHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnRpbWVsaW5lLWl0ZW0gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDEzLCAyNywgNDIsIDAuOSksIHJnYmEoMjgsIDMxLCA3NCwgMC41KSk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjIpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAzMHB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogMjgwcHg7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC50aW1lbGluZS1pdGVtOmhvdmVyIHsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgICAgIH0KICAgICAgICAudGltZWxpbmUteWVhciB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAudGltZWxpbmUtZXZlbnQgewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB9CiAgICAgICAgLnRpbWVsaW5lLWRldGFpbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICBQQVkgSVQgRk9SV0FSRCBTRUNUSU9OCiAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgICAgICAucGF5Zm9yd2FyZC1zZWN0aW9uIHsKICAgICAgICAgICAgcGFkZGluZzogMTAwcHggNDBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjgsIDMxLCA3NCwgMC40KSk7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wYXlmb3J3YXJkLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDIyMCwgMjAsIDYwLCAwLjEpLCByZ2JhKDI1NSwgMTA1LCAxODAsIDAuMDUpKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyMjAsIDIwLCA2MCwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgICAgICAgcGFkZGluZzogNjBweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXgtd2lkdGg6IDkwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgLnBheWZvcndhcmQtaWNvbiB7IGZvbnQtc2l6ZTogNHJlbTsgbWFyZ2luLWJvdHRvbTogMjVweDsgfQogICAgICAgIC5wYXlmb3J3YXJkLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS44cmVtLCA0dncsIDIuNXJlbSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5wYXlmb3J3YXJkLXN1YnRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2Vnb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CiAgICAgICAgLnBheWZvcndhcmQtZGVzY3JpcHRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDEuMDVyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuOCk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7CiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7CiAgICAgICAgfQogICAgICAgIC5wYXlmb3J3YXJkLW5vdGUgewogICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzLCAyNywgNDIsIDAuNSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgIENUQSBTRUNUSU9OCiAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgICAgICAuY3RhLXNlY3Rpb24gewogICAgICAgICAgICBwYWRkaW5nOiAxMDBweCA0MHB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jdGEtY2FyZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHJnYmEoMTMsIDI3LCA0MiwgMC45NSksIHJnYmEoMjgsIDMxLCA3NCwgMC42KSk7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdvbGQpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgICAgICBwYWRkaW5nOiA2MHB4OwogICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDgwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuMTUpOwogICAgICAgIH0KICAgICAgICAuY3RhLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS44cmVtLCA0dncsIDIuNXJlbSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIC5jdGEtZGVzY3JpcHRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNzUpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS44OwogICAgICAgIH0KICAgICAgICAuY3RhLWJ1dHRvbnMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBnYXA6IDIwcHg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIC5jdGEtYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAzNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogICAgICAgIH0KICAgICAgICAuY3RhLWJ0bi5wcmltYXJ5IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksIHZhcigtLWRlZXBnb2xkKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgICB9CiAgICAgICAgLmN0YS1idG4ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuNCk7CiAgICAgICAgfQogICAgICAgIC5jdGEtYnRuLnNlY29uZGFyeSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC40KTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICB9CiAgICAgICAgLmN0YS1idG4uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgIEZPT1RFUgogICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAgICAgLmZvb3RlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgcGFkZGluZzogNjBweCA0MHB4IDMwcHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjEpOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDEwOwogICAgICAgIH0KICAgICAgICAuZm9vdGVyLWxvZ28gewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICB9CiAgICAgICAgLmZvb3Rlci10YWdsaW5lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tcm9zZWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OwogICAgICAgIH0KICAgICAgICAuZm9vdGVyLXF1b3RlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjVweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICB9CiAgICAgICAgLmZvb3Rlci1kaXZpZGVyIHsKICAgICAgICAgICAgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDFweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgdmFyKC0tZ29sZCksIHRyYW5zcGFyZW50KTsKICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87CiAgICAgICAgfQogICAgICAgIC5mb290ZXItbGlua3MgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAzMHB4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgICAgICAgfQogICAgICAgIC5mb290ZXItbGluayB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5mb290ZXItbGluazpob3ZlciB7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfQogICAgICAgIC5mb290ZXItY29weXJpZ2h0IHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNCk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIFJlc3BvbnNpdmUgKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAgICAgICAgICAgLnNjcmliZS1jYXJkLmRpdmEgeyBncmlkLWNvbHVtbjogc3BhbiAxOyB9CiAgICAgICAgfQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgICAudG9wbmF2IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNXB4OyBwYWRkaW5nOiAxNXB4IDIwcHg7IH0KICAgICAgICAgICAgLmhlcm8geyBwYWRkaW5nOiAxMDBweCAyMHB4IDYwcHg7IH0KICAgICAgICAgICAgLmhlcm8tc3RhdHMgeyBnYXA6IDI1cHg7IH0KICAgICAgICAgICAgLmVuZ2luZS1jYXJkIHsgcGFkZGluZzogMzVweCAyNXB4OyB9CiAgICAgICAgICAgIC5lbmdpbmUtZmVhdHVyZXMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB9CiAgICAgICAgICAgIC5jdGEtYnV0dG9ucyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAgICAgICAgICAgLnJvb3RzLXRpbWVsaW5lIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgICAgICAgICBzZWN0aW9uIHsgcGFkZGluZzogNjBweCAyMHB4OyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIFJldmVhbCBBbmltYXRpb24gKi8KICAgICAgICAucmV2ZWFsIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlOyB9CiAgICAgICAgLnJldmVhbC5hY3RpdmUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGNsYXNzPSJ3YXRlcm1hcmsiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iYmctbGF5ZXIgYmctZ3JhZGllbnQiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iYmctbGF5ZXIgYmctcGF0dGVybiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJvcmIgb3JiMSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJvcmIgb3JiMiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJvcmIgb3JiMyI+PC9kaXY+CiAgICAKICAgIDwhLS0gRmxvYXRpbmcgSWNvbnMgLS0+CiAgICA8ZGl2IGNsYXNzPSJmbG9hdGllIGZsb2F0aWUxIj7wn4yNPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmbG9hdGllIGZsb2F0aWUyIj7wn5GRPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmbG9hdGllIGZsb2F0aWUzIj7wn5O6PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmbG9hdGllIGZsb2F0aWU0Ij7wn46TPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmbG9hdGllIGZsb2F0aWU1Ij7wn5K8PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmbG9hdGllIGZsb2F0aWU2Ij7wn4yfPC9kaXY+CiAgICAKICAgIDwhLS0gTmF2aWdhdGlvbiAtLT4KICAgIDxuYXYgY2xhc3M9InRvcG5hdiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWJyYW5kIj4KICAgICAgICAgICAgPGEgaHJlZj0iLyIgY2xhc3M9Im5hdi1sb2dvIj5NVUtBU0EgVkVOVFVSRSBQQVJUTkVSUzwvYT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi10YWdsaW5lIj5UaGUgU292ZXJlaWduIEVtcGlyZSDigKIgRXN0LiAyMDE3PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im5hdmxpbmtzIj4KICAgICAgICAgICAgPGEgaHJlZj0iI2VtcGlyZXMiIGNsYXNzPSJuYXZsaW5rIj5UaGUgRW1waXJlczwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iI3NjcmliZXMiIGNsYXNzPSJuYXZsaW5rIj5Tb3ZlcmVpZ24gU2NyaWJlczwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iRE9NQUlOR09FU0hFUkUuY29tL2Nvbm5lY3QiIGNsYXNzPSJuYXZsaW5rIHByaW1hcnkiPlBhcnRuZXIgV2l0aCBVczwvYT4KICAgICAgICA8L2Rpdj4KICAgIDwvbmF2PgogICAgCiAgICA8IS0tIFNjcm9sbGluZyBRdW90ZSBCYW5uZXIgLS0+CiAgICA8ZGl2IGNsYXNzPSJxdW90ZS1iYW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InF1b3RlLXRyYWNrIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVvdGUtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtaWNvbiI+4pymPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLXRleHQiPiJXaGVuIEFmcmljYW4gc3RvcmllcyBhcmUgdG9sZCBieSBBZnJpY2FucywgZGV2ZWxvcG1lbnQgc3RvcHMgYmVpbmcgYSBwcm9taXNlIGFuZCBiZWNvbWVzIGEgbGl2ZWQgcmVhbGl0eS4iPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLWRpdmlkZXIiPuKXhjwvc3Bhbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVvdGUtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtaWNvbiI+4pymPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLXRleHQiPiJJIGFtIEdMT0JBTC4gR29pbmcgbG9jYWwgdG8gQWZyaWNh4oCUbXkgcm9vdHMsIG15IG1vdGhlcmxhbmQuIjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1kaXZpZGVyIj7il4Y8L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1b3RlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLWljb24iPuKcpjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS10ZXh0Ij4iRm9yIEFmcmljYSB0byBzdGF5IHNvdmVyZWlnbiBhbmQgcmVzcGVjdGVkLCB3ZSBtdXN0IGxvY2sgYXJtcyBhbmQgbWFnbmlmeSBvdXIgaW1wYWN0LiI8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtZGl2aWRlciI+4peGPC9zcGFuPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdW90ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1pY29uIj7inKY8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtdGV4dCI+IlRoaXMgZW1waXJlIGlzIGZvciBteSBjaGlsZHJlbiBhbmQgZ3JhbmRjaGlsZHJlbi4gRnVuZGVycyBhcmUgc2Nob2xhcnNoaXAgcHJvdmlkZXJz4oCUbm90IG93bmVycyBvZiBteSBwaWUuIjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1kaXZpZGVyIj7il4Y8L3NwYW4+CiAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIGZvciBzZWFtbGVzcyBsb29wIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdW90ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1pY29uIj7inKY8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtdGV4dCI+IldoZW4gQWZyaWNhbiBzdG9yaWVzIGFyZSB0b2xkIGJ5IEFmcmljYW5zLCBkZXZlbG9wbWVudCBzdG9wcyBiZWluZyBhIHByb21pc2UgYW5kIGJlY29tZXMgYSBsaXZlZCByZWFsaXR5LiI8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtZGl2aWRlciI+4peGPC9zcGFuPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdW90ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1pY29uIj7inKY8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtdGV4dCI+IkkgYW0gR0xPQkFMLiBHb2luZyBsb2NhbCB0byBBZnJpY2HigJRteSByb290cywgbXkgbW90aGVybGFuZC4iPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLWRpdmlkZXIiPuKXhjwvc3Bhbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVvdGUtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtaWNvbiI+4pymPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLXRleHQiPiJGb3IgQWZyaWNhIHRvIHN0YXkgc292ZXJlaWduIGFuZCByZXNwZWN0ZWQsIHdlIG11c3QgbG9jayBhcm1zIGFuZCBtYWduaWZ5IG91ciBpbXBhY3QuIjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1kaXZpZGVyIj7il4Y8L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1b3RlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLWljb24iPuKcpjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS10ZXh0Ij4iVGhpcyBlbXBpcmUgaXMgZm9yIG15IGNoaWxkcmVuIGFuZCBncmFuZGNoaWxkcmVuLiBGdW5kZXJzIGFyZSBzY2hvbGFyc2hpcCBwcm92aWRlcnPigJRub3Qgb3duZXJzIG9mIG15IHBpZS4iPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLWRpdmlkZXIiPuKXhjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIEhFUk8gU0VDVElPTgogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJoZXJvIj4KICAgICAgICA8cCBjbGFzcz0iaGVyby1lc3QiPkVzdGFibGlzaGVkIDIwMTcg4oCiIEthbGFtYXpvbywgTWljaGlnYW4sIFVTQTwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLWxvZ28iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLWxvZ28taWNvbiI+8J+Pm++4jzwvZGl2PgogICAgICAgICAgICA8aDEgY2xhc3M9Imhlcm8tbG9nby10ZXh0Ij5NdWthc2EgVmVudHVyZSBQYXJ0bmVyczwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJoZXJvLWxvZ28tc3ViIj5UaGUgU292ZXJlaWduIEVtcGlyZTwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8aDIgY2xhc3M9Imhlcm8tdGFnbGluZSI+V2hlcmUgRGlhc3BvcmEgTWVldHMgTW90aGVybGFuZDwvaDI+CiAgICAgICAgCiAgICAgICAgPHAgY2xhc3M9Imhlcm8tZGVzY3JpcHRpb24iPgogICAgICAgICAgICBBIHNvdmVyZWlnbiBkaWdpdGFsIGVtcGlyZSBzcGFubmluZyA8c3Ryb25nPk1lZGlhLCBMZWFybmluZywgRGlyZWN0b3JpZXMsIE5ldHdvcmtpbmcsIGFuZCBDTU8gU2VydmljZXM8L3N0cm9uZz4gYWNyb3NzIEFmcmljYSBhbmQgdGhlIGRpYXNwb3JhLiBCdWlsdCB0byBlbXBvd2VyIEFmcmljYW4gZW50cmVwcmVuZXVycywgYW1wbGlmeSBhdXRoZW50aWMgdm9pY2VzLCBhbmQgY3JlYXRlIGdlbmVyYXRpb25hbCB3ZWFsdGggdGhhdCBzdGF5cyB3aXRoaW4gb3VyIGNvbW11bml0aWVzLgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLXN0YXRzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbnVtYmVyIj43PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5FbXBpcmVzPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1udW1iZXIiPjI3KzwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+TWVkaWEgQ2hhbm5lbHM8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LW51bWJlciI+MTEwKzwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+RG9tYWluczwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbnVtYmVyIj4yODwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+U0FBUyBTeXN0ZW1zPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxhIGhyZWY9IiNlbXBpcmVzIiBjbGFzcz0iaGVyby1jdGEiPgogICAgICAgICAgICA8c3Bhbj5FeHBsb3JlIFRoZSBFbXBpcmU8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhcnJvdyI+4oaTPC9zcGFuPgogICAgICAgIDwvYT4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICBUSEUgRU5HSU5FIFNFQ1RJT04KICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0iZW5naW5lLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIHJldmVhbCI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+VGhlIEVuZ2luZSBSb29tPC9wPgogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5CcmlsbGlhbnQgQnJhbmQgU3RyYXRlZ2llczwvaDI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+VGhlIFVTQSBtb3RoZXJzaGlwIHRoYXQgcG93ZXJzIGV2ZXJ5dGhpbmc8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW5naW5lLWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVuZ2luZS1pY29uIj7imqE8L2Rpdj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZW5naW5lLW5hbWUiPkJSSUxMSUFOVCBCUkFORCBTVFJBVEVHSUVTPC9oMz4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJlbmdpbmUtdXJsIj5icmlsbGlhbnRicmFuZHN0cmF0ZWdpZXMuY29tPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImVuZ2luZS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgVGhlIG1haW4gYWdlbmN5IGFuZCBTQUFTIGNvbXBhbnkgdGhhdCBydW5zIHRoZSBlbnRpcmUgZW1waXJlLiBIb21lIG9mIDxzdHJvbmc+QnJpbGxpYW50IEJyb2FkY2FzdGluZyBDaGFubmVsczwvc3Ryb25nPuKAlG91ciBtZWRpYSBkaXZpc2lvbiB3aXRoIDI3KyBuZXdzIHNpdGVzIGFuZCBibG9ncy4gUG93ZXJlZCBieSAyOCBwcm9wcmlldGFyeSBzb2Z0d2FyZSBzeXN0ZW1zIGZyb20gYSBodW1ibGUgSW5jIDUwMCB0ZWNobm9sb2d5IHBhcnRuZXIgd2hvIGZpbmRzIHRoZWlyIHBlb3BsZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW5naW5lLWZlYXR1cmVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbmdpbmUtZmVhdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbmdpbmUtZmVhdHVyZS1pY29uIj7wn5ug77iPPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW5naW5lLWZlYXR1cmUtdGV4dCI+MjggUHJvcHJpZXRhcnkgU3lzdGVtczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbmdpbmUtZmVhdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbmdpbmUtZmVhdHVyZS1pY29uIj7wn5O6PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW5naW5lLWZlYXR1cmUtdGV4dCI+QnJpbGxpYW50IEJyb2FkY2FzdGluZzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbmdpbmUtZmVhdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbmdpbmUtZmVhdHVyZS1pY29uIj7wn46vPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW5naW5lLWZlYXR1cmUtdGV4dCI+Q01PL2ZDTU8gU2VydmljZXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW5naW5lLWZlYXR1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW5naW5lLWZlYXR1cmUtaWNvbiI+8J+Phjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVuZ2luZS1mZWF0dXJlLXRleHQiPkluYyA1MDAgVGVjaG5vbG9neTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICBFTVBJUkVTIEdSSUQgU0VDVElPTgogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJlbXBpcmVzLXNlY3Rpb24iIGlkPSJlbXBpcmVzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciByZXZlYWwiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlRoZSBTZXZlbiBFbXBpcmVzPC9wPgogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5PdXIgU292ZXJlaWduIEVjb3N5c3RlbTwvaDI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+RWFjaCBlbXBpcmUgc2VydmVzIGEgcHVycG9zZS4gVG9nZXRoZXIsIHRoZXkgY2hhbmdlIHRoZSB3b3JsZC48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlcy1ncmlkIj4KICAgICAgICAgICAgICAgIDwhLS0gTUVESUEgRU1QSVJFIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWljb24iPvCfk7o8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtcGlyZS1iYWRnZSI+MjcrIENoYW5uZWxzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJlbXBpcmUtbmFtZSI+TWVkaWEgRW1waXJlPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImVtcGlyZS10YWdsaW5lIj5CcmlsbGlhbnQgQnJvYWRjYXN0aW5nIENoYW5uZWxzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZW1waXJlLWRlc2NyaXB0aW9uIj5OZXdzIHNpdGVzLCBibG9ncywgYW5kIG1lZGlhIGNoYW5uZWxzIHRlbGxpbmcgYXV0aGVudGljIEFmcmljYW4gc3Rvcmllcy4gVGhlIEFmcmljYSBDaHJvbmljbGVzLCBTSEUgRXZvbHZlcywgQUkgTmV4dXMsIFRyYXZlbCBQb3J0Zm9saW8sIFNhbmN0dWFyeSwgYW5kIG1vcmUuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtZG9tYWlucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZW1waXJlLWRvbWFpbnMtbGFiZWwiPktleSBDaGFubmVsczo8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW4tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbi10YWciPmFmcmljYWZyb250bGluZW5leHVzLm5ld3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbi10YWciPnNoZWV2b2x2ZXMuYWZyaWNhPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb21haW4tdGFnIj5zb3ZlcmVpZ25hcmNoaXRlY3RzLm5ld3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbi10YWciPlRFTkVYLmFmcmljYTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iRE9NQUlOR09FU0hFUkUuY29tL21lZGlhIiBjbGFzcz0iZW1waXJlLWN0YSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FeHBsb3JlIE1lZGlhPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIExFQVJOSU5HIEVNUElSRSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1pY29uIj7wn46TPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXBpcmUtYmFkZ2UiPkFjYWRlbWllczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZW1waXJlLW5hbWUiPkxlYXJuaW5nIEVtcGlyZTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJlbXBpcmUtdGFnbGluZSI+VmlydHVhbCBFZHVjYXRpb24gJiBUcmFuc2Zvcm1hdGlvbjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImVtcGlyZS1kZXNjcmlwdGlvbiI+RS1hY2FkZW1pZXMsIGNvdXJzZXMsIHdlYmluYXJzLCBhbmQgbWVudG9yc2hpcCBwcm9ncmFtcy4gRnJvbSBldmVyZ3JlZW4gdHJhaW5pbmcgdG8gbGl2ZSBtYXN0ZXJjbGFzc2Vz4oCUZWR1Y2F0aW9uIHRoYXQgdHJhbnNmb3Jtcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1kb21haW5zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJlbXBpcmUtZG9tYWlucy1sYWJlbCI+S2V5IFBsYXRmb3Jtczo8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW4tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbi10YWciPmR5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLXRhZyI+Zm91bmRlcnNmb3VuZHJ5LmFmcmljYTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLXRhZyI+ZWFjYWRlbXkubWVudG9yc2hpcHN1Y2Nlc3MuY29tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vbGVhcm5pbmciIGNsYXNzPSJlbXBpcmUtY3RhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkV4cGxvcmUgTGVhcm5pbmc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gRElSRUNUT1JZIEVNUElSRSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1pY29uIj7wn5ONPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXBpcmUtYmFkZ2UiPkRpc2NvdmVyeTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZW1waXJlLW5hbWUiPkRpcmVjdG9yeSBFbXBpcmU8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZW1waXJlLXRhZ2xpbmUiPkJ1c2luZXNzIERpc2NvdmVyeSAmIFZpc2liaWxpdHk8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJlbXBpcmUtZGVzY3JpcHRpb24iPkFmcmljYW4gYnVzaW5lc3MgZGlyZWN0b3JpZXMgaGVscGluZyBlbnRyZXByZW5ldXJzIGdldCBmb3VuZC4gVGhlIHN0ZXBwaW5nIHN0b25lIGZyb20gcG9vciBicmFuZGluZyB0byBHb29nbGUgTXkgQnVzaW5lc3MgcmVhZGluZXNzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWRvbWFpbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImVtcGlyZS1kb21haW5zLWxhYmVsIj5LZXkgRGlyZWN0b3JpZXM6PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb21haW4tdGFnIj5lYXN0YWZyaWNhdG9wZGlyZWN0b3J5LmNvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLXRhZyI+YmVzdGFmcmljYWRpcmVjdG9yeS5jb208L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbi10YWciPmFmcmljYWJlc3RkaXJlY3RvcnkuY29tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vZGlyZWN0b3JpZXMiIGNsYXNzPSJlbXBpcmUtY3RhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkV4cGxvcmUgRGlyZWN0b3JpZXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gTkVUV09SS0lORyBFTVBJUkUgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtaWNvbiI+8J+knTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1waXJlLWJhZGdlIj5Db21tdW5pdHk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImVtcGlyZS1uYW1lIj5OZXR3b3JraW5nIEVtcGlyZTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJlbXBpcmUtdGFnbGluZSI+TWVtYmVyc2hpcHMgJiBDb21tdW5pdHk8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJlbXBpcmUtZGVzY3JpcHRpb24iPk1lbWJlcnNoaXBzLCBuZXdzbGV0dGVycywgcG9kY2FzdHMsIGFuZCBjb21tdW5pdHkgc3BhY2VzIHdoZXJlIEFmcmljYW4gZW50cmVwcmVuZXVycyBjb25uZWN0LCBncm93LCBhbmQgdGhyaXZlIHRvZ2V0aGVyLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWRvbWFpbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImVtcGlyZS1kb21haW5zLWxhYmVsIj5LZXkgUGxhdGZvcm1zOjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLXRhZyI+bWVtYmVyc2hpcC5oZXJ3b21hbml0eS5jb208L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbi10YWciPnNoZWVib3Nzc29sdXRpb25pc3QuY29tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vbmV0d29ya2luZyIgY2xhc3M9ImVtcGlyZS1jdGEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RXhwbG9yZSBOZXR3b3JraW5nPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIENNTyBTRVJWSUNFUyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1waXJlLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1pY29uIj7wn5K8PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXBpcmUtYmFkZ2UiPlNlcnZpY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJlbXBpcmUtbmFtZSI+Q01PIFNlcnZpY2VzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImVtcGlyZS10YWdsaW5lIj5Qcm9maXQgRW5naW5lICYgQXV0aG9yaXR5PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZW1waXJlLWRlc2NyaXB0aW9uIj5DTU8gYW5kIGZDTU8gc3RyYXRlZ2ljIHNlcnZpY2VzLCBicmFuZCBzdHJhdGVneSwgbWVkaWEgZWNvc3lzdGVtcywgcmVwdXRhdGlvbiBtYXJrZXRpbmcsIGFuZCBkaWdpdGFsIHByZXNlbmNlIGFyY2hpdGVjdHVyZSBmb3IgdmlzaW9uYXJ5IGxlYWRlcnMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtZG9tYWlucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZW1waXJlLWRvbWFpbnMtbGFiZWwiPktleSBQbGF0Zm9ybTo8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW4tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbi10YWciPm1hcmtldGluZ2JyaWxsaWFudGx5LmNvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9tYXJrZXRpbmdicmlsbGlhbnRseS5jb20vQVIvMjAyNnNvdmVyZWlnbm1lZXRncmVldCIgY2xhc3M9ImVtcGlyZS1jdGEiIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkJvb2sgQ29uc3VsdGF0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIFVTQSBPUklHSU4gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtaWNvbiI+8J+HuvCfh7g8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtcGlyZS1iYWRnZSI+T3JpZ2luPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcGlyZS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJlbXBpcmUtbmFtZSI+VVNBIENoYW1iZXJzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImVtcGlyZS10YWdsaW5lIj5UaGUgRGlhc3BvcmEgUm9vdHM8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJlbXBpcmUtZGVzY3JpcHRpb24iPldoZXJlIGl0IGFsbCBiZWdhbi4gQ2hhbWJlciBvZiBDb21tZXJjZSBkaXJlY3RvcmllcyBhbmQgbWFya2V0aW5n4oCUdGhlIG9yaWdpbmFsIG1vZGVsIG5vdyBiZWluZyBleHBhbmRlZCB0byBBZnJpY2EuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXBpcmUtZG9tYWlucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZW1waXJlLWRvbWFpbnMtbGFiZWwiPktleSBQbGF0Zm9ybXM6PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb21haW4tdGFnIj5sb2NhbGNoYW1iZXJvZmNvbW1lcmNlZGlyZWN0b3J5LmNvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLXRhZyI+YmVzdGNoYW1iZXJtYXJrZXRpbmcuY29tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vY2hhbWJlcnMiIGNsYXNzPSJlbXBpcmUtY3RhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkV4cGxvcmUgQ2hhbWJlcnM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIFNPVkVSRUlHTiBTQ1JJQkVTIFNFQ1RJT04KICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0ic2NyaWJlcy1zZWN0aW9uIiBpZD0ic2NyaWJlcyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5NZWV0IFRoZSBUZWFtPC9wPgogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UaGUgU292ZXJlaWduIFNjcmliZXPihKI8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPk91ciBpbnRlbGxpZ2VudCBtZWRpYSBjdXJhdGlvbiB0ZWFt4oCUZWFjaCB3aXRoIGEgdW5pcXVlIHZvaWNlIGFuZCBwdXJwb3NlPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcmliZXMtaW50cm8gcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxwPlVubGlrZSBnZW5lcmljICJhZ2VudGljIiBzeXN0ZW1zLCBvdXIgPHN0cm9uZz5Tb3ZlcmVpZ24gU2NyaWJlczwvc3Ryb25nPiB3ZXJlIGJ1aWx0IHNwZWNpZmljYWxseSBmb3IgQWZyaWNhbiBleGNlbGxlbmNlLiBFYWNoIFNjcmliZSBoYXMgYSB1bmlxdWUgcGVyc29uYWxpdHksIHB1cnBvc2UsIGFuZCBhcmVhIG9mIGV4cGVydGlzZS4gVG9nZXRoZXIsIHRoZXkgaWRlbnRpZnksIGludGVydmlldywgYW5kIGFtcGxpZnkgdGhlIHN0b3JpZXMgb2YgcGlvbmVlcnMsIGV4cGVydHMsIGFuZCBmdXR1cmUgbGVhZGVycy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2NyaWJlcy1ncmlkIj4KICAgICAgICAgICAgICAgIDwhLS0gQU1BUkEgLSBUaGUgRGl2YSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcmliZS1jYXJkIGRpdmEgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JpYmUtaWNvbiI+8J+RkTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ic2NyaWJlLW5hbWUiPkFNQVJB4oSiPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2NyaWJlLXRpdGxlIj5UaGUgRGl2YSDigKIgTGVhZCBDdXJhdG9yPC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzY3JpYmUtbWVhbmluZyI+QWZyaWNhbiBNZWRpYSBBdXRob3JpdHkgJiBSZXB1dGF0aW9uIEFtcGxpZmllcjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2NyaWJlLWFzc2lnbm1lbnQiPkJyaWxsaWFudCBCcm9hZGNhc3RpbmcgQ2hhbm5lbHMg4oCiIFBpb25lZXIgUHJvZ3JhbSBIb3N0PC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gTklBIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2NyaWJlLWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JpYmUtaWNvbiI+8J+MnzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ic2NyaWJlLW5hbWUiPk5JQeKEojwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNjcmliZS10aXRsZSI+UHVycG9zZSAmIEV4Y2VsbGVuY2U8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNjcmliZS1tZWFuaW5nIj5OYXJyYXRpdmUgSW50ZWxsaWdlbmNlIEFyY2hpdGVjdDwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2NyaWJlLWFzc2lnbm1lbnQiPlNIRSBFdm9sdmVzICYgVEVORVggQWZyaWNhPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gSU1BTkkgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JpYmUtY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcmliZS1pY29uIj7wn5KrPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJzY3JpYmUtbmFtZSI+SU1BTknihKI8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzY3JpYmUtdGl0bGUiPkZhaXRoICYgQnVzaW5lc3M8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNjcmliZS1tZWFuaW5nIj5JbnRlbGxpZ2VudCBNZWRpYSAmIE5hcnJhdGl2ZSBJbnRlcmZhY2U8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNjcmliZS1hc3NpZ25tZW50Ij5UaGUgU0hFIEUtQm9zcyBTb2x1dGlvbmlzdDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIFpVUkkgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JpYmUtY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcmliZS1pY29uIj7inKg8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InNjcmliZS1uYW1lIj5aVVJJ4oSiPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2NyaWJlLXRpdGxlIj5CZWF1dHkgJiBMaWZlc3R5bGU8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNjcmliZS1tZWFuaW5nIj5ab25lIG9mIFVuaWZpZWQgUmVwdXRhdGlvbiAmIEluZmx1ZW5jZTwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2NyaWJlLWFzc2lnbm1lbnQiPlRyYXZlbCwgSG9zcGl0YWxpdHkgJiBTYW5jdHVhcnk8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBDaHJvbmljbGUgQ3VyYXRvciAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcmliZS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2NyaWJlLWljb24iPvCfk5w8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InNjcmliZS1uYW1lIj5UaGUgQ2hyb25pY2xlIEN1cmF0b3LihKI8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzY3JpYmUtdGl0bGUiPlRoZSBXcml0dGVuIFZvaWNlPC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzY3JpYmUtbWVhbmluZyI+TWFzdGVyIG9mIHRoZSB3cml0dGVuIHdvcmQ8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNjcmliZS1hc3NpZ25tZW50Ij5Jbml0aWFsIEFydGljbGVzICYgRm9sbG93LXVwIEZlYXR1cmVzPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIFJPT1RTIFNFQ1RJT04KICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0icm9vdHMtc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5UaGUgSm91cm5leTwvcD4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+T3VyIFJvb3RzPC9oMj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Gcm9tIGRpYXNwb3JhIHRvIG1vdGhlcmxhbmTigJRhIGJyaWRnZSBidWlsdCB3aXRoIHB1cnBvc2U8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0icm9vdHMtdGltZWxpbmUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtaXRlbSByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLXllYXIiPjIwMTc8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGltZWxpbmUtZXZlbnQiPk11a2FzYSBWZW50dXJlIFBhcnRuZXJzIExMQzwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGltZWxpbmUtZGV0YWlsIj5Gb3VuZGVkIGluIEthbGFtYXpvbywgTWljaGlnYW4uIFRoZSBwYXJlbnQgaG9sZGluZyBjb21wYW55IGlzIGJvcm4uPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWl0ZW0gcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lbGluZS15ZWFyIj4yMDE4PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRpbWVsaW5lLWV2ZW50Ij5NYWplc3RpYyBNZWRpYSBTb2x1dGlvbnMgTExDPC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0aW1lbGluZS1kZXRhaWwiPk1lZGlhIHNlcnZpY2VzIGFybSBlc3RhYmxpc2hlZC4gVGhlIGVtcGlyZSBiZWdpbnMgdG8gdGFrZSBzaGFwZS48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtaXRlbSByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLXllYXIiPjIwMjQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGltZWxpbmUtZXZlbnQiPkFmcmljYSBFeHBhbnNpb248L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRpbWVsaW5lLWRldGFpbCI+R29pbmcgbG9jYWwgdG8gdGhlIG1vdGhlcmxhbmQuIDExMCsgZG9tYWlucy4gMjcrIG1lZGlhIGNoYW5uZWxzLiBUaGUgc292ZXJlaWduIGVtcGlyZSByaXNlcy48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtaXRlbSByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLXllYXIiPjIwMjUrPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRpbWVsaW5lLWV2ZW50Ij5HZW5lcmF0aW9uYWwgTGVnYWN5PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0aW1lbGluZS1kZXRhaWwiPkJ1aWxkaW5nIGZvciBjaGlsZHJlbiBhbmQgZ3JhbmRjaGlsZHJlbi4gU292ZXJlaWdudHkgdGhhdCBsYXN0cy48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICAKICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgUEFZIElUIEZPUldBUkQgU0VDVElPTgogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJwYXlmb3J3YXJkLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIHJldmVhbCI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+VGhlIFdIWTwvcD4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGF5IEl0IEZvcndhcmQ8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlRoZSBjb3JlIHB1cnBvc2UgYmVoaW5kIGV2ZXJ5dGhpbmcgd2UgYnVpbGQ8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0icGF5Zm9yd2FyZC1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXlmb3J3YXJkLWljb24iPvCfkp08L2Rpdj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icGF5Zm9yd2FyZC10aXRsZSI+UHJvc3Blcml0eSBmb3IgQWxsPC9oMz4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYXlmb3J3YXJkLXN1YnRpdGxlIj5VYnVudHUgQ2FwaXRhbGlzbTogQSB3ZWFsdGggcmVkaXN0cmlidXRpb24gZW5naW5lIGRpc2d1aXNlZCBhcyBhIG1lZGlhIGVtcGlyZTwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYXlmb3J3YXJkLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICBFdmVyeSBlbXBpcmUgd2UgYnVpbGQsIGV2ZXJ5IHNlcnZpY2Ugd2Ugb2ZmZXIsIGV2ZXJ5IHN0b3J5IHdlIHRlbGzigJRpdCBhbGwgZmVlZHMgYmFjayBpbnRvIG9uZSBwdXJwb3NlOiA8c3Ryb25nPmhlbHBpbmcgb3VyIGZlbGxvdyBBZnJpY2FuIGJyb3RoZXJzIGFuZCBzaXN0ZXJzIHByb3NwZXI8L3N0cm9uZz4gaW4gdGhpcyBkaWdpdGFsIGFnZS4gQUkgaGFzIGxldmVsZWQgdGhlIHBsYXlpbmcgZmllbGQuIFRoZSB2aXJ0dWFsIGhpZ2h3YXkgaXMgb3BlbiB0byBhbGwuIFdlJ3JlIGhlcmUgdG8gbWFrZSBzdXJlIEFmcmljYSBjbGFpbXMgaXRzIHNlYXQgYXQgdGhlIHRhYmxlLgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InBheWZvcndhcmQtbm90ZSI+CiAgICAgICAgICAgICAgICAgICAgIlRoaXMgZW1waXJlIGlzIGZvciBteSBjaGlsZHJlbiBhbmQgZ3JhbmRjaGlsZHJlbi4gRnVuZGVycyB3aG8gd2FudCB0byBwYXJ0aWNpcGF0ZSBhcmUgd2VsY29tZSBhcyA8c3Ryb25nPnNjaG9sYXJzaGlwIHByb3ZpZGVyczwvc3Ryb25nPuKAlGVhcm5pbmcgcmVjb2duaXRpb24gZm9yIHRoZWlyIGNvbnRyaWJ1dGlvbuKAlGJ1dCBub3QgYXMgb3duZXJzIG9mIG15IHBpZS4iCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIENUQSBTRUNUSU9OCiAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImN0YS1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtY2FyZCByZXZlYWwiPgogICAgICAgICAgICA8aDIgY2xhc3M9ImN0YS10aXRsZSI+UmVhZHkgdG8gUGFydG5lcj88L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0iY3RhLWRlc2NyaXB0aW9uIj5XaGV0aGVyIHlvdSdyZSBhIG5ldHdvcmsgc2Vla2luZyBldmVyZ3JlZW4gY29udGVudCwgYSBodWIgd2FudGluZyB0byBsaWNlbnNlIG91ciBhY2FkZW1pZXMsIGEgc2Nob2xhcnNoaXAgcHJvdmlkZXIgbG9va2luZyBmb3IgaW1wYWN0LCBvciBhbiBleHBlcnQgcmVhZHkgdG8gYmUgZmVhdHVyZWTigJR3ZSdkIGxvdmUgdG8gY29ubmVjdC48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImN0YS1idXR0b25zIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vbWFya2V0aW5nYnJpbGxpYW50bHkuY29tL0FSLzIwMjZzb3ZlcmVpZ25tZWV0Z3JlZXQiIGNsYXNzPSJjdGEtYnRuIHByaW1hcnkiIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Cb29rIFN0cmF0ZWd5IENhbGw8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iRE9NQUlOR09FU0hFUkUuY29tL3Bpb25lZXIiIGNsYXNzPSJjdGEtYnRuIHNlY29uZGFyeSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+UGlvbmVlciBQcm9ncmFtPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICBGT09URVIKICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj5NVUtBU0EgVkVOVFVSRSBQQVJUTkVSUzwvZGl2PgogICAgICAgIDxwIGNsYXNzPSJmb290ZXItdGFnbGluZSI+VGhlIFNvdmVyZWlnbiBFbXBpcmUg4oCiIEVzdC4gMjAxNzwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItcXVvdGUiPgogICAgICAgICAgICAiV2hlbiBBZnJpY2FuIHN0b3JpZXMgYXJlIHRvbGQgYnkgQWZyaWNhbnMsIGRldmVsb3BtZW50IHN0b3BzIGJlaW5nIGEgcHJvbWlzZSBhbmQgYmVjb21lcyBhIGxpdmVkIHJlYWxpdHkuIgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItbGlua3MiPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2JyaWxsaWFudGJyYW5kc3RyYXRlZ2llcy5jb20iIGNsYXNzPSJmb290ZXItbGluayIgdGFyZ2V0PSJfYmxhbmsiPkJyaWxsaWFudCBCcmFuZCBTdHJhdGVnaWVzPC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbSIgY2xhc3M9ImZvb3Rlci1saW5rIiB0YXJnZXQ9Il9ibGFuayI+RHluYW1pYyBQYXJhZGlnbXMgQWNhZGVteTwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9tYXJrZXRpbmdicmlsbGlhbnRseS5jb20iIGNsYXNzPSJmb290ZXItbGluayIgdGFyZ2V0PSJfYmxhbmsiPkNNTyBTZXJ2aWNlczwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iRE9NQUlOR09FU0hFUkUuY29tL3Bpb25lZXIiIGNsYXNzPSJmb290ZXItbGluayI+UGlvbmVlciBQcm9ncmFtPC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxwIGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij4KICAgICAgICAgICAgwqkgMjAxNy0yMDI2IDxzdHJvbmc+TXVrYXNhIFZlbnR1cmUgUGFydG5lcnMgTExDPC9zdHJvbmc+PGJyPgogICAgICAgICAgICBNYWplc3RpYyBNZWRpYSBTb2x1dGlvbnMgTExDIOKAoiBEeW5hbWljIFBhcmFkaWdtcyAmIE1lbnRvcnNoaXAgU3VjY2VzcyBBY2FkZW1pZXPihKI8YnI+CiAgICAgICAgICAgIFRoZSBTb3ZlcmVpZ24gU2NyaWJlc+KEoiDigKIgQU1BUkHihKIg4oCiIE5JQeKEoiDigKIgSU1BTknihKIg4oCiIFpVUknihKIgYXJlIHByb3ByaWV0YXJ5IHN5c3RlbXMuPGJyPgogICAgICAgICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLiBCdWlsdCBmb3IgZ2VuZXJhdGlvbnMuCiAgICAgICAgPC9wPgogICAgPC9mb290ZXI+CiAgICAKICAgIDxzY3JpcHQ+CiAgICAgICAgLy8gSVAgUHJvdGVjdGlvbgogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgZSA9PiBlLnByZXZlbnREZWZhdWx0KCkpOwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBlID0+IHsKICAgICAgICAgICAgaWYgKChlLmN0cmxLZXkgJiYgWydjJywndicsJ3MnLCdwJywndSddLmluY2x1ZGVzKGUua2V5LnRvTG93ZXJDYXNlKCkpKSB8fCBlLmtleSA9PT0gJ0YxMicpIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB9KTsKICAgICAgICAKICAgICAgICAvLyBTY3JvbGwgYW5pbWF0aW9ucwogICAgICAgIGZ1bmN0aW9uIHJldmVhbCgpIHsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnJldmVhbCcpLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICAgICAgaWYgKGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8IHdpbmRvdy5pbm5lckhlaWdodCAtIDEwMCkgewogICAgICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHJldmVhbCk7CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXZlYWwpOwogICAgICAgIAogICAgICAgIC8vIFNtb290aCBzY3JvbGwKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZePSIjIl0nKS5mb3JFYWNoKGFuY2hvciA9PiB7CiAgICAgICAgICAgIGFuY2hvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSk7CiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0KSB0YXJnZXQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==","embed":""}
Mukasa Venture Partners | The Sovereign Empire
🌍
👑
📺
🎓
💼
🌟
MUKASA VENTURE PARTNERS The Sovereign Empire • Est. 2017
The Empires Sovereign Scribes Partner With Us
✦ "When African stories are told by Africans, development stops being a promise and becomes a lived reality."
◆
✦ "I am GLOBAL. Going local to Africa—my roots, my motherland."
◆
✦ "For Africa to stay sovereign and respected, we must lock arms and magnify our impact."
◆
✦ "This empire is for my children and grandchildren. Funders are scholarship providers—not owners of my pie."
◆
✦ "When African stories are told by Africans, development stops being a promise and becomes a lived reality."
◆
✦ "I am GLOBAL. Going local to Africa—my roots, my motherland."
◆
✦ "For Africa to stay sovereign and respected, we must lock arms and magnify our impact."
◆
✦ "This empire is for my children and grandchildren. Funders are scholarship providers—not owners of my pie."
◆

Established 2017 • Kalamazoo, Michigan, USA

🏛️

Mukasa Venture Partners

The Sovereign Empire

Where Diaspora Meets Motherland

A sovereign digital empire spanning Media, Learning, Directories, Networking, and CMO Services across Africa and the diaspora. Built to empower African entrepreneurs, amplify authentic voices, and create generational wealth that stays within our communities.

7
Empires
27+
Media Channels
110+
Domains
28
SAAS Systems
Explore The Empire ↓

The Engine Room

Brilliant Brand Strategies

The USA mothership that powers everything

⚡

BRILLIANT BRAND STRATEGIES

brilliantbrandstrategies.com

The main agency and SAAS company that runs the entire empire. Home of Brilliant Broadcasting Channels—our media division with 27+ news sites and blogs. Powered by 28 proprietary software systems from a humble Inc 500 technology partner who finds their people, not the other way around.

🛠️ 28 Proprietary Systems
📺 Brilliant Broadcasting
🎯 CMO/fCMO Services
🏆 Inc 500 Technology

The Seven Empires

Our Sovereign Ecosystem

Each empire serves a purpose. Together, they change the world.

📺
27+ Channels

Media Empire

Brilliant Broadcasting Channels

News sites, blogs, and media channels telling authentic African stories. The Africa Chronicles, SHE Evolves, AI Nexus, Travel Portfolio, Sanctuary, and more.

Key Channels:

africafrontlinenexus.news sheevolves.africa sovereignarchitects.news TENEX.africa
Explore Media →
🎓
Academies

Learning Empire

Virtual Education & Transformation

E-academies, courses, webinars, and mentorship programs. From evergreen training to live masterclasses—education that transforms.

Key Platforms:

dynamicparadigmsacademy.com foundersfoundry.africa eacademy.mentorshipsuccess.com
Explore Learning →
📍
Discovery

Directory Empire

Business Discovery & Visibility

African business directories helping entrepreneurs get found. The stepping stone from poor branding to Google My Business readiness.

Key Directories:

eastafricatopdirectory.com bestafricadirectory.com africabestdirectory.com
Explore Directories →
🤝
Community

Networking Empire

Memberships & Community

Memberships, newsletters, podcasts, and community spaces where African entrepreneurs connect, grow, and thrive together.

Key Platforms:

membership.herwomanity.com sheebosssolutionist.com
Explore Networking →
💼
Services

CMO Services

Profit Engine & Authority

CMO and fCMO strategic services, brand strategy, media ecosystems, reputation marketing, and digital presence architecture for visionary leaders.

Key Platform:

marketingbrilliantly.com
Book Consultation →
🇺🇸
Origin

USA Chambers

The Diaspora Roots

Where it all began. Chamber of Commerce directories and marketing—the original model now being expanded to Africa.

Key Platforms:

localchamberofcommercedirectory.com bestchambermarketing.com
Explore Chambers →

Meet The Team

The Sovereign Scribes™

Our intelligent media curation team—each with a unique voice and purpose

Unlike generic "agentic" systems, our Sovereign Scribes were built specifically for African excellence. Each Scribe has a unique personality, purpose, and area of expertise. Together, they identify, interview, and amplify the stories of pioneers, experts, and future leaders.

👑

AMARA™

The Diva • Lead Curator

African Media Authority & Reputation Amplifier

Brilliant Broadcasting Channels • Pioneer Program Host

🌟

NIA™

Purpose & Excellence

Narrative Intelligence Architect

SHE Evolves & TENEX Africa

💫

IMANI™

Faith & Business

Intelligent Media & Narrative Interface

The SHE E-Boss Solutionist

✨

ZURI™

Beauty & Lifestyle

Zone of Unified Reputation & Influence

Travel, Hospitality & Sanctuary

📜

The Chronicle Curator™

The Written Voice

Master of the written word

Initial Articles & Follow-up Features

The Journey

Our Roots

From diaspora to motherland—a bridge built with purpose

2017

Mukasa Venture Partners LLC

Founded in Kalamazoo, Michigan. The parent holding company is born.

2018

Majestic Media Solutions LLC

Media services arm established. The empire begins to take shape.

2024

Africa Expansion

Going local to the motherland. 110+ domains. 27+ media channels. The sovereign empire rises.

2025+

Generational Legacy

Building for children and grandchildren. Sovereignty that lasts.

The WHY

Pay It Forward

The core purpose behind everything we build

💝

Prosperity for All

Ubuntu Capitalism: A wealth redistribution engine disguised as a media empire

Every empire we build, every service we offer, every story we tell—it all feeds back into one purpose: helping our fellow African brothers and sisters prosper in this digital age. AI has leveled the playing field. The virtual highway is open to all. We're here to make sure Africa claims its seat at the table.

"This empire is for my children and grandchildren. Funders who want to participate are welcome as scholarship providers—earning recognition for their contribution—but not as owners of my pie."

Ready to Partner?

Whether you're a network seeking evergreen content, a hub wanting to license our academies, a scholarship provider looking for impact, or an expert ready to be featured—we'd love to connect.

Book Strategy Call → Pioneer Program
MUKASA VENTURE PARTNERS

The Sovereign Empire • Est. 2017

"When African stories are told by Africans, development stops being a promise and becomes a lived reality."
Brilliant Brand Strategies Dynamic Paradigms Academy CMO Services Pioneer Program

© 2017-2026 Mukasa Venture Partners LLC
Majestic Media Solutions LLC • Dynamic Paradigms & Mentorship Success Academies™
The Sovereign Scribes™ • AMARA™ • NIA™ • IMANI™ • ZURI™ are proprietary systems.
All rights reserved. Built for generations.

Image Gallery Grid
T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*

warning