{"id":18279,"date":"2026-10-13T20:49:52","date_gmt":"2026-10-13T18:49:52","guid":{"rendered":"https:\/\/estroje.sk\/?p=18279"},"modified":"2026-11-09T19:42:24","modified_gmt":"2026-11-09T18:42:24","slug":"xtool-safetypro-ap2-max","status":"publish","type":"post","link":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/","title":{"rendered":"xTool SafetyPro\u2122 AP2 Max"},"content":{"rendered":"<p>[vc_raw_html]PGRpdiBjbGFzcz0iZXN0cm9qZS14dG9vbC1tMiBwb3N0aWQtMTgyNzkiPjxzdHlsZT4KYm9keS5wb3N0aWQtMTgyNzkgLnRpdGxlc2xlZnRjcnVtYnNyaWdodCxib2R5LnBvc3RpZC0xODI3OSAubWV0YXMtY29udGFpbmVyLGJvZHkucG9zdGlkLTE4Mjc5IC5wYWdlVGl0bGUsYm9keS5wb3N0aWQtMTgyNzkgLnBhZ2VfdGl0bGV7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQpib2R5LnBvc3RpZC0xODI3OSAuY29udGVudF9hZnRlcl9oZWFkZXJ7cGFkZGluZy10b3A6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyNzkgLnNpbmdsZS1leHRyYXN7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQoKLnBvc3RpZC0xODI3OSAueG0yLXNwbGl0LWNhcmQtLWNhbSAueG0yLWNhbS1mZWF0dXJle2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1jYW0tbnVte3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1zcGxpdC1pbWd7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjt9Cjwvc3R5bGU+CjxzdHlsZT4KLmVzdHJvamUteHRvb2wtbTJ7LS1vcmFuZ2U6I2Q5ODIwMDstLW9yYW5nZS1kYXJrOiNiOTY1MDA7LS1vcmFuZ2Utc29mdDojZjFhYTJiOy0taW5rOiMxNjE4MWQ7LS1tdXRlZDojNjY2ZDc4Oy0tbGluZTojZThlYmVmOy0tc29mdDojZjRmNmY4Oy0tZGFyazojMTExMzE4Oy0tcmFkaXVzLWxnOjIycHg7LS1yYWRpdXMtbWQ6MTZweDstLWNhcmQtc2hhZG93OjAgMThweCAzOHB4IHJnYmEoMjIsMjQsMjksLjA4KTtmb250LWZhbWlseTppbmhlcml0O2NvbG9yOnZhcigtLWluayk7fQouZXN0cm9qZS14dG9vbC1tMiAqe2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci5lc3Ryb2plLXh0b29sLW0yIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdDt9Ci5lc3Ryb2plLXh0b29sLW0yIGltZ3ttYXgtd2lkdGg6MTAwJTt9Ci54bTItY29udGFpbmVye21heC13aWR0aDoxMTgwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjAgMThweDt9Ci54bTItc2VjdGlvbntwYWRkaW5nOjM0cHggMDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO30KLnhtMi1zZWN0aW9uLXNvZnR7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMDhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luLWJvdHRvbToxMHB4O30KLnhtMi1oMntmb250LXNpemU6MzJweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE0cHg7bGluZS1oZWlnaHQ6MS4xNTt9Ci54bTItaW50cm97Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNjttYXgtd2lkdGg6NzIwcHg7bWFyZ2luOjAgMCAyMnB4O30KLnhtMi1zZWN0aW9uLWhlYWR7dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1ib3R0b206MjJweDt9Ci54bTItc2VjdGlvbi1oZWFkLmNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO30KLnhtMi1zZWN0aW9uLWhlYWQuY2VudGVyIC54bTItaW50cm97bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt9CgoueG0yLWhlcm8td3JhcHtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO3BhZGRpbmc6MjhweCAwIDA7fQoueG0yLWhlcm8tY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjQwcHg7fQoueG0yLWFjY2VudC1iYXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjVweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSx2YXIoLS1vcmFuZ2UtZGFyaykpO30KLnhtMi1oZXJvLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo0MHB4O21hcmdpbi10b3A6OHB4O30KLnhtMi1nYWxsZXJ5LC54bTItaGVyby1pbmZve21pbi13aWR0aDowO30KLnhtMi1nYWxsZXJ5LW1haW57cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2ZmZjthc3BlY3QtcmF0aW86NC8zO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6em9vbS1pbjt9Ci54bTItZ2FsbGVyeS1tYWluIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO30KLnhtMi16b29tLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtyaWdodDoxNHB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKDE3LDE5LDI0LC43Mik7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7fQoueG0yLXpvb20tYnRuIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O30KLnhtMi10aHVtYnN7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi10b3A6MTJweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItdGh1bWJ7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1saW5lKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjt9Ci54bTItdGh1bWIgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtkaXNwbGF5OmJsb2NrO30KLnhtMi10aHVtYi5pcy1hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLWhlcm8taW5mb3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fQoueG0yLXRpdGxle2ZvbnQtc2l6ZTozNHB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMTU7fQoueG0yLXN1YnRpdGxle2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo2MDA7bWFyZ2luOjhweCAwIDE0cHg7fQoueG0yLWxlYWR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjttYXJnaW46MCAwIDIycHg7fQoueG0yLXF1aWNrZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE0cHg7bWFyZ2luLWJvdHRvbToyMHB4O30KLnhtMi1xdWljay1jYXJke2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO3BhZGRpbmc6MTRweCAxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4O30KLnhtMi1xdWljay1jYXJkIC5pY3t3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2ZsZXg6bm9uZTtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbi10b3A6MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtbGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1tdXRlZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNWVtO21hcmdpbi1ib3R0b206MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcGlsbC1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi1ib3R0b206MThweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItcGlsbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDt9Ci54bTItcGlsbC1zdG9ja3tiYWNrZ3JvdW5kOiNlOWY3ZWU7Y29sb3I6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zdG9jayAuZG90e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zaGlwe2JhY2tncm91bmQ6I2ZkZjFlMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7fQoueG0yLXBpbGwgc3Zne3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7fQoueG0yLXByaWNlLWJveHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MjBweDt9Ci54bTItcHJpY2UtY2VsbHtwYWRkaW5nOjE0cHggMThweDt9Ci54bTItcHJpY2UtY2VsbCArIC54bTItcHJpY2UtY2VsbHtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tbGluZSk7fQoueG0yLXByaWNlLWxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDVlbTttYXJnaW4tYm90dG9tOjRweDt9Ci54bTItcHJpY2UtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MjNweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcHJpY2UtdmFsdWUgc21hbGx7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLW11dGVkKTt9Ci54bTItc2t1LWxpbmV7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjotMTBweCAwIDE2cHg7fQoueG0yLWN0YS1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206OHB4O30KLnhtMi1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2ZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTVweDtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW9yYW5nZSk7dHJhbnNpdGlvbjouMnM7fQoueG0yLWJ0bi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZiAhaW1wb3J0YW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93OjAgMTJweCAyMnB4IHJnYmEoMjE3LDEzMCwwLC4yNCk7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi4wMWVtO3BhZGRpbmc6MTVweCAzMnB4O30KLnhtMi1idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZS1kYXJrKTtjb2xvcjojZmZmICFpbXBvcnRhbnQ7fQoueG0yLWJ0bi1naG9zdHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6dmFyKC0tb3JhbmdlLWRhcmspO2JvcmRlci1jb2xvcjp2YXIoLS1vcmFuZ2UpO30KLnhtMi1idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItYnRuLWdob3N0W2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi42O2N1cnNvcjpub3QtYWxsb3dlZDt9Ci54bTItYnRuLXNvb257Zm9udC1zaXplOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtjb2xvcjp2YXIoLS1tdXRlZCk7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bWFyZ2luLWxlZnQ6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDRlbTt9Ci54bTItY3RhLW5vdGV7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luOjAgMCAxNXB4O30KLnhtMi10cnVzdC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNHB4O21hcmdpbi10b3A6MjhweDtwYWRkaW5nLXRvcDoyOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi10cnVzdC1jYXJke3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MjBweCAxNnB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMTBweCAyNHB4IHJnYmEoMjIsMjQsMjksLjA1KTt9Ci54bTItdHJ1c3QtY2FyZCAuaWN7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbjowIGF1dG8gMTBweDt9Ci54bTItdHJ1c3QtY2FyZCBoNHtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowIDAgNnB4O30KLnhtMi10cnVzdC1jYXJkIHB7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNTt9CgoueG0yLWRhcmstY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Y29sb3I6I2YzZjRmNjtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjFmciAuOWZyO2dhcDowO2FsaWduLWl0ZW1zOnN0cmV0Y2g7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmU7fQoueG0yLWRhcmstY2FyZCA+IGRpdjpmaXJzdC1jaGlsZHtwYWRkaW5nOjQ4cHg7fQoueG0yLWRhcmstY2FyZDpob3ZlciwueG0yLWRhcmstY2FyZDpob3ZlciAqLC54bTItZGFyay1jYXJkICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkICp7Y29sb3I6aW5oZXJpdDt9Ci54bTItZGFyay1jYXJkIC54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2Utc29mdCkgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkIGgye2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXNpemU6MzBweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCAxNnB4O2xpbmUtaGVpZ2h0OjEuMjt9Ci54bTItZGFyay1jYXJkIHB7Y29sb3I6I2Q1ZDhkZSAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1kYXJrLWNhcmQgLnhtMi1lbXBoe2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDA7fQoueG0yLWRhcmstdmlzdWFse3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjttaW4taGVpZ2h0OjI2MHB4O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO30KLnhtMi1kYXJrLXZpc3VhbDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1kYXJrKSAwJSxyZ2JhKDE3LDE5LDI0LC44OCkgMTYlLHJnYmEoMTcsMTksMjQsLjQyKSAzNCUscmdiYSgxNywxOSwyNCwwKSA2MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxO30KLnhtMi1kYXJrLXZpc3VhbCBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWRhcmstdmlzdWFsIC54bTItdmlzdWFsLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTRweDtsZWZ0OjE0cHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41NSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtwYWRkaW5nOjZweCAxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAyZW07fQoueG0yLWRhcmstY3RhLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjE0cHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLXRvcDo4cHg7fQoueG0yLWJ0bi1saWdodHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWxpZ2h0OmhvdmVye2JvcmRlci1jb2xvcjojZmZmO30KLnhtMi1idG4tc29saWQtb25EYXJre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzoxNXB4IDMycHg7Zm9udC13ZWlnaHQ6ODAwO30KLnhtMi1idG4tc29saWQtb25EYXJrOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tb3JhbmdlLWRhcmspO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJre2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDgpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWdob3N0LW9uRGFyazpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjE2KTtib3JkZXItY29sb3I6I2ZmZjtjb2xvcjojZmZmO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrW2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi43O30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrIC54bTItYnRuLXNvb257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xNSk7Y29sb3I6I2ZmZjt9CgoueG0yLXZzLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoyNHB4O30KLnhtMi12cy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjI4cHg7fQoueG0yLXZzLWNhcmQgaDN7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO21hcmdpbjowIDAgNnB4O2NvbG9yOnZhcigtLWluayk7fQoueG0yLXZzLWNhcmQgLnhtMi12cy1zdWJ7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCAwIDE2cHg7fQoueG0yLXZzLWNhcmQgdWx7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O30ueG0yLXZzLWNhcmQgdWwgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmUgIWltcG9ydGFudDt9Ci54bTItdnMtY2FyZCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MjRweDttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjEuNTt9Ci54bTItdnMtY2FyZCBsaTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjdweDt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7fQoueG0yLXZzLWNhcmQuaXMteHRvb2x7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZS1zb2Z0KTt9CgovKiA9PT09PSBSZXZpc2lvbiAjNzogdHlwb2dyYXBoeSBoaWVyYXJjaHkgaW5zaWRlICJWeWJlciBsYXNlcmEiIGNvbXBhcmlzb24gYmxvY2sgPT09PT0gKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIC54bTItdnMtc3Vie2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MjJweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIGxpe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNlY3Rpb24taGVhZDpoYXMoKyAueG0yLXZzLWdyaWQpIC54bTItaW50cm97Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9CgoueG0yLWNhcC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjJweDt9Ci54bTItY2FwLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTt9Ci54bTItY2FwLWltZ3t3aWR0aDoxMDAlO2hlaWdodDoyMjBweDtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhcC1ib2R5e3BhZGRpbmc6MjBweCAyMnB4O30KLnhtMi1jYXAtYm9keSBoM3tmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA4cHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItY2FwLWJvZHkgcHtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS41NTttYXJnaW46MCAwIDEwcHg7fQoueG0yLWJhZGdlLW9wdGlvbmFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtwYWRkaW5nOjRweCAxMHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAzZW07fQoKLnhtMi1hY2MtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjIwcHg7fQoueG0yLWFjYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLWFjYy1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MjAwcHg7b2JqZWN0LWZpdDpjb250YWluO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTRweDt9Ci54bTItYWNjLWJvZHl7cGFkZGluZzoyMHB4IDIycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7fQoueG0yLWFjYy1jYXJkIGgze2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDhweDtjb2xvcjp2YXIoLS1pbmspO30KLnhtMi1hY2MtY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luOjAgMCAxNHB4O2ZsZXg6MTt9Ci54bTItYWNjLXBpbGx7bWFyZ2luLWJvdHRvbToxMnB4O30KLnhtMi1hY2MtcHJpY2UtYm94e21hcmdpbi1ib3R0b206MTRweDt9Ci54bTItYWNjLXByaWNlLWJveCAueG0yLXByaWNlLWNlbGx7cGFkZGluZzoxMHB4IDEycHg7fQoueG0yLWFjYy1wcmljZS1ib3ggLnhtMi1wcmljZS12YWx1ZXtmb250LXNpemU6MTdweDt9Ci54bTItYWNjLWJ0bntmb250LXNpemU6MTIuNXB4O3BhZGRpbmc6OXB4IDE2cHg7YWxpZ24tc2VsZjpjZW50ZXI7fQoKLnhtMi1wb3dlci1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjRweDt9Ci54bTItcG93ZXItY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7cGFkZGluZzoyNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO30KLnhtMi1wb3dlci1jYXJkLmlzLWN1cnJlbnR7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLXBvd2VyLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEycHg7cmlnaHQ6MjBweDtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzo0cHggMTJweDtib3JkZXItcmFkaXVzOjk5OXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDNlbTt9Ci54bTItcG93ZXItY2FyZCBoM3tmb250LXNpemU6MTlweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA2cHg7fQoueG0yLXBvd2VyLWNhcmQgLnN1Yntjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbjowIDAgMTRweDt9Ci54bTItcG93ZXItY2FyZCB1bHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7fS54bTItcG93ZXItY2FyZCB1bCBsaXtsaXN0LXN0eWxlLXR5cGU6bm9uZSAhaW1wb3J0YW50O30KLnhtMi1wb3dlci1jYXJkIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoyMnB4O21hcmdpbi1ib3R0b206OXB4O2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxLjU7fQoueG0yLXBvd2VyLWNhcmQgbGk6YmVmb3Jle2NvbnRlbnQ6IuKckyI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2NvbG9yOnZhcigtLW9yYW5nZSk7Zm9udC13ZWlnaHQ6NzAwO30KCi54bTItY2FtLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczouOWZyIDEuMWZyO2dhcDozNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci54bTItY2FtLWltZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO30KLnhtMi1jYW0taW1nIGltZ3t3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhbS1pbnRyb3tmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42O21hcmdpbjowIDAgMjJweDt9Ci54bTItY2FtLWZlYXR1cmV7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O21hcmdpbi1ib3R0b206MThweDt9Ci54bTItY2FtLW51bXtmbGV4Om5vbmU7d2lkdGg6NDZweDtmb250LXNpemU6MzhweDtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjp2YXIoLS1vcmFuZ2UpO29wYWNpdHk6LjM7Zm9udC1mYW1pbHk6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzotLjAyZW07fQoueG0yLWNhbS1mZWF0dXJlIGg0e21hcmdpbjowIDAgNXB4O2ZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO2xldHRlci1zcGFjaW5nOi0uMDFlbTtsaW5lLWhlaWdodDoxLjI1O30KLnhtMi1jYW0tZmVhdHVyZSBwe21hcmdpbjowO2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7fQoKLnhtMi1zcGxpdC1jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO30KLnhtMi1zcGxpdC1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDoyODBweDt9Ci54bTItc3BsaXQtYm9keXtwYWRkaW5nOjM0cHggMzhweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtY2FyZC0tdG9wIC54bTItc3BsaXQtYm9keXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCAhaW1wb3J0YW50O30KLnhtMi1zcGxpdC1ib2R5IGgze2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDEycHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItc3BsaXQtYm9keSBwe2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1ub3RlLWJveHtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO2JvcmRlci1sZWZ0OjNweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEycHggMTZweDtmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLWluayk7bWFyZ2luLXRvcDo2cHg7fQoueG0yLW5vdGUtYm94IC5pY3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2NvbG9yOnZhcigtLW9yYW5nZS1kYXJrKTtmbGV4Om5vbmU7bWFyZ2luLXRvcDoxcHg7fQoKLnhtMi1kZXNjLXdyYXB7bWF4LXdpZHRoOjExODBweDttYXJnaW46MCBhdXRvO30KLnhtMi1kZXNjLWltZ3t3aWR0aDoxMDAlO2hlaWdodDo0MjBweDtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MjRweDt9Ci54bTItZGVzYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjQ0cHggNTJweDtjb2x1bW4tY291bnQ6Mjtjb2x1bW4tZ2FwOjQwcHg7fQoueG0yLWRlc2MtY2FyZCBwe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNzU7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE2cHg7fQoueG0yLWRlc2MtY2FyZCBwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowO30KCi54bTItc3BlYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLXZpZGVvLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtwYWRkaW5nOjE0cHg7bWF4LXdpZHRoOjkwMHB4O21hcmdpbjowIGF1dG87fQoueG0yLXZpZGVvLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7aGVpZ2h0OjA7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMwMDA7fQoueG0yLXZpZGVvLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQpAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsueG0yLXZpZGVvLWNhcmR7cGFkZGluZzo4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO319Ci54bTItc3BlYy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMS40ZnI7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSk7fQoKLnhtMi1zcGVjLWxhYmVse2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1tdXRlZCk7fQoueG0yLXNwZWMtdmFsdWV7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0taW5rKTt9CkBtZWRpYSAobWluLXdpZHRoOjc2OXB4KXsKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtY2FyZHtkaXNwbGF5OmdyaWQgIWltcG9ydGFudDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAhaW1wb3J0YW50O2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoNSxhdXRvKSAhaW1wb3J0YW50O2dyaWQtYXV0by1mbG93OmNvbHVtbiAhaW1wb3J0YW50O2NvbHVtbi1nYXA6MCAhaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGVjLXJvd3twYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctYm90dG9tOjE0cHg7fQoucG9zdGlkLTE4Mjc5IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKG4rNil7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWxpbmUpICFpbXBvcnRhbnQ7cGFkZGluZy1sZWZ0OjI2cHggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoMTApLC5wb3N0aWQtMTgyNzkgLnhtMi1zcGVjLXJvdzpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O30KCn0KCi54bTItcGtnLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNnB4O30KLnhtMi1wa2ctY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQoueG0yLXBrZy1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTgwcHg7b2JqZWN0LWZpdDpjb250YWluO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO3BhZGRpbmc6MTZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7fQoueG0yLXBrZy1jYXJkIHNwYW57ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmspO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjM1O3BhZGRpbmc6MTBweCAxNHB4IDE0cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7fQoKLnhtMi1mYXF7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxNHB4O30KLnhtMi1mYXEtaXRlbXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzo0cHggMDt9Ci54bTItZmFxLWl0ZW0gc3VtbWFyeXtsaXN0LXN0eWxlOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoxNnB4IDUwcHggMTZweCAyMHB4O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTQuNXB4O2NvbG9yOnZhcigtLWluayk7cG9zaXRpb246cmVsYXRpdmU7fQoueG0yLWZhcS1pdGVtIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lO30KLnhtMi1mYXEtaXRlbSBzdW1tYXJ5OjphZnRlcntjb250ZW50OiIrIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxOHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Zm9udC1zaXplOjIwcHg7Y29sb3I6dmFyKC0tb3JhbmdlKTtmb250LXdlaWdodDo3MDA7fQoueG0yLWZhcS1pdGVtW29wZW5dIHN1bW1hcnk6OmFmdGVye2NvbnRlbnQ6IlwyMjEyIjt9Ci54bTItZmFxLWl0ZW1bb3Blbl0gc3VtbWFyeXtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1saW5lKTt9Ci54bTItZmFxLWl0ZW0gcHttYXJnaW46MDtwYWRkaW5nOjE0cHggMjBweCAxOHB4O2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNjt9CgoueG0yLWxpZ2h0Ym94e3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDEwLDEwLDEyLC45Mik7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6OTk5OTk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4yczt9Ci54bTItbGlnaHRib3guaXMtb3BlbntvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0bzt9Ci54bTItbGlnaHRib3ggaW1ne21heC13aWR0aDo4OHZ3O21heC1oZWlnaHQ6ODZ2aDtvYmplY3QtZml0OmNvbnRhaW47Ym9yZGVyLXJhZGl1czoxMHB4O30KLnhtMi1saWdodGJveCBidXR0b257cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xMik7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt9Ci54bTItbGlnaHRib3ggYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMjQpO30KLnhtMi1saWdodGJveCBidXR0b24gc3Zne3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7fQoueG0yLWxpZ2h0Ym94LWNsb3Nle3RvcDoyMnB4O3JpZ2h0OjIycHg7fQoueG0yLWxpZ2h0Ym94LXByZXZ7bGVmdDoyMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7fQoueG0yLWxpZ2h0Ym94LW5leHR7cmlnaHQ6MjJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO30KCkBtZWRpYShtYXgtd2lkdGg6OTAwcHgpewoueG0yLWhlcm8tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1jYXAtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1hY2MtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9Ci54bTItcG93ZXItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1jYW0tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1zcGxpdC1jYXJke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXNwbGl0LWltZ3ttaW4taGVpZ2h0OjIwMHB4O30KLnhtMi12cy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWZhcXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1kYXJrLWNhcmR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtwYWRkaW5nOjA7fQoueG0yLWRhcmstY2FyZCA+IGRpdjpmaXJzdC1jaGlsZHtwYWRkaW5nOjMwcHggMjRweCAzNHB4O30KLnhtMi1kYXJrLXZpc3VhbHttaW4taGVpZ2h0OjIwMHB4O29yZGVyOi0xO30KLnhtMi1kYXJrLXZpc3VhbDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDE3LDE5LDI0LDApIDQ1JSxyZ2JhKDE3LDE5LDI0LC41NSkgNzglLHZhcigtLWRhcmspIDEwMCUpO30KLnhtMi10cnVzdC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7fQp9CkBtZWRpYShtYXgtd2lkdGg6NTYwcHgpewoueG0yLWFjYy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXBrZy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO30KLnhtMi1xdWlja2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItcHJpY2UtYm94e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXByaWNlLWNlbGwgKyAueG0yLXByaWNlLWNlbGx7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTt9Ci54bTItaGVyby1jYXJke3BhZGRpbmc6MjRweDt9Ci54bTItaDJ7Zm9udC1zaXplOjI2cHg7fQoueG0yLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KLnhtMi10cnVzdC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Cn0KCi5wb3N0aWQtMTgyNzkgLnhtMi1jYXAtaW1nLS1tYWNoaW5le29iamVjdC1maXQ6Y29udGFpbjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxOHB4O30KLnBvc3RpZC0xODI3OSAueG0yLWNhcC1ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQoucG9zdGlkLTE4Mjc5IC54bTItY2FwLWJvZHkgcHtmbGV4LWdyb3c6MTt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1jYXAtbGlua3tkaXNwbGF5OmJsb2NrO3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjoxMHB4IGF1dG8gMDtwYWRkaW5nOjEycHggMjhweDtmb250LXNpemU6MTRweDt9CgoucG9zdGlkLTE4Mjc5IC54bTItY2FwLWltZ3tvYmplY3QtZml0OmNvbnRhaW4gIWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmZmYgIWltcG9ydGFudDtwYWRkaW5nOjE4cHggIWltcG9ydGFudDtib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDt9Cjwvc3R5bGU+CjxzdHlsZT4KLyogPT09PT0gUmV2aXNpb24gIzQgdGFyZ2V0ZWQgZml4ZXMgKDE5LXBvaW50IHB1bmNoIGxpc3QpID09PT09ICovCmJvZHkucG9zdGlkLTE4Mjc5IC5ibG9nLWRlZmF1bHQtYmd7bWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDttYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDt9CmJvZHkucG9zdGlkLTE4Mjc5IC5tYXN0ZXJfY29udGFpbmVye3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDtwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyNzkgc2VjdGlvbi5wYWdlX2NvbnRlbnR7YmFja2dyb3VuZDojZjRmNmY4ICFpbXBvcnRhbnQ7fQoKLyogSXRlbSA1KzY6IHRydXN0IHJvdyAtPiBNT05PUiBjb21wYWN0IHNpbmdsZS1saW5lIGNhcmQgc3R5bGUgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi10cnVzdC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjEwcHg7bWFyZ2luLXRvcDoyNHB4O3BhZGRpbmctdG9wOjI0cHg7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6N3B4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi1oZWlnaHQ6NzZweDtwYWRkaW5nOjEycHggMTBweDtib3gtc2hhZG93Om5vbmU7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgLmlje3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Y29sb3I6IzhhOTA5ODttYXJnaW46MDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBoNHtkaXNwbGF5Om5vbmU7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgcHtmb250LXNpemU6MTJweCAhaW1wb3J0YW50O2NvbG9yOnZhcigtLWluayk7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS40O2ZvbnQtd2VpZ2h0OjUwMDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItY3RhLW5vdGV7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDt9CgovKiBJdGVtIDc6IGhvdmVyIGp1bXAgZml4IC0gYm90aCBkYXJrLWNhcmQgQ1RBIGJsb2NrcyAoc2hvd3Jvb20gKyBmaW5hbCkgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG57Ym9yZGVyLXdpZHRoOjFweCAhaW1wb3J0YW50O2JvcmRlci1zdHlsZTpzb2xpZCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG46aG92ZXIsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG46Zm9jdXMsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG46YWN0aXZle2JvcmRlci13aWR0aDoxcHggIWltcG9ydGFudDtib3JkZXItc3R5bGU6c29saWQgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jYXJkLC5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jYXJkICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jdGEtcm93LC5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jdGEtcm93ICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9CgovKiBJdGVtIDg6IHZlcnRpY2FsIHJoeXRobSBub3JtYWxpemVkIHRvIE1PTk9SICgzMHB4IDApICovCi5lc3Ryb2plLXh0b29sLW0yIC54bTItc2VjdGlvbntwYWRkaW5nOjMwcHggMCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zZWN0aW9ue3BhZGRpbmc6MjZweCAwICFpbXBvcnRhbnQ7fQoKLyogSXRlbSA5OiBzdG9wIHRoZW1lJ3MgYmxvZyBwYXJhZ3JhcGggZGVmYXVsdCAoMTdweCkgbGVha2luZyBpbnRvIGNvbXBvbmVudCBjb3B5ICovCi5lc3Ryb2plLXh0b29sLW0yIHB7Zm9udC1zaXplOjE0cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWFjYy1jYXJkIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYW0tZmVhdHVyZSBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtYm9keSBwe2ZvbnQtc2l6ZToxNC41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGVzYy1jYXJkIHB7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZmFxLWl0ZW0gcHtmb250LXNpemU6MTMuNXB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWRhcmstY2FyZCBwe2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhcC1ib2R5IHB7Zm9udC1zaXplOjE0cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcG93ZXItY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdnMtY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcGtnLWNhcmQgc3Bhbntmb250LXNpemU6MTNweCAhaW1wb3J0YW50O30KCi8qIEl0ZW0gMTI6IGNhbWVyYSBudW1iZXJzIGJpZ2dlciArIGhlYWRpbmcgaGllcmFyY2h5IGNsZWFyZXIgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYW0tbnVte3dpZHRoOjM0cHggIWltcG9ydGFudDtoZWlnaHQ6MzRweCAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItY2FtLWZlYXR1cmUgLnhtMi1jYW0tbnVte3dpZHRoOjQ0cHggIWltcG9ydGFudDtoZWlnaHQ6NDRweCAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6ODAwICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhbS1mZWF0dXJlIGg0e2ZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7fQoKLyogSXRlbSAxNjogdGVjaG5pY2FsIHBhcmFtZXRlcnMgaW4gMiBkZXNrdG9wIGNvbHVtbnMgKENTUyBncmlkLCBhbGlnbmVkIHJvd3MgKyByZXN0b3JlZCB6ZWJyYSkgKi8KQG1lZGlhKG1pbi13aWR0aDo3NjlweCl7Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BlYy1jYXJke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDksYXV0byk7Z3JpZC1hdXRvLWZsb3c6Y29sdW1uO2NvbHVtbi1nYXA6MDthbGlnbi1pdGVtczpzdHJldGNoO30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGVjLXJvd3twYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctYm90dG9tOjE0cHg7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNwZWMtcm93Om50aC1jaGlsZChuKzEwKXtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tbGluZSk7cGFkZGluZy1sZWZ0OjI2cHg7fQoueG0yLXNwZWMtcm93Omxhc3QtY2hpbGQsLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoOSl7Ym9yZGVyLWJvdHRvbTpub25lO30KLmVzdHJvamUteHRvb2wtbTIgCn0KQG1lZGlhKG1heC13aWR0aDo3NjhweCl7Ci54bTItc3BlYy1yb3c6bnRoLWNoaWxkKGV2ZW4pe2JhY2tncm91bmQ6dmFyKC0tc29mdCk7fQp9CgovKiBJdGVtIDEwLzE0LzE1OiB0aWdodGVyLCBtb3JlIGNvbnNpc3RlbnQgaW1hZ2UgZnJhbWluZyBhY3Jvc3MgaW1hZ2Ugc2VjdGlvbnMgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYXAtbWVkaWEgaW1nLC5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtbWVkaWEgaW1nLC5lc3Ryb2plLXh0b29sLW0yIC54bTItZGVzYy1jYXJkIGltZ3tvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kLDEycHgpO30KCi8qID09PT09IFJldmlzaW9uICM1OiB0b3Atc2VjdGlvbiByZWZpbmVtZW50cyAoaGVhZGVyIHNwYWNpbmcsIENUQSBub3RlLCBkaXZpZGVyLCB0cnVzdCBjYXJkcykgPT09PT0gKi8KYm9keS5wb3N0aWQtMTgyNzkgLmJsb2ctZGVmYXVsdC53aWRlYmxvZ3twYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWhlcm8td3JhcHtwYWRkaW5nLXRvcDo0OHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LXJvd3ttYXJnaW4tdG9wOjAgIWltcG9ydGFudDtwYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7Ym9yZGVyLXRvcDpub25lICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgcHtjb2xvcjojMzUzYjQ0ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7fQoKLyogPT09PT0gUmV2aXNpb24gIzY6IGhlcm8gcmlnaHQtc2lkZSBjb21wYWN0bmVzcyAoYWNjZW50IGdhcCwgcXVpY2stZmFjdCBjYXJkcywgcHJpY2UgYmxvY2ssIGJ1dHRvbnMsIHRydXN0IGNhcmRzKSA9PT09PSAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWhlcm8tY2FyZHtwYWRkaW5nOjMwcHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItaGVyby1ncmlke21hcmdpbi10b3A6MCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1xdWlja2dyaWR7Z2FwOjEycHggIWltcG9ydGFudDttYXJnaW4tYm90dG9tOjE2cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcXVpY2stY2FyZHtwYWRkaW5nOjEzcHggMTRweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1xdWljay1jYXJkIC50eHQtbGFiZWx7bGluZS1oZWlnaHQ6MTRweCAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXF1aWNrLWNhcmQgLnR4dC12YWx1ZXtsaW5lLWhlaWdodDoxOHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXByaWNlLWJveHttYXJnaW4tYm90dG9tOjE2cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcHJpY2UtY2VsbHtwYWRkaW5nOjEycHggMTZweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wcmljZS1sYWJlbHtsaW5lLWhlaWdodDoxNHB4ICFpbXBvcnRhbnQ7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItcHJpY2UtbGFiZWx7Zm9udC13ZWlnaHQ6ODAwICFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0taW5rKSAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi4wNmVtICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bi1wcmltYXJ5e3BhZGRpbmc6MTNweCAyNnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgcHtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O30KCgovKiA9PT09PSBSZXZpc2lvbiAjODogc3BhY2luZywgaGVhZGluZyBhbGlnbm1lbnQsIFZvbGJhIHZ5a29udSB0eXBvZ3JhcGh5ID09PT09ICovCi5lc3Ryb2plLXh0b29sLW0yIC54bTItcG93ZXItY2FyZCAuc3Vie2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MjJweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wb3dlci1jYXJkIGxpe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMHB4ICFpbXBvcnRhbnQ7fQoKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgxKSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgzKSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg1KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg2KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg4KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgxMCl7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KSAhaW1wb3J0YW50O30KLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgyKSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg0KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg3KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg5KXtiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDt9Cjwvc3R5bGU+CjxzdHlsZT4KLnBvc3RpZC0xODI3OSAueG0yLWJ1bHttYXJnaW46MCAwIDEycHg7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O30KLnBvc3RpZC0xODI3OSAueG0yLWJ1bCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MjRweDttYXJnaW4tYm90dG9tOjhweDtmb250LXNpemU6MTQuNXB4O2NvbG9yOnZhcigtLW11dGVkKTtsaW5lLWhlaWdodDoxLjU1O2xpc3Qtc3R5bGUtdHlwZTpub25lICFpbXBvcnRhbnQ7fQoucG9zdGlkLTE4Mjc5IC54bTItYnVsIGxpOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6OHB4O3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tb3JhbmdlKTt9Cjwvc3R5bGU+CjxzdHlsZT4KLnBvc3RpZC0xODI3OSAueG0yLXBpbGwtc3RvY2suaXMtb3V0e2JhY2tncm91bmQ6I2ZmZjNlMDtjb2xvcjojYjQ1MzA5O30KLnBvc3RpZC0xODI3OSAueG0yLXBpbGwtc3RvY2suaXMtb3V0IC5kb3R7YmFja2dyb3VuZDojYjQ1MzA5O30KPC9zdHlsZT4KPHN0eWxlPgoucG9zdGlkLTE4Mjc5IC54bTItcGlsbC1idW5kbGV7YmFja2dyb3VuZDojZmZmM2UwO2NvbG9yOiNiNDUzMDk7fQoucG9zdGlkLTE4Mjc5IC54bTItcGlsbC1zdG9jay5pcy1zdXBwbGllcntiYWNrZ3JvdW5kOiNlYWYxZmI7Y29sb3I6IzFmNWZhODt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1waWxsLXN0b2NrLmlzLXN1cHBsaWVyIC5kb3R7YmFja2dyb3VuZDojMWY1ZmE4O30KPC9zdHlsZT48ZGl2IGNsYXNzPSJ4bTItaGVyby13cmFwIj4KPGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1oZXJvLWNhcmQiPgo8ZGl2IGNsYXNzPSJ4bTItYWNjZW50LWJhciI+PC9kaXY+CjxkaXYgY2xhc3M9InhtMi1oZXJvLWdyaWQiPgoKPGRpdiBjbGFzcz0ieG0yLWdhbGxlcnkiPgo8ZGl2IGNsYXNzPSJ4bTItZ2FsbGVyeS1tYWluIiBpZD0ieG0yLW1haW4td3JhcCI+CjxpbWcgaWQ9InhtMi1tYWluLWltZyIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtc2FmZXR5cHJvLWFwMi1tYXguanBnIiBhbHQ9InhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IOKAkyBhaXIgcHVyaWZpZXIgd2l0aCA3LWxheWVyIGZpbHRyYXRpb24iPgo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InhtMi16b29tLWJ0biIgYXJpYS1sYWJlbD0iRW5sYXJnZSBpbWFnZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCI+PC9jaXJjbGU+PHBhdGggZD0iTTIxIDIxbC00LjM1LTQuMzUiPjwvcGF0aD48L3N2Zz48L2J1dHRvbj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi10aHVtYnMiPjxidXR0b24gY2xhc3M9InhtMi10aHVtYiBpcy1hY3RpdmUiIHR5cGU9ImJ1dHRvbiIgZGF0YS1pbmRleD0iMCI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1zYWZldHlwcm8tYXAyLW1heC5qcGciIGFsdD0ieFRvb2wgU2FmZXR5UHJv4oSiIEFQMiBNYXgg4oCTIGFpciBwdXJpZmllciB3aXRoIDctbGF5ZXIgZmlsdHJhdGlvbiI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjEiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC12eWtvbi12emR1Y2h1LmpwZyIgYWx0PSJBaXJmbG93IGNvbXBhcmlzb24gb2YgdGhlIEFQMiBNYXggKDcwMCBtwrMvaCkgYW5kIEFQMiAoMTUwIG3Csy9oKSI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjIiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC03LXZyc3RpZXYtZmlsdHJhY2llLmpwZyIgYWx0PSJUaGUgQVAyIE1heCdzIDcgZmlsdHJhdGlvbiBsYXllcnMsIGluY2x1ZGluZyB0aGUgZm9ybWFsZGVoeWRlIGZpbHRlciI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjMiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC12eW1lbmEtZmlsdHJhLmpwZyIgYWx0PSJFYXN5IEFQMiBNYXggZmlsdGVyIGNhcnRyaWRnZSByZXBsYWNlbWVudCI+PC9idXR0b24+PC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLWhlcm8taW5mbyI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij54VG9vbCBhY2Nlc3NvcmllcyDigJMgaW5kdXN0cmlhbCBmaWx0cmF0aW9uPC9kaXY+CjxoMSBjbGFzcz0ieG0yLXRpdGxlIj54VG9vbCBTYWZldHlQcm\/ihKIgQVAyIE1heDwvaDE+CjxkaXYgY2xhc3M9InhtMi1zdWJ0aXRsZSI+SW5kdXN0cmlhbCBzbW9rZSBmaWx0cmF0aW9uIGZvciBkZW1hbmRpbmcgdXNlPC9kaXY+CjxwIGNsYXNzPSJ4bTItbGVhZCI+VGhlIFNhZmV0eVBybyBBUDIgTWF4IGlzIGEgbW9yZSBwb3dlcmZ1bCB2ZXJzaW9uIG9mIHRoZSBTYWZldHlQcm8gQVAyIHB1cmlmaWVyLCBkZXNpZ25lZCBmb3IgaW5kdXN0cmlhbCBhbmQgbGFyZ2UtZm9ybWF0IGxhc2VyIGFwcGxpY2F0aW9ucy4gV2l0aCBhbiBhaXJmbG93IG9mIDcwMCBtwrMvaCwgNzIgU3VwZXJDeWNsb25lIGN5Y2xvbmVzIGFuZCBhbiBleGNsdXNpdmUgZm9ybWFsZGVoeWRlIGZpbHRlciwgaXQgb2ZmZXJzIG11Y2ggc3Ryb25nZXIgZmlsdHJhdGlvbiB0aGFuIHRoZSBzdGFuZGFyZCBBUDIgbW9kZWwgKDE1MCBtwrMvaCwgMzYgY3ljbG9uZXMpLjwvcD4KCjxkaXYgY2xhc3M9InhtMi1xdWlja2dyaWQiPgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05LjU5IDQuNTlBMiAyIDAgMSAxIDExIDhIMm0xMC41OSAxMS40MUEyIDIgMCAxIDAgMTQgMTZIMm0xNS43My04LjI3QTIuNSAyLjUgMCAxIDEgMTkuNSAxMkgyIj48L3BhdGg+PC9zdmc+PHNwYW4+PHNwYW4gY2xhc3M9InR4dC1sYWJlbCI+QWlyZmxvdzwvc3Bhbj48c3BhbiBjbGFzcz0idHh0LXZhbHVlIj43MDAgbcKzL2g8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAyIDcgMTIgMTIgMjIgNyAxMiAyIj48L3BvbHlnb24+PHBvbHlsaW5lIHBvaW50cz0iMiAxNyAxMiAyMiAyMiAxNyI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPSIyIDEyIDEyIDE3IDIyIDEyIj48L3BvbHlsaW5lPjwvc3ZnPjxzcGFuPjxzcGFuIGNsYXNzPSJ0eHQtbGFiZWwiPkZpbHRyYXRpb248L3NwYW4+PHNwYW4gY2xhc3M9InR4dC12YWx1ZSI+dXAgdG8gNyBsYXllcnM8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5Z29uIHBvaW50cz0iMTMgMiAzIDE0IDEyIDE0IDExIDIyIDIxIDEwIDEyIDEwIDEzIDIiPjwvcG9seWdvbj48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5TdXBlckN5Y2xvbmUgY3ljbG9uZXM8L3NwYW4+PHNwYW4gY2xhc3M9InR4dC12YWx1ZSI+NzLDlyAoMsOXIG1vcmUgdGhhbiB0aGUgQVAyKTwvc3Bhbj48L3NwYW4+PC9kaXY+CjxkaXYgY2xhc3M9InhtMi1xdWljay1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9IjIyIDQgMTIgMTQuMDEgOSAxMS4wMSI+PC9wb2x5bGluZT48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5QYXJ0aWNsZSByZW1vdmFsPC9zcGFuPjxzcGFuIGNsYXNzPSJ0eHQtdmFsdWUiPjk5Ljk3JSBhdCAwLjMgwrVtIChTR1MpPC9zcGFuPjwvc3Bhbj48L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJ4bTItcGlsbC1yb3ciPgo8c3BhbiBjbGFzcz0ieG0yLXBpbGwgeG0yLXBpbGwtc3RvY2siIGlkPSJ4bTItc3RvY2stcGlsbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjxzcGFuIGlkPSJ4bTItc3RvY2stdGV4dCI+PC9zcGFuPjwvc3Bhbj4KPHNwYW4gY2xhc3M9InhtMi1waWxsIHhtMi1waWxsLXNoaXAiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMSIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIj48L3JlY3Q+PHBhdGggZD0iTTE1IDloNGwzIDR2NGgtN3oiPjwvcGF0aD48Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjwvc3ZnPkZyZWUgc2hpcHBpbmc8L3NwYW4+CjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLXByaWNlLWJveCI+CjxkaXYgY2xhc3M9InhtMi1wcmljZS1jZWxsIj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLWxhYmVsIj5QcmljZSBleGNsLiBWQVQ8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1wcmljZS12YWx1ZSIgaWQ9InhtMi1wcmljZS1leGNsIiBkYXRhLXdvby1wcmljZS1leGNsPSIxNjczNiI+TG9hZGluZ+KApjwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXByaWNlLWNlbGwiPjxzcGFuIGNsYXNzPSJ4bTItcHJpY2UtbGFiZWwiPlByaWNlIGluY2wuIFZBVDwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLXZhbHVlIiBpZD0ieG0yLXByaWNlLWluY2wiIGRhdGEtd29vLXByaWNlLWluY2w9IjE2NzM2Ij5Mb2FkaW5n4oCmPC9zcGFuPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InhtMi1za3UtbGluZSIgaWQ9InhtMi1za3UtbGluZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+U0tVOiA8c3BhbiBpZD0ieG0yLXNrdS12YWx1ZSI+PC9zcGFuPjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLWN0YS1yb3ciPgo8YSBjbGFzcz0ieG0yLWJ0biB4bTItYnRuLWdob3N0IiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vZXhwcmVzcy1pbnRlcmVzdC8\/Zm9vPXhUb29sJTIwU2FmZXR5UHJvJUUyJTg0JUEyJTIwQVAyJTIwTWF4Ij5HZXQgYWR2aWNlPC9hPgo8YSBjbGFzcz0ieG0yLWJ0biB4bTItYnRuLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZXN0cm9qZS5zay9rb3Npay8\/YWRkLXRvLWNhcnQ9MTg0MzIiPkFkZCB0byBjYXJ0PC9hPgo8L2Rpdj4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgZnVuY3Rpb24gZXN0cm9qZUZvcm1hdEVVUihjZW50cyl7CiAgICB2YXIgZXVyID0gY2VudHMgLyAxMDA7CiAgICByZXR1cm4gZXVyLnRvTG9jYWxlU3RyaW5nKCdlbi1JRScsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MiwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KSArICcg4oKsJzsKICB9CiAgd2luZG93LmVzdHJvamVMb2FkV29vUHJpY2UgPSBmdW5jdGlvbihwcm9kdWN0SWQsIGV4Y2xFbElkLCBpbmNsRWxJZCwgdmF0UmF0ZVBlcmNlbnQpewogICAgdmF0UmF0ZVBlcmNlbnQgPSB2YXRSYXRlUGVyY2VudCB8fCAyMzsKICAgIGZldGNoKCcvd3AtanNvbi93Yy9zdG9yZS92MS9wcm9kdWN0cy8nICsgcHJvZHVjdElkKQogICAgICAudGhlbihmdW5jdGlvbihyKXsgcmV0dXJuIHIuanNvbigpOyB9KQogICAgICAudGhlbihmdW5jdGlvbihwKXsKICAgICAgICB2YXIgaW5jbENlbnRzID0gcGFyc2VJbnQocC5wcmljZXMucHJpY2UsIDEwKTsKICAgICAgICB2YXIgZXhjbENlbnRzID0gTWF0aC5yb3VuZChpbmNsQ2VudHMgLyAoMSArIHZhdFJhdGVQZXJjZW50IC8gMTAwKSk7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoZXhjbENlbnRzKTsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSBlc3Ryb2plRm9ybWF0RVVSKGluY2xDZW50cyk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpewogICAgICAgIHZhciBleGNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChleGNsRWxJZCk7CiAgICAgICAgdmFyIGluY2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluY2xFbElkKTsKICAgICAgICBpZiAoZXhjbEVsKSBleGNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgfSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSgxNjczNiwgJ3htMi1wcmljZS1leGNsJywgJ3htMi1wcmljZS1pbmNsJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkgPSBmdW5jdGlvbihwcm9kdWN0SWQsIHBpbGxJZCwgdGV4dElkLCBza3VMaW5lSWQsIHNrdVZhbHVlSWQpewogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBwaWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGlsbElkKTsKICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRleHRJZCk7CiAgICAgICAgaWYgKHAuaXNfaW5fc3RvY2spIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSBwLmlzX29uX2JhY2tvcmRlciA\/ICdJbiBzdG9jayBhdCBzdXBwbGllciDigJMgZGVsaXZlcnkgaW4gNCB0byA3IGJ1c2luZXNzIGRheXMnIDogJ0luIHN0b2NrJzsgaWYgKHAuaXNfb25fYmFja29yZGVyKSB7IHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtc3VwcGxpZXInKTsgfSB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtb3V0Jyk7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSAnT24gcmVxdWVzdCc7IH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHAuc2t1KSB7CiAgICAgICAgICB2YXIgc2t1TGluZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdUxpbmVJZCk7CiAgICAgICAgICB2YXIgc2t1VmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChza3VWYWx1ZUlkKTsKICAgICAgICAgIGlmIChza3VMaW5lKSBza3VMaW5lLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgaWYgKHNrdVZhbHVlKSBza3VWYWx1ZS50ZXh0Q29udGVudCA9IHAuc2t1OwogICAgICAgIH0KICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkoMTY3MzYsICd4bTItc3RvY2stcGlsbCcsICd4bTItc3RvY2stdGV4dCcsICd4bTItc2t1LWxpbmUnLCAneG0yLXNrdS12YWx1ZScpOwp9KSgpOwo8L3NjcmlwdD4KPHAgY2xhc3M9InhtMi1jdGEtbm90ZSI+RG8geW91IGhhdmUgYSBxdWVzdGlvbiBhYm91dCB0aGUgcHJvZHVjdCBvciBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgaXQgaXMgcmlnaHQgZm9yIHlvdT8gV2Ugd2lsbCBiZSBoYXBweSB0byBhZHZpc2UgeW91LjwvcD4KCjxkaXYgY2xhc3M9InhtMi10cnVzdC1yb3ciPgo8ZGl2IGNsYXNzPSJ4bTItdHJ1c3QtY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjEiIHk9IjYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxMSI+PC9yZWN0PjxwYXRoIGQ9Ik0xNSA5aDRsMyA0djRoLTd6Ij48L3BhdGg+PGNpcmNsZSBjeD0iNiIgY3k9IjE5IiByPSIyIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNyIgY3k9IjE5IiByPSIyIj48L2NpcmNsZT48L3N2Zz48aDQ+RGVsaXZlcnk8L2g0PjxwPkRlbGl2ZXJ5IFNLIC8gQ1ogLyBFVTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXRydXN0LWNhcmQiPjxzdmcgY2xhc3M9ImljIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ij48L3BhdGg+PC9zdmc+PGg0PlNlcnZpY2UgYW5kIHN1cHBvcnQ8L2g0PjxwPlNlcnZpY2UgYW5kIHN1cHBvcnQ8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InhtMi10cnVzdC1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIxIDExLjVhOC4zOCA4LjM4IDAgMCAxLTguNSA4LjUgOC41IDguNSAwIDAgMS00LTFMMyAyMGwxLTUuNUE4LjUgOC41IDAgMSAxIDIxIDExLjV6Ij48L3BhdGg+PC9zdmc+PGg0PkFjY2Vzc29yaWVzIGFuZCBhZHZpY2U8L2g0PjxwPlByZS1wdXJjaGFzZSBhZHZpY2U8L3A+PC9kaXY+CjwvZGl2PgoKPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9InhtMi1saWdodGJveCIgYXJpYS1oaWRkZW49InRydWUiPgo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InhtMi1saWdodGJveC1jbG9zZSIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+PC9idXR0b24+CjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ieG0yLWxpZ2h0Ym94LXByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+PC9zdmc+PC9idXR0b24+CjxpbWcgc3JjPSIiIGFsdD0iIj4KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ4bTItbGlnaHRib3gtbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiPjwvcG9seWxpbmU+PC9zdmc+PC9idXR0b24+CjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uIj48ZGl2IGNsYXNzPSJ4bTItY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIGNlbnRlciI+PGRpdiBjbGFzcz0ieG0yLWV5ZWJyb3ciPkFwcGxpY2F0aW9uczwvZGl2PjxoMiBjbGFzcz0ieG0yLWgyIj5XaGF0IHRoZSBBUDIgTWF4IGlzIGdvb2QgZm9yPC9oMj48cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQVAyIE1heCBpcyBkZXNpZ25lZCBmb3IgZGVtYW5kaW5nIGFuZCBpbmR1c3RyaWFsIHVzZSB3aGVyZSB0aGUgc3RhbmRhcmQgQVAyIG1vZGVsIG5vIGxvbmdlciBoYXMgZW5vdWdoIGNhcGFjaXR5LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWdyaWQiPjxkaXYgY2xhc3M9InhtMi1jYXAtY2FyZCI+PGltZyBjbGFzcz0ieG0yLWNhcC1pbWciIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLWFwMi1tYXgtdnlrb24tdnpkdWNodS5qcGciIGFsdD0iNzAwIG3Csy9oIG9mIEFQMiBNYXggYWlyZmxvdyBmb3IgaW5kdXN0cmlhbCB1c2UiIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPjcwMCBtwrMvaCDigJMgZm9yIGluZHVzdHJpYWwgdXNlPC9oMz48cD5UaGUgQVAyIE1heCBvZmZlcnMgbW9yZSB0aGFuIGZvdXIgdGltZXMgdGhlIGFpcmZsb3cgb2YgdGhlIGJhc2ljIEFQMiBtb2RlbCAoMTUwIG3Csy9oKSDigJMgc3VpdGFibGUgZm9yIGhlYXZ5IGN1dHRpbmcgYW5kIGxhcmdlLWZvcm1hdCBpbmR1c3RyaWFsIGFwcGxpY2F0aW9ucy48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLWNhcC1jYXJkIj48aW1nIGNsYXNzPSJ4bTItY2FwLWltZyIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC03LXZyc3RpZXYtZmlsdHJhY2llLmpwZyIgYWx0PSJUaGUgQVAyIE1heCdzIDcgZmlsdHJhdGlvbiBsYXllcnMsIGluY2x1ZGluZyB0aGUgZXhjbHVzaXZlIGZvcm1hbGRlaHlkZSBmaWx0ZXIiIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPlVwIHRvIDcgZmlsdHJhdGlvbiBsYXllcnMsIGluY2x1ZGluZyBmb3JtYWxkZWh5ZGU8L2gzPjxwPlRoZSBleGNsdXNpdmUgZm9ybWFsZGVoeWRlIGZpbHRlciAob25seSBpbiB0aGUgQVAyIE1heCkgYnJlYWtzIGZvcm1hbGRlaHlkZSBkb3duIGludG8gaGFybWxlc3Mgd2F0ZXIgYW5kIENP4oKCOyB0b2dldGhlciB3aXRoIEhFUEEgYW5kIGFjdGl2YXRlZCBjYXJib24gaXQgY2FwdHVyZXMgOTkuOTclIG9mIHBhcnRpY2xlcy48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLWNhcC1jYXJkIj48aW1nIGNsYXNzPSJ4bTItY2FwLWltZyIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC12c2VzdHJhbm5lLXBvdXppdGllLmpwZyIgYWx0PSJWZXJzYXRpbGUgQVAyIE1heCB1c2UgaW4gdGhlIHdvcmtzaG9wIOKAkyBjdXR0aW5nLCBzb2xkZXJpbmcsIGVsZWN0cm9uaWNzIHByb2R1Y3Rpb24iIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPlZlcnNhdGlsZSB1c2UgaW4gdGhlIHdvcmtzaG9wPC9oMz48cD5BY2NvcmRpbmcgdG8gb2ZmaWNpYWwgeFRvb2wgZXhhbXBsZXMsIGl0IGlzIHN1aXRhYmxlIGZvciBsYXNlciBjdXR0aW5nLCBzb2xkZXJpbmcgYW5kIGVsZWN0cm9uaWNzIHByb2R1Y3Rpb24g4oCTIHdoZXJldmVyIHNtb2tlIGFuZCBvZG91cnMgbmVlZCB0byBiZSByZW1vdmVkIGVmZmVjdGl2ZWx5LjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+PGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24taGVhZCBjZW50ZXIiPjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5Db21wYXRpYmlsaXR5PC9kaXY+PGgyIGNsYXNzPSJ4bTItaDIiPkNvbXBhdGlibGUgeFRvb2wgbWFjaGluZXM8L2gyPjxwIGNsYXNzPSJ4bTItaW50cm8iPkFjY29yZGluZyB0byBvZmZpY2lhbCB4VG9vbCBkb2N1bWVudGF0aW9uLCB0aGUgQVAyL0FQMiBNYXggaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBQMlMsIFAyLCBTMSwgTTEgVWx0cmEsIEYxIFVsdHJhLCBEMSwgRDEgUHJvLCBNMSBhbmQgRjEgKGV4aGF1c3QgcG9ydCA2MOKAkzExMCBtbSBvciAyMDDigJMyNTAgbW0pLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWdyaWQiPjxkaXYgY2xhc3M9InhtMi1jYXAtY2FyZCI+PGltZyBjbGFzcz0ieG0yLWNhcC1pbWcgeG0yLWNhcC1pbWctLW1hY2hpbmUiIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLXAycy1zdGFuZGFsb25lLXByZWRueS1wb2hsYWQuanBnIiBhbHQ9InhUb29sIFAyUyIgbG9hZGluZz0ibGF6eSI+PGRpdiBjbGFzcz0ieG0yLWNhcC1ib2R5Ij48aDM+eFRvb2wgUDJTPC9oMz48cD5PZmZpY2lhbGx5IGNvbXBhdGlibGUgeFRvb2wgbWFjaGluZS48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24geG0yLXNlY3Rpb24tc29mdCI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIj4KPGRpdiBjbGFzcz0ieG0yLWV5ZWJyb3ciPlRlY2huaWNhbCBzcGVjaWZpY2F0aW9uczwvZGl2Pgo8aDIgY2xhc3M9InhtMi1oMiI+eFRvb2wgU2FmZXR5UHJv4oSiIEFQMiBNYXgg4oCTIHRlY2huaWNhbCBkYXRhPC9oMj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi1zcGVjLWNhcmQiPjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5BaXJmbG93PC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+NzAwIG3Csy9oIChBUDI6IDE1MCBtwrMvaCk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPk51bWJlciBvZiBTdXBlckN5Y2xvbmUgY3ljbG9uZXM8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj43MiAoQVAyOiAzNik8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPkZpbHRyYXRpb24gc3RhZ2VzPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+dXAgdG8gNyAocHJlLWZpbHRlciwgY3ljbG9uZSwgSEVQQSwgMsOXIGNhcmJvbiBmaWx0ZXIsIGZvcm1hbGRlaHlkZSBmaWx0ZXIsIGR5bmFtaWMgbGF5ZXIpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5FeGNsdXNpdmUgZmVhdHVyZTwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPmZvcm1hbGRlaHlkZSBmaWx0ZXIgKEFQMiBNYXggb25seSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPkVmZmljaWVuY3k8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj45OS45OSUgUE0yLjUsIDk5Ljk3JSBvZiAwLjMgwrVtIHBhcnRpY2xlcyAoU0dTIHRlc3QpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5UVk9DIC8gdG9sdWVuZSByZW1vdmFsPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+OTksOTkgJSAvIDk5LDkgJTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+U21hcnQgY29udHJvbDwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPmF1dG9tYXRpYyBvbi9vZmYgd2l0aCB0aGUgeFRvb2wgbWFjaGluZSwgc2V0dGluZ3MgYmFzZWQgb24gbWF0ZXJpYWw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPk9mZmljaWFsbHkgY29tcGF0aWJsZSBtYWNoaW5lczwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPlAyUywgUDIsIFMxLCBNMSBVbHRyYSwgRjEgVWx0cmEsIEQxLCBEMSBQcm8sIE0xLCBGMTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+RXhoYXVzdCBwb3J0IGRpYW1ldGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+NjDigJMxMTAgbW0gb3IgMjAw4oCTMjUwIG1tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5GaWx0ZXIgbWFpbnRlbmFuY2U8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj5wdWxsLW91dCBtYWduZXRpYyBjb3Zlciwgd2FzaGFibGUgY3ljbG9uZSBwcmUtZmlsdGVyPC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24geG0yLXNlY3Rpb24tc29mdCI+PGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5XaGF0J3MgaW4gdGhlIGJveDwvZGl2Pgo8aDIgY2xhc3M9InhtMi1oMiI+V2hhdCdzIGluIHRoZSBib3g8L2gyPgo8cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQVAyIE1heCBjb21lcyB3aXRoIGEgY29tcGxldGUgNy1sYXllciBmaWx0ZXIgc2V0IHJlYWR5IHRvIHVzZS48L3A+PGRpdiBjbGFzcz0ieG0yLXBrZy1ncmlkIj48ZGl2IGNsYXNzPSJ4bTItcGtnLWNhcmQiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtc2FmZXR5cHJvLWFwMi1tYXguanBnIiBhbHQ9InhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IHdpdGggNy1sYXllciBmaWx0cmF0aW9uIiBsb2FkaW5nPSJsYXp5IiBjbGFzcz0ieG0yLXBrZy1pbWciPjxzcGFuPnhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IHdpdGggNy1sYXllciBmaWx0cmF0aW9uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1wa2ctY2FyZCI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1hcDItbWF4LXZ5bWVuYS1maWx0cmEuanBnIiBhbHQ9IlJlcGxhY2luZyB0aGUgQVAyIE1heCBmaWx0ZXIgY2FydHJpZGdlIHZpYSB0aGUgcHVsbC1vdXQgbWFnbmV0aWMgY292ZXIiIGxvYWRpbmc9ImxhenkiIGNsYXNzPSJ4bTItcGtnLWltZyI+PHNwYW4+RWFzeSBmaWx0ZXIgY2FydHJpZGdlIHJlcGxhY2VtZW50PC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIGNlbnRlciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5GQVE8L2Rpdj4KPGgyIGNsYXNzPSJ4bTItaDIiPlRoZSBxdWVzdGlvbnMgeW91IGFzayB1cyBtb3N0IG9mdGVuPC9oMj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi1mYXEiPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PldoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgQVAyIGFuZCB0aGUgQVAyIE1heD88L3N1bW1hcnk+PHA+VGhlIEFQMiBNYXggaGFzIG1vcmUgdGhhbiBmb3VyIHRpbWVzIHRoZSBhaXJmbG93ICg3MDAgbcKzL2ggdmVyc3VzIDE1MCBtwrMvaCksIHR3aWNlIGFzIG1hbnkgY3ljbG9uZXMgKDcyIHZlcnN1cyAzNikgYW5kIGFuIGV4Y2x1c2l2ZSBmb3JtYWxkZWh5ZGUgZmlsdGVyIHRoYXQgdGhlIEFQMiBkb2VzIG5vdCBoYXZlLiBJdCBpcyBkZXNpZ25lZCBmb3IgaW5kdXN0cmlhbCBhbmQgbGFyZ2UtZm9ybWF0IGFwcGxpY2F0aW9ucy48L3A+PC9kZXRhaWxzPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PldoaWNoIHhUb29sIG1hY2hpbmVzIGlzIGl0IGNvbXBhdGlibGUgd2l0aD88L3N1bW1hcnk+PHA+QWNjb3JkaW5nIHRvIG9mZmljaWFsIHhUb29sIGRvY3VtZW50YXRpb24sIHRoZSBBUDIvQVAyIE1heCBpcyBjb21wYXRpYmxlIHdpdGggdGhlIFAyUywgUDIsIFMxLCBNMSBVbHRyYSwgRjEgVWx0cmEsIEQxLCBEMSBQcm8sIE0xIGFuZCBGMS48L3A+PC9kZXRhaWxzPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PkhvdyBlZmZpY2llbnQgaXMgdGhlIGZpbHRyYXRpb24\/PC9zdW1tYXJ5PjxwPkFjY29yZGluZyB0byBTR1MgdGVzdHMsIGl0IHJlbW92ZXMgOTkuOTklIG9mIFBNMi41IHBhcnRpY2xlcyBhbmQgOTkuOTclIG9mIDAuMyDCtW0gcGFydGljbGVzLCBhcyB3ZWxsIGFzIDk5Ljk5JSBvZiBUVk9DIGFuZCA5OS45JSBvZiB0b2x1ZW5lLjwvcD48L2RldGFpbHM+PGRldGFpbHMgY2xhc3M9InhtMi1mYXEtaXRlbSI+PHN1bW1hcnk+SG93IG9mdGVuIGRvZXMgdGhlIGN5Y2xvbmUgcHJlLWZpbHRlciBuZWVkIGNsZWFuaW5nPzwvc3VtbWFyeT48cD5DbGVhbmluZyBhcHByb3hpbWF0ZWx5IGV2ZXJ5IDYgbW9udGhzIGlzIHJlY29tbWVuZGVkLCBkZXBlbmRpbmcgb24gaG93IGludGVuc2l2ZWx5IGl0IGlzIHVzZWQuPC9wPjwvZGV0YWlscz48ZGV0YWlscyBjbGFzcz0ieG0yLWZhcS1pdGVtIj48c3VtbWFyeT5DYW4gdGhlIGFpciBmcm9tIHRoZSBwdXJpZmllciBiZSByZWxlYXNlZCBkaXJlY3RseSBpbnRvIHRoZSByb29tPzwvc3VtbWFyeT48cD5ZZXMsIHRoZSBmaWx0ZXJlZCBhaXIgbWVldHMgYWlyIHF1YWxpdHkgcmVxdWlyZW1lbnRzIGZvciBkaXJlY3QgcmVsZWFzZSBpbmRvb3JzLjwvcD48L2RldGFpbHM+PC9kaXY+CjwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItZGFyay1jYXJkIj4KPGRpdj4KPGRpdiBjbGFzcz0ieG0yLWV5ZWJyb3ciPlNob3dyb29tIEtvxaHFpWFueSBuYWQgVHVyY29tPC9kaXY+CjxoMj5UcnkgdGhlIEFQMiBNYXggbGl2ZTwvaDI+CjxwPlRoZSBBUDIgTWF4J3MgcGVyZm9ybWFuY2UgYW5kIGZpbHRyYXRpb24gbmVlZCB0byBiZSBzZWVuIGxpdmUg4oCTIGJvb2sgYSBkZW1vIGluIG91ciBzaG93cm9vbSBpbiBLb8WhxaVhbnkgbmFkIFR1cmNvbSB3aGlsZSB0aGUgbGFzZXIgaXMgd29ya2luZy48L3A+CjxwIGNsYXNzPSJ4bTItZW1waCI+QnJpbmcgeW91ciBvd24gaXRlbSDigJMgd2Ugd2lsbCBiZSBoYXBweSB0byB0ZXN0IGl0IHdpdGggeW91LjwvcD4KPGRpdiBjbGFzcz0ieG0yLWRhcmstY3RhLXJvdyI+CjxhIGNsYXNzPSJ4bTItYnRuIHhtMi1idG4tc29saWQtb25EYXJrIiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vYm9vay1hLXNob3dyb29tLXZpc2l0LyI+Qm9vayBhIGRlbW88L2E+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLWRhcmstdmlzdWFsIj4KPGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9zaG93cm9vbS1lc3Ryb2plLW1vbm9yLXh0b29sLndlYnAiIGFsdD0iZVN0cm9qZSBzaG93cm9vbSBpbiBLb8WhxaVhbnkgbmFkIFR1cmNvbSDigJMgTU9OT1IgYW5kIHhUb29sIGxhc2VyIG1hY2hpbmVzIiBzdHlsZT0ib2JqZWN0LXBvc2l0aW9uOmNlbnRlciA0MCU7Ij4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgZnVuY3Rpb24gZXN0cm9qZUZvcm1hdEVVUihjZW50cyl7CiAgICB2YXIgZXVyID0gY2VudHMgLyAxMDA7CiAgICByZXR1cm4gZXVyLnRvTG9jYWxlU3RyaW5nKCdlbi1JRScsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MiwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KSArICcg4oKsJzsKICB9CiAgd2luZG93LmVzdHJvamVMb2FkV29vUHJpY2UgPSBmdW5jdGlvbihwcm9kdWN0SWQsIGV4Y2xFbElkLCBpbmNsRWxJZCwgdmF0UmF0ZVBlcmNlbnQpewogICAgdmF0UmF0ZVBlcmNlbnQgPSB2YXRSYXRlUGVyY2VudCB8fCAyMzsKICAgIGZldGNoKCcvd3AtanNvbi93Yy9zdG9yZS92MS9wcm9kdWN0cy8nICsgcHJvZHVjdElkKQogICAgICAudGhlbihmdW5jdGlvbihyKXsgcmV0dXJuIHIuanNvbigpOyB9KQogICAgICAudGhlbihmdW5jdGlvbihwKXsKICAgICAgICB2YXIgaW5jbENlbnRzID0gcGFyc2VJbnQocC5wcmljZXMucHJpY2UsIDEwKTsKICAgICAgICB2YXIgZXhjbENlbnRzID0gTWF0aC5yb3VuZChpbmNsQ2VudHMgLyAoMSArIHZhdFJhdGVQZXJjZW50IC8gMTAwKSk7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoZXhjbENlbnRzKTsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSBlc3Ryb2plRm9ybWF0RVVSKGluY2xDZW50cyk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpewogICAgICAgIHZhciBleGNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChleGNsRWxJZCk7CiAgICAgICAgdmFyIGluY2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluY2xFbElkKTsKICAgICAgICBpZiAoZXhjbEVsKSBleGNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgfSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSgxNjczNiwgJ3htMi1wcmljZS1leGNsJywgJ3htMi1wcmljZS1pbmNsJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkgPSBmdW5jdGlvbihwcm9kdWN0SWQsIHBpbGxJZCwgdGV4dElkLCBza3VMaW5lSWQsIHNrdVZhbHVlSWQpewogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBwaWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGlsbElkKTsKICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRleHRJZCk7CiAgICAgICAgaWYgKHAuaXNfaW5fc3RvY2spIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSBwLmlzX29uX2JhY2tvcmRlciA\/ICdJbiBzdG9jayBhdCBzdXBwbGllciDigJMgZGVsaXZlcnkgaW4gNCB0byA3IGJ1c2luZXNzIGRheXMnIDogJ0luIHN0b2NrJzsgaWYgKHAuaXNfb25fYmFja29yZGVyKSB7IHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtc3VwcGxpZXInKTsgfSB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtb3V0Jyk7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSAnT24gcmVxdWVzdCc7IH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHAuc2t1KSB7CiAgICAgICAgICB2YXIgc2t1TGluZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdUxpbmVJZCk7CiAgICAgICAgICB2YXIgc2t1VmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChza3VWYWx1ZUlkKTsKICAgICAgICAgIGlmIChza3VMaW5lKSBza3VMaW5lLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgaWYgKHNrdVZhbHVlKSBza3VWYWx1ZS50ZXh0Q29udGVudCA9IHAuc2t1OwogICAgICAgIH0KICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkoMTY3MzYsICd4bTItc3RvY2stcGlsbCcsICd4bTItc3RvY2stdGV4dCcsICd4bTItc2t1LWxpbmUnLCAneG0yLXNrdS12YWx1ZScpOwp9KSgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CnZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmVzdHJvamUteHRvb2wtbTInKTsKaWYoIXJvb3QpIHJldHVybjsKdmFyIGltYWdlcyA9IFsKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLXNhZmV0eXByby1hcDItbWF4LmpwZyIsIGFsdDogInhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IOKAkyBhaXIgcHVyaWZpZXIgd2l0aCA3LWxheWVyIGZpbHRyYXRpb24ifSwKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLWFwMi1tYXgtdnlrb24tdnpkdWNodS5qcGciLCBhbHQ6ICJBaXJmbG93IGNvbXBhcmlzb24gb2YgdGhlIEFQMiBNYXggKDcwMCBtwrMvaCkgYW5kIEFQMiAoMTUwIG3Csy9oKSJ9LAogIHtzcmM6ICJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC03LXZyc3RpZXYtZmlsdHJhY2llLmpwZyIsIGFsdDogIlRoZSBBUDIgTWF4J3MgNyBmaWx0cmF0aW9uIGxheWVycywgaW5jbHVkaW5nIHRoZSBmb3JtYWxkZWh5ZGUgZmlsdGVyIn0sCiAge3NyYzogImh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1hcDItbWF4LXZ5bWVuYS1maWx0cmEuanBnIiwgYWx0OiAiRWFzeSBBUDIgTWF4IGZpbHRlciBjYXJ0cmlkZ2UgcmVwbGFjZW1lbnQifQpdCiAgdmFyIG1haW5JbWcgPSByb290LnF1ZXJ5U2VsZWN0b3IoJyN4bTItbWFpbi1pbWcnKTsKdmFyIHRodW1icyA9IHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLnhtMi10aHVtYicpOwp2YXIgem9vbUJ0biA9IHJvb3QucXVlcnlTZWxlY3RvcignLnhtMi16b29tLWJ0bicpOwp2YXIgbWFpbldyYXAgPSByb290LnF1ZXJ5U2VsZWN0b3IoJyN4bTItbWFpbi13cmFwJyk7CnZhciBsaWdodGJveCA9IHJvb3QucXVlcnlTZWxlY3RvcignLnhtMi1saWdodGJveCcpOwp2YXIgbGJJbWcgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCdpbWcnKTsKdmFyIGxiQ2xvc2UgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCcueG0yLWxpZ2h0Ym94LWNsb3NlJyk7CnZhciBsYlByZXYgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCcueG0yLWxpZ2h0Ym94LXByZXYnKTsKdmFyIGxiTmV4dCA9IGxpZ2h0Ym94LnF1ZXJ5U2VsZWN0b3IoJy54bTItbGlnaHRib3gtbmV4dCcpOwp2YXIgY3VycmVudCA9IDA7CgpmdW5jdGlvbiBzZXRNYWluKGkpewpjdXJyZW50ID0gaTsKbWFpbkltZy5zcmMgPSBpbWFnZXNbaV0uc3JjOwptYWluSW1nLmFsdCA9IGltYWdlc1tpXS5hbHQ7CnRodW1icy5mb3JFYWNoKGZ1bmN0aW9uKHQsaWR4KXsgdC5jbGFzc0xpc3QudG9nZ2xlKCdpcy1hY3RpdmUnLCBpZHg9PT1pKTsgfSk7Cn0KdGh1bWJzLmZvckVhY2goZnVuY3Rpb24odCxpZHgpeyB0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgc2V0TWFpbihpZHgpOyB9KTsgfSk7CgpmdW5jdGlvbiBvcGVuTGlnaHRib3goaSl7CmN1cnJlbnQgPSBpOwpsYkltZy5zcmMgPSBpbWFnZXNbaV0uc3JjOwpsYkltZy5hbHQgPSBpbWFnZXNbaV0uYWx0OwpsaWdodGJveC5jbGFzc0xpc3QuYWRkKCdpcy1vcGVuJyk7CmxpZ2h0Ym94LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCdmYWxzZScpOwp9CmZ1bmN0aW9uIGNsb3NlTGlnaHRib3goKXsKbGlnaHRib3guY2xhc3NMaXN0LnJlbW92ZSgnaXMtb3BlbicpOwpsaWdodGJveC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywndHJ1ZScpOwp9CmZ1bmN0aW9uIHNob3dSZWwoZGVsdGEpewpjdXJyZW50ID0gKGN1cnJlbnQgKyBkZWx0YSArIGltYWdlcy5sZW5ndGgpICUgaW1hZ2VzLmxlbmd0aDsKbGJJbWcuc3JjID0gaW1hZ2VzW2N1cnJlbnRdLnNyYzsKbGJJbWcuYWx0ID0gaW1hZ2VzW2N1cnJlbnRdLmFsdDsKc2V0TWFpbihjdXJyZW50KTsKfQppZih6b29tQnRuKSB6b29tQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgb3BlbkxpZ2h0Ym94KGN1cnJlbnQpOyB9KTsKaWYobWFpbldyYXApIG1haW5XcmFwLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgb3BlbkxpZ2h0Ym94KGN1cnJlbnQpOyB9KTsKbGJDbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlTGlnaHRib3gpOwpsYlByZXYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBzaG93UmVsKC0xKTsgfSk7CmxiTmV4dC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHNob3dSZWwoMSk7IH0pOwpsaWdodGJveC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpeyBpZihlLnRhcmdldCA9PT0gbGlnaHRib3gpIGNsb3NlTGlnaHRib3goKTsgfSk7CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKXsKaWYoIWxpZ2h0Ym94LmNsYXNzTGlzdC5jb250YWlucygnaXMtb3BlbicpKSByZXR1cm47CmlmKGUua2V5ID09PSAnRXNjYXBlJykgY2xvc2VMaWdodGJveCgpOwppZihlLmtleSA9PT0gJ0Fycm93TGVmdCcpIHNob3dSZWwoLTEpOwppZihlLmtleSA9PT0gJ0Fycm93UmlnaHQnKSBzaG93UmVsKDEpOwp9KTsKCnZhciBmYXFJdGVtcyA9IHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLnhtMi1mYXEtaXRlbScpOwpmYXFJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pewppdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3RvZ2dsZScsIGZ1bmN0aW9uKCl7CmlmKGl0ZW0ub3Blbil7CmZhcUl0ZW1zLmZvckVhY2goZnVuY3Rpb24ob3RoZXIpeyBpZihvdGhlciE9PWl0ZW0pIG90aGVyLm9wZW4gPSBmYWxzZTsgfSk7Cn0KfSk7Cn0pOwp9KSgpOwo8L3NjcmlwdD48L2Rpdj4=[\/vc_raw_html]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[vc_raw_html]PGRpdiBjbGFzcz0iZXN0cm9qZS14dG9vbC1tMiBwb3N0aWQtMTgyNzkiPjxzdHlsZT4KYm9keS5wb3N0aWQtMTgyNzkgLnRpdGxlc2xlZnRjcnVtYnNyaWdodCxib2R5LnBvc3RpZC0xODI3OSAubWV0YXMtY29udGFpbmVyLGJvZHkucG9zdGlkLTE4Mjc5IC5wYWdlVGl0bGUsYm9keS5wb3N0aWQtMTgyNzkgLnBhZ2VfdGl0bGV7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQpib2R5LnBvc3RpZC0xODI3OSAuY29udGVudF9hZnRlcl9oZWFkZXJ7cGFkZGluZy10b3A6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyNzkgLnNpbmdsZS1leHRyYXN7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQoKLnBvc3RpZC0xODI3OSAueG0yLXNwbGl0LWNhcmQtLWNhbSAueG0yLWNhbS1mZWF0dXJle2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1jYW0tbnVte3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1zcGxpdC1pbWd7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjt9Cjwvc3R5bGU+CjxzdHlsZT4KLmVzdHJvamUteHRvb2wtbTJ7LS1vcmFuZ2U6I2Q5ODIwMDstLW9yYW5nZS1kYXJrOiNiOTY1MDA7LS1vcmFuZ2Utc29mdDojZjFhYTJiOy0taW5rOiMxNjE4MWQ7LS1tdXRlZDojNjY2ZDc4Oy0tbGluZTojZThlYmVmOy0tc29mdDojZjRmNmY4Oy0tZGFyazojMTExMzE4Oy0tcmFkaXVzLWxnOjIycHg7LS1yYWRpdXMtbWQ6MTZweDstLWNhcmQtc2hhZG93OjAgMThweCAzOHB4IHJnYmEoMjIsMjQsMjksLjA4KTtmb250LWZhbWlseTppbmhlcml0O2NvbG9yOnZhcigtLWluayk7fQouZXN0cm9qZS14dG9vbC1tMiAqe2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci5lc3Ryb2plLXh0b29sLW0yIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdDt9Ci5lc3Ryb2plLXh0b29sLW0yIGltZ3ttYXgtd2lkdGg6MTAwJTt9Ci54bTItY29udGFpbmVye21heC13aWR0aDoxMTgwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjAgMThweDt9Ci54bTItc2VjdGlvbntwYWRkaW5nOjM0cHggMDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO30KLnhtMi1zZWN0aW9uLXNvZnR7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMDhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luLWJvdHRvbToxMHB4O30KLnhtMi1oMntmb250LXNpemU6MzJweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE0cHg7bGluZS1oZWlnaHQ6MS4xNTt9Ci54bTItaW50cm97Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNjttYXgtd2lkdGg6NzIwcHg7bWFyZ2luOjAgMCAyMnB4O30KLnhtMi1zZWN0aW9uLWhlYWR7dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1ib3R0b206MjJweDt9Ci54bTItc2VjdGlvbi1oZWFkLmNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO30KLnhtMi1zZWN0aW9uLWhlYWQuY2VudGVyIC54bTItaW50cm97bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt9CgoueG0yLWhlcm8td3JhcHtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO3BhZGRpbmc6MjhweCAwIDA7fQoueG0yLWhlcm8tY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjQwcHg7fQoueG0yLWFjY2VudC1iYXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjVweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSx2YXIoLS1vcmFuZ2UtZGFyaykpO30KLnhtMi1oZXJvLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo0MHB4O21hcmdpbi10b3A6OHB4O30KLnhtMi1nYWxsZXJ5LC54bTItaGVyby1pbmZve21pbi13aWR0aDowO30KLnhtMi1nYWxsZXJ5LW1haW57cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2ZmZjthc3BlY3QtcmF0aW86NC8zO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6em9vbS1pbjt9Ci54bTItZ2FsbGVyeS1tYWluIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO30KLnhtMi16b29tLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtyaWdodDoxNHB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKDE3LDE5LDI0LC43Mik7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7fQoueG0yLXpvb20tYnRuIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O30KLnhtMi10aHVtYnN7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi10b3A6MTJweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItdGh1bWJ7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1saW5lKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjt9Ci54bTItdGh1bWIgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtkaXNwbGF5OmJsb2NrO30KLnhtMi10aHVtYi5pcy1hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLWhlcm8taW5mb3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fQoueG0yLXRpdGxle2ZvbnQtc2l6ZTozNHB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMTU7fQoueG0yLXN1YnRpdGxle2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo2MDA7bWFyZ2luOjhweCAwIDE0cHg7fQoueG0yLWxlYWR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjttYXJnaW46MCAwIDIycHg7fQoueG0yLXF1aWNrZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE0cHg7bWFyZ2luLWJvdHRvbToyMHB4O30KLnhtMi1xdWljay1jYXJke2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO3BhZGRpbmc6MTRweCAxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4O30KLnhtMi1xdWljay1jYXJkIC5pY3t3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2ZsZXg6bm9uZTtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbi10b3A6MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtbGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1tdXRlZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNWVtO21hcmdpbi1ib3R0b206MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcGlsbC1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi1ib3R0b206MThweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItcGlsbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDt9Ci54bTItcGlsbC1zdG9ja3tiYWNrZ3JvdW5kOiNlOWY3ZWU7Y29sb3I6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zdG9jayAuZG90e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zaGlwe2JhY2tncm91bmQ6I2ZkZjFlMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7fQoueG0yLXBpbGwgc3Zne3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7fQoueG0yLXByaWNlLWJveHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MjBweDt9Ci54bTItcHJpY2UtY2VsbHtwYWRkaW5nOjE0cHggMThweDt9Ci54bTItcHJpY2UtY2VsbCArIC54bTItcHJpY2UtY2VsbHtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tbGluZSk7fQoueG0yLXByaWNlLWxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDVlbTttYXJnaW4tYm90dG9tOjRweDt9Ci54bTItcHJpY2UtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MjNweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcHJpY2UtdmFsdWUgc21hbGx7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLW11dGVkKTt9Ci54bTItc2t1LWxpbmV7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjotMTBweCAwIDE2cHg7fQoueG0yLWN0YS1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206OHB4O30KLnhtMi1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2ZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTVweDtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW9yYW5nZSk7dHJhbnNpdGlvbjouMnM7fQoueG0yLWJ0bi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZiAhaW1wb3J0YW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93OjAgMTJweCAyMnB4IHJnYmEoMjE3LDEzMCwwLC4yNCk7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi4wMWVtO3BhZGRpbmc6MTVweCAzMnB4O30KLnhtMi1idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZS1kYXJrKTtjb2xvcjojZmZmICFpbXBvcnRhbnQ7fQoueG0yLWJ0bi1naG9zdHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6dmFyKC0tb3JhbmdlLWRhcmspO2JvcmRlci1jb2xvcjp2YXIoLS1vcmFuZ2UpO30KLnhtMi1idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItYnRuLWdob3N0W2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi42O2N1cnNvcjpub3QtYWxsb3dlZDt9Ci54bTItYnRuLXNvb257Zm9udC1zaXplOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtjb2xvcjp2YXIoLS1tdXRlZCk7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bWFyZ2luLWxlZnQ6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDRlbTt9Ci54bTItY3RhLW5vdGV7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luOjAgMCAxNXB4O30KLnhtMi10cnVzdC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNHB4O21hcmdpbi10b3A6MjhweDtwYWRkaW5nLXRvcDoyOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi10cnVzdC1jYXJke3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MjBweCAxNnB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMTBweCAyNHB4IHJnYmEoMjIsMjQsMjksLjA1KTt9Ci54bTItdHJ1c3QtY2FyZCAuaWN7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbjowIGF1dG8gMTBweDt9Ci54bTItdHJ1c3QtY2FyZCBoNHtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowIDAgNnB4O30KLnhtMi10cnVzdC1jYXJkIHB7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNTt9CgoueG0yLWRhcmstY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Y29sb3I6I2YzZjRmNjtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjFmciAuOWZyO2dhcDowO2FsaWduLWl0ZW1zOnN0cmV0Y2g7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmU7fQoueG0yLWRhcmstY2FyZCA+IGRpdjpmaXJzdC1jaGlsZHtwYWRkaW5nOjQ4cHg7fQoueG0yLWRhcmstY2FyZDpob3ZlciwueG0yLWRhcmstY2FyZDpob3ZlciAqLC54bTItZGFyay1jYXJkICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkICp7Y29sb3I6aW5oZXJpdDt9Ci54bTItZGFyay1jYXJkIC54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2Utc29mdCkgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkIGgye2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXNpemU6MzBweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCAxNnB4O2xpbmUtaGVpZ2h0OjEuMjt9Ci54bTItZGFyay1jYXJkIHB7Y29sb3I6I2Q1ZDhkZSAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1kYXJrLWNhcmQgLnhtMi1lbXBoe2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDA7fQoueG0yLWRhcmstdmlzdWFse3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjttaW4taGVpZ2h0OjI2MHB4O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO30KLnhtMi1kYXJrLXZpc3VhbDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1kYXJrKSAwJSxyZ2JhKDE3LDE5LDI0LC44OCkgMTYlLHJnYmEoMTcsMTksMjQsLjQyKSAzNCUscmdiYSgxNywxOSwyNCwwKSA2MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxO30KLnhtMi1kYXJrLXZpc3VhbCBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWRhcmstdmlzdWFsIC54bTItdmlzdWFsLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTRweDtsZWZ0OjE0cHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41NSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtwYWRkaW5nOjZweCAxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAyZW07fQoueG0yLWRhcmstY3RhLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjE0cHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLXRvcDo4cHg7fQoueG0yLWJ0bi1saWdodHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWxpZ2h0OmhvdmVye2JvcmRlci1jb2xvcjojZmZmO30KLnhtMi1idG4tc29saWQtb25EYXJre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzoxNXB4IDMycHg7Zm9udC13ZWlnaHQ6ODAwO30KLnhtMi1idG4tc29saWQtb25EYXJrOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tb3JhbmdlLWRhcmspO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJre2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDgpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWdob3N0LW9uRGFyazpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjE2KTtib3JkZXItY29sb3I6I2ZmZjtjb2xvcjojZmZmO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrW2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi43O30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrIC54bTItYnRuLXNvb257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xNSk7Y29sb3I6I2ZmZjt9CgoueG0yLXZzLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoyNHB4O30KLnhtMi12cy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjI4cHg7fQoueG0yLXZzLWNhcmQgaDN7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO21hcmdpbjowIDAgNnB4O2NvbG9yOnZhcigtLWluayk7fQoueG0yLXZzLWNhcmQgLnhtMi12cy1zdWJ7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCAwIDE2cHg7fQoueG0yLXZzLWNhcmQgdWx7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O30ueG0yLXZzLWNhcmQgdWwgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmUgIWltcG9ydGFudDt9Ci54bTItdnMtY2FyZCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MjRweDttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjEuNTt9Ci54bTItdnMtY2FyZCBsaTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjdweDt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7fQoueG0yLXZzLWNhcmQuaXMteHRvb2x7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZS1zb2Z0KTt9CgovKiA9PT09PSBSZXZpc2lvbiAjNzogdHlwb2dyYXBoeSBoaWVyYXJjaHkgaW5zaWRlICJWeWJlciBsYXNlcmEiIGNvbXBhcmlzb24gYmxvY2sgPT09PT0gKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIC54bTItdnMtc3Vie2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MjJweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIGxpe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNlY3Rpb24taGVhZDpoYXMoKyAueG0yLXZzLWdyaWQpIC54bTItaW50cm97Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9CgoueG0yLWNhcC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjJweDt9Ci54bTItY2FwLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTt9Ci54bTItY2FwLWltZ3t3aWR0aDoxMDAlO2hlaWdodDoyMjBweDtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhcC1ib2R5e3BhZGRpbmc6MjBweCAyMnB4O30KLnhtMi1jYXAtYm9keSBoM3tmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA4cHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItY2FwLWJvZHkgcHtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS41NTttYXJnaW46MCAwIDEwcHg7fQoueG0yLWJhZGdlLW9wdGlvbmFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtwYWRkaW5nOjRweCAxMHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAzZW07fQoKLnhtMi1hY2MtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjIwcHg7fQoueG0yLWFjYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLWFjYy1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MjAwcHg7b2JqZWN0LWZpdDpjb250YWluO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTRweDt9Ci54bTItYWNjLWJvZHl7cGFkZGluZzoyMHB4IDIycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7fQoueG0yLWFjYy1jYXJkIGgze2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDhweDtjb2xvcjp2YXIoLS1pbmspO30KLnhtMi1hY2MtY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luOjAgMCAxNHB4O2ZsZXg6MTt9Ci54bTItYWNjLXBpbGx7bWFyZ2luLWJvdHRvbToxMnB4O30KLnhtMi1hY2MtcHJpY2UtYm94e21hcmdpbi1ib3R0b206MTRweDt9Ci54bTItYWNjLXByaWNlLWJveCAueG0yLXByaWNlLWNlbGx7cGFkZGluZzoxMHB4IDEycHg7fQoueG0yLWFjYy1wcmljZS1ib3ggLnhtMi1wcmljZS12YWx1ZXtmb250LXNpemU6MTdweDt9Ci54bTItYWNjLWJ0bntmb250LXNpemU6MTIuNXB4O3BhZGRpbmc6OXB4IDE2cHg7YWxpZ24tc2VsZjpjZW50ZXI7fQoKLnhtMi1wb3dlci1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjRweDt9Ci54bTItcG93ZXItY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7cGFkZGluZzoyNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO30KLnhtMi1wb3dlci1jYXJkLmlzLWN1cnJlbnR7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLXBvd2VyLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEycHg7cmlnaHQ6MjBweDtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzo0cHggMTJweDtib3JkZXItcmFkaXVzOjk5OXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDNlbTt9Ci54bTItcG93ZXItY2FyZCBoM3tmb250LXNpemU6MTlweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA2cHg7fQoueG0yLXBvd2VyLWNhcmQgLnN1Yntjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbjowIDAgMTRweDt9Ci54bTItcG93ZXItY2FyZCB1bHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7fS54bTItcG93ZXItY2FyZCB1bCBsaXtsaXN0LXN0eWxlLXR5cGU6bm9uZSAhaW1wb3J0YW50O30KLnhtMi1wb3dlci1jYXJkIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoyMnB4O21hcmdpbi1ib3R0b206OXB4O2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxLjU7fQoueG0yLXBvd2VyLWNhcmQgbGk6YmVmb3Jle2NvbnRlbnQ6IuKckyI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2NvbG9yOnZhcigtLW9yYW5nZSk7Zm9udC13ZWlnaHQ6NzAwO30KCi54bTItY2FtLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczouOWZyIDEuMWZyO2dhcDozNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci54bTItY2FtLWltZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO30KLnhtMi1jYW0taW1nIGltZ3t3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhbS1pbnRyb3tmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42O21hcmdpbjowIDAgMjJweDt9Ci54bTItY2FtLWZlYXR1cmV7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O21hcmdpbi1ib3R0b206MThweDt9Ci54bTItY2FtLW51bXtmbGV4Om5vbmU7d2lkdGg6NDZweDtmb250LXNpemU6MzhweDtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjp2YXIoLS1vcmFuZ2UpO29wYWNpdHk6LjM7Zm9udC1mYW1pbHk6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzotLjAyZW07fQoueG0yLWNhbS1mZWF0dXJlIGg0e21hcmdpbjowIDAgNXB4O2ZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO2xldHRlci1zcGFjaW5nOi0uMDFlbTtsaW5lLWhlaWdodDoxLjI1O30KLnhtMi1jYW0tZmVhdHVyZSBwe21hcmdpbjowO2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7fQoKLnhtMi1zcGxpdC1jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO30KLnhtMi1zcGxpdC1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDoyODBweDt9Ci54bTItc3BsaXQtYm9keXtwYWRkaW5nOjM0cHggMzhweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtY2FyZC0tdG9wIC54bTItc3BsaXQtYm9keXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCAhaW1wb3J0YW50O30KLnhtMi1zcGxpdC1ib2R5IGgze2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDEycHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItc3BsaXQtYm9keSBwe2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1ub3RlLWJveHtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO2JvcmRlci1sZWZ0OjNweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEycHggMTZweDtmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLWluayk7bWFyZ2luLXRvcDo2cHg7fQoueG0yLW5vdGUtYm94IC5pY3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2NvbG9yOnZhcigtLW9yYW5nZS1kYXJrKTtmbGV4Om5vbmU7bWFyZ2luLXRvcDoxcHg7fQoKLnhtMi1kZXNjLXdyYXB7bWF4LXdpZHRoOjExODBweDttYXJnaW46MCBhdXRvO30KLnhtMi1kZXNjLWltZ3t3aWR0aDoxMDAlO2hlaWdodDo0MjBweDtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MjRweDt9Ci54bTItZGVzYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjQ0cHggNTJweDtjb2x1bW4tY291bnQ6Mjtjb2x1bW4tZ2FwOjQwcHg7fQoueG0yLWRlc2MtY2FyZCBwe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNzU7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE2cHg7fQoueG0yLWRlc2MtY2FyZCBwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowO30KCi54bTItc3BlYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLXZpZGVvLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtwYWRkaW5nOjE0cHg7bWF4LXdpZHRoOjkwMHB4O21hcmdpbjowIGF1dG87fQoueG0yLXZpZGVvLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7aGVpZ2h0OjA7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMwMDA7fQoueG0yLXZpZGVvLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQpAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsueG0yLXZpZGVvLWNhcmR7cGFkZGluZzo4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO319Ci54bTItc3BlYy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMS40ZnI7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSk7fQoKLnhtMi1zcGVjLWxhYmVse2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1tdXRlZCk7fQoueG0yLXNwZWMtdmFsdWV7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0taW5rKTt9CkBtZWRpYSAobWluLXdpZHRoOjc2OXB4KXsKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtY2FyZHtkaXNwbGF5OmdyaWQgIWltcG9ydGFudDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAhaW1wb3J0YW50O2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoNSxhdXRvKSAhaW1wb3J0YW50O2dyaWQtYXV0by1mbG93OmNvbHVtbiAhaW1wb3J0YW50O2NvbHVtbi1nYXA6MCAhaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGVjLXJvd3twYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctYm90dG9tOjE0cHg7fQoucG9zdGlkLTE4Mjc5IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKG4rNil7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWxpbmUpICFpbXBvcnRhbnQ7cGFkZGluZy1sZWZ0OjI2cHggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoMTApLC5wb3N0aWQtMTgyNzkgLnhtMi1zcGVjLXJvdzpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O30KCn0KCi54bTItcGtnLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNnB4O30KLnhtMi1wa2ctY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQoueG0yLXBrZy1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTgwcHg7b2JqZWN0LWZpdDpjb250YWluO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO3BhZGRpbmc6MTZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7fQoueG0yLXBrZy1jYXJkIHNwYW57ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmspO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjM1O3BhZGRpbmc6MTBweCAxNHB4IDE0cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7fQoKLnhtMi1mYXF7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxNHB4O30KLnhtMi1mYXEtaXRlbXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzo0cHggMDt9Ci54bTItZmFxLWl0ZW0gc3VtbWFyeXtsaXN0LXN0eWxlOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoxNnB4IDUwcHggMTZweCAyMHB4O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTQuNXB4O2NvbG9yOnZhcigtLWluayk7cG9zaXRpb246cmVsYXRpdmU7fQoueG0yLWZhcS1pdGVtIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lO30KLnhtMi1mYXEtaXRlbSBzdW1tYXJ5OjphZnRlcntjb250ZW50OiIrIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxOHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Zm9udC1zaXplOjIwcHg7Y29sb3I6dmFyKC0tb3JhbmdlKTtmb250LXdlaWdodDo3MDA7fQoueG0yLWZhcS1pdGVtW29wZW5dIHN1bW1hcnk6OmFmdGVye2NvbnRlbnQ6IlwyMjEyIjt9Ci54bTItZmFxLWl0ZW1bb3Blbl0gc3VtbWFyeXtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1saW5lKTt9Ci54bTItZmFxLWl0ZW0gcHttYXJnaW46MDtwYWRkaW5nOjE0cHggMjBweCAxOHB4O2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNjt9CgoueG0yLWxpZ2h0Ym94e3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDEwLDEwLDEyLC45Mik7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6OTk5OTk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4yczt9Ci54bTItbGlnaHRib3guaXMtb3BlbntvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0bzt9Ci54bTItbGlnaHRib3ggaW1ne21heC13aWR0aDo4OHZ3O21heC1oZWlnaHQ6ODZ2aDtvYmplY3QtZml0OmNvbnRhaW47Ym9yZGVyLXJhZGl1czoxMHB4O30KLnhtMi1saWdodGJveCBidXR0b257cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xMik7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt9Ci54bTItbGlnaHRib3ggYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMjQpO30KLnhtMi1saWdodGJveCBidXR0b24gc3Zne3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7fQoueG0yLWxpZ2h0Ym94LWNsb3Nle3RvcDoyMnB4O3JpZ2h0OjIycHg7fQoueG0yLWxpZ2h0Ym94LXByZXZ7bGVmdDoyMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7fQoueG0yLWxpZ2h0Ym94LW5leHR7cmlnaHQ6MjJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO30KCkBtZWRpYShtYXgtd2lkdGg6OTAwcHgpewoueG0yLWhlcm8tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1jYXAtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1hY2MtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9Ci54bTItcG93ZXItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1jYW0tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1zcGxpdC1jYXJke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXNwbGl0LWltZ3ttaW4taGVpZ2h0OjIwMHB4O30KLnhtMi12cy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWZhcXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1kYXJrLWNhcmR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtwYWRkaW5nOjA7fQoueG0yLWRhcmstY2FyZCA+IGRpdjpmaXJzdC1jaGlsZHtwYWRkaW5nOjMwcHggMjRweCAzNHB4O30KLnhtMi1kYXJrLXZpc3VhbHttaW4taGVpZ2h0OjIwMHB4O29yZGVyOi0xO30KLnhtMi1kYXJrLXZpc3VhbDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDE3LDE5LDI0LDApIDQ1JSxyZ2JhKDE3LDE5LDI0LC41NSkgNzglLHZhcigtLWRhcmspIDEwMCUpO30KLnhtMi10cnVzdC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7fQp9CkBtZWRpYShtYXgtd2lkdGg6NTYwcHgpewoueG0yLWFjYy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXBrZy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO30KLnhtMi1xdWlja2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItcHJpY2UtYm94e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXByaWNlLWNlbGwgKyAueG0yLXByaWNlLWNlbGx7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTt9Ci54bTItaGVyby1jYXJke3BhZGRpbmc6MjRweDt9Ci54bTItaDJ7Zm9udC1zaXplOjI2cHg7fQoueG0yLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KLnhtMi10cnVzdC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Cn0KCi5wb3N0aWQtMTgyNzkgLnhtMi1jYXAtaW1nLS1tYWNoaW5le29iamVjdC1maXQ6Y29udGFpbjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxOHB4O30KLnBvc3RpZC0xODI3OSAueG0yLWNhcC1ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQoucG9zdGlkLTE4Mjc5IC54bTItY2FwLWJvZHkgcHtmbGV4LWdyb3c6MTt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1jYXAtbGlua3tkaXNwbGF5OmJsb2NrO3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjoxMHB4IGF1dG8gMDtwYWRkaW5nOjEycHggMjhweDtmb250LXNpemU6MTRweDt9CgoucG9zdGlkLTE4Mjc5IC54bTItY2FwLWltZ3tvYmplY3QtZml0OmNvbnRhaW4gIWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmZmYgIWltcG9ydGFudDtwYWRkaW5nOjE4cHggIWltcG9ydGFudDtib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDt9Cjwvc3R5bGU+CjxzdHlsZT4KLyogPT09PT0gUmV2aXNpb24gIzQgdGFyZ2V0ZWQgZml4ZXMgKDE5LXBvaW50IHB1bmNoIGxpc3QpID09PT09ICovCmJvZHkucG9zdGlkLTE4Mjc5IC5ibG9nLWRlZmF1bHQtYmd7bWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDttYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDt9CmJvZHkucG9zdGlkLTE4Mjc5IC5tYXN0ZXJfY29udGFpbmVye3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDtwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyNzkgc2VjdGlvbi5wYWdlX2NvbnRlbnR7YmFja2dyb3VuZDojZjRmNmY4ICFpbXBvcnRhbnQ7fQoKLyogSXRlbSA1KzY6IHRydXN0IHJvdyAtPiBNT05PUiBjb21wYWN0IHNpbmdsZS1saW5lIGNhcmQgc3R5bGUgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi10cnVzdC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjEwcHg7bWFyZ2luLXRvcDoyNHB4O3BhZGRpbmctdG9wOjI0cHg7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6N3B4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi1oZWlnaHQ6NzZweDtwYWRkaW5nOjEycHggMTBweDtib3gtc2hhZG93Om5vbmU7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgLmlje3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Y29sb3I6IzhhOTA5ODttYXJnaW46MDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBoNHtkaXNwbGF5Om5vbmU7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgcHtmb250LXNpemU6MTJweCAhaW1wb3J0YW50O2NvbG9yOnZhcigtLWluayk7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS40O2ZvbnQtd2VpZ2h0OjUwMDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItY3RhLW5vdGV7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDt9CgovKiBJdGVtIDc6IGhvdmVyIGp1bXAgZml4IC0gYm90aCBkYXJrLWNhcmQgQ1RBIGJsb2NrcyAoc2hvd3Jvb20gKyBmaW5hbCkgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG57Ym9yZGVyLXdpZHRoOjFweCAhaW1wb3J0YW50O2JvcmRlci1zdHlsZTpzb2xpZCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG46aG92ZXIsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG46Zm9jdXMsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1idG46YWN0aXZle2JvcmRlci13aWR0aDoxcHggIWltcG9ydGFudDtib3JkZXItc3R5bGU6c29saWQgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jYXJkLC5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jYXJkICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jdGEtcm93LC5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jdGEtcm93ICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9CgovKiBJdGVtIDg6IHZlcnRpY2FsIHJoeXRobSBub3JtYWxpemVkIHRvIE1PTk9SICgzMHB4IDApICovCi5lc3Ryb2plLXh0b29sLW0yIC54bTItc2VjdGlvbntwYWRkaW5nOjMwcHggMCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zZWN0aW9ue3BhZGRpbmc6MjZweCAwICFpbXBvcnRhbnQ7fQoKLyogSXRlbSA5OiBzdG9wIHRoZW1lJ3MgYmxvZyBwYXJhZ3JhcGggZGVmYXVsdCAoMTdweCkgbGVha2luZyBpbnRvIGNvbXBvbmVudCBjb3B5ICovCi5lc3Ryb2plLXh0b29sLW0yIHB7Zm9udC1zaXplOjE0cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWFjYy1jYXJkIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYW0tZmVhdHVyZSBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtYm9keSBwe2ZvbnQtc2l6ZToxNC41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGVzYy1jYXJkIHB7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZmFxLWl0ZW0gcHtmb250LXNpemU6MTMuNXB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWRhcmstY2FyZCBwe2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhcC1ib2R5IHB7Zm9udC1zaXplOjE0cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcG93ZXItY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdnMtY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcGtnLWNhcmQgc3Bhbntmb250LXNpemU6MTNweCAhaW1wb3J0YW50O30KCi8qIEl0ZW0gMTI6IGNhbWVyYSBudW1iZXJzIGJpZ2dlciArIGhlYWRpbmcgaGllcmFyY2h5IGNsZWFyZXIgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYW0tbnVte3dpZHRoOjM0cHggIWltcG9ydGFudDtoZWlnaHQ6MzRweCAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItY2FtLWZlYXR1cmUgLnhtMi1jYW0tbnVte3dpZHRoOjQ0cHggIWltcG9ydGFudDtoZWlnaHQ6NDRweCAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6ODAwICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhbS1mZWF0dXJlIGg0e2ZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7fQoKLyogSXRlbSAxNjogdGVjaG5pY2FsIHBhcmFtZXRlcnMgaW4gMiBkZXNrdG9wIGNvbHVtbnMgKENTUyBncmlkLCBhbGlnbmVkIHJvd3MgKyByZXN0b3JlZCB6ZWJyYSkgKi8KQG1lZGlhKG1pbi13aWR0aDo3NjlweCl7Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BlYy1jYXJke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDksYXV0byk7Z3JpZC1hdXRvLWZsb3c6Y29sdW1uO2NvbHVtbi1nYXA6MDthbGlnbi1pdGVtczpzdHJldGNoO30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGVjLXJvd3twYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctYm90dG9tOjE0cHg7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNwZWMtcm93Om50aC1jaGlsZChuKzEwKXtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tbGluZSk7cGFkZGluZy1sZWZ0OjI2cHg7fQoueG0yLXNwZWMtcm93Omxhc3QtY2hpbGQsLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoOSl7Ym9yZGVyLWJvdHRvbTpub25lO30KLmVzdHJvamUteHRvb2wtbTIgCn0KQG1lZGlhKG1heC13aWR0aDo3NjhweCl7Ci54bTItc3BlYy1yb3c6bnRoLWNoaWxkKGV2ZW4pe2JhY2tncm91bmQ6dmFyKC0tc29mdCk7fQp9CgovKiBJdGVtIDEwLzE0LzE1OiB0aWdodGVyLCBtb3JlIGNvbnNpc3RlbnQgaW1hZ2UgZnJhbWluZyBhY3Jvc3MgaW1hZ2Ugc2VjdGlvbnMgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYXAtbWVkaWEgaW1nLC5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtbWVkaWEgaW1nLC5lc3Ryb2plLXh0b29sLW0yIC54bTItZGVzYy1jYXJkIGltZ3tvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kLDEycHgpO30KCi8qID09PT09IFJldmlzaW9uICM1OiB0b3Atc2VjdGlvbiByZWZpbmVtZW50cyAoaGVhZGVyIHNwYWNpbmcsIENUQSBub3RlLCBkaXZpZGVyLCB0cnVzdCBjYXJkcykgPT09PT0gKi8KYm9keS5wb3N0aWQtMTgyNzkgLmJsb2ctZGVmYXVsdC53aWRlYmxvZ3twYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWhlcm8td3JhcHtwYWRkaW5nLXRvcDo0OHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LXJvd3ttYXJnaW4tdG9wOjAgIWltcG9ydGFudDtwYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7Ym9yZGVyLXRvcDpub25lICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgcHtjb2xvcjojMzUzYjQ0ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7fQoKLyogPT09PT0gUmV2aXNpb24gIzY6IGhlcm8gcmlnaHQtc2lkZSBjb21wYWN0bmVzcyAoYWNjZW50IGdhcCwgcXVpY2stZmFjdCBjYXJkcywgcHJpY2UgYmxvY2ssIGJ1dHRvbnMsIHRydXN0IGNhcmRzKSA9PT09PSAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWhlcm8tY2FyZHtwYWRkaW5nOjMwcHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItaGVyby1ncmlke21hcmdpbi10b3A6MCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1xdWlja2dyaWR7Z2FwOjEycHggIWltcG9ydGFudDttYXJnaW4tYm90dG9tOjE2cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcXVpY2stY2FyZHtwYWRkaW5nOjEzcHggMTRweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1xdWljay1jYXJkIC50eHQtbGFiZWx7bGluZS1oZWlnaHQ6MTRweCAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXF1aWNrLWNhcmQgLnR4dC12YWx1ZXtsaW5lLWhlaWdodDoxOHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXByaWNlLWJveHttYXJnaW4tYm90dG9tOjE2cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcHJpY2UtY2VsbHtwYWRkaW5nOjEycHggMTZweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wcmljZS1sYWJlbHtsaW5lLWhlaWdodDoxNHB4ICFpbXBvcnRhbnQ7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItcHJpY2UtbGFiZWx7Zm9udC13ZWlnaHQ6ODAwICFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0taW5rKSAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi4wNmVtICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bi1wcmltYXJ5e3BhZGRpbmc6MTNweCAyNnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LWNhcmQgcHtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O30KCgovKiA9PT09PSBSZXZpc2lvbiAjODogc3BhY2luZywgaGVhZGluZyBhbGlnbm1lbnQsIFZvbGJhIHZ5a29udSB0eXBvZ3JhcGh5ID09PT09ICovCi5lc3Ryb2plLXh0b29sLW0yIC54bTItcG93ZXItY2FyZCAuc3Vie2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MjJweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wb3dlci1jYXJkIGxpe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMHB4ICFpbXBvcnRhbnQ7fQoKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgxKSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgzKSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg1KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg2KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg4KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgxMCl7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KSAhaW1wb3J0YW50O30KLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCgyKSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg0KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg3KSwKLnBvc3RpZC0xODI3OSAueG0yLXNwZWMtcm93Om50aC1jaGlsZCg5KXtiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDt9Cjwvc3R5bGU+CjxzdHlsZT4KLnBvc3RpZC0xODI3OSAueG0yLWJ1bHttYXJnaW46MCAwIDEycHg7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O30KLnBvc3RpZC0xODI3OSAueG0yLWJ1bCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MjRweDttYXJnaW4tYm90dG9tOjhweDtmb250LXNpemU6MTQuNXB4O2NvbG9yOnZhcigtLW11dGVkKTtsaW5lLWhlaWdodDoxLjU1O2xpc3Qtc3R5bGUtdHlwZTpub25lICFpbXBvcnRhbnQ7fQoucG9zdGlkLTE4Mjc5IC54bTItYnVsIGxpOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6OHB4O3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tb3JhbmdlKTt9Cjwvc3R5bGU+CjxzdHlsZT4KLnBvc3RpZC0xODI3OSAueG0yLXBpbGwtc3RvY2suaXMtb3V0e2JhY2tncm91bmQ6I2ZmZjNlMDtjb2xvcjojYjQ1MzA5O30KLnBvc3RpZC0xODI3OSAueG0yLXBpbGwtc3RvY2suaXMtb3V0IC5kb3R7YmFja2dyb3VuZDojYjQ1MzA5O30KPC9zdHlsZT4KPHN0eWxlPgoucG9zdGlkLTE4Mjc5IC54bTItcGlsbC1idW5kbGV7YmFja2dyb3VuZDojZmZmM2UwO2NvbG9yOiNiNDUzMDk7fQoucG9zdGlkLTE4Mjc5IC54bTItcGlsbC1zdG9jay5pcy1zdXBwbGllcntiYWNrZ3JvdW5kOiNlYWYxZmI7Y29sb3I6IzFmNWZhODt9Ci5wb3N0aWQtMTgyNzkgLnhtMi1waWxsLXN0b2NrLmlzLXN1cHBsaWVyIC5kb3R7YmFja2dyb3VuZDojMWY1ZmE4O30KPC9zdHlsZT48ZGl2IGNsYXNzPSJ4bTItaGVyby13cmFwIj4KPGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1oZXJvLWNhcmQiPgo8ZGl2IGNsYXNzPSJ4bTItYWNjZW50LWJhciI+PC9kaXY+CjxkaXYgY2xhc3M9InhtMi1oZXJvLWdyaWQiPgoKPGRpdiBjbGFzcz0ieG0yLWdhbGxlcnkiPgo8ZGl2IGNsYXNzPSJ4bTItZ2FsbGVyeS1tYWluIiBpZD0ieG0yLW1haW4td3JhcCI+CjxpbWcgaWQ9InhtMi1tYWluLWltZyIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtc2FmZXR5cHJvLWFwMi1tYXguanBnIiBhbHQ9InhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IOKAkyBhaXIgcHVyaWZpZXIgd2l0aCA3LWxheWVyIGZpbHRyYXRpb24iPgo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InhtMi16b29tLWJ0biIgYXJpYS1sYWJlbD0iRW5sYXJnZSBpbWFnZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCI+PC9jaXJjbGU+PHBhdGggZD0iTTIxIDIxbC00LjM1LTQuMzUiPjwvcGF0aD48L3N2Zz48L2J1dHRvbj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi10aHVtYnMiPjxidXR0b24gY2xhc3M9InhtMi10aHVtYiBpcy1hY3RpdmUiIHR5cGU9ImJ1dHRvbiIgZGF0YS1pbmRleD0iMCI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1zYWZldHlwcm8tYXAyLW1heC5qcGciIGFsdD0ieFRvb2wgU2FmZXR5UHJv4oSiIEFQMiBNYXgg4oCTIGFpciBwdXJpZmllciB3aXRoIDctbGF5ZXIgZmlsdHJhdGlvbiI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjEiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC12eWtvbi12emR1Y2h1LmpwZyIgYWx0PSJBaXJmbG93IGNvbXBhcmlzb24gb2YgdGhlIEFQMiBNYXggKDcwMCBtwrMvaCkgYW5kIEFQMiAoMTUwIG3Csy9oKSI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjIiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC03LXZyc3RpZXYtZmlsdHJhY2llLmpwZyIgYWx0PSJUaGUgQVAyIE1heCdzIDcgZmlsdHJhdGlvbiBsYXllcnMsIGluY2x1ZGluZyB0aGUgZm9ybWFsZGVoeWRlIGZpbHRlciI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjMiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC12eW1lbmEtZmlsdHJhLmpwZyIgYWx0PSJFYXN5IEFQMiBNYXggZmlsdGVyIGNhcnRyaWRnZSByZXBsYWNlbWVudCI+PC9idXR0b24+PC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLWhlcm8taW5mbyI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij54VG9vbCBhY2Nlc3NvcmllcyDigJMgaW5kdXN0cmlhbCBmaWx0cmF0aW9uPC9kaXY+CjxoMSBjbGFzcz0ieG0yLXRpdGxlIj54VG9vbCBTYWZldHlQcm\/ihKIgQVAyIE1heDwvaDE+CjxkaXYgY2xhc3M9InhtMi1zdWJ0aXRsZSI+SW5kdXN0cmlhbCBzbW9rZSBmaWx0cmF0aW9uIGZvciBkZW1hbmRpbmcgdXNlPC9kaXY+CjxwIGNsYXNzPSJ4bTItbGVhZCI+VGhlIFNhZmV0eVBybyBBUDIgTWF4IGlzIGEgbW9yZSBwb3dlcmZ1bCB2ZXJzaW9uIG9mIHRoZSBTYWZldHlQcm8gQVAyIHB1cmlmaWVyLCBkZXNpZ25lZCBmb3IgaW5kdXN0cmlhbCBhbmQgbGFyZ2UtZm9ybWF0IGxhc2VyIGFwcGxpY2F0aW9ucy4gV2l0aCBhbiBhaXJmbG93IG9mIDcwMCBtwrMvaCwgNzIgU3VwZXJDeWNsb25lIGN5Y2xvbmVzIGFuZCBhbiBleGNsdXNpdmUgZm9ybWFsZGVoeWRlIGZpbHRlciwgaXQgb2ZmZXJzIG11Y2ggc3Ryb25nZXIgZmlsdHJhdGlvbiB0aGFuIHRoZSBzdGFuZGFyZCBBUDIgbW9kZWwgKDE1MCBtwrMvaCwgMzYgY3ljbG9uZXMpLjwvcD4KCjxkaXYgY2xhc3M9InhtMi1xdWlja2dyaWQiPgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05LjU5IDQuNTlBMiAyIDAgMSAxIDExIDhIMm0xMC41OSAxMS40MUEyIDIgMCAxIDAgMTQgMTZIMm0xNS43My04LjI3QTIuNSAyLjUgMCAxIDEgMTkuNSAxMkgyIj48L3BhdGg+PC9zdmc+PHNwYW4+PHNwYW4gY2xhc3M9InR4dC1sYWJlbCI+QWlyZmxvdzwvc3Bhbj48c3BhbiBjbGFzcz0idHh0LXZhbHVlIj43MDAgbcKzL2g8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAyIDcgMTIgMTIgMjIgNyAxMiAyIj48L3BvbHlnb24+PHBvbHlsaW5lIHBvaW50cz0iMiAxNyAxMiAyMiAyMiAxNyI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPSIyIDEyIDEyIDE3IDIyIDEyIj48L3BvbHlsaW5lPjwvc3ZnPjxzcGFuPjxzcGFuIGNsYXNzPSJ0eHQtbGFiZWwiPkZpbHRyYXRpb248L3NwYW4+PHNwYW4gY2xhc3M9InR4dC12YWx1ZSI+dXAgdG8gNyBsYXllcnM8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5Z29uIHBvaW50cz0iMTMgMiAzIDE0IDEyIDE0IDExIDIyIDIxIDEwIDEyIDEwIDEzIDIiPjwvcG9seWdvbj48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5TdXBlckN5Y2xvbmUgY3ljbG9uZXM8L3NwYW4+PHNwYW4gY2xhc3M9InR4dC12YWx1ZSI+NzLDlyAoMsOXIG1vcmUgdGhhbiB0aGUgQVAyKTwvc3Bhbj48L3NwYW4+PC9kaXY+CjxkaXYgY2xhc3M9InhtMi1xdWljay1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9IjIyIDQgMTIgMTQuMDEgOSAxMS4wMSI+PC9wb2x5bGluZT48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5QYXJ0aWNsZSByZW1vdmFsPC9zcGFuPjxzcGFuIGNsYXNzPSJ0eHQtdmFsdWUiPjk5Ljk3JSBhdCAwLjMgwrVtIChTR1MpPC9zcGFuPjwvc3Bhbj48L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJ4bTItcGlsbC1yb3ciPgo8c3BhbiBjbGFzcz0ieG0yLXBpbGwgeG0yLXBpbGwtc3RvY2siIGlkPSJ4bTItc3RvY2stcGlsbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjxzcGFuIGlkPSJ4bTItc3RvY2stdGV4dCI+PC9zcGFuPjwvc3Bhbj4KPHNwYW4gY2xhc3M9InhtMi1waWxsIHhtMi1waWxsLXNoaXAiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMSIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIj48L3JlY3Q+PHBhdGggZD0iTTE1IDloNGwzIDR2NGgtN3oiPjwvcGF0aD48Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjwvc3ZnPkZyZWUgc2hpcHBpbmc8L3NwYW4+CjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLXByaWNlLWJveCI+CjxkaXYgY2xhc3M9InhtMi1wcmljZS1jZWxsIj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLWxhYmVsIj5QcmljZSBleGNsLiBWQVQ8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1wcmljZS12YWx1ZSIgaWQ9InhtMi1wcmljZS1leGNsIiBkYXRhLXdvby1wcmljZS1leGNsPSIxNjczNiI+TG9hZGluZ+KApjwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXByaWNlLWNlbGwiPjxzcGFuIGNsYXNzPSJ4bTItcHJpY2UtbGFiZWwiPlByaWNlIGluY2wuIFZBVDwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLXZhbHVlIiBpZD0ieG0yLXByaWNlLWluY2wiIGRhdGEtd29vLXByaWNlLWluY2w9IjE2NzM2Ij5Mb2FkaW5n4oCmPC9zcGFuPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InhtMi1za3UtbGluZSIgaWQ9InhtMi1za3UtbGluZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+U0tVOiA8c3BhbiBpZD0ieG0yLXNrdS12YWx1ZSI+PC9zcGFuPjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLWN0YS1yb3ciPgo8YSBjbGFzcz0ieG0yLWJ0biB4bTItYnRuLWdob3N0IiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vZXhwcmVzcy1pbnRlcmVzdC8\/Zm9vPXhUb29sJTIwU2FmZXR5UHJvJUUyJTg0JUEyJTIwQVAyJTIwTWF4Ij5HZXQgYWR2aWNlPC9hPgo8YSBjbGFzcz0ieG0yLWJ0biB4bTItYnRuLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vZXN0cm9qZS5zay9rb3Npay8\/YWRkLXRvLWNhcnQ9MTg0MzIiPkFkZCB0byBjYXJ0PC9hPgo8L2Rpdj4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgZnVuY3Rpb24gZXN0cm9qZUZvcm1hdEVVUihjZW50cyl7CiAgICB2YXIgZXVyID0gY2VudHMgLyAxMDA7CiAgICByZXR1cm4gZXVyLnRvTG9jYWxlU3RyaW5nKCdlbi1JRScsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MiwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KSArICcg4oKsJzsKICB9CiAgd2luZG93LmVzdHJvamVMb2FkV29vUHJpY2UgPSBmdW5jdGlvbihwcm9kdWN0SWQsIGV4Y2xFbElkLCBpbmNsRWxJZCwgdmF0UmF0ZVBlcmNlbnQpewogICAgdmF0UmF0ZVBlcmNlbnQgPSB2YXRSYXRlUGVyY2VudCB8fCAyMzsKICAgIGZldGNoKCcvd3AtanNvbi93Yy9zdG9yZS92MS9wcm9kdWN0cy8nICsgcHJvZHVjdElkKQogICAgICAudGhlbihmdW5jdGlvbihyKXsgcmV0dXJuIHIuanNvbigpOyB9KQogICAgICAudGhlbihmdW5jdGlvbihwKXsKICAgICAgICB2YXIgaW5jbENlbnRzID0gcGFyc2VJbnQocC5wcmljZXMucHJpY2UsIDEwKTsKICAgICAgICB2YXIgZXhjbENlbnRzID0gTWF0aC5yb3VuZChpbmNsQ2VudHMgLyAoMSArIHZhdFJhdGVQZXJjZW50IC8gMTAwKSk7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoZXhjbENlbnRzKTsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSBlc3Ryb2plRm9ybWF0RVVSKGluY2xDZW50cyk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpewogICAgICAgIHZhciBleGNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChleGNsRWxJZCk7CiAgICAgICAgdmFyIGluY2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluY2xFbElkKTsKICAgICAgICBpZiAoZXhjbEVsKSBleGNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgfSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSgxNjczNiwgJ3htMi1wcmljZS1leGNsJywgJ3htMi1wcmljZS1pbmNsJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkgPSBmdW5jdGlvbihwcm9kdWN0SWQsIHBpbGxJZCwgdGV4dElkLCBza3VMaW5lSWQsIHNrdVZhbHVlSWQpewogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBwaWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGlsbElkKTsKICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRleHRJZCk7CiAgICAgICAgaWYgKHAuaXNfaW5fc3RvY2spIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSBwLmlzX29uX2JhY2tvcmRlciA\/ICdJbiBzdG9jayBhdCBzdXBwbGllciDigJMgZGVsaXZlcnkgaW4gNCB0byA3IGJ1c2luZXNzIGRheXMnIDogJ0luIHN0b2NrJzsgaWYgKHAuaXNfb25fYmFja29yZGVyKSB7IHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtc3VwcGxpZXInKTsgfSB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtb3V0Jyk7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSAnT24gcmVxdWVzdCc7IH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHAuc2t1KSB7CiAgICAgICAgICB2YXIgc2t1TGluZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdUxpbmVJZCk7CiAgICAgICAgICB2YXIgc2t1VmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChza3VWYWx1ZUlkKTsKICAgICAgICAgIGlmIChza3VMaW5lKSBza3VMaW5lLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgaWYgKHNrdVZhbHVlKSBza3VWYWx1ZS50ZXh0Q29udGVudCA9IHAuc2t1OwogICAgICAgIH0KICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkoMTY3MzYsICd4bTItc3RvY2stcGlsbCcsICd4bTItc3RvY2stdGV4dCcsICd4bTItc2t1LWxpbmUnLCAneG0yLXNrdS12YWx1ZScpOwp9KSgpOwo8L3NjcmlwdD4KPHAgY2xhc3M9InhtMi1jdGEtbm90ZSI+RG8geW91IGhhdmUgYSBxdWVzdGlvbiBhYm91dCB0aGUgcHJvZHVjdCBvciBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgaXQgaXMgcmlnaHQgZm9yIHlvdT8gV2Ugd2lsbCBiZSBoYXBweSB0byBhZHZpc2UgeW91LjwvcD4KCjxkaXYgY2xhc3M9InhtMi10cnVzdC1yb3ciPgo8ZGl2IGNsYXNzPSJ4bTItdHJ1c3QtY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjEiIHk9IjYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxMSI+PC9yZWN0PjxwYXRoIGQ9Ik0xNSA5aDRsMyA0djRoLTd6Ij48L3BhdGg+PGNpcmNsZSBjeD0iNiIgY3k9IjE5IiByPSIyIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNyIgY3k9IjE5IiByPSIyIj48L2NpcmNsZT48L3N2Zz48aDQ+RGVsaXZlcnk8L2g0PjxwPkRlbGl2ZXJ5IFNLIC8gQ1ogLyBFVTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXRydXN0LWNhcmQiPjxzdmcgY2xhc3M9ImljIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ij48L3BhdGg+PC9zdmc+PGg0PlNlcnZpY2UgYW5kIHN1cHBvcnQ8L2g0PjxwPlNlcnZpY2UgYW5kIHN1cHBvcnQ8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InhtMi10cnVzdC1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIxIDExLjVhOC4zOCA4LjM4IDAgMCAxLTguNSA4LjUgOC41IDguNSAwIDAgMS00LTFMMyAyMGwxLTUuNUE4LjUgOC41IDAgMSAxIDIxIDExLjV6Ij48L3BhdGg+PC9zdmc+PGg0PkFjY2Vzc29yaWVzIGFuZCBhZHZpY2U8L2g0PjxwPlByZS1wdXJjaGFzZSBhZHZpY2U8L3A+PC9kaXY+CjwvZGl2PgoKPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9InhtMi1saWdodGJveCIgYXJpYS1oaWRkZW49InRydWUiPgo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InhtMi1saWdodGJveC1jbG9zZSIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+PC9idXR0b24+CjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ieG0yLWxpZ2h0Ym94LXByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+PC9zdmc+PC9idXR0b24+CjxpbWcgc3JjPSIiIGFsdD0iIj4KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ4bTItbGlnaHRib3gtbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiPjwvcG9seWxpbmU+PC9zdmc+PC9idXR0b24+CjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uIj48ZGl2IGNsYXNzPSJ4bTItY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIGNlbnRlciI+PGRpdiBjbGFzcz0ieG0yLWV5ZWJyb3ciPkFwcGxpY2F0aW9uczwvZGl2PjxoMiBjbGFzcz0ieG0yLWgyIj5XaGF0IHRoZSBBUDIgTWF4IGlzIGdvb2QgZm9yPC9oMj48cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQVAyIE1heCBpcyBkZXNpZ25lZCBmb3IgZGVtYW5kaW5nIGFuZCBpbmR1c3RyaWFsIHVzZSB3aGVyZSB0aGUgc3RhbmRhcmQgQVAyIG1vZGVsIG5vIGxvbmdlciBoYXMgZW5vdWdoIGNhcGFjaXR5LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWdyaWQiPjxkaXYgY2xhc3M9InhtMi1jYXAtY2FyZCI+PGltZyBjbGFzcz0ieG0yLWNhcC1pbWciIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLWFwMi1tYXgtdnlrb24tdnpkdWNodS5qcGciIGFsdD0iNzAwIG3Csy9oIG9mIEFQMiBNYXggYWlyZmxvdyBmb3IgaW5kdXN0cmlhbCB1c2UiIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPjcwMCBtwrMvaCDigJMgZm9yIGluZHVzdHJpYWwgdXNlPC9oMz48cD5UaGUgQVAyIE1heCBvZmZlcnMgbW9yZSB0aGFuIGZvdXIgdGltZXMgdGhlIGFpcmZsb3cgb2YgdGhlIGJhc2ljIEFQMiBtb2RlbCAoMTUwIG3Csy9oKSDigJMgc3VpdGFibGUgZm9yIGhlYXZ5IGN1dHRpbmcgYW5kIGxhcmdlLWZvcm1hdCBpbmR1c3RyaWFsIGFwcGxpY2F0aW9ucy48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLWNhcC1jYXJkIj48aW1nIGNsYXNzPSJ4bTItY2FwLWltZyIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC03LXZyc3RpZXYtZmlsdHJhY2llLmpwZyIgYWx0PSJUaGUgQVAyIE1heCdzIDcgZmlsdHJhdGlvbiBsYXllcnMsIGluY2x1ZGluZyB0aGUgZXhjbHVzaXZlIGZvcm1hbGRlaHlkZSBmaWx0ZXIiIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPlVwIHRvIDcgZmlsdHJhdGlvbiBsYXllcnMsIGluY2x1ZGluZyBmb3JtYWxkZWh5ZGU8L2gzPjxwPlRoZSBleGNsdXNpdmUgZm9ybWFsZGVoeWRlIGZpbHRlciAob25seSBpbiB0aGUgQVAyIE1heCkgYnJlYWtzIGZvcm1hbGRlaHlkZSBkb3duIGludG8gaGFybWxlc3Mgd2F0ZXIgYW5kIENP4oKCOyB0b2dldGhlciB3aXRoIEhFUEEgYW5kIGFjdGl2YXRlZCBjYXJib24gaXQgY2FwdHVyZXMgOTkuOTclIG9mIHBhcnRpY2xlcy48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLWNhcC1jYXJkIj48aW1nIGNsYXNzPSJ4bTItY2FwLWltZyIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC12c2VzdHJhbm5lLXBvdXppdGllLmpwZyIgYWx0PSJWZXJzYXRpbGUgQVAyIE1heCB1c2UgaW4gdGhlIHdvcmtzaG9wIOKAkyBjdXR0aW5nLCBzb2xkZXJpbmcsIGVsZWN0cm9uaWNzIHByb2R1Y3Rpb24iIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPlZlcnNhdGlsZSB1c2UgaW4gdGhlIHdvcmtzaG9wPC9oMz48cD5BY2NvcmRpbmcgdG8gb2ZmaWNpYWwgeFRvb2wgZXhhbXBsZXMsIGl0IGlzIHN1aXRhYmxlIGZvciBsYXNlciBjdXR0aW5nLCBzb2xkZXJpbmcgYW5kIGVsZWN0cm9uaWNzIHByb2R1Y3Rpb24g4oCTIHdoZXJldmVyIHNtb2tlIGFuZCBvZG91cnMgbmVlZCB0byBiZSByZW1vdmVkIGVmZmVjdGl2ZWx5LjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+PGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24taGVhZCBjZW50ZXIiPjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5Db21wYXRpYmlsaXR5PC9kaXY+PGgyIGNsYXNzPSJ4bTItaDIiPkNvbXBhdGlibGUgeFRvb2wgbWFjaGluZXM8L2gyPjxwIGNsYXNzPSJ4bTItaW50cm8iPkFjY29yZGluZyB0byBvZmZpY2lhbCB4VG9vbCBkb2N1bWVudGF0aW9uLCB0aGUgQVAyL0FQMiBNYXggaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBQMlMsIFAyLCBTMSwgTTEgVWx0cmEsIEYxIFVsdHJhLCBEMSwgRDEgUHJvLCBNMSBhbmQgRjEgKGV4aGF1c3QgcG9ydCA2MOKAkzExMCBtbSBvciAyMDDigJMyNTAgbW0pLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWdyaWQiPjxkaXYgY2xhc3M9InhtMi1jYXAtY2FyZCI+PGltZyBjbGFzcz0ieG0yLWNhcC1pbWcgeG0yLWNhcC1pbWctLW1hY2hpbmUiIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLXAycy1zdGFuZGFsb25lLXByZWRueS1wb2hsYWQuanBnIiBhbHQ9InhUb29sIFAyUyIgbG9hZGluZz0ibGF6eSI+PGRpdiBjbGFzcz0ieG0yLWNhcC1ib2R5Ij48aDM+eFRvb2wgUDJTPC9oMz48cD5PZmZpY2lhbGx5IGNvbXBhdGlibGUgeFRvb2wgbWFjaGluZS48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24geG0yLXNlY3Rpb24tc29mdCI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIj4KPGRpdiBjbGFzcz0ieG0yLWV5ZWJyb3ciPlRlY2huaWNhbCBzcGVjaWZpY2F0aW9uczwvZGl2Pgo8aDIgY2xhc3M9InhtMi1oMiI+eFRvb2wgU2FmZXR5UHJv4oSiIEFQMiBNYXgg4oCTIHRlY2huaWNhbCBkYXRhPC9oMj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi1zcGVjLWNhcmQiPjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5BaXJmbG93PC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+NzAwIG3Csy9oIChBUDI6IDE1MCBtwrMvaCk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPk51bWJlciBvZiBTdXBlckN5Y2xvbmUgY3ljbG9uZXM8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj43MiAoQVAyOiAzNik8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPkZpbHRyYXRpb24gc3RhZ2VzPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+dXAgdG8gNyAocHJlLWZpbHRlciwgY3ljbG9uZSwgSEVQQSwgMsOXIGNhcmJvbiBmaWx0ZXIsIGZvcm1hbGRlaHlkZSBmaWx0ZXIsIGR5bmFtaWMgbGF5ZXIpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5FeGNsdXNpdmUgZmVhdHVyZTwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPmZvcm1hbGRlaHlkZSBmaWx0ZXIgKEFQMiBNYXggb25seSk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPkVmZmljaWVuY3k8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj45OS45OSUgUE0yLjUsIDk5Ljk3JSBvZiAwLjMgwrVtIHBhcnRpY2xlcyAoU0dTIHRlc3QpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5UVk9DIC8gdG9sdWVuZSByZW1vdmFsPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+OTksOTkgJSAvIDk5LDkgJTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+U21hcnQgY29udHJvbDwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPmF1dG9tYXRpYyBvbi9vZmYgd2l0aCB0aGUgeFRvb2wgbWFjaGluZSwgc2V0dGluZ3MgYmFzZWQgb24gbWF0ZXJpYWw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPk9mZmljaWFsbHkgY29tcGF0aWJsZSBtYWNoaW5lczwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPlAyUywgUDIsIFMxLCBNMSBVbHRyYSwgRjEgVWx0cmEsIEQxLCBEMSBQcm8sIE0xLCBGMTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+RXhoYXVzdCBwb3J0IGRpYW1ldGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+NjDigJMxMTAgbW0gb3IgMjAw4oCTMjUwIG1tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5GaWx0ZXIgbWFpbnRlbmFuY2U8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj5wdWxsLW91dCBtYWduZXRpYyBjb3Zlciwgd2FzaGFibGUgY3ljbG9uZSBwcmUtZmlsdGVyPC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24geG0yLXNlY3Rpb24tc29mdCI+PGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5XaGF0J3MgaW4gdGhlIGJveDwvZGl2Pgo8aDIgY2xhc3M9InhtMi1oMiI+V2hhdCdzIGluIHRoZSBib3g8L2gyPgo8cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQVAyIE1heCBjb21lcyB3aXRoIGEgY29tcGxldGUgNy1sYXllciBmaWx0ZXIgc2V0IHJlYWR5IHRvIHVzZS48L3A+PGRpdiBjbGFzcz0ieG0yLXBrZy1ncmlkIj48ZGl2IGNsYXNzPSJ4bTItcGtnLWNhcmQiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtc2FmZXR5cHJvLWFwMi1tYXguanBnIiBhbHQ9InhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IHdpdGggNy1sYXllciBmaWx0cmF0aW9uIiBsb2FkaW5nPSJsYXp5IiBjbGFzcz0ieG0yLXBrZy1pbWciPjxzcGFuPnhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IHdpdGggNy1sYXllciBmaWx0cmF0aW9uPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1wa2ctY2FyZCI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1hcDItbWF4LXZ5bWVuYS1maWx0cmEuanBnIiBhbHQ9IlJlcGxhY2luZyB0aGUgQVAyIE1heCBmaWx0ZXIgY2FydHJpZGdlIHZpYSB0aGUgcHVsbC1vdXQgbWFnbmV0aWMgY292ZXIiIGxvYWRpbmc9ImxhenkiIGNsYXNzPSJ4bTItcGtnLWltZyI+PHNwYW4+RWFzeSBmaWx0ZXIgY2FydHJpZGdlIHJlcGxhY2VtZW50PC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIGNlbnRlciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5GQVE8L2Rpdj4KPGgyIGNsYXNzPSJ4bTItaDIiPlRoZSBxdWVzdGlvbnMgeW91IGFzayB1cyBtb3N0IG9mdGVuPC9oMj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi1mYXEiPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PldoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgQVAyIGFuZCB0aGUgQVAyIE1heD88L3N1bW1hcnk+PHA+VGhlIEFQMiBNYXggaGFzIG1vcmUgdGhhbiBmb3VyIHRpbWVzIHRoZSBhaXJmbG93ICg3MDAgbcKzL2ggdmVyc3VzIDE1MCBtwrMvaCksIHR3aWNlIGFzIG1hbnkgY3ljbG9uZXMgKDcyIHZlcnN1cyAzNikgYW5kIGFuIGV4Y2x1c2l2ZSBmb3JtYWxkZWh5ZGUgZmlsdGVyIHRoYXQgdGhlIEFQMiBkb2VzIG5vdCBoYXZlLiBJdCBpcyBkZXNpZ25lZCBmb3IgaW5kdXN0cmlhbCBhbmQgbGFyZ2UtZm9ybWF0IGFwcGxpY2F0aW9ucy48L3A+PC9kZXRhaWxzPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PldoaWNoIHhUb29sIG1hY2hpbmVzIGlzIGl0IGNvbXBhdGlibGUgd2l0aD88L3N1bW1hcnk+PHA+QWNjb3JkaW5nIHRvIG9mZmljaWFsIHhUb29sIGRvY3VtZW50YXRpb24sIHRoZSBBUDIvQVAyIE1heCBpcyBjb21wYXRpYmxlIHdpdGggdGhlIFAyUywgUDIsIFMxLCBNMSBVbHRyYSwgRjEgVWx0cmEsIEQxLCBEMSBQcm8sIE0xIGFuZCBGMS48L3A+PC9kZXRhaWxzPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PkhvdyBlZmZpY2llbnQgaXMgdGhlIGZpbHRyYXRpb24\/PC9zdW1tYXJ5PjxwPkFjY29yZGluZyB0byBTR1MgdGVzdHMsIGl0IHJlbW92ZXMgOTkuOTklIG9mIFBNMi41IHBhcnRpY2xlcyBhbmQgOTkuOTclIG9mIDAuMyDCtW0gcGFydGljbGVzLCBhcyB3ZWxsIGFzIDk5Ljk5JSBvZiBUVk9DIGFuZCA5OS45JSBvZiB0b2x1ZW5lLjwvcD48L2RldGFpbHM+PGRldGFpbHMgY2xhc3M9InhtMi1mYXEtaXRlbSI+PHN1bW1hcnk+SG93IG9mdGVuIGRvZXMgdGhlIGN5Y2xvbmUgcHJlLWZpbHRlciBuZWVkIGNsZWFuaW5nPzwvc3VtbWFyeT48cD5DbGVhbmluZyBhcHByb3hpbWF0ZWx5IGV2ZXJ5IDYgbW9udGhzIGlzIHJlY29tbWVuZGVkLCBkZXBlbmRpbmcgb24gaG93IGludGVuc2l2ZWx5IGl0IGlzIHVzZWQuPC9wPjwvZGV0YWlscz48ZGV0YWlscyBjbGFzcz0ieG0yLWZhcS1pdGVtIj48c3VtbWFyeT5DYW4gdGhlIGFpciBmcm9tIHRoZSBwdXJpZmllciBiZSByZWxlYXNlZCBkaXJlY3RseSBpbnRvIHRoZSByb29tPzwvc3VtbWFyeT48cD5ZZXMsIHRoZSBmaWx0ZXJlZCBhaXIgbWVldHMgYWlyIHF1YWxpdHkgcmVxdWlyZW1lbnRzIGZvciBkaXJlY3QgcmVsZWFzZSBpbmRvb3JzLjwvcD48L2RldGFpbHM+PC9kaXY+CjwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItZGFyay1jYXJkIj4KPGRpdj4KPGRpdiBjbGFzcz0ieG0yLWV5ZWJyb3ciPlNob3dyb29tIEtvxaHFpWFueSBuYWQgVHVyY29tPC9kaXY+CjxoMj5UcnkgdGhlIEFQMiBNYXggbGl2ZTwvaDI+CjxwPlRoZSBBUDIgTWF4J3MgcGVyZm9ybWFuY2UgYW5kIGZpbHRyYXRpb24gbmVlZCB0byBiZSBzZWVuIGxpdmUg4oCTIGJvb2sgYSBkZW1vIGluIG91ciBzaG93cm9vbSBpbiBLb8WhxaVhbnkgbmFkIFR1cmNvbSB3aGlsZSB0aGUgbGFzZXIgaXMgd29ya2luZy48L3A+CjxwIGNsYXNzPSJ4bTItZW1waCI+QnJpbmcgeW91ciBvd24gaXRlbSDigJMgd2Ugd2lsbCBiZSBoYXBweSB0byB0ZXN0IGl0IHdpdGggeW91LjwvcD4KPGRpdiBjbGFzcz0ieG0yLWRhcmstY3RhLXJvdyI+CjxhIGNsYXNzPSJ4bTItYnRuIHhtMi1idG4tc29saWQtb25EYXJrIiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vYm9vay1hLXNob3dyb29tLXZpc2l0LyI+Qm9vayBhIGRlbW88L2E+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLWRhcmstdmlzdWFsIj4KPGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9zaG93cm9vbS1lc3Ryb2plLW1vbm9yLXh0b29sLndlYnAiIGFsdD0iZVN0cm9qZSBzaG93cm9vbSBpbiBLb8WhxaVhbnkgbmFkIFR1cmNvbSDigJMgTU9OT1IgYW5kIHhUb29sIGxhc2VyIG1hY2hpbmVzIiBzdHlsZT0ib2JqZWN0LXBvc2l0aW9uOmNlbnRlciA0MCU7Ij4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgZnVuY3Rpb24gZXN0cm9qZUZvcm1hdEVVUihjZW50cyl7CiAgICB2YXIgZXVyID0gY2VudHMgLyAxMDA7CiAgICByZXR1cm4gZXVyLnRvTG9jYWxlU3RyaW5nKCdlbi1JRScsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MiwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KSArICcg4oKsJzsKICB9CiAgd2luZG93LmVzdHJvamVMb2FkV29vUHJpY2UgPSBmdW5jdGlvbihwcm9kdWN0SWQsIGV4Y2xFbElkLCBpbmNsRWxJZCwgdmF0UmF0ZVBlcmNlbnQpewogICAgdmF0UmF0ZVBlcmNlbnQgPSB2YXRSYXRlUGVyY2VudCB8fCAyMzsKICAgIGZldGNoKCcvd3AtanNvbi93Yy9zdG9yZS92MS9wcm9kdWN0cy8nICsgcHJvZHVjdElkKQogICAgICAudGhlbihmdW5jdGlvbihyKXsgcmV0dXJuIHIuanNvbigpOyB9KQogICAgICAudGhlbihmdW5jdGlvbihwKXsKICAgICAgICB2YXIgaW5jbENlbnRzID0gcGFyc2VJbnQocC5wcmljZXMucHJpY2UsIDEwKTsKICAgICAgICB2YXIgZXhjbENlbnRzID0gTWF0aC5yb3VuZChpbmNsQ2VudHMgLyAoMSArIHZhdFJhdGVQZXJjZW50IC8gMTAwKSk7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoZXhjbENlbnRzKTsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSBlc3Ryb2plRm9ybWF0RVVSKGluY2xDZW50cyk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpewogICAgICAgIHZhciBleGNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChleGNsRWxJZCk7CiAgICAgICAgdmFyIGluY2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluY2xFbElkKTsKICAgICAgICBpZiAoZXhjbEVsKSBleGNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgfSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSgxNjczNiwgJ3htMi1wcmljZS1leGNsJywgJ3htMi1wcmljZS1pbmNsJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkgPSBmdW5jdGlvbihwcm9kdWN0SWQsIHBpbGxJZCwgdGV4dElkLCBza3VMaW5lSWQsIHNrdVZhbHVlSWQpewogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBwaWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGlsbElkKTsKICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRleHRJZCk7CiAgICAgICAgaWYgKHAuaXNfaW5fc3RvY2spIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSBwLmlzX29uX2JhY2tvcmRlciA\/ICdJbiBzdG9jayBhdCBzdXBwbGllciDigJMgZGVsaXZlcnkgaW4gNCB0byA3IGJ1c2luZXNzIGRheXMnIDogJ0luIHN0b2NrJzsgaWYgKHAuaXNfb25fYmFja29yZGVyKSB7IHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtc3VwcGxpZXInKTsgfSB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtb3V0Jyk7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSAnT24gcmVxdWVzdCc7IH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHAuc2t1KSB7CiAgICAgICAgICB2YXIgc2t1TGluZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdUxpbmVJZCk7CiAgICAgICAgICB2YXIgc2t1VmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChza3VWYWx1ZUlkKTsKICAgICAgICAgIGlmIChza3VMaW5lKSBza3VMaW5lLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgaWYgKHNrdVZhbHVlKSBza3VWYWx1ZS50ZXh0Q29udGVudCA9IHAuc2t1OwogICAgICAgIH0KICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkoMTY3MzYsICd4bTItc3RvY2stcGlsbCcsICd4bTItc3RvY2stdGV4dCcsICd4bTItc2t1LWxpbmUnLCAneG0yLXNrdS12YWx1ZScpOwp9KSgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CnZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmVzdHJvamUteHRvb2wtbTInKTsKaWYoIXJvb3QpIHJldHVybjsKdmFyIGltYWdlcyA9IFsKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLXNhZmV0eXByby1hcDItbWF4LmpwZyIsIGFsdDogInhUb29sIFNhZmV0eVByb+KEoiBBUDIgTWF4IOKAkyBhaXIgcHVyaWZpZXIgd2l0aCA3LWxheWVyIGZpbHRyYXRpb24ifSwKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLWFwMi1tYXgtdnlrb24tdnpkdWNodS5qcGciLCBhbHQ6ICJBaXJmbG93IGNvbXBhcmlzb24gb2YgdGhlIEFQMiBNYXggKDcwMCBtwrMvaCkgYW5kIEFQMiAoMTUwIG3Csy9oKSJ9LAogIHtzcmM6ICJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtYXAyLW1heC03LXZyc3RpZXYtZmlsdHJhY2llLmpwZyIsIGFsdDogIlRoZSBBUDIgTWF4J3MgNyBmaWx0cmF0aW9uIGxheWVycywgaW5jbHVkaW5nIHRoZSBmb3JtYWxkZWh5ZGUgZmlsdGVyIn0sCiAge3NyYzogImh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1hcDItbWF4LXZ5bWVuYS1maWx0cmEuanBnIiwgYWx0OiAiRWFzeSBBUDIgTWF4IGZpbHRlciBjYXJ0cmlkZ2UgcmVwbGFjZW1lbnQifQpdCiAgdmFyIG1haW5JbWcgPSByb290LnF1ZXJ5U2VsZWN0b3IoJyN4bTItbWFpbi1pbWcnKTsKdmFyIHRodW1icyA9IHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLnhtMi10aHVtYicpOwp2YXIgem9vbUJ0biA9IHJvb3QucXVlcnlTZWxlY3RvcignLnhtMi16b29tLWJ0bicpOwp2YXIgbWFpbldyYXAgPSByb290LnF1ZXJ5U2VsZWN0b3IoJyN4bTItbWFpbi13cmFwJyk7CnZhciBsaWdodGJveCA9IHJvb3QucXVlcnlTZWxlY3RvcignLnhtMi1saWdodGJveCcpOwp2YXIgbGJJbWcgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCdpbWcnKTsKdmFyIGxiQ2xvc2UgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCcueG0yLWxpZ2h0Ym94LWNsb3NlJyk7CnZhciBsYlByZXYgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCcueG0yLWxpZ2h0Ym94LXByZXYnKTsKdmFyIGxiTmV4dCA9IGxpZ2h0Ym94LnF1ZXJ5U2VsZWN0b3IoJy54bTItbGlnaHRib3gtbmV4dCcpOwp2YXIgY3VycmVudCA9IDA7CgpmdW5jdGlvbiBzZXRNYWluKGkpewpjdXJyZW50ID0gaTsKbWFpbkltZy5zcmMgPSBpbWFnZXNbaV0uc3JjOwptYWluSW1nLmFsdCA9IGltYWdlc1tpXS5hbHQ7CnRodW1icy5mb3JFYWNoKGZ1bmN0aW9uKHQsaWR4KXsgdC5jbGFzc0xpc3QudG9nZ2xlKCdpcy1hY3RpdmUnLCBpZHg9PT1pKTsgfSk7Cn0KdGh1bWJzLmZvckVhY2goZnVuY3Rpb24odCxpZHgpeyB0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgc2V0TWFpbihpZHgpOyB9KTsgfSk7CgpmdW5jdGlvbiBvcGVuTGlnaHRib3goaSl7CmN1cnJlbnQgPSBpOwpsYkltZy5zcmMgPSBpbWFnZXNbaV0uc3JjOwpsYkltZy5hbHQgPSBpbWFnZXNbaV0uYWx0OwpsaWdodGJveC5jbGFzc0xpc3QuYWRkKCdpcy1vcGVuJyk7CmxpZ2h0Ym94LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCdmYWxzZScpOwp9CmZ1bmN0aW9uIGNsb3NlTGlnaHRib3goKXsKbGlnaHRib3guY2xhc3NMaXN0LnJlbW92ZSgnaXMtb3BlbicpOwpsaWdodGJveC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywndHJ1ZScpOwp9CmZ1bmN0aW9uIHNob3dSZWwoZGVsdGEpewpjdXJyZW50ID0gKGN1cnJlbnQgKyBkZWx0YSArIGltYWdlcy5sZW5ndGgpICUgaW1hZ2VzLmxlbmd0aDsKbGJJbWcuc3JjID0gaW1hZ2VzW2N1cnJlbnRdLnNyYzsKbGJJbWcuYWx0ID0gaW1hZ2VzW2N1cnJlbnRdLmFsdDsKc2V0TWFpbihjdXJyZW50KTsKfQppZih6b29tQnRuKSB6b29tQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgb3BlbkxpZ2h0Ym94KGN1cnJlbnQpOyB9KTsKaWYobWFpbldyYXApIG1haW5XcmFwLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgb3BlbkxpZ2h0Ym94KGN1cnJlbnQpOyB9KTsKbGJDbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlTGlnaHRib3gpOwpsYlByZXYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBzaG93UmVsKC0xKTsgfSk7CmxiTmV4dC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHNob3dSZWwoMSk7IH0pOwpsaWdodGJveC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpeyBpZihlLnRhcmdldCA9PT0gbGlnaHRib3gpIGNsb3NlTGlnaHRib3goKTsgfSk7CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKXsKaWYoIWxpZ2h0Ym94LmNsYXNzTGlzdC5jb250YWlucygnaXMtb3BlbicpKSByZXR1cm47CmlmKGUua2V5ID09PSAnRXNjYXBlJykgY2xvc2VMaWdodGJveCgpOwppZihlLmtleSA9PT0gJ0Fycm93TGVmdCcpIHNob3dSZWwoLTEpOwppZihlLmtleSA9PT0gJ0Fycm93UmlnaHQnKSBzaG93UmVsKDEpOwp9KTsKCnZhciBmYXFJdGVtcyA9IHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLnhtMi1mYXEtaXRlbScpOwpmYXFJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pewppdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3RvZ2dsZScsIGZ1bmN0aW9uKCl7CmlmKGl0ZW0ub3Blbil7CmZhcUl0ZW1zLmZvckVhY2goZnVuY3Rpb24ob3RoZXIpeyBpZihvdGhlciE9PWl0ZW0pIG90aGVyLm9wZW4gPSBmYWxzZTsgfSk7Cn0KfSk7Cn0pOwp9KSgpOwo8L3NjcmlwdD48L2Rpdj4=[\/vc_raw_html]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[140],"tags":[],"class_list":["post-18279","post","type-post","status-publish","format-standard","hentry","category-xtool"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>xTool SafetyPro\u2122 AP2 Max - Estroje.sk<\/title>\n<meta name=\"description\" content=\"xTool SafetyPro\u2122 AP2 Max \u2013 an industrial smoke purifier with 700 m\u00b3\/h airflow, up to 7 filtration layers and 72 SuperCyclone cyclones.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"xTool SafetyPro\u2122 AP2 Max - Estroje.sk\" \/>\n<meta property=\"og:description\" content=\"xTool SafetyPro\u2122 AP2 Max \u2013 an industrial smoke purifier with 700 m\u00b3\/h airflow, up to 7 filtration layers and 72 SuperCyclone cyclones.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/\" \/>\n<meta property=\"og:site_name\" content=\"Estroje.sk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-13T18:49:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-09T18:42:24+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"42 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#\\\/schema\\\/person\\\/84d5798eeb7a90de17a20b693102b040\"},\"headline\":\"xTool SafetyPro\u2122 AP2 Max\",\"datePublished\":\"2026-10-13T18:49:52+00:00\",\"dateModified\":\"2026-11-09T18:42:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/\"},\"wordCount\":8447,\"publisher\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#organization\"},\"articleSection\":[\"xTool\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/\",\"url\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/\",\"name\":\"xTool SafetyPro\u2122 AP2 Max - Estroje.sk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#website\"},\"datePublished\":\"2026-10-13T18:49:52+00:00\",\"dateModified\":\"2026-11-09T18:42:24+00:00\",\"description\":\"xTool SafetyPro\u2122 AP2 Max \u2013 an industrial smoke purifier with 700 m\u00b3\\\/h airflow, up to 7 filtration layers and 72 SuperCyclone cyclones.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-safetypro-ap2-max\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/estroje.sk\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"xTool SafetyPro\u2122 AP2 Max\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/estroje.sk\\\/en\\\/\",\"name\":\"Estroje.sk\",\"description\":\"CO2 lasers, fiber laser and other engraving machines\",\"publisher\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/estroje.sk\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#organization\",\"name\":\"ECOMP Slovakia, s.r.o.\",\"alternateName\":\"eStroje.sk\",\"url\":\"https:\\\/\\\/estroje.sk\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/estroje.sk\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/logo_news.png\",\"contentUrl\":\"https:\\\/\\\/estroje.sk\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/logo_news.png\",\"width\":508,\"height\":92,\"caption\":\"ECOMP Slovakia, s.r.o.\"},\"image\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#\\\/schema\\\/person\\\/84d5798eeb7a90de17a20b693102b040\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/estroje.sk\\\/en\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"xTool SafetyPro\u2122 AP2 Max - Estroje.sk","description":"xTool SafetyPro\u2122 AP2 Max \u2013 an industrial smoke purifier with 700 m\u00b3\/h airflow, up to 7 filtration layers and 72 SuperCyclone cyclones.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/","og_locale":"en_US","og_type":"article","og_title":"xTool SafetyPro\u2122 AP2 Max - Estroje.sk","og_description":"xTool SafetyPro\u2122 AP2 Max \u2013 an industrial smoke purifier with 700 m\u00b3\/h airflow, up to 7 filtration layers and 72 SuperCyclone cyclones.","og_url":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/","og_site_name":"Estroje.sk","article_published_time":"2026-10-13T18:49:52+00:00","article_modified_time":"2026-11-09T18:42:24+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"42 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/#article","isPartOf":{"@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/"},"author":{"name":"admin","@id":"https:\/\/estroje.sk\/en\/#\/schema\/person\/84d5798eeb7a90de17a20b693102b040"},"headline":"xTool SafetyPro\u2122 AP2 Max","datePublished":"2026-10-13T18:49:52+00:00","dateModified":"2026-11-09T18:42:24+00:00","mainEntityOfPage":{"@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/"},"wordCount":8447,"publisher":{"@id":"https:\/\/estroje.sk\/en\/#organization"},"articleSection":["xTool"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/","url":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/","name":"xTool SafetyPro\u2122 AP2 Max - Estroje.sk","isPartOf":{"@id":"https:\/\/estroje.sk\/en\/#website"},"datePublished":"2026-10-13T18:49:52+00:00","dateModified":"2026-11-09T18:42:24+00:00","description":"xTool SafetyPro\u2122 AP2 Max \u2013 an industrial smoke purifier with 700 m\u00b3\/h airflow, up to 7 filtration layers and 72 SuperCyclone cyclones.","breadcrumb":{"@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-safetypro-ap2-max\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/estroje.sk\/en\/"},{"@type":"ListItem","position":2,"name":"xTool SafetyPro\u2122 AP2 Max"}]},{"@type":"WebSite","@id":"https:\/\/estroje.sk\/en\/#website","url":"https:\/\/estroje.sk\/en\/","name":"Estroje.sk","description":"CO2 lasers, fiber laser and other engraving machines","publisher":{"@id":"https:\/\/estroje.sk\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/estroje.sk\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/estroje.sk\/en\/#organization","name":"ECOMP Slovakia, s.r.o.","alternateName":"eStroje.sk","url":"https:\/\/estroje.sk\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/estroje.sk\/en\/#\/schema\/logo\/image\/","url":"https:\/\/estroje.sk\/wp-content\/uploads\/2019\/06\/logo_news.png","contentUrl":"https:\/\/estroje.sk\/wp-content\/uploads\/2019\/06\/logo_news.png","width":508,"height":92,"caption":"ECOMP Slovakia, s.r.o."},"image":{"@id":"https:\/\/estroje.sk\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/estroje.sk\/en\/#\/schema\/person\/84d5798eeb7a90de17a20b693102b040","name":"admin","url":"https:\/\/estroje.sk\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/posts\/18279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/comments?post=18279"}],"version-history":[{"count":3,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/posts\/18279\/revisions"}],"predecessor-version":[{"id":18950,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/posts\/18279\/revisions\/18950"}],"wp:attachment":[{"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/media?parent=18279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/categories?post=18279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/tags?post=18279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}