cropper

DYNAMIC PARADIGMS HIVE
UBUNTU-COHORT HUB

cropper
  • Cohort
  • Hub
  • Assess
  • Week 1
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Founder
  • Connect
  • About
{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+QWJvdXQgfCBTb3ZlcmVpZ24gQnVzaW5lc3MgQXJjaGl0ZWN0dXJlIHwgTmlnaHRpbmdhbGUgTXVrYXNhIHwgVGhlIFNvdmVyZWlnbiBBcmNoaXRlY3TihKI8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9IkFib3V0IHwgU292ZXJlaWduIEJ1c2luZXNzIEFyY2hpdGVjdHVyZSB8IE5pZ2h0aW5nYWxlIE11a2FzYSI+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iRGlzY292ZXIgdGhlIDM2MMKwIExlZ2FjeSBFY29zeXN0ZW0gYW5kIG5pbmUgcGlsbGFycyBvZiBzb3ZlcmVpZ24gYnVzaW5lc3MgYXJjaGl0ZWN0dXJlIGJ5IE5pZ2h0aW5nYWxlIE11a2FzYSwgQ01PIGFuZCBCcmFuZC1NZWRpYSBTdHJhdGVnaXN0IGF0IER5bmFtaWMgUGFyYWRpZ21zICYgTWVudG9yc2hpcCBTdWNjZXNzIEFjYWRlbWllcy4iPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IkJ1c2luZXNzIFByb3Bvc2FsLCBTb3ZlcmVpZ24gQnVzaW5lc3MgQXJjaGl0ZWN0dXJlLCAzNjAgTGVnYWN5IEVjb3N5c3RlbSwgVWJ1bnR1IENvaG9ydCwgTmlnaHRpbmdhbGUgTXVrYXNhLCBDTU8gU3RyYXRlZ3ksIEFmcmljYW4gV29tZW4gRW50cmVwcmVuZXVycywgRGlnaXRhbCBMYW5kIj4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iTmlnaHRpbmdhbGUgTXVrYXNhIC0gRHluYW1pYyBQYXJhZGlnbXMgJiBNZW50b3JzaGlwIFN1Y2Nlc3MgQWNhZGVtaWVzIj4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CiAgICAKICAgIDwhLS0gT3BlbiBHcmFwaCAvIEZhY2Vib29rIC0tPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9ImFydGljbGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9keW5hbWljcGFyYWRpZ21zYWNhZGVteS5jb20vYWJvdXQiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJBYm91dCB8IFNvdmVyZWlnbiBCdXNpbmVzcyBBcmNoaXRlY3R1cmUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJEaXNjb3ZlciB0aGUgMzYwwrAgTGVnYWN5IEVjb3N5c3RlbSBhbmQgbmluZSBwaWxsYXJzIG9mIHNvdmVyZWlnbiBidXNpbmVzcyBhcmNoaXRlY3R1cmUuIj4KICAgIAogICAgPCEtLSBUd2l0dGVyIC0tPgogICAgPG1ldGEgcHJvcGVydHk9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeV9sYXJnZV9pbWFnZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0idHdpdHRlcjp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vZHluYW1pY3BhcmFkaWdtc2FjYWRlbXkuY29tL2Fib3V0Ij4KICAgIDxtZXRhIHByb3BlcnR5PSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJBYm91dCB8IFNvdmVyZWlnbiBCdXNpbmVzcyBBcmNoaXRlY3R1cmUiPgogICAgCiAgICA8IS0tIENhbm9uaWNhbCBVUkwgLS0+CiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9keW5hbWljcGFyYWRpZ21zYWNhZGVteS5jb20vYWJvdXQiPgogICAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgZm9sbG93LCBub2FyY2hpdmUsIG5vaW1hZ2VpbmRleCI+CiAgICAKICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTp3Z2h0QDQwMDs1MDA7NjAwOzcwMCZmYW1pbHk9Q29ybW9yYW50K0dhcmFtb25kOml0YWwsd2dodEAwLDQwMDswLDUwMDswLDYwMDsxLDQwMCZmYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDMwMDs0MDA7NTAwOzYwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgICAKICAgIDxzdHlsZT4KICAgICAgICA6cm9vdCB7CiAgICAgICAgICAgIC0tbmF2eTogIzBEMUIyQTsKICAgICAgICAgICAgLS1pbmRpZ286ICMxQzFGNEE7CiAgICAgICAgICAgIC0tZ29sZDogI0Q0QUYzNzsKICAgICAgICAgICAgLS1yb3NlLWdvbGQ6ICNDMjlBOEI7CiAgICAgICAgICAgIC0taXZvcnk6ICNGOEY0RUM7CiAgICAgICAgICAgIC0tY3JlYW06ICNGQUY3RjI7CiAgICAgICAgICAgIC0tZGVlcC1nb2xkOiAjQjg5NzJFOwogICAgICAgICAgICAtLWxpZ2h0LWdvbGQ6ICNFOEQ1QTM7CiAgICAgICAgICAgIC0tc2hhZG93LW5hdnk6IHJnYmEoMTMsIDI3LCA0MiwgMC44NSk7CiAgICAgICAgICAgIC0tdGVhbDogIzAwODk3YjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaHRtbCB7CiAgICAgICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBib2R5IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbmF2eSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpbWcgewogICAgICAgICAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTsKICAgICAgICAgICAgLWtodG1sLXVzZXItZHJhZzogbm9uZTsKICAgICAgICAgICAgLW1vei11c2VyLWRyYWc6IG5vbmU7CiAgICAgICAgICAgIC1vLXVzZXItZHJhZzogbm9uZTsKICAgICAgICAgICAgdXNlci1kcmFnOiBub25lOwogICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLndhdGVybWFyayB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICAgICAgei1pbmRleDogOTk5OTsKICAgICAgICAgICAgb3BhY2l0eTogMC4wMjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLndhdGVybWFyazo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJ8KpIER5bmFtaWMgUGFyYWRpZ21z4oSiIOKAoiBQcm9wcmlldGFyeSBGcmFtZXdvcmsg4oCiIGR5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbSc7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC0zMGRlZyk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOwogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyMTIsIDE3NSwgNTUsIDAuMDQpOwogICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNXB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgcHJpbnQgewogICAgICAgICAgICBib2R5OjpiZWZvcmUgewogICAgICAgICAgICAgICAgY29udGVudDogJ0NPTkZJREVOVElBTCDigKIgwqkgRHluYW1pYyBQYXJhZGlnbXMgJiBNZW50b3JzaGlwIFN1Y2Nlc3MgQWNhZGVtaWVzIOKAoiBVbmF1dGhvcml6ZWQgcmVwcm9kdWN0aW9uIHByb2hpYml0ZWQnOwogICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTsKICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKTsKICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5OwogICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgICAgfQogICAgICAgICAgICBib2R5ICogeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBHZW9tZXRyaWMgQmFja2dyb3VuZCBQYXR0ZXJuICovCiAgICAgICAgLmdlby1wYXR0ZXJuIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgICB6LWluZGV4OiAwOwogICAgICAgICAgICBvcGFjaXR5OiAwLjAzOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAKICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgzMGRlZywgdmFyKC0tZ29sZCkgMXB4LCB0cmFuc3BhcmVudCAxcHgpLAogICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KC0zMGRlZywgdmFyKC0tZ29sZCkgMXB4LCB0cmFuc3BhcmVudCAxcHgpLAogICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE1MGRlZywgdmFyKC0tZ29sZCkgMXB4LCB0cmFuc3BhcmVudCAxcHgpLAogICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KC0xNTBkZWcsIHZhcigtLWdvbGQpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsKICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDEwNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBGbG9hdGluZyBPcmJzICovCiAgICAgICAgLm9yYiB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBmaWx0ZXI6IGJsdXIoNjBweCk7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTU7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgICB6LWluZGV4OiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3JiLTEgewogICAgICAgICAgICB3aWR0aDogNDAwcHg7CiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdvbGQpOwogICAgICAgICAgICB0b3A6IC0xMDBweDsKICAgICAgICAgICAgcmlnaHQ6IC0xMDBweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmbG9hdC1vcmIgMjBzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3JiLTIgewogICAgICAgICAgICB3aWR0aDogMzAwcHg7CiAgICAgICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXJvc2UtZ29sZCk7CiAgICAgICAgICAgIGJvdHRvbTogMjAlOwogICAgICAgICAgICBsZWZ0OiAtMTAwcHg7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmxvYXQtb3JiIDI1cyBlYXNlLWluLW91dCBpbmZpbml0ZSByZXZlcnNlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3JiLTMgewogICAgICAgICAgICB3aWR0aDogMjUwcHg7CiAgICAgICAgICAgIGhlaWdodDogMjUwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRlYWwpOwogICAgICAgICAgICB0b3A6IDUwJTsKICAgICAgICAgICAgcmlnaHQ6IDEwJTsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmbG9hdC1vcmIgMThzIGVhc2UtaW4tb3V0IGluZmluaXRlIDJzOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAa2V5ZnJhbWVzIGZsb2F0LW9yYiB7CiAgICAgICAgICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH0KICAgICAgICAgICAgMjUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTMwcHgpIHNjYWxlKDEuMSk7IH0KICAgICAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIDIwcHgpIHNjYWxlKDAuOTUpOyB9CiAgICAgICAgICAgIDc1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwcHgsIDMwcHgpIHNjYWxlKDEuMDUpOyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIE5hdmlnYXRpb24gKi8KICAgICAgICAubmF2LXJpYmJvbiB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICByaWdodDogMDsKICAgICAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tbmF2eSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm5hdi1yaWJib24uc2Nyb2xsZWQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaGFkb3ctbmF2eSk7CiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTsKICAgICAgICAgICAgcGFkZGluZzogMTVweCA0MHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAubG9nby10ZXh0IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmxvZ28tdGV4dDpob3ZlciB7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm5hdi1jZW50ZXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDE1cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wYWdlLW5hdi1idG4gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBhZ2UtbmF2LWJ0bjpob3ZlciB7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjEpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wYWdlLW5hdi1idG4uZGlzYWJsZWQgewogICAgICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAubmF2LWFycm93IHsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaG9tZS1idG4gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaG9tZS1idG46aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaG9tZXdvcmstYmFkZ2UgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tZGVlcC1nb2xkKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBIZXJvIFNlY3Rpb24gKi8KICAgICAgICAuaGVybyB7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAxMjBweCA0MHB4IDgwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgei1pbmRleDogMTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhlcm8tYmFkZ2UgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2UgZm9yd2FyZHMgMC4zczsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhlcm8tdGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDZ2dywgNC41cmVtKTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIGZvcndhcmRzIDAuNXM7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5oZXJvLXRpdGxlIHNwYW4gewogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksIHZhcigtLWxpZ2h0LWdvbGQpLCB2YXIoLS1nb2xkKSk7CiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhlcm8tc3VidGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgMi41dncsIDEuNnJlbSk7CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2UtZ29sZCk7CiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSBmb3J3YXJkcyAwLjdzOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaGVyby1kZXNjcmlwdGlvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIGZvcndhcmRzIDAuOXM7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zY3JvbGwtaW5kaWNhdG9yIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICBib3R0b206IDQwcHg7CiAgICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSBmb3J3YXJkcyAxLjRzOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2Nyb2xsLXRleHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2Nyb2xsLWxpbmUgewogICAgICAgICAgICB3aWR0aDogMXB4OwogICAgICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWdvbGQpLCB0cmFuc3BhcmVudCk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogc2Nyb2xsUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBrZXlmcmFtZXMgc2Nyb2xsUHVsc2UgewogICAgICAgICAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IDAuMzsgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH0KICAgICAgICAgICAgNTAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZVkoMS4yKTsgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBAa2V5ZnJhbWVzIGZhZGVJblVwIHsKICAgICAgICAgICAgZnJvbSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogQ29udGFpbmVyICovCiAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBTZWN0aW9uIFN0eWxpbmcgKi8KICAgICAgICBzZWN0aW9uIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxOwogICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZWN0aW9uLWxhYmVsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2UtZ29sZCk7CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIE5pbmUgUGlsbGFycyBHcmlkICovCiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4wMiksIHRyYW5zcGFyZW50KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBpbGxhcnMtZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICAgICAgICAgIGdhcDogMjVweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBpbGxhci1jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjYpLCByZ2JhKDEzLCAyNywgNDIsIDAuOCkpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4yKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgcGFkZGluZzogMzVweCAzMHB4OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5waWxsYXItY2FyZDo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZ29sZCksIHZhcigtLXJvc2UtZ29sZCkpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBpbGxhci1jYXJkOmhvdmVyOjpiZWZvcmUgewogICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBpbGxhci1jYXJkOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNTBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xNSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5waWxsYXItaGVhZGVyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGlsbGFyLW51bWJlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQpLCB2YXIoLS1kZWVwLWdvbGQpKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5waWxsYXItdGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5waWxsYXItbWFwcGluZyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tcm9zZS1nb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBpbGxhci1jb250ZW50IHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuOCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5waWxsYXItbGlzdCB7CiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5waWxsYXItbGlzdCBsaSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICAgICAgcGFkZGluZzogNnB4IDA7CiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGlsbGFyLWxpc3QgbGk6OmJlZm9yZSB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICfil4cnOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5waWxsYXItZnVuY3Rpb24gewogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsKICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGlsbGFyLWZ1bmN0aW9uLWxhYmVsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBpbGxhci1mdW5jdGlvbi10YWdzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZ1bmN0aW9uLXRhZyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWdvbGQpOwogICAgICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMik7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIFZhbHVlIFByb3Bvc2l0aW9uIFNlY3Rpb24gKi8KICAgICAgICAudmFsdWUtc2VjdGlvbiB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC52YWx1ZS1ncmlkIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDUwcHg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC52YWx1ZS1jb250ZW50IGgzIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWl2b3J5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnZhbHVlLWNvbnRlbnQgcCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC44KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnRyYW5zZm9ybWF0aW9uLWxpc3QgewogICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudHJhbnNmb3JtYXRpb24tbGlzdCBsaSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgICAgICBnYXA6IDE1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudHJhbnNmb3JtLWljb24gewogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnRyYW5zZm9ybS10ZXh0IHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjg1KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnZhbHVlLXZpc3VhbCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHJnYmEoMjgsIDMxLCA3NCwgMC42KSwgcmdiYSgxMywgMjcsIDQyLCAwLjgpKTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMik7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnZhbHVlLW1ldHJpYyB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5tZXRyaWMtdmFsdWUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5tZXRyaWMtbGFiZWwgewogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2UtZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIFJldmVudWUgU2VjdGlvbiAqLwogICAgICAgIC5yZXZlbnVlLXNlY3Rpb24gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgwLCAxMzcsIDEyMywgMC4wMyksIHRyYW5zcGFyZW50KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJldmVudWUtZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICAgICAgICAgIGdhcDogMzBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJldmVudWUtY2FyZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHJnYmEoMjgsIDMxLCA3NCwgMC42KSwgcmdiYSgxMywgMjcsIDQyLCAwLjgpKTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMik7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJldmVudWUtY2FyZDpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJldmVudWUtdGllciB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yZXZlbnVlLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0taXZvcnkpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucmV2ZW51ZS1saXN0IHsKICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJldmVudWUtbGlzdCBsaSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucmV2ZW51ZS1saXN0IGxpOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAn4pymJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42cmVtOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBSZXNvdXJjZXMgU2VjdGlvbiAqLwogICAgICAgIC5yZXNvdXJjZXMtc2VjdGlvbiB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yZXNvdXJjZXMtZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJlc291cmNlLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI4LCAzMSwgNzQsIDAuNCk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yZXNvdXJjZS1jYXJkOmhvdmVyIHsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyOCwgMzEsIDc0LCAwLjYpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucmVzb3VyY2UtaWNvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJlc291cmNlLW5hbWUgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucmVzb3VyY2UtZGV0YWlsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjYpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBDVEEgU2VjdGlvbiAqLwogICAgICAgIC5jdGEtc2VjdGlvbiB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmN0YS10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuOHJlbSwgMy41dncsIDIuNXJlbSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jdGEtc3VidGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJvc2UtZ29sZCk7CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmN0YS1idXR0b25zIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYnRuLXByaW1hcnkgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tZGVlcC1nb2xkKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAzNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuMyk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5idG4tcHJpbWFyeTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuNCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5idG4tc2Vjb25kYXJ5IHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAzNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5idG4tc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogQm90dG9tIFBhZ2UgTmF2aWdhdGlvbiAqLwogICAgICAgIC5wYWdlLW5hdmlnYXRpb24gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAzMHB4OwogICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDQwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDEzLCAyNywgNDIsIDAuMykpOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wYWdlLW5hdi1jYXJkIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDI4LCAzMSwgNzQsIDAuNiksIHJnYmEoMTMsIDI3LCA0MiwgMC44KSk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjIpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBhZ2UtbmF2LWNhcmQ6aG92ZXIgewogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTVweCA0MHB4IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBhZ2UtbmF2LWNhcmQuZGlzYWJsZWQgewogICAgICAgICAgICBvcGFjaXR5OiAwLjQ7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFnZS1uYXYtYXJyb3cgewogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFnZS1uYXYtaW5mbyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogM3B4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFnZS1uYXYtbGFiZWwgewogICAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yb3NlLWdvbGQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFnZS1uYXYtdGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0taXZvcnkpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFnZS1uYXYtaG9tZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tZGVlcC1nb2xkKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzVweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wYWdlLW5hdi1ob21lOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggNDBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBhZ2UtbmF2LWhvbWUgLnBhZ2UtbmF2LWFycm93IHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBhZ2UtbmF2LWhvbWUgLnBhZ2UtbmF2LWxhYmVsIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBGb290ZXIgKi8KICAgICAgICAuZm9vdGVyIHsKICAgICAgICAgICAgcGFkZGluZzogNjBweCA0MHB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDEzLCAyNywgNDIsIDAuNSkpOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mb290ZXItbG9nbyB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZm9vdGVyLXRhZ2xpbmUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yb3NlLWdvbGQpOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mb290ZXItZGl2aWRlciB7CiAgICAgICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZm9vdGVyLWluZm8gewogICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mb290ZXItaW5mbyBhIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIFJldmVhbCBBbmltYXRpb24gKi8KICAgICAgICAucmV2ZWFsIHsKICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucmV2ZWFsLmFjdGl2ZSB7CiAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogUmVzcG9uc2l2ZSAqLwogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAgICAgLnBpbGxhcnMtZ3JpZCB7CiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAucmV2ZW51ZS1ncmlkIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAucmVzb3VyY2VzLWdyaWQgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLnZhbHVlLWdyaWQgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgICAgIC5uYXYtcmliYm9uIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLm5hdi1jZW50ZXIgewogICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLmhlcm8gewogICAgICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMjBweCA2MHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLnBpbGxhcnMtZ3JpZCB7CiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLnJlc291cmNlcy1ncmlkIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5wYWdlLW5hdmlnYXRpb24gewogICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLnBhZ2UtbmF2LWNhcmQgewogICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyODBweDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8IS0tIElQIFByb3RlY3Rpb246IFdhdGVybWFyayBPdmVybGF5IC0tPgogICAgPGRpdiBjbGFzcz0id2F0ZXJtYXJrIj48L2Rpdj4KICAgIAogICAgPCEtLSBCYWNrZ3JvdW5kIEVsZW1lbnRzIC0tPgogICAgPGRpdiBjbGFzcz0iZ2VvLXBhdHRlcm4iPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ib3JiIG9yYi0xIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im9yYiBvcmItMiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJvcmIgb3JiLTMiPjwvZGl2PgogICAgCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIE5BVklHQVRJT04gLSBBTEwgSE9NRSBMSU5LUyBHTyBUTyBVQlVOVFVIVUIKICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8bmF2IGNsYXNzPSJuYXYtcmliYm9uIiBpZD0ibmF2YmFyIj4KICAgICAgICA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbS91YnVudHVodWIiIGNsYXNzPSJsb2dvLXRleHQiPlRIRSBTT1ZFUkVJR04gQVJDSElURUNU4oSiPC9hPgogICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jZW50ZXIiPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbS91YnVudHVodWIiIGNsYXNzPSJwYWdlLW5hdi1idG4iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1hcnJvdyI+4oaQPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+SG9tZTwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbS9jb25uZWN0IiBjbGFzcz0icGFnZS1uYXYtYnRuIGhvbWUtYnRuIj4KICAgICAgICAgICAgICAgIDxzcGFuPuKXiDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPkNvbm5lY3Q8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9keW5hbWljcGFyYWRpZ21zYWNhZGVteS5jb20vYnJhbmRhc3Nlc3NtZW50IiBjbGFzcz0icGFnZS1uYXYtYnRuIj4KICAgICAgICAgICAgICAgIDxzcGFuPkFzc2Vzc21lbnQ8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmF2LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJob21ld29yay1iYWRnZSI+QWJvdXQgTWU8L2Rpdj4KICAgIDwvbmF2PgogICAgCiAgICA8IS0tIEhlcm8gU2VjdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJoZXJvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLWJhZGdlIj5EeW5hbWljIFBhcmFkaWdtcyAmIE1lbnRvcnNoaXAgU3VjY2VzcyBBY2FkZW1pZXM8L2Rpdj4KICAgICAgICA8aDEgY2xhc3M9Imhlcm8tdGl0bGUiPgogICAgICAgICAgICA8c3Bhbj5Tb3ZlcmVpZ24gQnVzaW5lc3M8L3NwYW4+CiAgICAgICAgICAgIEFyY2hpdGVjdHVyZQogICAgICAgIDwvaDE+CiAgICAgICAgPHAgY2xhc3M9Imhlcm8tc3VidGl0bGUiPkEgVW5pZmllZCBJbnRlZ3JhdGlvbiBvZiB0aGUgMzYwwrAgTGVnYWN5IEVjb3N5c3RlbSArIFRyYWRpdGlvbmFsIENhbnZhcyBNZXRob2RvbG9neTwvcD4KICAgICAgICA8cCBjbGFzcz0iaGVyby1kZXNjcmlwdGlvbiI+VGhpcyBpcyB0aGUgb2ZmaWNpYWwgbWFzdGVyIGRvY3VtZW50IOKAlCB0aGUgZm91bmRhdGlvbmFsIGJsdWVwcmludCBvZiBhIGJyYW5kLCBhY2FkZW15LCBtZWRpYSBlbXBpcmUsIGFuZCBkaWdpdGFsIHNvdmVyZWlnbnR5IGV4cGFuc2lvbi4gV2hlcmUgdHJhZGl0aW9uYWwgYnVzaW5lc3MgZnJhbWV3b3JrcyBtZWV0IGlkZW50aXR5LWxlZCBzb3ZlcmVpZ24gYXJjaGl0ZWN0dXJlLjwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGwtaW5kaWNhdG9yIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNjcm9sbC10ZXh0Ij5FeHBsb3JlIEFyY2hpdGVjdHVyZTwvc3Bhbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsLWxpbmUiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tIE5pbmUgUGlsbGFycyBTZWN0aW9uIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9InBpbGxhcnMtc2VjdGlvbiIgaWQ9InBpbGxhcnMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIHJldmVhbCI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+VGhlIEFyY2hpdGVjdHVyZTwvcD4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmluZSBQaWxsYXJzIG9mIFNvdmVyZWlnbiBCdXNpbmVzczwvaDI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+RWFjaCBwaWxsYXIgbWFwcyB0byB0cmFkaXRpb25hbCBjYW52YXMgZWxlbWVudHMgd2hpbGUgbWFpbnRhaW5pbmcgc292ZXJlaWduIGlkZW50aXR5PC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhcnMtZ3JpZCI+CiAgICAgICAgICAgICAgICA8IS0tIFBpbGxhciAxOiBDb21tdW5pdHkgQnVpbGRlciAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1udW1iZXIiPjE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwaWxsYXItdGl0bGUiPkNvbW11bml0eSBCdWlsZGVyPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItbWFwcGluZyI+MzYwwrAgUGlsbGFyOiBDb21wYXNzIOKAoiAoQ3VzdG9tZXIgU2VnbWVudHMpPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICBJIHNlcnZlIEFmcmljYW4gYW5kIGRpYXNwb3JhIHdvbWVucHJlbmV1cnMsIHlvdXRoLWZ1dHVyZXByZW5ldXJzLCBmb3VuZGVycywgY29hY2hlcywgY3JlYXRpdmVzLCBlZHVwcmVuZXVycywgYnJhbmQgZXhlY3V0aXZlcywgY2hhbmdlbWFrZXJzIGFuZCBjb21tdW5pdHkgbGVhZGVycy4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InBpbGxhci1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPldvbWVuIGRlc2lyaW5nIHNvdmVyZWlnbnR5IGFuZCB2aXNpYmlsaXR5PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkRpZ2l0YWwgcHJlc2VuY2UgYW5kIHN0cnVjdHVyZSBzZWVrZXJzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlRob3NlIHRyYW5zaXRpb25pbmcgY2hhb3Mg4oaSIGNsYXJpdHk8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+QWxnb3JpdGhtLWRlcGVuZGVuY2Ug4oaSIHNvdmVyZWlnbnR5PC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gUGlsbGFyIDI6IE1pc3Npb24gVHJhbnNmb3JtYXRpb24gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItbnVtYmVyIj4yPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icGlsbGFyLXRpdGxlIj5NaXNzaW9uIFRyYW5zZm9ybWF0aW9uPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItbWFwcGluZyI+MzYwwrAgUGlsbGFyOiBGb3JnZSDigKIgKFZhbHVlIFByb3Bvc2l0aW9uKTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgSSBoZWxwIEFmcmljYW4gd29tZW4gZXZvbHZlIGZyb20gbWVkaW9jcmUgcHJlc2VuY2UgdG8gbWFnbmlmaWNlbnQgcHJlc2VuY2UgdGhyb3VnaCBzb3ZlcmVpZ24gZGlnaXRhbCBmb290cHJpbnRzIGFuZCBtYWduZXRpYyBicmFuZCBpZGVudGl0aWVzLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGlsbGFyLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q01PICsgZkNNTyBzdHJhdGVnaWMgbGVhZGVyc2hpcDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5EaWdpdGFsIExhbmQgT3duZXJzaGlwIHN5c3RlbXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+TWVkaWEgZW1waXJlIGNyZWF0aW9uPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNvbnRlbnQgZWNvc3lzdGVtcyBhbmQgZnVubmVsczwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItZnVuY3Rpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItZnVuY3Rpb24tbGFiZWwiPkNvcmUgVHJhbnNmb3JtYXRpb248L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWZ1bmN0aW9uLXRhZ3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZ1bmN0aW9uLXRhZyI+RGlnaXRhbCBTaGFyZWNyb3BwZXJzIOKGkiBTb3ZlcmVpZ24gQXJjaGl0ZWN0czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBQaWxsYXIgMzogVmlzaWJpbGl0eSBQYXRod2F5cyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1udW1iZXIiPjM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwaWxsYXItdGl0bGUiPlZpc2liaWxpdHkgUGF0aHdheXM8L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1tYXBwaW5nIj4zNjDCsCBQaWxsYXI6IENocm9uaWNsZSArIERpZ2l0YWwgTGFuZCDigKIgKENoYW5uZWxzKTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgUGVvcGxlIGRpc2NvdmVyIG15IHdvcmsgdGhyb3VnaCBtdWx0aXBsZSBzb3ZlcmVpZ24tb3duZWQgYW5kIHBhcnRuZXJzaGlwIGNoYW5uZWxzLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGlsbGFyLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+UmVmZXJyYWxzIChzdHJvbmdlc3QgZW5naW5lKTwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5XZWJpbmFycyAobGl2ZSArIGV2ZXJncmVlbik8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RS1BY2FkZW15IGxlYXJuaW5nIHByb2dyYW1zPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk11bHRpcGxlIHdlYnNpdGVzICsgZnVubmVsczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5EaWdpdGFsIGJ1c2luZXNzIGNhcmRzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk5ld3NsZXR0ZXJzICsgbWFnYXppbmU8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q29tbXVuaXR5IGdyb3VwcyArIGV2ZW50czwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIFBpbGxhciA0OiBFbnJpY2htZW50IFN0cmF0ZWd5IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLW51bWJlciI+NDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InBpbGxhci10aXRsZSI+RW5yaWNobWVudCBTdHJhdGVneTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLW1hcHBpbmciPjM2MMKwIFBpbGxhcjogVmlsbGFnZSArIENocm9uaWNsZSDigKIgKEN1c3RvbWVyIFJlbGF0aW9uc2hpcHMpPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICBJIG51cnR1cmUgY2xpZW50cyB0aHJvdWdoIGRlZXAsIHNvdmVyZWlnbiwgc3VwcG9ydGl2ZSwgc3RyYXRlZ2ljLCBhbmQgY3VsdHVyYWxseSBpbnRlbGxpZ2VudCByZWxhdGlvbnNoaXBzLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGlsbGFyLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+TWVtYmVyc2hpcCBjb21tdW5pdGllczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NZW50b3JzaGlwIHBhdGh3YXlzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjE6MSBhbmQgZ3JvdXAgZ3VpZGFuY2U8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+TmV3c2xldHRlcnMgKyBtYWdhemluZXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RWJvb2tzICsgZ3VpZGVzPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1mdW5jdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1mdW5jdGlvbi1sYWJlbCI+NU0gVHJhbnNmb3JtYXRpb24gTWV0aG9kPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1mdW5jdGlvbi10YWdzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmdW5jdGlvbi10YWciPk1lbnRvcnNoaXA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZnVuY3Rpb24tdGFnIj5NaW5kc2V0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZ1bmN0aW9uLXRhZyI+TWlsZXN0b25lczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmdW5jdGlvbi10YWciPk1vdGl2YXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZnVuY3Rpb24tdGFnIj5Nb21lbnR1bTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBQaWxsYXIgNTogUHJvc3Blcml0eSBQYXRocyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1udW1iZXIiPjU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwaWxsYXItdGl0bGUiPlByb3NwZXJpdHkgUGF0aHM8L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1tYXBwaW5nIj4zNjDCsCBQaWxsYXI6IEhhcnZlc3Qg4oCiIChSZXZlbnVlIFN0cmVhbXMpPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICBBIHRyaWFuZ2xlIG9mIGluY29tZTogQ01PIOKGkiBFZHVjYXRpb24g4oaSIFRlY2hub2xvZ3kg4oaSIEltbWVyc2l2ZSBGdXR1cmVzLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGlsbGFyLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+QnJhbmQgc3RyYXRlZ3kgKyBjb250ZW50IGVjb3N5c3RlbXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+VmlkZW8gbWFya2V0aW5nIHN5c3RlbXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RnVubmVscyArIGF1dG9tYXRpb25zPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlZpcnR1YWwgRS1BY2FkZW15IGNvdXJzZXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+U0FBUyBBcHAgU2hvcHBlPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlZSIHdvcmtzaG9wcyArIGltbWVyc2l2ZSBldmVudHM8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBQaWxsYXIgNjogVml0YWwgTGV2ZXJzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLW51bWJlciI+NjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InBpbGxhci10aXRsZSI+Vml0YWwgTGV2ZXJzPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItbWFwcGluZyI+MzYwwrAgUGlsbGFyOiBGb3JnZSArIEhvcml6b24g4oCiIChLZXkgQWN0aXZpdGllcyk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBsZXZlcnMgdGhhdCBncm93IHRoZSBlbXBpcmUgZGFpbHkgdGhyb3VnaCBzdHJhdGVnaWMsIGNvbnNpc3RlbnQgYWN0aW9uLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGlsbGFyLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q01PL2ZDTU8gc3RyYXRlZ3kgbGVhZGVyc2hpcDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5CcmFuZCBkZXZlbG9wbWVudCAoZW1wYXRoeSBtYXBzLCB2b2ljZSk8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+U3Rvcnl0ZWxsaW5nICsgY29udGVudCBjcmVhdGlvbjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5XZWJzaXRlICsgZnVubmVsIGJ1aWxkaW5nPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkUtbGVhcm5pbmcgYXJjaGl0ZWN0dXJlPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNvbW11bml0eSBtZW50b3JzaGlwPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gUGlsbGFyIDc6IEVzc2VuY2UgRnVlbCAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1jYXJkIHJldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1udW1iZXIiPjc8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwaWxsYXItdGl0bGUiPkVzc2VuY2UgRnVlbDwvaDM+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLW1hcHBpbmciPjM2MMKwIFBpbGxhcjogU2FuY3R1YXJ5IOKAoiAoS2V5IFJlc291cmNlcyk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIEV2ZXJ5dGhpbmcgaXMgYnVpbHQgZm9yIHNvdmVyZWlnbnR5LCBzdGFiaWxpdHksIGFuZCBzY2FsZS4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InBpbGxhci1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk15c2VsZiAoQ01PLCBzdHJhdGVnaXN0LCBhcmNoaXRlY3QpPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjIgZXhlY3V0aXZlL2FkbWluL2RldiBWQXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+MyBsb25nLXRlcm0gaW50ZXJucyAoMjAyNeKAkzIwMzYpPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjI4IHByb3ByaWV0YXJ5IHNvZnR3YXJlIHN5c3RlbXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+MzYwwrAgTGVnYWN5IEVjb3N5c3RlbTwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FLUFjYWRlbXkgcGxhdGZvcm1zPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gUGlsbGFyIDg6IEFsbGlhbmNlIE5ldHdvcmsgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItY2FyZCByZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItbnVtYmVyIj44PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icGlsbGFyLXRpdGxlIj5BbGxpYW5jZSBOZXR3b3JrPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItbWFwcGluZyI+MzYwwrAgUGlsbGFyOiBWaWxsYWdlIOKAoiAoS2V5IFBhcnRuZXJzKTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgUGFydG5lcnNoaXAgaXMgSE9XIEkgc2NhbGUgYW5kIHNlcnZlIG15IG1pc3Npb24uCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJwaWxsYXItbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Tb2Z0d2FyZSBkZXZlbG9wZXJzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlNBQVMgdmVuZG9yczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5CcmFuZGluZyBjb2xsYWJvcmF0b3JzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkVtcG93ZXJtZW50IGxlYWRlcnM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+WW91dGggZW50cmVwcmVuZXVyc2hpcCBwYXJ0bmVyczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Xb21lbi1sZWQgbmV0d29ya3M8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBQaWxsYXIgOTogUHVycG9zZWZ1bCBJbnZlc3RtZW50IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWNhcmQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLW51bWJlciI+OTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InBpbGxhci10aXRsZSI+UHVycG9zZWZ1bCBJbnZlc3RtZW50PC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItbWFwcGluZyI+MzYwwrAgUGlsbGFyOiBIYXJ2ZXN0ICsgU2FuY3R1YXJ5IOKAoiAoQ29zdCBTdHJ1Y3R1cmUpPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICBFdmVyeSBleHBlbnNlIHJlZmxlY3RzIHNvdmVyZWlnbnR5LCBpbXBhY3QsIGFuZCBsb25nLXRlcm0gbGVnYWN5LgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icGlsbGFyLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+VGVhbSBzYWxhcmllcyArIHN0aXBlbmRzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlNBQVMgKyBzb2Z0d2FyZTwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Db250ZW50IGNyZWF0aW9uICsgbWFya2V0aW5nPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPldlYnNpdGUgaG9zdGluZyArIGZ1bm5lbHM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+VlIgZXZlbnQgc3BhY2VzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkJ1c2luZXNzIGV4cGFuc2lvbjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSBWYWx1ZSBQcm9wb3NpdGlvbiBTZWN0aW9uIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9InZhbHVlLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZhbHVlLWdyaWQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZhbHVlLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxoMz5UaGUgU292ZXJlaWduIFRyYW5zZm9ybWF0aW9uPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cD5UaGlzIGFyY2hpdGVjdHVyZSB0cmFuc2Zvcm1zIHdvbWVuIGZyb20gZGlnaXRhbCBzaGFyZWNyb3BwZXJzIGludG8gc292ZXJlaWduIGFyY2hpdGVjdHMgb2YgdGhlaXIgaWRlbnRpdHksIHZpc2liaWxpdHksIGFuZCBsZWdhY3kuIEl0J3Mgbm90IGp1c3QgYSBidXNpbmVzcyBtb2RlbCDigJQgaXQncyBhIGNvbXBsZXRlIG9wZXJhdGluZyBzeXN0ZW0gZm9yIGJ1aWxkaW5nIGVtcGlyZXMuPC9wPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idHJhbnNmb3JtYXRpb24tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0cmFuc2Zvcm0taWNvbiI+4pymPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRyYW5zZm9ybS10ZXh0Ij5Tb3ZlcmVpZ24gZGlnaXRhbCBmb290cHJpbnRzIHRoYXQgeW91IG93biBhbmQgY29udHJvbDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRyYW5zZm9ybS1pY29uIj7inKY8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idHJhbnNmb3JtLXRleHQiPk1hZ25ldGljIGJyYW5kIGlkZW50aXRpZXMgd2l0aCBlbXBhdGh5IG1hcHBpbmc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0cmFuc2Zvcm0taWNvbiI+4pymPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRyYW5zZm9ybS10ZXh0Ij5DTU8tbGV2ZWwgc3RyYXRlZ2ljIGxlYWRlcnNoaXAgZm9yIHlvdXIgYnJhbmQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0cmFuc2Zvcm0taWNvbiI+4pymPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRyYW5zZm9ybS10ZXh0Ij5EaWdpdGFsIExhbmQgT3duZXJzaGlwIHN5c3RlbXMgZm9yIGluZGVwZW5kZW5jZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRyYW5zZm9ybS1pY29uIj7inKY8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idHJhbnNmb3JtLXRleHQiPk1lZGlhIGVtcGlyZSBjcmVhdGlvbiBhbmQgY29udGVudCBlY29zeXN0ZW1zPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsdWUtdmlzdWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWx1ZS1tZXRyaWMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtdmFsdWUiPjk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5Tb3ZlcmVpZ24gUGlsbGFyczwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZhbHVlLW1ldHJpYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+Mjg8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5Qcm9wcmlldGFyeSBTeXN0ZW1zPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsdWUtbWV0cmljIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXZhbHVlIj4zNjDCsDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPkxlZ2FjeSBFY29zeXN0ZW08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIAogICAgPCEtLSBSZXZlbnVlIEFyY2hpdGVjdHVyZSBTZWN0aW9uIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9InJldmVudWUtc2VjdGlvbiIgaWQ9InJldmVudWUiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIHJldmVhbCI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+UHJvc3Blcml0eSBQYXRoczwvcD4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UmV2ZW51ZSBBcmNoaXRlY3R1cmU8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlRoZSB0cmlhbmdsZSBvZiBpbmNvbWU6IENNTyDihpIgRWR1Y2F0aW9uIOKGkiBUZWNobm9sb2d5IOKGkiBJbW1lcnNpdmU8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZW51ZS1ncmlkIHJldmVhbCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXZlbnVlLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVudWUtdGllciI+UHJpbWFyeSBSZXZlbnVlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJyZXZlbnVlLXRpdGxlIj5DTU8vZkNNTyBDb3JlPC9oMz4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJldmVudWUtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5CcmFuZCBzdHJhdGVneSArIGNvbnRlbnQgZWNvc3lzdGVtczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Tb2NpYWwgbWVkaWEgYXJjaGl0ZWN0dXJlPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlZpZGVvIG1hcmtldGluZyBzeXN0ZW1zPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkZ1bm5lbHMgKyBhdXRvbWF0aW9uczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5EaWdpdGFsIG1hcmtldGluZyBzb2x1dGlvbnM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+V2Vic2l0ZSArIGZ1bm5lbCBjcmVhdGlvbjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NZWRpYSBlY29zeXN0ZW0gYnVpbGRpbmc8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+T2ZmZXIgc3RyYXRlZ3kgKyBsYXVuY2ggbWFwcGluZzwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXZlbnVlLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVudWUtdGllciI+U2Vjb25kYXJ5IFJldmVudWU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InJldmVudWUtdGl0bGUiPkVkdWNhdGlvbiArIFByb2R1Y3RzPC9oMz4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJldmVudWUtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5XZWJpbmFycyAobGl2ZSArIGV2ZXJncmVlbik8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+VmlydHVhbCBFLUFjYWRlbXkgY291cnNlczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5TQUFTIEFwcCBTaG9wcGU8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+TWVtYmVyc2hpcCBwcm9ncmFtczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FYm9va3MsIGd1aWRlcywgbWFnYXppbmVzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkRpZ2l0YWwgcHJvZHVjdHM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RFdZL0RGWSBicmFuZGluZyBzeXN0ZW1zPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVudWUtY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZW51ZS10aWVyIj5BZHZhbmNlZCAoRnV0dXJlKTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icmV2ZW51ZS10aXRsZSI+SW1tZXJzaXZlIFRlY2g8L2gzPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icmV2ZW51ZS1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlZSIHdvcmtzaG9wczwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5WaXJ0dWFsIGFjYWRlbXkgZXhwZXJpZW5jZXM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+SW1tZXJzaXZlIGV2ZW50czwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NZXRhdmVyc2UgYnJhbmQgYWN0aXZhdGlvbnM8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+VmlydHVhbCBvZmZpY2VzPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkJyYW5kZWQgd29ybGRzIChTYW5zYXIsIFNwYXRpYWwpPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tIEtleSBSZXNvdXJjZXMgU2VjdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJyZXNvdXJjZXMtc2VjdGlvbiIgaWQ9InJlc291cmNlcyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5Fc3NlbmNlIEZ1ZWw8L3A+CiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPktleSBSZXNvdXJjZXM8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkJ1aWx0IGZvciBzb3ZlcmVpZ250eSwgc3RhYmlsaXR5LCBhbmQgc2NhbGU8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2VzLWdyaWQgcmV2ZWFsIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWljb24iPvCfkanigI3wn5K8PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtbmFtZSI+Rm91bmRlciAmIENNTzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWRldGFpbCI+U3RyYXRlZ2lzdCwgQXJjaGl0ZWN0LCBTdG9yeXRlbGxlcjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1jYXJkIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1pY29uIj7wn5GlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtbmFtZSI+RXhlY3V0aXZlIFRlYW08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1kZXRhaWwiPjIgVkFzICsgMyBJbnRlcm5zPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWljb24iPuKame+4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLW5hbWUiPlNvZnR3YXJlIFN1aXRlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtZGV0YWlsIj4yOCBQcm9wcmlldGFyeSBTeXN0ZW1zPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWljb24iPvCfk5o8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1uYW1lIj5Db250ZW50IExpYnJhcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1kZXRhaWwiPkJyYW5kIEFzc2V0cyArIFRlbXBsYXRlczwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1jYXJkIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1pY29uIj7wn5SEPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtbmFtZSI+MzYwwrAgRnJhbWV3b3JrPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtZGV0YWlsIj5OaW5lIFBpbGxhciBFY29zeXN0ZW08L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtaWNvbiI+8J+OkzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLW5hbWUiPkUtQWNhZGVteTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWRldGFpbCI+TGVhcm5pbmcgUGxhdGZvcm1zPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWljb24iPvCfm5I8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1uYW1lIj5TQUFTIFNob3BwZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWRldGFpbCI+RGlnaXRhbCBQcm9kdWN0IFN1aXRlPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWljb24iPvCfpJ08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1uYW1lIj5OZXR3b3JrPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtZGV0YWlsIj5TdHJhdGVnaWMgUGFydG5lcnNoaXBzPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICAKICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgQ1RBIFNFQ1RJT04gLSBSRVRVUk4gSE9NRSBHT0VTIFRPIFVCVU5UVUhVQgogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjdGEtc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHJldmVhbCI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0iY3RhLXRpdGxlIj5UaGlzIElzIE5vdCBKdXN0IEEgUHJvcG9zYWw8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0iY3RhLXN1YnRpdGxlIj5JdCdzIGEgc292ZXJlaWduIGJ1c2luZXNzIG9wZXJhdGluZyBzeXN0ZW0g4oCUIHRoZSBmb3VuZGF0aW9uYWwgYmx1ZXByaW50IGd1aWRpbmcgc3RyYXRlZ3ksIGNvbnRlbnQsIGN1cnJpY3VsdW0sIFZSIGFjYWRlbXksIHRlYW0gb25ib2FyZGluZywgZnVubmVscywgYW5kIHNjYWxpbmc8L3A+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtYnV0dG9ucyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2JyaWxsaWFudC5yZXB2aWRzLmNvbS9hZnJpY2FidXNpbmVzc2RpcmVjdG9yeSIgY2xhc3M9ImJ0bi1wcmltYXJ5IiB0YXJnZXQ9Il9ibGFuayI+VGFrZSB0aGUgU2NvcmVjYXJkPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9keW5hbWljcGFyYWRpZ21zYWNhZGVteS5jb20vdWJ1bnR1aHViIiBjbGFzcz0iYnRuLXNlY29uZGFyeSI+UmV0dXJuIEhvbWU8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgIEJPVFRPTSBQQUdFIE5BVklHQVRJT04gLSBIT01FIEdPRVMgVE8gVUJVTlRVSFVCCiAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgogICAgPG5hdiBjbGFzcz0icGFnZS1uYXZpZ2F0aW9uIj4KICAgICAgICA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXNhY2FkZW15LmNvbS91YnVudHVodWIiIGNsYXNzPSJwYWdlLW5hdi1jYXJkIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbmF2LWFycm93Ij7ihpA8L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2UtbmF2LWluZm8iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbmF2LWxhYmVsIj5CYWNrPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbmF2LXRpdGxlIj5Ib21lPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2E+CiAgICAgICAgCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9keW5hbWljcGFyYWRpZ21zYWNhZGVteS5jb20vY29ubmVjdCIgY2xhc3M9InBhZ2UtbmF2LWhvbWUiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFnZS1uYXYtYXJyb3ciPuKXiDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbmF2LWxhYmVsIj5Db25uZWN0IFdpdGggTWU8L3NwYW4+CiAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZHluYW1pY3BhcmFkaWdtc2FjYWRlbXkuY29tL2JyYW5kYXNzZXNzbWVudCIgY2xhc3M9InBhZ2UtbmF2LWNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLW5hdi1pbmZvIiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLW5hdi1sYWJlbCI+TmV4dDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLW5hdi10aXRsZSI+VGFrZSBBc3Nlc3NtZW50PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhZ2UtbmF2LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgPC9hPgogICAgPC9uYXY+CiAgICAKICAgIDwhLS0gRm9vdGVyIHdpdGggU2hhcmUgLS0+CiAgICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj5USEUgU09WRVJFSUdOIEFSQ0hJVEVDVOKEojwvZGl2PgogICAgICAgIDxwIGNsYXNzPSJmb290ZXItdGFnbGluZSI+V2hlcmUgSWRlbnRpdHkgTWVldHMgRGlnaXRhbCBQb3dlcjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItZGl2aWRlciI+PC9kaXY+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZTogMC43cmVtOyBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjQpOyBsaW5lLWhlaWdodDogMS44OyBtYXJnaW4tYm90dG9tOiAzMHB4OyI+CiAgICAgICAgICAgIMKpIDIwMjQgPHN0cm9uZyBzdHlsZT0iY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsiPkR5bmFtaWMgUGFyYWRpZ21zICYgTWVudG9yc2hpcCBTdWNjZXNzIEFjYWRlbWllc+KEojwvc3Ryb25nPjxicj4KICAgICAgICAgICAgVGhlIFNvdmVyZWlnbiBBcmNoaXRlY3QgRnJhbWV3b3Jr4oSiIGlzIHByb3ByaWV0YXJ5IGludGVsbGVjdHVhbCBwcm9wZXJ0eS48YnI+CiAgICAgICAgICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFVuYXV0aG9yaXplZCByZXByb2R1Y3Rpb24gcHJvaGliaXRlZC4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPCEtLSBTaGFyZSBDVEEgU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2JhKDI4LCAzMSwgNzQsIDAuNCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjE1KTsgYm9yZGVyLXJhZGl1czogMTVweDsgcGFkZGluZzogMjVweCAzMHB4OyBtYXgtd2lkdGg6IDQ1MHB4OyBtYXJnaW46IDAgYXV0byAzMHB4OyI+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7IGZvbnQtc2l6ZTogMS4xcmVtOyBjb2xvcjogdmFyKC0taXZvcnkpOyBtYXJnaW4tYm90dG9tOiA4cHg7Ij5Lbm93IHNvbWVvbmUgd2hvIHdvdWxkIGJlbmVmaXQgZnJvbSB0aGlzPzwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6IDAuOHJlbTsgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC42KTsgbWFyZ2luLWJvdHRvbTogMjBweDsiPlNoYXJlIHRoaXMgcmVzb3VyY2Ugd2l0aCBhIGNvbGxlYWd1ZSBvciBmcmllbmQ8L3A+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXdyYXA6IHdyYXA7Ij4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJzaGFyZS1idG4td2hhdHNhcHAiIGlkPSJzaGFyZVdoYXRzQXBwIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBwYWRkaW5nOiAxMnB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDI1cHg7IGZvbnQtc2l6ZTogMC44cmVtOyBmb250LXdlaWdodDogNTAwOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJhY2tncm91bmQ6IHJnYmEoMzcsIDIxMSwgMTAyLCAwLjE1KTsgY29sb3I6ICMyNUQzNjY7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzcsIDIxMSwgMTAyLCAwLjMpOyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+8J+SrDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TaGFyZSB2aWEgV2hhdHNBcHA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0ic2hhcmUtYnRuLWxpbmtlZGluIiBpZD0ic2hhcmVMaW5rZWRJbiIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogMTJweCAyMHB4OyBib3JkZXItcmFkaXVzOiAyNXB4OyBmb250LXNpemU6IDAuOHJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxMDIsIDE5NCwgMC4xNSk7IGNvbG9yOiAjMEE2NkMyOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMDIsIDE5NCwgMC4zKTsiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPvCfkrw8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2hhcmUgb24gTGlua2VkSW48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzaGFyZS1idG4tY29weSIgaWQ9InNoYXJlQ29weSIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogMTJweCAyMHB4OyBib3JkZXItcmFkaXVzOiAyNXB4OyBmb250LXNpemU6IDAuOHJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kOiByZ2JhKDIxMiwgMTc1LCA1NSwgMC4xKTsgY29sb3I6ICNENEFGMzc7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjMpOyBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+8J+Tizwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Db3B5IExpbms8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOiAwLjY1cmVtOyBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjQpOyBtYXJnaW4tdG9wOiAxNXB4OyBmb250LXN0eWxlOiBpdGFsaWM7Ij5TaGFyaW5nIGNvbm5lY3RzIHRoZW0gdG8gb3VyIGV4cGVydCByZXNvdXJjZXM8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1pbmZvIj4KICAgICAgICAgICAgPHN0cm9uZz5OaWdodGluZ2FsZSBNdWthc2EgfCBEeW5hbWljIFBhcmFkaWdtcyAmIE1lbnRvcnNoaXAgU3VjY2VzcyBBY2FkZW1pZXM8L3N0cm9uZz48YnI+CiAgICAgICAgICAgIENNTyDigKIgQnJhbmQgJiBNZWRpYSBTdHJhdGVnaXN0IOKAoiBEaWdpdGFsIEVjb3N5c3RlbSBBcmNoaXRlY3QKICAgICAgICA8L3A+CiAgICA8L2Zvb3Rlcj4KICAgIAogICAgPHNjcmlwdD4KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgLy8gSVAgUFJPVEVDVElPTgogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgKGUuY3RybEtleSAmJiAoZS5rZXkgPT09ICdjJyB8fCBlLmtleSA9PT0gJ0MnIHx8IGUua2V5ID09PSAndicgfHwgZS5rZXkgPT09ICdWJyB8fCBlLmtleSA9PT0gJ3MnIHx8IGUua2V5ID09PSAnUycgfHwgZS5rZXkgPT09ICdwJyB8fCBlLmtleSA9PT0gJ1AnIHx8IGUua2V5ID09PSAndScgfHwgZS5rZXkgPT09ICdVJykpIHx8CiAgICAgICAgICAgICAgICAoZS5jdHJsS2V5ICYmIGUuc2hpZnRLZXkgJiYgKGUua2V5ID09PSAnaScgfHwgZS5rZXkgPT09ICdJJyB8fCBlLmtleSA9PT0gJ2onIHx8IGUua2V5ID09PSAnSicpKSB8fAogICAgICAgICAgICAgICAgZS5rZXkgPT09ICdGMTInCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKICAgICAgICAKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgLy8gU0hBUkUgQlVUVE9OIENPTkZJR1VSQVRJT04KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgCiAgICAgICAgY29uc3QgU0hBUkVfQ09ORklHID0gewogICAgICAgICAgICBzaGFyZVVybDogJ2h0dHBzOi8vZHluYW1pY3BhcmFkaWdtc2FjYWRlbXkuY29tLycsCiAgICAgICAgICAgIHdoYXRzYXBwTWVzc2FnZTogIkkganVzdCBkaXNjb3ZlcmVkIHRoaXMgYW1hemluZyBidXNpbmVzcyBmcmFtZXdvcmsgYnkgTmlnaHRpbmdhbGUgTXVrYXNhIGF0IER5bmFtaWMgUGFyYWRpZ21zIEFjYWRlbXkuIENoZWNrIGl0IG91dDogIgogICAgICAgIH07CiAgICAgICAgCiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAvLyBXaGF0c0FwcCBTaGFyZQogICAgICAgICAgICBjb25zdCB3aGF0c2FwcEJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaGFyZVdoYXRzQXBwJyk7CiAgICAgICAgICAgIGlmICh3aGF0c2FwcEJ0bikgewogICAgICAgICAgICAgICAgY29uc3Qgd2hhdHNhcHBVcmwgPSBgaHR0cHM6Ly93YS5tZS8/dGV4dD0ke2VuY29kZVVSSUNvbXBvbmVudChTSEFSRV9DT05GSUcud2hhdHNhcHBNZXNzYWdlICsgU0hBUkVfQ09ORklHLnNoYXJlVXJsKX1gOwogICAgICAgICAgICAgICAgd2hhdHNhcHBCdG4uaHJlZiA9IHdoYXRzYXBwVXJsOwogICAgICAgICAgICAgICAgd2hhdHNhcHBCdG4udGFyZ2V0ID0gJ19ibGFuayc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIExpbmtlZEluIFNoYXJlCiAgICAgICAgICAgIGNvbnN0IGxpbmtlZGluQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NoYXJlTGlua2VkSW4nKTsKICAgICAgICAgICAgaWYgKGxpbmtlZGluQnRuKSB7CiAgICAgICAgICAgICAgICBjb25zdCBsaW5rZWRpblVybCA9IGBodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2hhcmluZy9zaGFyZS1vZmZzaXRlLz91cmw9JHtlbmNvZGVVUklDb21wb25lbnQoU0hBUkVfQ09ORklHLnNoYXJlVXJsKX1gOwogICAgICAgICAgICAgICAgbGlua2VkaW5CdG4uaHJlZiA9IGxpbmtlZGluVXJsOwogICAgICAgICAgICAgICAgbGlua2VkaW5CdG4udGFyZ2V0ID0gJ19ibGFuayc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIENvcHkgTGluayBCdXR0b24gLSBjb3BpZXMgSlVTVCB0aGUgVVJMCiAgICAgICAgICAgIGNvbnN0IGNvcHlCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hhcmVDb3B5Jyk7CiAgICAgICAgICAgIGlmIChjb3B5QnRuKSB7CiAgICAgICAgICAgICAgICBjb3B5QnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoU0hBUkVfQ09ORklHLnNoYXJlVXJsKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSBjb3B5QnRuLmlubmVySFRNTDsKICAgICAgICAgICAgICAgICAgICAgICAgY29weUJ0bi5pbm5lckhUTUwgPSAnPHNwYW4+4pyTPC9zcGFuPjxzcGFuPkxpbmsgQ29waWVkITwvc3Bhbj4nOwogICAgICAgICAgICAgICAgICAgICAgICBjb3B5QnRuLnN0eWxlLmJhY2tncm91bmQgPSAncmdiYSgzOCwgMTY2LCAxNTQsIDAuMiknOwogICAgICAgICAgICAgICAgICAgICAgICBjb3B5QnRuLnN0eWxlLmNvbG9yID0gJyMyNkE2OUEnOwogICAgICAgICAgICAgICAgICAgICAgICBjb3B5QnRuLnN0eWxlLmJvcmRlckNvbG9yID0gJyMyNkE2OUEnOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlCdG4uaW5uZXJIVE1MID0gb3JpZ2luYWxUZXh0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weUJ0bi5zdHlsZS5iYWNrZ3JvdW5kID0gJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5QnRuLnN0eWxlLmNvbG9yID0gJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5QnRuLnN0eWxlLmJvcmRlckNvbG9yID0gJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMDApOwogICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICBhbGVydCgnTGluazogJyArIFNIQVJFX0NPTkZJRy5zaGFyZVVybCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAvLyBTQ1JPTEwgQU5JTUFUSU9OUwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAKICAgICAgICAvLyBOYXZpZ2F0aW9uIHNjcm9sbCBlZmZlY3QKICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGNvbnN0IG5hdmJhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXZiYXInKTsKICAgICAgICAgICAgaWYgKHdpbmRvdy5zY3JvbGxZID4gMTAwKSB7CiAgICAgICAgICAgICAgICBuYXZiYXIuY2xhc3NMaXN0LmFkZCgnc2Nyb2xsZWQnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG5hdmJhci5jbGFzc0xpc3QucmVtb3ZlKCdzY3JvbGxlZCcpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgLy8gUmV2ZWFsIG9uIHNjcm9sbCBhbmltYXRpb24KICAgICAgICBmdW5jdGlvbiByZXZlYWwoKSB7CiAgICAgICAgICAgIGNvbnN0IHJldmVhbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucmV2ZWFsJyk7CiAgICAgICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDsKICAgICAgICAgICAgCiAgICAgICAgICAgIHJldmVhbHMuZm9yRWFjaChlbGVtZW50ID0+IHsKICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgICAgICAgICAgICAgIGNvbnN0IHJldmVhbFBvaW50ID0gMTUwOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudFRvcCA8IHdpbmRvd0hlaWdodCAtIHJldmVhbFBvaW50KSB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCByZXZlYWwpOwogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmV2ZWFsKTsKICAgICAgICAKICAgICAgICAvLyBTbW9vdGggc2Nyb2xsIGZvciBhbmNob3IgbGlua3MKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZePSIjIl0nKS5mb3JFYWNoKGFuY2hvciA9PiB7CiAgICAgICAgICAgIGFuY2hvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSk7CiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0KSB7CiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNjcm9sbEludG9WaWV3KHsKICAgICAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLAogICAgICAgICAgICAgICAgICAgICAgICBibG9jazogJ3N0YXJ0JwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
About | Sovereign Business Architecture | Nightingale Mukasa | The Sovereign Architect™
THE SOVEREIGN ARCHITECT™
← Home ◈ Connect Assessment →
About Me
Dynamic Paradigms & Mentorship Success Academies

Sovereign Business Architecture

A Unified Integration of the 360° Legacy Ecosystem + Traditional Canvas Methodology

This is the official master document — the foundational blueprint of a brand, academy, media empire, and digital sovereignty expansion. Where traditional business frameworks meet identity-led sovereign architecture.

Explore Architecture

The Architecture

Nine Pillars of Sovereign Business

Each pillar maps to traditional canvas elements while maintaining sovereign identity

1

Community Builder

360° Pillar: Compass • (Customer Segments)
I serve African and diaspora womenpreneurs, youth-futurepreneurs, founders, coaches, creatives, edupreneurs, brand executives, changemakers and community leaders.
  • Women desiring sovereignty and visibility
  • Digital presence and structure seekers
  • Those transitioning chaos → clarity
  • Algorithm-dependence → sovereignty
2

Mission Transformation

360° Pillar: Forge • (Value Proposition)
I help African women evolve from mediocre presence to magnificent presence through sovereign digital footprints and magnetic brand identities.
  • CMO + fCMO strategic leadership
  • Digital Land Ownership systems
  • Media empire creation
  • Content ecosystems and funnels
Core Transformation
Digital Sharecroppers → Sovereign Architects
3

Visibility Pathways

360° Pillar: Chronicle + Digital Land • (Channels)
People discover my work through multiple sovereign-owned and partnership channels.
  • Referrals (strongest engine)
  • Webinars (live + evergreen)
  • E-Academy learning programs
  • Multiple websites + funnels
  • Digital business cards
  • Newsletters + magazine
  • Community groups + events
4

Enrichment Strategy

360° Pillar: Village + Chronicle • (Customer Relationships)
I nurture clients through deep, sovereign, supportive, strategic, and culturally intelligent relationships.
  • Membership communities
  • Mentorship pathways
  • 1:1 and group guidance
  • Newsletters + magazines
  • Ebooks + guides
5M Transformation Method
Mentorship Mindset Milestones Motivation Momentum
5

Prosperity Paths

360° Pillar: Harvest • (Revenue Streams)
A triangle of income: CMO → Education → Technology → Immersive Futures.
  • Brand strategy + content ecosystems
  • Video marketing systems
  • Funnels + automations
  • Virtual E-Academy courses
  • SAAS App Shoppe
  • VR workshops + immersive events
6

Vital Levers

360° Pillar: Forge + Horizon • (Key Activities)
The levers that grow the empire daily through strategic, consistent action.
  • CMO/fCMO strategy leadership
  • Brand development (empathy maps, voice)
  • Storytelling + content creation
  • Website + funnel building
  • E-learning architecture
  • Community mentorship
7

Essence Fuel

360° Pillar: Sanctuary • (Key Resources)
Everything is built for sovereignty, stability, and scale.
  • Myself (CMO, strategist, architect)
  • 2 executive/admin/dev VAs
  • 3 long-term interns (2025–2036)
  • 28 proprietary software systems
  • 360° Legacy Ecosystem
  • E-Academy platforms
8

Alliance Network

360° Pillar: Village • (Key Partners)
Partnership is HOW I scale and serve my mission.
  • Software developers
  • SAAS vendors
  • Branding collaborators
  • Empowerment leaders
  • Youth entrepreneurship partners
  • Women-led networks
9

Purposeful Investment

360° Pillar: Harvest + Sanctuary • (Cost Structure)
Every expense reflects sovereignty, impact, and long-term legacy.
  • Team salaries + stipends
  • SAAS + software
  • Content creation + marketing
  • Website hosting + funnels
  • VR event spaces
  • Business expansion

The Sovereign Transformation

This architecture transforms women from digital sharecroppers into sovereign architects of their identity, visibility, and legacy. It's not just a business model — it's a complete operating system for building empires.

  • ✦ Sovereign digital footprints that you own and control
  • ✦ Magnetic brand identities with empathy mapping
  • ✦ CMO-level strategic leadership for your brand
  • ✦ Digital Land Ownership systems for independence
  • ✦ Media empire creation and content ecosystems
9
Sovereign Pillars
28
Proprietary Systems
360°
Legacy Ecosystem

Prosperity Paths

Revenue Architecture

The triangle of income: CMO → Education → Technology → Immersive

Primary Revenue

CMO/fCMO Core

  • Brand strategy + content ecosystems
  • Social media architecture
  • Video marketing systems
  • Funnels + automations
  • Digital marketing solutions
  • Website + funnel creation
  • Media ecosystem building
  • Offer strategy + launch mapping
Secondary Revenue

Education + Products

  • Webinars (live + evergreen)
  • Virtual E-Academy courses
  • SAAS App Shoppe
  • Membership programs
  • Ebooks, guides, magazines
  • Digital products
  • DWY/DFY branding systems
Advanced (Future)

Immersive Tech

  • VR workshops
  • Virtual academy experiences
  • Immersive events
  • Metaverse brand activations
  • Virtual offices
  • Branded worlds (Sansar, Spatial)

Essence Fuel

Key Resources

Built for sovereignty, stability, and scale

👩‍💼
Founder & CMO
Strategist, Architect, Storyteller
👥
Executive Team
2 VAs + 3 Interns
⚙️
Software Suite
28 Proprietary Systems
📚
Content Library
Brand Assets + Templates
🔄
360° Framework
Nine Pillar Ecosystem
🎓
E-Academy
Learning Platforms
🛒
SAAS Shoppe
Digital Product Suite
🤝
Network
Strategic Partnerships

This Is Not Just A Proposal

It's a sovereign business operating system — the foundational blueprint guiding strategy, content, curriculum, VR academy, team onboarding, funnels, and scaling

Take the Scorecard Return Home
←
Back Home
◈ Connect With Me
Next Take Assessment
→
THE SOVEREIGN ARCHITECT™

Where Identity Meets Digital Power

© 2024 Dynamic Paradigms & Mentorship Success Academies™
The Sovereign Architect Framework™ is proprietary intellectual property.
All rights reserved. Unauthorized reproduction prohibited.

Know someone who would benefit from this?

Share this resource with a colleague or friend

💬 Share via WhatsApp 💼 Share on LinkedIn

Sharing connects them to our expert resources

Nightingale Mukasa | Dynamic Paradigms & Mentorship Success Academies
CMO • Brand & Media Strategist • Digital Ecosystem Architect

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

warning