cropper

VIRTUAL HANDSHAKE AFRICA

  • Home
  • About Us
    • Discover
    • Gallery
  • Digital Empire
  • Pricing
    • Order Professional
    • Oder Essential
    • Order Group
    • Order Bundles
  • Order Essential
  • Beta Partners
  • Connect
    • Thank You
{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICA8dGl0bGU+WW91ciBEaWdpdGFsIEVtcGlyZSAtIEJleW9uZCB0aGUgQ2FyZCB8IEhhbmRzaGFrZS5hZnJpY2E8L3RpdGxlPgogIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJNb3JlIHRoYW4gYSBjYXJkLiBBIGNvbXBsZXRlIGRpZ2l0YWwgaWRlbnRpdHkuIEV4cGxvcmUgcG9zc2liaWxpdGllcyBmcm9tIHN0YXJ0ZXIgY2FyZHMgdG8gZnVsbCBkaWdpdGFsIGVtcGlyZXMuIE1vYmlsZS1maXJzdCB0b29scyBmb3IgQWZyaWNhbiBlbnRyZXByZW5ldXJzIGF0IGV2ZXJ5IGJ1ZGdldCBsZXZlbC4iPgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCwgbm9mb2xsb3ciPgogIAogIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEAzMDA7NDAwOzYwMDs3MDA7ODAwOzkwMCZmYW1pbHk9UGxheWZhaXIrRGlzcGxheTp3Z2h0QDcwMDs5MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogIAogIDxzdHlsZT4KICAgIDpyb290IHsKICAgICAgLS1uYXZ5OiAjMDAxRjNGOwogICAgICAtLXJveWFsLWJsdWU6ICMwMDQ3QUI7CiAgICAgIC0tZ29sZDogI0ZGRDcwMDsKICAgICAgLS1nb2xkLXdhcm06ICNGRkMxMDc7CiAgICAgIC0td2hpdGU6ICNGRkZGRkY7CiAgICAgIC0tbGlnaHQtYmc6ICNGN0Y5RkM7CiAgICAgIC0tZ3JheTogIzZCNzI4MDsKICAgICAgLS10ZWFsOiAjMDBDOUE3OwogICAgICAtLW9yYW5nZTogI0ZGNkIzNTsKICAgICAgLS1wdXJwbGU6ICM3QjY4RUU7CiAgICAgIC0tZ3JlZW46ICM1MUNGNjY7CiAgICB9CiAgICAKICAgICogewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB9CiAgICAKICAgIGJvZHkgewogICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgIH0KICAgIAogICAgaDEsIGgyLCBoMyB7CiAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICBmb250LXdlaWdodDogOTAwOwogICAgICBsaW5lLWhlaWdodDogMS4yOwogICAgfQogICAgCiAgICAvKiBOQVZJR0FUSU9OICovCiAgICAubmF2IHsKICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICB0b3A6IDA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDMxLCA2MywgMC45OCk7CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgICAgei1pbmRleDogMTAwMDsKICAgICAgcGFkZGluZzogMXJlbSAycmVtOwogICAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IHJnYmEoMCwwLDAsMC4xKTsKICAgIH0KICAgIAogICAgLm5hdi1jb250YWluZXIgewogICAgICBtYXgtd2lkdGg6IDE0MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIH0KICAgIAogICAgLmxvZ28gewogICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgfQogICAgCiAgICAubmF2LWxpbmtzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAycmVtOwogICAgICBsaXN0LXN0eWxlOiBub25lOwogICAgfQogICAgCiAgICAubmF2LWxpbmtzIGEgewogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICB9CiAgICAKICAgIC5uYXYtbGlua3MgYTpob3ZlciwKICAgIC5uYXYtbGlua3MgYS5hY3RpdmUgewogICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICB9CiAgICAKICAgIC8qIEhFUk8gLSBFUElDIE9QRU5JTkcgKi8KICAgIC5oZXJvIHsKICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5hdnkpIDAlLCB2YXIoLS1wdXJwbGUpIDUwJSwgdmFyKC0tdGVhbCkgMTAwJSk7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBhZGRpbmc6IDE0MHB4IDJyZW0gODBweDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQogICAgCiAgICAvKiBBbmltYXRlZCBncmFkaWVudCBvcmJzICovCiAgICAub3JiIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGZpbHRlcjogYmx1cig4MHB4KTsKICAgICAgb3BhY2l0eTogMC4zOwogICAgICBhbmltYXRpb246IGZsb2F0IDIwcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgIH0KICAgIAogICAgLm9yYjEgewogICAgICB3aWR0aDogNTAwcHg7CiAgICAgIGhlaWdodDogNTAwcHg7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdvbGQpOwogICAgICB0b3A6IC0xMDBweDsKICAgICAgbGVmdDogLTEwMHB4OwogICAgICBhbmltYXRpb24tZGVsYXk6IDBzOwogICAgfQogICAgCiAgICAub3JiMiB7CiAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGVhbCk7CiAgICAgIGJvdHRvbTogLTEwMHB4OwogICAgICByaWdodDogLTEwMHB4OwogICAgICBhbmltYXRpb24tZGVsYXk6IDdzOwogICAgfQogICAgCiAgICAub3JiMyB7CiAgICAgIHdpZHRoOiAzNTBweDsKICAgICAgaGVpZ2h0OiAzNTBweDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tb3JhbmdlKTsKICAgICAgdG9wOiA1MCU7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxNHM7CiAgICB9CiAgICAKICAgIEBrZXlmcmFtZXMgZmxvYXQgewogICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpOyB9CiAgICAgIDMzJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMHB4LCAtMTAwcHgpIHNjYWxlKDEuMSk7IH0KICAgICAgNjYlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMHB4LCAxMDBweCkgc2NhbGUoMC45KTsgfQogICAgfQogICAgCiAgICAuaGVyby1jb250YWluZXIgewogICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgei1pbmRleDogMjsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQogICAgCiAgICAuaGVyby1iYWRnZSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcGFkZGluZzogMC43NXJlbSAycmVtOwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyMTUsMCwwLjIpOwogICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1nb2xkKTsKICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07CiAgICAgIGFuaW1hdGlvbjogc2xpZGVEb3duIDAuOHMgZWFzZS1vdXQ7CiAgICB9CiAgICAKICAgIEBrZXlmcmFtZXMgc2xpZGVEb3duIHsKICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH0KICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgIH0KICAgIAogICAgLmhlcm8gaDEgewogICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgOHZ3LCA1LjVyZW0pOwogICAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2Utb3V0IDAuMnMgYmFja3dhcmRzOwogICAgfQogICAgCiAgICAuaGVybyBoMSAuaGlnaGxpZ2h0IHsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCkgMCUsIHZhcigtLWdvbGQtd2FybSkgMTAwJSk7CiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgIH0KICAgIAogICAgQGtleWZyYW1lcyBmYWRlSW5VcCB7CiAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH0KICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgIH0KICAgIAogICAgLmhlcm8tbWFuaWZlc3RvIHsKICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDN2dywgMS44cmVtKTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG8gM3JlbTsKICAgICAgb3BhY2l0eTogMC45NTsKICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlLW91dCAwLjRzIGJhY2t3YXJkczsKICAgIH0KICAgIAogICAgLyogUkVBTElUWSBTRUNUSU9OICovCiAgICAucmVhbGl0eSB7CiAgICAgIHBhZGRpbmc6IDEyMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgIH0KICAgIAogICAgLnJlYWxpdHktY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQogICAgCiAgICAuc2VjdGlvbi1iYWRnZSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTsKICAgICAgYmFja2dyb3VuZDogcmdiYSgxMjMsMTA0LDIzOCwwLjEpOwogICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wdXJwbGUpOwogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICBmb250LXdlaWdodDogNzAwOwogICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDsKICAgICAgY29sb3I6IHZhcigtLXB1cnBsZSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsKICAgIH0KICAgIAogICAgLnJlYWxpdHkgaDIgewogICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgNnZ3LCA0cmVtKTsKICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgfQogICAgCiAgICAucmVhbGl0eS10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7CiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTsKICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOwogICAgfQogICAgCiAgICAucmVhbGl0eS10ZXh0IHN0cm9uZyB7CiAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIH0KICAgIAogICAgLnJlYWxpdHktaGlnaGxpZ2h0IHsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgwLDIwMSwxNjcsMC4xKSAwJSwgcmdiYSg4MSwyMDcsMTAyLDAuMSkgMTAwJSk7CiAgICAgIHBhZGRpbmc6IDIuNXJlbTsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS10ZWFsKTsKICAgICAgbWFyZ2luLXRvcDogM3JlbTsKICAgIH0KICAgIAogICAgLnJlYWxpdHktaGlnaGxpZ2h0IHAgewogICAgICBmb250LXNpemU6IDEuNHJlbTsKICAgICAgbGluZS1oZWlnaHQ6IDEuODsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgCiAgICAvKiBUSUVSIENPTVBBUklTT04gVEFCTEUgKi8KICAgIC50aWVycyB7CiAgICAgIHBhZGRpbmc6IDEyMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJnKTsKICAgIH0KICAgIAogICAgLnRpZXJzLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOwogICAgfQogICAgCiAgICAuc2VjdGlvbi1oZWFkZXIgaDIgewogICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgNnZ3LCA0cmVtKTsKICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOwogICAgICBjb2xvcjogdmFyKC0tbmF2eSk7CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTsKICAgICAgbWF4LXdpZHRoOiA3MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC8qIFJlc3BvbnNpdmUgdGFibGUgKi8KICAgIC50YWJsZS13cmFwcGVyIHsKICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCByZ2JhKDAsMCwwLDAuMDgpOwogICAgfQogICAgCiAgICAudGllci10YWJsZSB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgfQogICAgCiAgICAudGllci10YWJsZSB0aGVhZCB7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5hdnkpIDAlLCB2YXIoLS1yb3lhbC1ibHVlKSAxMDAlKTsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgIH0KICAgIAogICAgLnRpZXItdGFibGUgdGggewogICAgICBwYWRkaW5nOiAxLjVyZW07CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICBmb250LXdlaWdodDogODAwOwogICAgfQogICAgCiAgICAudGllci10YWJsZSB0ZCB7CiAgICAgIHBhZGRpbmc6IDEuM3JlbSAxLjVyZW07CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFN0VCOwogICAgICBmb250LXNpemU6IDFyZW07CiAgICB9CiAgICAKICAgIC50aWVyLXRhYmxlIHRib2R5IHRyOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtYmcpOwogICAgfQogICAgCiAgICAudGllci10YWJsZSAuZmVhdHVyZS1uYW1lIHsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgfQogICAgCiAgICAuY2hlY2ttYXJrIHsKICAgICAgY29sb3I6IHZhcigtLXRlYWwpOwogICAgICBmb250LXdlaWdodDogOTAwOwogICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgIH0KICAgIAogICAgLnhtYXJrIHsKICAgICAgY29sb3I6IHZhcigtLWdyYXkpOwogICAgICBvcGFjaXR5OiAwLjQ7CiAgICB9CiAgICAKICAgIC50YmEtYmFkZ2UgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBwYWRkaW5nOiAwLjNyZW0gMC44cmVtOwogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICB9CiAgICAKICAgIC8qIMOAIExBIENBUlRFIE1FTlUgKi8KICAgIC5hbGFjYXJ0ZSB7CiAgICAgIHBhZGRpbmc6IDEyMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgIH0KICAgIAogICAgLmFsYWNhcnRlLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLmFsYWNhcnRlLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDM1MHB4LCAxZnIpKTsKICAgICAgZ2FwOiAzcmVtOwogICAgICBtYXJnaW4tdG9wOiA0cmVtOwogICAgfQogICAgCiAgICAuYWxhY2FydGUtY2F0ZWdvcnkgewogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1saWdodC1iZykgMCUsIHZhcigtLXdoaXRlKSAxMDAlKTsKICAgICAgcGFkZGluZzogM3JlbTsKICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggcmdiYSgwLDAsMCwwLjA4KTsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KICAgIAogICAgLmFsYWNhcnRlLWNhdGVnb3J5OjpiZWZvcmUgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDZweDsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tdGVhbCksIHZhcigtLXB1cnBsZSksIHZhcigtLW9yYW5nZSkpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7CiAgICB9CiAgICAKICAgIC5hbGFjYXJ0ZS1jYXRlZ29yeTpob3Zlcjo6YmVmb3JlIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7CiAgICB9CiAgICAKICAgIC5hbGFjYXJ0ZS1jYXRlZ29yeTpob3ZlciB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7CiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwwLDAsMC4xNSk7CiAgICB9CiAgICAKICAgIC5jYXRlZ29yeS1pY29uIHsKICAgICAgZm9udC1zaXplOiAzLjVyZW07CiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICB9CiAgICAKICAgIC5hbGFjYXJ0ZS1jYXRlZ29yeSBoMyB7CiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOwogICAgICBjb2xvcjogdmFyKC0tbmF2eSk7CiAgICB9CiAgICAKICAgIC5wcmljZS1yYW5nZSB7CiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICBjb2xvcjogdmFyKC0tcHVycGxlKTsKICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgIH0KICAgIAogICAgLmFsYWNhcnRlLWNhdGVnb3J5IHAgewogICAgICBmb250LXNpemU6IDEuMDVyZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTsKICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOwogICAgfQogICAgCiAgICAuYWxhY2FydGUtaXRlbXMgewogICAgICBsaXN0LXN0eWxlOiBub25lOwogICAgICBtYXJnaW4tdG9wOiAxLjVyZW07CiAgICB9CiAgICAKICAgIC5hbGFjYXJ0ZS1pdGVtcyBsaSB7CiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMDsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNUU3RUI7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgfQogICAgCiAgICAuYWxhY2FydGUtaXRlbXMgbGk6bGFzdC1jaGlsZCB7CiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICB9CiAgICAKICAgIC5pdGVtLW5hbWUgewogICAgICBjb2xvcjogdmFyKC0tbmF2eSk7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB9CiAgICAKICAgIC5pdGVtLXByaWNlIHsKICAgICAgY29sb3I6IHZhcigtLXRlYWwpOwogICAgICBmb250LXdlaWdodDogODAwOwogICAgfQogICAgCiAgICAvKiBVUEdSQURFIFBBVEggKi8KICAgIC51cGdyYWRlIHsKICAgICAgcGFkZGluZzogMTIwcHggMnJlbTsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGlnaHQtYmcpIDAlLCB2YXIoLS13aGl0ZSkgMTAwJSk7CiAgICB9CiAgICAKICAgIC51cGdyYWRlLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLnVwZ3JhZGUtcGF0aCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpOwogICAgICBnYXA6IDJyZW07CiAgICAgIG1hcmdpbi10b3A6IDRyZW07CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KICAgIAogICAgLyogQXJyb3cgYmV0d2VlbiBzdGFnZXMgKGRlc2t0b3Agb25seSkgKi8KICAgIC51cGdyYWRlLXBhdGg6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICfihpInOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGZvbnQtc2l6ZTogNHJlbTsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICB0b3A6IDUwJTsKICAgICAgbGVmdDogMzMlOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CiAgICAKICAgIC51cGdyYWRlLXBhdGg6OmFmdGVyIHsKICAgICAgY29udGVudDogJ+KGkic7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgZm9udC1zaXplOiA0cmVtOwogICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgIHRvcDogNTAlOwogICAgICBsZWZ0OiA2NiU7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgei1pbmRleDogMTsKICAgIH0KICAgIAogICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2OHB4KSB7CiAgICAgIC51cGdyYWRlLXBhdGg6OmJlZm9yZSwKICAgICAgLnVwZ3JhZGUtcGF0aDo6YWZ0ZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIH0KICAgIAogICAgLnN0YWdlLWNhcmQgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBhZGRpbmc6IDNyZW07CiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoMCwwLDAsMC4wOCk7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB6LWluZGV4OiAyOwogICAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIH0KICAgIAogICAgLnN0YWdlLWNhcmQ6aG92ZXIgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsMCwwLDAuMTUpOwogICAgfQogICAgCiAgICAuc3RhZ2UtbnVtYmVyIHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB3aWR0aDogNjBweDsKICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSAwJSwgdmFyKC0tZ29sZC13YXJtKSAxMDAlKTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgZm9udC13ZWlnaHQ6IDkwMDsKICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsKICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICB9CiAgICAKICAgIC5zdGFnZS1jYXJkIGgzIHsKICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07CiAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgIH0KICAgIAogICAgLnN0YWdlLXByaWNlIHsKICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgIGNvbG9yOiB2YXIoLS1wdXJwbGUpOwogICAgICBmb250LXdlaWdodDogODAwOwogICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICB9CiAgICAKICAgIC5zdGFnZS1mZWF0dXJlcyB7CiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsKICAgIH0KICAgIAogICAgLnN0YWdlLWZlYXR1cmVzIGxpIHsKICAgICAgcGFkZGluZzogMC41cmVtIDA7CiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAwLjc1cmVtOwogICAgfQogICAgCiAgICAuc3RhZ2UtZmVhdHVyZXMgbGk6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICfihpInOwogICAgICBjb2xvcjogdmFyKC0tdGVhbCk7CiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICB9CiAgICAKICAgIC5zdGFnZS1vdXRjb21lIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgxMjMsMTA0LDIzOCwwLjEpOwogICAgICBwYWRkaW5nOiAxLjVyZW07CiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgIG1hcmdpbi10b3A6IDJyZW07CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIGNvbG9yOiB2YXIoLS1wdXJwbGUpOwogICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgIH0KICAgIAogICAgLyogQ09NUEFSSVNPTiBWUyBDT01QRVRJVE9SUyAqLwogICAgLmNvbXBhcmlzb24gewogICAgICBwYWRkaW5nOiAxMjBweCAycmVtOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgIH0KICAgIAogICAgLmNvbXBhcmlzb24tY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQogICAgCiAgICAuY29tcGFyaXNvbiBoMiB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDZ2dywgNHJlbSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07CiAgICB9CiAgICAKICAgIC5jb21wYXJpc29uLXRhYmxlLXdyYXBwZXIgewogICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpOwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgIHBhZGRpbmc6IDJyZW07CiAgICB9CiAgICAKICAgIC5jb21wYXJpc29uLXRhYmxlIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICB9CiAgICAKICAgIC5jb21wYXJpc29uLXRhYmxlIHRoIHsKICAgICAgcGFkZGluZzogMS4ycmVtOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwyMTUsMCwwLjMpOwogICAgfQogICAgCiAgICAuY29tcGFyaXNvbi10YWJsZSB0ZCB7CiAgICAgIHBhZGRpbmc6IDEuMnJlbTsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpOwogICAgfQogICAgCiAgICAuY29tcGFyaXNvbi10YWJsZSAucm93LWxhYmVsIHsKICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIH0KICAgIAogICAgLmNvbXBhcmlzb24tdGFibGUgLmhpZ2hsaWdodC1jb2wgewogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyMTUsMCwwLjEpOwogICAgfQogICAgCiAgICAvKiBGUkVFIFJFU09VUkNFUyAqLwogICAgLnJlc291cmNlcyB7CiAgICAgIHBhZGRpbmc6IDEyMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXRlYWwpIDAlLCB2YXIoLS1ncmVlbikgMTAwJSk7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICB9CiAgICAKICAgIC5yZXNvdXJjZXMtY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5yZXNvdXJjZXMgaDIgewogICAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgNnZ3LCA0cmVtKTsKICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIH0KICAgIAogICAgLnJlc291cmNlcy1zdWJ0aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICBvcGFjaXR5OiAwLjk1OwogICAgICBtYXJnaW4tYm90dG9tOiA0cmVtOwogICAgfQogICAgCiAgICAucmVzb3VyY2VzLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAyLjVyZW07CiAgICB9CiAgICAKICAgIC5yZXNvdXJjZS1jYXJkIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsKICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgICBwYWRkaW5nOiAzcmVtOwogICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgfQogICAgCiAgICAucmVzb3VyY2UtY2FyZDpob3ZlciB7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7CiAgICB9CiAgICAKICAgIC5yZXNvdXJjZS1pY29uIHsKICAgICAgZm9udC1zaXplOiA0cmVtOwogICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICB9CiAgICAKICAgIC5yZXNvdXJjZS1jYXJkIGgzIHsKICAgICAgZm9udC1zaXplOiAxLjhyZW07CiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICB9CiAgICAKICAgIC5yZXNvdXJjZS1jYXJkIHAgewogICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgICAgb3BhY2l0eTogMC45NTsKICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIH0KICAgIAogICAgLmJ0bi1yZXNvdXJjZSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcGFkZGluZzogMXJlbSAyLjVyZW07CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgICAgY29sb3I6IHZhcigtLXRlYWwpOwogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICBmb250LXdlaWdodDogODAwOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgfQogICAgCiAgICAuYnRuLXJlc291cmNlOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLDAsMCwwLjIpOwogICAgfQogICAgCiAgICAvKiBUSFJFRSBQQVRIUyBDVEEgKi8KICAgIC5wYXRocyB7CiAgICAgIHBhZGRpbmc6IDEyMHB4IDJyZW07CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQpIDAlLCB2YXIoLS1nb2xkLXdhcm0pIDEwMCUpOwogICAgfQogICAgCiAgICAucGF0aHMtY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5wYXRocyBoMiB7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA2dncsIDRyZW0pOwogICAgICBjb2xvcjogdmFyKC0tbmF2eSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07CiAgICB9CiAgICAKICAgIC5wYXRocy1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7CiAgICAgIGdhcDogMi41cmVtOwogICAgICBtYXJnaW4tdG9wOiA0cmVtOwogICAgfQogICAgCiAgICAucGF0aC1jYXJkIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICBwYWRkaW5nOiAzcmVtOwogICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCByZ2JhKDAsMCwwLDAuMSk7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgfQogICAgCiAgICAucGF0aC1jYXJkOmhvdmVyIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsKICAgICAgYm94LXNoYWRvdzogMCAyNXB4IDcwcHggcmdiYSgwLDAsMCwwLjIpOwogICAgfQogICAgCiAgICAucGF0aC1lbW9qaSB7CiAgICAgIGZvbnQtc2l6ZTogNHJlbTsKICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOwogICAgfQogICAgCiAgICAucGF0aC1jYXJkIGgzIHsKICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICBjb2xvcjogdmFyKC0tbmF2eSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICB9CiAgICAKICAgIC5wYXRoLWNhcmQgcCB7CiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICBjb2xvcjogdmFyKC0tZ3JheSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICB9CiAgICAKICAgIC5idG4tcGF0aCB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcGFkZGluZzogMS4ycmVtIDIuNXJlbTsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbmF2eSkgMCUsIHZhcigtLXJveWFsLWJsdWUpIDEwMCUpOwogICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICBmb250LXdlaWdodDogODAwOwogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgfQogICAgCiAgICAuYnRuLXBhdGg6aG92ZXIgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICBib3gtc2hhZG93OiAwIDE1cHggNDBweCByZ2JhKDAsMzEsNjMsMC4zKTsKICAgIH0KICAgIAogICAgLyogRk9PVEVSICovCiAgICAuZm9vdGVyIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tbmF2eSk7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBhZGRpbmc6IDYwcHggMnJlbSAyMHB4OwogICAgfQogICAgCiAgICAuZm9vdGVyLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLmZvb3Rlci1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgIGdhcDogM3JlbTsKICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsKICAgIH0KICAgIAogICAgLmZvb3Rlci1jb2x1bW4gaDQgewogICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgfQogICAgCiAgICAuZm9vdGVyLWNvbHVtbiB1bCB7CiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICB9CiAgICAKICAgIC5mb290ZXItY29sdW1uIHVsIGxpIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsKICAgIH0KICAgIAogICAgLmZvb3Rlci1jb2x1bW4gYSB7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgb3BhY2l0eTogMC45OwogICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgIH0KICAgIAogICAgLmZvb3Rlci1jb2x1bW4gYTpob3ZlciB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7CiAgICB9CiAgICAKICAgIC5mb290ZXItYm90dG9tIHsKICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDIxNSwwLDAuMyk7CiAgICAgIHBhZGRpbmctdG9wOiAycmVtOwogICAgICBtYXJnaW4tdG9wOiAycmVtOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICBvcGFjaXR5OiAwLjg7CiAgICB9CiAgICAKICAgIC5mb290ZXItYm90dG9tIGEgewogICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIH0KICAgIAogICAgLyogUkVTUE9OU0lWRSAqLwogICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2OHB4KSB7CiAgICAgIC5oZXJvIHsKICAgICAgICBtaW4taGVpZ2h0OiAxMDBzdmg7CiAgICAgICAgcGFkZGluZzogMTIwcHggMS41cmVtIDYwcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5hbGFjYXJ0ZS1ncmlkLAogICAgICAudXBncmFkZS1wYXRoLAogICAgICAucGF0aHMtZ3JpZCwKICAgICAgLnJlc291cmNlcy1ncmlkIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgfQogICAgICAKICAgICAgLnRhYmxlLXdyYXBwZXIsCiAgICAgIC5jb21wYXJpc29uLXRhYmxlLXdyYXBwZXIgewogICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKICAgICAgfQogICAgfQogICAgCiAgICAvKiBTQ1JPTEwgQU5JTUFUSU9OUyAqLwogICAgLmZhZGUtaW4gewogICAgICBvcGFjaXR5OiAwOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2Utb3V0OwogICAgfQogICAgCiAgICAuZmFkZS1pbi52aXNpYmxlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CgogIDwhLS0gTkFWSUdBVElPTiAtLT4KICA8bmF2IGNsYXNzPSJuYXYiPgogICAgPGRpdiBjbGFzcz0ibmF2LWNvbnRhaW5lciI+CiAgICAgIDxhIGhyZWY9Ii8iIGNsYXNzPSJsb2dvIj5IYW5kc2hha2UuYWZyaWNhPC9hPgogICAgICA8dWwgY2xhc3M9Im5hdi1saW5rcyI+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii8iPkhvbWU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2Rpc2NvdmVyIj5EaXNjb3ZlcjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvZ2FsbGVyeSI+R2FsbGVyeTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvZGlnaXRhbC1lbXBpcmUiIGNsYXNzPSJhY3RpdmUiPllvdXIgUG9zc2liaWxpdGllczwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvY29udGFjdCI+Q29udGFjdDwvYT48L2xpPgogICAgICA8L3VsPgogICAgPC9kaXY+CiAgPC9uYXY+CgogIDwhLS0gSEVSTyAtLT4KICA8c2VjdGlvbiBjbGFzcz0iaGVybyI+CiAgICA8ZGl2IGNsYXNzPSJvcmIgb3JiMSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJvcmIgb3JiMiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJvcmIgb3JiMyI+PC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9Imhlcm8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iaGVyby1iYWRnZSI+8J+MjSBZT1VSIERJR0lUQUwgUE9TU0lCSUxJVElFUyDigKIgQkVZT05EIFRIRSBDQVJEIOKAoiBZT1VSIEVNUElSRSBBV0FJVFM8L2Rpdj4KICAgICAgCiAgICAgIDxoMT4KICAgICAgICBNb3JlIFRoYW4gYSBDYXJkLjxicj4KICAgICAgICBBIENvbXBsZXRlIDxzcGFuIGNsYXNzPSJoaWdobGlnaHQiPkRpZ2l0YWwgSWRlbnRpdHk8L3NwYW4+LgogICAgICA8L2gxPgogICAgICAKICAgICAgPHAgY2xhc3M9Imhlcm8tbWFuaWZlc3RvIj4KICAgICAgICBTdGFydCB3aXRoIGEgY2FyZC4gQnVpbGQgYW4gZW1waXJlLiBFeHBsb3JlIHBvc3NpYmlsaXRpZXMgZnJvbSBwcm9mZXNzaW9uYWwgaWRlbnRpdHkgdG8gY29tcGxldGUgZGlnaXRhbCBlY29zeXN0ZW1zLiBXZSBtZWV0IHlvdSB3aGVyZSB5b3UgYXJl4oCUYW5kIGdyb3cgV0lUSCB5b3UgZXZlcnkgc3RlcCBvZiB0aGUgd2F5LgogICAgICA8L3A+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gVEhFIFJFQUxJVFkgV0UgVU5ERVJTVEFORCAtLT4KICA8c2VjdGlvbiBjbGFzcz0icmVhbGl0eSI+CiAgICA8ZGl2IGNsYXNzPSJyZWFsaXR5LWNvbnRhaW5lciBmYWRlLWluIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1iYWRnZSI+VGhlIFRydXRoIFdlIEhvbm9yPC9kaXY+CiAgICAgIDxoMj5XZSBVbmRlcnN0YW5kIFlvdXIgUmVhbGl0eTwvaDI+CiAgICAgIAogICAgICA8cCBjbGFzcz0icmVhbGl0eS10ZXh0Ij4KICAgICAgICBOb3QgZXZlcnlvbmUgbmVlZHMgYSA8c3Ryb25nPiQ1LDAwMCB3ZWJzaXRlPC9zdHJvbmc+IHJpZ2h0IG5vdy4gWW91J3JlIGJ1aWxkaW5nLiBZb3UncmUgc3RhcnRpbmcuIFlvdSdyZSBpbnZlc3Rpbmcgd2lzZWx5LiBXZSByZXNwZWN0IHRoYXQuCiAgICAgIDwvcD4KICAgICAgCiAgICAgIDxwIGNsYXNzPSJyZWFsaXR5LXRleHQiPgogICAgICAgIEJ1dCA8c3Ryb25nPnNvY2lhbCBtZWRpYSBhbG9uZT88L3N0cm9uZz4gVGhhdCdzIHJlbnRpbmcgc3BhY2UgaW4gc29tZW9uZSBlbHNlJ3MgaG91c2UuIDxzdHJvbmc+V2hhdHNBcHAgb25seT88L3N0cm9uZz4gWW91J3JlIGxpbWl0aW5nIHlvdXIgcmVhY2ggdG8gcGVvcGxlIHdobyBhbHJlYWR5IGhhdmUgeW91ciBudW1iZXIuIDxzdHJvbmc+TGlua3RyZWU/PC9zdHJvbmc+IFRoYXQncy4uLiBhIHN0ZXBwaW5nIHN0b25lLiBCdXQgeW91IGRlc2VydmUgTU9SRS4KICAgICAgPC9wPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0icmVhbGl0eS1oaWdobGlnaHQiPgogICAgICAgIDxwPgogICAgICAgICAg4pyoIDxzdHJvbmc+WW91IG5lZWQgYSBkaWdpdGFsIGhvbWUgdGhhdCdzIFlPVVJTLjwvc3Ryb25nPiBNb2JpbGUtZmlyc3QuIFByb2Zlc3Npb25hbC4gQWZmb3JkYWJsZS4gU2NhbGFibGUuIEEgZm91bmRhdGlvbiB5b3UgY2FuIGJ1aWxkIG9u4oCUZnJvbSBzaW1wbGUgY2FyZCB0byBjb21wbGV0ZSBlbXBpcmXigJRhdCBZT1VSIHBhY2UsIGF0IFlPVVIgYnVkZ2V0LgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gV0hBVCdTIElOQ0xVREVEIElOIEVWRVJZIFRJRVIgLS0+CiAgPHNlY3Rpb24gY2xhc3M9InRpZXJzIj4KICAgIDxkaXYgY2xhc3M9InRpZXJzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIGZhZGUtaW4iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tYmFkZ2UiPkJhc2UgRmVhdHVyZXM8L2Rpdj4KICAgICAgICA8aDI+V2hhdCdzIEluY2x1ZGVkIGF0IEVhY2ggTGV2ZWw8L2gyPgogICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj4KICAgICAgICAgIEV2ZXJ5IHRpZXIgYnVpbGRzIG9uIHRoZSBsYXN0LiBTdGFydCB3aGVyZSB5b3UgYXJlLiBVcGdyYWRlIHdoZW4geW91J3JlIHJlYWR5LgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS13cmFwcGVyIGZhZGUtaW4iPgogICAgICAgIDx0YWJsZSBjbGFzcz0idGllci10YWJsZSI+CiAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGg+RmVhdHVyZTwvdGg+CiAgICAgICAgICAgICAgPHRoPkVzc2VudGlhbDxicj4kOTcveWVhcjwvdGg+CiAgICAgICAgICAgICAgPHRoPlByb2Zlc3Npb25hbDxicj4kMTk3L3llYXI8L3RoPgogICAgICAgICAgICAgIDx0aD5QcmVtaXVtPGJyPiQzOTcveWVhcjwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgPHRib2R5PgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJmZWF0dXJlLW5hbWUiPkN1c3RvbSBRUiBDb2RlPC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+4pyTPC9zcGFuPiAxIHByaW1hcnk8L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj7inJM8L3NwYW4+IDIgY29kZXM8L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGJhLWJhZGdlIj5UQkE8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZmVhdHVyZS1uYW1lIj5Db250YWN0IEluZm9ybWF0aW9uPC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+4pyTPC9zcGFuPiBCYXNpYzwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gRW5oYW5jZWQ8L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj7inJM8L3NwYW4+IEZ1bGwgc3VpdGU8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJmZWF0dXJlLW5hbWUiPlNvY2lhbCBNZWRpYSBMaW5rczwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gVXAgdG8gNTwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gVXAgdG8gMTA8L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGJhLWJhZGdlIj5UQkE8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZmVhdHVyZS1uYW1lIj5EZXNpZ24gVGVtcGxhdGVzPC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+4pyTPC9zcGFuPiBTdGFuZGFyZDwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gUHJlbWl1bTwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gRnVsbHkgY3VzdG9tPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZmVhdHVyZS1uYW1lIj5Bbm51YWwgVXBkYXRlczwvdGQ+CiAgICAgICAgICAgICAgPHRkPjEgbWlub3IgdXBkYXRlPC90ZD4KICAgICAgICAgICAgICA8dGQ+MiBtYWpvciB1cGRhdGVzPC90ZD4KICAgICAgICAgICAgICA8dGQ+UXVhcnRlcmx5IHVwZGF0ZXM8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJmZWF0dXJlLW5hbWUiPkFuYWx5dGljcyBEYXNoYm9hcmQ8L3RkPgogICAgICAgICAgICAgIDx0ZD5CYXNpYyB2aWV3czwvdGQ+CiAgICAgICAgICAgICAgPHRkPkRldGFpbGVkIGluc2lnaHRzPC90ZD4KICAgICAgICAgICAgICA8dGQ+QUktcG93ZXJlZCBhbmFseXNpczwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImZlYXR1cmUtbmFtZSI+VmlkZW8gSW50ZWdyYXRpb248L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0ieG1hcmsiPuKclzwvc3Bhbj48L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj7inJM8L3NwYW4+IDEgdmlkZW88L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGJhLWJhZGdlIj5UQkE8L3NwYW4+PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZmVhdHVyZS1uYW1lIj5DdXN0b20gU3ViZG9tYWluPC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InhtYXJrIj7inJc8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InhtYXJrIj7inJc8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+4pyTPC9zcGFuPiBJbmNsdWRlZDwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImZlYXR1cmUtbmFtZSI+UG9ydGZvbGlvL0dhbGxlcnk8L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0ieG1hcmsiPuKclzwvc3Bhbj48L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj7inJM8L3NwYW4+IFVwIHRvIDEwIGl0ZW1zPC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InRiYS1iYWRnZSI+VEJBPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImZlYXR1cmUtbmFtZSI+TGVhZCBDYXB0dXJlIEZvcm1zPC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InhtYXJrIj7inJc8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+4pyTPC9zcGFuPiBCYXNpYzwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gQWR2YW5jZWQ8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJmZWF0dXJlLW5hbWUiPk1vYmlsZSBNb25leSBJbnRlZ3JhdGlvbjwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gQWxsIHRpZXJzPC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+4pyTPC9zcGFuPiBBbGwgdGllcnM8L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj7inJM8L3NwYW4+IEFsbCB0aWVyczwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImZlYXR1cmUtbmFtZSI+U1NMIFNlY3VyaXR5PC90ZD4KICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+4pyTPC9zcGFuPiBJbmNsdWRlZDwvdGQ+CiAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjaGVja21hcmsiPuKckzwvc3Bhbj4gSW5jbHVkZWQ8L3RkPgogICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj7inJM8L3NwYW4+IEluY2x1ZGVkPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gw4AgTEEgQ0FSVEUgTUVOVSAtLT4KICA8c2VjdGlvbiBjbGFzcz0iYWxhY2FydGUiPgogICAgPGRpdiBjbGFzcz0iYWxhY2FydGUtY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgZmFkZS1pbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1iYWRnZSI+QnVpbGQgWW91ciBXYXk8L2Rpdj4KICAgICAgICA8aDI+VGhlIMOAIExhIENhcnRlIE1lbnU8L2gyPgogICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj4KICAgICAgICAgIEFkZCBleGFjdGx5IHdoYXQgeW91IG5lZWQsIHdoZW4geW91IG5lZWQgaXQuIE5vIG1vcmUsIG5vIGxlc3MuIFlvdXIgZW1waXJlLCB5b3VyIHJ1bGVzLgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJhbGFjYXJ0ZS1ncmlkIj4KICAgICAgICAKICAgICAgICA8IS0tIEVOSEFOQ0VEIENPTlRBQ1QgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iYWxhY2FydGUtY2F0ZWdvcnkgZmFkZS1pbiI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktaWNvbiI+8J+TsTwvc3Bhbj4KICAgICAgICAgIDxoMz5FbmhhbmNlZCBDb250YWN0IE9wdGlvbnM8L2gzPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLXJhbmdlIj4kMjUtJDUwIGVhY2g8L3NwYW4+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgTWFrZSBpdCBlZmZvcnRsZXNzIGZvciBwZW9wbGUgdG8gcmVhY2ggeW91LiBFdmVyeSBhZGRpdGlvbmFsIHRvdWNocG9pbnQgaXMgYSBwb3RlbnRpYWwgb3Bwb3J0dW5pdHkgY2FwdHVyZWQuCiAgICAgICAgICA8L3A+CiAgICAgICAgICA8dWwgY2xhc3M9ImFsYWNhcnRlLWl0ZW1zIj4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPkV4dHJhIFFSIENvZGVzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMjUgZWFjaDwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPkNsaWNrLXRvLUNhbGwgQnV0dG9uczwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDMwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+U01TIEludGVncmF0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMzU8L3NwYW4+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5DYWxlbmRhciBCb29raW5nIFN5c3RlbTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDUwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8IS0tIEJSQU5ESU5HICYgREVTSUdOIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImFsYWNhcnRlLWNhdGVnb3J5IGZhZGUtaW4iPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LWljb24iPvCfjqg8L3NwYW4+CiAgICAgICAgICA8aDM+QnJhbmRpbmcgJiBEZXNpZ248L2gzPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLXJhbmdlIj4kMTAwLSQ1MDA8L3NwYW4+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgWW91ciB2aXN1YWwgaWRlbnRpdHkgbWF0dGVycy4gU3RhbmQgb3V0IHdpdGggY3VzdG9tIGJyYW5kaW5nIHRoYXQgY29tbWFuZHMgYXR0ZW50aW9uIGFuZCBidWlsZHMgdHJ1c3QuCiAgICAgICAgICA8L3A+CiAgICAgICAgICA8dWwgY2xhc3M9ImFsYWNhcnRlLWl0ZW1zIj4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPkN1c3RvbSBMb2dvIERlc2lnbjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDE1MC0kNTAwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+QnJhbmQgQ29sb3IgQ29uc3VsdGF0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMTAwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+Q3VzdG9tIElsbHVzdHJhdGlvbnM8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tcHJpY2UiPiQyMDAtJDQwMDwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPkFuaW1hdGVkIEVsZW1lbnRzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMTUwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+UHJvZmVzc2lvbmFsIFBob3RvIEVkaXRpbmc8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tcHJpY2UiPiQ3NTwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPCEtLSBDT01NRVJDRSBDQVBBQklMSVRJRVMgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iYWxhY2FydGUtY2F0ZWdvcnkgZmFkZS1pbiI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktaWNvbiI+8J+bje+4jzwvc3Bhbj4KICAgICAgICAgIDxoMz5NaW5pIFNob3AgJiBDb21tZXJjZTwvaDM+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtcmFuZ2UiPiQxNTAtJDMwMCBzZXR1cDwvc3Bhbj4KICAgICAgICAgIDxwPgogICAgICAgICAgICA8c3Ryb25nPk5vdCByZWFkeSBmb3IgZnVsbCBlLWNvbW1lcmNlPzwvc3Ryb25nPiBTdGFydCB3aXRoIGEgTWluaSBTaG9wIHBhZ2UuIFBlcmZlY3QgZm9yIHNob3djYXNpbmcga2V5IG9mZmVyaW5nc+KAlHBhY2thZ2VzLCBwcm9kdWN0cywgc2VydmljZXPigJR3aXRoIGJ1eSBidXR0b25zIGFuZCBwYXltZW50IGludGVncmF0aW9uLgogICAgICAgICAgPC9wPgogICAgICAgICAgPHVsIGNsYXNzPSJhbGFjYXJ0ZS1pdGVtcyI+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5NaW5pIFNob3AgU2V0dXAgKDMtMTAgaXRlbXMpPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMTUwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+UGF5bWVudCBHYXRld2F5IEludGVncmF0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMTAwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+SW52ZW50b3J5IERpc3BsYXkgU3lzdGVtPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMjAwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+UHJvZHVjdCBDYXRlZ29yaWVzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kNzU8L3NwYW4+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDwhLS0gTUVESUEgJiBDT05URU5UIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImFsYWNhcnRlLWNhdGVnb3J5IGZhZGUtaW4iPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LWljb24iPvCfk7k8L3NwYW4+CiAgICAgICAgICA8aDM+TWVkaWEgJiBDb250ZW50PC9oMz4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1yYW5nZSI+JDUwLSQxNTA8L3NwYW4+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgU2hvdywgZG9uJ3QganVzdCB0ZWxsLiBWaWRlbywgZ2FsbGVyaWVzLCB0ZXN0aW1vbmlhbHPigJRtYWtlIHlvdXIgY2FyZCBhbiBpbW1lcnNpdmUgZXhwZXJpZW5jZSB0aGF0IGJ1aWxkcyB0cnVzdCBhbmQgYXV0aG9yaXR5LgogICAgICAgICAgPC9wPgogICAgICAgICAgPHVsIGNsYXNzPSJhbGFjYXJ0ZS1pdGVtcyI+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5WaWRlbyBIb3N0aW5nICYgRW1iZWRkaW5nPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kNTA8L3NwYW4+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5Qb3J0Zm9saW8gR2FsbGVyeSAoMTAtNTAgaW1hZ2VzKTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDEwMDwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPlRlc3RpbW9uaWFsIFNob3djYXNlPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kNzU8L3NwYW4+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5CbG9nIFNlY3Rpb24gKDMtMTAgYXJ0aWNsZXMpPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kMTUwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+UG9kY2FzdC9Zb3VUdWJlIEludGVncmF0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXByaWNlIj4kNjA8L3NwYW4+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDwhLS0gSU5URUxMSUdFTkNFICYgSU5TSUdIVFMgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iYWxhY2FydGUtY2F0ZWdvcnkgZmFkZS1pbiI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktaWNvbiI+8J+Tijwvc3Bhbj4KICAgICAgICAgIDxoMz5JbnRlbGxpZ2VuY2UgJiBJbnNpZ2h0czwvaDM+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtcmFuZ2UiPiQxNS0kNTAvbW9udGg8L3NwYW4+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgS25vdyB3aG8ncyB2aWV3aW5nLCB3aGF0IHRoZXkncmUgY2xpY2tpbmcsIHdoZW4gdG8gZm9sbG93IHVwLiBUcmFuc2Zvcm0gbmV0d29ya2luZyBmcm9tIGd1ZXNzd29yayBpbnRvIHN0cmF0ZWdpYyBpbnRlbGxpZ2VuY2UuCiAgICAgICAgICA8L3A+CiAgICAgICAgICA8dWwgY2xhc3M9ImFsYWNhcnRlLWl0ZW1zIj4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPkFkdmFuY2VkIEFuYWx5dGljcyBEYXNoYm9hcmQ8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tcHJpY2UiPiQxNS9tbzwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPkxlYWQgQ2FwdHVyZSBJbnRlZ3JhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDI1L21vPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+RW1haWwgTGlzdCBBdXRvLXJlc3BvbmRlcjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDMwL21vPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+VmlzaXRvciBCZWhhdmlvciBUcmFja2luZzwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDIwL21vPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbmFtZSI+Q29tcGV0aXRvciBCZW5jaG1hcmtpbmc8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tcHJpY2UiPiQ1MC9tbzwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPCEtLSBESUdJVEFMIEVYUEFOU0lPTiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJhbGFjYXJ0ZS1jYXRlZ29yeSBmYWRlLWluIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1pY29uIj7wn4yQPC9zcGFuPgogICAgICAgICAgPGgzPkRpZ2l0YWwgRXhwYW5zaW9uPC9oMz4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1yYW5nZSI+JDEwMC0kNTAwPC9zcGFuPgogICAgICAgICAgPHA+CiAgICAgICAgICAgIDxzdHJvbmc+VGhpbmsgb2YgeW91ciBjYXJkIGFzIHRoZSBzZWVkLjwvc3Ryb25nPiBUaGVzZSBhZGQtb25zIHRyYW5zZm9ybSBpdCBpbnRvIGEgbXVsdGktcGFnZSBtaW5pLXNpdGUuIFNlcnZpY2VzIHBhZ2UuIEFib3V0IHBhZ2UuIE5ld3NsZXR0ZXIgc2lnbnVwLiBZb3VyIGNvbXBsZXRlIGRpZ2l0YWwgZWNvc3lzdGVtLgogICAgICAgICAgPC9wPgogICAgICAgICAgPHVsIGNsYXNzPSJhbGFjYXJ0ZS1pdGVtcyI+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5BZGRpdGlvbmFsIFBhZ2UgKHBlciBwYWdlKTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDEwMDwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPk5ld3NsZXR0ZXIgU2lnbnVwIFBhZ2U8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tcHJpY2UiPiQxNTA8L3NwYW4+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5TZXJ2aWNlcy9PZmZlcmluZ3MgUGFnZTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDIwMDwvc3Bhbj4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLW5hbWUiPkFib3V0L1N0b3J5IFBhZ2U8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tcHJpY2UiPiQxNzU8L3NwYW4+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1uYW1lIj5DdXN0b20gTGFuZGluZyBQYWdlczwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1wcmljZSI+JDI1MC0kNTAwPC9zcGFuPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gVVBHUkFERSBQQVRIIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJ1cGdyYWRlIj4KICAgIDxkaXYgY2xhc3M9InVwZ3JhZGUtY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIgZmFkZS1pbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1iYWRnZSI+WW91ciBHcm93dGggSm91cm5leTwvZGl2PgogICAgICAgIDxoMj5UaGUgVXBncmFkZSBQYXRoPC9oMj4KICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+CiAgICAgICAgICBZb3UgZG9uJ3QgbmVlZCBldmVyeXRoaW5nIG9uIERheSAxLiBCdXQgeW91IERPIG5lZWQgdG8ga25vdyBpdCdzIHBvc3NpYmxlLiBTdGFydCB3aGVyZSB5b3UgYXJlLiBCdWlsZCBhcyB5b3UgZ3Jvdy4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0idXBncmFkZS1wYXRoIj4KICAgICAgICAKICAgICAgICA8IS0tIFNUQUdFIDEgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtY2FyZCBmYWRlLWluIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLW51bWJlciI+MTwvZGl2PgogICAgICAgICAgPGgzPlRoZSBGb3VuZGF0aW9uPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJzdGFnZS1wcmljZSI+JDk3L3llYXIgLSBFc3NlbnRpYWw8L3A+CiAgICAgICAgICA8dWwgY2xhc3M9InN0YWdlLWZlYXR1cmVzIj4KICAgICAgICAgICAgPGxpPkJhc2ljIGRpZ2l0YWwgY2FyZCArIFFSIGNvZGU8L2xpPgogICAgICAgICAgICA8bGk+UHJvZmVzc2lvbmFsIGlkZW50aXR5IGVzdGFibGlzaGVkPC9saT4KICAgICAgICAgICAgPGxpPk1vYmlsZS1vcHRpbWl6ZWQgcHJlc2VuY2U8L2xpPgogICAgICAgICAgICA8bGk+QmV0dGVyIHRoYW4gOTklIG9mIHBhcGVyIGNhcmRzPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS1vdXRjb21lIj4KICAgICAgICAgICAgRm91bmRhdGlvbiBFc3RhYmxpc2hlZAogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPCEtLSBTVEFHRSAyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InN0YWdlLWNhcmQgZmFkZS1pbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS1udW1iZXIiPjI8L2Rpdj4KICAgICAgICAgIDxoMz5UaGUgQW1wbGlmaWNhdGlvbjwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic3RhZ2UtcHJpY2UiPiQxOTcveWVhciAtIFByb2Zlc3Npb25hbDwvcD4KICAgICAgICAgIDx1bCBjbGFzcz0ic3RhZ2UtZmVhdHVyZXMiPgogICAgICAgICAgICA8bGk+KyBWaWRlbyBpbnRyb2R1Y3Rpb248L2xpPgogICAgICAgICAgICA8bGk+KyBFbmhhbmNlZCBhbmFseXRpY3M8L2xpPgogICAgICAgICAgICA8bGk+KyBQb3J0Zm9saW8gc2hvd2Nhc2U8L2xpPgogICAgICAgICAgICA8bGk+KyBMZWFkIGNhcHR1cmUgc3lzdGVtPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS1vdXRjb21lIj4KICAgICAgICAgICAgQXV0aG9yaXR5IEdyb3dpbmcKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDwhLS0gU1RBR0UgMyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGFnZS1jYXJkIGZhZGUtaW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2UtbnVtYmVyIj4zPC9kaXY+CiAgICAgICAgICA8aDM+VGhlIEVtcGlyZTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic3RhZ2UtcHJpY2UiPiQzOTcrL3llYXIgLSBQcmVtaXVtPC9wPgogICAgICAgICAgPHVsIGNsYXNzPSJzdGFnZS1mZWF0dXJlcyI+CiAgICAgICAgICAgIDxsaT4rIEN1c3RvbSBkb21haW48L2xpPgogICAgICAgICAgICA8bGk+KyBNaW5pIHNob3AgY2FwYWJpbGl0eTwvbGk+CiAgICAgICAgICAgIDxsaT4rIE11bHRpLXBhZ2UgZXhwZXJpZW5jZTwvbGk+CiAgICAgICAgICAgIDxsaT4rIENvbXBsZXRlIGJyYW5kIGVjb3N5c3RlbTwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZ2Utb3V0Y29tZSI+CiAgICAgICAgICAgIERpZ2l0YWwgU292ZXJlaWdudHkgQWNoaWV2ZWQKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPCEtLSBDT01QQVJJU09OIFRBQkxFIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJjb21wYXJpc29uIj4KICAgIDxkaXYgY2xhc3M9ImNvbXBhcmlzb24tY29udGFpbmVyIj4KICAgICAgPGgyPldoeSBUaGlzIEJlYXRzIExpbmt0cmVlLCBTb2NpYWwtT25seSwgb3IgTm90aGluZzwvaDI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjb21wYXJpc29uLXRhYmxlLXdyYXBwZXIgZmFkZS1pbiI+CiAgICAgICAgPHRhYmxlIGNsYXNzPSJjb21wYXJpc29uLXRhYmxlIj4KICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0aD5XaGF0IFlvdSBHZXQ8L3RoPgogICAgICAgICAgICAgIDx0aD5Tb2NpYWwgT25seTwvdGg+CiAgICAgICAgICAgICAgPHRoPkxpbmt0cmVlPC90aD4KICAgICAgICAgICAgICA8dGg+V2Vic2l0ZTwvdGg+CiAgICAgICAgICAgICAgPHRoIGNsYXNzPSJoaWdobGlnaHQtY29sIj5IYW5kc2hha2U8YnI+RXNzZW50aWFsPC90aD4KICAgICAgICAgICAgICA8dGggY2xhc3M9ImhpZ2hsaWdodC1jb2wiPkhhbmRzaGFrZTxicj5QcmVtaXVtPC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9InJvdy1sYWJlbCI+WW91IE93biBJdDwvdGQ+CiAgICAgICAgICAgICAgPHRkPuKdjDwvdGQ+CiAgICAgICAgICAgICAgPHRkPuKdjDwvdGQ+CiAgICAgICAgICAgICAgPHRkPuKchTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQtY29sIj7inIU8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0iaGlnaGxpZ2h0LWNvbCI+4pyFPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0icm93LWxhYmVsIj5Nb2JpbGUtT3B0aW1pemVkPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pqg77iPPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pyFPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pqg77iPPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodC1jb2wiPuKchTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQtY29sIj7inIU8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJyb3ctbGFiZWwiPk9mZmxpbmUgQ2FwYWJsZSAoUVIpPC90ZD4KICAgICAgICAgICAgICA8dGQ+4p2MPC90ZD4KICAgICAgICAgICAgICA8dGQ+4p2MPC90ZD4KICAgICAgICAgICAgICA8dGQ+4p2MPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodC1jb2wiPuKchTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQtY29sIj7inIU8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJyb3ctbGFiZWwiPlByb2Zlc3Npb25hbCBMb29rPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pqg77iPPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pqg77iPPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pyFPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodC1jb2wiPuKchTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQtY29sIj7inIU8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJyb3ctbGFiZWwiPkRlZXAgQW5hbHl0aWNzPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pqg77iPPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pqg77iPPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pyFPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodC1jb2wiPuKchTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQtY29sIj7inIUgQUk8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJyb3ctbGFiZWwiPkNhbiBTZWxsIFByb2R1Y3RzPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pqg77iPPC90ZD4KICAgICAgICAgICAgICA8dGQ+4p2MPC90ZD4KICAgICAgICAgICAgICA8dGQ+4pyFPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodC1jb2wiPkFkZC1vbjwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQtY29sIj7inIU8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJyb3ctbGFiZWwiPkVhc3kgVXBkYXRlczwvdGQ+CiAgICAgICAgICAgICAgPHRkPuKchTwvdGQ+CiAgICAgICAgICAgICAgPHRkPuKchTwvdGQ+CiAgICAgICAgICAgICAgPHRkPuKaoO+4jzwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQtY29sIj7inIU8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0iaGlnaGxpZ2h0LWNvbCI+4pyFPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0icm93LWxhYmVsIj5Bbm51YWwgQ29zdDwvdGQ+CiAgICAgICAgICAgICAgPHRkPkZyZWU8L3RkPgogICAgICAgICAgICAgIDx0ZD4kMC0kNzI8L3RkPgogICAgICAgICAgICAgIDx0ZD4kNTAwLSQ1Sys8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0iaGlnaGxpZ2h0LWNvbCI+JDk3PC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodC1jb2wiPiQzOTc8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgPC90Ym9keT4KICAgICAgICA8L3RhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogM3JlbTsgZm9udC1zaXplOiAxLjNyZW07IGZvbnQtd2VpZ2h0OiA2MDA7Ij4KICAgICAgICDwn5KhIDxzdHJvbmc+VGhlIFZlcmRpY3Q6PC9zdHJvbmc+IFNvY2lhbCBtZWRpYSBpcyByZW50ZWQgbGFuZC4gTGlua3RyZWUgaXMgYSBzdGVwcGluZyBzdG9uZS4gV2Vic2l0ZXMgYXJlIG9mdGVuIG92ZXJraWxsIChhbmQgb3ZlcnByaWNlZCkuIFlvdXIgSGFuZHNoYWtlIGNhcmQ/IEl0J3MgWU9VUiBkaWdpdGFsIHJlYWwgZXN0YXRl4oCUcHJvZmVzc2lvbmFsLCBhZmZvcmRhYmxlLCBzY2FsYWJsZS4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gRlJFRSBSRVNPVVJDRVMgLS0+CiAgPHNlY3Rpb24gY2xhc3M9InJlc291cmNlcyI+CiAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZXMtY29udGFpbmVyIj4KICAgICAgPGgyPk5vdCBTdXJlIFdoYXQgWW91IE5lZWQ/IFN0YXJ0IEhlcmUuPC9oMj4KICAgICAgPHAgY2xhc3M9InJlc291cmNlcy1zdWJ0aXRsZSI+CiAgICAgICAgRnJlZSB0b29scyB0byBoZWxwIHlvdSBwbGFuLCBjaG9vc2UsIGFuZCBidWlsZCB5b3VyIHBlcmZlY3QgZGlnaXRhbCBwcmVzZW5jZS4KICAgICAgPC9wPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2VzLWdyaWQiPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWNhcmQgZmFkZS1pbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1pY29uIj7wn5OLPC9kaXY+CiAgICAgICAgICA8aDM+RGlnaXRhbCBDYXJkIENvbnRlbnQgUGxhbm5lcjwvaDM+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgV2hhdCB0byBpbmNsdWRlLCB3aGF0IHRvIHNraXAsIGhvdyB0byBzdHJ1Y3R1cmUgeW91ciBjYXJkIGZvciBtYXhpbXVtIGltcGFjdC4gVGhlIGNvbXBsZXRlIHBsYW5uaW5nIGd1aWRlLgogICAgICAgICAgPC9wPgogICAgICAgICAgPGEgaHJlZj0iL3RoYW5rLXlvdSIgY2xhc3M9ImJ0bi1yZXNvdXJjZSI+RG93bmxvYWQgRnJlZSBHdWlkZTwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1jYXJkIGZhZGUtaW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0icmVzb3VyY2UtaWNvbiI+8J+nrTwvZGl2PgogICAgICAgICAgPGgzPldoaWNoIFRpZXIgUXVpejwvaDM+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgNSBxdWVzdGlvbnMgdGhhdCByZWNvbW1lbmQgeW91ciBwZXJmZWN0IHN0YXJ0aW5nIHBvaW50LiBFc3NlbnRpYWw/IFByb2Zlc3Npb25hbD8gUHJlbWl1bT8gTGV0J3MgZmluZCBvdXQuCiAgICAgICAgICA8L3A+CiAgICAgICAgICA8YSBocmVmPSIvdGhhbmsteW91IiBjbGFzcz0iYnRuLXJlc291cmNlIj5UYWtlIHRoZSBRdWl6PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InJlc291cmNlLWNhcmQgZmFkZS1pbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNvdXJjZS1pY29uIj7wn5OKPC9kaXY+CiAgICAgICAgICA8aDM+JDAtJDEwSyBEaWdpdGFsIFByZXNlbmNlIEJ1aWxkZXI8L2gzPgogICAgICAgICAgPHA+CiAgICAgICAgICAgIEJ1ZGdldC1zbWFydCBwcm9ncmVzc2lvbiBwbGFuLiBXaGVuIHRvIGludmVzdCBpbiBjYXJkcyB2cy4gd2Vic2l0ZXMgdnMuIHNvY2lhbCBtZWRpYS4gU3RyYXRlZ2ljIGd1aWRhbmNlIGZvciBldmVyeSBzdGFnZS4KICAgICAgICAgIDwvcD4KICAgICAgICAgIDxhIGhyZWY9Ii90aGFuay15b3UiIGNsYXNzPSJidG4tcmVzb3VyY2UiPkdldCB0aGUgUm9hZG1hcDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDwhLS0gVEhSRUUgUEFUSFMgQ1RBIC0tPgogIDxzZWN0aW9uIGNsYXNzPSJwYXRocyI+CiAgICA8ZGl2IGNsYXNzPSJwYXRocy1jb250YWluZXIiPgogICAgICA8aDI+Q2hvb3NlIFlvdXIgUGF0aCBGb3J3YXJkPC9oMj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InBhdGhzLWdyaWQiPgogICAgICAgIAogICAgICAgIDwhLS0gUEFUSCAxIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InBhdGgtY2FyZCBmYWRlLWluIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhdGgtZW1vamkiPvCfjq88L2Rpdj4KICAgICAgICAgIDxoMz5JIEtub3cgV2hhdCBJIFdhbnQ8L2gzPgogICAgICAgICAgPHA+CiAgICAgICAgICAgIFlvdSd2ZSBleHBsb3JlZCB0aGUgcG9zc2liaWxpdGllcy4gWW91J3JlIHJlYWR5IHRvIGJ1aWxkLiBMZXQncyBtYWtlIGl0IGhhcHBlbi4KICAgICAgICAgIDwvcD4KICAgICAgICAgIDxhIGhyZWY9Ii9wcmljaW5nIiBjbGFzcz0iYnRuLXBhdGgiPlNlZSBQcmljaW5nICYgQ2hvb3NlIFlvdXIgVGllcjwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8IS0tIFBBVEggMiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXRoLWNhcmQgZmFkZS1pbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXRoLWVtb2ppIj7wn6SUPC9kaXY+CiAgICAgICAgICA8aDM+SSBOZWVkIEhlbHAgRGVjaWRpbmc8L2gzPgogICAgICAgICAgPHA+CiAgICAgICAgICAgIE5vdCBzdXJlIHdoaWNoIHRpZXIgb3IgYWRkLW9ucyBhcmUgcmlnaHQ/IEJvb2sgYSBmcmVlIDE1LW1pbnV0ZSBkaXNjb3ZlcnkgY2FsbC4gV2UnbGwgZ3VpZGUgeW91LgogICAgICAgICAgPC9wPgogICAgICAgICAgPGEgaHJlZj0iL2NvbnRhY3QiIGNsYXNzPSJidG4tcGF0aCI+Qm9vayBGcmVlIENvbnN1bHRhdGlvbjwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8IS0tIFBBVEggMyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXRoLWNhcmQgZmFkZS1pbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXRoLWVtb2ppIj7wn46BPC9kaXY+CiAgICAgICAgICA8aDM+SSdtIEp1c3QgRXhwbG9yaW5nPC9oMz4KICAgICAgICAgIDxwPgogICAgICAgICAgICBObyBwcmVzc3VyZS4gR3JhYiBvdXIgZnJlZSBwbGFubmluZyBndWlkZXMgYW5kIGV4cGxvcmUgYXQgeW91ciBvd24gcGFjZS4gV2UnbGwgYmUgaGVyZSB3aGVuIHlvdSdyZSByZWFkeS4KICAgICAgICAgIDwvcD4KICAgICAgICAgIDxhIGhyZWY9Ii90aGFuay15b3UiIGNsYXNzPSJidG4tcGF0aCI+RG93bmxvYWQgRnJlZSBSZXNvdXJjZXM8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIEZPT1RFUiAtLT4KICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5IYW5kc2hha2UuYWZyaWNhPC9oND4KICAgICAgICAgIDxwIHN0eWxlPSJvcGFjaXR5OiAwLjk7IGxpbmUtaGVpZ2h0OiAxLjc7Ij4KICAgICAgICAgICAgRnJvbSBzaW1wbGUgY2FyZHMgdG8gY29tcGxldGUgZGlnaXRhbCBlbXBpcmVzLiBXZSBncm93IFdJVEggeW914oCUYXQgWU9VUiBwYWNlLCBhdCBZT1VSIGJ1ZGdldC4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5Qcm9kdWN0PC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8iPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kaXNjb3ZlciI+RGlzY292ZXI8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9nYWxsZXJ5Ij5HYWxsZXJ5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RpZ2l0YWwtZW1waXJlIj5Zb3VyIFBvc3NpYmlsaXRpZXM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbHVtbiI+CiAgICAgICAgICA8aDQ+Q29tcGFueTwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvYWJvdXQiPkFib3V0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvY29udGFjdCI+Q29udGFjdDwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5MZWdhbDwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvdGVybXMiPlRlcm1zPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvcHJpdmFjeSI+UHJpdmFjeTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iL3JlZnVuZC1wb2xpY3kiPlJlZnVuZHM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4KICAgICAgICA8cD7CqSAyMDI1IEhhbmRzaGFrZS5hZnJpY2Eg4oCiIEFsbCBSaWdodHMgUmVzZXJ2ZWQ8L3A+CiAgICAgICAgPHA+UG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL2R5bmFtaWNwYXJhZGlnbXMuaW8iPkR5bmFtaWMgUGFyYWRpZ21zPC9hPjwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Zvb3Rlcj4KCiAgPHNjcmlwdD4KICAgIC8vIFNjcm9sbCBhbmltYXRpb25zCiAgICBjb25zdCBvYnNlcnZlck9wdGlvbnMgPSB7CiAgICAgIHRocmVzaG9sZDogMC4xLAogICAgICByb290TWFyZ2luOiAnMHB4IDBweCAtMTAwcHggMHB4JwogICAgfTsKICAgIAogICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcykgewogICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gewogICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykgewogICAgICAgICAgZW50cnkudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwgb2JzZXJ2ZXJPcHRpb25zKTsKICAgIAogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZhZGUtaW4nKS5mb3JFYWNoKGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpKTsKICAgIAogICAgLy8gU2VjdXJpdHkKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgZSA9PiBlLnByZXZlbnREZWZhdWx0KCkpOwogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMTIzIHx8IChlLmN0cmxLZXkgJiYgZS5zaGlmdEtleSAmJiBlLmtleUNvZGUgPT09IDczKSkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgfQogICAgfSk7CiAgPC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
Your Digital Empire - Beyond the Card | Handshake.africa
Handshake.africa
  • Home
  • Discover
  • Gallery
  • Pricing
  • Your Possibilities
  • Contact
🌍 YOUR DIGITAL POSSIBILITIES • BEYOND THE CARD • YOUR EMPIRE AWAITS

More Than a Card.
A Complete Digital Identity.

Start with a card. Build an empire. Explore possibilities from professional identity to complete digital ecosystems. We meet you where you are—and grow WITH you every step of the way.

The Truth We Honor

We Understand Your Reality

Not everyone needs a $5,000 website right now. You're building. You're starting. You're investing wisely. We respect that.

But social media alone? That's renting space in someone else's house. WhatsApp only? You're limiting your reach to people who already have your number. Linktree? That's... a stepping stone. But you deserve MORE.

✨ You need a digital home that's YOURS. Mobile-first. Professional. Affordable. Scalable. A foundation you can build on—from simple card to complete empire—at YOUR pace, at YOUR budget.

Base Features

What's Included at Each Level

Every tier builds on the last. Start where you are. Upgrade when you're ready.

Feature Essential
$97/year
Professional
$197/year
Premium
$397/year
Custom QR Code ✓ 1 primary ✓ 2 codes TBA
Contact Information ✓ Basic ✓ Enhanced ✓ Full suite
Social Media Links ✓ Up to 5 ✓ Up to 10 TBA
Design Templates ✓ Standard ✓ Premium ✓ Fully custom
Annual Updates 1 minor update 2 major updates Quarterly updates
Analytics Dashboard Basic views Detailed insights AI-powered analysis
Video Integration ✗ ✓ 1 video TBA
Custom Subdomain ✗ ✗ ✓ Included
Portfolio/Gallery ✗ ✓ Up to 10 items TBA
Lead Capture Forms ✗ ✓ Basic ✓ Advanced
Mobile Money Integration ✓ All tiers ✓ All tiers ✓ All tiers
SSL Security ✓ Included ✓ Included ✓ Included
Build Your Way

The À La Carte Menu

Add exactly what you need, when you need it. No more, no less. Your empire, your rules.

📱

Enhanced Contact Options

$25-$50 each

Make it effortless for people to reach you. Every additional touchpoint is a potential opportunity captured.

  • Extra QR Codes $25 each
  • Click-to-Call Buttons $30
  • SMS Integration $35
  • Calendar Booking System $50
🎨

Branding & Design

$100-$500

Your visual identity matters. Stand out with custom branding that commands attention and builds trust.

  • Custom Logo Design $150-$500
  • Brand Color Consultation $100
  • Custom Illustrations $200-$400
  • Animated Elements $150
  • Professional Photo Editing $75
🛍️

Mini Shop & Commerce

$150-$300 setup

Not ready for full e-commerce? Start with a Mini Shop page. Perfect for showcasing key offerings—packages, products, services—with buy buttons and payment integration.

  • Mini Shop Setup (3-10 items) $150
  • Payment Gateway Integration $100
  • Inventory Display System $200
  • Product Categories $75
📹

Media & Content

$50-$150

Show, don't just tell. Video, galleries, testimonials—make your card an immersive experience that builds trust and authority.

  • Video Hosting & Embedding $50
  • Portfolio Gallery (10-50 images) $100
  • Testimonial Showcase $75
  • Blog Section (3-10 articles) $150
  • Podcast/YouTube Integration $60
📊

Intelligence & Insights

$15-$50/month

Know who's viewing, what they're clicking, when to follow up. Transform networking from guesswork into strategic intelligence.

  • Advanced Analytics Dashboard $15/mo
  • Lead Capture Integration $25/mo
  • Email List Auto-responder $30/mo
  • Visitor Behavior Tracking $20/mo
  • Competitor Benchmarking $50/mo
🌐

Digital Expansion

$100-$500

Think of your card as the seed. These add-ons transform it into a multi-page mini-site. Services page. About page. Newsletter signup. Your complete digital ecosystem.

  • Additional Page (per page) $100
  • Newsletter Signup Page $150
  • Services/Offerings Page $200
  • About/Story Page $175
  • Custom Landing Pages $250-$500
Your Growth Journey

The Upgrade Path

You don't need everything on Day 1. But you DO need to know it's possible. Start where you are. Build as you grow.

1

The Foundation

$97/year - Essential

  • Basic digital card + QR code
  • Professional identity established
  • Mobile-optimized presence
  • Better than 99% of paper cards
Foundation Established
2

The Amplification

$197/year - Professional

  • + Video introduction
  • + Enhanced analytics
  • + Portfolio showcase
  • + Lead capture system
Authority Growing
3

The Empire

$397+/year - Premium

  • + Custom domain
  • + Mini shop capability
  • + Multi-page experience
  • + Complete brand ecosystem
Digital Sovereignty Achieved

Why This Beats Linktree, Social-Only, or Nothing

What You Get Social Only Linktree Website Handshake
Essential
Handshake
Premium
You Own It ❌ ❌ ✅ ✅ ✅
Mobile-Optimized ⚠️ ✅ ⚠️ ✅ ✅
Offline Capable (QR) ❌ ❌ ❌ ✅ ✅
Professional Look ⚠️ ⚠️ ✅ ✅ ✅
Deep Analytics ⚠️ ⚠️ ✅ ✅ ✅ AI
Can Sell Products ⚠️ ❌ ✅ Add-on ✅
Easy Updates ✅ ✅ ⚠️ ✅ ✅
Annual Cost Free $0-$72 $500-$5K+ $97 $397
💡 The Verdict: Social media is rented land. Linktree is a stepping stone. Websites are often overkill (and overpriced). Your Handshake card? It's YOUR digital real estate—professional, affordable, scalable.

Not Sure What You Need? Start Here.

Free tools to help you plan, choose, and build your perfect digital presence.

📋

Digital Card Content Planner

What to include, what to skip, how to structure your card for maximum impact. The complete planning guide.

Download Free Guide
🧭

Which Tier Quiz

5 questions that recommend your perfect starting point. Essential? Professional? Premium? Let's find out.

Take the Quiz
📊

$0-$10K Digital Presence Builder

Budget-smart progression plan. When to invest in cards vs. websites vs. social media. Strategic guidance for every stage.

Get the Roadmap

Choose Your Path Forward

🎯

I Know What I Want

You've explored the possibilities. You're ready to build. Let's make it happen.

See Pricing & Choose Your Tier
🤔

I Need Help Deciding

Not sure which tier or add-ons are right? Book a free 15-minute discovery call. We'll guide you.

Book Free Consultation
🎁

I'm Just Exploring

No pressure. Grab our free planning guides and explore at your own pace. We'll be here when you're ready.

Download Free Resources

Handshake.africa

From simple cards to complete digital empires. We grow WITH you—at YOUR pace, at YOUR budget.

Product

  • Home
  • Discover
  • Gallery
  • Pricing
  • Your Possibilities

Company

  • About Us
  • Contact

Legal

  • Terms
  • Privacy
  • Refunds

© 2025 Handshake.africa • All Rights Reserved

Powered by Dynamic Paradigms

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

warning