{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+RHIuIFBhdHJpY2sgS2FsaWlrYSB8IENsaW5pY2FsIERpcmVjdG9yIHwgQ2FzZSBIb3NwaXRhbCBVZ2FuZGE8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9IkRyLiBQYXRyaWNrIEthbGlpa2EgfCBDbGluaWNhbCBEaXJlY3RvciB8IENhc2UgSG9zcGl0YWwgVWdhbmRhIj4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJDb25uZWN0IHdpdGggRHIuIFBhdHJpY2sgS2FsaWlrYSDigJMgQ2xpbmljYWwgRGlyZWN0b3IgYXQgQ2FzZSBIb3NwaXRhbCBVZ2FuZGEuIE92ZXIgMjUgeWVhcnMgb2YgZXhjZWxsZW5jZSBpbiBjb21wbGV4IGdlbmVyYWwgYW5kIGxhcGFyb3Njb3BpYyBzdXJnZXJ5LiI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iRHIgUGF0cmljayBLYWxpaWthLCBDbGluaWNhbCBEaXJlY3RvciwgU3VyZ2VvbiwgTGFwYXJvc2NvcGljIFN1cmdlcnksIENhc2UgSG9zcGl0YWwsIFVnYW5kYSwgS2FtcGFsYSI+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3ciPgogICAgCiAgICA8IS0tIE9wZW4gR3JhcGggLS0+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0icHJvZmlsZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL2Nhc2VjbGluaWMub3JnL2NsaW5pY2FsLWRpcmVjdG9yIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iRHIuIFBhdHJpY2sgS2FsaWlrYSB8IENsaW5pY2FsIERpcmVjdG9yIHwgQ2FzZSBIb3NwaXRhbCI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkNsaW5pY2FsIERpcmVjdG9yICYgU2VuaW9yIFN1cmdlb24gYXQgQ2FzZSBIb3NwaXRhbCBVZ2FuZGEuIDI1KyB5ZWFycyBleHBlcmllbmNlLiBDb25uZWN0IG5vdy4iPgogICAgCiAgICA8IS0tIFRoZW1lIENvbG9yIC0tPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwQTc1NDEiPgogICAgCiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20iPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PUludGVyOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgICAKICAgIDxzdHlsZT4KICAgICAgICA6cm9vdCB7CiAgICAgICAgICAgIC0tY2FzZS1ncmVlbjogIzBBNzU0MTsKICAgICAgICAgICAgLS1jYXNlLWdyZWVuLWRhcms6ICMwNTNEMjg7CiAgICAgICAgICAgIC0tY2FzZS1ncmVlbi1saWdodDogIzBEOTY1NDsKICAgICAgICAgICAgLS1jYXNlLXB1cnBsZTogIzRCMUQ3RDsKICAgICAgICAgICAgLS1jYXNlLXB1cnBsZS1saWdodDogIzhCNEZDRjsKICAgICAgICAgICAgLS1jYXNlLW9yYW5nZTogI0ZGNkIwMDsKICAgICAgICAgICAgLS1jYXNlLW9yYW5nZS1saWdodDogI0ZGOEMzMzsKICAgICAgICAgICAgCiAgICAgICAgICAgIC0tZGVlcC1iZzogIzA0MUEwRDsKICAgICAgICAgICAgLS1jYXJkLWJnOiAjMEEyNDE1OwogICAgICAgICAgICAtLWNhcmQtYmctbGlnaHQ6ICMwRDJFMUE7CiAgICAgICAgICAgIC0td2FybS13aGl0ZTogI0ZGRkVGODsKICAgICAgICAgICAgLS10ZXh0LWxpZ2h0OiAjRThGNUU5OwogICAgICAgICAgICAtLXRleHQtbXV0ZWQ6ICNBOEM5QjA7CiAgICAgICAgfQoKICAgICAgICAqIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgdmFyKC0tZGVlcC1iZykgMCUsICMwRDI4MTggNTAlLCB2YXIoLS1jYXNlLWdyZWVuLWRhcmspIDEwMCUpOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIH0KCiAgICAgICAgLmZsb2F0aW5nLWNyb3NzZXMgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHRvcDogMDsgbGVmdDogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsKICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAubWVkaWNhbC1jcm9zcyB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgb3BhY2l0eTogMC4wNjsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmbG9hdENyb3NzIDIwcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIC5tZWRpY2FsLWNyb3NzOjpiZWZvcmUsCiAgICAgICAgLm1lZGljYWwtY3Jvc3M6OmFmdGVyIHsKICAgICAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2FzZS1ncmVlbik7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB9CgogICAgICAgIC5tZWRpY2FsLWNyb3NzOjpiZWZvcmUgewogICAgICAgICAgICB3aWR0aDogMTBweDsgaGVpZ2h0OiAzNXB4OwogICAgICAgICAgICB0b3A6IDUwJTsgbGVmdDogNTAlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICB9CgogICAgICAgIC5tZWRpY2FsLWNyb3NzOjphZnRlciB7CiAgICAgICAgICAgIHdpZHRoOiAzNXB4OyBoZWlnaHQ6IDEwcHg7CiAgICAgICAgICAgIHRvcDogNTAlOyBsZWZ0OiA1MCU7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIH0KCiAgICAgICAgLmNyb3NzLTEgeyB0b3A6IDEwJTsgbGVmdDogNSU7IGFuaW1hdGlvbi1kZWxheTogMHM7IH0KICAgICAgICAuY3Jvc3MtMiB7IHRvcDogMjUlOyByaWdodDogOCU7IGFuaW1hdGlvbi1kZWxheTogLTVzOyB9CiAgICAgICAgLmNyb3NzLTMgeyB0b3A6IDUwJTsgbGVmdDogMyU7IGFuaW1hdGlvbi1kZWxheTogLTEwczsgfQogICAgICAgIC5jcm9zcy00IHsgdG9wOiA3MCU7IHJpZ2h0OiA1JTsgYW5pbWF0aW9uLWRlbGF5OiAtMTVzOyB9CiAgICAgICAgLmNyb3NzLTUgeyB0b3A6IDg1JTsgbGVmdDogMTAlOyBhbmltYXRpb24tZGVsYXk6IC0zczsgfQogICAgICAgIC5jcm9zcy02IHsgdG9wOiA0MCU7IHJpZ2h0OiAzJTsgYW5pbWF0aW9uLWRlbGF5OiAtOHM7IH0KCiAgICAgICAgLmNyb3NzLXB1cnBsZTo6YmVmb3JlLCAuY3Jvc3MtcHVycGxlOjphZnRlciB7IGJhY2tncm91bmQ6IHZhcigtLWNhc2UtcHVycGxlKTsgfQogICAgICAgIC5jcm9zcy1vcmFuZ2U6OmJlZm9yZSwgLmNyb3NzLW9yYW5nZTo6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jYXNlLW9yYW5nZSk7IH0KCiAgICAgICAgQGtleWZyYW1lcyBmbG9hdENyb3NzIHsKICAgICAgICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyBvcGFjaXR5OiAwLjA0OyB9CiAgICAgICAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgcm90YXRlKDEwZGVnKTsgb3BhY2l0eTogMC4wODsgfQogICAgICAgIH0KCiAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLmNvbnRhaW5lciB7IG1heC13aWR0aDogNjAwcHg7IHBhZGRpbmc6IDM1cHggMzBweDsgfQogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7CiAgICAgICAgICAgIC5jb250YWluZXIgeyBtYXgtd2lkdGg6IDcwMHB4OyBwYWRkaW5nOiA0MHB4OyB9CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgdmFyKC0tY2FyZC1iZyksIHZhcigtLWNhcmQtYmctbGlnaHQpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgICAgICAgcGFkZGluZzogMzVweCAyNXB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDI1cHggODBweCByZ2JhKDAsIDAsIDAsIDAuNSksIDAgMCAwIDFweCByZ2JhKDEwLCAxMTcsIDY1LCAwLjIpOwogICAgICAgICAgICBhbmltYXRpb246IGNhcmRGYWRlSW4gMC42cyBlYXNlLW91dDsKICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgewogICAgICAgICAgICAucHJvZmlsZS1jYXJkIHsgcGFkZGluZzogNDVweCAzNXB4OyB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGNhcmRGYWRlSW4gewogICAgICAgICAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9CiAgICAgICAgICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1oZWFkZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1pbWFnZS1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxNDBweDsgaGVpZ2h0OiAxNDBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjVweDsKICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgewogICAgICAgICAgICAucHJvZmlsZS1pbWFnZS1jb250YWluZXIgeyB3aWR0aDogMTYwcHg7IGhlaWdodDogMTYwcHg7IH0KICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLXJpbmcgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogLTVweDsgbGVmdDogLTVweDsgcmlnaHQ6IC01cHg7IGJvdHRvbTogLTVweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudCh2YXIoLS1jYXNlLWdyZWVuKSwgdmFyKC0tY2FzZS1wdXJwbGUpLCB2YXIoLS1jYXNlLW9yYW5nZSksIHZhcigtLWNhc2UtZ3JlZW4pKTsKICAgICAgICAgICAgYW5pbWF0aW9uOiByaW5nUm90YXRlIDhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgcmluZ1JvdGF0ZSB7CiAgICAgICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQogICAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLWltYWdlIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNhcmQtYmcpOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tY2FyZC1iZyk7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAuY2FzZS1jcm9zcyB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsKICAgICAgICB9CgogICAgICAgIC5jYXNlLWNyb3NzOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDUwJTsgbGVmdDogNTAlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICAgICAgd2lkdGg6IDE4cHg7IGhlaWdodDogNjBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2FzZS1ncmVlbik7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB9CgogICAgICAgIC5jYXNlLWNyb3NzOjphZnRlciB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogNTAlOyBsZWZ0OiA1MCU7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgICAgICB3aWR0aDogNjBweDsgaGVpZ2h0OiAxOHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXNlLWdyZWVuKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhc2UtY3Jvc3MgLmNlbnRlciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiA1MCU7IGxlZnQ6IDUwJTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgICAgIHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNhc2UtcHVycGxlKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgICAgICB6LWluZGV4OiAyOwogICAgICAgIH0KCiAgICAgICAgLnByb2ZpbGUtbmFtZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLXdoaXRlKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLnByb2ZpbGUtbmFtZSB7IGZvbnQtc2l6ZTogMi40cmVtOyB9CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2FzZS1wdXJwbGUtbGlnaHQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLnByb2ZpbGUtdGl0bGUgeyBmb250LXNpemU6IDEuMjVyZW07IH0KICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLWNvbXBhbnkgewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLXNwZWNpYWx0eSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTAsIDExNywgNjUsIDAuMyksIHJnYmEoNzUsIDI5LCAxMjUsIDAuMikpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jYXNlLWdyZWVuKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2FzZS1ncmVlbi1saWdodCk7CiAgICAgICAgfQoKICAgICAgICAuZXhwZXJpZW5jZS1iYWRnZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgICAgICAgcGFkZGluZzogNnB4IDE2cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNhc2Utb3JhbmdlKSwgI0U2NUMwMCk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgICAgICBhbmltYXRpb246IGJhZGdlUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGJhZGdlUHVsc2UgewogICAgICAgICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH0KICAgICAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfQogICAgICAgIH0KCiAgICAgICAgLmNyZWRlbnRpYWxzIHsKICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDExNywgNjUsIDAuMSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY2FzZS1ncmVlbik7CiAgICAgICAgfQoKICAgICAgICAuY3JlZGVudGlhbHMtdGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNhc2UtZ3JlZW4tbGlnaHQpOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIH0KCiAgICAgICAgLmNyZWRlbnRpYWxzLWxpc3QgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICB9CgogICAgICAgIC5jcmVkZW50aWFsLWJhZGdlIHsKICAgICAgICAgICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzUsIDI5LCAxMjUsIDAuMik7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNhc2UtcHVycGxlKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1zZWN0aW9uIHsgbWFyZ2luOiAyNXB4IDA7IH0KCiAgICAgICAgLmNvbnRhY3QtaXRlbSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTE3LCA2NSwgMC4yKTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxMTcsIDY1LCAwLjE1KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2FzZS1ncmVlbiksIHZhcigtLWNhc2UtZ3JlZW4tZGFyaykpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtZGV0YWlscyB7IGZsZXg6IDE7IH0KCiAgICAgICAgLmNvbnRhY3QtbGFiZWwgewogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtdmFsdWUgewogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0td2hpdGUpOwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5jb250YWN0LXZhbHVlIHsgZm9udC1zaXplOiAxLjJyZW07IH0KICAgICAgICB9CgogICAgICAgIC5jb250YWN0LXZhbHVlIGEgewogICAgICAgICAgICBjb2xvcjogdmFyKC0td2FybS13aGl0ZSk7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5hY3Rpb24tYnV0dG9ucyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBtYXJnaW46IDI1cHggMDsKICAgICAgICB9CgogICAgICAgIC5hY3Rpb24tYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuYnRuLWNhbGwgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jYXNlLWdyZWVuKSwgdmFyKC0tY2FzZS1ncmVlbi1kYXJrKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLXdoaXRlKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDEwLCAxMTcsIDY1LCAwLjQpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1jYWxsOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMzVweCByZ2JhKDEwLCAxMTcsIDY1LCAwLjUpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi13aGF0c2FwcCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMyNUQzNjYsICMxMjhDN0UpOwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgzNywgMjExLCAxMDIsIDAuMyk7CiAgICAgICAgfQoKICAgICAgICAuYnRuLXdoYXRzYXBwOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMzVweCByZ2JhKDM3LCAyMTEsIDEwMiwgMC40KTsKICAgICAgICB9CgogICAgICAgIC5zYXZlLXNoYXJlIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDA7CiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMCwgMTE3LCA2NSwgMC4yKTsKICAgICAgICB9CgogICAgICAgIC5zYXZlLXNoYXJlLWJ0biB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogNnB4OwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDExNywgNjUsIDAuMyk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5zYXZlLXNoYXJlLWJ0bjpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDExNywgNjUsIDAuMik7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICB9CgogICAgICAgIC5zYXZlLXNoYXJlLWJ0biAuaWNvbiB7IGZvbnQtc2l6ZTogMS41cmVtOyB9CgogICAgICAgIC5uZXdzLWJhZGdlIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDEwNywgMCwgMC4xKTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2FzZS1vcmFuZ2UpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAubmV3cy1iYWRnZTpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMDcsIDAsIDAuMik7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICAgICAgICB9CgogICAgICAgIC5uZXdzLWJhZGdlIHNwYW4gewogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2FzZS1vcmFuZ2UtbGlnaHQpOwogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OwogICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsKICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTAsIDExNywgNjUsIDAuMik7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXBvd2VyZWQgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItcG93ZXJlZCBhIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNhc2UtZ3JlZW4tbGlnaHQpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWNvcHlyaWdodCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAgICAgICAgICAgLm1lZGljYWwtY3Jvc3MsIC5wcm9maWxlLXJpbmcsIC5wcm9maWxlLWNhcmQsIC5leHBlcmllbmNlLWJhZGdlIHsgYW5pbWF0aW9uOiBub25lOyB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KCiAgICA8ZGl2IGNsYXNzPSJmbG9hdGluZy1jcm9zc2VzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpY2FsLWNyb3NzIGNyb3NzLTEiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lZGljYWwtY3Jvc3MgY3Jvc3MtMiBjcm9zcy1wdXJwbGUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lZGljYWwtY3Jvc3MgY3Jvc3MtMyI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWNhbC1jcm9zcyBjcm9zcy00IGNyb3NzLW9yYW5nZSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWNhbC1jcm9zcyBjcm9zcy01IGNyb3NzLXB1cnBsZSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWNhbC1jcm9zcyBjcm9zcy02Ij48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1jYXJkIj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxoZWFkZXIgY2xhc3M9InByb2ZpbGUtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtaW1hZ2UtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLXJpbmciPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtaW1hZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXNlLWNyb3NzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjZW50ZXIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJwcm9maWxlLW5hbWUiPkRyLiBQYXRyaWNrIEthbGlpa2E8L2gxPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InByb2ZpbGUtdGl0bGUiPkNsaW5pY2FsIERpcmVjdG9yPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InByb2ZpbGUtY29tcGFueSI+Q2FzZSBIb3NwaXRhbDwvcD4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9maWxlLXNwZWNpYWx0eSI+8J+UrCBTdXJnZW9uPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV4cGVyaWVuY2UtYmFkZ2UiPjI1KyBZZWFyczwvc3Bhbj4KICAgICAgICAgICAgPC9oZWFkZXI+CgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iY3JlZGVudGlhbHMiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJjcmVkZW50aWFscy10aXRsZSI+8J+puiBFeHBlcnRpc2U8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3JlZGVudGlhbHMtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNyZWRlbnRpYWwtYmFkZ2UiPkdlbmVyYWwgU3VyZ2VyeTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3JlZGVudGlhbC1iYWRnZSI+TGFwYXJvc2NvcGljIFN1cmdlcnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNyZWRlbnRpYWwtYmFkZ2UiPkNvbXBsZXggUHJvY2VkdXJlczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3JlZGVudGlhbC1iYWRnZSI+U3VyZ2ljYWwgTGVhZGVyc2hpcDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iY29udGFjdC1zZWN0aW9uIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn5OePC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtbGFiZWwiPlRvbGwgRnJlZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtdmFsdWUiPjxhIGhyZWY9InRlbDowODAwMjExMDA1Ij4wODAwIDIxMSAwMDU8L2E+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn5KsPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtbGFiZWwiPldoYXRzQXBwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC12YWx1ZSI+PGEgaHJlZj0iaHR0cHM6Ly93YS5tZS8yNTY3NjQyMDk4ODkiPisyNTYgNzY0IDIwOSA4ODk8L2E+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7inInvuI88L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC1sYWJlbCI+RW1haWw8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LXZhbHVlIj48YSBocmVmPSJtYWlsdG86aW5mb0BjYXNlbWVkc2VydmljZXMub3JnIj5pbmZvQGNhc2VtZWRzZXJ2aWNlcy5vcmc8L2E+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn4yQPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtbGFiZWwiPldlYnNpdGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LXZhbHVlIj48YSBocmVmPSJodHRwczovL2Nhc2VtZWRzZXJ2aWNlcy5vcmciIHRhcmdldD0iX2JsYW5rIj5jYXNlbWVkc2VydmljZXMub3JnPC9hPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYnV0dG9ucyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJ0ZWw6MDgwMDIxMTAwNSIgY2xhc3M9ImFjdGlvbi1idG4gYnRuLWNhbGwiPvCfk54gQ2FsbCBOb3c8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3dhLm1lLzI1Njc2NDIwOTg4OSIgY2xhc3M9ImFjdGlvbi1idG4gYnRuLXdoYXRzYXBwIj7wn5KsIFdoYXRzQXBwPC9hPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNhdmUtc2hhcmUiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InNhdmUtc2hhcmUtYnRuIiBvbmNsaWNrPSJkb3dubG9hZFZDYXJkKCkiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIj7wn5OlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPlNhdmUgQ29udGFjdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJzYXZlLXNoYXJlLWJ0biIgb25jbGljaz0ic2hhcmVDYXJkKCkiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIj7wn5OkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPlNoYXJlPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9xLTAuY28vZHItcGF0cmljay1rYWxpaWthIiBjbGFzcz0ic2F2ZS1zaGFyZS1idG4iIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbiI+8J+TsTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5RUiBDb2RlPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2FzZWNsaW5pYy5uZXdzL2hvdy1jYXNlLWNsaW5pYy11Z2FuZGEtc2hhcGVzLXRoZS1mdXR1cmUtb2YtaGVhbHRoY2FyZSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJuZXdzLWJhZGdlIj4KICAgICAgICAgICAgICAgIDxzcGFuPvCfk7A8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj5GZWF0dXJlZCBvbiBjYXNlY2xpbmljLm5ld3M8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLXBvd2VyZWQiPgogICAgICAgICAgICAgICAgICAgIFBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly9oYW5kc2hha2UuYWZyaWNhIiB0YXJnZXQ9Il9ibGFuayI+QnJhbmQgSGFuZHNoYWtlIEFmcmljYTwvYT4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij7CqSAyMDI2IENhc2UgTWVkaWNhbCBTZXJ2aWNlcyDigKIgVWdhbmRhPC9wPgogICAgICAgICAgICA8L2Zvb3Rlcj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIGZ1bmN0aW9uIGRvd25sb2FkVkNhcmQoKSB7CiAgICAgICAgICAgIGNvbnN0IHZjYXJkID0gYEJFR0lOOlZDQVJEClZFUlNJT046My4wCkZOOkRyLiBQYXRyaWNrIEthbGlpa2EKT1JHOkNhc2UgSG9zcGl0YWwKVElUTEU6Q2xpbmljYWwgRGlyZWN0b3IgLSBTdXJnZW9uClRFTDtUWVBFPVdPUks6MDgwMDIxMTAwNQpURUw7VFlQRT1DRUxMOisyNTY3NjQyMDk4ODkKRU1BSUw6aW5mb0BjYXNlbWVkc2VydmljZXMub3JnClVSTDpodHRwczovL2Nhc2VtZWRzZXJ2aWNlcy5vcmcKTk9URTpDbGluaWNhbCBEaXJlY3RvciBhdCBDYXNlIEhvc3BpdGFsIFVnYW5kYS4gT3ZlciAyNSB5ZWFycyBleHBlcmllbmNlIGluIGNvbXBsZXggZ2VuZXJhbCBhbmQgbGFwYXJvc2NvcGljIHN1cmdlcnkuCkVORDpWQ0FSRGA7CiAgICAgICAgICAgIAogICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3ZjYXJkXSwgeyB0eXBlOiAndGV4dC92Y2FyZCcgfSk7CiAgICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiAgICAgICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICAgICAgICAgIGEuaHJlZiA9IHVybDsKICAgICAgICAgICAgYS5kb3dubG9hZCA9ICdEcl9QYXRyaWNrX0thbGlpa2EudmNmJzsKICAgICAgICAgICAgYS5jbGljaygpOwogICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZ1bmN0aW9uIHNoYXJlQ2FyZCgpIHsKICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5zaGFyZSkgewogICAgICAgICAgICAgICAgbmF2aWdhdG9yLnNoYXJlKHsKICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0RyLiBQYXRyaWNrIEthbGlpa2EgLSBDbGluaWNhbCBEaXJlY3RvcicsCiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ0Nvbm5lY3Qgd2l0aCBEci4gUGF0cmljayBLYWxpaWthLCBDbGluaWNhbCBEaXJlY3RvciAmIFNlbmlvciBTdXJnZW9uIGF0IENhc2UgSG9zcGl0YWwgVWdhbmRhJywKICAgICAgICAgICAgICAgICAgICB1cmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHdpbmRvdy5sb2NhdGlvbi5ocmVmKTsKICAgICAgICAgICAgICAgIGFsZXJ0KCdMaW5rIGNvcGllZCB0byBjbGlwYm9hcmQhJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPg==","embed":""}
Dr. Patrick Kaliika
Clinical Director
Case Hospital
🔬 Surgeon 25+ Years🩺 Expertise
General Surgery
Laparoscopic Surgery
Complex Procedures
Surgical Leadership
📞
Toll Free
0800 211 005
💬
WhatsApp
+256 764 209 889
✉️
Email
info@casemedservices.org
🌐
Website
casemedservices.org