{"id":18285,"date":"2026-10-13T20:49:36","date_gmt":"2026-10-13T18:49:36","guid":{"rendered":"https:\/\/estroje.sk\/?p=18285"},"modified":"2026-11-07T21:43:35","modified_gmt":"2026-11-07T20:43:35","slug":"xtool-m2-cmyk-printing-module","status":"publish","type":"post","link":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/","title":{"rendered":"xTool M2 CMYK printing module"},"content":{"rendered":"<p>[vc_raw_html]PGRpdiBjbGFzcz0iZXN0cm9qZS14dG9vbC1tMiBwb3N0aWQtMTgyODUiPjxzdHlsZT4KYm9keS5wb3N0aWQtMTgyODUgLnRpdGxlc2xlZnRjcnVtYnNyaWdodCxib2R5LnBvc3RpZC0xODI4NSAubWV0YXMtY29udGFpbmVyLGJvZHkucG9zdGlkLTE4Mjg1IC5wYWdlVGl0bGUsYm9keS5wb3N0aWQtMTgyODUgLnBhZ2VfdGl0bGV7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQpib2R5LnBvc3RpZC0xODI4NSAuY29udGVudF9hZnRlcl9oZWFkZXJ7cGFkZGluZy10b3A6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyODUgLnNpbmdsZS1leHRyYXN7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQoKLnBvc3RpZC0xODI4NSAueG0yLXNwbGl0LWNhcmQtLWNhbSAueG0yLWNhbS1mZWF0dXJle2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1jYW0tbnVte3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1zcGxpdC1pbWd7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjt9Cjwvc3R5bGU+CjxzdHlsZT4KLmVzdHJvamUteHRvb2wtbTJ7LS1vcmFuZ2U6I2Q5ODIwMDstLW9yYW5nZS1kYXJrOiNiOTY1MDA7LS1vcmFuZ2Utc29mdDojZjFhYTJiOy0taW5rOiMxNjE4MWQ7LS1tdXRlZDojNjY2ZDc4Oy0tbGluZTojZThlYmVmOy0tc29mdDojZjRmNmY4Oy0tZGFyazojMTExMzE4Oy0tcmFkaXVzLWxnOjIycHg7LS1yYWRpdXMtbWQ6MTZweDstLWNhcmQtc2hhZG93OjAgMThweCAzOHB4IHJnYmEoMjIsMjQsMjksLjA4KTtmb250LWZhbWlseTppbmhlcml0O2NvbG9yOnZhcigtLWluayk7fQouZXN0cm9qZS14dG9vbC1tMiAqe2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci5lc3Ryb2plLXh0b29sLW0yIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdDt9Ci5lc3Ryb2plLXh0b29sLW0yIGltZ3ttYXgtd2lkdGg6MTAwJTt9Ci54bTItY29udGFpbmVye21heC13aWR0aDoxMTgwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjAgMThweDt9Ci54bTItc2VjdGlvbntwYWRkaW5nOjM0cHggMDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO30KLnhtMi1zZWN0aW9uLXNvZnR7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMDhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luLWJvdHRvbToxMHB4O30KLnhtMi1oMntmb250LXNpemU6MzJweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE0cHg7bGluZS1oZWlnaHQ6MS4xNTt9Ci54bTItaW50cm97Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNjttYXgtd2lkdGg6NzIwcHg7bWFyZ2luOjAgMCAyMnB4O30KLnhtMi1zZWN0aW9uLWhlYWR7dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1ib3R0b206MjJweDt9Ci54bTItc2VjdGlvbi1oZWFkLmNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO30KLnhtMi1zZWN0aW9uLWhlYWQuY2VudGVyIC54bTItaW50cm97bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt9CgoueG0yLWhlcm8td3JhcHtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO3BhZGRpbmc6MjhweCAwIDA7fQoueG0yLWhlcm8tY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjQwcHg7fQoueG0yLWFjY2VudC1iYXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjVweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSx2YXIoLS1vcmFuZ2UtZGFyaykpO30KLnhtMi1oZXJvLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo0MHB4O21hcmdpbi10b3A6OHB4O30KLnhtMi1nYWxsZXJ5LC54bTItaGVyby1pbmZve21pbi13aWR0aDowO30KLnhtMi1nYWxsZXJ5LW1haW57cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2ZmZjthc3BlY3QtcmF0aW86NC8zO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6em9vbS1pbjt9Ci54bTItZ2FsbGVyeS1tYWluIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO30KLnhtMi16b29tLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtyaWdodDoxNHB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKDE3LDE5LDI0LC43Mik7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7fQoueG0yLXpvb20tYnRuIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O30KLnhtMi10aHVtYnN7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi10b3A6MTJweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItdGh1bWJ7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1saW5lKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjt9Ci54bTItdGh1bWIgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtkaXNwbGF5OmJsb2NrO30KLnhtMi10aHVtYi5pcy1hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLWhlcm8taW5mb3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fQoueG0yLXRpdGxle2ZvbnQtc2l6ZTozNHB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMTU7fQoueG0yLXN1YnRpdGxle2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo2MDA7bWFyZ2luOjhweCAwIDE0cHg7fQoueG0yLWxlYWR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjttYXJnaW46MCAwIDIycHg7fQoueG0yLXF1aWNrZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE0cHg7bWFyZ2luLWJvdHRvbToyMHB4O30KLnhtMi1xdWljay1jYXJke2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO3BhZGRpbmc6MTRweCAxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4O30KLnhtMi1xdWljay1jYXJkIC5pY3t3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2ZsZXg6bm9uZTtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbi10b3A6MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtbGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1tdXRlZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNWVtO21hcmdpbi1ib3R0b206MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcGlsbC1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi1ib3R0b206MThweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItcGlsbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDt9Ci54bTItcGlsbC1zdG9ja3tiYWNrZ3JvdW5kOiNlOWY3ZWU7Y29sb3I6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zdG9jayAuZG90e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zaGlwe2JhY2tncm91bmQ6I2ZkZjFlMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7fQoueG0yLXBpbGwgc3Zne3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7fQoueG0yLXByaWNlLWJveHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MjBweDt9Ci54bTItcHJpY2UtY2VsbHtwYWRkaW5nOjE0cHggMThweDt9Ci54bTItcHJpY2UtY2VsbCArIC54bTItcHJpY2UtY2VsbHtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tbGluZSk7fQoueG0yLXByaWNlLWxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDVlbTttYXJnaW4tYm90dG9tOjRweDt9Ci54bTItcHJpY2UtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MjNweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcHJpY2UtdmFsdWUgc21hbGx7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLW11dGVkKTt9Ci54bTItc2t1LWxpbmV7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjotMTBweCAwIDE2cHg7fQoueG0yLWN0YS1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206OHB4O30KLnhtMi1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2ZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTVweDtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW9yYW5nZSk7dHJhbnNpdGlvbjouMnM7fQoueG0yLWJ0bi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZiAhaW1wb3J0YW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93OjAgMTJweCAyMnB4IHJnYmEoMjE3LDEzMCwwLC4yNCk7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi4wMWVtO3BhZGRpbmc6MTVweCAzMnB4O30KLnhtMi1idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZS1kYXJrKTtjb2xvcjojZmZmICFpbXBvcnRhbnQ7fQoueG0yLWJ0bi1naG9zdHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6dmFyKC0tb3JhbmdlLWRhcmspO2JvcmRlci1jb2xvcjp2YXIoLS1vcmFuZ2UpO30KLnhtMi1idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItYnRuLWdob3N0W2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi42O2N1cnNvcjpub3QtYWxsb3dlZDt9Ci54bTItYnRuLXNvb257Zm9udC1zaXplOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtjb2xvcjp2YXIoLS1tdXRlZCk7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bWFyZ2luLWxlZnQ6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDRlbTt9Ci54bTItY3RhLW5vdGV7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luOjAgMCAxNXB4O30KLnhtMi10cnVzdC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNHB4O21hcmdpbi10b3A6MjhweDtwYWRkaW5nLXRvcDoyOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi10cnVzdC1jYXJke3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MjBweCAxNnB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMTBweCAyNHB4IHJnYmEoMjIsMjQsMjksLjA1KTt9Ci54bTItdHJ1c3QtY2FyZCAuaWN7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbjowIGF1dG8gMTBweDt9Ci54bTItdHJ1c3QtY2FyZCBoNHtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowIDAgNnB4O30KLnhtMi10cnVzdC1jYXJkIHB7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNTt9CgoueG0yLWRhcmstY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Y29sb3I6I2YzZjRmNjtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjFmciAuOWZyO2dhcDowO2FsaWduLWl0ZW1zOnN0cmV0Y2g7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmU7fQoueG0yLWRhcmstY2FyZCA+IGRpdjpmaXJzdC1jaGlsZHtwYWRkaW5nOjQ4cHg7fQoueG0yLWRhcmstY2FyZDpob3ZlciwueG0yLWRhcmstY2FyZDpob3ZlciAqLC54bTItZGFyay1jYXJkICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkICp7Y29sb3I6aW5oZXJpdDt9Ci54bTItZGFyay1jYXJkIC54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2Utc29mdCkgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkIGgye2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXNpemU6MzBweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCAxNnB4O2xpbmUtaGVpZ2h0OjEuMjt9Ci54bTItZGFyay1jYXJkIHB7Y29sb3I6I2Q1ZDhkZSAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1kYXJrLWNhcmQgLnhtMi1lbXBoe2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDA7fQoueG0yLWRhcmstdmlzdWFse3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjttaW4taGVpZ2h0OjI2MHB4O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO30KLnhtMi1kYXJrLXZpc3VhbDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1kYXJrKSAwJSxyZ2JhKDE3LDE5LDI0LC44OCkgMTYlLHJnYmEoMTcsMTksMjQsLjQyKSAzNCUscmdiYSgxNywxOSwyNCwwKSA2MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxO30KLnhtMi1kYXJrLXZpc3VhbCBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWRhcmstdmlzdWFsIC54bTItdmlzdWFsLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTRweDtsZWZ0OjE0cHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41NSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtwYWRkaW5nOjZweCAxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAyZW07fQoueG0yLWRhcmstY3RhLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjE0cHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLXRvcDo4cHg7fQoueG0yLWJ0bi1saWdodHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWxpZ2h0OmhvdmVye2JvcmRlci1jb2xvcjojZmZmO30KLnhtMi1idG4tc29saWQtb25EYXJre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzoxNXB4IDMycHg7Zm9udC13ZWlnaHQ6ODAwO30KLnhtMi1idG4tc29saWQtb25EYXJrOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tb3JhbmdlLWRhcmspO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJre2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDgpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWdob3N0LW9uRGFyazpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjE2KTtib3JkZXItY29sb3I6I2ZmZjtjb2xvcjojZmZmO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrW2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi43O30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrIC54bTItYnRuLXNvb257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xNSk7Y29sb3I6I2ZmZjt9CgoueG0yLXZzLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoyNHB4O30KLnhtMi12cy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjI4cHg7fQoueG0yLXZzLWNhcmQgaDN7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO21hcmdpbjowIDAgNnB4O2NvbG9yOnZhcigtLWluayk7fQoueG0yLXZzLWNhcmQgLnhtMi12cy1zdWJ7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCAwIDE2cHg7fQoueG0yLXZzLWNhcmQgdWx7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O30ueG0yLXZzLWNhcmQgdWwgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmUgIWltcG9ydGFudDt9Ci54bTItdnMtY2FyZCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MjRweDttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjEuNTt9Ci54bTItdnMtY2FyZCBsaTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjdweDt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7fQoueG0yLXZzLWNhcmQuaXMteHRvb2x7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZS1zb2Z0KTt9CgovKiA9PT09PSBSZXZpc2lvbiAjNzogdHlwb2dyYXBoeSBoaWVyYXJjaHkgaW5zaWRlICJWeWJlciBsYXNlcmEiIGNvbXBhcmlzb24gYmxvY2sgPT09PT0gKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIC54bTItdnMtc3Vie2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MjJweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIGxpe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNlY3Rpb24taGVhZDpoYXMoKyAueG0yLXZzLWdyaWQpIC54bTItaW50cm97Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9CgoueG0yLWNhcC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjJweDt9Ci54bTItY2FwLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTt9Ci54bTItY2FwLWltZ3t3aWR0aDoxMDAlO2hlaWdodDoyMjBweDtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhcC1ib2R5e3BhZGRpbmc6MjBweCAyMnB4O30KLnhtMi1jYXAtYm9keSBoM3tmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA4cHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItY2FwLWJvZHkgcHtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS41NTttYXJnaW46MCAwIDEwcHg7fQoueG0yLWJhZGdlLW9wdGlvbmFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtwYWRkaW5nOjRweCAxMHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAzZW07fQoKLnhtMi1hY2MtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjIwcHg7fQoueG0yLWFjYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLWFjYy1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MjAwcHg7b2JqZWN0LWZpdDpjb250YWluO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTRweDt9Ci54bTItYWNjLWJvZHl7cGFkZGluZzoyMHB4IDIycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7fQoueG0yLWFjYy1jYXJkIGgze2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDhweDtjb2xvcjp2YXIoLS1pbmspO30KLnhtMi1hY2MtY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luOjAgMCAxNHB4O2ZsZXg6MTt9Ci54bTItYWNjLXBpbGx7bWFyZ2luLWJvdHRvbToxMnB4O30KLnhtMi1hY2MtcHJpY2UtYm94e21hcmdpbi1ib3R0b206MTRweDt9Ci54bTItYWNjLXByaWNlLWJveCAueG0yLXByaWNlLWNlbGx7cGFkZGluZzoxMHB4IDEycHg7fQoueG0yLWFjYy1wcmljZS1ib3ggLnhtMi1wcmljZS12YWx1ZXtmb250LXNpemU6MTdweDt9Ci54bTItYWNjLWJ0bntmb250LXNpemU6MTIuNXB4O3BhZGRpbmc6OXB4IDE2cHg7YWxpZ24tc2VsZjpjZW50ZXI7fQoKLnhtMi1wb3dlci1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjRweDt9Ci54bTItcG93ZXItY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7cGFkZGluZzoyNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO30KLnhtMi1wb3dlci1jYXJkLmlzLWN1cnJlbnR7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLXBvd2VyLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEycHg7cmlnaHQ6MjBweDtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzo0cHggMTJweDtib3JkZXItcmFkaXVzOjk5OXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDNlbTt9Ci54bTItcG93ZXItY2FyZCBoM3tmb250LXNpemU6MTlweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA2cHg7fQoueG0yLXBvd2VyLWNhcmQgLnN1Yntjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbjowIDAgMTRweDt9Ci54bTItcG93ZXItY2FyZCB1bHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7fS54bTItcG93ZXItY2FyZCB1bCBsaXtsaXN0LXN0eWxlLXR5cGU6bm9uZSAhaW1wb3J0YW50O30KLnhtMi1wb3dlci1jYXJkIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoyMnB4O21hcmdpbi1ib3R0b206OXB4O2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxLjU7fQoueG0yLXBvd2VyLWNhcmQgbGk6YmVmb3Jle2NvbnRlbnQ6IuKckyI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2NvbG9yOnZhcigtLW9yYW5nZSk7Zm9udC13ZWlnaHQ6NzAwO30KCi54bTItY2FtLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczouOWZyIDEuMWZyO2dhcDozNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci54bTItY2FtLWltZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO30KLnhtMi1jYW0taW1nIGltZ3t3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhbS1pbnRyb3tmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42O21hcmdpbjowIDAgMjJweDt9Ci54bTItY2FtLWZlYXR1cmV7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O21hcmdpbi1ib3R0b206MThweDt9Ci54bTItY2FtLW51bXtmbGV4Om5vbmU7d2lkdGg6NDZweDtmb250LXNpemU6MzhweDtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjp2YXIoLS1vcmFuZ2UpO29wYWNpdHk6LjM7Zm9udC1mYW1pbHk6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzotLjAyZW07fQoueG0yLWNhbS1mZWF0dXJlIGg0e21hcmdpbjowIDAgNXB4O2ZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO2xldHRlci1zcGFjaW5nOi0uMDFlbTtsaW5lLWhlaWdodDoxLjI1O30KLnhtMi1jYW0tZmVhdHVyZSBwe21hcmdpbjowO2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7fQoKLnhtMi1zcGxpdC1jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO30KLnhtMi1zcGxpdC1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDoyODBweDt9Ci54bTItc3BsaXQtYm9keXtwYWRkaW5nOjM0cHggMzhweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtY2FyZC0tdG9wIC54bTItc3BsaXQtYm9keXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCAhaW1wb3J0YW50O30KLnhtMi1zcGxpdC1ib2R5IGgze2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDEycHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItc3BsaXQtYm9keSBwe2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1ub3RlLWJveHtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO2JvcmRlci1sZWZ0OjNweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEycHggMTZweDtmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLWluayk7bWFyZ2luLXRvcDo2cHg7fQoueG0yLW5vdGUtYm94IC5pY3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2NvbG9yOnZhcigtLW9yYW5nZS1kYXJrKTtmbGV4Om5vbmU7bWFyZ2luLXRvcDoxcHg7fQoKLnhtMi1kZXNjLXdyYXB7bWF4LXdpZHRoOjExODBweDttYXJnaW46MCBhdXRvO30KLnhtMi1kZXNjLWltZ3t3aWR0aDoxMDAlO2hlaWdodDo0MjBweDtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MjRweDt9Ci54bTItZGVzYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjQ0cHggNTJweDtjb2x1bW4tY291bnQ6Mjtjb2x1bW4tZ2FwOjQwcHg7fQoueG0yLWRlc2MtY2FyZCBwe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNzU7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE2cHg7fQoueG0yLWRlc2MtY2FyZCBwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowO30KCi54bTItc3BlYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLXZpZGVvLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtwYWRkaW5nOjE0cHg7bWF4LXdpZHRoOjkwMHB4O21hcmdpbjowIGF1dG87fQoueG0yLXZpZGVvLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7aGVpZ2h0OjA7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMwMDA7fQoueG0yLXZpZGVvLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQpAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsueG0yLXZpZGVvLWNhcmR7cGFkZGluZzo4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO319Ci54bTItc3BlYy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMS40ZnI7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSk7fQoKLnhtMi1zcGVjLWxhYmVse2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1tdXRlZCk7fQoueG0yLXNwZWMtdmFsdWV7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0taW5rKTt9CkBtZWRpYSAobWluLXdpZHRoOjc2OXB4KXsKLnBvc3RpZC0xODI4NSAueG0yLXNwZWMtY2FyZHtkaXNwbGF5OmdyaWQgIWltcG9ydGFudDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAhaW1wb3J0YW50O2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoNCxhdXRvKSAhaW1wb3J0YW50O2dyaWQtYXV0by1mbG93OmNvbHVtbiAhaW1wb3J0YW50O2NvbHVtbi1nYXA6MCAhaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGVjLXJvd3twYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctYm90dG9tOjE0cHg7fQoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKG4rNSl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWxpbmUpICFpbXBvcnRhbnQ7cGFkZGluZy1sZWZ0OjI2cHggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoOCksLnBvc3RpZC0xODI4NSAueG0yLXNwZWMtcm93Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7fQoKfQoKLnhtMi1wa2ctZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE2cHg7fQoueG0yLXBrZy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci54bTItcGtnLWltZ3t3aWR0aDoxMDAlO2hlaWdodDoxODBweDtvYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6dmFyKC0tc29mdCk7cGFkZGluZzoxNnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci54bTItcGtnLWNhcmQgc3BhbntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLWluayk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuMzU7cGFkZGluZzoxMHB4IDE0cHggMTRweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTt9CgoueG0yLWZhcXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE0cHg7fQoueG0yLWZhcS1pdGVte2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtwYWRkaW5nOjRweCAwO30KLnhtMi1mYXEtaXRlbSBzdW1tYXJ5e2xpc3Qtc3R5bGU6bm9uZTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjE2cHggNTBweCAxNnB4IDIwcHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0taW5rKTtwb3NpdGlvbjpyZWxhdGl2ZTt9Ci54bTItZmFxLWl0ZW0gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmU7fQoueG0yLWZhcS1pdGVtIHN1bW1hcnk6OmFmdGVye2NvbnRlbnQ6IisiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE4cHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtmb250LXNpemU6MjBweDtjb2xvcjp2YXIoLS1vcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMDt9Ci54bTItZmFxLWl0ZW1bb3Blbl0gc3VtbWFyeTo6YWZ0ZXJ7Y29udGVudDoiXDIyMTIiO30KLnhtMi1mYXEtaXRlbVtvcGVuXSBzdW1tYXJ5e2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi1mYXEtaXRlbSBwe21hcmdpbjowO3BhZGRpbmc6MTRweCAyMHB4IDE4cHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42O30KCi54bTItbGlnaHRib3h7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMTAsMTAsMTIsLjkyKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo5OTk5OTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzO30KLnhtMi1saWdodGJveC5pcy1vcGVue29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvO30KLnhtMi1saWdodGJveCBpbWd7bWF4LXdpZHRoOjg4dnc7bWF4LWhlaWdodDo4NnZoO29iamVjdC1maXQ6Y29udGFpbjtib3JkZXItcmFkaXVzOjEwcHg7fQoueG0yLWxpZ2h0Ym94IGJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEyKTtib3JkZXI6bm9uZTtjb2xvcjojZmZmO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO30KLnhtMi1saWdodGJveCBidXR0b246aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yNCk7fQoueG0yLWxpZ2h0Ym94IGJ1dHRvbiBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt9Ci54bTItbGlnaHRib3gtY2xvc2V7dG9wOjIycHg7cmlnaHQ6MjJweDt9Ci54bTItbGlnaHRib3gtcHJldntsZWZ0OjIycHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt9Ci54bTItbGlnaHRib3gtbmV4dHtyaWdodDoyMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7fQoKQG1lZGlhKG1heC13aWR0aDo5MDBweCl7Ci54bTItaGVyby1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWNhcC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWFjYy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO30KLnhtMi1wb3dlci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWNhbS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXNwbGl0LWNhcmR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItc3BsaXQtaW1ne21pbi1oZWlnaHQ6MjAwcHg7fQoueG0yLXZzLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItZmFxe2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWRhcmstY2FyZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO3BhZGRpbmc6MDt9Ci54bTItZGFyay1jYXJkID4gZGl2OmZpcnN0LWNoaWxke3BhZGRpbmc6MzBweCAyNHB4IDM0cHg7fQoueG0yLWRhcmstdmlzdWFse21pbi1oZWlnaHQ6MjAwcHg7b3JkZXI6LTE7fQoueG0yLWRhcmstdmlzdWFsOjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTcsMTksMjQsMCkgNDUlLHJnYmEoMTcsMTksMjQsLjU1KSA3OCUsdmFyKC0tZGFyaykgMTAwJSk7fQoueG0yLXRydXN0LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9Cn0KQG1lZGlhKG1heC13aWR0aDo1NjBweCl7Ci54bTItYWNjLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItcGtnLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7fQoueG0yLXF1aWNrZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1wcmljZS1ib3h7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItcHJpY2UtY2VsbCArIC54bTItcHJpY2UtY2VsbHtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi1oZXJvLWNhcmR7cGFkZGluZzoyNHB4O30KLnhtMi1oMntmb250LXNpemU6MjZweDt9Ci54bTItdGl0bGV7Zm9udC1zaXplOjI3cHg7fQoueG0yLXRydXN0LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KfQoKLnBvc3RpZC0xODI4NSAueG0yLWNhcC1pbWctLW1hY2hpbmV7b2JqZWN0LWZpdDpjb250YWluO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjE4cHg7fQoucG9zdGlkLTE4Mjg1IC54bTItY2FwLWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5wb3N0aWQtMTgyODUgLnhtMi1jYXAtYm9keSBwe2ZsZXgtZ3JvdzoxO30KLnBvc3RpZC0xODI4NSAueG0yLWNhcC1saW5re2Rpc3BsYXk6YmxvY2s7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjEwcHggYXV0byAwO3BhZGRpbmc6MTJweCAyOHB4O2ZvbnQtc2l6ZToxNHB4O30KCi5wb3N0aWQtMTgyODUgLnhtMi1jYXAtaW1ne29iamVjdC1maXQ6Y29udGFpbiAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50O3BhZGRpbmc6MThweCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O30KPC9zdHlsZT4KPHN0eWxlPgovKiA9PT09PSBSZXZpc2lvbiAjNCB0YXJnZXRlZCBmaXhlcyAoMTktcG9pbnQgcHVuY2ggbGlzdCkgPT09PT0gKi8KYm9keS5wb3N0aWQtMTgyODUgLmJsb2ctZGVmYXVsdC1iZ3ttYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O21hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyODUgLm1hc3Rlcl9jb250YWluZXJ7d2lkdGg6MTAwJSAhaW1wb3J0YW50O21hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O3BhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7fQpib2R5LnBvc3RpZC0xODI4NSBzZWN0aW9uLnBhZ2VfY29udGVudHtiYWNrZ3JvdW5kOiNmNGY2ZjggIWltcG9ydGFudDt9CgovKiBJdGVtIDUrNjogdHJ1c3Qgcm93IC0+IE1PTk9SIGNvbXBhY3Qgc2luZ2xlLWxpbmUgY2FyZCBzdHlsZSAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MTBweDttYXJnaW4tdG9wOjI0cHg7cGFkZGluZy10b3A6MjRweDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo3cHg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLWhlaWdodDo3NnB4O3BhZGRpbmc6MTJweCAxMHB4O2JveC1zaGFkb3c6bm9uZTt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCAuaWN7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtjb2xvcjojOGE5MDk4O21hcmdpbjowO30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi10cnVzdC1jYXJkIGg0e2Rpc3BsYXk6bm9uZTt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MDtsaW5lLWhlaWdodDoxLjQ7Zm9udC13ZWlnaHQ6NTAwO30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jdGEtbm90ZXtmb250LXNpemU6MTJweCAhaW1wb3J0YW50O30KCi8qIEl0ZW0gNzogaG92ZXIganVtcCBmaXggLSBib3RoIGRhcmstY2FyZCBDVEEgYmxvY2tzIChzaG93cm9vbSArIGZpbmFsKSAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bntib3JkZXItd2lkdGg6MXB4ICFpbXBvcnRhbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkICFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bjpob3ZlciwuZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bjpmb2N1cywuZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bjphY3RpdmV7Ym9yZGVyLXdpZHRoOjFweCAhaW1wb3J0YW50O2JvcmRlci1zdHlsZTpzb2xpZCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWNhcmQsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWNhcmQgKnt0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWN0YS1yb3csLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWN0YS1yb3cgKnt0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O30KCi8qIEl0ZW0gODogdmVydGljYWwgcmh5dGhtIG5vcm1hbGl6ZWQgdG8gTU9OT1IgKDMwcHggMCkgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zZWN0aW9ue3BhZGRpbmc6MzBweCAwICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNlY3Rpb257cGFkZGluZzoyNnB4IDAgIWltcG9ydGFudDt9CgovKiBJdGVtIDk6IHN0b3AgdGhlbWUncyBibG9nIHBhcmFncmFwaCBkZWZhdWx0ICgxN3B4KSBsZWFraW5nIGludG8gY29tcG9uZW50IGNvcHkgKi8KLmVzdHJvamUteHRvb2wtbTIgcHtmb250LXNpemU6MTRweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi10cnVzdC1jYXJkIHB7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItYWNjLWNhcmQgcHtmb250LXNpemU6MTMuNXB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhbS1mZWF0dXJlIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGxpdC1ib2R5IHB7Zm9udC1zaXplOjE0LjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kZXNjLWNhcmQgcHtmb250LXNpemU6MTVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1mYXEtaXRlbSBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jYXJkIHB7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItY2FwLWJvZHkgcHtmb250LXNpemU6MTRweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wb3dlci1jYXJkIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wa2ctY2FyZCBzcGFue2ZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7fQoKLyogSXRlbSAxMjogY2FtZXJhIG51bWJlcnMgYmlnZ2VyICsgaGVhZGluZyBoaWVyYXJjaHkgY2xlYXJlciAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhbS1udW17d2lkdGg6MzRweCAhaW1wb3J0YW50O2hlaWdodDozNHB4ICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9LmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYW0tZmVhdHVyZSAueG0yLWNhbS1udW17d2lkdGg6NDRweCAhaW1wb3J0YW50O2hlaWdodDo0NHB4ICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE5cHggIWltcG9ydGFudDtmb250LXdlaWdodDo4MDAgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItY2FtLWZlYXR1cmUgaDR7Zm9udC1zaXplOjE5cHggIWltcG9ydGFudDt9CgovKiBJdGVtIDE2OiB0ZWNobmljYWwgcGFyYW1ldGVycyBpbiAyIGRlc2t0b3AgY29sdW1ucyAoQ1NTIGdyaWQsIGFsaWduZWQgcm93cyArIHJlc3RvcmVkIHplYnJhKSAqLwpAbWVkaWEobWluLXdpZHRoOjc2OXB4KXsKLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGVjLWNhcmR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoOSxhdXRvKTtncmlkLWF1dG8tZmxvdzpjb2x1bW47Y29sdW1uLWdhcDowO2FsaWduLWl0ZW1zOnN0cmV0Y2g7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNwZWMtcm93e3BhZGRpbmctdG9wOjE0cHg7cGFkZGluZy1ib3R0b206MTRweDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKG4rMTApe2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1saW5lKTtwYWRkaW5nLWxlZnQ6MjZweDt9Ci54bTItc3BlYy1yb3c6bGFzdC1jaGlsZCwueG0yLXNwZWMtcm93Om50aC1jaGlsZCg5KXtib3JkZXItYm90dG9tOm5vbmU7fQouZXN0cm9qZS14dG9vbC1tMiAKfQpAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsKLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoZXZlbil7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Cn0KCi8qIEl0ZW0gMTAvMTQvMTU6IHRpZ2h0ZXIsIG1vcmUgY29uc2lzdGVudCBpbWFnZSBmcmFtaW5nIGFjcm9zcyBpbWFnZSBzZWN0aW9ucyAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhcC1tZWRpYSBpbWcsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGxpdC1tZWRpYSBpbWcsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kZXNjLWNhcmQgaW1ne29iamVjdC1maXQ6Y292ZXI7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQsMTJweCk7fQoKLyogPT09PT0gUmV2aXNpb24gIzU6IHRvcC1zZWN0aW9uIHJlZmluZW1lbnRzIChoZWFkZXIgc3BhY2luZywgQ1RBIG5vdGUsIGRpdmlkZXIsIHRydXN0IGNhcmRzKSA9PT09PSAqLwpib2R5LnBvc3RpZC0xODI4NSAuYmxvZy1kZWZhdWx0LndpZGVibG9ne3BhZGRpbmctdG9wOjAgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItaGVyby13cmFwe3BhZGRpbmctdG9wOjQ4cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3Qtcm93e21hcmdpbi10b3A6MCAhaW1wb3J0YW50O3BhZGRpbmctdG9wOjAgIWltcG9ydGFudDtib3JkZXItdG9wOm5vbmUgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2NvbG9yOiMzNTNiNDQgIWltcG9ydGFudDtmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDt9CgovKiA9PT09PSBSZXZpc2lvbiAjNjogaGVybyByaWdodC1zaWRlIGNvbXBhY3RuZXNzIChhY2NlbnQgZ2FwLCBxdWljay1mYWN0IGNhcmRzLCBwcmljZSBibG9jaywgYnV0dG9ucywgdHJ1c3QgY2FyZHMpID09PT09ICovCi5lc3Ryb2plLXh0b29sLW0yIC54bTItaGVyby1jYXJke3BhZGRpbmc6MzBweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1oZXJvLWdyaWR7bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXF1aWNrZ3JpZHtnYXA6MTJweCAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MTZweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1xdWljay1jYXJke3BhZGRpbmc6MTNweCAxNHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXF1aWNrLWNhcmQgLnR4dC1sYWJlbHtsaW5lLWhlaWdodDoxNHB4ICFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbToycHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcXVpY2stY2FyZCAudHh0LXZhbHVle2xpbmUtaGVpZ2h0OjE4cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcHJpY2UtYm94e21hcmdpbi1ib3R0b206MTZweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wcmljZS1jZWxse3BhZGRpbmc6MTJweCAxNnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXByaWNlLWxhYmVse2xpbmUtaGVpZ2h0OjE0cHggIWltcG9ydGFudDt9LmVzdHJvamUteHRvb2wtbTIgLnhtMi1wcmljZS1sYWJlbHtmb250LXdlaWdodDo4MDAgIWltcG9ydGFudDtjb2xvcjp2YXIoLS1pbmspICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LjA2ZW0gIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItYnRuLXByaW1hcnl7cGFkZGluZzoxM3B4IDI2cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2xpbmUtaGVpZ2h0OjEuMyAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7fQoKCi8qID09PT09IFJldmlzaW9uICM4OiBzcGFjaW5nLCBoZWFkaW5nIGFsaWdubWVudCwgVm9sYmEgdnlrb251IHR5cG9ncmFwaHkgPT09PT0gKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wb3dlci1jYXJkIC5zdWJ7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDtmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXBvd2VyLWNhcmQgbGl7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjIwcHggIWltcG9ydGFudDt9CgoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDEpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDMpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDUpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDYpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDgpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDEwKXtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpICFpbXBvcnRhbnQ7fQoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDIpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDQpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDcpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDkpe2JhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50O30KPC9zdHlsZT4KPHN0eWxlPgoucG9zdGlkLTE4Mjg1IC54bTItYnVse21hcmdpbjowIDAgMTJweDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7fQoucG9zdGlkLTE4Mjg1IC54bTItYnVsIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoyNHB4O21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7bGlzdC1zdHlsZS10eXBlOm5vbmUgIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyODUgLnhtMi1idWwgbGk6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDo4cHg7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1vcmFuZ2UpO30KPC9zdHlsZT4KPHN0eWxlPgoucG9zdGlkLTE4Mjg1IC54bTItcGlsbC1zdG9jay5pcy1vdXR7YmFja2dyb3VuZDojZmZmM2UwO2NvbG9yOiNiNDUzMDk7fQoucG9zdGlkLTE4Mjg1IC54bTItcGlsbC1zdG9jay5pcy1vdXQgLmRvdHtiYWNrZ3JvdW5kOiNiNDUzMDk7fQo8L3N0eWxlPgo8c3R5bGU+Ci5wb3N0aWQtMTgyODUgLnhtMi1waWxsLWJ1bmRsZXtiYWNrZ3JvdW5kOiNmZmYzZTA7Y29sb3I6I2I0NTMwOTt9Ci5wb3N0aWQtMTgyODUgLnhtMi1waWxsLXN0b2NrLmlzLXN1cHBsaWVye2JhY2tncm91bmQ6I2VhZjFmYjtjb2xvcjojMWY1ZmE4O30KLnBvc3RpZC0xODI4NSAueG0yLXBpbGwtc3RvY2suaXMtc3VwcGxpZXIgLmRvdHtiYWNrZ3JvdW5kOiMxZjVmYTg7fQo8L3N0eWxlPjxkaXYgY2xhc3M9InhtMi1oZXJvLXdyYXAiPgo8ZGl2IGNsYXNzPSJ4bTItY29udGFpbmVyIj4KPGRpdiBjbGFzcz0ieG0yLWhlcm8tY2FyZCI+CjxkaXYgY2xhc3M9InhtMi1hY2NlbnQtYmFyIj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLWhlcm8tZ3JpZCI+Cgo8ZGl2IGNsYXNzPSJ4bTItZ2FsbGVyeSI+CjxkaXYgY2xhc3M9InhtMi1nYWxsZXJ5LW1haW4iIGlkPSJ4bTItbWFpbi13cmFwIj4KPGltZyBpZD0ieG0yLW1haW4taW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbF9tMl9jbXlrX21vZHVsZS0xLmpwZyIgYWx0PSJ4VG9vbCBNMiBDTVlLIHByaW50aW5nIG1vZHVsZSI+CjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ieG0yLXpvb20tYnRuIiBhcmlhLWxhYmVsPSJFbmxhcmdlIGltYWdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ij48L2NpcmNsZT48cGF0aCBkPSJNMjEgMjFsLTQuMzUtNC4zNSI+PC9wYXRoPjwvc3ZnPjwvYnV0dG9uPgo8L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXRodW1icyI+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIGlzLWFjdGl2ZSIgdHlwZT0iYnV0dG9uIiBkYXRhLWluZGV4PSIwIj48aW1nIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sX20yX2NteWtfbW9kdWxlLTEuanBnIiBhbHQ9InhUb29sIE0yIENNWUsgcHJpbnRpbmcgbW9kdWxlIj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJ4bTItdGh1bWIiIHR5cGU9ImJ1dHRvbiIgZGF0YS1pbmRleD0iMSI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaW50LWFuZC1jdXQuanBnIiBhbHQ9IlByaW50ICZhbXA7IEN1dCDigJMgcHJpbnRpbmcgYW5kIGN1dHRpbmcgaW4gb25lIHhUb29sIE0yIG1hY2hpbmUiPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InhtMi10aHVtYiIgdHlwZT0iYnV0dG9uIiBkYXRhLWluZGV4PSIyIj48aW1nIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLW0yLWNteWsta3ZhbGl0YS10bGFjZS5qcGciIGFsdD0iUHJpbnQgcXVhbGl0eSBjb21wYXJpc29uIG9mIHRoZSBDTVkgYW5kIENNWUsgbW9kdWxlcyI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjMiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtbTItY215ay1wcmlrbGFkeS10bGFjZS5qcGciIGFsdD0iQ01ZSyBtb2R1bGUgY29sb3VyIHByaW50aW5nIGV4YW1wbGVzIOKAkyBzdGlja2VycywgY2FyZHMsIG1hZ25ldHMiPjwvYnV0dG9uPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InhtMi1oZXJvLWluZm8iPgo8ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+eFRvb2wgYWNjZXNzb3JpZXMgZm9yIHRoZSBNMjwvZGl2Pgo8aDEgY2xhc3M9InhtMi10aXRsZSI+eFRvb2wgTTIgQ01ZSyBwcmludGluZyBtb2R1bGU8L2gxPgo8ZGl2IGNsYXNzPSJ4bTItc3VidGl0bGUiPkNvbG91ciBpbmtqZXQgcHJpbnRpbmcgZm9yIHRoZSB4VG9vbCBNMjwvZGl2Pgo8cCBjbGFzcz0ieG0yLWxlYWQiPlRoZSBDTVlLIGlua2pldCBwcmludGluZyBtb2R1bGUgYWRkcyBmdWxsLWNvbG91ciBwcmludGluZyBkaXJlY3RseSBvbnRvIG1hdGVyaWFsIHRvIHRoZSB4VG9vbCBNMiDigJMgc3RpY2tlcnMsIGdpZnQgY2FyZHMsIHRlbXBvcmFyeSB0YXR0b29zIGFuZCBtYWduZXRzLiBUaGUgbW9kdWxlIG9ubHkgcHJpbnRzOyB0aGUgY3V0dGluZyBpbiB0aGUgUHJpbnQgJmFtcDsgQ3V0IHdvcmtmbG93IGlzIGRvbmUgYnkgdGhlIG9yaWdpbmFsIE0yIGRpb2RlIGxhc2VyIGhlYWQsIHNvIG5vIGFkZGl0aW9uYWwgbWFjaGluZSBpcyBuZWVkZWQuPC9wPgoKPGRpdiBjbGFzcz0ieG0yLXF1aWNrZ3JpZCI+CjxkaXYgY2xhc3M9InhtMi1xdWljay1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIuNjlsNS42NiA1LjY2YTggOCAwIDEgMS0xMS4zMSAweiI+PC9wYXRoPjwvc3ZnPjxzcGFuPjxzcGFuIGNsYXNzPSJ0eHQtbGFiZWwiPk1vZHVsZSB0eXBlPC9zcGFuPjxzcGFuIGNsYXNzPSJ0eHQtdmFsdWUiPkNNWUsgaW5ramV0IHByaW50IGhlYWQ8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjE1IDMgMjEgMyAyMSA5Ij48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9IjkgMjEgMyAyMSAzIDE1Ij48L3BvbHlsaW5lPjxsaW5lIHgxPSIyMSIgeTE9IjMiIHgyPSIxNCIgeTI9IjEwIj48L2xpbmU+PGxpbmUgeDE9IjMiIHkxPSIyMSIgeDI9IjEwIiB5Mj0iMTQiPjwvbGluZT48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5Xb3JraW5nIGFyZWEgKHByaW50aW5nKTwvc3Bhbj48c3BhbiBjbGFzcz0idHh0LXZhbHVlIj4zMDAgw5cgMjk0IG1tPC9zcGFuPjwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXF1aWNrLWNhcmQiPjxzdmcgY2xhc3M9ImljIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgOGwtOS01LTkgNSA5IDUgOS01eiI+PC9wYXRoPjxwYXRoIGQ9Ik0zIDh2OGw5IDUgOS01VjgiPjwvcGF0aD48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5Db21wYXRpYmlsaXR5PC9zcGFuPjxzcGFuIGNsYXNzPSJ0eHQtdmFsdWUiPnhUb29sIE0yIG9ubHk8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIzIj48L2NpcmNsZT48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjMiPjwvY2lyY2xlPjxsaW5lIHgxPSIyMCIgeTE9IjQiIHgyPSI4LjEyIiB5Mj0iMTUuODgiPjwvbGluZT48bGluZSB4MT0iMTQuNDciIHkxPSIxNC40OCIgeDI9IjIwIiB5Mj0iMjAiPjwvbGluZT48bGluZSB4MT0iOC4xMiIgeTE9IjguMTIiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+PC9zdmc+PHNwYW4+PHNwYW4gY2xhc3M9InR4dC1sYWJlbCI+V29ya2Zsb3c8L3NwYW4+PHNwYW4gY2xhc3M9InR4dC12YWx1ZSI+UHJpbnQgJmFtcDsgQ3V0IGluIG9uZSBtYWNoaW5lPC9zcGFuPjwvc3Bhbj48L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJ4bTItcGlsbC1yb3ciPgo8c3BhbiBjbGFzcz0ieG0yLXBpbGwgeG0yLXBpbGwtc3RvY2siIGlkPSJ4bTItc3RvY2stcGlsbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjxzcGFuIGlkPSJ4bTItc3RvY2stdGV4dCI+PC9zcGFuPjwvc3Bhbj4KPHNwYW4gY2xhc3M9InhtMi1waWxsIHhtMi1waWxsLXNoaXAiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMSIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIj48L3JlY3Q+PHBhdGggZD0iTTE1IDloNGwzIDR2NGgtN3oiPjwvcGF0aD48Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjwvc3ZnPkZyZWUgc2hpcHBpbmc8L3NwYW4+CjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLXByaWNlLWJveCI+CjxkaXYgY2xhc3M9InhtMi1wcmljZS1jZWxsIj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLWxhYmVsIj5QcmljZSBleGNsLiBWQVQ8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1wcmljZS12YWx1ZSIgaWQ9InhtMi1wcmljZS1leGNsIiBkYXRhLXdvby1wcmljZS1leGNsPSIxNjE5MSI+TG9hZGluZ+KApjwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXByaWNlLWNlbGwiPjxzcGFuIGNsYXNzPSJ4bTItcHJpY2UtbGFiZWwiPlByaWNlIGluY2wuIFZBVDwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLXZhbHVlIiBpZD0ieG0yLXByaWNlLWluY2wiIGRhdGEtd29vLXByaWNlLWluY2w9IjE2MTkxIj5Mb2FkaW5n4oCmPC9zcGFuPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InhtMi1za3UtbGluZSIgaWQ9InhtMi1za3UtbGluZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+U0tVOiA8c3BhbiBpZD0ieG0yLXNrdS12YWx1ZSI+PC9zcGFuPjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLWN0YS1yb3ciPgo8YSBjbGFzcz0ieG0yLWJ0biB4bTItYnRuLWdob3N0IiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vZXhwcmVzcy1pbnRlcmVzdC8\/Zm9vPXhUb29sJTIwTTIlMjBDTVlLJTIwcHJpbnRpbmclMjBtb2R1bGUiPkdldCBhZHZpY2U8L2E+CjxhIGNsYXNzPSJ4bTItYnRuIHhtMi1idG4tcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly9lc3Ryb2plLnNrL2tvc2lrLz9hZGQtdG8tY2FydD0xODQ5NCI+QWRkIHRvIGNhcnQ8L2E+CjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICBmdW5jdGlvbiBlc3Ryb2plRm9ybWF0RVVSKGNlbnRzKXsKICAgIHZhciBldXIgPSBjZW50cyAvIDEwMDsKICAgIHJldHVybiBldXIudG9Mb2NhbGVTdHJpbmcoJ2VuLUlFJywge21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6Mn0pICsgJyDigqwnOwogIH0KICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSA9IGZ1bmN0aW9uKHByb2R1Y3RJZCwgZXhjbEVsSWQsIGluY2xFbElkLCB2YXRSYXRlUGVyY2VudCl7CiAgICB2YXRSYXRlUGVyY2VudCA9IHZhdFJhdGVQZXJjZW50IHx8IDIzOwogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBpbmNsQ2VudHMgPSBwYXJzZUludChwLnByaWNlcy5wcmljZSwgMTApOwogICAgICAgIHZhciBleGNsQ2VudHMgPSBNYXRoLnJvdW5kKGluY2xDZW50cyAvICgxICsgdmF0UmF0ZVBlcmNlbnQgLyAxMDApKTsKICAgICAgICB2YXIgZXhjbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZXhjbEVsSWQpOwogICAgICAgIHZhciBpbmNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbmNsRWxJZCk7CiAgICAgICAgaWYgKGV4Y2xFbCkgZXhjbEVsLnRleHRDb250ZW50ID0gZXN0cm9qZUZvcm1hdEVVUihleGNsQ2VudHMpOwogICAgICAgIGlmIChpbmNsRWwpIGluY2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoaW5jbENlbnRzKTsKICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICAgIGlmIChpbmNsRWwpIGluY2xFbC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICB9KTsKICB9OwogIHdpbmRvdy5lc3Ryb2plTG9hZFdvb1ByaWNlKDE2MTkxLCAneG0yLXByaWNlLWV4Y2wnLCAneG0yLXByaWNlLWluY2wnKTsKfSkoKTsKPC9zY3JpcHQ+CjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHdpbmRvdy5lc3Ryb2plTG9hZFdvb0F2YWlsYWJpbGl0eSA9IGZ1bmN0aW9uKHByb2R1Y3RJZCwgcGlsbElkLCB0ZXh0SWQsIHNrdUxpbmVJZCwgc2t1VmFsdWVJZCl7CiAgICBmZXRjaCgnL3dwLWpzb24vd2Mvc3RvcmUvdjEvcHJvZHVjdHMvJyArIHByb2R1Y3RJZCkKICAgICAgLnRoZW4oZnVuY3Rpb24ocil7IHJldHVybiByLmpzb24oKTsgfSkKICAgICAgLnRoZW4oZnVuY3Rpb24ocCl7CiAgICAgICAgdmFyIHBpbGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwaWxsSWQpOwogICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGV4dElkKTsKICAgICAgICBpZiAocC5pc19pbl9zdG9jaykgewogICAgICAgICAgaWYgKHBpbGwpIHsKICAgICAgICAgICAgcGlsbC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1mbGV4JzsKICAgICAgICAgICAgaWYgKHRleHQpIHsgdGV4dC50ZXh0Q29udGVudCA9IHAuaXNfb25fYmFja29yZGVyID8gJ0luIHN0b2NrIGF0IHN1cHBsaWVyIOKAkyBkZWxpdmVyeSBpbiA0IHRvIDcgYnVzaW5lc3MgZGF5cycgOiAnSW4gc3RvY2snOyBpZiAocC5pc19vbl9iYWNrb3JkZXIpIHsgcGlsbC5jbGFzc0xpc3QuYWRkKCdpcy1zdXBwbGllcicpOyB9IH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHBpbGwpIHsKICAgICAgICAgICAgcGlsbC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1mbGV4JzsKICAgICAgICAgICAgcGlsbC5jbGFzc0xpc3QuYWRkKCdpcy1vdXQnKTsKICAgICAgICAgICAgaWYgKHRleHQpIHsgdGV4dC50ZXh0Q29udGVudCA9ICdPbiByZXF1ZXN0JzsgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAocC5za3UpIHsKICAgICAgICAgIHZhciBza3VMaW5lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2t1TGluZUlkKTsKICAgICAgICAgIHZhciBza3VWYWx1ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdVZhbHVlSWQpOwogICAgICAgICAgaWYgKHNrdUxpbmUpIHNrdUxpbmUuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICBpZiAoc2t1VmFsdWUpIHNrdVZhbHVlLnRleHRDb250ZW50ID0gcC5za3U7CiAgICAgICAgfQogICAgICB9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oKXt9KTsKICB9OwogIHdpbmRvdy5lc3Ryb2plTG9hZFdvb0F2YWlsYWJpbGl0eSgxNjE5MSwgJ3htMi1zdG9jay1waWxsJywgJ3htMi1zdG9jay10ZXh0JywgJ3htMi1za3UtbGluZScsICd4bTItc2t1LXZhbHVlJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8cCBjbGFzcz0ieG0yLWN0YS1ub3RlIj5EbyB5b3UgaGF2ZSBhIHF1ZXN0aW9uIGFib3V0IHRoZSBwcm9kdWN0IG9yIG5lZWQgdG8gY2hlY2sgd2hldGhlciBpdCBpcyByaWdodCBmb3IgeW91PyBXZSB3aWxsIGJlIGhhcHB5IHRvIGFkdmlzZSB5b3UuPC9wPgoKPGRpdiBjbGFzcz0ieG0yLXRydXN0LXJvdyI+CjxkaXYgY2xhc3M9InhtMi10cnVzdC1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMSIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIj48L3JlY3Q+PHBhdGggZD0iTTE1IDloNGwzIDR2NGgtN3oiPjwvcGF0aD48Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjwvc3ZnPjxoND5EZWxpdmVyeTwvaDQ+PHA+RGVsaXZlcnkgU0sgLyBDWiAvIEVVPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItdHJ1c3QtY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiPjwvcGF0aD48L3N2Zz48aDQ+U2VydmljZSBhbmQgc3VwcG9ydDwvaDQ+PHA+U2VydmljZSBhbmQgc3VwcG9ydDwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXRydXN0LWNhcmQiPjxzdmcgY2xhc3M9ImljIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgMTEuNWE4LjM4IDguMzggMCAwIDEtOC41IDguNSA4LjUgOC41IDAgMCAxLTQtMUwzIDIwbDEtNS41QTguNSA4LjUgMCAxIDEgMjEgMTEuNXoiPjwvcGF0aD48L3N2Zz48aDQ+QWNjZXNzb3JpZXMgYW5kIGFkdmljZTwvaDQ+PHA+UHJlLXB1cmNoYXNlIGFkdmljZTwvcD48L2Rpdj4KPC9kaXY+Cgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLWxpZ2h0Ym94IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ieG0yLWxpZ2h0Ym94LWNsb3NlIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT48L3N2Zz48L2J1dHRvbj4KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ4bTItbGlnaHRib3gtcHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT48L3N2Zz48L2J1dHRvbj4KPGltZyBzcmM9IiIgYWx0PSIiPgo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InhtMi1saWdodGJveC1uZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGltYWdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI5IDE4IDE1IDEyIDkgNiI+PC9wb2x5bGluZT48L3N2Zz48L2J1dHRvbj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24iPjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uLWhlYWQgY2VudGVyIj48ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+QXBwbGljYXRpb25zPC9kaXY+PGgyIGNsYXNzPSJ4bTItaDIiPldoYXQgdGhlIENNWUsgcHJpbnRpbmcgbW9kdWxlIGlzIGdvb2QgZm9yPC9oMj48cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQ01ZSyBtb2R1bGUgaXMgbm90IGEgbGFzZXIgaGVhZCDigJMgaXQgaXMgdXNlZCBleGNsdXNpdmVseSBmb3IgaW5ramV0IHByaW50aW5nLiBUaGUgcHJpbnRlZCBkZXNpZ24gaXMgY3V0IGJ5IHRoZSBNMiBkaW9kZSBsYXNlciBoZWFkIGFzIHBhcnQgb2YgdGhlIFByaW50ICZhbXA7IEN1dCBmdW5jdGlvbi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLWNhcC1ncmlkIj48ZGl2IGNsYXNzPSJ4bTItY2FwLWNhcmQiPjxpbWcgY2xhc3M9InhtMi1jYXAtaW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaWtsYWR5LXRsYWNlLmpwZyIgYWx0PSJGdWxsLWNvbG91ciBwcmludGluZyBvbiBzdGlja2VycywgY2FyZHMgYW5kIGdpZnRzIHdpdGggdGhlIENNWUsgbW9kdWxlIiBsb2FkaW5nPSJsYXp5Ij48ZGl2IGNsYXNzPSJ4bTItY2FwLWJvZHkiPjxoMz5TdGlja2VycywgY2FyZHMgYW5kIGdpZnRzPC9oMz48cD5GdWxsLWNvbG91ciBwcmludGluZyBvbiBzdGlja2VycywgZ2lmdCBjYXJkcywgYm9va21hcmtzLCBtYWduZXRzIGFuZCBuYXBraW5zIGRpcmVjdGx5IGZyb20gdGhlIHhUb29sIE0yLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWNhcmQiPjxpbWcgY2xhc3M9InhtMi1jYXAtaW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaW50LWFuZC1jdXQuanBnIiBhbHQ9IlByaW50aW5nIGFuZCBzdWJzZXF1ZW50IGN1dHRpbmcgaW4gb25lIG1hY2hpbmUg4oCTIFByaW50ICZhbXA7IEN1dCIgbG9hZGluZz0ibGF6eSI+PGRpdiBjbGFzcz0ieG0yLWNhcC1ib2R5Ij48aDM+UHJpbnRpbmcgYW5kIGN1dHRpbmcgaW4gb25lIHN0ZXA8L2gzPjxwPlRoZSBtb2R1bGUgZmlyc3QgcHJpbnRzIHRoZSBjb2xvdXIgZGVzaWduLCBhbmQgdGhlIE0yIGRpb2RlIGxhc2VyIHRoZW4gY3V0cyBpdCBvdXQgcHJlY2lzZWx5IGFuZCBhdXRvbWF0aWNhbGx5IOKAkyB3aXRob3V0IG1hbnVhbCBhbGlnbm1lbnQgYW5kIHdpdGhvdXQgYW5vdGhlciBtYWNoaW5lLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWNhcmQiPjxpbWcgY2xhc3M9InhtMi1jYXAtaW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLWt2YWxpdGEtdGxhY2UuanBnIiBhbHQ9IlJpY2gsIGFjY3VyYXRlIGNvbG91cnMgd2hlbiBwcmludGluZyBwaG90b3Mgd2l0aCB0aGUgQ01ZSyBtb2R1bGUiIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPlJpY2ggY29sb3VycyBldmVuIG9uIHBob3RvczwvaDM+PHA+Q29tcGFyZWQgd2l0aCB0aGUgb2xkZXIgQ01ZIHZlcnNpb24sIHRoZSBpbXByb3ZlZCBDTVlLIG1vZHVsZSBkZWxpdmVycyBtb3JlIHZpdmlkIGFuZCBhY2N1cmF0ZSBjb2xvdXJzIHdoZW4gcHJpbnRpbmcgcGhvdG9zIGFuZCBjb2xvdXIgZGVzaWducy48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24iPjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uLWhlYWQgY2VudGVyIj48ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+Q29tcGF0aWJpbGl0eTwvZGl2PjxoMiBjbGFzcz0ieG0yLWgyIj5Db21wYXRpYmxlIHhUb29sIG1hY2hpbmVzPC9oMj48cCBjbGFzcz0ieG0yLWludHJvIj5BY2NvcmRpbmcgdG8gb2ZmaWNpYWwgeFRvb2wgZG9jdW1lbnRhdGlvbiwgdGhlIENNWUsgcHJpbnRpbmcgbW9kdWxlIGlzIGRlc2lnbmVkIGV4Y2x1c2l2ZWx5IGZvciB0aGUgeFRvb2wgTTIuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1jYXAtZ3JpZCI+PGRpdiBjbGFzcz0ieG0yLWNhcC1jYXJkIj48aW1nIGNsYXNzPSJ4bTItY2FwLWltZyB4bTItY2FwLWltZy0tbWFjaGluZSIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2xfbTJfMjB3X21haW4ud2VicCIgYWx0PSJ4VG9vbCBNMiIgbG9hZGluZz0ibGF6eSI+PGRpdiBjbGFzcz0ieG0yLWNhcC1ib2R5Ij48aDM+eFRvb2wgTTI8L2gzPjxwPlRoZSBwcmludCBoZWFkIGZpdHMgZGlyZWN0bHkgaW50byB0aGUgeFRvb2wgTTI7IHRoZSBwcmludGVkIGRlc2lnbiBpcyB0aGVuIGN1dCBieSB0aGUgTTIgZGlvZGUgbGFzZXIgaGVhZC48L3A+PGEgY2xhc3M9InhtMi1idG4geG0yLWNhcC1saW5rIHhtMi1idG4tcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly9lc3Ryb2plLnNrL2VuL3h0b29sL3h0b29sLW0yLTIwdy1zdGFuZGFsb25lLyI+VmlldyBwcm9kdWN0PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uIHhtMi1zZWN0aW9uLXNvZnQiPgo8ZGl2IGNsYXNzPSJ4bTItY29udGFpbmVyIj4KPGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24taGVhZCI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5UZWNobmljYWwgc3BlY2lmaWNhdGlvbnM8L2Rpdj4KPGgyIGNsYXNzPSJ4bTItaDIiPnhUb29sIE0yIENNWUsgcHJpbnRpbmcgbW9kdWxlIOKAkyB0ZWNobmljYWwgZGF0YTwvaDI+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItc3BlYy1jYXJkIj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+TW9kdWxlIHR5cGU8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj5DTVlLIGlua2pldCBwcmludCBoZWFkIChpbnRlcmNoYW5nZWFibGUgbW9kdWxlKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+Q29sb3VyIHN5c3RlbTwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPkNNWUsgKGN5YW4sIG1hZ2VudGEsIHllbGxvdywgYmxhY2spPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5QcmludGluZyBhcmVhPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+MzAwIMOXIDI5NCBtbTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+Q29tcGF0aWJpbGl0eTwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPnhUb29sIE0yIG9ubHk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPldvcmtmbG93PC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+cHJpbnRpbmcgKENNWUsgbW9kdWxlKSArIGN1dHRpbmcgKE0yIGRpb2RlIGxhc2VyIGhlYWQpIOKAkyBQcmludCAmYW1wOyBDdXQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPkNhcnRyaWRnZSBsaWZlPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+YXBwcm94LiA0MDAgcGFnZXMgYXQgNSUgY292ZXJhZ2UgKElTTy9JRUMgMjQ3MTIpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5DYXJ0cmlkZ2UgcmVwbGFjZW1lbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj50aGUgY2FydHJpZGdlIGNhbm5vdCBiZSByZWZpbGxlZDsgaXQgaXMgcmVwbGFjZWQgd2l0aCBhIG5ldyBvbmU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPlN1aXRhYmxlIHByaW50aW5nIG1hdGVyaWFsczwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPnBhcGVyLCBjYXJkYm9hcmQsIHN0aWNrZXIgcGFwZXIsIHRleHRpbGVzLCBmZWx0LCBsZWF0aGVyPC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24geG0yLXNlY3Rpb24tc29mdCI+PGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5XaGF0J3MgaW4gdGhlIGJveDwvZGl2Pgo8aDIgY2xhc3M9InhtMi1oMiI+V2hhdCdzIGluIHRoZSBib3g8L2gyPgo8cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQ01ZSyBwcmludGluZyBtb2R1bGUgd2l0aCBhbiBpbmsgY2FydHJpZGdlIGFuZCB0aGUgYWNjZXNzb3JpZXMgbmVlZGVkIGZvciBpbnN0YWxsYXRpb24gYW5kIGNhbGlicmF0aW9uLjwvcD48ZGl2IGNsYXNzPSJ4bTItcGtnLWdyaWQiPjxkaXYgY2xhc3M9InhtMi1wa2ctY2FyZCI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbF9tMl9jbXlrX21vZHVsZS0xLmpwZyIgYWx0PSJ4VG9vbCBNMiBDTVlLIHByaW50aW5nIG1vZHVsZSIgbG9hZGluZz0ibGF6eSIgY2xhc3M9InhtMi1wa2ctaW1nIj48c3Bhbj54VG9vbCBNMiBDTVlLIHByaW50aW5nIG1vZHVsZTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItcGtnLWNhcmQiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtbTItY215ay1vYnNhaC1iYWxlbmlhLmpwZyIgYWx0PSJDTVlLIG1vZHVsZSBwYWNrYWdlIGNvbnRlbnRzIOKAkyBjYXJ0cmlkZ2UsIGNhbGlicmF0aW9uIGNhcmQgYW5kIGFjY2Vzc29yaWVzIiBsb2FkaW5nPSJsYXp5IiBjbGFzcz0ieG0yLXBrZy1pbWciPjxzcGFuPkluayBjYXJ0cmlkZ2UsIGNhbGlicmF0aW9uIGNhcmQgYW5kIGFjY2Vzc29yaWVzPC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIGNlbnRlciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5GQVE8L2Rpdj4KPGgyIGNsYXNzPSJ4bTItaDIiPlRoZSBxdWVzdGlvbnMgeW91IGFzayB1cyBtb3N0IG9mdGVuPC9oMj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi1mYXEiPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PklzIHRoZSBDTVlLIG1vZHVsZSBhIGxhc2VyPzwvc3VtbWFyeT48cD5Oby4gVGhlIENNWUsgbW9kdWxlIGlzIGV4Y2x1c2l2ZWx5IGEgcHJpbnQgaGVhZC4gVGhlIHByaW50ZWQgZGVzaWduIGlzIGN1dCBieSB0aGUgb3JpZ2luYWwgTTIgZGlvZGUgbGFzZXIgaGVhZCBhcyBwYXJ0IG9mIHRoZSBQcmludCAmYW1wOyBDdXQgZnVuY3Rpb24uPC9wPjwvZGV0YWlscz48ZGV0YWlscyBjbGFzcz0ieG0yLWZhcS1pdGVtIj48c3VtbWFyeT5XaGljaCBtYXRlcmlhbHMgY2FuIGl0IHByaW50IG9uPzwvc3VtbWFyeT48cD5BY2NvcmRpbmcgdG8gb2ZmaWNpYWwgeFRvb2wgZG9jdW1lbnRhdGlvbiwgdGhlIG1vZHVsZSBwcmludHMgb24gcGFwZXIsIGNhcmRib2FyZCwgc3RpY2tlciBwYXBlciwgdGV4dGlsZXMsIGZlbHQgYW5kIGxlYXRoZXI7IGl0IGNhbm5vdCBwcmludCBkaXJlY3RseSBvbiBkZW5zZS9zbW9vdGggc3VyZmFjZXMgc3VjaCBhcyBtZXRhbCwgZ2xhc3Mgb3IgY2VyYW1pY3Mgd2l0aG91dCBhIHNwZWNpYWwgc3VyZmFjZSB0cmVhdG1lbnQuPC9wPjwvZGV0YWlscz48ZGV0YWlscyBjbGFzcz0ieG0yLWZhcS1pdGVtIj48c3VtbWFyeT5Ib3cgbG9uZyBkb2VzIHRoZSBpbmsgY2FydHJpZGdlIGxhc3Q\/PC9zdW1tYXJ5PjxwPkF0IDUlIGNvdmVyYWdlIGFjY29yZGluZyB0byBJU08vSUVDIDI0NzEyLCBvbmUgY2FydHJpZGdlIGxhc3RzIGFwcHJveGltYXRlbHkgNDAwIHBhZ2VzOyBhY3R1YWwgbGlmZSBkZXBlbmRzIG9uIGhvdyBvZnRlbiBpdCBpcyB1c2VkLjwvcD48L2RldGFpbHM+PGRldGFpbHMgY2xhc3M9InhtMi1mYXEtaXRlbSI+PHN1bW1hcnk+SXMgdGhlIG1vZHVsZSBjb21wYXRpYmxlIHdpdGggb3RoZXIgeFRvb2wgbWFjaGluZXM\/PC9zdW1tYXJ5PjxwPkFjY29yZGluZyB0byBvZmZpY2lhbCB4VG9vbCBkb2N1bWVudGF0aW9uLCB0aGUgQ01ZSyBwcmludGluZyBtb2R1bGUgaXMgZGVzaWduZWQgZXhjbHVzaXZlbHkgZm9yIHRoZSB4VG9vbCBNMi48L3A+PC9kZXRhaWxzPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PkNhbiB0aGUgY2FydHJpZGdlIGJlIHJlZmlsbGVkPzwvc3VtbWFyeT48cD5ObywgdGhlIGluayBjYW5ub3QgYmUgcmVmaWxsZWQg4oCTIG9uY2UgZW1wdHksIHRoZSB3aG9sZSBjYXJ0cmlkZ2UgaXMgcmVwbGFjZWQgd2l0aCBhIG5ldyBvbmUuPC9wPjwvZGV0YWlscz48L2Rpdj4KPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uIj4KPGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1kYXJrLWNhcmQiPgo8ZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+U2hvd3Jvb20gS2\/FocWlYW55IG5hZCBUdXJjb208L2Rpdj4KPGgyPlRyeSB0aGUgQ01ZSyBwcmludGluZyBtb2R1bGUgbGl2ZTwvaDI+CjxwPkNvbG91ciBwcmludGluZyBhbmQgUHJpbnQgJmFtcDsgQ3V0IG5lZWQgdG8gYmUgc2VlbiBsaXZlIOKAkyBib29rIGEgZGVtbyBvZiB0aGUgQ01ZSyBtb2R1bGUgaW4gb3VyIHNob3dyb29tIGluIEtvxaHFpWFueSBuYWQgVHVyY29tIGRpcmVjdGx5IG9uIHRoZSB4VG9vbCBNMi48L3A+CjxwIGNsYXNzPSJ4bTItZW1waCI+QnJpbmcgeW91ciBvd24gaXRlbSDigJMgd2Ugd2lsbCBiZSBoYXBweSB0byB0ZXN0IGl0IHdpdGggeW91LjwvcD4KPGRpdiBjbGFzcz0ieG0yLWRhcmstY3RhLXJvdyI+CjxhIGNsYXNzPSJ4bTItYnRuIHhtMi1idG4tc29saWQtb25EYXJrIiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vYm9vay1hLXNob3dyb29tLXZpc2l0LyI+Qm9vayBhIGRlbW88L2E+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLWRhcmstdmlzdWFsIj4KPGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9zaG93cm9vbS1lc3Ryb2plLW1vbm9yLXh0b29sLndlYnAiIGFsdD0iZVN0cm9qZSBzaG93cm9vbSBpbiBLb8WhxaVhbnkgbmFkIFR1cmNvbSDigJMgTU9OT1IgYW5kIHhUb29sIGxhc2VyIG1hY2hpbmVzIiBzdHlsZT0ib2JqZWN0LXBvc2l0aW9uOmNlbnRlciA0MCU7Ij4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgZnVuY3Rpb24gZXN0cm9qZUZvcm1hdEVVUihjZW50cyl7CiAgICB2YXIgZXVyID0gY2VudHMgLyAxMDA7CiAgICByZXR1cm4gZXVyLnRvTG9jYWxlU3RyaW5nKCdlbi1JRScsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MiwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KSArICcg4oKsJzsKICB9CiAgd2luZG93LmVzdHJvamVMb2FkV29vUHJpY2UgPSBmdW5jdGlvbihwcm9kdWN0SWQsIGV4Y2xFbElkLCBpbmNsRWxJZCwgdmF0UmF0ZVBlcmNlbnQpewogICAgdmF0UmF0ZVBlcmNlbnQgPSB2YXRSYXRlUGVyY2VudCB8fCAyMzsKICAgIGZldGNoKCcvd3AtanNvbi93Yy9zdG9yZS92MS9wcm9kdWN0cy8nICsgcHJvZHVjdElkKQogICAgICAudGhlbihmdW5jdGlvbihyKXsgcmV0dXJuIHIuanNvbigpOyB9KQogICAgICAudGhlbihmdW5jdGlvbihwKXsKICAgICAgICB2YXIgaW5jbENlbnRzID0gcGFyc2VJbnQocC5wcmljZXMucHJpY2UsIDEwKTsKICAgICAgICB2YXIgZXhjbENlbnRzID0gTWF0aC5yb3VuZChpbmNsQ2VudHMgLyAoMSArIHZhdFJhdGVQZXJjZW50IC8gMTAwKSk7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoZXhjbENlbnRzKTsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSBlc3Ryb2plRm9ybWF0RVVSKGluY2xDZW50cyk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpewogICAgICAgIHZhciBleGNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChleGNsRWxJZCk7CiAgICAgICAgdmFyIGluY2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluY2xFbElkKTsKICAgICAgICBpZiAoZXhjbEVsKSBleGNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgfSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSgxNjE5MSwgJ3htMi1wcmljZS1leGNsJywgJ3htMi1wcmljZS1pbmNsJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkgPSBmdW5jdGlvbihwcm9kdWN0SWQsIHBpbGxJZCwgdGV4dElkLCBza3VMaW5lSWQsIHNrdVZhbHVlSWQpewogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBwaWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGlsbElkKTsKICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRleHRJZCk7CiAgICAgICAgaWYgKHAuaXNfaW5fc3RvY2spIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSBwLmlzX29uX2JhY2tvcmRlciA\/ICdJbiBzdG9jayBhdCBzdXBwbGllciDigJMgZGVsaXZlcnkgaW4gNCB0byA3IGJ1c2luZXNzIGRheXMnIDogJ0luIHN0b2NrJzsgaWYgKHAuaXNfb25fYmFja29yZGVyKSB7IHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtc3VwcGxpZXInKTsgfSB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtb3V0Jyk7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSAnT24gcmVxdWVzdCc7IH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHAuc2t1KSB7CiAgICAgICAgICB2YXIgc2t1TGluZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdUxpbmVJZCk7CiAgICAgICAgICB2YXIgc2t1VmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChza3VWYWx1ZUlkKTsKICAgICAgICAgIGlmIChza3VMaW5lKSBza3VMaW5lLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgaWYgKHNrdVZhbHVlKSBza3VWYWx1ZS50ZXh0Q29udGVudCA9IHAuc2t1OwogICAgICAgIH0KICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkoMTYxOTEsICd4bTItc3RvY2stcGlsbCcsICd4bTItc3RvY2stdGV4dCcsICd4bTItc2t1LWxpbmUnLCAneG0yLXNrdS12YWx1ZScpOwp9KSgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CnZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmVzdHJvamUteHRvb2wtbTInKTsKaWYoIXJvb3QpIHJldHVybjsKdmFyIGltYWdlcyA9IFsKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sX20yX2NteWtfbW9kdWxlLTEuanBnIiwgYWx0OiAieFRvb2wgTTIgQ01ZSyBwcmludGluZyBtb2R1bGUifSwKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLW0yLWNteWstcHJpbnQtYW5kLWN1dC5qcGciLCBhbHQ6ICJQcmludCAmIEN1dCDigJMgcHJpbnRpbmcgYW5kIGN1dHRpbmcgaW4gb25lIHhUb29sIE0yIG1hY2hpbmUifSwKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLW0yLWNteWsta3ZhbGl0YS10bGFjZS5qcGciLCBhbHQ6ICJQcmludCBxdWFsaXR5IGNvbXBhcmlzb24gb2YgdGhlIENNWSBhbmQgQ01ZSyBtb2R1bGVzIn0sCiAge3NyYzogImh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaWtsYWR5LXRsYWNlLmpwZyIsIGFsdDogIkNNWUsgbW9kdWxlIGNvbG91ciBwcmludGluZyBleGFtcGxlcyDigJMgc3RpY2tlcnMsIGNhcmRzLCBtYWduZXRzIn0KXQogIHZhciBtYWluSW1nID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcjeG0yLW1haW4taW1nJyk7CnZhciB0aHVtYnMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy54bTItdGh1bWInKTsKdmFyIHpvb21CdG4gPSByb290LnF1ZXJ5U2VsZWN0b3IoJy54bTItem9vbS1idG4nKTsKdmFyIG1haW5XcmFwID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcjeG0yLW1haW4td3JhcCcpOwp2YXIgbGlnaHRib3ggPSByb290LnF1ZXJ5U2VsZWN0b3IoJy54bTItbGlnaHRib3gnKTsKdmFyIGxiSW1nID0gbGlnaHRib3gucXVlcnlTZWxlY3RvcignaW1nJyk7CnZhciBsYkNsb3NlID0gbGlnaHRib3gucXVlcnlTZWxlY3RvcignLnhtMi1saWdodGJveC1jbG9zZScpOwp2YXIgbGJQcmV2ID0gbGlnaHRib3gucXVlcnlTZWxlY3RvcignLnhtMi1saWdodGJveC1wcmV2Jyk7CnZhciBsYk5leHQgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCcueG0yLWxpZ2h0Ym94LW5leHQnKTsKdmFyIGN1cnJlbnQgPSAwOwoKZnVuY3Rpb24gc2V0TWFpbihpKXsKY3VycmVudCA9IGk7Cm1haW5JbWcuc3JjID0gaW1hZ2VzW2ldLnNyYzsKbWFpbkltZy5hbHQgPSBpbWFnZXNbaV0uYWx0Owp0aHVtYnMuZm9yRWFjaChmdW5jdGlvbih0LGlkeCl7IHQuY2xhc3NMaXN0LnRvZ2dsZSgnaXMtYWN0aXZlJywgaWR4PT09aSk7IH0pOwp9CnRodW1icy5mb3JFYWNoKGZ1bmN0aW9uKHQsaWR4KXsgdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHNldE1haW4oaWR4KTsgfSk7IH0pOwoKZnVuY3Rpb24gb3BlbkxpZ2h0Ym94KGkpewpjdXJyZW50ID0gaTsKbGJJbWcuc3JjID0gaW1hZ2VzW2ldLnNyYzsKbGJJbWcuYWx0ID0gaW1hZ2VzW2ldLmFsdDsKbGlnaHRib3guY2xhc3NMaXN0LmFkZCgnaXMtb3BlbicpOwpsaWdodGJveC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywnZmFsc2UnKTsKfQpmdW5jdGlvbiBjbG9zZUxpZ2h0Ym94KCl7CmxpZ2h0Ym94LmNsYXNzTGlzdC5yZW1vdmUoJ2lzLW9wZW4nKTsKbGlnaHRib3guc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ3RydWUnKTsKfQpmdW5jdGlvbiBzaG93UmVsKGRlbHRhKXsKY3VycmVudCA9IChjdXJyZW50ICsgZGVsdGEgKyBpbWFnZXMubGVuZ3RoKSAlIGltYWdlcy5sZW5ndGg7CmxiSW1nLnNyYyA9IGltYWdlc1tjdXJyZW50XS5zcmM7CmxiSW1nLmFsdCA9IGltYWdlc1tjdXJyZW50XS5hbHQ7CnNldE1haW4oY3VycmVudCk7Cn0KaWYoem9vbUJ0bikgem9vbUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IG9wZW5MaWdodGJveChjdXJyZW50KTsgfSk7CmlmKG1haW5XcmFwKSBtYWluV3JhcC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IG9wZW5MaWdodGJveChjdXJyZW50KTsgfSk7CmxiQ2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZUxpZ2h0Ym94KTsKbGJQcmV2LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgc2hvd1JlbCgtMSk7IH0pOwpsYk5leHQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBzaG93UmVsKDEpOyB9KTsKbGlnaHRib3guYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsgaWYoZS50YXJnZXQgPT09IGxpZ2h0Ym94KSBjbG9zZUxpZ2h0Ym94KCk7IH0pOwpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSl7CmlmKCFsaWdodGJveC5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLW9wZW4nKSkgcmV0dXJuOwppZihlLmtleSA9PT0gJ0VzY2FwZScpIGNsb3NlTGlnaHRib3goKTsKaWYoZS5rZXkgPT09ICdBcnJvd0xlZnQnKSBzaG93UmVsKC0xKTsKaWYoZS5rZXkgPT09ICdBcnJvd1JpZ2h0Jykgc2hvd1JlbCgxKTsKfSk7Cgp2YXIgZmFxSXRlbXMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy54bTItZmFxLWl0ZW0nKTsKZmFxSXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdGVtKXsKaXRlbS5hZGRFdmVudExpc3RlbmVyKCd0b2dnbGUnLCBmdW5jdGlvbigpewppZihpdGVtLm9wZW4pewpmYXFJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKG90aGVyKXsgaWYob3RoZXIhPT1pdGVtKSBvdGhlci5vcGVuID0gZmFsc2U7IH0pOwp9Cn0pOwp9KTsKfSkoKTsKPC9zY3JpcHQ+PC9kaXY+[\/vc_raw_html]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[vc_raw_html]PGRpdiBjbGFzcz0iZXN0cm9qZS14dG9vbC1tMiBwb3N0aWQtMTgyODUiPjxzdHlsZT4KYm9keS5wb3N0aWQtMTgyODUgLnRpdGxlc2xlZnRjcnVtYnNyaWdodCxib2R5LnBvc3RpZC0xODI4NSAubWV0YXMtY29udGFpbmVyLGJvZHkucG9zdGlkLTE4Mjg1IC5wYWdlVGl0bGUsYm9keS5wb3N0aWQtMTgyODUgLnBhZ2VfdGl0bGV7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQpib2R5LnBvc3RpZC0xODI4NSAuY29udGVudF9hZnRlcl9oZWFkZXJ7cGFkZGluZy10b3A6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyODUgLnNpbmdsZS1leHRyYXN7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQoKLnBvc3RpZC0xODI4NSAueG0yLXNwbGl0LWNhcmQtLWNhbSAueG0yLWNhbS1mZWF0dXJle2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1jYW0tbnVte3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGxpdC1jYXJkLS1jYW0gLnhtMi1zcGxpdC1pbWd7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjt9Cjwvc3R5bGU+CjxzdHlsZT4KLmVzdHJvamUteHRvb2wtbTJ7LS1vcmFuZ2U6I2Q5ODIwMDstLW9yYW5nZS1kYXJrOiNiOTY1MDA7LS1vcmFuZ2Utc29mdDojZjFhYTJiOy0taW5rOiMxNjE4MWQ7LS1tdXRlZDojNjY2ZDc4Oy0tbGluZTojZThlYmVmOy0tc29mdDojZjRmNmY4Oy0tZGFyazojMTExMzE4Oy0tcmFkaXVzLWxnOjIycHg7LS1yYWRpdXMtbWQ6MTZweDstLWNhcmQtc2hhZG93OjAgMThweCAzOHB4IHJnYmEoMjIsMjQsMjksLjA4KTtmb250LWZhbWlseTppbmhlcml0O2NvbG9yOnZhcigtLWluayk7fQouZXN0cm9qZS14dG9vbC1tMiAqe2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci5lc3Ryb2plLXh0b29sLW0yIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdDt9Ci5lc3Ryb2plLXh0b29sLW0yIGltZ3ttYXgtd2lkdGg6MTAwJTt9Ci54bTItY29udGFpbmVye21heC13aWR0aDoxMTgwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjAgMThweDt9Ci54bTItc2VjdGlvbntwYWRkaW5nOjM0cHggMDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO30KLnhtMi1zZWN0aW9uLXNvZnR7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMDhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luLWJvdHRvbToxMHB4O30KLnhtMi1oMntmb250LXNpemU6MzJweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE0cHg7bGluZS1oZWlnaHQ6MS4xNTt9Ci54bTItaW50cm97Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNjttYXgtd2lkdGg6NzIwcHg7bWFyZ2luOjAgMCAyMnB4O30KLnhtMi1zZWN0aW9uLWhlYWR7dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1ib3R0b206MjJweDt9Ci54bTItc2VjdGlvbi1oZWFkLmNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO30KLnhtMi1zZWN0aW9uLWhlYWQuY2VudGVyIC54bTItaW50cm97bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt9CgoueG0yLWhlcm8td3JhcHtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO3BhZGRpbmc6MjhweCAwIDA7fQoueG0yLWhlcm8tY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjQwcHg7fQoueG0yLWFjY2VudC1iYXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjVweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSx2YXIoLS1vcmFuZ2UtZGFyaykpO30KLnhtMi1oZXJvLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo0MHB4O21hcmdpbi10b3A6OHB4O30KLnhtMi1nYWxsZXJ5LC54bTItaGVyby1pbmZve21pbi13aWR0aDowO30KLnhtMi1nYWxsZXJ5LW1haW57cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2ZmZjthc3BlY3QtcmF0aW86NC8zO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6em9vbS1pbjt9Ci54bTItZ2FsbGVyeS1tYWluIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO30KLnhtMi16b29tLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtyaWdodDoxNHB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKDE3LDE5LDI0LC43Mik7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7fQoueG0yLXpvb20tYnRuIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O30KLnhtMi10aHVtYnN7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi10b3A6MTJweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItdGh1bWJ7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1saW5lKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjt9Ci54bTItdGh1bWIgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtkaXNwbGF5OmJsb2NrO30KLnhtMi10aHVtYi5pcy1hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLWhlcm8taW5mb3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fQoueG0yLXRpdGxle2ZvbnQtc2l6ZTozNHB4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMTU7fQoueG0yLXN1YnRpdGxle2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo2MDA7bWFyZ2luOjhweCAwIDE0cHg7fQoueG0yLWxlYWR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjttYXJnaW46MCAwIDIycHg7fQoueG0yLXF1aWNrZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE0cHg7bWFyZ2luLWJvdHRvbToyMHB4O30KLnhtMi1xdWljay1jYXJke2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO3BhZGRpbmc6MTRweCAxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4O30KLnhtMi1xdWljay1jYXJkIC5pY3t3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2ZsZXg6bm9uZTtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbi10b3A6MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtbGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1tdXRlZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNWVtO21hcmdpbi1ib3R0b206MnB4O30KLnhtMi1xdWljay1jYXJkIC50eHQtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcGlsbC1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O21hcmdpbi1ib3R0b206MThweDtmbGV4LXdyYXA6d3JhcDt9Ci54bTItcGlsbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDt9Ci54bTItcGlsbC1zdG9ja3tiYWNrZ3JvdW5kOiNlOWY3ZWU7Y29sb3I6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zdG9jayAuZG90e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFmOWQ0Yzt9Ci54bTItcGlsbC1zaGlwe2JhY2tncm91bmQ6I2ZkZjFlMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7fQoueG0yLXBpbGwgc3Zne3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7fQoueG0yLXByaWNlLWJveHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MjBweDt9Ci54bTItcHJpY2UtY2VsbHtwYWRkaW5nOjE0cHggMThweDt9Ci54bTItcHJpY2UtY2VsbCArIC54bTItcHJpY2UtY2VsbHtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tbGluZSk7fQoueG0yLXByaWNlLWxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDVlbTttYXJnaW4tYm90dG9tOjRweDt9Ci54bTItcHJpY2UtdmFsdWV7ZGlzcGxheTpibG9jaztmb250LXNpemU6MjNweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItcHJpY2UtdmFsdWUgc21hbGx7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLW11dGVkKTt9Ci54bTItc2t1LWxpbmV7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjotMTBweCAwIDE2cHg7fQoueG0yLWN0YS1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206OHB4O30KLnhtMi1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2ZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTVweDtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW9yYW5nZSk7dHJhbnNpdGlvbjouMnM7fQoueG0yLWJ0bi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZiAhaW1wb3J0YW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93OjAgMTJweCAyMnB4IHJnYmEoMjE3LDEzMCwwLC4yNCk7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi4wMWVtO3BhZGRpbmc6MTVweCAzMnB4O30KLnhtMi1idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZS1kYXJrKTtjb2xvcjojZmZmICFpbXBvcnRhbnQ7fQoueG0yLWJ0bi1naG9zdHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6dmFyKC0tb3JhbmdlLWRhcmspO2JvcmRlci1jb2xvcjp2YXIoLS1vcmFuZ2UpO30KLnhtMi1idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Ci54bTItYnRuLWdob3N0W2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi42O2N1cnNvcjpub3QtYWxsb3dlZDt9Ci54bTItYnRuLXNvb257Zm9udC1zaXplOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtjb2xvcjp2YXIoLS1tdXRlZCk7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bWFyZ2luLWxlZnQ6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDRlbTt9Ci54bTItY3RhLW5vdGV7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luOjAgMCAxNXB4O30KLnhtMi10cnVzdC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNHB4O21hcmdpbi10b3A6MjhweDtwYWRkaW5nLXRvcDoyOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi10cnVzdC1jYXJke3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MjBweCAxNnB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMTBweCAyNHB4IHJnYmEoMjIsMjQsMjksLjA1KTt9Ci54bTItdHJ1c3QtY2FyZCAuaWN7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtjb2xvcjp2YXIoLS1vcmFuZ2UpO21hcmdpbjowIGF1dG8gMTBweDt9Ci54bTItdHJ1c3QtY2FyZCBoNHtmb250LXNpemU6MTMuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjowIDAgNnB4O30KLnhtMi10cnVzdC1jYXJkIHB7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNTt9CgoueG0yLWRhcmstY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Y29sb3I6I2YzZjRmNjtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjFmciAuOWZyO2dhcDowO2FsaWduLWl0ZW1zOnN0cmV0Y2g7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmU7fQoueG0yLWRhcmstY2FyZCA+IGRpdjpmaXJzdC1jaGlsZHtwYWRkaW5nOjQ4cHg7fQoueG0yLWRhcmstY2FyZDpob3ZlciwueG0yLWRhcmstY2FyZDpob3ZlciAqLC54bTItZGFyay1jYXJkICp7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkICp7Y29sb3I6aW5oZXJpdDt9Ci54bTItZGFyay1jYXJkIC54bTItZXllYnJvd3tjb2xvcjp2YXIoLS1vcmFuZ2Utc29mdCkgIWltcG9ydGFudDt9Ci54bTItZGFyay1jYXJkIGgye2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXNpemU6MzBweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCAxNnB4O2xpbmUtaGVpZ2h0OjEuMjt9Ci54bTItZGFyay1jYXJkIHB7Y29sb3I6I2Q1ZDhkZSAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1kYXJrLWNhcmQgLnhtMi1lbXBoe2NvbG9yOiNmZmYgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDA7fQoueG0yLWRhcmstdmlzdWFse3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjttaW4taGVpZ2h0OjI2MHB4O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kOnZhcigtLWRhcmspO30KLnhtMi1kYXJrLXZpc3VhbDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1kYXJrKSAwJSxyZ2JhKDE3LDE5LDI0LC44OCkgMTYlLHJnYmEoMTcsMTksMjQsLjQyKSAzNCUscmdiYSgxNywxOSwyNCwwKSA2MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxO30KLnhtMi1kYXJrLXZpc3VhbCBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWRhcmstdmlzdWFsIC54bTItdmlzdWFsLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTRweDtsZWZ0OjE0cHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41NSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtwYWRkaW5nOjZweCAxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAyZW07fQoueG0yLWRhcmstY3RhLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjE0cHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLXRvcDo4cHg7fQoueG0yLWJ0bi1saWdodHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWxpZ2h0OmhvdmVye2JvcmRlci1jb2xvcjojZmZmO30KLnhtMi1idG4tc29saWQtb25EYXJre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1vcmFuZ2Utc29mdCksdmFyKC0tb3JhbmdlKSk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzoxNXB4IDMycHg7Zm9udC13ZWlnaHQ6ODAwO30KLnhtMi1idG4tc29saWQtb25EYXJrOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tb3JhbmdlLWRhcmspO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJre2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDgpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjM1KTt9Ci54bTItYnRuLWdob3N0LW9uRGFyazpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjE2KTtib3JkZXItY29sb3I6I2ZmZjtjb2xvcjojZmZmO30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrW2FyaWEtZGlzYWJsZWQ9InRydWUiXXtvcGFjaXR5Oi43O30KLnhtMi1idG4tZ2hvc3Qtb25EYXJrIC54bTItYnRuLXNvb257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xNSk7Y29sb3I6I2ZmZjt9CgoueG0yLXZzLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoyNHB4O30KLnhtMi12cy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjI4cHg7fQoueG0yLXZzLWNhcmQgaDN7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6ODAwO21hcmdpbjowIDAgNnB4O2NvbG9yOnZhcigtLWluayk7fQoueG0yLXZzLWNhcmQgLnhtMi12cy1zdWJ7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCAwIDE2cHg7fQoueG0yLXZzLWNhcmQgdWx7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O30ueG0yLXZzLWNhcmQgdWwgbGl7bGlzdC1zdHlsZS10eXBlOm5vbmUgIWltcG9ydGFudDt9Ci54bTItdnMtY2FyZCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MjRweDttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjEuNTt9Ci54bTItdnMtY2FyZCBsaTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjdweDt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7fQoueG0yLXZzLWNhcmQuaXMteHRvb2x7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZS1zb2Z0KTt9CgovKiA9PT09PSBSZXZpc2lvbiAjNzogdHlwb2dyYXBoeSBoaWVyYXJjaHkgaW5zaWRlICJWeWJlciBsYXNlcmEiIGNvbXBhcmlzb24gYmxvY2sgPT09PT0gKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIC54bTItdnMtc3Vie2ZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MjJweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIGxpe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNlY3Rpb24taGVhZDpoYXMoKyAueG0yLXZzLWdyaWQpIC54bTItaW50cm97Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9CgoueG0yLWNhcC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjJweDt9Ci54bTItY2FwLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTt9Ci54bTItY2FwLWltZ3t3aWR0aDoxMDAlO2hlaWdodDoyMjBweDtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhcC1ib2R5e3BhZGRpbmc6MjBweCAyMnB4O30KLnhtMi1jYXAtYm9keSBoM3tmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA4cHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItY2FwLWJvZHkgcHtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS41NTttYXJnaW46MCAwIDEwcHg7fQoueG0yLWJhZGdlLW9wdGlvbmFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1vcmFuZ2UtZGFyayk7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTtwYWRkaW5nOjRweCAxMHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAzZW07fQoKLnhtMi1hY2MtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjIwcHg7fQoueG0yLWFjYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLWFjYy1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MjAwcHg7b2JqZWN0LWZpdDpjb250YWluO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTRweDt9Ci54bTItYWNjLWJvZHl7cGFkZGluZzoyMHB4IDIycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7fQoueG0yLWFjYy1jYXJkIGgze2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDhweDtjb2xvcjp2YXIoLS1pbmspO30KLnhtMi1hY2MtY2FyZCBwe2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luOjAgMCAxNHB4O2ZsZXg6MTt9Ci54bTItYWNjLXBpbGx7bWFyZ2luLWJvdHRvbToxMnB4O30KLnhtMi1hY2MtcHJpY2UtYm94e21hcmdpbi1ib3R0b206MTRweDt9Ci54bTItYWNjLXByaWNlLWJveCAueG0yLXByaWNlLWNlbGx7cGFkZGluZzoxMHB4IDEycHg7fQoueG0yLWFjYy1wcmljZS1ib3ggLnhtMi1wcmljZS12YWx1ZXtmb250LXNpemU6MTdweDt9Ci54bTItYWNjLWJ0bntmb250LXNpemU6MTIuNXB4O3BhZGRpbmc6OXB4IDE2cHg7YWxpZ24tc2VsZjpjZW50ZXI7fQoKLnhtMi1wb3dlci1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjRweDt9Ci54bTItcG93ZXItY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7cGFkZGluZzoyNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO30KLnhtMi1wb3dlci1jYXJkLmlzLWN1cnJlbnR7Ym9yZGVyLWNvbG9yOnZhcigtLW9yYW5nZSk7fQoueG0yLXBvd2VyLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEycHg7cmlnaHQ6MjBweDtiYWNrZ3JvdW5kOnZhcigtLW9yYW5nZSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzo0cHggMTJweDtib3JkZXItcmFkaXVzOjk5OXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDNlbTt9Ci54bTItcG93ZXItY2FyZCBoM3tmb250LXNpemU6MTlweDtmb250LXdlaWdodDo4MDA7bWFyZ2luOjAgMCA2cHg7fQoueG0yLXBvd2VyLWNhcmQgLnN1Yntjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbjowIDAgMTRweDt9Ci54bTItcG93ZXItY2FyZCB1bHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7fS54bTItcG93ZXItY2FyZCB1bCBsaXtsaXN0LXN0eWxlLXR5cGU6bm9uZSAhaW1wb3J0YW50O30KLnhtMi1wb3dlci1jYXJkIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoyMnB4O21hcmdpbi1ib3R0b206OXB4O2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxLjU7fQoueG0yLXBvd2VyLWNhcmQgbGk6YmVmb3Jle2NvbnRlbnQ6IuKckyI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2NvbG9yOnZhcigtLW9yYW5nZSk7Zm9udC13ZWlnaHQ6NzAwO30KCi54bTItY2FtLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczouOWZyIDEuMWZyO2dhcDozNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjt9Ci54bTItY2FtLWltZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tY2FyZC1zaGFkb3cpO30KLnhtMi1jYW0taW1nIGltZ3t3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7fQoueG0yLWNhbS1pbnRyb3tmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42O21hcmdpbjowIDAgMjJweDt9Ci54bTItY2FtLWZlYXR1cmV7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O21hcmdpbi1ib3R0b206MThweDt9Ci54bTItY2FtLW51bXtmbGV4Om5vbmU7d2lkdGg6NDZweDtmb250LXNpemU6MzhweDtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjp2YXIoLS1vcmFuZ2UpO29wYWNpdHk6LjM7Zm9udC1mYW1pbHk6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzotLjAyZW07fQoueG0yLWNhbS1mZWF0dXJlIGg0e21hcmdpbjowIDAgNXB4O2ZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1pbmspO2xldHRlci1zcGFjaW5nOi0uMDFlbTtsaW5lLWhlaWdodDoxLjI1O30KLnhtMi1jYW0tZmVhdHVyZSBwe21hcmdpbjowO2ZvbnQtc2l6ZToxMy41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7fQoKLnhtMi1zcGxpdC1jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO30KLnhtMi1zcGxpdC1pbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDoyODBweDt9Ci54bTItc3BsaXQtYm9keXtwYWRkaW5nOjM0cHggMzhweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7fS5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BsaXQtY2FyZC0tdG9wIC54bTItc3BsaXQtYm9keXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCAhaW1wb3J0YW50O30KLnhtMi1zcGxpdC1ib2R5IGgze2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjgwMDttYXJnaW46MCAwIDEycHg7Y29sb3I6dmFyKC0taW5rKTt9Ci54bTItc3BsaXQtYm9keSBwe2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNjU7bWFyZ2luOjAgMCAxNHB4O30KLnhtMi1ub3RlLWJveHtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpO2JvcmRlci1sZWZ0OjNweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEycHggMTZweDtmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLWluayk7bWFyZ2luLXRvcDo2cHg7fQoueG0yLW5vdGUtYm94IC5pY3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2NvbG9yOnZhcigtLW9yYW5nZS1kYXJrKTtmbGV4Om5vbmU7bWFyZ2luLXRvcDoxcHg7fQoKLnhtMi1kZXNjLXdyYXB7bWF4LXdpZHRoOjExODBweDttYXJnaW46MCBhdXRvO30KLnhtMi1kZXNjLWltZ3t3aWR0aDoxMDAlO2hlaWdodDo0MjBweDtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MjRweDt9Ci54bTItZGVzYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjQ0cHggNTJweDtjb2x1bW4tY291bnQ6Mjtjb2x1bW4tZ2FwOjQwcHg7fQoueG0yLWRlc2MtY2FyZCBwe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNzU7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MCAwIDE2cHg7fQoueG0yLWRlc2MtY2FyZCBwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowO30KCi54bTItc3BlYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7fQoueG0yLXZpZGVvLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLWNhcmQtc2hhZG93KTtwYWRkaW5nOjE0cHg7bWF4LXdpZHRoOjkwMHB4O21hcmdpbjowIGF1dG87fQoueG0yLXZpZGVvLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7aGVpZ2h0OjA7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMwMDA7fQoueG0yLXZpZGVvLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQpAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsueG0yLXZpZGVvLWNhcmR7cGFkZGluZzo4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO319Ci54bTItc3BlYy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMS40ZnI7cGFkZGluZzoxM3B4IDI2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSk7fQoKLnhtMi1zcGVjLWxhYmVse2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1tdXRlZCk7fQoueG0yLXNwZWMtdmFsdWV7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0taW5rKTt9CkBtZWRpYSAobWluLXdpZHRoOjc2OXB4KXsKLnBvc3RpZC0xODI4NSAueG0yLXNwZWMtY2FyZHtkaXNwbGF5OmdyaWQgIWltcG9ydGFudDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmciAhaW1wb3J0YW50O2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoNCxhdXRvKSAhaW1wb3J0YW50O2dyaWQtYXV0by1mbG93OmNvbHVtbiAhaW1wb3J0YW50O2NvbHVtbi1nYXA6MCAhaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGVjLXJvd3twYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctYm90dG9tOjE0cHg7fQoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKG4rNSl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLWxpbmUpICFpbXBvcnRhbnQ7cGFkZGluZy1sZWZ0OjI2cHggIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyODUgLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoOCksLnBvc3RpZC0xODI4NSAueG0yLXNwZWMtcm93Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7fQoKfQoKLnhtMi1wa2ctZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE2cHg7fQoueG0yLXBrZy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci54bTItcGtnLWltZ3t3aWR0aDoxMDAlO2hlaWdodDoxODBweDtvYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6dmFyKC0tc29mdCk7cGFkZGluZzoxNnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci54bTItcGtnLWNhcmQgc3BhbntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLWluayk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuMzU7cGFkZGluZzoxMHB4IDE0cHggMTRweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTt9CgoueG0yLWZhcXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE0cHg7fQoueG0yLWZhcS1pdGVte2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtwYWRkaW5nOjRweCAwO30KLnhtMi1mYXEtaXRlbSBzdW1tYXJ5e2xpc3Qtc3R5bGU6bm9uZTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjE2cHggNTBweCAxNnB4IDIwcHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0taW5rKTtwb3NpdGlvbjpyZWxhdGl2ZTt9Ci54bTItZmFxLWl0ZW0gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmU7fQoueG0yLWZhcS1pdGVtIHN1bW1hcnk6OmFmdGVye2NvbnRlbnQ6IisiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE4cHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtmb250LXNpemU6MjBweDtjb2xvcjp2YXIoLS1vcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMDt9Ci54bTItZmFxLWl0ZW1bb3Blbl0gc3VtbWFyeTo6YWZ0ZXJ7Y29udGVudDoiXDIyMTIiO30KLnhtMi1mYXEtaXRlbVtvcGVuXSBzdW1tYXJ5e2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi1mYXEtaXRlbSBwe21hcmdpbjowO3BhZGRpbmc6MTRweCAyMHB4IDE4cHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42O30KCi54bTItbGlnaHRib3h7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMTAsMTAsMTIsLjkyKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo5OTk5OTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzO30KLnhtMi1saWdodGJveC5pcy1vcGVue29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvO30KLnhtMi1saWdodGJveCBpbWd7bWF4LXdpZHRoOjg4dnc7bWF4LWhlaWdodDo4NnZoO29iamVjdC1maXQ6Y29udGFpbjtib3JkZXItcmFkaXVzOjEwcHg7fQoueG0yLWxpZ2h0Ym94IGJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEyKTtib3JkZXI6bm9uZTtjb2xvcjojZmZmO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO30KLnhtMi1saWdodGJveCBidXR0b246aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yNCk7fQoueG0yLWxpZ2h0Ym94IGJ1dHRvbiBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt9Ci54bTItbGlnaHRib3gtY2xvc2V7dG9wOjIycHg7cmlnaHQ6MjJweDt9Ci54bTItbGlnaHRib3gtcHJldntsZWZ0OjIycHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt9Ci54bTItbGlnaHRib3gtbmV4dHtyaWdodDoyMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7fQoKQG1lZGlhKG1heC13aWR0aDo5MDBweCl7Ci54bTItaGVyby1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWNhcC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWFjYy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO30KLnhtMi1wb3dlci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWNhbS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLXNwbGl0LWNhcmR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItc3BsaXQtaW1ne21pbi1oZWlnaHQ6MjAwcHg7fQoueG0yLXZzLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItZmFxe2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQoueG0yLWRhcmstY2FyZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO3BhZGRpbmc6MDt9Ci54bTItZGFyay1jYXJkID4gZGl2OmZpcnN0LWNoaWxke3BhZGRpbmc6MzBweCAyNHB4IDM0cHg7fQoueG0yLWRhcmstdmlzdWFse21pbi1oZWlnaHQ6MjAwcHg7b3JkZXI6LTE7fQoueG0yLWRhcmstdmlzdWFsOjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTcsMTksMjQsMCkgNDUlLHJnYmEoMTcsMTksMjQsLjU1KSA3OCUsdmFyKC0tZGFyaykgMTAwJSk7fQoueG0yLXRydXN0LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9Cn0KQG1lZGlhKG1heC13aWR0aDo1NjBweCl7Ci54bTItYWNjLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItcGtnLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7fQoueG0yLXF1aWNrZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KLnhtMi1wcmljZS1ib3h7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9Ci54bTItcHJpY2UtY2VsbCArIC54bTItcHJpY2UtY2VsbHtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO30KLnhtMi1oZXJvLWNhcmR7cGFkZGluZzoyNHB4O30KLnhtMi1oMntmb250LXNpemU6MjZweDt9Ci54bTItdGl0bGV7Zm9udC1zaXplOjI3cHg7fQoueG0yLXRydXN0LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KfQoKLnBvc3RpZC0xODI4NSAueG0yLWNhcC1pbWctLW1hY2hpbmV7b2JqZWN0LWZpdDpjb250YWluO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjE4cHg7fQoucG9zdGlkLTE4Mjg1IC54bTItY2FwLWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5wb3N0aWQtMTgyODUgLnhtMi1jYXAtYm9keSBwe2ZsZXgtZ3JvdzoxO30KLnBvc3RpZC0xODI4NSAueG0yLWNhcC1saW5re2Rpc3BsYXk6YmxvY2s7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjEwcHggYXV0byAwO3BhZGRpbmc6MTJweCAyOHB4O2ZvbnQtc2l6ZToxNHB4O30KCi5wb3N0aWQtMTgyODUgLnhtMi1jYXAtaW1ne29iamVjdC1maXQ6Y29udGFpbiAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50O3BhZGRpbmc6MThweCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O30KPC9zdHlsZT4KPHN0eWxlPgovKiA9PT09PSBSZXZpc2lvbiAjNCB0YXJnZXRlZCBmaXhlcyAoMTktcG9pbnQgcHVuY2ggbGlzdCkgPT09PT0gKi8KYm9keS5wb3N0aWQtMTgyODUgLmJsb2ctZGVmYXVsdC1iZ3ttYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O21hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O30KYm9keS5wb3N0aWQtMTgyODUgLm1hc3Rlcl9jb250YWluZXJ7d2lkdGg6MTAwJSAhaW1wb3J0YW50O21hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O3BhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7fQpib2R5LnBvc3RpZC0xODI4NSBzZWN0aW9uLnBhZ2VfY29udGVudHtiYWNrZ3JvdW5kOiNmNGY2ZjggIWltcG9ydGFudDt9CgovKiBJdGVtIDUrNjogdHJ1c3Qgcm93IC0+IE1PTk9SIGNvbXBhY3Qgc2luZ2xlLWxpbmUgY2FyZCBzdHlsZSAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLXRydXN0LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MTBweDttYXJnaW4tdG9wOjI0cHg7cGFkZGluZy10b3A6MjRweDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo3cHg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLWhlaWdodDo3NnB4O3BhZGRpbmc6MTJweCAxMHB4O2JveC1zaGFkb3c6bm9uZTt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCAuaWN7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtjb2xvcjojOGE5MDk4O21hcmdpbjowO30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi10cnVzdC1jYXJkIGg0e2Rpc3BsYXk6bm9uZTt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0taW5rKTttYXJnaW46MDtsaW5lLWhlaWdodDoxLjQ7Zm9udC13ZWlnaHQ6NTAwO30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1jdGEtbm90ZXtmb250LXNpemU6MTJweCAhaW1wb3J0YW50O30KCi8qIEl0ZW0gNzogaG92ZXIganVtcCBmaXggLSBib3RoIGRhcmstY2FyZCBDVEEgYmxvY2tzIChzaG93cm9vbSArIGZpbmFsKSAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bntib3JkZXItd2lkdGg6MXB4ICFpbXBvcnRhbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkICFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bjpob3ZlciwuZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bjpmb2N1cywuZXN0cm9qZS14dG9vbC1tMiAueG0yLWJ0bjphY3RpdmV7Ym9yZGVyLXdpZHRoOjFweCAhaW1wb3J0YW50O2JvcmRlci1zdHlsZTpzb2xpZCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWNhcmQsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWNhcmQgKnt0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWN0YS1yb3csLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kYXJrLWN0YS1yb3cgKnt0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O30KCi8qIEl0ZW0gODogdmVydGljYWwgcmh5dGhtIG5vcm1hbGl6ZWQgdG8gTU9OT1IgKDMwcHggMCkgKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zZWN0aW9ue3BhZGRpbmc6MzBweCAwICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNlY3Rpb257cGFkZGluZzoyNnB4IDAgIWltcG9ydGFudDt9CgovKiBJdGVtIDk6IHN0b3AgdGhlbWUncyBibG9nIHBhcmFncmFwaCBkZWZhdWx0ICgxN3B4KSBsZWFraW5nIGludG8gY29tcG9uZW50IGNvcHkgKi8KLmVzdHJvamUteHRvb2wtbTIgcHtmb250LXNpemU6MTRweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi10cnVzdC1jYXJkIHB7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItYWNjLWNhcmQgcHtmb250LXNpemU6MTMuNXB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhbS1mZWF0dXJlIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGxpdC1ib2R5IHB7Zm9udC1zaXplOjE0LjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kZXNjLWNhcmQgcHtmb250LXNpemU6MTVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1mYXEtaXRlbSBwe2ZvbnQtc2l6ZToxMy41cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItZGFyay1jYXJkIHB7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItY2FwLWJvZHkgcHtmb250LXNpemU6MTRweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wb3dlci1jYXJkIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi12cy1jYXJkIHB7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wa2ctY2FyZCBzcGFue2ZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7fQoKLyogSXRlbSAxMjogY2FtZXJhIG51bWJlcnMgYmlnZ2VyICsgaGVhZGluZyBoaWVyYXJjaHkgY2xlYXJlciAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhbS1udW17d2lkdGg6MzRweCAhaW1wb3J0YW50O2hlaWdodDozNHB4ICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDt9LmVzdHJvamUteHRvb2wtbTIgLnhtMi1jYW0tZmVhdHVyZSAueG0yLWNhbS1udW17d2lkdGg6NDRweCAhaW1wb3J0YW50O2hlaWdodDo0NHB4ICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE5cHggIWltcG9ydGFudDtmb250LXdlaWdodDo4MDAgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItY2FtLWZlYXR1cmUgaDR7Zm9udC1zaXplOjE5cHggIWltcG9ydGFudDt9CgovKiBJdGVtIDE2OiB0ZWNobmljYWwgcGFyYW1ldGVycyBpbiAyIGRlc2t0b3AgY29sdW1ucyAoQ1NTIGdyaWQsIGFsaWduZWQgcm93cyArIHJlc3RvcmVkIHplYnJhKSAqLwpAbWVkaWEobWluLXdpZHRoOjc2OXB4KXsKLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGVjLWNhcmR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoOSxhdXRvKTtncmlkLWF1dG8tZmxvdzpjb2x1bW47Y29sdW1uLWdhcDowO2FsaWduLWl0ZW1zOnN0cmV0Y2g7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXNwZWMtcm93e3BhZGRpbmctdG9wOjE0cHg7cGFkZGluZy1ib3R0b206MTRweDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKG4rMTApe2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1saW5lKTtwYWRkaW5nLWxlZnQ6MjZweDt9Ci54bTItc3BlYy1yb3c6bGFzdC1jaGlsZCwueG0yLXNwZWMtcm93Om50aC1jaGlsZCg5KXtib3JkZXItYm90dG9tOm5vbmU7fQouZXN0cm9qZS14dG9vbC1tMiAKfQpAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsKLnhtMi1zcGVjLXJvdzpudGgtY2hpbGQoZXZlbil7YmFja2dyb3VuZDp2YXIoLS1zb2Z0KTt9Cn0KCi8qIEl0ZW0gMTAvMTQvMTU6IHRpZ2h0ZXIsIG1vcmUgY29uc2lzdGVudCBpbWFnZSBmcmFtaW5nIGFjcm9zcyBpbWFnZSBzZWN0aW9ucyAqLwouZXN0cm9qZS14dG9vbC1tMiAueG0yLWNhcC1tZWRpYSBpbWcsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1zcGxpdC1tZWRpYSBpbWcsLmVzdHJvamUteHRvb2wtbTIgLnhtMi1kZXNjLWNhcmQgaW1ne29iamVjdC1maXQ6Y292ZXI7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQsMTJweCk7fQoKLyogPT09PT0gUmV2aXNpb24gIzU6IHRvcC1zZWN0aW9uIHJlZmluZW1lbnRzIChoZWFkZXIgc3BhY2luZywgQ1RBIG5vdGUsIGRpdmlkZXIsIHRydXN0IGNhcmRzKSA9PT09PSAqLwpib2R5LnBvc3RpZC0xODI4NSAuYmxvZy1kZWZhdWx0LndpZGVibG9ne3BhZGRpbmctdG9wOjAgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItaGVyby13cmFwe3BhZGRpbmctdG9wOjQ4cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3Qtcm93e21hcmdpbi10b3A6MCAhaW1wb3J0YW50O3BhZGRpbmctdG9wOjAgIWltcG9ydGFudDtib3JkZXItdG9wOm5vbmUgIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2NvbG9yOiMzNTNiNDQgIWltcG9ydGFudDtmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDt9CgovKiA9PT09PSBSZXZpc2lvbiAjNjogaGVybyByaWdodC1zaWRlIGNvbXBhY3RuZXNzIChhY2NlbnQgZ2FwLCBxdWljay1mYWN0IGNhcmRzLCBwcmljZSBibG9jaywgYnV0dG9ucywgdHJ1c3QgY2FyZHMpID09PT09ICovCi5lc3Ryb2plLXh0b29sLW0yIC54bTItaGVyby1jYXJke3BhZGRpbmc6MzBweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1oZXJvLWdyaWR7bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXF1aWNrZ3JpZHtnYXA6MTJweCAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MTZweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1xdWljay1jYXJke3BhZGRpbmc6MTNweCAxNHB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXF1aWNrLWNhcmQgLnR4dC1sYWJlbHtsaW5lLWhlaWdodDoxNHB4ICFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbToycHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcXVpY2stY2FyZCAudHh0LXZhbHVle2xpbmUtaGVpZ2h0OjE4cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItcHJpY2UtYm94e21hcmdpbi1ib3R0b206MTZweCAhaW1wb3J0YW50O30KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wcmljZS1jZWxse3BhZGRpbmc6MTJweCAxNnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXByaWNlLWxhYmVse2xpbmUtaGVpZ2h0OjE0cHggIWltcG9ydGFudDt9LmVzdHJvamUteHRvb2wtbTIgLnhtMi1wcmljZS1sYWJlbHtmb250LXdlaWdodDo4MDAgIWltcG9ydGFudDtjb2xvcjp2YXIoLS1pbmspICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LjA2ZW0gIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItYnRuLXByaW1hcnl7cGFkZGluZzoxM3B4IDI2cHggIWltcG9ydGFudDt9Ci5lc3Ryb2plLXh0b29sLW0yIC54bTItdHJ1c3QtY2FyZCBwe2xpbmUtaGVpZ2h0OjEuMyAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7fQoKCi8qID09PT09IFJldmlzaW9uICM4OiBzcGFjaW5nLCBoZWFkaW5nIGFsaWdubWVudCwgVm9sYmEgdnlrb251IHR5cG9ncmFwaHkgPT09PT0gKi8KLmVzdHJvamUteHRvb2wtbTIgLnhtMi1wb3dlci1jYXJkIC5zdWJ7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDtmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDtsaW5lLWhlaWdodDoyMnB4ICFpbXBvcnRhbnQ7fQouZXN0cm9qZS14dG9vbC1tMiAueG0yLXBvd2VyLWNhcmQgbGl7Zm9udC1zaXplOjEzLjVweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjIwcHggIWltcG9ydGFudDt9CgoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDEpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDMpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDUpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDYpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDgpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDEwKXtiYWNrZ3JvdW5kOnZhcigtLXNvZnQpICFpbXBvcnRhbnQ7fQoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDIpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDQpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDcpLAoucG9zdGlkLTE4Mjg1IC54bTItc3BlYy1yb3c6bnRoLWNoaWxkKDkpe2JhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50O30KPC9zdHlsZT4KPHN0eWxlPgoucG9zdGlkLTE4Mjg1IC54bTItYnVse21hcmdpbjowIDAgMTJweDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7fQoucG9zdGlkLTE4Mjg1IC54bTItYnVsIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoyNHB4O21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxNC41cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTU7bGlzdC1zdHlsZS10eXBlOm5vbmUgIWltcG9ydGFudDt9Ci5wb3N0aWQtMTgyODUgLnhtMi1idWwgbGk6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDo4cHg7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1vcmFuZ2UpO30KPC9zdHlsZT4KPHN0eWxlPgoucG9zdGlkLTE4Mjg1IC54bTItcGlsbC1zdG9jay5pcy1vdXR7YmFja2dyb3VuZDojZmZmM2UwO2NvbG9yOiNiNDUzMDk7fQoucG9zdGlkLTE4Mjg1IC54bTItcGlsbC1zdG9jay5pcy1vdXQgLmRvdHtiYWNrZ3JvdW5kOiNiNDUzMDk7fQo8L3N0eWxlPgo8c3R5bGU+Ci5wb3N0aWQtMTgyODUgLnhtMi1waWxsLWJ1bmRsZXtiYWNrZ3JvdW5kOiNmZmYzZTA7Y29sb3I6I2I0NTMwOTt9Ci5wb3N0aWQtMTgyODUgLnhtMi1waWxsLXN0b2NrLmlzLXN1cHBsaWVye2JhY2tncm91bmQ6I2VhZjFmYjtjb2xvcjojMWY1ZmE4O30KLnBvc3RpZC0xODI4NSAueG0yLXBpbGwtc3RvY2suaXMtc3VwcGxpZXIgLmRvdHtiYWNrZ3JvdW5kOiMxZjVmYTg7fQo8L3N0eWxlPjxkaXYgY2xhc3M9InhtMi1oZXJvLXdyYXAiPgo8ZGl2IGNsYXNzPSJ4bTItY29udGFpbmVyIj4KPGRpdiBjbGFzcz0ieG0yLWhlcm8tY2FyZCI+CjxkaXYgY2xhc3M9InhtMi1hY2NlbnQtYmFyIj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLWhlcm8tZ3JpZCI+Cgo8ZGl2IGNsYXNzPSJ4bTItZ2FsbGVyeSI+CjxkaXYgY2xhc3M9InhtMi1nYWxsZXJ5LW1haW4iIGlkPSJ4bTItbWFpbi13cmFwIj4KPGltZyBpZD0ieG0yLW1haW4taW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbF9tMl9jbXlrX21vZHVsZS0xLmpwZyIgYWx0PSJ4VG9vbCBNMiBDTVlLIHByaW50aW5nIG1vZHVsZSI+CjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ieG0yLXpvb20tYnRuIiBhcmlhLWxhYmVsPSJFbmxhcmdlIGltYWdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ij48L2NpcmNsZT48cGF0aCBkPSJNMjEgMjFsLTQuMzUtNC4zNSI+PC9wYXRoPjwvc3ZnPjwvYnV0dG9uPgo8L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXRodW1icyI+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIGlzLWFjdGl2ZSIgdHlwZT0iYnV0dG9uIiBkYXRhLWluZGV4PSIwIj48aW1nIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sX20yX2NteWtfbW9kdWxlLTEuanBnIiBhbHQ9InhUb29sIE0yIENNWUsgcHJpbnRpbmcgbW9kdWxlIj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJ4bTItdGh1bWIiIHR5cGU9ImJ1dHRvbiIgZGF0YS1pbmRleD0iMSI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaW50LWFuZC1jdXQuanBnIiBhbHQ9IlByaW50ICZhbXA7IEN1dCDigJMgcHJpbnRpbmcgYW5kIGN1dHRpbmcgaW4gb25lIHhUb29sIE0yIG1hY2hpbmUiPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InhtMi10aHVtYiIgdHlwZT0iYnV0dG9uIiBkYXRhLWluZGV4PSIyIj48aW1nIHNyYz0iaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLW0yLWNteWsta3ZhbGl0YS10bGFjZS5qcGciIGFsdD0iUHJpbnQgcXVhbGl0eSBjb21wYXJpc29uIG9mIHRoZSBDTVkgYW5kIENNWUsgbW9kdWxlcyI+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ieG0yLXRodW1iIiB0eXBlPSJidXR0b24iIGRhdGEtaW5kZXg9IjMiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtbTItY215ay1wcmlrbGFkeS10bGFjZS5qcGciIGFsdD0iQ01ZSyBtb2R1bGUgY29sb3VyIHByaW50aW5nIGV4YW1wbGVzIOKAkyBzdGlja2VycywgY2FyZHMsIG1hZ25ldHMiPjwvYnV0dG9uPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InhtMi1oZXJvLWluZm8iPgo8ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+eFRvb2wgYWNjZXNzb3JpZXMgZm9yIHRoZSBNMjwvZGl2Pgo8aDEgY2xhc3M9InhtMi10aXRsZSI+eFRvb2wgTTIgQ01ZSyBwcmludGluZyBtb2R1bGU8L2gxPgo8ZGl2IGNsYXNzPSJ4bTItc3VidGl0bGUiPkNvbG91ciBpbmtqZXQgcHJpbnRpbmcgZm9yIHRoZSB4VG9vbCBNMjwvZGl2Pgo8cCBjbGFzcz0ieG0yLWxlYWQiPlRoZSBDTVlLIGlua2pldCBwcmludGluZyBtb2R1bGUgYWRkcyBmdWxsLWNvbG91ciBwcmludGluZyBkaXJlY3RseSBvbnRvIG1hdGVyaWFsIHRvIHRoZSB4VG9vbCBNMiDigJMgc3RpY2tlcnMsIGdpZnQgY2FyZHMsIHRlbXBvcmFyeSB0YXR0b29zIGFuZCBtYWduZXRzLiBUaGUgbW9kdWxlIG9ubHkgcHJpbnRzOyB0aGUgY3V0dGluZyBpbiB0aGUgUHJpbnQgJmFtcDsgQ3V0IHdvcmtmbG93IGlzIGRvbmUgYnkgdGhlIG9yaWdpbmFsIE0yIGRpb2RlIGxhc2VyIGhlYWQsIHNvIG5vIGFkZGl0aW9uYWwgbWFjaGluZSBpcyBuZWVkZWQuPC9wPgoKPGRpdiBjbGFzcz0ieG0yLXF1aWNrZ3JpZCI+CjxkaXYgY2xhc3M9InhtMi1xdWljay1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIuNjlsNS42NiA1LjY2YTggOCAwIDEgMS0xMS4zMSAweiI+PC9wYXRoPjwvc3ZnPjxzcGFuPjxzcGFuIGNsYXNzPSJ0eHQtbGFiZWwiPk1vZHVsZSB0eXBlPC9zcGFuPjxzcGFuIGNsYXNzPSJ0eHQtdmFsdWUiPkNNWUsgaW5ramV0IHByaW50IGhlYWQ8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjE1IDMgMjEgMyAyMSA5Ij48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9IjkgMjEgMyAyMSAzIDE1Ij48L3BvbHlsaW5lPjxsaW5lIHgxPSIyMSIgeTE9IjMiIHgyPSIxNCIgeTI9IjEwIj48L2xpbmU+PGxpbmUgeDE9IjMiIHkxPSIyMSIgeDI9IjEwIiB5Mj0iMTQiPjwvbGluZT48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5Xb3JraW5nIGFyZWEgKHByaW50aW5nKTwvc3Bhbj48c3BhbiBjbGFzcz0idHh0LXZhbHVlIj4zMDAgw5cgMjk0IG1tPC9zcGFuPjwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXF1aWNrLWNhcmQiPjxzdmcgY2xhc3M9ImljIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgOGwtOS01LTkgNSA5IDUgOS01eiI+PC9wYXRoPjxwYXRoIGQ9Ik0zIDh2OGw5IDUgOS01VjgiPjwvcGF0aD48L3N2Zz48c3Bhbj48c3BhbiBjbGFzcz0idHh0LWxhYmVsIj5Db21wYXRpYmlsaXR5PC9zcGFuPjxzcGFuIGNsYXNzPSJ0eHQtdmFsdWUiPnhUb29sIE0yIG9ubHk8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItcXVpY2stY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIzIj48L2NpcmNsZT48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjMiPjwvY2lyY2xlPjxsaW5lIHgxPSIyMCIgeTE9IjQiIHgyPSI4LjEyIiB5Mj0iMTUuODgiPjwvbGluZT48bGluZSB4MT0iMTQuNDciIHkxPSIxNC40OCIgeDI9IjIwIiB5Mj0iMjAiPjwvbGluZT48bGluZSB4MT0iOC4xMiIgeTE9IjguMTIiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+PC9zdmc+PHNwYW4+PHNwYW4gY2xhc3M9InR4dC1sYWJlbCI+V29ya2Zsb3c8L3NwYW4+PHNwYW4gY2xhc3M9InR4dC12YWx1ZSI+UHJpbnQgJmFtcDsgQ3V0IGluIG9uZSBtYWNoaW5lPC9zcGFuPjwvc3Bhbj48L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJ4bTItcGlsbC1yb3ciPgo8c3BhbiBjbGFzcz0ieG0yLXBpbGwgeG0yLXBpbGwtc3RvY2siIGlkPSJ4bTItc3RvY2stcGlsbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPjxzcGFuIGlkPSJ4bTItc3RvY2stdGV4dCI+PC9zcGFuPjwvc3Bhbj4KPHNwYW4gY2xhc3M9InhtMi1waWxsIHhtMi1waWxsLXNoaXAiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMSIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIj48L3JlY3Q+PHBhdGggZD0iTTE1IDloNGwzIDR2NGgtN3oiPjwvcGF0aD48Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjwvc3ZnPkZyZWUgc2hpcHBpbmc8L3NwYW4+CjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLXByaWNlLWJveCI+CjxkaXYgY2xhc3M9InhtMi1wcmljZS1jZWxsIj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLWxhYmVsIj5QcmljZSBleGNsLiBWQVQ8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1wcmljZS12YWx1ZSIgaWQ9InhtMi1wcmljZS1leGNsIiBkYXRhLXdvby1wcmljZS1leGNsPSIxNjE5MSI+TG9hZGluZ+KApjwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXByaWNlLWNlbGwiPjxzcGFuIGNsYXNzPSJ4bTItcHJpY2UtbGFiZWwiPlByaWNlIGluY2wuIFZBVDwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXByaWNlLXZhbHVlIiBpZD0ieG0yLXByaWNlLWluY2wiIGRhdGEtd29vLXByaWNlLWluY2w9IjE2MTkxIj5Mb2FkaW5n4oCmPC9zcGFuPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InhtMi1za3UtbGluZSIgaWQ9InhtMi1za3UtbGluZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+U0tVOiA8c3BhbiBpZD0ieG0yLXNrdS12YWx1ZSI+PC9zcGFuPjwvZGl2PgoKPGRpdiBjbGFzcz0ieG0yLWN0YS1yb3ciPgo8YSBjbGFzcz0ieG0yLWJ0biB4bTItYnRuLWdob3N0IiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vZXhwcmVzcy1pbnRlcmVzdC8\/Zm9vPXhUb29sJTIwTTIlMjBDTVlLJTIwcHJpbnRpbmclMjBtb2R1bGUiPkdldCBhZHZpY2U8L2E+CjxhIGNsYXNzPSJ4bTItYnRuIHhtMi1idG4tcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly9lc3Ryb2plLnNrL2tvc2lrLz9hZGQtdG8tY2FydD0xODQ5NCI+QWRkIHRvIGNhcnQ8L2E+CjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICBmdW5jdGlvbiBlc3Ryb2plRm9ybWF0RVVSKGNlbnRzKXsKICAgIHZhciBldXIgPSBjZW50cyAvIDEwMDsKICAgIHJldHVybiBldXIudG9Mb2NhbGVTdHJpbmcoJ2VuLUlFJywge21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6Mn0pICsgJyDigqwnOwogIH0KICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSA9IGZ1bmN0aW9uKHByb2R1Y3RJZCwgZXhjbEVsSWQsIGluY2xFbElkLCB2YXRSYXRlUGVyY2VudCl7CiAgICB2YXRSYXRlUGVyY2VudCA9IHZhdFJhdGVQZXJjZW50IHx8IDIzOwogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBpbmNsQ2VudHMgPSBwYXJzZUludChwLnByaWNlcy5wcmljZSwgMTApOwogICAgICAgIHZhciBleGNsQ2VudHMgPSBNYXRoLnJvdW5kKGluY2xDZW50cyAvICgxICsgdmF0UmF0ZVBlcmNlbnQgLyAxMDApKTsKICAgICAgICB2YXIgZXhjbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZXhjbEVsSWQpOwogICAgICAgIHZhciBpbmNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbmNsRWxJZCk7CiAgICAgICAgaWYgKGV4Y2xFbCkgZXhjbEVsLnRleHRDb250ZW50ID0gZXN0cm9qZUZvcm1hdEVVUihleGNsQ2VudHMpOwogICAgICAgIGlmIChpbmNsRWwpIGluY2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoaW5jbENlbnRzKTsKICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICAgIGlmIChpbmNsRWwpIGluY2xFbC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICB9KTsKICB9OwogIHdpbmRvdy5lc3Ryb2plTG9hZFdvb1ByaWNlKDE2MTkxLCAneG0yLXByaWNlLWV4Y2wnLCAneG0yLXByaWNlLWluY2wnKTsKfSkoKTsKPC9zY3JpcHQ+CjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHdpbmRvdy5lc3Ryb2plTG9hZFdvb0F2YWlsYWJpbGl0eSA9IGZ1bmN0aW9uKHByb2R1Y3RJZCwgcGlsbElkLCB0ZXh0SWQsIHNrdUxpbmVJZCwgc2t1VmFsdWVJZCl7CiAgICBmZXRjaCgnL3dwLWpzb24vd2Mvc3RvcmUvdjEvcHJvZHVjdHMvJyArIHByb2R1Y3RJZCkKICAgICAgLnRoZW4oZnVuY3Rpb24ocil7IHJldHVybiByLmpzb24oKTsgfSkKICAgICAgLnRoZW4oZnVuY3Rpb24ocCl7CiAgICAgICAgdmFyIHBpbGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwaWxsSWQpOwogICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGV4dElkKTsKICAgICAgICBpZiAocC5pc19pbl9zdG9jaykgewogICAgICAgICAgaWYgKHBpbGwpIHsKICAgICAgICAgICAgcGlsbC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1mbGV4JzsKICAgICAgICAgICAgaWYgKHRleHQpIHsgdGV4dC50ZXh0Q29udGVudCA9IHAuaXNfb25fYmFja29yZGVyID8gJ0luIHN0b2NrIGF0IHN1cHBsaWVyIOKAkyBkZWxpdmVyeSBpbiA0IHRvIDcgYnVzaW5lc3MgZGF5cycgOiAnSW4gc3RvY2snOyBpZiAocC5pc19vbl9iYWNrb3JkZXIpIHsgcGlsbC5jbGFzc0xpc3QuYWRkKCdpcy1zdXBwbGllcicpOyB9IH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHBpbGwpIHsKICAgICAgICAgICAgcGlsbC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1mbGV4JzsKICAgICAgICAgICAgcGlsbC5jbGFzc0xpc3QuYWRkKCdpcy1vdXQnKTsKICAgICAgICAgICAgaWYgKHRleHQpIHsgdGV4dC50ZXh0Q29udGVudCA9ICdPbiByZXF1ZXN0JzsgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAocC5za3UpIHsKICAgICAgICAgIHZhciBza3VMaW5lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2t1TGluZUlkKTsKICAgICAgICAgIHZhciBza3VWYWx1ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdVZhbHVlSWQpOwogICAgICAgICAgaWYgKHNrdUxpbmUpIHNrdUxpbmUuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICBpZiAoc2t1VmFsdWUpIHNrdVZhbHVlLnRleHRDb250ZW50ID0gcC5za3U7CiAgICAgICAgfQogICAgICB9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oKXt9KTsKICB9OwogIHdpbmRvdy5lc3Ryb2plTG9hZFdvb0F2YWlsYWJpbGl0eSgxNjE5MSwgJ3htMi1zdG9jay1waWxsJywgJ3htMi1zdG9jay10ZXh0JywgJ3htMi1za3UtbGluZScsICd4bTItc2t1LXZhbHVlJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8cCBjbGFzcz0ieG0yLWN0YS1ub3RlIj5EbyB5b3UgaGF2ZSBhIHF1ZXN0aW9uIGFib3V0IHRoZSBwcm9kdWN0IG9yIG5lZWQgdG8gY2hlY2sgd2hldGhlciBpdCBpcyByaWdodCBmb3IgeW91PyBXZSB3aWxsIGJlIGhhcHB5IHRvIGFkdmlzZSB5b3UuPC9wPgoKPGRpdiBjbGFzcz0ieG0yLXRydXN0LXJvdyI+CjxkaXYgY2xhc3M9InhtMi10cnVzdC1jYXJkIj48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMSIgeT0iNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIj48L3JlY3Q+PHBhdGggZD0iTTE1IDloNGwzIDR2NGgtN3oiPjwvcGF0aD48Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjE3IiBjeT0iMTkiIHI9IjIiPjwvY2lyY2xlPjwvc3ZnPjxoND5EZWxpdmVyeTwvaDQ+PHA+RGVsaXZlcnkgU0sgLyBDWiAvIEVVPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItdHJ1c3QtY2FyZCI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiPjwvcGF0aD48L3N2Zz48aDQ+U2VydmljZSBhbmQgc3VwcG9ydDwvaDQ+PHA+U2VydmljZSBhbmQgc3VwcG9ydDwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLXRydXN0LWNhcmQiPjxzdmcgY2xhc3M9ImljIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgMTEuNWE4LjM4IDguMzggMCAwIDEtOC41IDguNSA4LjUgOC41IDAgMCAxLTQtMUwzIDIwbDEtNS41QTguNSA4LjUgMCAxIDEgMjEgMTEuNXoiPjwvcGF0aD48L3N2Zz48aDQ+QWNjZXNzb3JpZXMgYW5kIGFkdmljZTwvaDQ+PHA+UHJlLXB1cmNoYXNlIGFkdmljZTwvcD48L2Rpdj4KPC9kaXY+Cgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLWxpZ2h0Ym94IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ieG0yLWxpZ2h0Ym94LWNsb3NlIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT48L3N2Zz48L2J1dHRvbj4KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ4bTItbGlnaHRib3gtcHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT48L3N2Zz48L2J1dHRvbj4KPGltZyBzcmM9IiIgYWx0PSIiPgo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InhtMi1saWdodGJveC1uZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGltYWdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI5IDE4IDE1IDEyIDkgNiI+PC9wb2x5bGluZT48L3N2Zz48L2J1dHRvbj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24iPjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uLWhlYWQgY2VudGVyIj48ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+QXBwbGljYXRpb25zPC9kaXY+PGgyIGNsYXNzPSJ4bTItaDIiPldoYXQgdGhlIENNWUsgcHJpbnRpbmcgbW9kdWxlIGlzIGdvb2QgZm9yPC9oMj48cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQ01ZSyBtb2R1bGUgaXMgbm90IGEgbGFzZXIgaGVhZCDigJMgaXQgaXMgdXNlZCBleGNsdXNpdmVseSBmb3IgaW5ramV0IHByaW50aW5nLiBUaGUgcHJpbnRlZCBkZXNpZ24gaXMgY3V0IGJ5IHRoZSBNMiBkaW9kZSBsYXNlciBoZWFkIGFzIHBhcnQgb2YgdGhlIFByaW50ICZhbXA7IEN1dCBmdW5jdGlvbi48L3A+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLWNhcC1ncmlkIj48ZGl2IGNsYXNzPSJ4bTItY2FwLWNhcmQiPjxpbWcgY2xhc3M9InhtMi1jYXAtaW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaWtsYWR5LXRsYWNlLmpwZyIgYWx0PSJGdWxsLWNvbG91ciBwcmludGluZyBvbiBzdGlja2VycywgY2FyZHMgYW5kIGdpZnRzIHdpdGggdGhlIENNWUsgbW9kdWxlIiBsb2FkaW5nPSJsYXp5Ij48ZGl2IGNsYXNzPSJ4bTItY2FwLWJvZHkiPjxoMz5TdGlja2VycywgY2FyZHMgYW5kIGdpZnRzPC9oMz48cD5GdWxsLWNvbG91ciBwcmludGluZyBvbiBzdGlja2VycywgZ2lmdCBjYXJkcywgYm9va21hcmtzLCBtYWduZXRzIGFuZCBuYXBraW5zIGRpcmVjdGx5IGZyb20gdGhlIHhUb29sIE0yLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWNhcmQiPjxpbWcgY2xhc3M9InhtMi1jYXAtaW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaW50LWFuZC1jdXQuanBnIiBhbHQ9IlByaW50aW5nIGFuZCBzdWJzZXF1ZW50IGN1dHRpbmcgaW4gb25lIG1hY2hpbmUg4oCTIFByaW50ICZhbXA7IEN1dCIgbG9hZGluZz0ibGF6eSI+PGRpdiBjbGFzcz0ieG0yLWNhcC1ib2R5Ij48aDM+UHJpbnRpbmcgYW5kIGN1dHRpbmcgaW4gb25lIHN0ZXA8L2gzPjxwPlRoZSBtb2R1bGUgZmlyc3QgcHJpbnRzIHRoZSBjb2xvdXIgZGVzaWduLCBhbmQgdGhlIE0yIGRpb2RlIGxhc2VyIHRoZW4gY3V0cyBpdCBvdXQgcHJlY2lzZWx5IGFuZCBhdXRvbWF0aWNhbGx5IOKAkyB3aXRob3V0IG1hbnVhbCBhbGlnbm1lbnQgYW5kIHdpdGhvdXQgYW5vdGhlciBtYWNoaW5lLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItY2FwLWNhcmQiPjxpbWcgY2xhc3M9InhtMi1jYXAtaW1nIiBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLWt2YWxpdGEtdGxhY2UuanBnIiBhbHQ9IlJpY2gsIGFjY3VyYXRlIGNvbG91cnMgd2hlbiBwcmludGluZyBwaG90b3Mgd2l0aCB0aGUgQ01ZSyBtb2R1bGUiIGxvYWRpbmc9ImxhenkiPjxkaXYgY2xhc3M9InhtMi1jYXAtYm9keSI+PGgzPlJpY2ggY29sb3VycyBldmVuIG9uIHBob3RvczwvaDM+PHA+Q29tcGFyZWQgd2l0aCB0aGUgb2xkZXIgQ01ZIHZlcnNpb24sIHRoZSBpbXByb3ZlZCBDTVlLIG1vZHVsZSBkZWxpdmVycyBtb3JlIHZpdmlkIGFuZCBhY2N1cmF0ZSBjb2xvdXJzIHdoZW4gcHJpbnRpbmcgcGhvdG9zIGFuZCBjb2xvdXIgZGVzaWducy48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24iPjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uLWhlYWQgY2VudGVyIj48ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+Q29tcGF0aWJpbGl0eTwvZGl2PjxoMiBjbGFzcz0ieG0yLWgyIj5Db21wYXRpYmxlIHhUb29sIG1hY2hpbmVzPC9oMj48cCBjbGFzcz0ieG0yLWludHJvIj5BY2NvcmRpbmcgdG8gb2ZmaWNpYWwgeFRvb2wgZG9jdW1lbnRhdGlvbiwgdGhlIENNWUsgcHJpbnRpbmcgbW9kdWxlIGlzIGRlc2lnbmVkIGV4Y2x1c2l2ZWx5IGZvciB0aGUgeFRvb2wgTTIuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1jYXAtZ3JpZCI+PGRpdiBjbGFzcz0ieG0yLWNhcC1jYXJkIj48aW1nIGNsYXNzPSJ4bTItY2FwLWltZyB4bTItY2FwLWltZy0tbWFjaGluZSIgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2xfbTJfMjB3X21haW4ud2VicCIgYWx0PSJ4VG9vbCBNMiIgbG9hZGluZz0ibGF6eSI+PGRpdiBjbGFzcz0ieG0yLWNhcC1ib2R5Ij48aDM+eFRvb2wgTTI8L2gzPjxwPlRoZSBwcmludCBoZWFkIGZpdHMgZGlyZWN0bHkgaW50byB0aGUgeFRvb2wgTTI7IHRoZSBwcmludGVkIGRlc2lnbiBpcyB0aGVuIGN1dCBieSB0aGUgTTIgZGlvZGUgbGFzZXIgaGVhZC48L3A+PGEgY2xhc3M9InhtMi1idG4geG0yLWNhcC1saW5rIHhtMi1idG4tcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly9lc3Ryb2plLnNrL2VuL3h0b29sL3h0b29sLW0yLTIwdy1zdGFuZGFsb25lLyI+VmlldyBwcm9kdWN0PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uIHhtMi1zZWN0aW9uLXNvZnQiPgo8ZGl2IGNsYXNzPSJ4bTItY29udGFpbmVyIj4KPGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24taGVhZCI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5UZWNobmljYWwgc3BlY2lmaWNhdGlvbnM8L2Rpdj4KPGgyIGNsYXNzPSJ4bTItaDIiPnhUb29sIE0yIENNWUsgcHJpbnRpbmcgbW9kdWxlIOKAkyB0ZWNobmljYWwgZGF0YTwvaDI+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItc3BlYy1jYXJkIj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+TW9kdWxlIHR5cGU8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj5DTVlLIGlua2pldCBwcmludCBoZWFkIChpbnRlcmNoYW5nZWFibGUgbW9kdWxlKTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+Q29sb3VyIHN5c3RlbTwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPkNNWUsgKGN5YW4sIG1hZ2VudGEsIHllbGxvdywgYmxhY2spPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5QcmludGluZyBhcmVhPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+MzAwIMOXIDI5NCBtbTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy1sYWJlbCI+Q29tcGF0aWJpbGl0eTwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPnhUb29sIE0yIG9ubHk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPldvcmtmbG93PC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+cHJpbnRpbmcgKENNWUsgbW9kdWxlKSArIGN1dHRpbmcgKE0yIGRpb2RlIGxhc2VyIGhlYWQpIOKAkyBQcmludCAmYW1wOyBDdXQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPkNhcnRyaWRnZSBsaWZlPC9zcGFuPjxzcGFuIGNsYXNzPSJ4bTItc3BlYy12YWx1ZSI+YXBwcm94LiA0MDAgcGFnZXMgYXQgNSUgY292ZXJhZ2UgKElTTy9JRUMgMjQ3MTIpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zcGVjLXJvdyI+PHNwYW4gY2xhc3M9InhtMi1zcGVjLWxhYmVsIj5DYXJ0cmlkZ2UgcmVwbGFjZW1lbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InhtMi1zcGVjLXZhbHVlIj50aGUgY2FydHJpZGdlIGNhbm5vdCBiZSByZWZpbGxlZDsgaXQgaXMgcmVwbGFjZWQgd2l0aCBhIG5ldyBvbmU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNwZWMtcm93Ij48c3BhbiBjbGFzcz0ieG0yLXNwZWMtbGFiZWwiPlN1aXRhYmxlIHByaW50aW5nIG1hdGVyaWFsczwvc3Bhbj48c3BhbiBjbGFzcz0ieG0yLXNwZWMtdmFsdWUiPnBhcGVyLCBjYXJkYm9hcmQsIHN0aWNrZXIgcGFwZXIsIHRleHRpbGVzLCBmZWx0LCBsZWF0aGVyPC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ieG0yLXNlY3Rpb24geG0yLXNlY3Rpb24tc29mdCI+PGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5XaGF0J3MgaW4gdGhlIGJveDwvZGl2Pgo8aDIgY2xhc3M9InhtMi1oMiI+V2hhdCdzIGluIHRoZSBib3g8L2gyPgo8cCBjbGFzcz0ieG0yLWludHJvIj5UaGUgQ01ZSyBwcmludGluZyBtb2R1bGUgd2l0aCBhbiBpbmsgY2FydHJpZGdlIGFuZCB0aGUgYWNjZXNzb3JpZXMgbmVlZGVkIGZvciBpbnN0YWxsYXRpb24gYW5kIGNhbGlicmF0aW9uLjwvcD48ZGl2IGNsYXNzPSJ4bTItcGtnLWdyaWQiPjxkaXYgY2xhc3M9InhtMi1wa2ctY2FyZCI+PGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbF9tMl9jbXlrX21vZHVsZS0xLmpwZyIgYWx0PSJ4VG9vbCBNMiBDTVlLIHByaW50aW5nIG1vZHVsZSIgbG9hZGluZz0ibGF6eSIgY2xhc3M9InhtMi1wa2ctaW1nIj48c3Bhbj54VG9vbCBNMiBDTVlLIHByaW50aW5nIG1vZHVsZTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItcGtnLWNhcmQiPjxpbWcgc3JjPSJodHRwczovL2VzdHJvamUuc2svd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkveHRvb2wtbTItY215ay1vYnNhaC1iYWxlbmlhLmpwZyIgYWx0PSJDTVlLIG1vZHVsZSBwYWNrYWdlIGNvbnRlbnRzIOKAkyBjYXJ0cmlkZ2UsIGNhbGlicmF0aW9uIGNhcmQgYW5kIGFjY2Vzc29yaWVzIiBsb2FkaW5nPSJsYXp5IiBjbGFzcz0ieG0yLXBrZy1pbWciPjxzcGFuPkluayBjYXJ0cmlkZ2UsIGNhbGlicmF0aW9uIGNhcmQgYW5kIGFjY2Vzc29yaWVzPC9zcGFuPjwvZGl2PjwvZGl2Pgo8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbiI+CjxkaXYgY2xhc3M9InhtMi1jb250YWluZXIiPgo8ZGl2IGNsYXNzPSJ4bTItc2VjdGlvbi1oZWFkIGNlbnRlciI+CjxkaXYgY2xhc3M9InhtMi1leWVicm93Ij5GQVE8L2Rpdj4KPGgyIGNsYXNzPSJ4bTItaDIiPlRoZSBxdWVzdGlvbnMgeW91IGFzayB1cyBtb3N0IG9mdGVuPC9oMj4KPC9kaXY+CjxkaXYgY2xhc3M9InhtMi1mYXEiPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PklzIHRoZSBDTVlLIG1vZHVsZSBhIGxhc2VyPzwvc3VtbWFyeT48cD5Oby4gVGhlIENNWUsgbW9kdWxlIGlzIGV4Y2x1c2l2ZWx5IGEgcHJpbnQgaGVhZC4gVGhlIHByaW50ZWQgZGVzaWduIGlzIGN1dCBieSB0aGUgb3JpZ2luYWwgTTIgZGlvZGUgbGFzZXIgaGVhZCBhcyBwYXJ0IG9mIHRoZSBQcmludCAmYW1wOyBDdXQgZnVuY3Rpb24uPC9wPjwvZGV0YWlscz48ZGV0YWlscyBjbGFzcz0ieG0yLWZhcS1pdGVtIj48c3VtbWFyeT5XaGljaCBtYXRlcmlhbHMgY2FuIGl0IHByaW50IG9uPzwvc3VtbWFyeT48cD5BY2NvcmRpbmcgdG8gb2ZmaWNpYWwgeFRvb2wgZG9jdW1lbnRhdGlvbiwgdGhlIG1vZHVsZSBwcmludHMgb24gcGFwZXIsIGNhcmRib2FyZCwgc3RpY2tlciBwYXBlciwgdGV4dGlsZXMsIGZlbHQgYW5kIGxlYXRoZXI7IGl0IGNhbm5vdCBwcmludCBkaXJlY3RseSBvbiBkZW5zZS9zbW9vdGggc3VyZmFjZXMgc3VjaCBhcyBtZXRhbCwgZ2xhc3Mgb3IgY2VyYW1pY3Mgd2l0aG91dCBhIHNwZWNpYWwgc3VyZmFjZSB0cmVhdG1lbnQuPC9wPjwvZGV0YWlscz48ZGV0YWlscyBjbGFzcz0ieG0yLWZhcS1pdGVtIj48c3VtbWFyeT5Ib3cgbG9uZyBkb2VzIHRoZSBpbmsgY2FydHJpZGdlIGxhc3Q\/PC9zdW1tYXJ5PjxwPkF0IDUlIGNvdmVyYWdlIGFjY29yZGluZyB0byBJU08vSUVDIDI0NzEyLCBvbmUgY2FydHJpZGdlIGxhc3RzIGFwcHJveGltYXRlbHkgNDAwIHBhZ2VzOyBhY3R1YWwgbGlmZSBkZXBlbmRzIG9uIGhvdyBvZnRlbiBpdCBpcyB1c2VkLjwvcD48L2RldGFpbHM+PGRldGFpbHMgY2xhc3M9InhtMi1mYXEtaXRlbSI+PHN1bW1hcnk+SXMgdGhlIG1vZHVsZSBjb21wYXRpYmxlIHdpdGggb3RoZXIgeFRvb2wgbWFjaGluZXM\/PC9zdW1tYXJ5PjxwPkFjY29yZGluZyB0byBvZmZpY2lhbCB4VG9vbCBkb2N1bWVudGF0aW9uLCB0aGUgQ01ZSyBwcmludGluZyBtb2R1bGUgaXMgZGVzaWduZWQgZXhjbHVzaXZlbHkgZm9yIHRoZSB4VG9vbCBNMi48L3A+PC9kZXRhaWxzPjxkZXRhaWxzIGNsYXNzPSJ4bTItZmFxLWl0ZW0iPjxzdW1tYXJ5PkNhbiB0aGUgY2FydHJpZGdlIGJlIHJlZmlsbGVkPzwvc3VtbWFyeT48cD5ObywgdGhlIGluayBjYW5ub3QgYmUgcmVmaWxsZWQg4oCTIG9uY2UgZW1wdHksIHRoZSB3aG9sZSBjYXJ0cmlkZ2UgaXMgcmVwbGFjZWQgd2l0aCBhIG5ldyBvbmUuPC9wPjwvZGV0YWlscz48L2Rpdj4KPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9InhtMi1zZWN0aW9uIj4KPGRpdiBjbGFzcz0ieG0yLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InhtMi1kYXJrLWNhcmQiPgo8ZGl2Pgo8ZGl2IGNsYXNzPSJ4bTItZXllYnJvdyI+U2hvd3Jvb20gS2\/FocWlYW55IG5hZCBUdXJjb208L2Rpdj4KPGgyPlRyeSB0aGUgQ01ZSyBwcmludGluZyBtb2R1bGUgbGl2ZTwvaDI+CjxwPkNvbG91ciBwcmludGluZyBhbmQgUHJpbnQgJmFtcDsgQ3V0IG5lZWQgdG8gYmUgc2VlbiBsaXZlIOKAkyBib29rIGEgZGVtbyBvZiB0aGUgQ01ZSyBtb2R1bGUgaW4gb3VyIHNob3dyb29tIGluIEtvxaHFpWFueSBuYWQgVHVyY29tIGRpcmVjdGx5IG9uIHRoZSB4VG9vbCBNMi48L3A+CjxwIGNsYXNzPSJ4bTItZW1waCI+QnJpbmcgeW91ciBvd24gaXRlbSDigJMgd2Ugd2lsbCBiZSBoYXBweSB0byB0ZXN0IGl0IHdpdGggeW91LjwvcD4KPGRpdiBjbGFzcz0ieG0yLWRhcmstY3RhLXJvdyI+CjxhIGNsYXNzPSJ4bTItYnRuIHhtMi1idG4tc29saWQtb25EYXJrIiBocmVmPSJodHRwczovL2VzdHJvamUuc2svZW4vYm9vay1hLXNob3dyb29tLXZpc2l0LyI+Qm9vayBhIGRlbW88L2E+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ieG0yLWRhcmstdmlzdWFsIj4KPGltZyBzcmM9Imh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9zaG93cm9vbS1lc3Ryb2plLW1vbm9yLXh0b29sLndlYnAiIGFsdD0iZVN0cm9qZSBzaG93cm9vbSBpbiBLb8WhxaVhbnkgbmFkIFR1cmNvbSDigJMgTU9OT1IgYW5kIHhUb29sIGxhc2VyIG1hY2hpbmVzIiBzdHlsZT0ib2JqZWN0LXBvc2l0aW9uOmNlbnRlciA0MCU7Ij4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+PHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgZnVuY3Rpb24gZXN0cm9qZUZvcm1hdEVVUihjZW50cyl7CiAgICB2YXIgZXVyID0gY2VudHMgLyAxMDA7CiAgICByZXR1cm4gZXVyLnRvTG9jYWxlU3RyaW5nKCdlbi1JRScsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MiwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KSArICcg4oKsJzsKICB9CiAgd2luZG93LmVzdHJvamVMb2FkV29vUHJpY2UgPSBmdW5jdGlvbihwcm9kdWN0SWQsIGV4Y2xFbElkLCBpbmNsRWxJZCwgdmF0UmF0ZVBlcmNlbnQpewogICAgdmF0UmF0ZVBlcmNlbnQgPSB2YXRSYXRlUGVyY2VudCB8fCAyMzsKICAgIGZldGNoKCcvd3AtanNvbi93Yy9zdG9yZS92MS9wcm9kdWN0cy8nICsgcHJvZHVjdElkKQogICAgICAudGhlbihmdW5jdGlvbihyKXsgcmV0dXJuIHIuanNvbigpOyB9KQogICAgICAudGhlbihmdW5jdGlvbihwKXsKICAgICAgICB2YXIgaW5jbENlbnRzID0gcGFyc2VJbnQocC5wcmljZXMucHJpY2UsIDEwKTsKICAgICAgICB2YXIgZXhjbENlbnRzID0gTWF0aC5yb3VuZChpbmNsQ2VudHMgLyAoMSArIHZhdFJhdGVQZXJjZW50IC8gMTAwKSk7CiAgICAgICAgdmFyIGV4Y2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4Y2xFbElkKTsKICAgICAgICB2YXIgaW5jbEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5jbEVsSWQpOwogICAgICAgIGlmIChleGNsRWwpIGV4Y2xFbC50ZXh0Q29udGVudCA9IGVzdHJvamVGb3JtYXRFVVIoZXhjbENlbnRzKTsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSBlc3Ryb2plRm9ybWF0RVVSKGluY2xDZW50cyk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpewogICAgICAgIHZhciBleGNsRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChleGNsRWxJZCk7CiAgICAgICAgdmFyIGluY2xFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluY2xFbElkKTsKICAgICAgICBpZiAoZXhjbEVsKSBleGNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICBpZiAoaW5jbEVsKSBpbmNsRWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgfSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29QcmljZSgxNjE5MSwgJ3htMi1wcmljZS1leGNsJywgJ3htMi1wcmljZS1pbmNsJyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkgPSBmdW5jdGlvbihwcm9kdWN0SWQsIHBpbGxJZCwgdGV4dElkLCBza3VMaW5lSWQsIHNrdVZhbHVlSWQpewogICAgZmV0Y2goJy93cC1qc29uL3djL3N0b3JlL3YxL3Byb2R1Y3RzLycgKyBwcm9kdWN0SWQpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5qc29uKCk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKHApewogICAgICAgIHZhciBwaWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGlsbElkKTsKICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRleHRJZCk7CiAgICAgICAgaWYgKHAuaXNfaW5fc3RvY2spIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSBwLmlzX29uX2JhY2tvcmRlciA\/ICdJbiBzdG9jayBhdCBzdXBwbGllciDigJMgZGVsaXZlcnkgaW4gNCB0byA3IGJ1c2luZXNzIGRheXMnIDogJ0luIHN0b2NrJzsgaWYgKHAuaXNfb25fYmFja29yZGVyKSB7IHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtc3VwcGxpZXInKTsgfSB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChwaWxsKSB7CiAgICAgICAgICAgIHBpbGwuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtZmxleCc7CiAgICAgICAgICAgIHBpbGwuY2xhc3NMaXN0LmFkZCgnaXMtb3V0Jyk7CiAgICAgICAgICAgIGlmICh0ZXh0KSB7IHRleHQudGV4dENvbnRlbnQgPSAnT24gcmVxdWVzdCc7IH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHAuc2t1KSB7CiAgICAgICAgICB2YXIgc2t1TGluZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNrdUxpbmVJZCk7CiAgICAgICAgICB2YXIgc2t1VmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChza3VWYWx1ZUlkKTsKICAgICAgICAgIGlmIChza3VMaW5lKSBza3VMaW5lLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgaWYgKHNrdVZhbHVlKSBza3VWYWx1ZS50ZXh0Q29udGVudCA9IHAuc2t1OwogICAgICAgIH0KICAgICAgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgfTsKICB3aW5kb3cuZXN0cm9qZUxvYWRXb29BdmFpbGFiaWxpdHkoMTYxOTEsICd4bTItc3RvY2stcGlsbCcsICd4bTItc3RvY2stdGV4dCcsICd4bTItc2t1LWxpbmUnLCAneG0yLXNrdS12YWx1ZScpOwp9KSgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CnZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmVzdHJvamUteHRvb2wtbTInKTsKaWYoIXJvb3QpIHJldHVybjsKdmFyIGltYWdlcyA9IFsKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sX20yX2NteWtfbW9kdWxlLTEuanBnIiwgYWx0OiAieFRvb2wgTTIgQ01ZSyBwcmludGluZyBtb2R1bGUifSwKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLW0yLWNteWstcHJpbnQtYW5kLWN1dC5qcGciLCBhbHQ6ICJQcmludCAmIEN1dCDigJMgcHJpbnRpbmcgYW5kIGN1dHRpbmcgaW4gb25lIHhUb29sIE0yIG1hY2hpbmUifSwKICB7c3JjOiAiaHR0cHM6Ly9lc3Ryb2plLnNrL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L3h0b29sLW0yLWNteWsta3ZhbGl0YS10bGFjZS5qcGciLCBhbHQ6ICJQcmludCBxdWFsaXR5IGNvbXBhcmlzb24gb2YgdGhlIENNWSBhbmQgQ01ZSyBtb2R1bGVzIn0sCiAge3NyYzogImh0dHBzOi8vZXN0cm9qZS5zay93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS94dG9vbC1tMi1jbXlrLXByaWtsYWR5LXRsYWNlLmpwZyIsIGFsdDogIkNNWUsgbW9kdWxlIGNvbG91ciBwcmludGluZyBleGFtcGxlcyDigJMgc3RpY2tlcnMsIGNhcmRzLCBtYWduZXRzIn0KXQogIHZhciBtYWluSW1nID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcjeG0yLW1haW4taW1nJyk7CnZhciB0aHVtYnMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy54bTItdGh1bWInKTsKdmFyIHpvb21CdG4gPSByb290LnF1ZXJ5U2VsZWN0b3IoJy54bTItem9vbS1idG4nKTsKdmFyIG1haW5XcmFwID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcjeG0yLW1haW4td3JhcCcpOwp2YXIgbGlnaHRib3ggPSByb290LnF1ZXJ5U2VsZWN0b3IoJy54bTItbGlnaHRib3gnKTsKdmFyIGxiSW1nID0gbGlnaHRib3gucXVlcnlTZWxlY3RvcignaW1nJyk7CnZhciBsYkNsb3NlID0gbGlnaHRib3gucXVlcnlTZWxlY3RvcignLnhtMi1saWdodGJveC1jbG9zZScpOwp2YXIgbGJQcmV2ID0gbGlnaHRib3gucXVlcnlTZWxlY3RvcignLnhtMi1saWdodGJveC1wcmV2Jyk7CnZhciBsYk5leHQgPSBsaWdodGJveC5xdWVyeVNlbGVjdG9yKCcueG0yLWxpZ2h0Ym94LW5leHQnKTsKdmFyIGN1cnJlbnQgPSAwOwoKZnVuY3Rpb24gc2V0TWFpbihpKXsKY3VycmVudCA9IGk7Cm1haW5JbWcuc3JjID0gaW1hZ2VzW2ldLnNyYzsKbWFpbkltZy5hbHQgPSBpbWFnZXNbaV0uYWx0Owp0aHVtYnMuZm9yRWFjaChmdW5jdGlvbih0LGlkeCl7IHQuY2xhc3NMaXN0LnRvZ2dsZSgnaXMtYWN0aXZlJywgaWR4PT09aSk7IH0pOwp9CnRodW1icy5mb3JFYWNoKGZ1bmN0aW9uKHQsaWR4KXsgdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHNldE1haW4oaWR4KTsgfSk7IH0pOwoKZnVuY3Rpb24gb3BlbkxpZ2h0Ym94KGkpewpjdXJyZW50ID0gaTsKbGJJbWcuc3JjID0gaW1hZ2VzW2ldLnNyYzsKbGJJbWcuYWx0ID0gaW1hZ2VzW2ldLmFsdDsKbGlnaHRib3guY2xhc3NMaXN0LmFkZCgnaXMtb3BlbicpOwpsaWdodGJveC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywnZmFsc2UnKTsKfQpmdW5jdGlvbiBjbG9zZUxpZ2h0Ym94KCl7CmxpZ2h0Ym94LmNsYXNzTGlzdC5yZW1vdmUoJ2lzLW9wZW4nKTsKbGlnaHRib3guc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ3RydWUnKTsKfQpmdW5jdGlvbiBzaG93UmVsKGRlbHRhKXsKY3VycmVudCA9IChjdXJyZW50ICsgZGVsdGEgKyBpbWFnZXMubGVuZ3RoKSAlIGltYWdlcy5sZW5ndGg7CmxiSW1nLnNyYyA9IGltYWdlc1tjdXJyZW50XS5zcmM7CmxiSW1nLmFsdCA9IGltYWdlc1tjdXJyZW50XS5hbHQ7CnNldE1haW4oY3VycmVudCk7Cn0KaWYoem9vbUJ0bikgem9vbUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IG9wZW5MaWdodGJveChjdXJyZW50KTsgfSk7CmlmKG1haW5XcmFwKSBtYWluV3JhcC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IG9wZW5MaWdodGJveChjdXJyZW50KTsgfSk7CmxiQ2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZUxpZ2h0Ym94KTsKbGJQcmV2LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgc2hvd1JlbCgtMSk7IH0pOwpsYk5leHQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBzaG93UmVsKDEpOyB9KTsKbGlnaHRib3guYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsgaWYoZS50YXJnZXQgPT09IGxpZ2h0Ym94KSBjbG9zZUxpZ2h0Ym94KCk7IH0pOwpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSl7CmlmKCFsaWdodGJveC5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLW9wZW4nKSkgcmV0dXJuOwppZihlLmtleSA9PT0gJ0VzY2FwZScpIGNsb3NlTGlnaHRib3goKTsKaWYoZS5rZXkgPT09ICdBcnJvd0xlZnQnKSBzaG93UmVsKC0xKTsKaWYoZS5rZXkgPT09ICdBcnJvd1JpZ2h0Jykgc2hvd1JlbCgxKTsKfSk7Cgp2YXIgZmFxSXRlbXMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy54bTItZmFxLWl0ZW0nKTsKZmFxSXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdGVtKXsKaXRlbS5hZGRFdmVudExpc3RlbmVyKCd0b2dnbGUnLCBmdW5jdGlvbigpewppZihpdGVtLm9wZW4pewpmYXFJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKG90aGVyKXsgaWYob3RoZXIhPT1pdGVtKSBvdGhlci5vcGVuID0gZmFsc2U7IH0pOwp9Cn0pOwp9KTsKfSkoKTsKPC9zY3JpcHQ+PC9kaXY+[\/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-18285","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 M2 CMYK printing module - Estroje.sk<\/title>\n<meta name=\"description\" content=\"CMYK printing module for the xTool M2 \u2013 full-colour inkjet printing on material (300 \u00d7 294 mm area) and Print &amp; Cut with the diode laser in one machine.\" \/>\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-m2-cmyk-printing-module\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"xTool M2 CMYK printing module - Estroje.sk\" \/>\n<meta property=\"og:description\" content=\"CMYK printing module for the xTool M2 \u2013 full-colour inkjet printing on material (300 \u00d7 294 mm area) and Print &amp; Cut with the diode laser in one machine.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/\" \/>\n<meta property=\"og:site_name\" content=\"Estroje.sk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-13T18:49:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-07T20:43:35+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=\"43 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-m2-cmyk-printing-module\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-m2-cmyk-printing-module\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#\\\/schema\\\/person\\\/84d5798eeb7a90de17a20b693102b040\"},\"headline\":\"xTool M2 CMYK printing module\",\"datePublished\":\"2026-10-13T18:49:36+00:00\",\"dateModified\":\"2026-11-07T20:43:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-m2-cmyk-printing-module\\\/\"},\"wordCount\":8512,\"publisher\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#organization\"},\"articleSection\":[\"xTool\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-m2-cmyk-printing-module\\\/\",\"url\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-m2-cmyk-printing-module\\\/\",\"name\":\"xTool M2 CMYK printing module - Estroje.sk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/#website\"},\"datePublished\":\"2026-10-13T18:49:36+00:00\",\"dateModified\":\"2026-11-07T20:43:35+00:00\",\"description\":\"CMYK printing module for the xTool M2 \u2013 full-colour inkjet printing on material (300 \u00d7 294 mm area) and Print & Cut with the diode laser in one machine.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-m2-cmyk-printing-module\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-m2-cmyk-printing-module\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/estroje.sk\\\/en\\\/xtool\\\/xtool-m2-cmyk-printing-module\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/estroje.sk\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"xTool M2 CMYK printing module\"}]},{\"@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 M2 CMYK printing module - Estroje.sk","description":"CMYK printing module for the xTool M2 \u2013 full-colour inkjet printing on material (300 \u00d7 294 mm area) and Print & Cut with the diode laser in one machine.","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-m2-cmyk-printing-module\/","og_locale":"en_US","og_type":"article","og_title":"xTool M2 CMYK printing module - Estroje.sk","og_description":"CMYK printing module for the xTool M2 \u2013 full-colour inkjet printing on material (300 \u00d7 294 mm area) and Print & Cut with the diode laser in one machine.","og_url":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/","og_site_name":"Estroje.sk","article_published_time":"2026-10-13T18:49:36+00:00","article_modified_time":"2026-11-07T20:43:35+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"43 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/#article","isPartOf":{"@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/"},"author":{"name":"admin","@id":"https:\/\/estroje.sk\/en\/#\/schema\/person\/84d5798eeb7a90de17a20b693102b040"},"headline":"xTool M2 CMYK printing module","datePublished":"2026-10-13T18:49:36+00:00","dateModified":"2026-11-07T20:43:35+00:00","mainEntityOfPage":{"@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/"},"wordCount":8512,"publisher":{"@id":"https:\/\/estroje.sk\/en\/#organization"},"articleSection":["xTool"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/","url":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/","name":"xTool M2 CMYK printing module - Estroje.sk","isPartOf":{"@id":"https:\/\/estroje.sk\/en\/#website"},"datePublished":"2026-10-13T18:49:36+00:00","dateModified":"2026-11-07T20:43:35+00:00","description":"CMYK printing module for the xTool M2 \u2013 full-colour inkjet printing on material (300 \u00d7 294 mm area) and Print & Cut with the diode laser in one machine.","breadcrumb":{"@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/estroje.sk\/en\/xtool\/xtool-m2-cmyk-printing-module\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/estroje.sk\/en\/"},{"@type":"ListItem","position":2,"name":"xTool M2 CMYK printing module"}]},{"@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\/18285","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=18285"}],"version-history":[{"count":3,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/posts\/18285\/revisions"}],"predecessor-version":[{"id":18724,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/posts\/18285\/revisions\/18724"}],"wp:attachment":[{"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/media?parent=18285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/categories?post=18285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/estroje.sk\/en\/wp-json\/wp\/v2\/tags?post=18285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}