{"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InB0LUJSIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+TUVTUVVJVEEgR0VTVMODTyBERSBCT0zDlUVTIOKAlCBQcm9zcGVjw6fDo28gQXV0b23DoXRpY2E8L3RpdGxlPgo8c3R5bGU+Cjpyb290ewogIC0tYmc6IzA3MGIwOTsKICAtLWdvbGQxOiNmN2M5NDg7IC0tZ29sZDI6I2ZmZTM3YTsgLS1ncmVlbjojMTBkMTdjOyAtLWdyZWVuLWQ6IzBhOGY1NjsKICAtLXRleHQ6I2Y0ZjdmNDsgLS1tdXRlZDojOTNhMzlhOwogIC0tY2FyZDpyZ2JhKDI1NSwyNTUsMjU1LC4wMzUpOyAtLWJvcmRlcjpyZ2JhKDI1NSwyNTUsMjU1LC4wOSk7CiAgLS1yYWRpdXM6MTZweDsKfQoqe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MDtwYWRkaW5nOjB9CmJvZHl7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTEwMHB4IDQ4MHB4IGF0IDUwJSAtMTAlLHJnYmEoMTYsMjA5LDEyNCwuMTMpLHRyYW5zcGFyZW50KSxyYWRpYWwtZ3JhZGllbnQoODUwcHggNDAwcHggYXQgOTIlIDIlLHJnYmEoMjQ3LDIwMSw3MiwuMTEpLHRyYW5zcGFyZW50KSx2YXIoLS1iZyk7Y29sb3I6dmFyKC0tdGV4dCk7bWluLWhlaWdodDoxMDB2aDtwYWRkaW5nOjIwcHggMTRweCA2MHB4fQouY29udGFpbmVye21heC13aWR0aDo4MjBweDttYXJnaW46MCBhdXRvfQouYnJhbmR7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjhweCAwIDIwcHh9Ci5icmFuZCBoMXtmb250LXNpemU6Y2xhbXAoMS40NXJlbSw2dncsMi4zNXJlbSk7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi4wMmVtO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkyZGVnLHZhcigtLWdvbGQxKSx2YXIoLS1nb2xkMikgNDIlLHZhcigtLWdyZWVuKSA5MiUpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7YmFja2dyb3VuZC1jbGlwOnRleHQ7Y29sb3I6dHJhbnNwYXJlbnQ7bGluZS1oZWlnaHQ6MS4xOH0KLmJyYW5kIHB7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZTouOXJlbX0KLmxpdmV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweDttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo3cHggMTZweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6cmdiYSgxNiwyMDksMTI0LC4xKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTYsMjA5LDEyNCwuMzUpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi4wM2VtO2NvbG9yOnZhcigtLWdyZWVuKX0KLmxpdmUub2Zme2JhY2tncm91bmQ6cmdiYSgyMzksNjgsNjgsLjEpO2JvcmRlci1jb2xvcjpyZ2JhKDIzOSw2OCw2OCwuNCk7Y29sb3I6I2ZmOGE4YX0KLmRvdHt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWdyZWVuKTtib3gtc2hhZG93OjAgMCAxMHB4IHZhcigtLWdyZWVuKTthbmltYXRpb246cHVsc2UgMS44cyBpbmZpbml0ZX0KLm9mZiAuZG90e2JhY2tncm91bmQ6I2VmNDQ0NDtib3gtc2hhZG93OjAgMCAxMHB4ICNlZjQ0NDQ7YW5pbWF0aW9uOm5vbmV9CkBrZXlmcmFtZXMgcHVsc2V7NTAle29wYWNpdHk6LjM1fX0KLmNhcmR7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpO3BhZGRpbmc6MjBweDttYXJnaW4tYm90dG9tOjE2cHg7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3gtc2hhZG93OjAgMTBweCA0MHB4IHJnYmEoMCwwLDAsLjQ1KX0KLmNhcmQgaDJ7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1ib3R0b206MTRweH0KLmdyaWR7ZGlzcGxheTpncmlkO2dhcDoxMnB4fQouZ3JpZC0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyfQpAbWVkaWEobWF4LXdpZHRoOjU2MHB4KXsuZ3JpZC0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQpsYWJlbHtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTouNzRyZW07Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi1ib3R0b206NXB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA1ZW19CmxhYmVsIC5yZXF7Y29sb3I6dmFyKC0tZ29sZDIpfQpzZWxlY3QsaW5wdXR7d2lkdGg6MTAwJTtwYWRkaW5nOjEycHggMTNweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zNSk7Y29sb3I6dmFyKC0tdGV4dCk7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZTouOTVyZW07b3V0bGluZTpub25lO3RyYW5zaXRpb246LjE1c30Kc2VsZWN0OmZvY3VzLGlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkMSk7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgyNDcsMjAxLDcyLC4xNSl9Ci5oZWxwe2ZvbnQtc2l6ZTouNzhyZW07Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi10b3A6NnB4O2xpbmUtaGVpZ2h0OjEuNTV9Ci5idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6MTNweCAyMHB4O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MTJweDtmb250LXNpemU6LjkycmVtO2ZvbnQtd2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOi4xNXM7d2lkdGg6MTAwJX0KLmJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45OCl9Ci5idG46ZGlzYWJsZWR7b3BhY2l0eTouNX0KLmJ0bi1nb2xke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkyZGVnLHZhcigtLWdvbGQxKSx2YXIoLS1nb2xkMikpO2NvbG9yOiMyMzFhMDJ9Ci5idG4tZ3JlZW57YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTJkZWcsdmFyKC0tZ3JlZW4tZCksdmFyKC0tZ3JlZW4pKTtjb2xvcjojMDIxMjBhfQouYnRuLWdob3N0e2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDYpO2NvbG9yOnZhcigtLXRleHQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKX0KLmJ0bi1kYW5nZXJ7YmFja2dyb3VuZDpyZ2JhKDIzOSw2OCw2OCwuMTQpO2NvbG9yOiNmZjhhOGE7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIzOSw2OCw2OCwuNCl9Ci5idG4tc217cGFkZGluZzo4cHggMTJweDtmb250LXNpemU6LjhyZW07Ym9yZGVyLXJhZGl1czo5cHg7d2lkdGg6YXV0b30KLmJ0bi1ncm91cHtkaXNwbGF5OmZsZXg7Z2FwOjlweDttYXJnaW4tdG9wOjE0cHh9Ci5idG4tZ3JvdXAgLmJ0bntmbGV4OjF9Ci5waWxsc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjEwcHh9CkBtZWRpYShtYXgtd2lkdGg6NTYwcHgpey5waWxsc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX19Ci5waWxse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjEycHggOHB4O3RleHQtYWxpZ246Y2VudGVyfQoucGlsbCBie2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEuMzVyZW07Zm9udC13ZWlnaHQ6ODAwO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkyZGVnLHZhcigtLWdvbGQyKSx2YXIoLS1nb2xkMSkpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7YmFja2dyb3VuZC1jbGlwOnRleHQ7Y29sb3I6dHJhbnNwYXJlbnR9Ci5waWxsIHNwYW57Zm9udC1zaXplOi42OHJlbTtjb2xvcjp2YXIoLS1tdXRlZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNWVtfQoucGlsbC5ncmVlbiBie2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkyZGVnLHZhcigtLWdyZWVuKSwjN2NmZmM0KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0O2NvbG9yOnRyYW5zcGFyZW50fQouZmVlZHttYXJnaW4tdG9wOjEycHg7bWF4LWhlaWdodDoyNjBweDtvdmVyZmxvdzphdXRvfQouZmVlZC1pdGVte2Rpc3BsYXk6ZmxleDtnYXA6MTBweDtwYWRkaW5nOjlweCAycHg7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkIHZhcigtLWJvcmRlcik7Zm9udC1zaXplOi44M3JlbTthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fQouZmVlZC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lfQouZmVlZC1pdGVtIHRpbWV7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZTouNzJyZW07d2hpdGUtc3BhY2U6bm93cmFwO3BhZGRpbmctdG9wOjJweH0KLnRhZ3tmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjRyZW07Zm9udC13ZWlnaHQ6ODAwO3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVzOjk5OXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0KLnRhZy5hYm9yZGFnZW17YmFja2dyb3VuZDpyZ2JhKDU5LDEzMCwyNDYsLjE1KTtjb2xvcjojN2RiNGZmfQoudGFnLnJlc3Bvc3Rhe2JhY2tncm91bmQ6cmdiYSgxNiwyMDksMTI0LC4xMyk7Y29sb3I6dmFyKC0tZ3JlZW4pfQoudGFnLmhhbmRvZmZ7YmFja2dyb3VuZDpyZ2JhKDI0NywyMDEsNzIsLjE0KTtjb2xvcjp2YXIoLS1nb2xkMil9Ci50YWcub3B0b3V0LC50YWcuZXJyb3tiYWNrZ3JvdW5kOnJnYmEoMjM5LDY4LDY4LC4xNCk7Y29sb3I6I2ZmOGE4YX0KLnRhZy5lbnRyYWRhe2JhY2tncm91bmQ6cmdiYSgxNjgsODUsMjQ3LC4xNSk7Y29sb3I6I2M5YTZmZn0KLnRhZy5saXN0YXtiYWNrZ3JvdW5kOnJnYmEoMTYsMjA5LDEyNCwuMTMpO2NvbG9yOnZhcigtLWdyZWVuKX0KLml0ZW17ZGlzcGxheTpmbGV4O2dhcDo4cHg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTBweCAwO2JvcmRlci1ib3R0b206MXB4IGRhc2hlZCB2YXIoLS1ib3JkZXIpO2ZvbnQtc2l6ZTouODZyZW19Ci5pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lfQouaXRlbSAudHtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfQouaXRlbSAuc3tjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOi43NHJlbX0KLnNlY3Rpb24tbGFiZWx7Zm9udC1zaXplOi43NHJlbTtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luOjE0cHggMCA0cHg7Zm9udC13ZWlnaHQ6ODAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDZlbX0KLnJlc3VsdHN7bWFyZ2luLXRvcDoxMnB4O3BhZGRpbmc6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6Ljc0cmVtO3doaXRlLXNwYWNlOnByZS13cmFwO21heC1oZWlnaHQ6MjAwcHg7b3ZlcmZsb3c6YXV0bztjb2xvcjojYzlkNmNlfQouc3Bpbm5lcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O2JvcmRlcjoycHggc29saWQgY3VycmVudENvbG9yO2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246c3BpbiAuOHMgbGluZWFyIGluZmluaXRlfQpAa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0KLnRvYXN0e3Bvc2l0aW9uOmZpeGVkO2JvdHRvbToyMnB4O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMjBweCk7bWF4LXdpZHRoOjkydnc7cGFkZGluZzoxM3B4IDIwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6IzE0MWIxNztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym94LXNoYWRvdzowIDEwcHggNDBweCByZ2JhKDAsMCwwLC42KTt6LWluZGV4OjEwMDtvcGFjaXR5OjA7dHJhbnNpdGlvbjouM3M7Zm9udC1zaXplOi44OHJlbX0KLnRvYXN0LnNob3d7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApO29wYWNpdHk6MX0KLnRvYXN0LnN1Y2Nlc3N7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHZhcigtLWdyZWVuKX0KLnRvYXN0LmVycm9ye2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZWY0NDQ0fQoudG9hc3QuaW5mb3tib3JkZXItbGVmdDo0cHggc29saWQgdmFyKC0tZ29sZDEpfQouZmxvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC13cmFwOndyYXA7bWFyZ2luOjEwcHggMCAycHg7Zm9udC1zaXplOi44cmVtO2NvbG9yOnZhcigtLW11dGVkKX0KLmZsb3cgYntjb2xvcjp2YXIoLS10ZXh0KX0KLmZsb3cgLmFycntjb2xvcjp2YXIoLS1nb2xkMSk7Zm9udC13ZWlnaHQ6ODAwfQouc2hpZWxke21hcmdpbi10b3A6MTJweDtwYWRkaW5nOjEycHggMTRweDtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDE2LDIwOSwxMjQsLjA2KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTYsMjA5LDEyNCwuMjUpO2ZvbnQtc2l6ZTouNzhyZW07bGluZS1oZWlnaHQ6MS42O2NvbG9yOiNjOWQ2Y2V9Ci5zaGllbGQud2FybntiYWNrZ3JvdW5kOnJnYmEoMjM5LDY4LDY4LC4wNyk7Ym9yZGVyLWNvbG9yOnJnYmEoMjM5LDY4LDY4LC4zNSl9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CjxkaXYgY2xhc3M9ImJyYW5kIj4KPGgxPvCfjYAgTUVTUVVJVEEgR0VTVMODTyBERSBCT0zDlUVTPC9oMT4KPHA+UHJvc3BlY8Onw6NvIGF1dG9tw6F0aWNhIG5vIFdoYXRzQXBwIOKAlCBidXNjYSBncnVwb3MsIGV4dHJhaSBjb250YXRvcyBlIGVudmlhIGEgbGlzdGEgc296aW5oYTwvcD4KPGRpdiBjbGFzcz0ibGl2ZSIgaWQ9ImxpdmVCYWRnZSI+PHNwYW4gY2xhc3M9ImRvdCIgaWQ9ImxpdmVEb3QiPjwvc3Bhbj48c3BhbiBpZD0ibGl2ZVRleHQiPnZlcmlmaWNhbmRv4oCmPC9zcGFuPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImNhcmQiPgo8aDI+8J+TjSBPbmRlIHByb3NwZWN0YXI8L2gyPgo8ZGl2IGNsYXNzPSJncmlkIGdyaWQtMiI+CjxkaXY+PGxhYmVsPkNpZGFkZTwvbGFiZWw+PGlucHV0IGlkPSJmQ2lkYWRlIiBwbGFjZWhvbGRlcj0iRXg6IFZpdMOzcmlhIGRhIENvbnF1aXN0YSI+PC9kaXY+CjxkaXY+PGxhYmVsPkVzdGFkbzwvbGFiZWw+PGlucHV0IGlkPSJmRXN0YWRvIiBwbGFjZWhvbGRlcj0iRXg6IEJBICh2YWxlIHNvemluaG8gcC8gbyBlc3RhZG8gdG9kbykiIG1heGxlbmd0aD0iMjAiPjwvZGl2Pgo8ZGl2PjxsYWJlbD5CYWlycm8gPHNwYW4gc3R5bGU9InRleHQtdHJhbnNmb3JtOm5vbmUiPihvcGNpb25hbCk8L3NwYW4+PC9sYWJlbD48aW5wdXQgaWQ9ImZCYWlycm8iIHBsYWNlaG9sZGVyPSJFeDogQ2VudHJvIj48L2Rpdj4KPGRpdj48bGFiZWw+Q0VQIDxzcGFuIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTpub25lIj4ob3BjaW9uYWwpPC9zcGFuPjwvbGFiZWw+PGlucHV0IGlkPSJmQ2VwIiBwbGFjZWhvbGRlcj0iRXg6IDQ1MDAwLTAwMCIgaW5wdXRtb2RlPSJudW1lcmljIj48L2Rpdj4KPGRpdj48bGFiZWw+TcOheC4gY29udGF0b3MvZGlhPC9sYWJlbD48aW5wdXQgaWQ9ImZNYXhBZGRzIiB0eXBlPSJudW1iZXIiIHZhbHVlPSIxMCIgbWluPSIxIiBtYXg9IjMwIj48L2Rpdj4KPGRpdj48bGFiZWw+V2hhdHNBcHAgcXVlIHJlY2ViZSBhIGxpc3RhPC9sYWJlbD48aW5wdXQgaWQ9ImZIYW5kb2ZmIiB2YWx1ZT0iNTU3Nzg4NDQ0MDQwIiBzcGVsbGNoZWNrPSJmYWxzZSI+PC9kaXY+CjwvZGl2Pgo8cCBjbGFzcz0iaGVscCI+SW5mb3JtZSBhIDxiPmNpZGFkZSBPVSBvIGVzdGFkbzwvYj4gKGTDoSBwcmEgYnVzY2FyIGEgQmFoaWEgdG9kaW5oYSBzw7MgY29tICJCQSIpLiBPIG5pY2hvIMOpIHNlbXByZSBib2zDtWVzLCBsb3RlcmlhLCBsb3TDqXJpY2EgZSBzb3J0ZWlvcy4gQmFpcnJvIGUgQ0VQIHJlZmluYW0uIExpbWl0ZSBzZWd1cm86IDxiPjEwL2RpYTwvYj4gKDUgw6BzIDEyaCArIDUgw6BzIDE4aCkuPC9wPgo8ZGl2IGNsYXNzPSJmbG93Ij48Yj5CdXNjYXI8L2I+PHNwYW4gY2xhc3M9ImFyciI+4oaSPC9zcGFuPjxiPkVudHJhcjwvYj48c3BhbiBjbGFzcz0iYXJyIj7ihpI8L3NwYW4+PGI+RXh0cmFpciBzZW0gYWRtaW5zPC9iPjxzcGFuIGNsYXNzPSJhcnIiPuKGkjwvc3Bhbj48Yj5FbnZpYXIgbGlzdGE8L2I+PC9kaXY+CjxkaXYgY2xhc3M9InNoaWVsZCIgaWQ9InNoaWVsZEJveCI+8J+boe+4jyA8Yj5Qcm90ZcOnw6NvIGF0aXZhOjwvYj4gaW7DrWNpbyBncmFkdWFsIOKAoiBtw6F4IDIgZ3J1cG9zL2RpYSDigKIgcGF1c2EgYXV0b23DoXRpY2EgZW0gZmFsaGFzIOKAoiBudW5jYSByZXBldGUgY29udGF0byDigKIgc8OzIGVudmlhIHBhcmEgbyBzZXUgbsO6bWVyby48L2Rpdj4KPGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBpZD0iYnRuU2F2ZSI+8J+SviBTYWx2YXIgZSBsaWdhcjwvYnV0dG9uPgo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhbmdlciIgaWQ9ImJ0blBhdXNlIj7ij7ggUGF1c2FyIHR1ZG88L2J1dHRvbj4KPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY2FyZCI+CjxoMj7wn5OKIE1vbml0b3I8L2gyPgo8ZGl2IGNsYXNzPSJwaWxscyI+CjxkaXYgY2xhc3M9InBpbGwiPjxiIGlkPSJwRXh0cmEiPjA8L2I+PHNwYW4+ZXh0cmHDrWRvczwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0icGlsbCBncmVlbiI+PGIgaWQ9InBFbnYiPjA8L2I+PHNwYW4+ZW52aWFkb3MgaG9qZTwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFzcz0icGlsbCI+PGIgaWQ9InBGaWxhIj4wPC9iPjxzcGFuPm5hIGZpbGE8L3NwYW4+PC9kaXY+CjxkaXYgY2xhc3M9InBpbGwiPjxiIGlkPSJwR3J1cG9zIj4wPC9iPjxzcGFuPmdydXBvcyBlbnRyYWRvczwvc3Bhbj48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPkF0aXZpZGFkZSByZWNlbnRlPC9kaXY+CjxkaXYgY2xhc3M9ImZlZWQiIGlkPSJmZWVkIj48cCBjbGFzcz0iaGVscCI+U2VtIGF0aXZpZGFkZSBhaW5kYS48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPkdydXBvcyBxdWUgZW50cmVpPC9kaXY+CjxkaXYgaWQ9InYyam9pbmVkIj48cCBjbGFzcz0iaGVscCI+TmVuaHVtIGFpbmRhLjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0iYnRuLWdyb3VwIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdob3N0IiBpZD0iYnRuU3RhdHVzIj7wn5SEIEF0dWFsaXphcjwvYnV0dG9uPjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImNhcmQiPgo8aDI+8J+UjCBTZXNzw6NvIE9wZW5XQTwvaDI+CjxsYWJlbD5JRCBkYSBzZXNzw6NvIChib3QtY2xpZW50ZXMpPC9sYWJlbD4KPGlucHV0IGlkPSJzZXNzaW9uSWQiIHZhbHVlPSI0MDI4MDU5Mi1hMjBmLTQ5ZTMtODM3OS04N2QzY2NiMzJkMWYiIHNwZWxsY2hlY2s9ImZhbHNlIj4KPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+TG9nIHTDqWNuaWNvPC9kaXY+CjxwcmUgaWQ9ImxvZyIgY2xhc3M9InJlc3VsdHMiPkFndWFyZGFuZG/igKY8L3ByZT4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGlkPSJ0b2FzdCIgY2xhc3M9InRvYXN0Ij48L2Rpdj4KCjxzY3JpcHQ+CmNvbnN0IFdFQkhPT0sgPSAnaHR0cHM6Ly9uOG4tbjhuLnNibDB3cS5lYXN5cGFuZWwuaG9zdC93ZWJob29rL3Byb3NwZWNjYW8nOwpjb25zdCAkID0gcyA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHMpOwpjb25zdCBsb2cgPSAkKCcjbG9nJyksIHRvYXN0ID0gJCgnI3RvYXN0Jyk7CmNvbnN0IHNsZWVwID0gbXMgPT4gbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIG1zKSk7CmxldCBsYXN0QXV0byA9IG51bGwsIGluaXREb25lID0gZmFsc2UsIHJlZnJlc2hUaW1lciA9IG51bGw7CgpmdW5jdGlvbiBzaG93VG9hc3QobXNnLCB0eXBlKSB7IHRvYXN0LnRleHRDb250ZW50ID0gbXNnOyB0b2FzdC5jbGFzc05hbWUgPSAndG9hc3QgJyArICh0eXBlIHx8ICdpbmZvJykgKyAnIHNob3cnOyBzZXRUaW1lb3V0KCgpID0+IHRvYXN0LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKSwgNDUwMCk7IH0KZnVuY3Rpb24gc2V0TG9nKG8pIHsgbG9nLnRleHRDb250ZW50ID0gdHlwZW9mIG8gPT09ICdzdHJpbmcnID8gbyA6IEpTT04uc3RyaW5naWZ5KG8sIG51bGwsIDIpOyB9CmZ1bmN0aW9uIHNldExvYWRpbmcoYnRuLCBvbikgeyBidG4uZGlzYWJsZWQgPSBvbjsgYnRuLmlubmVySFRNTCA9IChvbiA/ICc8c3BhbiBjbGFzcz0ic3Bpbm5lciI+PC9zcGFuPiAnIDogJycpICsgYnRuLmRhdGFzZXQubGFiZWw7IH0KZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmJ0bicpLmZvckVhY2goYiA9PiB7IGIuZGF0YXNldC5sYWJlbCA9IGIudGV4dENvbnRlbnQ7IH0pOwpmdW5jdGlvbiBzaWQoKSB7IHJldHVybiAkKCcjc2Vzc2lvbklkJykudmFsdWUudHJpbSgpOyB9CmZ1bmN0aW9uIGZtdEhvcmEoaXNvKSB7IHRyeSB7IGNvbnN0IGQgPSBuZXcgRGF0ZShpc28pOyByZXR1cm4gZC50b0xvY2FsZURhdGVTdHJpbmcoJ3B0LUJSJywgeyBkYXk6ICcyLWRpZ2l0JywgbW9udGg6ICcyLWRpZ2l0JyB9KSArICcgJyArIGQudG9Mb2NhbGVUaW1lU3RyaW5nKCdwdC1CUicsIHsgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gJyc7IH0gfQphc3luYyBmdW5jdGlvbiBwb3N0KGJvZHkpIHsKICBjb25zdCByID0gYXdhaXQgZmV0Y2goV0VCSE9PSywgeyBtZXRob2Q6ICdQT1NUJywgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpIH0pOwogIGNvbnN0IHR4dCA9IGF3YWl0IHIudGV4dCgpOyBsZXQgajsgdHJ5IHsgaiA9IEpTT04ucGFyc2UodHh0KTsgfSBjYXRjaCAoZSkgeyBqID0geyByYXc6IHR4dCB9OyB9CiAgcmV0dXJuIHsgaHR0cDogci5zdGF0dXMsIGJvZHk6IGogfTsKfQpmdW5jdGlvbiBhdXRvUGF5bG9hZChleHRyYSkgewogIHJldHVybiBPYmplY3QuYXNzaWduKHsKICAgIG1vZG86ICdhdXRvJywgY2lkYWRlOiAkKCcjZkNpZGFkZScpLnZhbHVlLCBiYWlycm86ICQoJyNmQmFpcnJvJykudmFsdWUsCiAgICBjZXA6ICQoJyNmQ2VwJykudmFsdWUsIGVzdGFkbzogJCgnI2ZFc3RhZG8nKS52YWx1ZSwgdGVybW86ICdib2zDtWVzIGxvdGVyaWEgbG90w6lyaWNhIHNvcnRlaW9zJywKICAgIG1heEFkZHM6ICQoJyNmTWF4QWRkcycpLnZhbHVlIHx8IDEwLCBtYXhKb2luczogMiwgaGFuZG9mZjogJCgnI2ZIYW5kb2ZmJykudmFsdWUsCiAgICBzZXNzaW9uSWQ6IHNpZCgpCiAgfSwgZXh0cmEgfHwge30pOwp9CmZ1bmN0aW9uIHJlbmRlcihzdCkgewogIGlmICghc3QgfHwgdHlwZW9mIHN0ICE9PSAnb2JqZWN0JykgcmV0dXJuOwogIGlmIChzdC5hdXRvKSB7CiAgICBsYXN0QXV0byA9IHN0LmF1dG87CiAgICBjb25zdCBvbiA9IHN0LmF1dG8uYXRpdm8gIT09IGZhbHNlOwogICAgJCgnI2xpdmVCYWRnZScpLmNsYXNzTGlzdC50b2dnbGUoJ29mZicsICFvbik7CiAgICAkKCcjbGl2ZVRleHQnKS50ZXh0Q29udGVudCA9IG9uID8gJ0FVVE9Nw4FUSUNPIExJR0FETyDigJQgMTJoIGUgMThoJyA6ICdQQVVTQURPJzsKICAgICQoJyNidG5QYXVzZScpLmlubmVySFRNTCA9IG9uID8gJ+KPuCBQYXVzYXIgdHVkbycgOiAn4pa2IFJldG9tYXInOwogICAgJCgnI2J0blBhdXNlJykuZGF0YXNldC5sYWJlbCA9IG9uID8gJ+KPuCBQYXVzYXIgdHVkbycgOiAn4pa2IFJldG9tYXInOwogICAgaWYgKCFpbml0RG9uZSkgewogICAgICBjb25zdCBMID0gKHN0LmF1dG8ubG9jYWlzICYmIHN0LmF1dG8ubG9jYWlzWzBdKSB8fCB7fTsKICAgICAgaWYgKEwuY2lkYWRlKSAkKCcjZkNpZGFkZScpLnZhbHVlID0gTC5jaWRhZGU7CiAgICAgIGlmIChMLmJhaXJybykgJCgnI2ZCYWlycm8nKS52YWx1ZSA9IEwuYmFpcnJvOwogICAgICBpZiAoTC5jZXApICQoJyNmQ2VwJykudmFsdWUgPSBMLmNlcDsKICAgICAgaWYgKEwuZXN0YWRvKSAkKCcjZkVzdGFkbycpLnZhbHVlID0gTC5lc3RhZG87CiAgICAgIGlmIChzdC5hdXRvLmhhbmRvZmYpICQoJyNmSGFuZG9mZicpLnZhbHVlID0gc3QuYXV0by5oYW5kb2ZmOwogICAgICBpZiAoc3QuYXV0by5tYXhBZGRzKSAkKCcjZk1heEFkZHMnKS52YWx1ZSA9IHN0LmF1dG8ubWF4QWRkczsKICAgICAgaW5pdERvbmUgPSB0cnVlOwogICAgfQogICAgaWYgKHN0LmNpcmN1aXRvICYmIHN0LmNpcmN1aXRvLnBhdXNhZG8pIHsKICAgICAgJCgnI3NoaWVsZEJveCcpLmNsYXNzTGlzdC5hZGQoJ3dhcm4nKTsKICAgICAgJCgnI3NoaWVsZEJveCcpLmlubmVySFRNTCA9ICfimqDvuI8gPGI+UGF1c2EgZGUgc2VndXJhbsOnYTo8L2I+ICcgKyBzdC5jaXJjdWl0by5tb3Rpdm8gKyAnLiBPIHNpc3RlbWEgcmV0b21hIHNvemluaG8gcXVhbmRvIG5vcm1hbGl6YXIuJzsKICAgIH0gZWxzZSB7CiAgICAgICQoJyNzaGllbGRCb3gnKS5jbGFzc0xpc3QucmVtb3ZlKCd3YXJuJyk7CiAgICAgIGNvbnN0IHRldG8gPSBzdC50ZXRvSG9qZSA/ICcgKGxpYmVyYWRvIGhvamU6ICcgKyBzdC50ZXRvSG9qZSArICcpJyA6ICcnOwogICAgICAkKCcjc2hpZWxkQm94JykuaW5uZXJIVE1MID0gJ/Cfm6HvuI8gPGI+UHJvdGXDp8OjbyBhdGl2YTo8L2I+IGluw61jaW8gZ3JhZHVhbCcgKyB0ZXRvICsgJyDigKIgbcOheCAyIGdydXBvcy9kaWEg4oCiIHBhdXNhIGF1dG9tw6F0aWNhIGVtIGZhbGhhcyDigKIgbnVuY2EgcmVwZXRlIGNvbnRhdG8g4oCiIHPDsyBlbnZpYSBwYXJhIG8gc2V1IG7Dum1lcm8uJzsKICAgIH0KICB9CiAgaWYgKHN0LnN0YXRzKSB7CiAgICAkKCcjcEV4dHJhJykudGV4dENvbnRlbnQgPSBzdC5zdGF0cy5leHRyYWlkb3MgfHwgMDsKICAgICQoJyNwRW52JykudGV4dENvbnRlbnQgPSBzdC5zdGF0cy5lbnZpYWRvc0hvamUgfHwgMDsKICAgICQoJyNwRmlsYScpLnRleHRDb250ZW50ID0gc3Quc3RhdHMubmFGaWxhIHx8IDA7CiAgfQogIGlmIChzdC5ncnVwb3NFbnRyYWRvcykgewogICAgJCgnI3BHcnVwb3MnKS50ZXh0Q29udGVudCA9IHN0LmdydXBvc0VudHJhZG9zLmxlbmd0aDsKICAgIGNvbnN0IGRpdiA9ICQoJyN2MmpvaW5lZCcpOyBkaXYuaW5uZXJIVE1MID0gJyc7CiAgICBpZiAoIXN0LmdydXBvc0VudHJhZG9zLmxlbmd0aCkgZGl2LmlubmVySFRNTCA9ICc8cCBjbGFzcz0iaGVscCI+TmVuaHVtIGFpbmRhLjwvcD4nOwogICAgc3QuZ3J1cG9zRW50cmFkb3Muc2xpY2UoMCwgMTIpLmZvckVhY2goZyA9PiB7CiAgICAgIGNvbnN0IGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZC5jbGFzc05hbWUgPSAnaXRlbSc7CiAgICAgIGQuaW5uZXJIVE1MID0gJzxzcGFuIGNsYXNzPSJ0Ij4nICsgKGcubmFtZSB8fCBnLmdydXBvKSArICc8YnI+PHNwYW4gY2xhc3M9InMiPicgKyBnLmdydXBvICsgJzwvc3Bhbj48L3NwYW4+JzsKICAgICAgZGl2LmFwcGVuZENoaWxkKGQpOwogICAgfSk7CiAgfQogIGNvbnN0IGZlZWQgPSAkKCcjZmVlZCcpOyBmZWVkLmlubmVySFRNTCA9ICcnOwogIGlmIChzdC5hdGl2aWRhZGUgJiYgc3QuYXRpdmlkYWRlLmxlbmd0aCkgewogICAgc3QuYXRpdmlkYWRlLmZvckVhY2goYSA9PiB7CiAgICAgIGNvbnN0IGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZC5jbGFzc05hbWUgPSAnZmVlZC1pdGVtJzsKICAgICAgZC5pbm5lckhUTUwgPSAnPHRpbWU+JyArIGZtdEhvcmEoYS5ob3JhKSArICc8L3RpbWU+PHNwYW4gY2xhc3M9InRhZyAnICsgKGEudGlwbyB8fCAnaW5mbycpICsgJyI+JyArIChhLnRpcG8gfHwgJycpICsgJzwvc3Bhbj48c3Bhbj4nICsgKGEudGV4dG8gfHwgJycpICsgJzwvc3Bhbj4nOwogICAgICBmZWVkLmFwcGVuZENoaWxkKGQpOwogICAgfSk7CiAgfSBlbHNlIGZlZWQuaW5uZXJIVE1MID0gJzxwIGNsYXNzPSJoZWxwIj5TZW0gYXRpdmlkYWRlIGFpbmRhLjwvcD4nOwp9CiQoJyNidG5TYXZlJykub25jbGljayA9IGFzeW5jICgpID0+IHsKICBjb25zdCBidG4gPSAkKCcjYnRuU2F2ZScpOyBzZXRMb2FkaW5nKGJ0biwgdHJ1ZSk7CiAgdHJ5IHsKICAgIGlmICghJCgnI2ZDaWRhZGUnKS52YWx1ZS50cmltKCkgJiYgISQoJyNmRXN0YWRvJykudmFsdWUudHJpbSgpKSB7IHNob3dUb2FzdCgnSW5mb3JtZSBhIENJREFERSBvdSBvIEVTVEFETycsICdlcnJvcicpOyByZXR1cm47IH0KICAgIGF3YWl0IHBvc3QoT2JqZWN0LmFzc2lnbih7IGFjdGlvbjogJ3NhdmUtYXV0bycgfSwgYXV0b1BheWxvYWQoeyBhdGl2bzogdHJ1ZSB9KSkpOwogICAgcmVuZGVyKChhd2FpdCBwb3N0KHsgYWN0aW9uOiAnc3RhdHVzJywgc2Vzc2lvbklkOiBzaWQoKSB9KSkuYm9keSk7CiAgICBzaG93VG9hc3QoJ0F1dG9tYcOnw6NvIGxpZ2FkYSDwn6SWIOKAlCAxMmggZSAxOGggdG9kb3Mgb3MgZGlhcycsICdzdWNjZXNzJyk7CiAgfSBjYXRjaCAoZSkgeyBzaG93VG9hc3QoJ0Vycm86ICcgKyBlLm1lc3NhZ2UsICdlcnJvcicpOyB9IGZpbmFsbHkgeyBzZXRMb2FkaW5nKGJ0biwgZmFsc2UpOyB9Cn07CiQoJyNidG5QYXVzZScpLm9uY2xpY2sgPSBhc3luYyAoKSA9PiB7CiAgY29uc3QgYnRuID0gJCgnI2J0blBhdXNlJyk7IHNldExvYWRpbmcoYnRuLCB0cnVlKTsKICB0cnkgewogICAgY29uc3Qgb24gPSAhKGxhc3RBdXRvICYmIGxhc3RBdXRvLmF0aXZvID09PSBmYWxzZSk7CiAgICBpZiAob24pIHsgYXdhaXQgcG9zdCh7IGFjdGlvbjogJ3N0b3AnLCBzZXNzaW9uSWQ6IHNpZCgpIH0pOyBzaG93VG9hc3QoJ1R1ZG8gcGF1c2FkbycsICdpbmZvJyk7IH0KICAgIGVsc2UgewogICAgICBpZiAoISQoJyNmQ2lkYWRlJykudmFsdWUudHJpbSgpICYmICEkKCcjZkVzdGFkbycpLnZhbHVlLnRyaW0oKSkgeyBzaG93VG9hc3QoJ0luZm9ybWUgYSBjaWRhZGUgb3UgbyBlc3RhZG8gcHJpbWVpcm8nLCAnZXJyb3InKTsgcmV0dXJuOyB9CiAgICAgIGF3YWl0IHBvc3QoT2JqZWN0LmFzc2lnbih7IGFjdGlvbjogJ3NhdmUtYXV0bycgfSwgYXV0b1BheWxvYWQoeyBhdGl2bzogdHJ1ZSB9KSkpOwogICAgICBzaG93VG9hc3QoJ1JldG9tYWRvIPCfpJYnLCAnc3VjY2VzcycpOwogICAgfQogICAgYXdhaXQgc2xlZXAoNDAwMCk7CiAgICByZW5kZXIoKGF3YWl0IHBvc3QoeyBhY3Rpb246ICdzdGF0dXMnLCBzZXNzaW9uSWQ6IHNpZCgpIH0pKS5ib2R5KTsKICB9IGNhdGNoIChlKSB7IHNob3dUb2FzdCgnRXJybzogJyArIGUubWVzc2FnZSwgJ2Vycm9yJyk7IH0gZmluYWxseSB7IHNldExvYWRpbmcoYnRuLCBmYWxzZSk7IH0KfTsKJCgnI2J0blN0YXR1cycpLm9uY2xpY2sgPSBhc3luYyAoKSA9PiB7CiAgY29uc3QgYnRuID0gJCgnI2J0blN0YXR1cycpOyBzZXRMb2FkaW5nKGJ0biwgdHJ1ZSk7CiAgdHJ5IHsgY29uc3Qgc3QgPSAoYXdhaXQgcG9zdCh7IGFjdGlvbjogJ3N0YXR1cycsIHNlc3Npb25JZDogc2lkKCkgfSkpLmJvZHk7IHNldExvZyhzdCk7IHJlbmRlcihzdCk7IH0KICBjYXRjaCAoZSkgeyBzaG93VG9hc3QoJ0Vycm86ICcgKyBlLm1lc3NhZ2UsICdlcnJvcicpOyB9IGZpbmFsbHkgeyBzZXRMb2FkaW5nKGJ0biwgZmFsc2UpOyB9Cn07CmFzeW5jIGZ1bmN0aW9uIHJlZnJlc2goKSB7IHRyeSB7IHJlbmRlcigoYXdhaXQgcG9zdCh7IGFjdGlvbjogJ3N0YXR1cycsIHNlc3Npb25JZDogc2lkKCkgfSkpLmJvZHkpOyB9IGNhdGNoIChlKSB7fSB9Cihhc3luYyAoKSA9PiB7CiAgdHJ5IHsgcmVuZGVyKChhd2FpdCBwb3N0KHsgYWN0aW9uOiAnc3RhdHVzJywgc2Vzc2lvbklkOiBzaWQoKSB9KSkuYm9keSk7IH0gY2F0Y2ggKGUpIHsgc2V0TG9nKCdFcnJvOiAnICsgZS5tZXNzYWdlKTsgfQogIHJlZnJlc2hUaW1lciA9IHNldEludGVydmFsKHJlZnJlc2gsIDQ1MDAwKTsKfSkoKTsKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg=="}