{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+QXJ0aXN0aWMgVHJlZSBDYXJlIOKAlCAyNSBZZWFycyBEZWVwLCBIb3VzdG9uIFRYPC90aXRsZT4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1GcmF1bmNlczpvcHN6LHdnaHRAOS4uMTQ0LDMwMDs5Li4xNDQsNTAwOzkuLjE0NCw2MDA7OS4uMTQ0LDcwMDs5Li4xNDQsOTAwJmZhbWlseT1BcmNoaXZvOndnaHRANDAwOzUwMDs2MDA7NzAwJmZhbWlseT1TcGFjZStNb25vOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxzdHlsZT4KICA6cm9vdHsKICAgIC0tY2Fub3B5OiMxNzI0MUE7CiAgICAtLWNhbm9weS0yOiMxRjMzMjQ7CiAgICAtLWJhcms6IzJFMjAxMzsKICAgIC0taGVhcnR3b29kOiNCRTZBMkU7CiAgICAtLWhlYXJ0d29vZC1zb2Z0OiNFMzlBNUM7CiAgICAtLWhlYXJ0d29vZC1kZWVwOiM3QTNCMTU7CiAgICAtLWxpY2hlbjojQzNENkJDOwogICAgLS1jYW52YXM6I0VGRTlEODsKICAgIC0tY2FudmFzLTI6I0U0RENDNjsKICAgIC0taW5rOiMxNDFCMTI7CiAgICAtLXJvcGU6IzhDMkYyNjsKICAgIC0tbGluZTogcmdiYSgyMzksMjMzLDIxNiwwLjE4KTsKICB9CgogIC8qID09PT09PT09PT09PSBTQ09QSU5HID09PT09PT09PT09PQogICAgIEV2ZXJ5dGhpbmcgYmVsb3cgaXMgcHJlZml4ZWQgd2l0aCAuYXRjLXNpdGUgc28gaXQgY2FuIG9ubHkgZXZlciBhZmZlY3QKICAgICB0aGlzIGJsb2NrLCBuZXZlciBvdGhlciBjb250ZW50IG9uIHRoZSBzYW1lIEZ1bm5lbFBhZ2VzIHBhZ2UuIFRoZSBvbmUKICAgICBleGNlcHRpb24gaXMgdGhlIHdyYXBwZXItZGFya2VuaW5nIHJ1bGUgZnVydGhlciBkb3duLCB3aGljaCB1c2VzCiAgICAgOmhhcyguYXRjLXNpdGUpIHRvIHJlYWNoIHRoZSBGdW5uZWxQYWdlcyBlZGl0b3IncyBvd24gYW5jZXN0b3Igd3JhcHBlcgogICAgIGRpdnMgKHRob3NlIHNpdCBBQk9WRSAuYXRjLXNpdGUgaW4gdGhlIERPTSwgc28gYSBub3JtYWwgZGVzY2VuZGFudAogICAgIHNlbGVjdG9yIGNhbid0IHJlYWNoIHRoZW0g4oCUIDpoYXMoKSBpcyB0aGUgY29ycmVjdCB0b29sIGZvciB0aGF0KS4gKi8KICAuYXRjLXNpdGUgKntib3gtc2l6aW5nOmJvcmRlci1ib3g7fQogIC5hdGMtc2l0ZXsKICAgIGRpc3BsYXk6YmxvY2s7CiAgICB3aWR0aDoxMDAlOwogICAgbWFyZ2luOjA7CiAgICBiYWNrZ3JvdW5kOnZhcigtLWNhbnZhcyk7CiAgICBjb2xvcjp2YXIoLS1pbmspOwogICAgZm9udC1mYW1pbHk6J0FyY2hpdm8nLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOmNsYW1wKDE4cHgsIDEuMDV2dywgMjBweCk7CiAgICBsaW5lLWhlaWdodDoxLjY1OwogICAgLXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDsKICAgIHRleHQtYWxpZ246bGVmdDsKICB9CgogIC8qIEZ1bm5lbFBhZ2VzIHNvbWV0aW1lcyB3cmFwcyBjdXN0b20tSFRNTCBibG9ja3MgaW4gdHJhbnNwYXJlbnQvbGlnaHQKICAgICBlZGl0b3IgY29udGFpbmVycy4gOmhhcygpIHNjb3BlcyB0aGlzIGZpeCB0byBvbmx5IHRoZSB3cmFwcGVycyB0aGF0CiAgICAgYWN0dWFsbHkgY29udGFpbiBUSElTIGJsb2NrLCBzbyBpdCBjYW4gbmV2ZXIgZGFya2VuIHVucmVsYXRlZCBzZWN0aW9ucwogICAgIGVsc2V3aGVyZSBvbiB0aGUgcGFnZS4gKi8KICAubWFpbkJsb2Nrc1dyYXBwZXI6aGFzKC5hdGMtc2l0ZSksCiAgLnRlbXBsYXRlLWNvbnRlbnQ6aGFzKC5hdGMtc2l0ZSksCiAgLmJsb2NrLWNvbnRhaW5lci50b3Atc2VjdGlvbjpoYXMoLmF0Yy1zaXRlKSwKICAuYmxvY2tSb3dDb250YWluZXI6aGFzKC5hdGMtc2l0ZSksCiAgLnJvd0NvbFBhcmVudFdyYXBwZXI6aGFzKC5hdGMtc2l0ZSksCiAgLkVsZW1lbnRzQ29sU29ydGFibGU6aGFzKC5hdGMtc2l0ZSksCiAgLmN1c3RvbUh0bWxFbGVtZW50OmhhcyguYXRjLXNpdGUpLAogIC5lbGVtZW50V3JhcHBlcjpoYXMoLmF0Yy1zaXRlKSwKICAuZWxlbWVudEN1c3RvbUh0bWxIb2xkZXI6aGFzKC5hdGMtc2l0ZSl7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhbm9weSkgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQtaW1hZ2U6bm9uZSAhaW1wb3J0YW50OwogIH0KCiAgLmF0Yy1zaXRlIDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6dmFyKC0taGVhcnR3b29kKTtjb2xvcjp2YXIoLS1jYW5vcHkpO30KCiAgLmF0Yy1zaXRlIG5hdiwgLmF0Yy1zaXRlIGhlYWRlciwgLmF0Yy1zaXRlIHNlY3Rpb24sIC5hdGMtc2l0ZSBmb290ZXIsCiAgLmF0Yy1zaXRlIGRpdiwgLmF0Yy1zaXRlIHVsLCAuYXRjLXNpdGUgbGksIC5hdGMtc2l0ZSBoMSwgLmF0Yy1zaXRlIGgyLAogIC5hdGMtc2l0ZSBoMywgLmF0Yy1zaXRlIGg0LCAuYXRjLXNpdGUgcCwgLmF0Yy1zaXRlIHF7CiAgICB0ZXh0LWFsaWduOmluaGVyaXQ7CiAgfQoKICAuYXRjLXNpdGUgaDEsLmF0Yy1zaXRlIGgyLC5hdGMtc2l0ZSBoMywuYXRjLXNpdGUgaDR7CiAgICBmb250LWZhbWlseTonRnJhdW5jZXMnLCBzZXJpZjsKICAgIGZvbnQtd2VpZ2h0OjYwMDsKICAgIG1hcmdpbjowOwogICAgbGluZS1oZWlnaHQ6MS4wNTsKICAgIGxldHRlci1zcGFjaW5nOi0wLjAxZW07CiAgfQogIC5hdGMtc2l0ZSAuZXllYnJvd3sKICAgIGZvbnQtZmFtaWx5OidTcGFjZSBNb25vJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOmNsYW1wKDAuNzhyZW0sIDAuNzJ2dywgMC45cmVtKTsKICAgIGZvbnQtd2VpZ2h0OjcwMDsKICAgIGxldHRlci1zcGFjaW5nOjAuMTRlbTsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICAgIGNvbG9yOnZhcigtLWhlYXJ0d29vZC1kZWVwKTsKICAgIGRpc3BsYXk6ZmxleDsKICAgIGFsaWduLWl0ZW1zOmNlbnRlcjsKICAgIGdhcDowLjZlbTsKICB9CiAgLmF0Yy1zaXRlIC5leWVicm93OjpiZWZvcmV7CiAgICBjb250ZW50OiIiOwogICAgd2lkdGg6MjJweDsKICAgIGhlaWdodDoxcHg7CiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjsKICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogICAgb3BhY2l0eTowLjg1OwogIH0KICAuYXRjLXNpdGUgYXtjb2xvcjppbmhlcml0O30KICAuYXRjLXNpdGUgaW1ne21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7fQogIC5hdGMtc2l0ZSAud3JhcHttYXgtd2lkdGg6MTE4MHB4O21hcmdpbjowIGF1dG87cGFkZGluZzowIDMycHg7fQogIC5hdGMtc2l0ZSBzZWN0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlO30KCiAgLmF0Yy1zaXRlIC5yZXZlYWx7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIycHgpO3RyYW5zaXRpb246b3BhY2l0eSAwLjhzIGVhc2UsIHRyYW5zZm9ybSAwLjhzIGVhc2U7fQogIC5hdGMtc2l0ZSAucmV2ZWFsLmlzLXZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO30KICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSl7CiAgICAuYXRjLXNpdGUgLnJldmVhbHtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpub25lO30KICB9CgogIC5hdGMtc2l0ZSBuYXZ7CiAgICBwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDsKICAgIGJhY2tncm91bmQ6cmdiYSgyMywzNiwyNiwwLjkyKTsKICAgIGJhY2tkcm9wLWZpbHRlcjpibHVyKDZweCk7CiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1saW5lKTsKICB9CiAgLmF0Yy1zaXRlIC5uYXYtaW5uZXJ7CiAgICBtYXgtd2lkdGg6MTE4MHB4O21hcmdpbjowIGF1dG87cGFkZGluZzoxNnB4IDMycHg7CiAgICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOwogIH0KICAuYXRjLXNpdGUgLmJyYW5kewogICAgZGlzcGxheTpmbGV4OwogICAgYWxpZ24taXRlbXM6Y2VudGVyOwogIH0KICAuYXRjLXNpdGUgLmJyYW5kIGltZ3sKICAgIGhlaWdodDozOHB4O3dpZHRoOmF1dG87CiAgICBmaWx0ZXI6YnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7CiAgICBvcGFjaXR5OjAuOTU7CiAgfQogIC5hdGMtc2l0ZSAubmF2LXJpZ2h0ewogICAgZGlzcGxheTpmbGV4OwogICAgYWxpZ24taXRlbXM6Y2VudGVyOwogICAgZ2FwOjIycHg7CiAgfQogIC5hdGMtc2l0ZSAubmF2LWxpbmtze2Rpc3BsYXk6ZmxleDtnYXA6MzBweDtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO30KICAuYXRjLXNpdGUgLm5hdi1saW5rcyBhewogICAgY29sb3I6dmFyKC0tbGljaGVuKTsKICAgIHRleHQtZGVjb3JhdGlvbjpub25lOwogICAgZm9udC1zaXplOmNsYW1wKDAuODhyZW0sIDAuODJ2dywgMXJlbSk7CiAgICBmb250LXdlaWdodDo2MDA7CiAgICBsZXR0ZXItc3BhY2luZzowLjAyZW07CiAgICB0cmFuc2l0aW9uOmNvbG9yIDAuMnMgZWFzZTsKICB9CiAgLmF0Yy1zaXRlIC5uYXYtbGlua3MgYTpob3Zlcntjb2xvcjp2YXIoLS1jYW52YXMpO30KICAuYXRjLXNpdGUgLm5hdi1jdGF7CiAgICBiYWNrZ3JvdW5kOnZhcigtLWhlYXJ0d29vZCk7CiAgICBjb2xvcjp2YXIoLS1jYW5vcHkpOwogICAgcGFkZGluZzoxMHB4IDIwcHg7CiAgICBib3JkZXItcmFkaXVzOjJweDsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjg4cmVtLCAwLjgydncsIDFyZW0pOwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7CiAgICBsZXR0ZXItc3BhY2luZzowLjAxZW07CiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgfQogIC5hdGMtc2l0ZSAubmF2LWN0YTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWhlYXJ0d29vZC1zb2Z0KTt9CiAgLmF0Yy1zaXRlIC5tb2JpbGUtaGlkZXtkaXNwbGF5OmZsZXg7fQogIC5hdGMtc2l0ZSAubmF2LXRvZ2dsZXsKICAgIGRpc3BsYXk6bm9uZTsKICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7CiAgICBnYXA6NXB4OwogICAgd2lkdGg6MzJweDsKICAgIGhlaWdodDozMnB4OwogICAgcGFkZGluZzowOwogICAgYmFja2dyb3VuZDpub25lOwogICAgYm9yZGVyOm5vbmU7CiAgICBjdXJzb3I6cG9pbnRlcjsKICAgIGZsZXgtc2hyaW5rOjA7CiAgfQogIC5hdGMtc2l0ZSAubmF2LXRvZ2dsZSBzcGFuewogICAgZGlzcGxheTpibG9jazsKICAgIHdpZHRoOjEwMCU7CiAgICBoZWlnaHQ6MnB4OwogICAgYmFja2dyb3VuZDp2YXIoLS1jYW52YXMpOwogICAgYm9yZGVyLXJhZGl1czoxcHg7CiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTsKICB9CiAgLmF0Yy1zaXRlIC5uYXYtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9InRydWUiXSBzcGFuOm50aC1jaGlsZCgxKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSg3cHgpIHJvdGF0ZSg0NWRlZyk7fQogIC5hdGMtc2l0ZSAubmF2LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0gc3BhbjpudGgtY2hpbGQoMil7b3BhY2l0eTowO30KICAuYXRjLXNpdGUgLm5hdi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIHNwYW46bnRoLWNoaWxkKDMpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC03cHgpIHJvdGF0ZSgtNDVkZWcpO30KICAuYXRjLXNpdGUgLm1vYmlsZS1tZW51ewogICAgZGlzcGxheTpub25lOwogICAgZmxleC1kaXJlY3Rpb246Y29sdW1uOwogICAgbWF4LWhlaWdodDowOwogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgYmFja2dyb3VuZDp2YXIoLS1jYW5vcHkpOwogICAgYm9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7CiAgICB0cmFuc2l0aW9uOm1heC1oZWlnaHQgMC4zcyBlYXNlOwogIH0KICAuYXRjLXNpdGUgLm1vYmlsZS1tZW51LmlzLW9wZW57bWF4LWhlaWdodDoyODBweDt9CiAgLmF0Yy1zaXRlIC5tb2JpbGUtbWVudSBhewogICAgY29sb3I6dmFyKC0tbGljaGVuKTsKICAgIHRleHQtZGVjb3JhdGlvbjpub25lOwogICAgZm9udC1zaXplOjEuMDVyZW07CiAgICBmb250LXdlaWdodDo2MDA7CiAgICBwYWRkaW5nOjE2cHggMjBweDsKICAgIGJvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpOwogIH0KICAuYXRjLXNpdGUgLm1vYmlsZS1tZW51IGE6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDpub25lO30KICAuYXRjLXNpdGUgLm1vYmlsZS1tZW51IGEubW9iaWxlLW1lbnUtY3Rhe2NvbG9yOnZhcigtLWhlYXJ0d29vZC1zb2Z0KTt9CiAgQG1lZGlhIChtYXgtd2lkdGg6ODIwcHgpewogICAgLmF0Yy1zaXRlIC5tb2JpbGUtaGlkZXtkaXNwbGF5Om5vbmU7fQogICAgLmF0Yy1zaXRlIC53cmFwLCAuYXRjLXNpdGUgLm5hdi1pbm5lcntwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHg7fQogICAgLmF0Yy1zaXRlIC5uYXYtdG9nZ2xle2Rpc3BsYXk6ZmxleDt9CiAgICAuYXRjLXNpdGUgLm1vYmlsZS1tZW51e2Rpc3BsYXk6ZmxleDt9CiAgICAuYXRjLXNpdGUgLm5hdi1jdGF7cGFkZGluZzo5cHggMTZweDtmb250LXNpemU6MC44NXJlbTt9CiAgICAuYXRjLXNpdGUgLm5hdi1yaWdodHtnYXA6MTRweDt9CiAgfQoKICAuYXRjLXNpdGUgLmhlcm97CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIGNvbG9yOnZhcigtLWNhbnZhcyk7CiAgICBwYWRkaW5nOjE3MnB4IDAgOTBweDsKICAgIG92ZXJmbG93OmhpZGRlbjsKICAgIGlzb2xhdGlvbjppc29sYXRlOwogIH0KICAuYXRjLXNpdGUgLmhlcm8tbWVkaWF7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOwogICAgei1pbmRleDotMjsKICAgIG92ZXJmbG93OmhpZGRlbjsKICB9CiAgLmF0Yy1zaXRlIC5oZXJvLW1lZGlhIGltZ3sKICAgIHdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7CiAgICBvYmplY3QtZml0OmNvdmVyOwogICAgb2JqZWN0LXBvc2l0aW9uOmNlbnRlciAzMCU7CiAgICBhbmltYXRpb246YXRjLWtlbmJ1cm5zIDIycyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7CiAgICBmaWx0ZXI6c2F0dXJhdGUoMS4wOCkgY29udHJhc3QoMS4wNSk7CiAgfQogIEBrZXlmcmFtZXMgYXRjLWtlbmJ1cm5zewogICAgMCV7dHJhbnNmb3JtOnNjYWxlKDEuMDYpIHRyYW5zbGF0ZSgwLDApO30KICAgIDEwMCV7dHJhbnNmb3JtOnNjYWxlKDEuMTYpIHRyYW5zbGF0ZSgtMS41JSwtMSUpO30KICB9CiAgLmF0Yy1zaXRlIC5oZXJvOjpiZWZvcmV7CiAgICBjb250ZW50OiIiOwogICAgcG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDsKICAgIHotaW5kZXg6LTE7CiAgICBiYWNrZ3JvdW5kOgogICAgICBsaW5lYXItZ3JhZGllbnQoMTAwZGVnLCByZ2JhKDIzLDM2LDI2LDAuOTcpIDAlLCByZ2JhKDIzLDM2LDI2LDAuODgpIDMyJSwgcmdiYSgyMywzNiwyNiwwLjU1KSA1OCUsIHJnYmEoMjMsMzYsMjYsMC44MikgMTAwJSksCiAgICAgIGxpbmVhci1ncmFkaWVudCgwZGVnLCB2YXIoLS1jYW5vcHkpIDAlLCByZ2JhKDIzLDM2LDI2LDAuMTUpIDIyJSwgcmdiYSgyMywzNiwyNiwwLjEpIDc4JSwgdmFyKC0tY2Fub3B5KSAxMDAlKTsKICB9CiAgLmF0Yy1zaXRlIC5oZXJvLWJhZGdlewogICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICB0b3A6MTcwcHg7IHJpZ2h0OjMycHg7CiAgICB6LWluZGV4OjM7CiAgICB3aWR0aDoxMThweDtoZWlnaHQ6MTE4cHg7CiAgICBib3JkZXItcmFkaXVzOjUwJTsKICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7CiAgICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7CiAgICBiYWNrZ3JvdW5kOnJnYmEoMjMsMzYsMjYsMC41NSk7CiAgICBiYWNrZHJvcC1maWx0ZXI6Ymx1cig0cHgpOwogICAgYW5pbWF0aW9uOmF0Yy1zcGluIDI2cyBsaW5lYXIgaW5maW5pdGU7CiAgfQogIEBrZXlmcmFtZXMgYXRjLXNwaW57IHRveyB0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7fSB9CiAgQG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpeyAuYXRjLXNpdGUgLmhlcm8tYmFkZ2V7ZGlzcGxheTpub25lO30gfQoKICAuYXRjLXNpdGUgLnRpY2tlcnsKICAgIGJhY2tncm91bmQ6dmFyKC0taGVhcnR3b29kKTsKICAgIGNvbG9yOnZhcigtLWNhbm9weSk7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgICBwYWRkaW5nOjExcHggMDsKICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgei1pbmRleDo1OwogIH0KICAuYXRjLXNpdGUgLnRpY2tlci10cmFja3sKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7CiAgICBnYXA6MDsKICAgIGFuaW1hdGlvbjphdGMtdGljayAyOHMgbGluZWFyIGluZmluaXRlOwogIH0KICAuYXRjLXNpdGUgLnRpY2tlci10cmFjayBzcGFuewogICAgZm9udC1mYW1pbHk6J1NwYWNlIE1vbm8nLG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjhyZW0sIDAuNzJ2dywgMC45MnJlbSk7CiAgICBmb250LXdlaWdodDo3MDA7CiAgICBsZXR0ZXItc3BhY2luZzowLjA4ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgICBwYWRkaW5nOjAgMjJweDsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgICBnYXA6MjJweDsKICB9CiAgLmF0Yy1zaXRlIC50aWNrZXItdHJhY2sgc3Bhbjo6YWZ0ZXJ7Y29udGVudDoi4peGIjtmb250LXNpemU6MC42cmVtO29wYWNpdHk6MC42O30KICBAa2V5ZnJhbWVzIGF0Yy10aWNrewogICAgZnJvbXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt9CiAgICB0b3t0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt9CiAgfQogIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKXsKICAgIC5hdGMtc2l0ZSAuaGVyby1tZWRpYSBpbWd7YW5pbWF0aW9uOm5vbmU7fQogICAgLmF0Yy1zaXRlIC5oZXJvLWJhZGdle2FuaW1hdGlvbjpub25lO30KICAgIC5hdGMtc2l0ZSAudGlja2VyLXRyYWNre2FuaW1hdGlvbjpub25lO30KICB9CiAgLmF0Yy1zaXRlIC5oZXJvLWdyaWR7CiAgICBkaXNwbGF5OmdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4xZnIgMC45ZnI7CiAgICBnYXA6NDBweDsKICAgIGFsaWduLWl0ZW1zOmNlbnRlcjsKICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgei1pbmRleDoyOwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLmhlcm8gLmV5ZWJyb3d7Y29sb3I6dmFyKC0taGVhcnR3b29kLXNvZnQpO30KICAuYXRjLXNpdGUgLmhlcm8gaDF7CiAgICBmb250LXNpemU6Y2xhbXAoMy4xcmVtLCA2LjJ2dywgNS40cmVtKTsKICAgIGNvbG9yOnZhcigtLWNhbnZhcyk7CiAgfQogIC5hdGMtc2l0ZSAuaGVybyBoMSBlbXsKICAgIGZvbnQtc3R5bGU6aXRhbGljOwogICAgY29sb3I6dmFyKC0taGVhcnR3b29kLXNvZnQpOwogIH0KICAuYXRjLXNpdGUgLmhlcm8gcC5sZWRlewogICAgbWFyZ2luLXRvcDoyNHB4OwogICAgbWF4LXdpZHRoOjQ2Y2g7CiAgICBmb250LXNpemU6Y2xhbXAoMS4yMnJlbSwgMS40NXZ3LCAxLjVyZW0pOwogICAgbGluZS1oZWlnaHQ6MS41NTsKICAgIGNvbG9yOiNEQ0U4RDc7CiAgfQogIC5hdGMtc2l0ZSAuaGVyby1jdGEtcm93ewogICAgbWFyZ2luLXRvcDozNnB4OwogICAgZGlzcGxheTpmbGV4OwogICAgYWxpZ24taXRlbXM6Y2VudGVyOwogICAgZ2FwOjIycHg7CiAgICBmbGV4LXdyYXA6d3JhcDsKICB9CiAgLmF0Yy1zaXRlIC5idG4tcHJpbWFyeXsKICAgIGJhY2tncm91bmQ6dmFyKC0taGVhcnR3b29kKTsKICAgIGNvbG9yOnZhcigtLWNhbm9weSk7CiAgICBwYWRkaW5nOjE3cHggMzJweDsKICAgIGJvcmRlci1yYWRpdXM6MnB4OwogICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7CiAgICBmb250LXdlaWdodDo3MDA7CiAgICBmb250LXNpemU6Y2xhbXAoMC45OHJlbSwgMC45dncsIDEuMXJlbSk7CiAgICBsZXR0ZXItc3BhY2luZzowLjAxZW07CiAgICBkaXNwbGF5OmlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6Y2VudGVyOwogICAgZ2FwOjEwcHg7CiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTsKICAgIGJveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDE5MCwxMDYsNDYsMC41NSk7CiAgICBhbmltYXRpb246YXRjLXB1bHNlIDIuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgfQogIC5hdGMtc2l0ZSAuYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1oZWFydHdvb2Qtc29mdCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCkgc2NhbGUoMS4wMik7Ym94LXNoYWRvdzowIDEwcHggMjZweCAtNnB4IHJnYmEoMTkwLDEwNiw0NiwwLjU1KTt9CiAgQGtleWZyYW1lcyBhdGMtcHVsc2V7CiAgICAwJSwxMDAle2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDE5MCwxMDYsNDYsMC4zNSk7fQogICAgNTAle2JveC1zaGFkb3c6MCAwIDAgMTBweCByZ2JhKDE5MCwxMDYsNDYsMCk7fQogIH0KICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSl7IC5hdGMtc2l0ZSAuYnRuLXByaW1hcnl7YW5pbWF0aW9uOm5vbmU7fSB9CiAgLmF0Yy1zaXRlIC5idG4tZ2hvc3R7CiAgICBjb2xvcjp2YXIoLS1jYW52YXMpOwogICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7CiAgICBmb250LXNpemU6Y2xhbXAoMC45NHJlbSwgMC44NnZ3LCAxLjA1cmVtKTsKICAgIGZvbnQtd2VpZ2h0OjYwMDsKICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWhlYXJ0d29vZCk7CiAgICBwYWRkaW5nLWJvdHRvbTozcHg7CiAgfQogIC5hdGMtc2l0ZSAuaGVyby1zdGF0c3sKICAgIG1hcmdpbi10b3A6NTZweDsKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpOwogICAgZ2FwOjA7CiAgICBib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTsKICAgIHBhZGRpbmctdG9wOjI2cHg7CiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgfQogIC5hdGMtc2l0ZSAuaGVyby1zdGF0cyBkaXZ7CiAgICBwYWRkaW5nLXJpZ2h0OjE4cHg7CiAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHZhcigtLWxpbmUpOwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLmhlcm8tc3RhdHMgZGl2Omxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0Om5vbmU7fQogIC5hdGMtc2l0ZSAuaGVyby1zdGF0cyAubnVtewogICAgZm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjsKICAgIGZvbnQtc2l6ZTpjbGFtcCgyLjM1cmVtLCAyLjZ2dywgM3JlbSk7CiAgICBjb2xvcjp2YXIoLS1oZWFydHdvb2Qtc29mdCk7CiAgICBmb250LXdlaWdodDo2MDA7CiAgfQogIC5hdGMtc2l0ZSAuaGVyby1zdGF0cyAubGJsewogICAgZm9udC1mYW1pbHk6J1NwYWNlIE1vbm8nLG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjcycmVtLCAwLjd2dywgMC44NHJlbSk7CiAgICBsZXR0ZXItc3BhY2luZzowLjA2ZW07CiAgICBjb2xvcjp2YXIoLS1saWNoZW4pOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgbWFyZ2luLXRvcDo2cHg7CiAgfQogIEBtZWRpYSAobWF4LXdpZHRoOjkwMHB4KXsKICAgIC5hdGMtc2l0ZSAuaGVyby1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQogICAgLmF0Yy1zaXRlIC5oZXJvLXN0YXRze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO3Jvdy1nYXA6MjJweDt9CiAgICAuYXRjLXNpdGUgLmhlcm8tc3RhdHMgZGl2Om50aC1jaGlsZCgyKXtib3JkZXItcmlnaHQ6bm9uZTt9CiAgICAuYXRjLXNpdGUgLmhlcm8gaDF7Zm9udC1zaXplOmNsYW1wKDNyZW0sIDEwdncsIDQuNXJlbSk7fQogIH0KICBAbWVkaWEgKG1heC13aWR0aDo1NjBweCl7CiAgICAuYXRjLXNpdGV7Zm9udC1zaXplOjE3cHg7fQogICAgLmF0Yy1zaXRlIC5oZXJvIGgxe2ZvbnQtc2l6ZTpjbGFtcCgyLjY1cmVtLCAxM3Z3LCAzLjZyZW0pO30KICAgIC5hdGMtc2l0ZSAuaGVybyBwLmxlZGV7Zm9udC1zaXplOjEuMXJlbTt9CiAgfQoKICAuYXRjLXNpdGUgLnJpbmctd3JhcHsKICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgZGlzcGxheTpmbGV4OwogICAgYWxpZ24taXRlbXM6Y2VudGVyOwogICAganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICB9CiAgLmF0Yy1zaXRlIC5yaW5nLXdyYXAgc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87bWF4LXdpZHRoOjQ2MHB4O30KICAuYXRjLXNpdGUgLnJpbmctd3JhcCBjaXJjbGV7CiAgICBmaWxsOm5vbmU7CiAgICBzdHJva2UtbGluZWNhcDpyb3VuZDsKICB9CiAgLmF0Yy1zaXRlIC5yaW5nLWNhcHsKICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICBmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmOwogIH0KICAuYXRjLXNpdGUgLnJpbmctY2FwIC55cntmb250LXNpemU6Y2xhbXAoMi44cmVtLCAzdncsIDMuNXJlbSk7Y29sb3I6dmFyKC0tY2FudmFzKTtmb250LXdlaWdodDo3MDA7fQogIC5hdGMtc2l0ZSAucmluZy1jYXAgLnNpbmNlewogICAgZm9udC1mYW1pbHk6J1NwYWNlIE1vbm8nLG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjY4cmVtLCAwLjY1dncsIDAuOHJlbSk7CiAgICBsZXR0ZXItc3BhY2luZzowLjE0ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgICBjb2xvcjp2YXIoLS1saWNoZW4pOwogIH0KCiAgLmF0Yy1zaXRlIC5zZWMtaGVhZHttYXgtd2lkdGg6NjYwcHg7bWFyZ2luLWJvdHRvbTo1NnB4O3RleHQtYWxpZ246bGVmdDt9CiAgLmF0Yy1zaXRlIC5zZWMtaGVhZCBoMntmb250LXNpemU6Y2xhbXAoMi42cmVtLCA0LjJ2dywgNHJlbSk7bWFyZ2luLXRvcDoxOHB4O30KICAuYXRjLXNpdGUgLnNlYy1oZWFkIHB7Y29sb3I6dmFyKC0tYmFyayk7bWFyZ2luLXRvcDoxOHB4O2ZvbnQtc2l6ZTpjbGFtcCgxLjE2cmVtLCAxLjI1dncsIDEuNHJlbSk7bGluZS1oZWlnaHQ6MS42O21heC13aWR0aDo1NmNoO2ZvbnQtd2VpZ2h0OjUwMDt9CiAgQG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpewogICAgLmF0Yy1zaXRlIC5zZWMtaGVhZCBoMntmb250LXNpemU6Y2xhbXAoMi4zcmVtLCA3dncsIDMuNHJlbSk7fQogIH0KICBAbWVkaWEgKG1heC13aWR0aDo1NjBweCl7CiAgICAuYXRjLXNpdGUgLnNlYy1oZWFkIGgye2ZvbnQtc2l6ZTpjbGFtcCgyLjFyZW0sIDEwdncsIDNyZW0pO30KICB9CgogIC5hdGMtc2l0ZSAudGltZWxpbmV7CiAgICBiYWNrZ3JvdW5kOnZhcigtLWNhbnZhcyk7CiAgICBwYWRkaW5nOjEwMHB4IDAgOTBweDsKICB9CiAgLmF0Yy1zaXRlIC5yaW5ncy1yb3d7CiAgICBkaXNwbGF5OmdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDYsMWZyKTsKICAgIGdhcDoxOHB4OwogICAgbWFyZ2luLXRvcDoxMHB4OwogIH0KICAuYXRjLXNpdGUgLnJpbmctY2FyZHsKICAgIHRleHQtYWxpZ246bGVmdDsKICAgIHBhZGRpbmc6MjZweCAxMnB4IDIwcHg7CiAgICBib3JkZXItdG9wOjJweCBzb2xpZCB2YXIoLS1jYW52YXMtMik7CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICB9CiAgLmF0Yy1zaXRlIC5yaW5nLWNhcmQ6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDtsZWZ0OjA7CiAgICB3aWR0aDowJTsKICAgIGhlaWdodDoycHg7CiAgICBiYWNrZ3JvdW5kOnZhcigtLWhlYXJ0d29vZCk7CiAgICB0cmFuc2l0aW9uOndpZHRoIDAuOXMgZWFzZTsKICB9CiAgLmF0Yy1zaXRlIC5yaW5nLWNhcmQuaXMtdmlzaWJsZTo6YmVmb3Jle3dpZHRoOjEwMCU7fQogIC5hdGMtc2l0ZSAucmluZy1jYXJkIC55cnsKICAgIGZvbnQtZmFtaWx5OidTcGFjZSBNb25vJyxtb25vc3BhY2U7CiAgICBmb250LXNpemU6Y2xhbXAoMC44NHJlbSwgMC43NXZ3LCAwLjk2cmVtKTsKICAgIGNvbG9yOnZhcigtLWhlYXJ0d29vZC1kZWVwKTsKICAgIGZvbnQtd2VpZ2h0OjcwMDsKICAgIHRleHQtYWxpZ246bGVmdDsKICB9CiAgLmF0Yy1zaXRlIC5yaW5nLWNhcmQgaDR7CiAgICBmb250LXNpemU6Y2xhbXAoMS4yMnJlbSwgMS4yNXZ3LCAxLjVyZW0pOwogICAgbWFyZ2luLXRvcDoxMnB4OwogICAgY29sb3I6dmFyKC0taW5rKTsKICAgIHRleHQtYWxpZ246bGVmdDsKICB9CiAgLmF0Yy1zaXRlIC5yaW5nLWNhcmQgcHsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjk4cmVtLCAwLjk1dncsIDEuMTJyZW0pOwogICAgbGluZS1oZWlnaHQ6MS41NTsKICAgIGNvbG9yOnZhcigtLWJhcmspOwogICAgbWFyZ2luLXRvcDoxMHB4OwogICAgZm9udC13ZWlnaHQ6NTAwOwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICBAbWVkaWEgKG1heC13aWR0aDo5MDBweCl7CiAgICAuYXRjLXNpdGUgLnJpbmdzLXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTt9CiAgfQoKICAuYXRjLXNpdGUgLnNlcnZpY2VzewogICAgYmFja2dyb3VuZDp2YXIoLS1jYW5vcHkpOwogICAgY29sb3I6dmFyKC0tY2FudmFzKTsKICAgIHBhZGRpbmc6MTAwcHggMDsKICB9CiAgLmF0Yy1zaXRlIC5zZXJ2aWNlcyAuc2VjLWhlYWQgcHtjb2xvcjp2YXIoLS1saWNoZW4pO30KICAuYXRjLXNpdGUgLnNlcnZpY2VzIC5leWVicm93e2NvbG9yOnZhcigtLWhlYXJ0d29vZC1zb2Z0KTt9CiAgLmF0Yy1zaXRlIC5zZXJ2aWNlLWdyb3Vwc3sKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpOwogICAgZ2FwOjJweDsKICAgIGJhY2tncm91bmQ6dmFyKC0tbGluZSk7CiAgICBtYXJnaW4tdG9wOjIwcHg7CiAgICBib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpOwogIH0KICAuYXRjLXNpdGUgLnNlcnZpY2UtZ3JvdXB7CiAgICBiYWNrZ3JvdW5kOnZhcigtLWNhbm9weSk7CiAgICBwYWRkaW5nOjM0cHggMzRweCAzMHB4OwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLnNlcnZpY2UtZ3JvdXAgLnRhZ3sKICAgIGZvbnQtZmFtaWx5OidTcGFjZSBNb25vJyxtb25vc3BhY2U7CiAgICBmb250LXNpemU6Y2xhbXAoMC43MnJlbSwgMC42OHZ3LCAwLjg0cmVtKTsKICAgIGxldHRlci1zcGFjaW5nOjAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgY29sb3I6dmFyKC0taGVhcnR3b29kLXNvZnQpOwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLnNlcnZpY2UtZ3JvdXAgaDN7CiAgICBjb2xvcjp2YXIoLS1jYW52YXMpOwogICAgZm9udC1zaXplOmNsYW1wKDEuOHJlbSwgMnZ3LCAyLjNyZW0pOwogICAgbWFyZ2luLXRvcDoxM3B4OwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLnNlcnZpY2UtZ3JvdXAgdWx7CiAgICBsaXN0LXN0eWxlOm5vbmU7CiAgICBtYXJnaW46MjRweCAwIDA7CiAgICBwYWRkaW5nOjA7CiAgfQogIC5hdGMtc2l0ZSAuc2VydmljZS1ncm91cCBsaXsKICAgIHBhZGRpbmc6MTVweCAwOwogICAgYm9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7CiAgICBkaXNwbGF5OmZsZXg7CiAgICBhbGlnbi1pdGVtczpiYXNlbGluZTsKICAgIGdhcDoxNHB4OwogICAgZm9udC1zaXplOmNsYW1wKDEuMDhyZW0sIDEuMDV2dywgMS4yNXJlbSk7CiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgfQogIC5hdGMtc2l0ZSAuc2VydmljZS1ncm91cCBsaTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOm5vbmU7fQogIC5hdGMtc2l0ZSAuc2VydmljZS1ncm91cCBsaSAubWFya3sKICAgIGNvbG9yOnZhcigtLWhlYXJ0d29vZC1zb2Z0KTsKICAgIGZvbnQtZmFtaWx5OidTcGFjZSBNb25vJyxtb25vc3BhY2U7CiAgICBmbGV4LXNocmluazowOwogIH0KICAuYXRjLXNpdGUgLnNlcnZpY2UtZ3JvdXAgbGkgLnR4dCBie2NvbG9yOnZhcigtLWNhbnZhcyk7fQogIC5hdGMtc2l0ZSAuc2VydmljZS1ncm91cCBsaSAudHh0IHNwYW57CiAgICBkaXNwbGF5OmJsb2NrOwogICAgY29sb3I6dmFyKC0tbGljaGVuKTsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjk0cmVtLCAwLjkydncsIDEuMDhyZW0pOwogICAgbGluZS1oZWlnaHQ6MS41OwogICAgbWFyZ2luLXRvcDo0cHg7CiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgfQogIEBtZWRpYSAobWF4LXdpZHRoOjgyMHB4KXsKICAgIC5hdGMtc2l0ZSAuc2VydmljZS1ncm91cHN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9CiAgfQoKICAuYXRjLXNpdGUgLnRydXN0ewogICAgYmFja2dyb3VuZDp2YXIoLS1jYW52YXMpOwogICAgcGFkZGluZzoxMDBweCAwOwogIH0KICAuYXRjLXNpdGUgLnRydXN0LWdyaWR7CiAgICBkaXNwbGF5OmdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjsKICAgIGdhcDo2NHB4OwogICAgYWxpZ24taXRlbXM6c3RhcnQ7CiAgfQogIC5hdGMtc2l0ZSAudHJ1c3QtbGlzdHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO30KICAuYXRjLXNpdGUgLnRydXN0LWxpc3QgbGl7CiAgICBkaXNwbGF5OmdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDRweCAxZnI7CiAgICBnYXA6MThweDsKICAgIHBhZGRpbmc6MjJweCAwOwogICAgYm9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tY2FudmFzLTIpOwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLnRydXN0LWxpc3QgbGk6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDpub25lO30KICAuYXRjLXNpdGUgLnRydXN0LWljb257CiAgICB3aWR0aDo0NHB4O2hlaWdodDo0NHB4OwogICAgYm9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWhlYXJ0d29vZCk7CiAgICBib3JkZXItcmFkaXVzOjUwJTsKICAgIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjsKICAgIGNvbG9yOnZhcigtLWhlYXJ0d29vZC1kZWVwKTsKICAgIGZsZXgtc2hyaW5rOjA7CiAgfQogIC5hdGMtc2l0ZSAudHJ1c3QtbGlzdCBoNHtmb250LXNpemU6Y2xhbXAoMS4yMnJlbSwgMS4yNXZ3LCAxLjVyZW0pO2NvbG9yOnZhcigtLWluayk7dGV4dC1hbGlnbjpsZWZ0O30KICAuYXRjLXNpdGUgLnRydXN0LWxpc3QgcHtmb250LXNpemU6Y2xhbXAoMXJlbSwgMXZ3LCAxLjE2cmVtKTtsaW5lLWhlaWdodDoxLjU1O2NvbG9yOnZhcigtLWJhcmspO21hcmdpbi10b3A6OHB4O2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmxlZnQ7fQoKICAuYXRjLXNpdGUgLnRydXN0LXZpc3VhbHsKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdhcDoxOHB4OwogIH0KICAuYXRjLXNpdGUgLmNlcnQtY2FyZHsKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoxMTZweCAxZnI7CiAgICBnYXA6MjJweDsKICAgIGFsaWduLWl0ZW1zOmNlbnRlcjsKICAgIHBhZGRpbmc6MjBweDsKICAgIGJhY2tncm91bmQ6dmFyKC0tY2Fub3B5KTsKICAgIGNvbG9yOnZhcigtLWNhbnZhcyk7CiAgICBib3JkZXItbGVmdDo0cHggc29saWQgdmFyKC0taGVhcnR3b29kKTsKICB9CiAgLmF0Yy1zaXRlIC5jZXJ0LWJhZGdlLWNyb3B7CiAgICB3aWR0aDoxMTZweDsKICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7CiAgfQogIC5hdGMtc2l0ZSAuY2VydC1iYWRnZS1jcm9wIGltZ3sKICAgIGRpc3BsYXk6YmxvY2s7CiAgICB3aWR0aDoxMDAlOwogICAgaGVpZ2h0OmF1dG87CiAgICBtYXgtd2lkdGg6MTAwJTsKICAgIGNsaXAtcGF0aDppbnNldCgycHgpOwogIH0KICAuYXRjLXNpdGUgLmNlcnQtbGljZW5zZXsKICAgIG1hcmdpbi10b3A6OXB4OwogICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICBmb250LWZhbWlseTonQXJjaGl2bycsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6MC44NnJlbTsKICAgIGZvbnQtd2VpZ2h0OjYwMDsKICAgIGxldHRlci1zcGFjaW5nOjAuMDFlbTsKICAgIGNvbG9yOnZhcigtLWNhbnZhcyk7CiAgICBsaW5lLWhlaWdodDoxLjM1OwogIH0KICAuYXRjLXNpdGUgLmNlcnQtY2FyZCAuZXllYnJvd3sKICAgIGNvbG9yOnZhcigtLWhlYXJ0d29vZC1zb2Z0KTsKICAgIG1hcmdpbi1ib3R0b206OHB4OwogIH0KICAuYXRjLXNpdGUgLmNlcnQtY2FyZCBoM3sKICAgIGZvbnQtc2l6ZTpjbGFtcCgxLjRyZW0sIDEuN3Z3LCAxLjlyZW0pOwogICAgY29sb3I6dmFyKC0tY2FudmFzKTsKICAgIHRleHQtYWxpZ246bGVmdDsKICB9CiAgLmF0Yy1zaXRlIC5jZXJ0LWNhcmQgcHsKICAgIG1hcmdpbjo4cHggMCAwOwogICAgY29sb3I6dmFyKC0tbGljaGVuKTsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjkycmVtLCAwLjl2dywgMS4wNHJlbSk7CiAgICBsaW5lLWhlaWdodDoxLjU7CiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgfQogIC5hdGMtc2l0ZSAuZ2FsbGVyeS1zdHJpcHsKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyOwogICAgZ2FwOjEycHg7CiAgfQogIC5hdGMtc2l0ZSAuZ2FsbGVyeS1zdHJpcCBpbWd7CiAgICB3aWR0aDoxMDAlO2hlaWdodDoxMDAlOwogICAgb2JqZWN0LWZpdDpjb3ZlcjsKICAgIGFzcGVjdC1yYXRpbzo0LzM7CiAgICBiYWNrZ3JvdW5kOnZhcigtLWNhbnZhcy0yKTsKICB9CiAgLmF0Yy1zaXRlIC5nYWxsZXJ5LXN0cmlwIC50YWxse2FzcGVjdC1yYXRpbzo0LzU7Z3JpZC1yb3c6c3BhbiAyO30KICBAbWVkaWEgKG1heC13aWR0aDo5MDBweCl7CiAgICAuYXRjLXNpdGUgLnRydXN0LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9CiAgfQogIEBtZWRpYSAobWF4LXdpZHRoOjU2MHB4KXsKICAgIC5hdGMtc2l0ZSAuY2VydC1jYXJkewogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ODhweCAxZnI7CiAgICAgIGdhcDoxNnB4OwogICAgICBwYWRkaW5nOjE2cHg7CiAgICB9CiAgICAuYXRjLXNpdGUgLmNlcnQtYmFkZ2UtY3JvcHt3aWR0aDo4OHB4O30KICAgIC5hdGMtc2l0ZSAuY2VydC1saWNlbnNle2ZvbnQtc2l6ZTouNzZyZW07fQogIH0KCiAgLmF0Yy1zaXRlIC5mZWVkYmFja3sKICAgIGJhY2tncm91bmQ6dmFyKC0tYmFyayk7CiAgICBjb2xvcjp2YXIoLS1jYW52YXMpOwogICAgcGFkZGluZzo4MHB4IDA7CiAgfQogIC5hdGMtc2l0ZSAuZmVlZGJhY2sgLnNlYy1oZWFkIHB7Y29sb3I6I0YwRThEODt9CiAgLmF0Yy1zaXRlIC5mZWVkYmFjayAuZXllYnJvd3tjb2xvcjp2YXIoLS1oZWFydHdvb2Qtc29mdCk7fQogIC5hdGMtc2l0ZSAuZmVlZGJhY2stcm93ewogICAgZGlzcGxheTpncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7CiAgICBnYXA6MjhweDsKICAgIG1hcmdpbi10b3A6MTBweDsKICB9CiAgLmF0Yy1zaXRlIC5mZWVkYmFjay1jYXJkewogICAgYm9yZGVyLWxlZnQ6MnB4IHNvbGlkIHZhcigtLWhlYXJ0d29vZC1zb2Z0KTsKICAgIHBhZGRpbmctbGVmdDoyMnB4OwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLmZlZWRiYWNrLWNhcmQgcXsKICAgIGZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7CiAgICBmb250LXN0eWxlOml0YWxpYzsKICAgIGZvbnQtc2l6ZTpjbGFtcCgxLjRyZW0sIDEuNjV2dywgMS44NXJlbSk7CiAgICBkaXNwbGF5OmJsb2NrOwogICAgbGluZS1oZWlnaHQ6MS4zNjsKICAgIHRleHQtYWxpZ246bGVmdDsKICB9CiAgLmF0Yy1zaXRlIC5mZWVkYmFjay1jYXJkIC53aG97CiAgICBtYXJnaW4tdG9wOjE4cHg7CiAgICBmb250LWZhbWlseTonU3BhY2UgTW9ubycsbW9ub3NwYWNlOwogICAgZm9udC1zaXplOmNsYW1wKDAuNzZyZW0sIDAuNzJ2dywgMC44OHJlbSk7CiAgICBsZXR0ZXItc3BhY2luZzowLjA2ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgICBjb2xvcjojRjBFNUQyOwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICBAbWVkaWEgKG1heC13aWR0aDo5MDBweCl7CiAgICAuYXRjLXNpdGUgLmZlZWRiYWNrLXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KICB9CgogIC5hdGMtc2l0ZSAuYXJlYXsKICAgIGJhY2tncm91bmQ6dmFyKC0tY2FudmFzKTsKICAgIHBhZGRpbmc6OTBweCAwIDEwMHB4OwogIH0KICAuYXRjLXNpdGUgLmFyZWEtZ3JpZHsKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyOwogICAgZ2FwOjYwcHg7CiAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgfQogIC5hdGMtc2l0ZSAuYXJlYS1ncmlkID4gZGl2e3RleHQtYWxpZ246bGVmdDt9CiAgLmF0Yy1zaXRlIC5hcmVhIGgye2ZvbnQtc2l6ZTpjbGFtcCgyLjRyZW0sIDMuNnZ3LCAzLjVyZW0pO30KICAuYXRjLXNpdGUgLmFyZWEgcHtjb2xvcjp2YXIoLS1iYXJrKTttYXJnaW4tdG9wOjE4cHg7bWF4LXdpZHRoOjQ4Y2g7Zm9udC1zaXplOmNsYW1wKDEuMDhyZW0sIDEuMTJ2dywgMS4yOHJlbSk7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246bGVmdDt9CiAgLmF0Yy1zaXRlIC5jaGlwLXJvd3sKICAgIGRpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTBweDsKICAgIG1hcmdpbi10b3A6MjJweDsKICB9CiAgLmF0Yy1zaXRlIC5jaGlwewogICAgYm9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJhcmspOwogICAgcGFkZGluZzo5cHggMjBweDsKICAgIGJvcmRlci1yYWRpdXM6OTk5cHg7CiAgICBmb250LXNpemU6Y2xhbXAoMC45NHJlbSwgMC45dncsIDEuMDhyZW0pOwogICAgY29sb3I6dmFyKC0tYmFyayk7CiAgICBmb250LXdlaWdodDo2MDA7CiAgfQogIC5hdGMtc2l0ZSAuYXJlYS1ub3RlewogICAgYmFja2dyb3VuZDp2YXIoLS1jYW5vcHkpOwogICAgY29sb3I6dmFyKC0tY2FudmFzKTsKICAgIHBhZGRpbmc6MzZweDsKICAgIGJvcmRlci1yYWRpdXM6MnB4OwogICAgdGV4dC1hbGlnbjpsZWZ0OwogIH0KICAuYXRjLXNpdGUgLmFyZWEtbm90ZSAuZXllYnJvd3tjb2xvcjp2YXIoLS1oZWFydHdvb2Qtc29mdCk7bWFyZ2luLWJvdHRvbToxNnB4O30KICAuYXRjLXNpdGUgLmFyZWEtbm90ZSBwe2NvbG9yOnZhcigtLWxpY2hlbik7Zm9udC1zaXplOmNsYW1wKDEuMDhyZW0sIDEuMTJ2dywgMS4yOHJlbSk7dGV4dC1hbGlnbjpsZWZ0O30KICBAbWVkaWEgKG1heC13aWR0aDo5MDBweCl7CiAgICAuYXRjLXNpdGUgLmFyZWEtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KICB9CgogIC5hdGMtc2l0ZSAuY29udGFjdHsKICAgIGJhY2tncm91bmQ6dmFyKC0tY2Fub3B5KTsKICAgIGNvbG9yOnZhcigtLWNhbnZhcyk7CiAgICBwYWRkaW5nOjExMHB4IDAgOTBweDsKICAgIHRleHQtYWxpZ246Y2VudGVyOwogIH0KICAuYXRjLXNpdGUgLmNvbnRhY3QgaDIsIC5hdGMtc2l0ZSAuY29udGFjdCBwe3RleHQtYWxpZ246Y2VudGVyO30KICAuYXRjLXNpdGUgLmNvbnRhY3QgLmV5ZWJyb3d7Y29sb3I6dmFyKC0taGVhcnR3b29kLXNvZnQpO30KICAuYXRjLXNpdGUgLmNvbnRhY3QgaDJ7CiAgICBmb250LXNpemU6Y2xhbXAoMi44cmVtLCA0Ljh2dywgNC41cmVtKTsKICAgIG1heC13aWR0aDoxNmNoOwogICAgbWFyZ2luOjIycHggYXV0byAwOwogIH0KICAuYXRjLXNpdGUgLmNvbnRhY3QgcC5sZWRlewogICAgY29sb3I6dmFyKC0tbGljaGVuKTsKICAgIG1heC13aWR0aDo1MmNoOwogICAgbWFyZ2luOjIycHggYXV0byAwOwogICAgZm9udC1zaXplOmNsYW1wKDEuMThyZW0sIDEuM3Z3LCAxLjQ1cmVtKTsKICB9CiAgLmF0Yy1zaXRlIC5jb250YWN0LWN0YS1yb3d7CiAgICBtYXJnaW4tdG9wOjM4cHg7CiAgICBkaXNwbGF5OmZsZXg7CiAgICBnYXA6MjBweDsKICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7CiAgICBmbGV4LXdyYXA6d3JhcDsKICB9CiAgLmF0Yy1zaXRlIC5jb250YWN0LWRldGFpbHsKICAgIG1hcmdpbi10b3A6NTZweDsKICAgIGRpc3BsYXk6ZmxleDsKICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7CiAgICBnYXA6NTJweDsKICAgIGZsZXgtd3JhcDp3cmFwOwogICAgYm9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7CiAgICBwYWRkaW5nLXRvcDozMnB4OwogIH0KICAuYXRjLXNpdGUgLmNvbnRhY3QtZGV0YWlsID4gZGl2e3RleHQtYWxpZ246bGVmdDt9CiAgLmF0Yy1zaXRlIC5jb250YWN0LWRldGFpbCAubGJsewogICAgZm9udC1mYW1pbHk6J1NwYWNlIE1vbm8nLG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjcycmVtLCAwLjY4dncsIDAuODRyZW0pOwogICAgbGV0dGVyLXNwYWNpbmc6MC4xZW07CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgICBjb2xvcjp2YXIoLS1oZWFydHdvb2Qtc29mdCk7CiAgfQogIC5hdGMtc2l0ZSAuY29udGFjdC1kZXRhaWwgLnZhbHttYXJnaW4tdG9wOjdweDtmb250LXNpemU6Y2xhbXAoMS4wNXJlbSwgMXZ3LCAxLjJyZW0pO2NvbG9yOnZhcigtLWNhbnZhcyk7fQoKICAuYXRjLXNpdGUgZm9vdGVyewogICAgYmFja2dyb3VuZDp2YXIoLS1jYW5vcHkpOwogICAgY29sb3I6dmFyKC0tbGljaGVuKTsKICAgIHRleHQtYWxpZ246Y2VudGVyOwogICAgcGFkZGluZzoyNnB4IDAgMzRweDsKICAgIGZvbnQtc2l6ZTpjbGFtcCgwLjg0cmVtLCAwLjc4dncsIDAuOTZyZW0pOwogICAgYm9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7CiAgfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGNsYXNzPSJhdGMtc2l0ZSI+Cgo8bmF2PgogIDxkaXYgY2xhc3M9Im5hdi1pbm5lciI+CjxhIGhyZWY9Imh0dHBzOi8vYXJ0aXN0aWN0cmVlcy5jb20iIGNsYXNzPSJicmFuZCIgYXJpYS1sYWJlbD0iQXJ0aXN0aWMgVHJlZSBDYXJlIGhvbWUiPgogIDxpbWcgc3JjPSJodHRwczovL29sZC5hcnRpc3RpY3RyZWVzLmNvbS9yZXNvdXJjZXMvaW1hZ2VzL2xvZ28ucG5nIiBhbHQ9IkFydGlzdGljIFRyZWUgQ2FyZSIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+CjwvYT4KICAgIDxkaXYgY2xhc3M9Im5hdi1yaWdodCI+CiAgICAgIDx1bCBjbGFzcz0ibmF2LWxpbmtzIG1vYmlsZS1oaWRlIj4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9teS5hcnRpc3RpY3RyZWVzLmNvbS9zZXJ2aWNlcyI+U2VydmljZXM8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iI3doeSI+V2h5IFVzPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9IiNhcmVhIj5TZXJ2aWNlIEFyZWE8L2E+PC9saT4KICAgICAgPC91bD4KICAgICAgPGEgY2xhc3M9Im5hdi1jdGEiIGhyZWY9IiNjb250YWN0Ij5GcmVlIEFzc2Vzc21lbnQ8L2E+CiAgICAgIDxidXR0b24gY2xhc3M9Im5hdi10b2dnbGUiIGlkPSJuYXZUb2dnbGUiIGFyaWEtbGFiZWw9Ik9wZW4gbWVudSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9Im1vYmlsZU1lbnUiPgogICAgICAgIDxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPgogICAgICA8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1vYmlsZS1tZW51IiBpZD0ibW9iaWxlTWVudSI+CiAgICA8YSBocmVmPSJodHRwczovL215LmFydGlzdGljdHJlZXMuY29tL3NlcnZpY2VzIj5TZXJ2aWNlczwvYT4KICAgIDxhIGhyZWY9IiN3aHkiPldoeSBVczwvYT4KICAgIDxhIGhyZWY9IiNhcmVhIj5TZXJ2aWNlIEFyZWE8L2E+CiAgICA8YSBjbGFzcz0ibW9iaWxlLW1lbnUtY3RhIiBocmVmPSIjY29udGFjdCI+RnJlZSBBc3Nlc3NtZW50IOKGkjwvYT4KICA8L2Rpdj4KPC9uYXY+Cgo8aGVhZGVyIGNsYXNzPSJoZXJvIj4KICA8ZGl2IGNsYXNzPSJoZXJvLW1lZGlhIj4KICAgIDxpbWcgc3JjPSJodHRwczovL29sZC5hcnRpc3RpY3RyZWVzLmNvbS9yZXNvdXJjZXMvaW1hZ2VzL2Rhbmdlcm91cy13aWRlLmpwZyIgYWx0PSJBcnRpc3RpYyBUcmVlIENhcmUgY3JldyBwZXJmb3JtaW5nIGEgZGFuZ2Vyb3VzIHRyZWUgcmVtb3ZhbCIgb25lcnJvcj0idGhpcy5zcmM9J2h0dHBzOi8vb2xkLmFydGlzdGljdHJlZXMuY29tL3Jlc291cmNlcy9pbWFnZXMvc2xpZGVyLWRhbmdlcm91cy1uZXcuanBnJzsgdGhpcy5vbmVycm9yPW51bGw7Ij4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJoZXJvLWJhZGdlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICA8c3ZnIHdpZHRoPSIxMTgiIGhlaWdodD0iMTE4IiB2aWV3Qm94PSIwIDAgMTE4IDExOCI+CiAgICAgIDxkZWZzPjxwYXRoIGlkPSJjaXJjbGVQYXRoIiBkPSJNIDU5LDU5IG0gLTQ2LDAgYSA0Niw0NiAwIDEsMSA5MiwwIGEgNDYsNDYgMCAxLDEgLTkyLDAiLz48L2RlZnM+CiAgICAgIDx0ZXh0IGZvbnQtZmFtaWx5PSJTcGFjZSBNb25vLCBtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iI0MzRDZCQyIgbGV0dGVyLXNwYWNpbmc9IjIiPgogICAgICAgIDx0ZXh0UGF0aCBocmVmPSIjY2lyY2xlUGF0aCI+RVNULiAxOTk5IOKAoiBGUkVFIEVTVElNQVRFUyDigKIgSE9VU1RPTiBUWCDigKIgRVNULiAxOTk5IOKAojwvdGV4dFBhdGg+CiAgICAgIDwvdGV4dD4KICAgIDwvc3ZnPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9IndyYXAgaGVyby1ncmlkIj4KICAgIDxkaXY+CiAgICAgIDxkaXYgY2xhc3M9ImV5ZWJyb3ciPkhvdXN0b24gJmFtcDsgS2F0eSwgVGV4YXM8L2Rpdj4KICAgICAgPGgxPlR3ZW50eS1maXZlPGJyPmdyb3d0aCByaW5ncyA8ZW0+ZGVlcC48L2VtPjwvaDE+CiAgICAgIDxwIGNsYXNzPSJsZWRlIj5TaW5jZSAxOTk5LCBBcnRpc3RpYyBUcmVlIENhcmUgaGFzIGtlcHQgSG91c3RvbidzIHRyZWVzIOKAlCBhbmQgdGhlIGhvbWVzIGFuZCBidXNpbmVzc2VzIGJlbmVhdGggdGhlbSDigJQgc3RhbmRpbmcgc2FmZWx5IHRocm91Z2ggc3Rvcm1zLCBzZWFzb25zLCBhbmQgZXZlcnkgam9iIGluIGJldHdlZW4uIEZvdW5kZWQgYnkgdGhpcmQtZ2VuZXJhdGlvbiB0cmVlIGV4cGVydCBMZW9uIEh1bnQuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJoZXJvLWN0YS1yb3ciPgogICAgICAgIDxhIGNsYXNzPSJidG4tcHJpbWFyeSIgaHJlZj0iI2NvbnRhY3QiPlNjaGVkdWxlIGEgRnJlZSBBc3Nlc3NtZW50IOKGkjwvYT4KICAgICAgICA8YSBjbGFzcz0iYnRuLWdob3N0IiBocmVmPSIjc2VydmljZXMiPlNlZSBvdXIgc2VydmljZXM8L2E+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJoZXJvLXN0YXRzIj4KICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9Im51bSIgZGF0YS1jb3VudD0iMjUiIGRhdGEtc3VmZml4PSIrIj4wPC9kaXY+PGRpdiBjbGFzcz0ibGJsIj5ZZWFycyBpbiBIb3VzdG9uPC9kaXY+PC9kaXY+CiAgICAgICAgPGRpdj48ZGl2IGNsYXNzPSJudW0iIGRhdGEtY291bnQ9IjIiIGRhdGEtcHJlZml4PSIkIiBkYXRhLXN1ZmZpeD0iTSsiPiQwPC9kaXY+PGRpdiBjbGFzcz0ibGJsIj5MaWFiaWxpdHkgSW5zdXJlZDwvZGl2PjwvZGl2PgogICAgICAgIDxkaXY+PGRpdiBjbGFzcz0ibnVtIj4zcmQ8L2Rpdj48ZGl2IGNsYXNzPSJsYmwiPkdlbi4gQXJib3Jpc3QtTGVkPC9kaXY+PC9kaXY+CiAgICAgICAgPGRpdj48ZGl2IGNsYXNzPSJudW0iPjI0Lzc8L2Rpdj48ZGl2IGNsYXNzPSJsYmwiPlN0b3JtIFJlc3BvbnNlPC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJyaW5nLXdyYXAiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAwIiBjeT0iMjAwIiByPSI2MCIgc3Ryb2tlPSIjQzNENkJDIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjM3NyIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIG9wYWNpdHk9IjAuMzUiLz4KICAgICAgICA8Y2lyY2xlIGN4PSIyMDAiIGN5PSIyMDAiIHI9Ijk1IiBzdHJva2U9IiNDM0Q2QkMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iNTk3IiBvcGFjaXR5PSIwLjMiLz4KICAgICAgICA8Y2lyY2xlIGN4PSIyMDAiIGN5PSIyMDAiIHI9IjEzMCIgc3Ryb2tlPSIjQkU2QTJFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iODE3IiBvcGFjaXR5PSIwLjU1Ii8+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAwIiBjeT0iMjAwIiByPSIxNjAiIHN0cm9rZT0iI0MzRDZCQyIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwMDUiIG9wYWNpdHk9IjAuMjIiLz4KICAgICAgICA8Y2lyY2xlIGN4PSIyMDAiIGN5PSIyMDAiIHI9IjE4OCIgc3Ryb2tlPSIjRTM5QTVDIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTE4MSIgb3BhY2l0eT0iMC40Ii8+CiAgICAgIDwvc3ZnPgogICAgICA8ZGl2IGNsYXNzPSJyaW5nLWNhcCI+CiAgICAgICAgPGRpdiBjbGFzcz0ieXIiPjE5OTk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaW5jZSI+Rmlyc3QgUmluZyDCtyBGb3VuZGVkPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvaGVhZGVyPgoKPGRpdiBjbGFzcz0idGlja2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgPGRpdiBjbGFzcz0idGlja2VyLXRyYWNrIj4KICAgIDxzcGFuPkRhbmdlcm91cyBSZW1vdmFsczwvc3Bhbj48c3Bhbj5TdG9ybSBEYW1hZ2UgQ2xlYW51cDwvc3Bhbj48c3Bhbj5TdHVtcCBHcmluZGluZzwvc3Bhbj48c3Bhbj5Dcm93biBSYWlzZSAmYW1wOyBSb29mIENsZWFyYW5jZTwvc3Bhbj48c3Bhbj5NaWNyb2luamVjdGlvbjwvc3Bhbj48c3Bhbj5Ta2lkLVN0ZWVyIFNlcnZpY2VzPC9zcGFuPjxzcGFuPlRyZWUgU2NhcGUgRGVzaWduPC9zcGFuPjxzcGFuPkZyZWUgRXN0aW1hdGVzPC9zcGFuPgogICAgPHNwYW4+RGFuZ2Vyb3VzIFJlbW92YWxzPC9zcGFuPjxzcGFuPlN0b3JtIERhbWFnZSBDbGVhbnVwPC9zcGFuPjxzcGFuPlN0dW1wIEdyaW5kaW5nPC9zcGFuPjxzcGFuPkNyb3duIFJhaXNlICZhbXA7IFJvb2YgQ2xlYXJhbmNlPC9zcGFuPjxzcGFuPk1pY3JvaW5qZWN0aW9uPC9zcGFuPjxzcGFuPlNraWQtU3RlZXIgU2VydmljZXM8L3NwYW4+PHNwYW4+VHJlZSBTY2FwZSBEZXNpZ248L3NwYW4+PHNwYW4+RnJlZSBFc3RpbWF0ZXM8L3NwYW4+CiAgPC9kaXY+CjwvZGl2PgoKPHNlY3Rpb24gY2xhc3M9InRpbWVsaW5lIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlYy1oZWFkIHJldmVhbCI+CiAgICAgIDxkaXYgY2xhc3M9ImV5ZWJyb3ciPkhvdyB0aGUgcmluZ3MgZm9ybWVkPC9kaXY+CiAgICAgIDxoMj5BIHF1YXJ0ZXItY2VudHVyeSBvZiB3aWRlbmluZyBjYXBhYmlsaXR5LjwvaDI+CiAgICAgIDxwPkV2ZXJ5IHRyZWUgdGVsbHMgaXRzIGFnZSBpbiByaW5ncy4gT3VycyB0ZWxsIGEgc3Rvcnkgb2Ygc3RlYWRpbHkgYWRkZWQgZXhwZXJ0aXNlIOKAlCBlYWNoIG9uZSBzdGlsbCBzdGFuZGluZyBiZWhpbmQgdGhlIGxhc3QuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJyaW5ncy1yb3ciPgogICAgICA8ZGl2IGNsYXNzPSJyaW5nLWNhcmQgcmV2ZWFsIj48ZGl2IGNsYXNzPSJ5ciI+MTk5OTwvZGl2PjxoND5Gb3VuZGVkPC9oND48cD5MZW9uIEh1bnQgb3BlbnMgQXJ0aXN0aWMgVHJlZSBDYXJlLCBicmluZ2luZyB0aGlyZC1nZW5lcmF0aW9uIHRyZWUgZXhwZXJ0aXNlIHRvIEhvdXN0b24uPC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJyaW5nLWNhcmQgcmV2ZWFsIj48ZGl2IGNsYXNzPSJ5ciI+MjAwMHM8L2Rpdj48aDQ+RGFuZ2Vyb3VzIFJlbW92YWxzPC9oND48cD5HYWZmbGVzcyByb3BlLWNsaW1iaW5nIHRlY2huaXF1ZSBhZG9wdGVkIHRvIHByb3RlY3QgdHJlZSBoZWFsdGggZHVyaW5nIHByZWNhcmlvdXMgcmVtb3ZhbHMuPC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJyaW5nLWNhcmQgcmV2ZWFsIj48ZGl2IGNsYXNzPSJ5ciI+MjAwMHM8L2Rpdj48aDQ+U3Rvcm0gUmVzcG9uc2U8L2g0PjxwPkNyYW5lIGFuZCBhZXJpYWwtbGlmdCBjYXBhYmlsaXR5IGFkZGVkIGZvciBsYXJnZS1zY2FsZSBzdG9ybSBkYW1hZ2UgYW5kIGhhemFyZCB3b3JrLjwvcD48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icmluZy1jYXJkIHJldmVhbCI+PGRpdiBjbGFzcz0ieXIiPjIwMTBzPC9kaXY+PGg0PlRyZWUgSGVhbHRoPC9oND48cD5NaWNyb2luamVjdGlvbiB0cmVhdG1lbnQgYW5kIHN0b3JtLXByZXZlbnRpb24gYXNzZXNzbWVudHMgaW50cm9kdWNlZC48L3A+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InJpbmctY2FyZCByZXZlYWwiPjxkaXYgY2xhc3M9InlyIj4yMDEwczwvZGl2PjxoND5MYW5kICZhbXA7IERlc2lnbjwvaDQ+PHA+U2tpZC1zdGVlciBzaXRlIHdvcmsgYW5kIHRyZWUgc2NhcGUgZGVzaWduIGFuZCBjb25zdWx0aW5nIGV4cGFuZCB0aGUgb2ZmZXJpbmcuPC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJyaW5nLWNhcmQgcmV2ZWFsIj48ZGl2IGNsYXNzPSJ5ciI+VG9kYXk8L2Rpdj48aDQ+MjUrIFllYXJzPC9oND48cD5BIGZ1bGwtc2VydmljZSwgc2FmZXR5LWZpcnN0IHRyZWUgY29tcGFueSB0cnVzdGVkIGFjcm9zcyBncmVhdGVyIEhvdXN0b24uPC9wPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJzZXJ2aWNlcyIgaWQ9InNlcnZpY2VzIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlYy1oZWFkIHJldmVhbCI+CiAgICAgIDxkaXYgY2xhc3M9ImV5ZWJyb3ciPldoYXQgd2UgZG88L2Rpdj4KICAgICAgPGgyPk9yZ2FuaXplZCBhcm91bmQgd2hhdCB5b3UncmUgZmFjaW5nIOKAlDxicj5ub3QganVzdCBhIHNlcnZpY2UgbWVudS48L2gyPgogICAgICA8cD5UcmVlIHByb2JsZW1zIHJhcmVseSBhcnJpdmUgYWxvbmUuIFdlIGdyb3VwIG91ciB3b3JrIGJ5IHRoZSBzaXR1YXRpb24geW91J3JlIGluLCBzbyBpdCdzIGNsZWFyIHdoZXJlIHRvIHN0YXJ0LjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2VydmljZS1ncm91cHMiPgogICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWdyb3VwIHJldmVhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFnIj4wMSDCtyBVcmdlbnQ8L2Rpdj4KICAgICAgICA8aDM+SGF6YXJkICZhbXA7IFN0b3JtIFJlc3BvbnNlPC9oMz4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9Im1hcmsiPuKGkjwvc3Bhbj48ZGl2IGNsYXNzPSJ0eHQiPjxiPkRhbmdlcm91cyBSZW1vdmFsczwvYj48c3Bhbj5QcmVjYXJpb3VzLCBoaWdoLXJpc2sgcmVtb3ZhbHMgdXNpbmcgcm9wZSwgY3JhbmUsIGFuZCBhZXJpYWwtbGlmdCB0ZWNobmlxdWVzLjwvc3Bhbj48L2Rpdj48L2xpPgogICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJtYXJrIj7ihpI8L3NwYW4+PGRpdiBjbGFzcz0idHh0Ij48Yj5TdG9ybSBEYW1hZ2UgQ2xlYW51cDwvYj48c3Bhbj5GYXN0IHJlc3BvbnNlIHdoZW4gd2luZCwgaWNlLCBvciBsaWdodG5pbmcgYnJpbmcgYSB0cmVlIGRvd24uPC9zcGFuPjwvZGl2PjwvbGk+CiAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9Im1hcmsiPuKGkjwvc3Bhbj48ZGl2IGNsYXNzPSJ0eHQiPjxiPkRlYWR3b29kIFJlbW92YWw8L2I+PHNwYW4+UmVtb3ZpbmcgZGVhZCBvciBkeWluZyBsaW1icyBiZWZvcmUgdGhleSBiZWNvbWUgYSBsaWFiaWxpdHkuPC9zcGFuPjwvZGl2PjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtZ3JvdXAgcmV2ZWFsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWciPjAyIMK3IFByZXZlbnRpdmU8L2Rpdj4KICAgICAgICA8aDM+VHJlZSBIZWFsdGggJmFtcDsgUHJldmVudGlvbjwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJtYXJrIj7ihpI8L3NwYW4+PGRpdiBjbGFzcz0idHh0Ij48Yj5TdG9ybSBQcmV2ZW50aW9uPC9iPjxzcGFuPkFzc2Vzc2luZyB3ZWFrIGxpbWJzLCBjcmFja3MsIGFuZCByb290IGlzc3VlcyBiZWZvcmUgdGhlIG5leHQgc3Rvcm0uPC9zcGFuPjwvZGl2PjwvbGk+CiAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9Im1hcmsiPuKGkjwvc3Bhbj48ZGl2IGNsYXNzPSJ0eHQiPjxiPk1pY3JvaW5qZWN0aW9uPC9iPjxzcGFuPlRyZWUgVGVjaMKuIHRyZWF0bWVudHMgZm9yIHBlc3QsIGRpc2Vhc2UsIGFuZCBudXRyaWVudCBpc3N1ZXMuPC9zcGFuPjwvZGl2PjwvbGk+CiAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9Im1hcmsiPuKGkjwvc3Bhbj48ZGl2IGNsYXNzPSJ0eHQiPjxiPkZpbmUgUHJ1bmluZzwvYj48c3Bhbj5Dcm93biBjbGVhbmluZywgd2VpZ2h0IHJlZHVjdGlvbiwgYW5kIHZpc3RhIHBydW5pbmcgYnkgY2VydGlmaWVkIGFyYm9yaXN0cy48L3NwYW4+PC9kaXY+PC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1ncm91cCByZXZlYWwiPgogICAgICAgIDxkaXYgY2xhc3M9InRhZyI+MDMgwrcgUHJvcGVydHk8L2Rpdj4KICAgICAgICA8aDM+UHJvcGVydHkgJmFtcDsgTGFuZDwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJtYXJrIj7ihpI8L3NwYW4+PGRpdiBjbGFzcz0idHh0Ij48Yj5Dcm93biBSYWlzZSAmYW1wOyBSb29mIENsZWFyYW5jZTwvYj48c3Bhbj5LZWVwaW5nIGxpbWJzIG9mZiByb29mbGluZXMgYW5kIHN0cnVjdHVyZXMuPC9zcGFuPjwvZGl2PjwvbGk+CiAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9Im1hcmsiPuKGkjwvc3Bhbj48ZGl2IGNsYXNzPSJ0eHQiPjxiPlN0dW1wIEdyaW5kaW5nPC9iPjxzcGFuPkZhc3QsIG5vbi1pbnRydXNpdmUgcmVtb3ZhbCB0aGF0IGxlYXZlcyBubyB0cmFjZS48L3NwYW4+PC9kaXY+PC9saT4KICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0ibWFyayI+4oaSPC9zcGFuPjxkaXYgY2xhc3M9InR4dCI+PGI+U2tpZC1TdGVlciBMb2FkZXIgU2VydmljZXM8L2I+PHNwYW4+R3JhZGluZywgZHJhaW5hZ2UsIHRyZW5jaGluZywgYW5kIHNpdGUgY2xlYXJpbmcgZm9yIGJpZ2dlciBqb2JzLjwvc3Bhbj48L2Rpdj48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWdyb3VwIHJldmVhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFnIj4wNCDCtyBMb25nLVRlcm08L2Rpdj4KICAgICAgICA8aDM+RGVzaWduICZhbXA7IENvbnN1bHRpbmc8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0ibWFyayI+4oaSPC9zcGFuPjxkaXYgY2xhc3M9InR4dCI+PGI+VHJlZSBTY2FwZSBEZXNpZ248L2I+PHNwYW4+UGxhbm5pbmcgd2hhdCBncm93cyB3aGVyZSwgYW5kIHdoeSwgZm9yIHllYXJzIG9mIGhlYWx0aHkgZ3Jvd3RoLjwvc3Bhbj48L2Rpdj48L2xpPgogICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJtYXJrIj7ihpI8L3NwYW4+PGRpdiBjbGFzcz0idHh0Ij48Yj5BcmJvcmlzdCBDb25zdWx0aW5nPC9iPjxzcGFuPlN0cmFpZ2h0IGFuc3dlcnMgb24gdHJlZSBoZWFsdGgsIHJpc2ssIGFuZCBsb25nLXRlcm0gcHJvcGVydHkgcGxhbm5pbmcuPC9zcGFuPjwvZGl2PjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MzZweDsiPgogICAgICA8YSBjbGFzcz0iYnRuLWdob3N0IiBocmVmPSJodHRwczovL215LmFydGlzdGljdHJlZXMuY29tL3NlcnZpY2VzIiBzdHlsZT0iY29sb3I6dmFyKC0taGVhcnR3b29kLXNvZnQpO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0taGVhcnR3b29kLXNvZnQpOyI+U2VlIGFsbCAxMCBzZXJ2aWNlcyBpbiBkZXRhaWwg4oaSPC9hPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJ0cnVzdCIgaWQ9IndoeSI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzZWMtaGVhZCByZXZlYWwiPgogICAgICA8ZGl2IGNsYXNzPSJleWVicm93Ij5XaHkgQXJ0aXN0aWMgVHJlZSBDYXJlPC9kaXY+CiAgICAgIDxoMj5KdWRnbWVudCwgbm90IGp1c3QgZXF1aXBtZW50LjwvaDI+CiAgICAgIDxwPkFueW9uZSBjYW4gb3duIGEgY2hhaW5zYXcuIFR3ZW50eS1maXZlIHllYXJzIG9mIGNhcmVmdWwgcGxhbm5pbmcsIHNhZmV0eSwgYW5kIHByb3BlcnR5IHByb3RlY3Rpb24gaXMgaGFyZGVyIHRvIGNvcHkuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ0cnVzdC1ncmlkIj4KICAgICAgPHVsIGNsYXNzPSJ0cnVzdC1saXN0IHJldmVhbCI+CiAgICAgICAgPGxpPgogICAgICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtaWNvbiI+4peOPC9kaXY+CiAgICAgICAgICA8ZGl2PjxoND4kMk0rIExpYWJpbGl0eSBJbnN1cmVkPC9oND48cD5BZGRlZCBwZWFjZSBvZiBtaW5kIG9uIGV2ZXJ5IGpvYiwgZnJvbSByb3V0aW5lIHBydW5pbmcgdG8gbWFqb3IgcmVtb3ZhbHMuPC9wPjwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtaWNvbiI+4oa7PC9kaXY+CiAgICAgICAgICA8ZGl2PjxoND5HYWZmbGVzcyBSb3BlLUNsaW1iaW5nPC9oND48cD5Qcm9mZXNzaW9uYWxseSB0YXVnaHQgdGVjaG5pcXVlIHRoYXQgcHJvdGVjdHMgdGhlIGNhbWJpdW0gbGF5ZXIgd2hpbGUgdHJpbW1pbmcuPC9wPjwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtaWNvbiI+4payPC9kaXY+CiAgICAgICAgICA8ZGl2PjxoND5DcmFuZSAmYW1wOyBBZXJpYWwtTGlmdCBDYXBhYmxlPC9oND48cD5Gb3IgbGFyZ2Ugb3IgaGlnaC1yaXNrIGpvYnMsIG1pbmltaXppbmcgcG90ZW50aWFsIGRhbWFnZSB0byB5b3VyIGhvbWUgb3IgYnVzaW5lc3MuPC9wPjwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtaWNvbiI+4pyTPC9kaXY+CiAgICAgICAgICA8ZGl2PjxoND5DZXJ0aWZpZWQgQXJib3Jpc3RzPC9oND48cD5UcmFpbmVkIHRlY2huaWNpYW5zIHVzaW5nIGJlc3QtcHJhY3RpY2UgcHJ1bmluZyBhY3Jvc3MgYWxsIHRyZWUgc3BlY2llcy48L3A+PC9kaXY+CiAgICAgICAgPC9saT4KICAgICAgPC91bD4KICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtdmlzdWFsIHJldmVhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1jYXJkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtYmFkZ2UtY3JvcCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL215LmZ1bm5lbHBhZ2VzLmNvbS91c2VyLWRhdGEvZ2FsbGVyeS8xMjc4Lzc2NDUtNmE1ZDcwYTkwYWY3ZC5wbmc/cj02NjM4NSIgYWx0PSJJU0EgQ2VydGlmaWVkIEFyYm9yaXN0IGNlcnRpZmljYXRpb24gYmFkZ2UiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWxpY2Vuc2UiPkxlb24gSHVudDxicj5UWC0yNTg1MTZBPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV5ZWJyb3ciPlByb2Zlc3Npb25hbCBjcmVkZW50aWFsPC9kaXY+CiAgICAgICAgICAgIDxoMz5JU0EgQ2VydGlmaWVkIEFyYm9yaXN0PC9oMz4KICAgICAgICAgICAgPHA+S25vd2xlZGdlLWxlZCB0cmVlIGNhcmUgZ3JvdW5kZWQgaW4gcmVjb2duaXplZCBhcmJvcmljdWx0dXJhbCBwcmFjdGljZXMgYW5kIHJlc3BvbnNpYmxlIHJlY29tbWVuZGF0aW9ucy48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LXN0cmlwIj4KICAgICAgICAgIDxpbWcgY2xhc3M9InRhbGwiIHNyYz0iaHR0cHM6Ly9vbGQuYXJ0aXN0aWN0cmVlcy5jb20vcmVzb3VyY2VzL2ltYWdlcy9kYW5nZXJvdXMtd2lkZS5qcGciIGFsdD0iRGFuZ2Vyb3VzIHRyZWUgcmVtb3ZhbCBpbiBwcm9ncmVzcyIgbG9hZGluZz0ibGF6eSIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9vbGQuYXJ0aXN0aWN0cmVlcy5jb20vcmVzb3VyY2VzL2ltYWdlcy9jcm93bi13aWRlLmpwZyIgYWx0PSJDcm93biByYWlzZSBhbmQgcm9vZiBjbGVhcmFuY2Ugd29yayIgbG9hZGluZz0ibGF6eSIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9vbGQuYXJ0aXN0aWN0cmVlcy5jb20vcmVzb3VyY2VzL2ltYWdlcy9zdG9ybS13aWRlLmpwZyIgYWx0PSJTdG9ybSBkYW1hZ2UgY2xlYW51cCIgbG9hZGluZz0ibGF6eSIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJmZWVkYmFjayI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzZWMtaGVhZCByZXZlYWwiPgogICAgICA8ZGl2IGNsYXNzPSJleWVicm93Ij5XaGF0IGNsaWVudHMgbm90aWNlPC9kaXY+CiAgICAgIDxoMj5UaGUgd29yayBtYXR0ZXJzLiBTbyBkb2VzIGhvdyB5b3UncmUgdHJlYXRlZC48L2gyPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmZWVkYmFjay1yb3ciPgogICAgICA8ZGl2IGNsYXNzPSJmZWVkYmFjay1jYXJkIHJldmVhbCI+CiAgICAgICAgPHE+UHJvZmVzc2lvbmFsIGZyb20gdGhlIGZpcnN0IGNhbGwgdG8gZmluYWwgY2xlYW4tdXAg4oCUIG5vIHN1cnByaXNlcy48L3E+CiAgICAgICAgPGRpdiBjbGFzcz0id2hvIj5Db21tb24gdGhlbWUgwrcgUHJvZmVzc2lvbmFsaXNtPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmZWVkYmFjay1jYXJkIHJldmVhbCI+CiAgICAgICAgPHE+VGhleSBleHBsYWluZWQgZXhhY3RseSB3aGF0IG5lZWRlZCB0byBoYXBwZW4gYW5kIHdoeSBiZWZvcmUgdG91Y2hpbmcgYSBicmFuY2guPC9xPgogICAgICAgIDxkaXYgY2xhc3M9IndobyI+Q29tbW9uIHRoZW1lIMK3IEVkdWNhdGlvbiAmYW1wOyBUcnVzdDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZmVlZGJhY2stY2FyZCByZXZlYWwiPgogICAgICAgIDxxPkNhcmVmdWwgYXJvdW5kIHRoZSBob3VzZSwgYW5kIGRpZG4ndCBsZWF2ZSBhIG1lc3MgYmVoaW5kLjwvcT4KICAgICAgICA8ZGl2IGNsYXNzPSJ3aG8iPkNvbW1vbiB0aGVtZSDCtyBQcm9wZXJ0eSBDYXJlPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJhcmVhIiBpZD0iYXJlYSI+CiAgPGRpdiBjbGFzcz0id3JhcCBhcmVhLWdyaWQiPgogICAgPGRpdiBjbGFzcz0icmV2ZWFsIj4KICAgICAgPGRpdiBjbGFzcz0iZXllYnJvdyI+V2hlcmUgd2Ugd29yazwvZGl2PgogICAgICA8aDI+Um9vdGVkIGluIEthdHkuIFJlYWNoaW5nIGFjcm9zcyBIb3VzdG9uLjwvaDI+CiAgICAgIDxwPkZyb20gdGhlIEVuZXJneSBDb3JyaWRvciB0byB0aGUgSGVpZ2h0cywgd2Ugc2VydmUgcmVzaWRlbnRpYWwgYW5kIGNvbW1lcmNpYWwgcHJvcGVydGllcyBhY3Jvc3MgZ3JlYXRlciBIb3VzdG9uLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iY2hpcC1yb3ciPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGlwIj5LYXR5PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGlwIj5SaXZlciBPYWtzPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGlwIj5UYW5nbGV3b29kPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGlwIj5NZW1vcmlhbDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hpcCI+VGhlIFdvb2RsYW5kczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hpcCI+U3VnYXIgTGFuZDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hpcCI+Q2xlYXIgTGFrZTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hpcCI+V2VzdCBVbml2ZXJzaXR5PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGlwIj5UaGUgSGVpZ2h0czwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImFyZWEtbm90ZSByZXZlYWwiPgogICAgICA8ZGl2IGNsYXNzPSJleWVicm93Ij5BIG5vdGUgb24gdGltaW5nPC9kaXY+CiAgICAgIDxwPlN0b3JtLXJlbGF0ZWQgam9icyBtb3ZlIGZhc3Qg4oCUIHRoZSBzb29uZXIgYSBoYXphcmRvdXMgdHJlZSBpcyBhc3Nlc3NlZCwgdGhlIG1vcmUgb3B0aW9ucyB5b3UgaGF2ZS4gUm91dGluZSBwcnVuaW5nIGFuZCB0cmVlIGhlYWx0aCB3b3JrIGNhbiB1c3VhbGx5IGJlIHNjaGVkdWxlZCBhcm91bmQgeW91ciBjYWxlbmRhci48L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9ImNvbnRhY3QiIGlkPSJjb250YWN0Ij4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9ImV5ZWJyb3ciIHN0eWxlPSJqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyI+TGV0J3MgdGFrZSBhIGxvb2s8L2Rpdj4KICAgIDxoMj5TZXQgdXAgeW91ciBmcmVlIGFzc2Vzc21lbnQgdG9kYXkuPC9oMj4KICAgIDxwIGNsYXNzPSJsZWRlIj5UZWxsIHVzIHdoYXQncyBnb2luZyBvbiDigJQgdXJnZW50IGhhemFyZCwgcm91dGluZSBjYXJlLCBvciBhIGJpZ2dlciBsYW5kIHByb2plY3Qg4oCUIGFuZCB3ZSdsbCB0YWtlIGl0IGZyb20gdGhlcmUuPC9wPgogICAgPGRpdiBjbGFzcz0iY29udGFjdC1jdGEtcm93Ij4KICAgICAgPGEgY2xhc3M9ImJ0bi1wcmltYXJ5IiBocmVmPSJ0ZWw6KzE4MzIzNDc0MzIzIj5DYWxsICg4MzIpIDM0Ny00MzIzIOKGkjwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWwiPgogICAgICA8ZGl2PjxkaXYgY2xhc3M9ImxibCI+UGhvbmU8L2Rpdj48ZGl2IGNsYXNzPSJ2YWwiPig4MzIpIDM0Ny00MzIzPC9kaXY+PC9kaXY+CiAgICAgIDxkaXY+PGRpdiBjbGFzcz0ibGJsIj5FbWFpbDwvZGl2PjxkaXYgY2xhc3M9InZhbCI+bGxodW50MjAwMkB5YWhvby5jb208L2Rpdj48L2Rpdj4KICAgICAgPGRpdj48ZGl2IGNsYXNzPSJsYmwiPkFkZHJlc3M8L2Rpdj48ZGl2IGNsYXNzPSJ2YWwiPjczMSBSZW5uaWUgU3QuLCBLYXR5LCBUWCA3NzQ1MDwvZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxmb290ZXI+CiAgQXJ0aXN0aWMgVHJlZSBDYXJlIMK3IEhvdXN0b24gJmFtcDsgS2F0eSwgVFggwrcgQ29uY2VwdCBsYW5kaW5nIHBhZ2UKPC9mb290ZXI+Cgo8L2Rpdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogIGNvbnN0IHJvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXRjLXNpdGUnKTsKICBpZighcm9vdCkgcmV0dXJuOwoKICBjb25zdCB0b2dnbGUgPSByb290LnF1ZXJ5U2VsZWN0b3IoJyNuYXZUb2dnbGUnKTsKICBjb25zdCBtZW51ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcjbW9iaWxlTWVudScpOwoKICBpZih0b2dnbGUgJiYgbWVudSl7CiAgICB0b2dnbGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpewogICAgICBjb25zdCBpc09wZW4gPSBtZW51LmNsYXNzTGlzdC50b2dnbGUoJ2lzLW9wZW4nKTsKICAgICAgdG9nZ2xlLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIGlzT3BlbiA/ICd0cnVlJyA6ICdmYWxzZScpOwogICAgfSk7CgogICAgbWVudS5xdWVyeVNlbGVjdG9yQWxsKCdhJykuZm9yRWFjaChmdW5jdGlvbihsaW5rKXsKICAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7CiAgICAgICAgbWVudS5jbGFzc0xpc3QucmVtb3ZlKCdpcy1vcGVuJyk7CiAgICAgICAgdG9nZ2xlLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpOwogICAgICB9KTsKICAgIH0pOwogIH0KCiAgY29uc3QgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpPT57CiAgICBlbnRyaWVzLmZvckVhY2goZT0+ewogICAgICBpZihlLmlzSW50ZXJzZWN0aW5nKXsKICAgICAgICBlLnRhcmdldC5jbGFzc0xpc3QuYWRkKCdpcy12aXNpYmxlJyk7CiAgICAgIH0KICAgIH0pOwogIH0sIHt0aHJlc2hvbGQ6MC4xNX0pOwoKICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yZXZlYWwsIC5yaW5nLWNhcmQnKS5mb3JFYWNoKGVsPT5pby5vYnNlcnZlKGVsKSk7CgogIGNvbnN0IHJlZHVjZU1vdGlvbiA9IHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM7CgogIHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLm51bVtkYXRhLWNvdW50XScpLmZvckVhY2goZWw9PnsKICAgIGNvbnN0IHRhcmdldCA9IHBhcnNlSW50KGVsLmRhdGFzZXQuY291bnQsIDEwKTsKICAgIGNvbnN0IHByZWZpeCA9IGVsLmRhdGFzZXQucHJlZml4IHx8ICcnOwogICAgY29uc3Qgc3VmZml4ID0gZWwuZGF0YXNldC5zdWZmaXggfHwgJyc7CgogICAgaWYocmVkdWNlTW90aW9uKXsKICAgICAgZWwudGV4dENvbnRlbnQgPSBwcmVmaXggKyB0YXJnZXQgKyBzdWZmaXg7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBsZXQgc3RhcnRlZCA9IGZhbHNlOwoKICAgIGNvbnN0IGNvdW50ZXJJTyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcyk9PnsKICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5PT57CiAgICAgICAgaWYoZW50cnkuaXNJbnRlcnNlY3RpbmcgJiYgIXN0YXJ0ZWQpewogICAgICAgICAgc3RhcnRlZCA9IHRydWU7CgogICAgICAgICAgY29uc3QgZHVyYXRpb24gPSAxMjAwOwogICAgICAgICAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsKCiAgICAgICAgICBmdW5jdGlvbiBzdGVwKG5vdyl7CiAgICAgICAgICAgIGNvbnN0IHAgPSBNYXRoLm1pbigobm93IC0gc3RhcnQpIC8gZHVyYXRpb24sIDEpOwogICAgICAgICAgICBjb25zdCBlYXNlZCA9IDEgLSBNYXRoLnBvdygxIC0gcCwgMyk7CgogICAgICAgICAgICBlbC50ZXh0Q29udGVudCA9IHByZWZpeCArIE1hdGgucm91bmQoZWFzZWQgKiB0YXJnZXQpICsgc3VmZml4OwoKICAgICAgICAgICAgaWYocCA8IDEpewogICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwge3RocmVzaG9sZDowLjR9KTsKCiAgICBjb3VudGVySU8ub2JzZXJ2ZShlbCk7CiAgfSk7Cn0pKCk7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
Artistic Tree Care — 25 Years Deep, Houston TX
Artistic Tree Care
  • Services
  • Why Us
  • Service Area
Free Assessment
Services Why Us Service Area Free Assessment →
Artistic Tree Care crew performing a dangerous tree removal
EST. 1999 • FREE ESTIMATES • HOUSTON TX • EST. 1999 •
Houston & Katy, Texas

Twenty-five
growth rings deep.

Since 1999, Artistic Tree Care has kept Houston's trees — and the homes and businesses beneath them — standing safely through storms, seasons, and every job in between. Founded by third-generation tree expert Leon Hunt.

Schedule a Free Assessment → See our services
0
Years in Houston
$0
Liability Insured
3rd
Gen. Arborist-Led
24/7
Storm Response
1999
First Ring · Founded
Dangerous RemovalsStorm Damage CleanupStump GrindingCrown Raise & Roof ClearanceMicroinjectionSkid-Steer ServicesTree Scape DesignFree Estimates Dangerous RemovalsStorm Damage CleanupStump GrindingCrown Raise & Roof ClearanceMicroinjectionSkid-Steer ServicesTree Scape DesignFree Estimates
How the rings formed

A quarter-century of widening capability.

Every tree tells its age in rings. Ours tell a story of steadily added expertise — each one still standing behind the last.

1999

Founded

Leon Hunt opens Artistic Tree Care, bringing third-generation tree expertise to Houston.

2000s

Dangerous Removals

Gaffless rope-climbing technique adopted to protect tree health during precarious removals.

2000s

Storm Response

Crane and aerial-lift capability added for large-scale storm damage and hazard work.

2010s

Tree Health

Microinjection treatment and storm-prevention assessments introduced.

2010s

Land & Design

Skid-steer site work and tree scape design and consulting expand the offering.

Today

25+ Years

A full-service, safety-first tree company trusted across greater Houston.

What we do

Organized around what you're facing —
not just a service menu.

Tree problems rarely arrive alone. We group our work by the situation you're in, so it's clear where to start.

01 · Urgent

Hazard & Storm Response

  • →
    Dangerous RemovalsPrecarious, high-risk removals using rope, crane, and aerial-lift techniques.
  • →
    Storm Damage CleanupFast response when wind, ice, or lightning bring a tree down.
  • →
    Deadwood RemovalRemoving dead or dying limbs before they become a liability.
02 · Preventive

Tree Health & Prevention

  • →
    Storm PreventionAssessing weak limbs, cracks, and root issues before the next storm.
  • →
    MicroinjectionTree Tech® treatments for pest, disease, and nutrient issues.
  • →
    Fine PruningCrown cleaning, weight reduction, and vista pruning by certified arborists.
03 · Property

Property & Land

  • →
    Crown Raise & Roof ClearanceKeeping limbs off rooflines and structures.
  • →
    Stump GrindingFast, non-intrusive removal that leaves no trace.
  • →
    Skid-Steer Loader ServicesGrading, drainage, trenching, and site clearing for bigger jobs.
04 · Long-Term

Design & Consulting

  • →
    Tree Scape DesignPlanning what grows where, and why, for years of healthy growth.
  • →
    Arborist ConsultingStraight answers on tree health, risk, and long-term property planning.
See all 10 services in detail →
Why Artistic Tree Care

Judgment, not just equipment.

Anyone can own a chainsaw. Twenty-five years of careful planning, safety, and property protection is harder to copy.

  • ◎

    $2M+ Liability Insured

    Added peace of mind on every job, from routine pruning to major removals.

  • ↻

    Gaffless Rope-Climbing

    Professionally taught technique that protects the cambium layer while trimming.

  • ▲

    Crane & Aerial-Lift Capable

    For large or high-risk jobs, minimizing potential damage to your home or business.

  • ✓

    Certified Arborists

    Trained technicians using best-practice pruning across all tree species.

ISA Certified Arborist certification badge
Leon Hunt
TX-258516A
Professional credential

ISA Certified Arborist

Knowledge-led tree care grounded in recognized arboricultural practices and responsible recommendations.

Dangerous tree removal in progress Crown raise and roof clearance work Storm damage cleanup
What clients notice

The work matters. So does how you're treated.

Professional from the first call to final clean-up — no surprises.
Common theme · Professionalism
They explained exactly what needed to happen and why before touching a branch.
Common theme · Education & Trust
Careful around the house, and didn't leave a mess behind.
Common theme · Property Care
Where we work

Rooted in Katy. Reaching across Houston.

From the Energy Corridor to the Heights, we serve residential and commercial properties across greater Houston.

Katy River Oaks Tanglewood Memorial The Woodlands Sugar Land Clear Lake West University The Heights
A note on timing

Storm-related jobs move fast — the sooner a hazardous tree is assessed, the more options you have. Routine pruning and tree health work can usually be scheduled around your calendar.

Let's take a look

Set up your free assessment today.

Tell us what's going on — urgent hazard, routine care, or a bigger land project — and we'll take it from there.

Call (832) 347-4323 →
Phone
(832) 347-4323
Email
llhunt2002@yahoo.com
Address
731 Rennie St., Katy, TX 77450
Artistic Tree Care · Houston & Katy, TX · Concept landing page
UPDATE
UPDATE
Image Gallery Grid
T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*

warning