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
  • Media Empire
  • ELearning Empire
  • Brand Assessment
  • Webinar Registration
  • Nomination Page
  • Refugee Roots
  • Coming Soon Template
  • Contributor Guide
  • Tenex Channel
  • Digital Cards
  • Sovereign Podcast
{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+TGVhcm5pbmcgRW1waXJlIHwgRS1BY2FkZW1pZXMgJiBUcmFpbmluZyB8IFRoZSBTb3ZlcmVpZ24gRW1waXJlPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFeHBsb3JlIFRoZSBTb3ZlcmVpZ24gRW1waXJlJ3MgbGVhcm5pbmcgZWNvc3lzdGVtIC0gRHluYW1pYyBQYXJhZGlnbXMgQWNhZGVteSwgTWVudG9yc2hpcCBTdWNjZXNzLCBGb3VuZGVycyBGb3VuZHJ5LCBhbmQgbW9yZS4gRWR1Y2F0aW9uIGZvciBBZnJpY2FuIGVudHJlcHJlbmV1cnMgYW5kIGRpYXNwb3JhIGJ1aWxkZXJzLiI+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3csIG5vYXJjaGl2ZSwgbm9pbWFnZWluZGV4Ij4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iTGVhcm5pbmcgRW1waXJlIHwgVGhlIFNvdmVyZWlnbiBFbXBpcmUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJFLUFjYWRlbWllcyBhbmQgdHJhaW5pbmcgcGxhdGZvcm1zIGJ1aWxkaW5nIHNvdmVyZWlnbiBlbnRyZXByZW5ldXJzIGFjcm9zcyBBZnJpY2EgYW5kIHRoZSBkaWFzcG9yYS4iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iRE9NQUlOR09FU0hFUkUuY29tL2xlYXJuaW5nIj4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vbGVhcm5pbmciPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1QbGF5ZmFpcitEaXNwbGF5OndnaHRANDAwOzUwMDs2MDA7NzAwJmZhbWlseT1Db3Jtb3JhbnQrR2FyYW1vbmQ6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzEsNDAwJmZhbWlseT1DaW56ZWw6d2dodEA0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PU51bml0bzp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPHN0eWxlPgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS1uYXZ5OiAjMEQxQjJBOwogICAgICAgICAgICAtLWluZGlnbzogIzFDMUY0QTsKICAgICAgICAgICAgLS1nb2xkOiAjRDRBRjM3OwogICAgICAgICAgICAtLXJvc2Vnb2xkOiAjQzI5QThCOwogICAgICAgICAgICAtLWl2b3J5OiAjRjhGNEVDOwogICAgICAgICAgICAtLWRlZXBnb2xkOiAjQjg5NzJFOwogICAgICAgICAgICAtLWxpZ2h0Z29sZDogI0U4RDVBMzsKICAgICAgICAgICAgLS1jaGFyY29hbDogIzBhMGExMjsKICAgICAgICAgICAgLS10ZWFsOiAjMDA4OTdiOwogICAgICAgICAgICAtLXB1cnBsZTogIzZCM0ZBMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQogICAgICAgIGh0bWwgeyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfQogICAgICAgIAogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ051bml0bycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW5hdnkpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0taXZvcnkpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS44OwogICAgICAgICAgICBmb250LXNpemU6IDE3cHg7CiAgICAgICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBXYXRlcm1hcmsgKi8KICAgICAgICAud2F0ZXJtYXJrIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB6LWluZGV4OiA5OTk5OyBvcGFjaXR5OiAwLjAxNTsKICAgICAgICB9CiAgICAgICAgLndhdGVybWFyazo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJ8KpIE11a2FzYSBWZW50dXJlIFBhcnRuZXJzIExMQyDigKIgTGVhcm5pbmcgRW1waXJlIOKAoiBUaGUgU292ZXJlaWduIEFyY2hpdGVjdHMnOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiA1MCU7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMjVkZWcpOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgY29sb3I6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjA1KTsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIHByaW50IHsgYm9keSAqIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH0gfQogICAgICAgIAogICAgICAgIC8qIEFuaW1hdGVkIEJhY2tncm91bmQgKi8KICAgICAgICAuYmctYW5pbWF0aW9uIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB6LWluZGV4OiAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAKICAgICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDIwJSAwJSwgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMTUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgODAlIDEwMCUsIHJnYmEoMTk0LCAxNTQsIDEzOSwgMC4xKSAwJSwgdHJhbnNwYXJlbnQgNDAlKSwKICAgICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSA1MCUsIHJnYmEoMjgsIDMxLCA3NCwgMC41KSAwJSwgdHJhbnNwYXJlbnQgNzAlKSwKICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNoYXJjb2FsKSAwJSwgdmFyKC0tbmF2eSkgMzAlLCB2YXIoLS1pbmRpZ28pIDcwJSwgdmFyKC0tbmF2eSkgMTAwJSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIEZsb2F0aW5nIEJvb2tzIEFuaW1hdGlvbiAqLwogICAgICAgIC5mbG9hdGluZy1lbGVtZW50cyB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgei1pbmRleDogMTsgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgLmZsb2F0aWUgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgb3BhY2l0eTogMC4wNjsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmbG9hdEJvb2sgMjBzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIH0KICAgICAgICBAa2V5ZnJhbWVzIGZsb2F0Qm9vayB7CiAgICAgICAgICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgwZGVnKTsgfQogICAgICAgICAgICAyNSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpIHJvdGF0ZSg1ZGVnKTsgfQogICAgICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpIHJvdGF0ZSgtM2RlZyk7IH0KICAgICAgICAgICAgNzUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KSByb3RhdGUoM2RlZyk7IH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogTmF2aWdhdGlvbiAqLwogICAgICAgIC50b3BuYXYgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDEwMDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTMsIDI3LCA0MiwgMC45NSk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTsKICAgICAgICAgICAgcGFkZGluZzogMTVweCA0MHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4yKTsKICAgICAgICB9CiAgICAgICAgLm5hdi1icmFuZCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgIH0KICAgICAgICAubmF2LWxpbmtzIHsgZGlzcGxheTogZmxleDsgZ2FwOiAzMHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9CiAgICAgICAgLm5hdi1saW5rcyBhIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlOwogICAgICAgIH0KICAgICAgICAubmF2LWxpbmtzIGE6aG92ZXIgeyBjb2xvcjogdmFyKC0tZ29sZCk7IH0KICAgICAgICAubmF2LWxpbmtzIGEuYWN0aXZlIHsgY29sb3I6IHZhcigtLWdvbGQpOyB9CiAgICAgICAgCiAgICAgICAgLyogSGVybyBTZWN0aW9uICovCiAgICAgICAgLmhlcm8gewogICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHZoOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAxNDBweCA0MHB4IDgwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5oZXJvLWJhZGdlIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMiksIHJnYmEoMTk0LCAxNTQsIDEzOSwgMC4xKSk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjMpOwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDMwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaGVybyBoMSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgNnZ3LCA0LjVyZW0pOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KICAgICAgICAuaGVybyBoMSAuaGlnaGxpZ2h0IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksIHZhcigtLXJvc2Vnb2xkKSk7CiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5oZXJvLXN1YnRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2Vnb2xkKTsKICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhlcm8tcXVvdGUgewogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjA1KTsKICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxNXB4IDE1cHggMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgICAgICB9CiAgICAgICAgLmhlcm8tcXVvdGUgcCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5oZXJvLXF1b3RlIGNpdGUgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2Nyb2xsLWluZGljYXRvciB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgYW5pbWF0aW9uOiBib3VuY2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIC5zY3JvbGwtaW5kaWNhdG9yIC5hcnJvdyB7IGZvbnQtc2l6ZTogMS41cmVtOyB9CiAgICAgICAgQGtleWZyYW1lcyBib3VuY2UgewogICAgICAgICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogU2VjdGlvbiBTdHlsaW5nICovCiAgICAgICAgLnNlY3Rpb24gewogICAgICAgICAgICBwYWRkaW5nOiAxMDBweCA0MHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIH0KICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgICAgfQogICAgICAgIC5zZWN0aW9uLWxhYmVsIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDaW56ZWwnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNXB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjcpOwogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogUGhpbG9zb3BoeSBTZWN0aW9uICovCiAgICAgICAgLnBoaWxvc29waHktc2VjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDI4LCAzMSwgNzQsIDAuMykgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTsKICAgICAgICB9CiAgICAgICAgLnBoaWxvc29waHktZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpOwogICAgICAgICAgICBnYXA6IDMwcHg7CiAgICAgICAgfQogICAgICAgIC5waGlsb3NvcGh5LWdyaWQuZm91ci1jb2wgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI2MHB4LCAxZnIpKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogUXVvdGUgQmFubmVycyAqLwogICAgICAgIC5xdW90ZS1iYW5uZXIgewogICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDQwcHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMDgpLCByZ2JhKDE5NCwgMTU0LCAxMzksIDAuMDUpKTsKICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KTsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KTsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICB9CiAgICAgICAgLnF1b3RlLWJhbm5lci5kYXJrIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjYpLCByZ2JhKDEzLCAyNywgNDIsIDAuOCkpOwogICAgICAgIH0KICAgICAgICAucXVvdGUtY29udGVudCB7CiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAucXVvdGUtaWNvbiB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgfQogICAgICAgIC5xdW90ZS1iYW5uZXIgYmxvY2txdW90ZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuM3JlbSwgM3Z3LCAxLjhyZW0pOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5xdW90ZS1iYW5uZXIgY2l0ZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgIH0KICAgICAgICAucGhpbG9zb3BoeS1jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMDgpLCByZ2JhKDEzLCAyNywgNDIsIDAuOSkpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4yKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgcGFkZGluZzogNDBweCAzMHB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5waGlsb3NvcGh5LWNhcmQ6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KTsKICAgICAgICB9CiAgICAgICAgLnBoaWxvc29waHktaWNvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICB9CiAgICAgICAgLnBoaWxvc29waHktY2FyZCBoMyB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KICAgICAgICAucGhpbG9zb3BoeS1jYXJkIHAgewogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuOCk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIEFjYWRlbWllcyBHcmlkICovCiAgICAgICAgLmFjYWRlbWllcy1zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMTAsIDEwLCAxOCwgMC41KSA1MCUsIHRyYW5zcGFyZW50IDEwMCUpOwogICAgICAgIH0KICAgICAgICAuYWNhZGVtaWVzLWdyaWQgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDM1MHB4LCAxZnIpKTsKICAgICAgICAgICAgZ2FwOiAzNXB4OwogICAgICAgIH0KICAgICAgICAuYWNhZGVteS1jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjYpLCByZ2JhKDEzLCAyNywgNDIsIDAuOSkpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xNSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CiAgICAgICAgLmFjYWRlbXktY2FyZDo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICByaWdodDogMDsKICAgICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZ29sZCksIHZhcigtLXJvc2Vnb2xkKSk7CiAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlOwogICAgICAgIH0KICAgICAgICAuYWNhZGVteS1jYXJkOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjQpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDI1cHggNjBweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgICAgfQogICAgICAgIC5hY2FkZW15LWNhcmQ6aG92ZXI6OmJlZm9yZSB7CiAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5hY2FkZW15LWhlYWRlciB7CiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMzBweCAyNXB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgIH0KICAgICAgICAuYWNhZGVteS1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDcwcHg7CiAgICAgICAgICAgIGhlaWdodDogNzBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksIHZhcigtLWRlZXBnb2xkKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKTsKICAgICAgICB9CiAgICAgICAgLmFjYWRlbXktaW5mbyBoMyB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIH0KICAgICAgICAuYWNhZGVteS1pbmZvIC50YWdsaW5lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yb3NlZ29sZCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5hY2FkZW15LWJvZHkgewogICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMzBweDsKICAgICAgICB9CiAgICAgICAgLmFjYWRlbXktZGVzY3JpcHRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNzUpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS43OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYWNhZGVteS1mZWF0dXJlcyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OwogICAgICAgIH0KICAgICAgICAuZmVhdHVyZS10YWcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMik7CiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxNHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmFjYWRlbXktZm9vdGVyIHsKICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLmFjYWRlbXktZG9tYWluIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNSk7CiAgICAgICAgfQogICAgICAgIC5hY2FkZW15LWN0YSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmFjYWRlbXktY3RhOmhvdmVyIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0Z29sZCk7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogRmVhdHVyZWQgQWNhZGVteSAqLwogICAgICAgIC5mZWF0dXJlZC1hY2FkZW15IHsKICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDA7CiAgICAgICAgfQogICAgICAgIC5mZWF0dXJlZC1hY2FkZW15IC5hY2FkZW15LXZpc3VhbCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KSwgcmdiYSgxOTQsIDE1NCwgMTM5LCAwLjEpKTsKICAgICAgICAgICAgcGFkZGluZzogNTBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLmZlYXR1cmVkLWFjYWRlbXkgLmZlYXR1cmVkLWJhZGdlIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OwogICAgICAgIH0KICAgICAgICAuZmVhdHVyZWQtYWNhZGVteSAuYmlnLWljb24gewogICAgICAgICAgICBmb250LXNpemU6IDVyZW07CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIC5mZWF0dXJlZC1hY2FkZW15IC5mZWF0dXJlZC1zdGF0cyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMzBweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgICB9CiAgICAgICAgLmZlYXR1cmVkLWFjYWRlbXkgLnN0YXQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgfQogICAgICAgIC5mZWF0dXJlZC1hY2FkZW15IC5zdGF0LW51bWJlciB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICB9CiAgICAgICAgLmZlYXR1cmVkLWFjYWRlbXkgLnN0YXQtbGFiZWwgewogICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsKICAgICAgICB9CiAgICAgICAgLmZlYXR1cmVkLWFjYWRlbXkgLmFjYWRlbXktY29udGVudCB7CiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggNDBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgfQogICAgICAgIC5mZWF0dXJlZC1hY2FkZW15IC5hY2FkZW15LWNvbnRlbnQgaDMgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuZmVhdHVyZWQtYWNhZGVteSAuYWNhZGVteS1jb250ZW50IC50YWdsaW5lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2Vnb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICB9CiAgICAgICAgLmZlYXR1cmVkLWFjYWRlbXkgLmFjYWRlbXktY29udGVudCAuZGVzY3JpcHRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuOCk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIEF1ZGllbmNlIFNlY3Rpb24gKi8KICAgICAgICAuYXVkaWVuY2Utc2VjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4wMykgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogTWFnYXppbmUgU2VjdGlvbiAqLwogICAgICAgIC5tYWdhemluZS1zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMjgsIDMxLCA3NCwgMC40KSA1MCUsIHRyYW5zcGFyZW50IDEwMCUpOwogICAgICAgIH0KICAgICAgICAubWFnYXppbmUtc2hvd2Nhc2UgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMmZyIDAuOGZyOwogICAgICAgICAgICBnYXA6IDYwcHg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjA4KSwgcmdiYSgxMywgMjcsIDQyLCAwLjkpKTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMik7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHg7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIC5tYWdhemluZS1jb250ZW50IC5zZWN0aW9uLWxhYmVsIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICB9CiAgICAgICAgLm1hZ2F6aW5lLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIH0KICAgICAgICAubWFnYXppbmUtc3VidGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tcm9zZWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OwogICAgICAgIH0KICAgICAgICAubWFnYXppbmUtZGVzY3JpcHRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuOCk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICAgICAgfQogICAgICAgIC5tYWdhemluZS1mZWF0dXJlcyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMjVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgICAubWFnLWZlYXR1cmUgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNyk7CiAgICAgICAgfQogICAgICAgIC5tYWctaWNvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgIH0KICAgICAgICAubWFnYXppbmUtY3RhIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAzNXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tZGVlcGdvbGQpKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKTsKICAgICAgICB9CiAgICAgICAgLm1hZ2F6aW5lLWN0YTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuNCk7CiAgICAgICAgfQogICAgICAgIC5tYWdhemluZS12aXN1YWwgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLm1hZ2F6aW5lLWNvdmVyIHsKICAgICAgICAgICAgd2lkdGg6IDI4MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDM2MHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjMWExYTJlLCAjMGYwZjFhKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuNCk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgICAgcGFkZGluZzogMjVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogCiAgICAgICAgICAgICAgICAwIDMwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuNSksCiAgICAgICAgICAgICAgICAwIDAgNDBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5tYWdhemluZS1jb3Zlcjpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEuMDIpOwogICAgICAgIH0KICAgICAgICAuY292ZXItaW5uZXIgewogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjMpOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KICAgICAgICAuY292ZXItYnJhbmQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDIwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuMyk7CiAgICAgICAgfQogICAgICAgIC5jb3Zlci1zdWIgewogICAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICB9CiAgICAgICAgLmNvdmVyLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDaW56ZWwnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICBjb2xvcjogIzRBOTBEOTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgLmNvdmVyLXRhZyB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBjb2xvcjogdmFyKC0taXZvcnkpOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTY4cHgpIHsKICAgICAgICAgICAgLm1hZ2F6aW5lLXNob3djYXNlIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAzMHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5tYWdhemluZS12aXN1YWwgewogICAgICAgICAgICAgICAgb3JkZXI6IC0xOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5tYWdhemluZS1jb3ZlciB7CiAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHg7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4MHB4OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC5hdWRpZW5jZS1ncmlkIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7CiAgICAgICAgICAgIGdhcDogMjVweDsKICAgICAgICB9CiAgICAgICAgLmF1ZGllbmNlLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI4LCAzMSwgNzQsIDAuNCk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjEpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDI1cHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmF1ZGllbmNlLWNhcmQ6aG92ZXIgewogICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjMpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7CiAgICAgICAgfQogICAgICAgIC5hdWRpZW5jZS1pY29uIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5hdWRpZW5jZS1jYXJkIGg0IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5hdWRpZW5jZS1jYXJkIHAgewogICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogQ1RBIFNlY3Rpb24gKi8KICAgICAgICAuY3RhLXNlY3Rpb24gewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDgwcHggNDBweDsKICAgICAgICB9CiAgICAgICAgLmN0YS1ib3ggewogICAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMSksIHJnYmEoMjgsIDMxLCA3NCwgMC42KSk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjMpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDUwcHg7CiAgICAgICAgfQogICAgICAgIC5jdGEtYm94IGgyIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgLmN0YS1ib3ggcCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuOCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICAgICAgfQogICAgICAgIC5jdGEtYnV0dG9ucyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgLmN0YS1idG4gewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDM1cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5jdGEtYnRuLnByaW1hcnkgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tZGVlcGdvbGQpKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKTsKICAgICAgICB9CiAgICAgICAgLmN0YS1idG4ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuNCk7CiAgICAgICAgfQogICAgICAgIC5jdGEtYnRuLnNlY29uZGFyeSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgIH0KICAgICAgICAuY3RhLWJ0bi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogRm9vdGVyICovCiAgICAgICAgLmZvb3RlciB7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjEpOwogICAgICAgIH0KICAgICAgICAuZm9vdGVyLXRleHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNCk7CiAgICAgICAgfQogICAgICAgIC5mb290ZXItdGV4dCBhIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIFJldmVhbCBBbmltYXRpb24gKi8KICAgICAgICAucmV2ZWFsIHsKICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlOwogICAgICAgIH0KICAgICAgICAucmV2ZWFsLmFjdGl2ZSB7CiAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogUmVzcG9uc2l2ZSAqLwogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjhweCkgewogICAgICAgICAgICAuZmVhdHVyZWQtYWNhZGVteSB7CiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgICAgfQogICAgICAgICAgICAubmF2LWxpbmtzIHsgZGlzcGxheTogbm9uZTsgfQogICAgICAgIH0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgICAgLmhlcm8geyBwYWRkaW5nOiAxMjBweCAyMHB4IDYwcHg7IH0KICAgICAgICAgICAgLnNlY3Rpb24geyBwYWRkaW5nOiA2MHB4IDIwcHg7IH0KICAgICAgICAgICAgLmFjYWRlbWllcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgICAgICAgICAgLmN0YS1ib3ggeyBwYWRkaW5nOiA0MHB4IDI1cHg7IH0KICAgICAgICAgICAgLmN0YS1idXR0b25zIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgICAgICAgICAuY3RhLWJ0biB7IHdpZHRoOiAxMDAlOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGNsYXNzPSJ3YXRlcm1hcmsiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iYmctYW5pbWF0aW9uIj48L2Rpdj4KICAgIAogICAgPCEtLSBGbG9hdGluZyBFbGVtZW50cyAtLT4KICAgIDxkaXYgY2xhc3M9ImZsb2F0aW5nLWVsZW1lbnRzIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZmxvYXRpZSIgc3R5bGU9InRvcDogMTAlOyBsZWZ0OiA1JTsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPvCfk5o8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZsb2F0aWUiIHN0eWxlPSJ0b3A6IDIwJTsgcmlnaHQ6IDEwJTsgYW5pbWF0aW9uLWRlbGF5OiAzczsiPvCfjpM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZsb2F0aWUiIHN0eWxlPSJ0b3A6IDUwJTsgbGVmdDogOCU7IGFuaW1hdGlvbi1kZWxheTogNnM7Ij7wn5KhPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJmbG9hdGllIiBzdHlsZT0idG9wOiA3MCU7IHJpZ2h0OiA1JTsgYW5pbWF0aW9uLWRlbGF5OiA5czsiPvCfj5vvuI88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZsb2F0aWUiIHN0eWxlPSJ0b3A6IDg1JTsgbGVmdDogMTUlOyBhbmltYXRpb24tZGVsYXk6IDEyczsiPuKcqDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZmxvYXRpZSIgc3R5bGU9InRvcDogNDAlOyByaWdodDogMTUlOyBhbmltYXRpb24tZGVsYXk6IDE1czsiPvCfjJ88L3NwYW4+CiAgICA8L2Rpdj4KICAgIAogICAgPCEtLSBOYXZpZ2F0aW9uIC0tPgogICAgPG5hdiBjbGFzcz0idG9wbmF2Ij4KICAgICAgICA8YSBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vIiBjbGFzcz0ibmF2LWJyYW5kIj5USEUgU09WRVJFSUdOIEVNUElSRTwvYT4KICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtbGlua3MiPgogICAgICAgICAgICA8YSBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vZW1waXJlIj5FbXBpcmU8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9IkRPTUFJTkdPRVNIRVJFLmNvbS9sZWFybmluZyIgY2xhc3M9ImFjdGl2ZSI+TGVhcm5pbmc8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9IkRPTUFJTkdPRVNIRVJFLmNvbS9tZWRpYSI+TWVkaWE8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9IkRPTUFJTkdPRVNIRVJFLmNvbS9hYm91dCI+QWJvdXQ8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9IkRPTUFJTkdPRVNIRVJFLmNvbS9jb25uZWN0Ij5Db25uZWN0PC9hPgogICAgICAgIDwvZGl2PgogICAgPC9uYXY+CiAgICAKICAgIDwhLS0gSGVybyBTZWN0aW9uIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9Imhlcm8iPgogICAgICAgIDxkaXYgY2xhc3M9Imhlcm8tYmFkZ2UiPgogICAgICAgICAgICA8c3Bhbj7wn5OaPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5MZWFybmluZyBFbXBpcmU8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGgxPldoZXJlIDxzcGFuIGNsYXNzPSJoaWdobGlnaHQiPkVudHJlcHJlbmV1cnM8L3NwYW4+PGJyPkJlY29tZSBBcmNoaXRlY3RzPC9oMT4KICAgICAgICAKICAgICAgICA8cCBjbGFzcz0iaGVyby1zdWJ0aXRsZSI+CiAgICAgICAgICAgIEUtQWNhZGVtaWVzIGFuZCB0cmFpbmluZyBwbGF0Zm9ybXMgZGVzaWduZWQgdG8gdHJhbnNmb3JtIEFmcmljYW4gZW50cmVwcmVuZXVycyBhbmQgZGlhc3BvcmEgYnVpbGRlcnMgZnJvbSBkaWdpdGFsIHNoYXJlY3JvcHBlcnMgaW50byBzb3ZlcmVpZ24gYXJjaGl0ZWN0cyBvZiB0aGVpciBkZXN0aW55LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGwtaW5kaWNhdG9yIj4KICAgICAgICAgICAgPHNwYW4+RXhwbG9yZSB0aGUgQWNhZGVtaWVzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXJyb3ciPuKGkzwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSBRdW90ZSBCYW5uZXIgMSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJxdW90ZS1iYW5uZXIgcmV2ZWFsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJxdW90ZS1jb250ZW50Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLWljb24iPuKcpjwvc3Bhbj4KICAgICAgICAgICAgPGJsb2NrcXVvdGU+IlBlb3BsZSBkb24ndCBidXkgd2hhdCB5b3UgZG8sIHRoZXkgYnV5IHdoeSB5b3UgZG8gaXQuIjwvYmxvY2txdW90ZT4KICAgICAgICAgICAgPGNpdGU+4oCUIFNpbW9uIFNpbmVrPC9jaXRlPgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tIFBoaWxvc29waHkgU2VjdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIHBoaWxvc29waHktc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5PdXIgTGVhcm5pbmcgUGhpbG9zb3BoeTwvcD4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RWR1Y2F0aW9uIFRoYXQgQnVpbGRzIEVtcGlyZXM8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPk5vdCBqdXN0IGNvdXJzZXMg4oCUIHRyYW5zZm9ybWF0aW9uIGpvdXJuZXlzIGRlc2lnbmVkIGZvciBzb3ZlcmVpZ24gbWluZHM8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0icGhpbG9zb3BoeS1ncmlkIGZvdXItY29sIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBoaWxvc29waHktY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBoaWxvc29waHktaWNvbiI+8J+OrzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMz5QcmFjdGljYWwgT3ZlciBUaGVvcmV0aWNhbDwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHA+RXZlcnkgbGVzc29uIGlzIGRlc2lnbmVkIGZvciBpbW1lZGlhdGUgaW1wbGVtZW50YXRpb24uIFdlIHRlYWNoIHdoYXQgd29ya3MgaW4gdGhlIHJlYWwgd29ybGQsIG5vdCBhY2FkZW1pYyBhYnN0cmFjdGlvbnMuPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBoaWxvc29waHktY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBoaWxvc29waHktaWNvbiI+8J+MjTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMz5DdWx0dXJhbGx5IEludGVsbGlnZW50PC9oMz4KICAgICAgICAgICAgICAgICAgICA8cD5Ib25vcmluZyBBZnJpY2FuIHdpc2RvbSB0cmFkaXRpb25zIHdoaWxlIG1hc3RlcmluZyBXZXN0ZXJuIGJ1c2luZXNzIHN0cmF0ZWd5LiBUd28gd29ybGRzLCBvbmUgc292ZXJlaWduIGFwcHJvYWNoLjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaGlsb3NvcGh5LWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaGlsb3NvcGh5LWljb24iPvCfkZE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDM+U292ZXJlaWdudHkgRmlyc3Q8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwPldlIHRlYWNoIHlvdSB0byBvd24geW91ciBwbGF0Zm9ybXMsIGNvbnRyb2wgeW91ciBuYXJyYXRpdmUsIGFuZCBidWlsZCBhc3NldHMgdGhhdCBjYW4ndCBiZSB0YWtlbiBhd2F5LjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaGlsb3NvcGh5LWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaGlsb3NvcGh5LWljb24iPvCfk5o8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDM+TGlmZWxvbmcgTGVhcm5pbmcgTGVnYWN5PC9oMz4KICAgICAgICAgICAgICAgICAgICA8cD5XZSBwYXNzIGJhY2t3YXJkIHdoYXQgd2UndmUgbGVhcm5lZC4gUmVhZGVycywgbGlzdGVuZXJzLCBhbmQgbGVhcm5lcnMgYmVjb21lIHRlYWNoZXJzIOKAlCBzaGFyaW5nIGV4cGVydGlzZSBhY3Jvc3MgZ2VuZXJhdGlvbnMuPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tIFF1b3RlIEJhbm5lciAyIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9InF1b3RlLWJhbm5lciBkYXJrIHJldmVhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0icXVvdGUtY29udGVudCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1pY29uIj7inKY8L3NwYW4+CiAgICAgICAgICAgIDxibG9ja3F1b3RlPiJXZSBkb24ndCBidWlsZCBkaWdpdGFsIHNoYXJlY3JvcHBlcnMuIFdlIGFyY2hpdGVjdCBzb3ZlcmVpZ24gZW1waXJlcy4iPC9ibG9ja3F1b3RlPgogICAgICAgICAgICA8Y2l0ZT7igJQgTmlnaHRpbmdhbGUgTXVrYXNhLCBUaGUgU292ZXJlaWduIEFyY2hpdGVjdDwvY2l0ZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSBBY2FkZW1pZXMgU2VjdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIGFjYWRlbWllcy1zZWN0aW9uIiBpZD0iYWNhZGVtaWVzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciByZXZlYWwiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlRoZSBFLUFjYWRlbXkgTmV0d29yazwvcD4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+T3VyIExlYXJuaW5nIFBsYXRmb3JtczwvaDI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+RWFjaCBhY2FkZW15IHNlcnZlcyBhIHVuaXF1ZSBwdXJwb3NlIGluIHlvdXIgc292ZXJlaWduIGpvdXJuZXk8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVtaWVzLWdyaWQiPgogICAgICAgICAgICAgICAgPCEtLSBGZWF0dXJlZCBBY2FkZW15OiBEeW5hbWljIFBhcmFkaWdtcyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktY2FyZCBmZWF0dXJlZC1hY2FkZW15IHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS12aXN1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZWQtYmFkZ2UiPuKYhSBGbGFnc2hpcCBBY2FkZW15PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiaWctaWNvbiI+8J+Pm++4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlZC1zdGF0cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LW51bWJlciI+Mjg8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5TeXN0ZW1zPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbnVtYmVyIj4xMTArPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+RG9tYWluczwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5EeW5hbWljIFBhcmFkaWdtcyBBY2FkZW15PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRhZ2xpbmUiPlRoZSBTb3ZlcmVpZ24ncyBDb21tYW5kIENlbnRlcjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBmbGFnc2hpcCB0cmFpbmluZyBhcm0gd2hlcmUgZW50cmVwcmVuZXVycyBtYXN0ZXIgdGhlIGZ1bGwgc292ZXJlaWduIGJ1c2luZXNzIGFyY2hpdGVjdHVyZS4gRnJvbSBicmFuZCBmb3VuZGF0aW9ucyB0byBkaWdpdGFsIGVtcGlyZXMsIHRoaXMgaXMgd2hlcmUgdHJhbnNmb3JtYXRpb24gaGFwcGVucy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWZlYXR1cmVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLXRhZyI+QnJhbmQgQXJjaGl0ZWN0dXJlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtdGFnIj5EaWdpdGFsIExhbmQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPkZ1bm5lbCBTeXN0ZW1zPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtdGFnIj5NZWRpYSBFbXBpcmVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtdGFnIj5TQUFTIE1hc3Rlcnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbSIgY2xhc3M9ImFjYWRlbXktY3RhIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FbnRlciB0aGUgQWNhZGVteTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gTWVudG9yc2hpcCBTdWNjZXNzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWljb24iPvCfpJ08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5NZW50b3JzaGlwIFN1Y2Nlc3M8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRhZ2xpbmUiPkxlYXJuIGJ5IFRlYWNoaW5nPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYWNhZGVteS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGhpbG9zb3BoeSBvZiBzaGFycGVuaW5nIHRoZSBjcmFmdCB0aHJvdWdoIG1lbnRvcmluZyBvdGhlcnMuIFdoZXJlIGV4cGVyaWVuY2VkIGVudHJlcHJlbmV1cnMgcmVmaW5lIHRoZWlyIGV4cGVydGlzZSBieSBndWlkaW5nIHRoZSBuZXh0IGdlbmVyYXRpb24gb2YgYnVpbGRlcnMuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPk1lbnRvcnNoaXAgUHJhY3RpY2U8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPkxlYWRlcnNoaXAgRGV2ZWxvcG1lbnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPlBlZXIgTGVhcm5pbmc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjYWRlbXktZG9tYWluIj5lYWNhZGVteS5tZW50b3JzaGlwc3VjY2Vzcy5jb208L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZWFjYWRlbXkubWVudG9yc2hpcHN1Y2Nlc3MuY29tIiBjbGFzcz0iYWNhZGVteS1jdGEiIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkV4cGxvcmU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7ihpI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIE1hamVzdGljIE1lbnRvcnNoaXAgU3VjY2VzcyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1pY29uIj7wn5GRPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+TWFqZXN0aWMgTWVudG9yc2hpcDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGFnbGluZSI+TGVnYWN5IENvbnRlbnQgTGlicmFyeTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImFjYWRlbXktZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWWVhcnMgb2YgYWNjdW11bGF0ZWQgd2lzZG9tLCBmcmFtZXdvcmtzLCBhbmQgYnVzaW5lc3MgYXNzZXRzLiBBIHRyZWFzdXJlIHRyb3ZlIG9mIGNvbnRlbnQgYnVpbHQgb3ZlciBhIGRlY2FkZSBvZiBlbnRyZXByZW5ldXJpYWwgcHJhY3RpY2UgYW5kIG1lbnRvcnNoaXAuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPkNvbnRlbnQgTGlicmFyeTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLXRhZyI+RnJhbWV3b3Jrczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLXRhZyI+QnVzaW5lc3MgQXNzZXRzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY2FkZW15LWRvbWFpbiI+bWFqZXN0aWNtZW50b3JzaGlwc3VjY2Vzcy5jb208L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vbWFqZXN0aWNtZW50b3JzaGlwc3VjY2Vzcy5jb20iIGNsYXNzPSJhY2FkZW15LWN0YSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RXhwbG9yZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gRm91bmRlcnMgRm91bmRyeSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODk3YiwgIzAwNGQ0MCk7Ij7wn5SlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+Rm91bmRlcnMgRm91bmRyeTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGFnbGluZSI+RXhlY3V0aXZlLUxldmVsIFdlYmluYXJzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYWNhZGVteS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVtaXVtIHdlYmluYXIgcGxhdGZvcm0gZGVzaWduZWQgZm9yIEVYRUNVVElWRVMsIG5vdCBzdGFydHVwcy4gV2hlcmUgZXN0YWJsaXNoZWQgbGVhZGVycyBzaGFycGVuIHRoZWlyIGVkZ2UgYW5kIGJ1aWxkIG5leHQtbGV2ZWwgc3RyYXRlZ2ljIGNhcGFiaWxpdGllcy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWZlYXR1cmVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLXRhZyI+RXhlY3V0aXZlIFRyYWluaW5nPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtdGFnIj5MaXZlIFdlYmluYXJzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtdGFnIj5TdHJhdGVnaWMgTWFzdGVyY2xhc3Nlczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1mb290ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWNhZGVteS1kb21haW4iPmZvdW5kZXJzZm91bmRyeS5hZnJpY2E8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZm91bmRlcnNmb3VuZHJ5LmFmcmljYSIgY2xhc3M9ImFjYWRlbXktY3RhIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FeHBsb3JlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBEeW5hbWljIFBhcmFkaWdtcyBTdWNjZXNzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWljb24iIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNkIzRkEwLCAjNGEyYzZlKTsiPuKaoTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWluZm8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPkR5bmFtaWMgU3VjY2VzczwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGFnbGluZSI+UXVpY2sgV2lucyAmIFJlc291cmNlczwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImFjYWRlbXktZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFzdC10cmFjayByZXNvdXJjZXMsIHRlbXBsYXRlcywgYW5kIHF1aWNrLWltcGxlbWVudGF0aW9uIGd1aWRlcyBmb3IgZW50cmVwcmVuZXVycyB3aG8gbmVlZCByZXN1bHRzIE5PVy4gVGhlIGFjdGlvbi1vcmllbnRlZCBhcm0gb2YgdGhlIER5bmFtaWMgUGFyYWRpZ21zIGVjb3N5c3RlbS4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWZlYXR1cmVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLXRhZyI+VGVtcGxhdGVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtdGFnIj5RdWljayBHdWlkZXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPkltcGxlbWVudGF0aW9uIFRvb2xzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY2FkZW15LWRvbWFpbiI+ZHluYW1pY3BhcmFkaWdtc3N1Y2Nlc3MuY29tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXNzdWNjZXNzLmNvbSIgY2xhc3M9ImFjYWRlbXktY3RhIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FeHBsb3JlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBFbnRyZXByZW5ldXIgTGlicmFyeSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNhZGVteS1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0MyOUE4QiwgIzhCNkY2NSk7Ij7wn5OWPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+RW50cmVwcmVuZXVyIExpYnJhcnk8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRhZ2xpbmUiPldpc2RvbSBXb3J0aCBTaGFyaW5nPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2FkZW15LWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYWNhZGVteS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIGN1cmF0ZWQgY29sbGVjdGlvbiBmb3IgbGlmZWxvbmcgbGVhcm5lcnMuIFdlIHBhc3MgYmFja3dhcmQgd2hhdCB3ZSd2ZSBsZWFybmVkIOKAlCBib29rcywgYXVkaW9ib29rcywgcG9kY2FzdHMsIGFuZCByZXNvdXJjZXMgdGhhdCBzaGFwZWQgb3VyIGpvdXJuZXkuIFJlYWRlcnMgYmVjb21lIHRlYWNoZXJzLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtdGFnIj5Cb29rIFJldmlld3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPkF1ZGlvYm9va3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPlBvZGNhc3QgUGlja3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS10YWciPkN1cmF0ZWQgTGlzdHM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjYWRlbXktZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjYWRlbXktZG9tYWluIj5tYWplc3RpY21lZGlhc29sdXRpb25zLmNvbS9lbnRyZXByZW5ldXItbGlicmFyeTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9tYWplc3RpY21lZGlhc29sdXRpb25zLmNvbS9lbnRyZXByZW5ldXItbGlicmFyeSIgY2xhc3M9ImFjYWRlbXktY3RhIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FeHBsb3JlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICAKICAgIDwhLS0gUXVvdGUgQmFubmVyIDMgLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0icXVvdGUtYmFubmVyIHJldmVhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0icXVvdGUtY29udGVudCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdW90ZS1pY29uIj7inKY8L3NwYW4+CiAgICAgICAgICAgIDxibG9ja3F1b3RlPiJUaGUgZnV0dXJlIGJlbG9uZ3MgdG8gdGhvc2Ugd2hvIHByZXBhcmUgeW91bmcgcGVvcGxlIG5vdCBqdXN0IHRvIHBhcnRpY2lwYXRlLCBidXQgdG8gbGVhZCB3aXRoIHB1cnBvc2UuIjwvYmxvY2txdW90ZT4KICAgICAgICAgICAgPGNpdGU+4oCUIFRoZSBTb3ZlcmVpZ24gQXJjaGl0ZWN0czwvY2l0ZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSBBdWRpZW5jZSBTZWN0aW9uIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24gYXVkaWVuY2Utc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5XaG8gV2UgU2VydmU8L3A+CiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkJ1aWx0IEZvciBCdWlsZGVyczwvaDI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+T3VyIGFjYWRlbWllcyBzZXJ2ZSB0aG9zZSByZWFkeSB0byBhcmNoaXRlY3QgdGhlaXIgc292ZXJlaWdudHk8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXVkaWVuY2UtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdWRpZW5jZS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXVkaWVuY2UtaWNvbiI+8J+RqeKAjfCfkrw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDQ+V29tZW5wcmVuZXVyczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHA+QWZyaWNhbiBhbmQgZGlhc3BvcmEgd29tZW4gYnVpbGRpbmcgbGVnYWNpZXMgd2l0aCBwdXJwb3NlIGFuZCBwb3dlcjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdWRpZW5jZS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXVkaWVuY2UtaWNvbiI+8J+agDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoND5WZW50dXJlcHJlbmV1cnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDxwPkZvdW5kZXJzIHJlYWR5IHRvIHNjYWxlIGZyb20gc2lkZSBodXN0bGUgdG8gc292ZXJlaWduIGVtcGlyZTwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdWRpZW5jZS1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXVkaWVuY2UtaWNvbiI+8J+OkzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoND5FZHVwcmVuZXVyczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHA+RWR1Y2F0b3JzIGJ1aWxkaW5nIGtub3dsZWRnZS1iYXNlZCBidXNpbmVzc2VzIGFuZCBhY2FkZW1pZXM8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXVkaWVuY2UtY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1ZGllbmNlLWljb24iPvCfjI08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDQ+RGlhc3BvcmEgQnVpbGRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDxwPkdsb2JhbCBBZnJpY2FucyBpbnZlc3RpbmcgaW4gY29udGluZW50YWwgaW1wYWN0IGFuZCBjb25uZWN0aW9uPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1ZGllbmNlLWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdWRpZW5jZS1pY29uIj7wn5K8PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGg0PkV4ZWN1dGl2ZXM8L2g0PgogICAgICAgICAgICAgICAgICAgIDxwPkxlYWRlcnMgc2Vla2luZyBuZXh0LWxldmVsIHN0cmF0ZWdpYyBjYXBhYmlsaXRpZXMgYW5kIHZpc2liaWxpdHk8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXVkaWVuY2UtY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1ZGllbmNlLWljb24iPvCfjLE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDQ+WW91dGggRnV0dXJlcHJlbmV1cnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDxwPlRoZSBuZXh0IGdlbmVyYXRpb24gb2YgQWZyaWNhbiBidXNpbmVzcyBsZWFkZXJzIGluIHRyYWluaW5nPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tIFF1b3RlIEJhbm5lciAtIEF1ZGllbmNlIHRvIE1hZ2F6aW5lIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9InF1b3RlLWJhbm5lciByZXZlYWwiPgogICAgICAgIDxkaXYgY2xhc3M9InF1b3RlLWNvbnRlbnQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icXVvdGUtaWNvbiI+4pymPC9zcGFuPgogICAgICAgICAgICA8YmxvY2txdW90ZT4iWW91ciBicmFuZCBpcyB3aGF0IHBlb3BsZSBzYXkgYWJvdXQgeW91IHdoZW4geW91J3JlIG5vdCBpbiB0aGUgcm9vbS4iPC9ibG9ja3F1b3RlPgogICAgICAgICAgICA8Y2l0ZT7igJQgSmVmZiBCZXpvczwvY2l0ZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSBNYWdhemluZSBTZWN0aW9uIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24gbWFnYXppbmUtc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFnYXppbmUtc2hvd2Nhc2UgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hZ2F6aW5lLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5GZWF0dXJlZCBQdWJsaWNhdGlvbjwvcD4KICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9Im1hZ2F6aW5lLXRpdGxlIj5UaGUgSm91cm5hbCBTcGVjdHJ1bTwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im1hZ2F6aW5lLXN1YnRpdGxlIj5CcmlsbGlhbnQgQnJhbmQgU3RyYXRlZ2llcyBNYWdhemluZTwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibWFnYXppbmUtZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICBXaGVyZSBzb3ZlcmVpZ24gYnVzaW5lc3Mgc3RyYXRlZ3kgbWVldHMgdGltZWxlc3Mgd2lzZG9tLiBPdXIgZmxhZ3NoaXAgcHVibGljYXRpb24gZGVsaXZlcnMgZGVlcCBpbnNpZ2h0cyBvbiBicmFuZCBhcmNoaXRlY3R1cmUsIGRpZ2l0YWwgbGFuZCBvd25lcnNoaXAsIGFuZCB0aGUgYXJ0IG9mIGJ1aWxkaW5nIGVtcGlyZXMgdGhhdCBsYXN0LgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWdhemluZS1mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hZy1mZWF0dXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtYWctaWNvbiI+8J+TsDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlF1YXJ0ZXJseSBJc3N1ZXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWctZmVhdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWFnLWljb24iPvCfkZE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FeHBlcnQgQ29sdW1uczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hZy1mZWF0dXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtYWctaWNvbiI+8J+MjTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFmcmljYW4gRm9jdXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IkRPTUFJTkdPRVNIRVJFLmNvbS9tYWdhemluZSIgY2xhc3M9Im1hZ2F6aW5lLWN0YSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlJlYWQgdGhlIExhdGVzdCBJc3N1ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFnYXppbmUtdmlzdWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWdhemluZS1jb3ZlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdmVyLWlubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb3Zlci1icmFuZCI+QnJpbGxpYW50PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvdmVyLXN1YiI+QlJBTkQgU1RSQVRFR0lFUzwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb3Zlci10aXRsZSI+VEhFIEpPVVJOQUw8YnI+U1BFQ1RSVU08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY292ZXItdGFnIj5NQUdBWklORTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICAKICAgIDwhLS0gUXVvdGUgQmFubmVyIDQgLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0icXVvdGUtYmFubmVyIGRhcmsgcmV2ZWFsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJxdW90ZS1jb250ZW50Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InF1b3RlLWljb24iPuKcpjwvc3Bhbj4KICAgICAgICAgICAgPGJsb2NrcXVvdGU+IlVidW50dSBDYXBpdGFsaXNtOiBDcmVhdGluZyB3ZWFsdGggcmVkaXN0cmlidXRpb24gZW5naW5lcyBkaXNndWlzZWQgYXMgbWVkaWEgZW1waXJlcy4iPC9ibG9ja3F1b3RlPgogICAgICAgICAgICA8Y2l0ZT7igJQgTmlnaHRpbmdhbGUgTXVrYXNhPC9jaXRlPgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tIENUQSBTZWN0aW9uIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImN0YS1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtYm94IHJldmVhbCI+CiAgICAgICAgICAgIDxoMj5SZWFkeSB0byBCZWdpbiBZb3VyIFNvdmVyZWlnbiBKb3VybmV5PzwvaDI+CiAgICAgICAgICAgIDxwPkNob29zZSB5b3VyIHBhdGggYW5kIHN0YXJ0IGJ1aWxkaW5nIHRoZSBlbXBpcmUgeW91IHdlcmUgbWVhbnQgdG8gY3JlYXRlLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3RhLWJ1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iRE9NQUlOR09FU0hFUkUuY29tLyIgY2xhc3M9ImN0YS1idG4gcHJpbWFyeSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+U3RhcnQgYXQgdGhlIEJlZ2lubmluZzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj7ihpI8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJET01BSU5HT0VTSEVSRS5jb20vY29ubmVjdCIgY2xhc3M9ImN0YS1idG4gc2Vjb25kYXJ5Ij4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Db25uZWN0IFdpdGggTWU8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tIEZvb3RlciAtLT4KICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci10ZXh0Ij4KICAgICAgICAgICAgwqkgMjAxNy0yMDI2IDxhIGhyZWY9IkRPTUFJTkdPRVNIRVJFLmNvbS8iPk11a2FzYSBWZW50dXJlIFBhcnRuZXJzIExMQzwvYT4g4oCiIFRoZSBTb3ZlcmVpZ24gRW1waXJlPGJyPgogICAgICAgICAgICBEeW5hbWljIFBhcmFkaWdtcyAmIE1lbnRvcnNoaXAgU3VjY2VzcyBBY2FkZW1pZXMg4oCiIEJ1aWxkaW5nIFNvdmVyZWlnbiBBcmNoaXRlY3RzCiAgICAgICAgPC9wPgogICAgPC9mb290ZXI+CiAgICAKICAgIDxzY3JpcHQ+CiAgICAgICAgLy8gSVAgUHJvdGVjdGlvbgogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgZSA9PiBlLnByZXZlbnREZWZhdWx0KCkpOwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBlID0+IHsKICAgICAgICAgICAgaWYgKChlLmN0cmxLZXkgJiYgWydjJywndicsJ3MnLCdwJywndSddLmluY2x1ZGVzKGUua2V5LnRvTG93ZXJDYXNlKCkpKSB8fCBlLmtleSA9PT0gJ0YxMicpIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB9KTsKICAgICAgICAKICAgICAgICAvLyBTY3JvbGwgUmV2ZWFsCiAgICAgICAgZnVuY3Rpb24gcmV2ZWFsT25TY3JvbGwoKSB7CiAgICAgICAgICAgIGNvbnN0IHJldmVhbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucmV2ZWFsJyk7CiAgICAgICAgICAgIHJldmVhbHMuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7CiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50VG9wID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wOwogICAgICAgICAgICAgICAgY29uc3QgcmV2ZWFsUG9pbnQgPSAxNTA7CiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudFRvcCA8IHdpbmRvd0hlaWdodCAtIHJldmVhbFBvaW50KSB7CiAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgcmV2ZWFsT25TY3JvbGwpOwogICAgICAgIHJldmVhbE9uU2Nyb2xsKCk7CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+","embed":""}
Learning Empire | E-Academies & Training | The Sovereign Empire
📚 🎓 💡 🏛️ ✨ 🌟
THE SOVEREIGN EMPIRE
Empire Learning Media About Connect
📚 Learning Empire

Where Entrepreneurs
Become Architects

E-Academies and training platforms designed to transform African entrepreneurs and diaspora builders from digital sharecroppers into sovereign architects of their destiny.

Explore the Academies ↓
✦
"People don't buy what you do, they buy why you do it."
— Simon Sinek

Our Learning Philosophy

Education That Builds Empires

Not just courses — transformation journeys designed for sovereign minds

🎯

Practical Over Theoretical

Every lesson is designed for immediate implementation. We teach what works in the real world, not academic abstractions.

🌍

Culturally Intelligent

Honoring African wisdom traditions while mastering Western business strategy. Two worlds, one sovereign approach.

👑

Sovereignty First

We teach you to own your platforms, control your narrative, and build assets that can't be taken away.

📚

Lifelong Learning Legacy

We pass backward what we've learned. Readers, listeners, and learners become teachers — sharing expertise across generations.

✦
"We don't build digital sharecroppers. We architect sovereign empires."
— Nightingale Mukasa, The Sovereign Architect

The E-Academy Network

Our Learning Platforms

Each academy serves a unique purpose in your sovereign journey

★ Flagship Academy
🏛️
28
Systems
110+
Domains

Dynamic Paradigms Academy

The Sovereign's Command Center

The flagship training arm where entrepreneurs master the full sovereign business architecture. From brand foundations to digital empires, this is where transformation happens.

Brand Architecture Digital Land Funnel Systems Media Empires SAAS Mastery
Enter the Academy →
🤝

Mentorship Success

Learn by Teaching

The philosophy of sharpening the craft through mentoring others. Where experienced entrepreneurs refine their expertise by guiding the next generation of builders.

Mentorship Practice Leadership Development Peer Learning
eacademy.mentorshipsuccess.com Explore →
👑

Majestic Mentorship

Legacy Content Library

Years of accumulated wisdom, frameworks, and business assets. A treasure trove of content built over a decade of entrepreneurial practice and mentorship.

Content Library Frameworks Business Assets
majesticmentorshipsuccess.com Explore →
🔥

Founders Foundry

Executive-Level Webinars

Premium webinar platform designed for EXECUTIVES, not startups. Where established leaders sharpen their edge and build next-level strategic capabilities.

Executive Training Live Webinars Strategic Masterclasses
foundersfoundry.africa Explore →
⚡

Dynamic Success

Quick Wins & Resources

Fast-track resources, templates, and quick-implementation guides for entrepreneurs who need results NOW. The action-oriented arm of the Dynamic Paradigms ecosystem.

Templates Quick Guides Implementation Tools
dynamicparadigmssuccess.com Explore →
📖

Entrepreneur Library

Wisdom Worth Sharing

A curated collection for lifelong learners. We pass backward what we've learned — books, audiobooks, podcasts, and resources that shaped our journey. Readers become teachers.

Book Reviews Audiobooks Podcast Picks Curated Lists
majesticmediasolutions.com/entrepreneur-library Explore →
✦
"The future belongs to those who prepare young people not just to participate, but to lead with purpose."
— The Sovereign Architects

Who We Serve

Built For Builders

Our academies serve those ready to architect their sovereignty

👩‍💼

Womenpreneurs

African and diaspora women building legacies with purpose and power

🚀

Venturepreneurs

Founders ready to scale from side hustle to sovereign empire

🎓

Edupreneurs

Educators building knowledge-based businesses and academies

🌍

Diaspora Builders

Global Africans investing in continental impact and connection

💼

Executives

Leaders seeking next-level strategic capabilities and visibility

🌱

Youth Futurepreneurs

The next generation of African business leaders in training

✦
"Your brand is what people say about you when you're not in the room."
— Jeff Bezos

Featured Publication

The Journal Spectrum

Brilliant Brand Strategies Magazine

Where sovereign business strategy meets timeless wisdom. Our flagship publication delivers deep insights on brand architecture, digital land ownership, and the art of building empires that last.

📰 Quarterly Issues
👑 Expert Columns
🌍 African Focus
Read the Latest Issue →

Brilliant

BRAND STRATEGIES

THE JOURNAL
SPECTRUM

MAGAZINE

✦
"Ubuntu Capitalism: Creating wealth redistribution engines disguised as media empires."
— Nightingale Mukasa

Ready to Begin Your Sovereign Journey?

Choose your path and start building the empire you were meant to create.

Start at the Beginning → Connect With Me

© 2017-2026 Mukasa Venture Partners LLC • The Sovereign Empire
Dynamic Paradigms & Mentorship Success Academies • Building Sovereign Architects

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

warning