ZGlmZiAtLWdpdCBhL2RvYy9odG1sL2Fib3V0Lmh0bWwgYi9kb2MvaHRtbC9hYm91dC5odG1sCmluZGV4IDNkNTAxYjAuLjMzZjVlNDMgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2Fib3V0Lmh0bWwKKysrIGIvZG9jL2h0bWwvYWJvdXQuaHRtbApAQCAtOTYsNyArOTYsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5QcmV2aW91czo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJzb2NrZXQtbWV0aG9kcy5odG1sIj40LjMgQWNlc3NpbmcgU29ja2V0IE1ldGhvZHM8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIEhSRUY9InB5T3BlblNTTC5odG1sIj5QeXRob24gT3BlblNTTCBNYW51YWw8L0E+CiA8aHI+Ci08c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2ExLjwvc3Bhbj4KKzxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTIuPC9zcGFuPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvYnVpbGRpbmctdW5peC5odG1sIGIvZG9jL2h0bWwvYnVpbGRpbmctdW5peC5odG1sCmluZGV4IGQ5NTMwMTcuLjZjYjg3N2UgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2J1aWxkaW5nLXVuaXguaHRtbAorKysgYi9kb2MvaHRtbC9idWlsZGluZy11bml4Lmh0bWwKQEAgLTExNyw3ICsxMTcsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJidWlsZGluZy5odG1sIj4yIEJ1aWxkaW5nIGFuZCBJbnN0YWxsaW5nPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9ImJ1aWxkaW5nLXdpbmRvd3MuaHRtbCI+Mi4yIEJ1aWxkaW5nIHRoZSBNb2R1bGU8L0E+CiA8aHI+Ci08c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2ExLjwvc3Bhbj4KKzxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTIuPC9zcGFuPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvYnVpbGRpbmctd2luZG93cy5odG1sIGIvZG9jL2h0bWwvYnVpbGRpbmctd2luZG93cy5odG1sCmluZGV4IGQxNjJkY2EuLmIzMjMyMDIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2J1aWxkaW5nLXdpbmRvd3MuaHRtbAorKysgYi9kb2MvaHRtbC9idWlsZGluZy13aW5kb3dzLmh0bWwKQEAgLTEwOSw3ICsxMDksNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJidWlsZGluZy5odG1sIj4yIEJ1aWxkaW5nIGFuZCBJbnN0YWxsaW5nPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wuaHRtbCI+MyBPcGVuU1NMICA8L0E+CiA8aHI+Ci08c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2ExLjwvc3Bhbj4KKzxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTIuPC9zcGFuPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvYnVpbGRpbmcuaHRtbCBiL2RvYy9odG1sL2J1aWxkaW5nLmh0bWwKaW5kZXggYTNjZjg3Ni4uNmRmY2FjNyAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvYnVpbGRpbmcuaHRtbAorKysgYi9kb2MvaHRtbC9idWlsZGluZy5odG1sCkBAIC05Nyw3ICs5Nyw3IEBACiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIEhSRUY9InB5T3BlblNTTC5odG1sIj5QeXRob24gT3BlblNTTCBNYW51YWw8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iYnVpbGRpbmctdW5peC5odG1sIj4yLjEgQnVpbGRpbmcgdGhlIE1vZHVsZTwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9jYWxsYmFja3MuaHRtbCBiL2RvYy9odG1sL2NhbGxiYWNrcy5odG1sCmluZGV4IGEwMmNmZWEuLmI4OTEyNTggMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2NhbGxiYWNrcy5odG1sCisrKyBiL2RvYy9odG1sL2NhbGxiYWNrcy5odG1sCkBAIC01Niw3ICs1Niw3IEBACiBQeXRob24gdGhyZWFkcyB0byBiZSBhYmxlIHRvIGRvIG90aGVyIHRoaW5ncy4gVGhlIHJlYWwgdHJvdWJsZSBpcyBpZiB5b3UndmUKIHJlbGVhc2VkIHRoZSB0aHJlYWQgbG9jayB0byBkbyBhIHBvdGVudGlhbGx5IGJsb2NraW5nIG9wZXJhdGlvbiwgYW5kIHRoZQogb3BlcmF0aW9uIGNhbGxzIGEgY2FsbGJhY2suIFRoZW4gd2UgbXVzdCB0YWtlIHRoZSB0aHJlYWQgbG9jayBiYWNrPEEgTkFNRT0idGV4Mmh0bWw2IgotICBIUkVGPSIjZm9vdDk2NiI+PFNVUD41PC9TVVA+PC9BPi4KKyAgSFJFRj0iI2Zvb3Q5NzAiPjxTVVA+NTwvU1VQPjwvQT4uCiAKIDxQPgogVGhlcmUgYXJlIHR3byBzb2x1dGlvbnMgdG8gdGhlIGZpcnN0IHByb2JsZW0sIGJvdGggb2Ygd2hpY2ggYXJlIG5lY2Vzc2FyeS4gVGhlCkBAIC04NCw3ICs4NCw3IEBACiA8UD4KIDxCUj48SFI+PEg0PkZvb3Rub3RlczwvSDQ+CiA8REw+Ci08RFQ+PEEgTkFNRT0iZm9vdDk2NiI+Li4uIGJhY2s8L0E+PEEKKzxEVD48QSBOQU1FPSJmb290OTcwIj4uLi4gYmFjazwvQT48QQogIGhyZWY9ImNhbGxiYWNrcy5odG1sI3RleDJodG1sNiI+PFNVUD41PC9TVVA+PC9BPjwvRFQ+CiA8REQ+SSdtCiBub3Qgc3VyZSB3aHkgdGhpcyBpcyBuZWNlc3NhcnksIGJ1dCBvdGhlcndpc2UgSSBnZXQgYSBzZWdtZW50YXRpb24gdmlvbGF0aW9uIG9uCkBAIC0xMjAsNyArMTIwLDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iaW50ZXJuYWxzLmh0bWwiPjQgSW50ZXJuYWxzPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9InNvY2tldC1tZXRob2RzLmh0bWwiPjQuMyBBY2Vzc2luZyBTb2NrZXQgTWV0aG9kczwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9jb250ZW50cy5odG1sIGIvZG9jL2h0bWwvY29udGVudHMuaHRtbAppbmRleCBiZDM1YmQyLi5lZjAwZjQyIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9jb250ZW50cy5odG1sCisrKyBiL2RvYy9odG1sL2NvbnRlbnRzLmh0bWwKQEAgLTEwNiw3ICsxMDYsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBIUkVGPSJweU9wZW5TU0wuaHRtbCI+UHl0aG9uIE9wZW5TU0wgTWFudWFsPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9ImludHJvLmh0bWwiPjEgSW50cm9kdWN0aW9uPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL2V4Y2VwdGlvbnMuaHRtbCBiL2RvYy9odG1sL2V4Y2VwdGlvbnMuaHRtbAppbmRleCBmMzRhMzMzLi4zY2Y0ZDgyIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9leGNlcHRpb25zLmh0bWwKKysrIGIvZG9jL2h0bWwvZXhjZXB0aW9ucy5odG1sCkBAIC04OSw3ICs4OSw3IEBACiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9ImludGVybmFscy5odG1sIj40IEludGVybmFsczwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJjYWxsYmFja3MuaHRtbCI+NC4yIENhbGxiYWNrczwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9pbmRleC5odG1sIGIvZG9jL2h0bWwvaW5kZXguaHRtbAppbmRleCA3MmRkY2JiLi5hZDBkZmI4IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9pbmRleC5odG1sCisrKyBiL2RvYy9odG1sL2luZGV4Lmh0bWwKQEAgLTE1OSw3ICsxNTksNyBAQAogPC90cj48L3RhYmxlPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9ImNvbnRlbnRzLmh0bWwiPkNvbnRlbnRzPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL2ludGVybmFscy5odG1sIGIvZG9jL2h0bWwvaW50ZXJuYWxzLmh0bWwKaW5kZXggZWMwMDQ2MC4uMTYzYmNhOSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvaW50ZXJuYWxzLmh0bWwKKysrIGIvZG9jL2h0bWwvaW50ZXJuYWxzLmh0bWwKQEAgLTk2LDcgKzk2LDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgSFJFRj0icHlPcGVuU1NMLmh0bWwiPlB5dGhvbiBPcGVuU1NMIE1hbnVhbDwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJleGNlcHRpb25zLmh0bWwiPjQuMSBFeGNlcHRpb25zPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL2ludHJvLmh0bWwgYi9kb2MvaHRtbC9pbnRyby5odG1sCmluZGV4IDJlN2IzNDAuLjcyNGNjYzcgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2ludHJvLmh0bWwKKysrIGIvZG9jL2h0bWwvaW50cm8uaHRtbApAQCAtNjAsOSArNjAsOSBAQAogdW5mb3J0dW5hdGVseSBpdHMgZXJyb3IgaGFuZGxpbmcgc3lzdGVtIGRvZXMgbm90IHNlZW0gdG8gYmUgZmluaXNoZWQsCiBlc3BlY2lhbGx5IGZvciBub24tYmxvY2tpbmcgSS9PLiAgSSB0aGluayB0aGF0IG11Y2ggb2YgdGhlIHJlYXNvbiBmb3IgdGhpcwogaXMgdGhhdCBNMkNyeXB0bzxBIE5BTUU9InRleDJodG1sMSIKLSAgSFJFRj0iI2Zvb3Q5MjYiPjxTVVA+MTwvU1VQPjwvQT4gaXMKKyAgSFJFRj0iI2Zvb3Q5MzAiPjxTVVA+MTwvU1VQPjwvQT4gaXMKIGRldmVsb3BlZCB1c2luZyBTV0lHPEEgTkFNRT0idGV4Mmh0bWwyIgotICBIUkVGPSIjZm9vdDkyNyI+PFNVUD4yPC9TVVA+PC9BPi4gIFRoaXMKKyAgSFJFRj0iI2Zvb3Q5MzEiPjxTVVA+MjwvU1VQPjwvQT4uICBUaGlzCiBtYWtlcyBpdCBhd2t3YXJkIHRvIGNyZWF0ZSBmdW5jdGlvbnMgdGhhdCBlLmcuIGNhbiByZXR1cm4gYm90aCBhbiBpbnRlZ2VyIGFuZAogTlVMTCBzaW5jZSAoYXMgZmFyIGFzIEkga25vdykgeW91IGJhc2ljYWxseSB3cml0ZSBDIGZ1bmN0aW9ucyBhbmQgU1dJRyBtYWtlcwogd3JhcHBlciBmdW5jdGlvbnMgdGhhdCBwYXJzZXMgdGhlIFB5dGhvbiBhcmd1bWVudCBsaXN0IGFuZCBjYWxscyB5b3VyIEMKQEAgLTcxLDEyICs3MSwxMiBAQAogPFA+CiA8QlI+PEhSPjxIND5Gb290bm90ZXM8L0g0PgogPERMPgotPERUPjxBIE5BTUU9ImZvb3Q5MjYiPi4uLiBNMkNyeXB0bzwvQT48QQorPERUPjxBIE5BTUU9ImZvb3Q5MzAiPi4uLiBNMkNyeXB0bzwvQT48QQogIGhyZWY9ImludHJvLmh0bWwjdGV4Mmh0bWwxIj48U1VQPjE8L1NVUD48L0E+PC9EVD4KIDxERD5TZWUgPGEgY2xhc3M9InVybCIgaHJlZj0iaHR0cDovL3d3dy5wb3N0MS5jb20vaG9tZS9uZ3BzL20yLyI+aHR0cDovL3d3dy5wb3N0MS5jb20vaG9tZS9uZ3BzL20yLzwvYT4KIAogPC9ERD4KLTxEVD48QSBOQU1FPSJmb290OTI3Ij4uLi4gU1dJRzwvQT48QQorPERUPjxBIE5BTUU9ImZvb3Q5MzEiPi4uLiBTV0lHPC9BPjxBCiAgaHJlZj0iaW50cm8uaHRtbCN0ZXgyaHRtbDIiPjxTVVA+MjwvU1VQPjwvQT48L0RUPgogPEREPlNlZSA8YSBjbGFzcz0idXJsIiBocmVmPSJodHRwOi8vc3dpZy5zb3VyY2Vmb3JnZS5uZXQvIj5odHRwOi8vc3dpZy5zb3VyY2Vmb3JnZS5uZXQvPC9hPgogCkBAIC0xMTAsNyArMTEwLDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgSFJFRj0icHlPcGVuU1NMLmh0bWwiPlB5dGhvbiBPcGVuU1NMIE1hbnVhbDwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJidWlsZGluZy5odG1sIj4yIEJ1aWxkaW5nIGFuZCBJbnN0YWxsaW5nPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtNTA5ZXh0Lmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLTUwOWV4dC5odG1sCmluZGV4IGVjYThiNDYuLmYxYTg0NzYgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtNTA5ZXh0Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC01MDlleHQuaHRtbApAQCAtNTIsNyArNTIsNyBAQAogWDUwOUV4dGVuc2lvbiBvYmplY3RzIGN1cnJlbnRseSBvbmx5IGhhdmUgb25lIG1ldGhvZDoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04MCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jcml0aWNhbDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY3JpdGljYWw8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgY3JpdGljYWwgZmllbGQgb2YgdGhlIGV4dGVuc2lvbiBvYmplY3QuCiA8L2RsPgpAQCAtODcsNyArODcsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1uZXRzY2FwZS1zcGtpLmh0bWwiPjMuMS45IE5ldHNjYXBlU1BLSSBvYmplY3RzPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtY29ubmVjdGlvbi5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKaW5kZXggZGEzYjdlZi4uOGQyYjhkYSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKQEAgLTUxLDcgKzUxLDcgQEAKIENvbm5lY3Rpb24gb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDMnPjx0dCBjbGFzcz0nbWV0aG9kJz5hY2NlcHQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0NCc+PHR0IGNsYXNzPSdtZXRob2QnPmFjY2VwdDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmFjY2VwdDwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQgYW5kIHNldCB1cCBTU0wgb24gdGhlCiByZXR1cm5lZCBzb2NrZXQsIHVzaW5nIHRoZSBDb250ZXh0IG9iamVjdCBzdXBwbGllZCB0byB0aGlzIENvbm5lY3Rpb24gb2JqZWN0IGF0CkBAIC02MSwyMCArNjEsMjAgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ0Jz48dHQgY2xhc3M9J21ldGhvZCc+YmluZDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ1Jz48dHQgY2xhc3M9J21ldGhvZCc+YmluZDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmJpbmQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDUnPjx0dCBjbGFzcz0nbWV0aG9kJz5jbG9zZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ2Jz48dHQgY2xhc3M9J21ldGhvZCc+Y2xvc2U8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5jbG9zZTwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuIE5vdGU6IElmIHlvdSB3YW50CiBjb3JyZWN0IFNTTCBjbG9zdXJlLCB5b3UgbmVlZCB0byBjYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+c2h1dGRvd248L3R0PiBtZXRob2QgZmlyc3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nic+PHR0IGNsYXNzPSdtZXRob2QnPmNvbm5lY3Q8L3R0PjwvYT48L2I+KDx2YXI+YWRkcmVzczwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmNvbm5lY3Q8L3R0PjwvYT48L2I+KDx2YXI+YWRkcmVzczwvdmFyPikKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5jb25uZWN0PC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBhbmQgc2V0IHVwIFNTTCBvbiB0aGUKIHNvY2tldCwgdXNpbmcgdGhlIENvbnRleHQgb2JqZWN0IHN1cHBsaWVkIHRvIHRoaXMgQ29ubmVjdGlvbiBvYmplY3QgYXQKQEAgLTgyLDcgKzgyLDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ3Jz48dHQgY2xhc3M9J21ldGhvZCc+Y29ubmVjdF9leDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ4Jz48dHQgY2xhc3M9J21ldGhvZCc+Y29ubmVjdF9leDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmNvbm5lY3RfZXg8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0IGFuZCBzZXQgdXAgU1NMIG9uCiB0aGUgc29ja2V0LCB1c2luZyB0aGUgQ29udGV4dCBvYmplY3Qgc3VwcGxpZWQgdG8gdGhpcyBDb25uZWN0aW9uIG9iamVjdCBhdApAQCAtOTEsNyArOTEsNyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDgnPjx0dCBjbGFzcz0nbWV0aG9kJz5kb19oYW5kc2hha2U8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0OSc+PHR0IGNsYXNzPSdtZXRob2QnPmRvX2hhbmRzaGFrZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUGVyZm9ybSBhbiBTU0wgaGFuZHNoYWtlICh1c3VhbGx5IGNhbGxlZCBhZnRlciA8dHQgY2xhc3M9Im1ldGhvZCI+cmVuZWdvdGlhdGU8L3R0PiBvciBvbmUgb2YKIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfYWNjZXB0X3N0YXRlPC90dD4gb3IgPHR0IGNsYXNzPSJtZXRob2QiPnNldF9hY2NlcHRfc3RhdGU8L3R0PikuIFRoaXMgY2FuIHJhaXNlIHRoZQpAQCAtOTksMjUgKzk5LDI1IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0OSc+PHR0IGNsYXNzPSdtZXRob2QnPmZpbGVubzwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUwJz48dHQgY2xhc3M9J21ldGhvZCc+ZmlsZW5vPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgZmlsZSBkZXNjcmlwdG9yIG51bWJlciBmb3IgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTAnPjx0dCBjbGFzcz0nbWV0aG9kJz5saXN0ZW48L3R0PjwvYT48L2I+KDx2YXI+YmFja2xvZzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1MSc+PHR0IGNsYXNzPSdtZXRob2QnPmxpc3RlbjwvdHQ+PC9hPjwvYj4oPHZhcj5iYWNrbG9nPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmxpc3RlbjwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1MSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUyJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2FwcF9kYXRhPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBhcHBsaWNhdGlvbiBkYXRhIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X2FwcF9kYXRhPC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Mic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jaXBoZXJfbGlzdDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUzJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBjaXBoZXJzIHVzZWQgYnkgdGhlIENvbm5lY3Rpb24gb2JqZWN0LiBXQVJOSU5HOiBUaGlzIEFQSQogaGFzIGNoYW5nZWQuIEl0IHVzZWQgdG8gdGFrZSBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgYW5kIGp1c3QgcmV0dXJuIGEgc3RyaW5nLApAQCAtMTI1LDQ0ICsxMjUsNDQgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUzJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NvbnRleHQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1NCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jb250ZXh0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgQ29udGV4dCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ29ubmVjdGlvbi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTU0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3BlZXJfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1NSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wZWVyX2NlcnRpZmljYXRlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgb3RoZXIgc2lkZSdzIGNlcnRpZmljYXRlIChpZiBhbnkpCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1NSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldHBlZXJuYW1lPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRwZWVybmFtZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldHBlZXJuYW1lPC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTU2Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0c29ja25hbWU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldHNvY2tuYW1lPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+Z2V0c29ja25hbWU8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTcnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRzb2Nrb3B0PC90dD48L2E+PC9iPig8dmFyPmxldmVsLCBvcHRuYW1lPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGJ1ZmxlbjwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1OCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldHNvY2tvcHQ8L3R0PjwvYT48L2I+KDx2YXI+bGV2ZWwsIG9wdG5hbWU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgYnVmbGVuPC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldHNvY2tvcHQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTgnPjx0dCBjbGFzcz0nbWV0aG9kJz5wZW5kaW5nPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTknPjx0dCBjbGFzcz0nbWV0aG9kJz5wZW5kaW5nPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgY2FuIGJlIHNhZmVseSByZWFkIGZyb20gdGhlIFNTTCBidWZmZXIKICg8aT5ub3Q8L2k+IHRoZSB1bmRlcmx5aW5nIHRyYW5zcG9ydCBidWZmZXIpLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTknPjx0dCBjbGFzcz0nbWV0aG9kJz5yZWN2PC90dD48L2E+PC9iPig8dmFyPmJ1ZnNpemU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5yZWN2PC90dD48L2E+PC9iPig8dmFyPmJ1ZnNpemU8L3Zhcj4pCiA8ZGQ+CiBSZWNlaXZlIGRhdGEgZnJvbSB0aGUgQ29ubmVjdGlvbi4gVGhlIHJldHVybiB2YWx1ZSBpcyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlCiBkYXRhIHJlY2VpdmVkLiBUaGUgbWF4aW11bSBhbW91bnQgb2YgZGF0YSB0byBiZSByZWNlaXZlZCBhdCBvbmNlLCBpcyBzcGVjaWZpZWQKQEAgLTE3MCwyMCArMTcwLDIwIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2MCc+PHR0IGNsYXNzPSdtZXRob2QnPnJlbmVnb3RpYXRlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjEnPjx0dCBjbGFzcz0nbWV0aG9kJz5yZW5lZ290aWF0ZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmVuZWdvdGlhdGUgdGhlIFNTTCBzZXNzaW9uLiBDYWxsIHRoaXMgaWYgeW91IHdpc2ggdG8gY2hhbmdlIGNpcGhlciBzdWl0ZXMgb3IKIGFueXRoaW5nIGxpa2UgdGhhdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYxJz48dHQgY2xhc3M9J21ldGhvZCc+c2VuZDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjInPjx0dCBjbGFzcz0nbWV0aG9kJz5zZW5kPC90dD48L2E+PC9iPig8dmFyPnN0cmluZzwvdmFyPikKIDxkZD4KIFNlbmQgdGhlIDx2YXI+c3RyaW5nPC92YXI+IGRhdGEgdG8gdGhlIENvbm5lY3Rpb24uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Mic+PHR0IGNsYXNzPSdtZXRob2QnPnNlbmRhbGw8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYzJz48dHQgY2xhc3M9J21ldGhvZCc+c2VuZGFsbDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCiA8ZGQ+CiBTZW5kIGFsbCBvZiB0aGUgPHZhcj5zdHJpbmc8L3Zhcj4gZGF0YSB0byB0aGUgQ29ubmVjdGlvbi4gVGhpcyBjYWxscyA8dHQgY2xhc3M9Im1ldGhvZCI+c2VuZDwvdHQ+CiByZXBlYXRlZGx5IHVudGlsIGFsbCBkYXRhIGlzIHNlbnQuIElmIGFuIGVycm9yIG9jY3VycywgaXQncyBpbXBvc3NpYmxlIHRvIHRlbGwKQEAgLTE5MSw0MCArMTkxLDQwIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hY2NlcHRfc3RhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2NCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hY2NlcHRfc3RhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFNldCB0aGUgY29ubmVjdGlvbiB0byB3b3JrIGluIHNlcnZlciBtb2RlLiBUaGUgaGFuZHNoYWtlIHdpbGwgYmUgaGFuZGxlZAogYXV0b21hdGljYWxseSBieSByZWFkL3dyaXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjQnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KDx2YXI+ZGF0YTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRhPC92YXI+KQogPGRkPgogQXNzb2NpYXRlIDx2YXI+ZGF0YTwvdmFyPiB3aXRoIHRoaXMgQ29ubmVjdGlvbiBvYmplY3QuIDx2YXI+ZGF0YTwvdmFyPiBjYW4gYmUgcmV0cmlldmVkCiBsYXRlciB1c2luZyB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldF9hcHBfZGF0YTwvdHQ+IG1ldGhvZC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY1Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2Nvbm5lY3Rfc3RhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Nic+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9jb25uZWN0X3N0YXRlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBTZXQgdGhlIGNvbm5lY3Rpb24gdG8gd29yayBpbiBjbGllbnQgbW9kZS4gVGhlIGhhbmRzaGFrZSB3aWxsIGJlIGhhbmRsZWQKIGF1dG9tYXRpY2FsbHkgYnkgcmVhZC93cml0ZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0YmxvY2tpbmc8L3R0PjwvYT48L2I+KDx2YXI+ZmxhZzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldGJsb2NraW5nPC90dD48L2E+PC9iPig8dmFyPmZsYWc8L3Zhcj4pCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0YmxvY2tpbmc8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjcnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRzb2Nrb3B0PC90dD48L2E+PC9iPig8dmFyPmxldmVsLCBvcHRuYW1lLCB2YWx1ZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2OCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldHNvY2tvcHQ8L3R0PjwvYT48L2I+KDx2YXI+bGV2ZWwsIG9wdG5hbWUsIHZhbHVlPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNldHNvY2tvcHQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjgnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaHV0ZG93bjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY5Jz48dHQgY2xhc3M9J21ldGhvZCc+c2h1dGRvd248L3R0PjwvYT48L2I+KCkKIDxkZD4KIFNlbmQgdGhlIHNodXRkb3duIG1lc3NhZ2UgdG8gdGhlIENvbm5lY3Rpb24uIFJldHVybnMgdHJ1ZSBpZiB0aGUgc2h1dGRvd24KIG1lc3NhZ2UgZXhjaGFuZ2UgaXMgY29tcGxldGVkIGFuZCBmYWxzZSBvdGhlcndpc2UgKGluIHdoaWNoIGNhc2UgeW91IGNhbGwKQEAgLTIzMyw0MCArMjMzLDQwIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2OSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zaHV0ZG93bjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTcwJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3NodXRkb3duPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBHZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgUmV0dXJucyBhIGJpdHZlY3RvciBvZiBlaXRoZXIgb3IKIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+c3RhdGU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzEnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+c3RhdGU8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgPHZhcj5zdGF0ZTwvdmFyPiBpcyBhIGJpdHZlY3RvciBvZgogZWl0aGVyIG9yIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzEnPjx0dCBjbGFzcz0nbWV0aG9kJz5zb2NrX3NodXRkb3duPC90dD48L2E+PC9iPig8dmFyPmhvdzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3Mic+PHR0IGNsYXNzPSdtZXRob2QnPnNvY2tfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+aG93PC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNodXRkb3duPC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTcyJz48dHQgY2xhc3M9J21ldGhvZCc+c3RhdGVfc3RyaW5nPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzMnPjx0dCBjbGFzcz0nbWV0aG9kJz5zdGF0ZV9zdHJpbmc8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIGEgdmVyYm9zZSBzdHJpbmcgZGV0YWlsaW5nIHRoZSBzdGF0ZSBvZiB0aGUgQ29ubmVjdGlvbi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTczJz48dHQgY2xhc3M9J21ldGhvZCc+d2FudF9yZWFkPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzQnPjx0dCBjbGFzcz0nbWV0aG9kJz53YW50X3JlYWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiBtb3JlIGRhdGEgaGFzIHRvIGJlIHJlYWQgZnJvbSB0aGUgdHJhbnNwb3J0IGxheWVyIHRvIGNvbXBsZXRlIGFuCiBvcGVyYXRpb24uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3NCc+PHR0IGNsYXNzPSdtZXRob2QnPndhbnRfd3JpdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3NSc+PHR0IGNsYXNzPSdtZXRob2QnPndhbnRfd3JpdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiB0aGVyZSBpcyBkYXRhIHRvIHdyaXRlIHRvIHRoZSB0cmFuc3BvcnQgbGF5ZXIgdG8gY29tcGxldGUgYW4KIG9wZXJhdGlvbi4KQEAgLTMwMiw3ICszMDIsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXNzbC5odG1sIj4zLjMgU1NMICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0iaW50ZXJuYWxzLmh0bWwiPjQgSW50ZXJuYWxzPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtY29udGV4dC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKaW5kZXggNWRlOGVhZi4uMTdmMDRmMSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKQEAgLTUyLDcgKzUyLDcgQEAKIENvbnRleHQgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTknPjx0dCBjbGFzcz0nbWV0aG9kJz5jaGVja19wcml2YXRla2V5PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5jaGVja19wcml2YXRla2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBDaGVjayBpZiB0aGUgcHJpdmF0ZSBrZXkgKGxvYWRlZCB3aXRoIDx0dCBjbGFzcz0ibWV0aG9kIj51c2VfcHJpdmF0ZWtleTxiaWc+WzwvYmlnPl9maWxlPGJpZz5dPC9iaWc+PC90dD4pCiBtYXRjaGVzIHRoZSBjZXJ0aWZpY2F0ZSAobG9hZGVkIHdpdGggPHR0IGNsYXNzPSJtZXRob2QiPnVzZV9jZXJ0aWZpY2F0ZTxiaWc+WzwvYmlnPl9maWxlPGJpZz5dPC9iaWc+PC90dD4pLgpAQCAtNjAsMTMgKzYwLDEzIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyMCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTIxJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2FwcF9kYXRhPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBhcHBsaWNhdGlvbiBkYXRhIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X2FwcF9kYXRhPC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyMSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jZXJ0X3N0b3JlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY2VydF9zdG9yZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIGNlcnRpZmljYXRlIHN0b3JlIChhIFg1MDlTdG9yZSBvYmplY3QpIHRoYXQgdGhlIGNvbnRleHQgdXNlcy4KIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkICJ0cnVzdGVkIiBjZXJ0aWZpY2F0ZXMgd2l0aG91dCB1c2luZyB0aGUuCkBAIC03NCw2MSArNzQsNjEgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTIyJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3RpbWVvdXQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyMyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF90aW1lb3V0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBzZXNzaW9uIHRpbWVvdXQsIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X3RpbWVvdXQ8L3R0Pi4gVGhlIGRlZmF1bHQgaXMgMzAwCiBzZWNvbmRzLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjMnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdmVyaWZ5X2RlcHRoPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjQnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdmVyaWZ5X2RlcHRoPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgQ29udGV4dCBvYmplY3QncyB2ZXJpZnkgZGVwdGgsIGFzIHNldCBieQogPHR0IGNsYXNzPSJtZXRob2QiPnNldF92ZXJpZnlfZGVwdGg8L3R0Pi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcmlmeV9tb2RlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdmVyaWZ5X21vZGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIHRoZSBDb250ZXh0IG9iamVjdCdzIHZlcmlmeSBtb2RlLCBhcyBzZXQgYnkgPHR0IGNsYXNzPSJtZXRob2QiPnNldF92ZXJpZnlfbW9kZTwvdHQ+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX2NsaWVudF9jYTwvdHQ+PC9hPjwvYj4oPHZhcj5wZW1maWxlPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI2Jz48dHQgY2xhc3M9J21ldGhvZCc+bG9hZF9jbGllbnRfY2E8L3R0PjwvYT48L2I+KDx2YXI+cGVtZmlsZTwvdmFyPikKIDxkZD4KIFJlYWQgYSBmaWxlIHdpdGggUEVNLWZvcm1hdHRlZCBjZXJ0aWZpY2F0ZXMgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGNsaWVudAogd2hlbiByZXF1ZXN0aW5nIGEgY2xpZW50IGNlcnRpZmljYXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX3ZlcmlmeV9sb2NhdGlvbnM8L3R0PjwvYT48L2I+KDx2YXI+cGVtZmlsZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyNyc+PHR0IGNsYXNzPSdtZXRob2QnPmxvYWRfdmVyaWZ5X2xvY2F0aW9uczwvdHQ+PC9hPjwvYj4oPHZhcj5wZW1maWxlPC92YXI+KQogPGRkPgogU3BlY2lmeSB3aGVyZSBDQSBjZXJ0aWZpY2F0ZXMgZm9yIHZlcmlmaWNhdGlvbiBwdXJwb3NlcyBhcmUgbG9jYXRlZC4gVGhlc2UgYXJlCiB0cnVzdGVkIGNlcnRpZmljYXRlcy4gTm90ZSB0aGF0IHRoZSBjZXJ0aWZpY2F0ZXMgaGF2ZSB0byBiZSBpbiBQRU0gZm9ybWF0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjcnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX3RtcF9kaDwvdHQ+PC9hPjwvYj4oPHZhcj5kaGZpbGU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjgnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX3RtcF9kaDwvdHQ+PC9hPjwvYj4oPHZhcj5kaGZpbGU8L3Zhcj4pCiA8ZGQ+CiBMb2FkIHBhcmFtZXRlcnMgZm9yIEVwaGVtZXJhbCBEaWZmaWUtSGVsbG1hbiBmcm9tIDx2YXI+ZGhmaWxlPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjgnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KDx2YXI+ZGF0YTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyOSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRhPC92YXI+KQogPGRkPgogQXNzb2NpYXRlIDx2YXI+ZGF0YTwvdmFyPiB3aXRoIHRoaXMgQ29udGV4dCBvYmplY3QuIDx2YXI+ZGF0YTwvdmFyPiBjYW4gYmUgcmV0cmlldmVkCiBsYXRlciB1c2luZyB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldF9hcHBfZGF0YTwvdHQ+IG1ldGhvZC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI5Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPig8dmFyPmNpcGhlcnM8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfY2lwaGVyX2xpc3Q8L3R0PjwvYT48L2I+KDx2YXI+Y2lwaGVyczwvdmFyPikKIDxkZD4KIFNldCB0aGUgbGlzdCBvZiBjaXBoZXJzIHRvIGJlIHVzZWQgaW4gdGhpcyBjb250ZXh0LiBTZWUgdGhlIE9wZW5TU0wgbWFudWFsIGZvcgogbW9yZSBpbmZvcm1hdGlvbiAoZS5nLiBjaXBoZXJzKDEpKQogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfaW5mb19jYWxsYmFjazwvdHQ+PC9hPjwvYj4oPHZhcj5jYWxsYmFjazwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9pbmZvX2NhbGxiYWNrPC90dD48L2E+PC9iPig8dmFyPmNhbGxiYWNrPC92YXI+KQogPGRkPgogU2V0IHRoZSBpbmZvcm1hdGlvbiBjYWxsYmFjayB0byA8dmFyPmNhbGxiYWNrPC92YXI+LiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCiBmcm9tIHRpbWUgdG8gdGltZSBkdXJpbmcgU1NMIGhhbmRzaGFrZXMuCkBAIC0xMzksMTQgKzEzOSwxNCBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzEnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfb3B0aW9uczwvdHQ+PC9hPjwvYj4oPHZhcj5vcHRpb25zPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMyJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X29wdGlvbnM8L3R0PjwvYT48L2I+KDx2YXI+b3B0aW9uczwvdmFyPikKIDxkZD4KIEFkZCBTU0wgb3B0aW9ucy4gT3B0aW9ucyB5b3UgaGF2ZSBzZXQgYmVmb3JlIGFyZSBub3QgY2xlYXJlZCEKIFRoaXMgbWV0aG9kIHNob3VsZCBiZSB1c2VkIHdpdGggdGhlIDx0dCBjbGFzcz0iY29uc3RhbnQiPk9QXyo8L3R0PiBjb25zdGFudHMuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMic+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wYXNzd2RfY2I8L3R0PjwvYT48L2I+KDx2YXI+Y2FsbGJhY2s8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgdXNlcmRhdGE8L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzMnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcGFzc3dkX2NiPC90dD48L2E+PC9iPig8dmFyPmNhbGxiYWNrPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIHVzZXJkYXRhPC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogU2V0IHRoZSBwYXNzcGhyYXNlIGNhbGxiYWNrIHRvIDx2YXI+Y2FsbGJhY2s8L3Zhcj4uIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKIHdoZW4gYSBwcml2YXRlIGtleSB3aXRoIGEgcGFzc3BocmFzZSBpcyBsb2FkZWQuCkBAIC0xNjAsNyArMTYwLDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMzJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3Nlc3Npb25faWQ8L3R0PjwvYT48L2I+KDx2YXI+bmFtZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zZXNzaW9uX2lkPC90dD48L2E+PC9iPig8dmFyPm5hbWU8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIGNvbnRleHQgPHZhcj5uYW1lPC92YXI+IHdpdGhpbiB3aGljaCBhIHNlc3Npb24gY2FuIGJlIHJldXNlZCBmb3IgdGhpcwogQ29udGV4dCBvYmplY3QuIFRoaXMgaXMgbmVlZGVkIHdoZW4gZG9pbmcgc2Vzc2lvbiByZXN1bXB0aW9uLCBiZWNhdXNlIHRoZXJlIGlzCkBAIC0xNjksNyArMTY5LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3RpbWVvdXQ8L3R0PjwvYT48L2I+KDx2YXI+dGltZW91dDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF90aW1lb3V0PC90dD48L2E+PC9iPig8dmFyPnRpbWVvdXQ8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHRpbWVvdXQgZm9yIG5ld2x5IGNyZWF0ZWQgc2Vzc2lvbnMgZm9yIHRoaXMgQ29udGV4dCBvYmplY3QgdG8KIDx2YXI+dGltZW91dDwvdmFyPi4gPHZhcj50aW1lb3V0PC92YXI+IG11c3QgYmUgZ2l2ZW4gaW4gKHdob2xlKSBzZWNvbmRzLiBUaGUgZGVmYXVsdApAQCAtMTc4LDcgKzE3OCw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF92ZXJpZnk8L3R0PjwvYT48L2I+KDx2YXI+bW9kZSwgY2FsbGJhY2s8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfdmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPm1vZGUsIGNhbGxiYWNrPC92YXI+KQogPGRkPgogU2V0IHRoZSB2ZXJpZmljYXRpb24gZmxhZ3MgZm9yIHRoaXMgQ29udGV4dCBvYmplY3QgdG8gPHZhcj5tb2RlPC92YXI+IGFuZCBzcGVjaWZ5CiB0aGF0IDx2YXI+Y2FsbGJhY2s8L3Zhcj4gc2hvdWxkIGJlIHVzZWQgZm9yIHZlcmlmaWNhdGlvbiBjYWxsYmFja3MuIDx2YXI+bW9kZTwvdmFyPgpAQCAtMTkzLDM5ICsxOTMsMzkgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcmlmeV9kZXB0aDwvdHQ+PC9hPjwvYj4oPHZhcj5kZXB0aDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF92ZXJpZnlfZGVwdGg8L3R0PjwvYT48L2I+KDx2YXI+ZGVwdGg8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIG1heGltdW0gZGVwdGggZm9yIHRoZSBjZXJ0aWZpY2F0ZSBjaGFpbiB2ZXJpZmljYXRpb24gdGhhdCBzaGFsbCBiZQogYWxsb3dlZCBmb3IgdGhpcyBDb250ZXh0IG9iamVjdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM3Jz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlPC90dD48L2E+PC9iPig8dmFyPmNlcnQ8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzgnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIFVzZSB0aGUgY2VydGlmaWNhdGUgPHZhcj5jZXJ0PC92YXI+IHdoaWNoIGhhcyB0byBiZSBhIFg1MDkgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzgnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfZXh0cmFfY2hhaW5fY2VydDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM5Jz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2V4dHJhX2NoYWluX2NlcnQ8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIEFkZHMgdGhlIGNlcnRpZmljYXRlIDx2YXI+Y2VydDwvdmFyPiwgd2hpY2ggaGFzIHRvIGJlIGEgWDUwOSBvYmplY3QsIHRvIHRoZQogY2VydGlmaWNhdGUgY2hhaW4gcHJlc2VudGVkIHRvZ2V0aGVyIHdpdGggdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzknPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGVfY2hhaW5fZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQwJz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlX2NoYWluX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+ZmlsZTwvdmFyPikKIDxkZD4KIExvYWQgYSBjZXJ0aWZpY2F0ZSBjaGFpbiBmcm9tIDx2YXI+ZmlsZTwvdmFyPiB3aGljaCBtdXN0IGJlIFBFTSBlbmNvZGVkLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDAnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfcHJpdmF0ZWtleTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQxJz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX3ByaXZhdGVrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFVzZSB0aGUgcHJpdmF0ZSBrZXkgPHZhcj5wa2V5PC92YXI+IHdoaWNoIGhhcyB0byBiZSBhIFBLZXkgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGVfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGZvcm1hdDwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Mic+PHR0IGNsYXNzPSdtZXRob2QnPnVzZV9jZXJ0aWZpY2F0ZV9maWxlPC90dD48L2E+PC9iPig8dmFyPmZpbGU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgZm9ybWF0PC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogTG9hZCB0aGUgZmlyc3QgY2VydGlmaWNhdGUgZm91bmQgaW4gPHZhcj5maWxlPC92YXI+LiBUaGUgY2VydGlmaWNhdGUgbXVzdCBiZSBpbiB0aGUKIGZvcm1hdCBzcGVjaWZpZWQgYnkgPHZhcj5mb3JtYXQ8L3Zhcj4sIHdoaWNoIGlzIGVpdGhlciA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0PiBvcgpAQCAtMjMzLDcgKzIzMyw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Mic+PHR0IGNsYXNzPSdtZXRob2QnPnVzZV9wcml2YXRla2V5X2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+ZmlsZTwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBmb3JtYXQ8L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDMnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfcHJpdmF0ZWtleV9maWxlPC90dD48L2E+PC9iPig8dmFyPmZpbGU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgZm9ybWF0PC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogTG9hZCB0aGUgZmlyc3QgcHJpdmF0ZSBrZXkgZm91bmQgaW4gPHZhcj5maWxlPC92YXI+LiBUaGUgcHJpdmF0ZSBrZXkgbXVzdCBiZSBpbiB0aGUKIGZvcm1hdCBzcGVjaWZpZWQgYnkgPHZhcj5mb3JtYXQ8L3Zhcj4sIHdoaWNoIGlzIGVpdGhlciA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0PiBvcgpAQCAtMjcwLDcgKzI3MCw3IEBACiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtc3NsLmh0bWwiPjMuMyBTU0wgIDwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNvbm5lY3Rpb24uaHRtbCI+My4zLjIgQ29ubmVjdGlvbiBvYmplY3RzPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtY3J5cHRvLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLWNyeXB0by5odG1sCmluZGV4IGJkODIyYzUuLjI2YTE1MGUgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtY3J5cHRvLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1jcnlwdG8uaHRtbApAQCAtMjg0LDcgKzI4NCw3IEBACiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wuaHRtbCI+MyBPcGVuU1NMICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5Lmh0bWwiPjMuMS4xIFg1MDkgb2JqZWN0czwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sCmluZGV4IDg5Y2UwNGUuLjIwMTUzODcgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtbmV0c2NhcGUtc3BraS5odG1sCkBAIC01MSwzMSArNTEsMzEgQEAKIE5ldHNjYXBlU1BLSSBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgxJz48dHQgY2xhc3M9J21ldGhvZCc+YjY0X2VuY29kZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODInPjx0dCBjbGFzcz0nbWV0aG9kJz5iNjRfZW5jb2RlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gYSBiYXNlNjQtZW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcHVia2V5PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Myc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgcHVibGljIGtleSBvZiBvYmplY3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgzJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oPHZhcj5rZXk8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04NCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+a2V5PC92YXI+KQogPGRkPgogU2V0IHRoZSBwdWJsaWMga2V5IG9mIHRoZSBvYmplY3QgdG8gPHZhcj5rZXk8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5rZXksIGRpZ2VzdF9uYW1lPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODUnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaWduPC90dD48L2E+PC9iPig8dmFyPmtleSwgZGlnZXN0X25hbWU8L3Zhcj4pCiA8ZGQ+CiBTaWduIHRoZSBOZXRzY2FwZVNQS0kgb2JqZWN0IHVzaW5nIHRoZSBnaXZlbiA8dmFyPmtleTwvdmFyPiBhbmQgPHZhcj5kaWdlc3RfbmFtZTwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODUnPjx0dCBjbGFzcz0nbWV0aG9kJz52ZXJpZnk8L3R0PjwvYT48L2I+KDx2YXI+a2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODYnPjx0dCBjbGFzcz0nbWV0aG9kJz52ZXJpZnk8L3R0PjwvYT48L2I+KDx2YXI+a2V5PC92YXI+KQogPGRkPgogVmVyaWZ5IHRoZSBOZXRzY2FwZVNQS0kgb2JqZWN0IHVzaW5nIHRoZSBnaXZlbiA8dmFyPmtleTwvdmFyPi4KIDwvZGw+CkBAIC0xMTAsNyArMTEwLDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcmFuZC5odG1sIj4zLjIgcmFuZCAgPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtcGtjczEyLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLXBrY3MxMi5odG1sCmluZGV4IDRlYjg5M2YuLjE0MzliNjEgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtcGtjczEyLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2NzMTIuaHRtbApAQCAtNTIsMTkgKzUyLDE5IEBACiBQS0NTMTIgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jZXJ0aWZpY2F0ZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzgnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBjZXJ0aWZpY2F0ZSBwb3J0aW9uIG9mIHRoZSBQS0NTMTIgc3RydWN0dXJlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03OCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wcml2YXRla2V5PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03OSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wcml2YXRla2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gcHJpdmF0ZSBrZXkgcG9ydGlvbiBvZiB0aGUgUEtDUzEyIHN0cnVjdHVyZQogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03OSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jYV9jZXJ0aWZpY2F0ZXM8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgwJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NhX2NlcnRpZmljYXRlczwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIENBIGNlcnRpZmljYXRlcyB3aXRoaW4gdGhlIFBLQ1MxMiBvYmplY3QgYXMgYSB0dXBsZS4gUmV0dXJucwogTm9uZSBpZiBubyBDQSBjZXJ0aWZpY2F0ZXMgYXJlIHByZXNlbnQuCkBAIC0xMDAsNyArMTAwLDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtNTA5ZXh0Lmh0bWwiPjMuMS44IFg1MDlFeHRlbnNpb24gb2JqZWN0czwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXBrY3M3Lmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLXBrY3M3Lmh0bWwKaW5kZXggMWRhNzk2NC4uODY1ZTEyYyAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzNy5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtcGtjczcuaHRtbApAQCAtNTIsMzEgKzUyLDMxIEBACiBQS0NTNyBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTcyJz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19zaWduZWQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTczJz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19zaWduZWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIEZJWE1FCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTczJz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19lbnZlbG9wZWQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc0Jz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19lbnZlbG9wZWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIEZJWE1FCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc0Jz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19zaWduZWRBbmRFbnZlbG9wZWQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc1Jz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19zaWduZWRBbmRFbnZlbG9wZWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIEZJWE1FCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc1Jz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19kYXRhPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Nic+PHR0IGNsYXNzPSdtZXRob2QnPnR5cGVfaXNfZGF0YTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogRklYTUUKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdHlwZV9uYW1lPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF90eXBlX25hbWU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIEdldCB0aGUgdHlwZSBuYW1lIG9mIHRoZSBQS0NTNy4KIDwvZGw+CkBAIC0xMTEsNyArMTExLDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wtcGtjczEyLmh0bWwiPjMuMS43IFBLQ1MxMiBvYmplY3RzPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2V5Lmh0bWwKaW5kZXggY2I5ZWNiZS4uNjg2YWIzMiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1wa2V5Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2V5Lmh0bWwKQEAgLTUyLDIwICs1MiwyMCBAQAogVGhlIFBLZXkgb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjknPjx0dCBjbGFzcz0nbWV0aG9kJz5iaXRzPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03MCc+PHR0IGNsYXNzPSdtZXRob2QnPmJpdHM8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgbnVtYmVyIG9mIGJpdHMgb2YgdGhlIGtleS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzAnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZW5lcmF0ZV9rZXk8L3R0PjwvYT48L2I+KDx2YXI+dHlwZSwgYml0czwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTcxJz48dHQgY2xhc3M9J21ldGhvZCc+Z2VuZXJhdGVfa2V5PC90dD48L2E+PC9iPig8dmFyPnR5cGUsIGJpdHM8L3Zhcj4pCiA8ZGQ+CiBHZW5lcmF0ZSBhIHB1YmxpYy9wcml2YXRlIGtleSBwYWlyIG9mIHRoZSB0eXBlIDx2YXI+dHlwZTwvdmFyPiAob25lIG9mCiA8dHQgY2xhc3M9ImNvbnN0YW50Ij5UWVBFX1JTQTwvdHQ+IGFuZCA8dHQgY2xhc3M9ImNvbnN0YW50Ij5UWVBFX0RTQTwvdHQ+KSB3aXRoIHRoZSBzaXplIDx2YXI+Yml0czwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzEnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Mic+PHR0IGNsYXNzPSdtZXRob2QnPnR5cGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgdHlwZSBvZiB0aGUga2V5LgogPC9kbD4KQEAgLTEwMCw3ICsxMDAsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2NzNy5odG1sIj4zLjEuNiBQS0NTNyBvYmplY3RzPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtcmFuZC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKaW5kZXggYjNiNzFjOC4uZmY4YTRiMSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKQEAgLTU2LDUyICs1Niw1MiBAQAogZGVjbGFyZXMgdGhlIGZvbGxvd2luZzoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Nyc+PHR0IGNsYXNzPSdmdW5jdGlvbic+YWRkPC90dD48L2E+PC9iPig8dmFyPnN0cmluZywgZW50cm9weTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg4Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5hZGQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nLCBlbnRyb3B5PC92YXI+KQogPGRkPgogTWl4IGJ5dGVzIGZyb20gPHZhcj5zdHJpbmc8L3Zhcj4gaW50byB0aGUgUFJORyBzdGF0ZS4gVGhlIDx2YXI+ZW50cm9weTwvdmFyPiBhcmd1bWVudCBpcwogKHRoZSBsb3dlciBib3VuZCBvZikgYW4gZXN0aW1hdGUgb2YgaG93IG11Y2ggcmFuZG9tbmVzcyBpcyBjb250YWluZWQgaW4KLTx2YXI+c3RyaW5nPC92YXI+LCBtZWFzdXJlZCBpbiBieXRlcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBlLmcuIDxhIGNsYXNzPSJyZmMiIG5hbWU9InJmY3JlZi0xODQ0IgorPHZhcj5zdHJpbmc8L3Zhcj4sIG1lYXN1cmVkIGluIGJ5dGVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGUuZy4gPGEgY2xhc3M9InJmYyIgbmFtZT0icmZjcmVmLTE4NTEiCiBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMxNzUwLnR4dCI+UkZDIDE3NTA8L2E+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04OCc+PHR0IGNsYXNzPSdmdW5jdGlvbic+ZWdkPC90dD48L2E+PC9iPig8dmFyPnBhdGg8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgYnl0ZXM8L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04OSc+PHR0IGNsYXNzPSdmdW5jdGlvbic+ZWdkPC90dD48L2E+PC9iPig8dmFyPnBhdGg8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgYnl0ZXM8L3Zhcj48YmlnPl08L2JpZz4pCiA8ZGQ+CiBRdWVyeSB0aGUgRW50cm9weSBHYXRoZXJpbmcgRGFlbW9uPEEgTkFNRT0idGV4Mmh0bWwzIgotICBIUkVGPSIjZm9vdDk0OCI+PFNVUD4zPC9TVVA+PC9BPiBvbiBzb2NrZXQgPHZhcj5wYXRoPC92YXI+IGZvciA8dmFyPmJ5dGVzPC92YXI+CisgIEhSRUY9IiNmb290OTUyIj48U1VQPjM8L1NVUD48L0E+IG9uIHNvY2tldCA8dmFyPnBhdGg8L3Zhcj4gZm9yIDx2YXI+Ynl0ZXM8L3Zhcj4KIGJ5dGVzIG9mIHJhbmRvbSBkYXRhIGFuZCBhbmQgdXNlcyA8dHQgY2xhc3M9ImZ1bmN0aW9uIj5hZGQ8L3R0PiB0byBzZWVkIHRoZSBQUk5HLiBUaGUgZGVmYXVsdAogdmFsdWUgb2YgPHZhcj5ieXRlczwvdmFyPiBpcyAyNTUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg5Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5sb2FkX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBieXRlczwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTkwJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5sb2FkX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBieXRlczwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIFJlYWQgPHZhcj5ieXRlczwvdmFyPiBieXRlcyAob3IgYWxsIG9mIGl0LCBpZiA8dmFyPmJ5dGVzPC92YXI+IGlzIG5lZ2F0aXZlKSBvZiBkYXRhIGZyb20KIHRoZSBmaWxlIDx2YXI+cGF0aDwvdmFyPiB0byBzZWVkIHRoZSBQUk5HLiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiA8dmFyPmJ5dGVzPC92YXI+IGlzIC0xLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05MCc+PHR0IGNsYXNzPSdmdW5jdGlvbic+c2NyZWVuPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05MSc+PHR0IGNsYXNzPSdmdW5jdGlvbic+c2NyZWVuPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBBZGQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgdGhlIHNjcmVlbiB0byB0aGUgUFJORyBzdGF0ZS4KIEF2YWlsYWJpbGl0eTogV2luZG93cy4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTEnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnNlZWQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTInPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnNlZWQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQogPGRkPgogVGhpcyBpcyBlcXVpdmFsZW50IHRvIGNhbGxpbmcgPHR0IGNsYXNzPSJmdW5jdGlvbiI+YWRkPC90dD4gd2l0aCA8dmFyPmVudHJvcHk8L3Zhcj4gYXMgdGhlIGxlbmd0aAogb2YgdGhlIHN0cmluZy4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTInPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnN0YXR1czwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTMnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnN0YXR1czwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJucyB0cnVlIGlmIHRoZSBQUk5HIGhhcyBiZWVuIHNlZWRlZCB3aXRoIGVub3VnaCBkYXRhLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Myc+PHR0IGNsYXNzPSdmdW5jdGlvbic+d3JpdGVfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5wYXRoPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTQnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPndyaXRlX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPikKIDxkZD4KIFdyaXRlIGEgbnVtYmVyIG9mIHJhbmRvbSBieXRlcyAoY3VycmVudGx5IDEwMjQpIHRvIHRoZSBmaWxlIDx2YXI+cGF0aDwvdmFyPi4gVGhpcwogZmlsZSBjYW4gdGhlbiBiZSB1c2VkIHdpdGggPHR0IGNsYXNzPSJmdW5jdGlvbiI+bG9hZF9maWxlPC90dD4gdG8gc2VlZCB0aGUgUFJORyBhZ2Fpbi4KQEAgLTExMCw3ICsxMTAsNyBAQAogPFA+CiA8QlI+PEhSPjxIND5Gb290bm90ZXM8L0g0PgogPERMPgotPERUPjxBIE5BTUU9ImZvb3Q5NDgiPi4uLiBEYWVtb248L0E+PEEKKzxEVD48QSBOQU1FPSJmb290OTUyIj4uLi4gRGFlbW9uPC9BPjxBCiAgaHJlZj0ib3BlbnNzbC1yYW5kLmh0bWwjdGV4Mmh0bWwzIj48U1VQPjM8L1NVUD48L0E+PC9EVD4KIDxERD5TZWUKIDxhIGNsYXNzPSJ1cmwiIGhyZWY9Imh0dHA6Ly93d3cubG90aGFyLmNvbS90ZWNoL2NyeXB0by8iPmh0dHA6Ly93d3cubG90aGFyLmNvbS90ZWNoL2NyeXB0by88L2E+CkBAIC0xNDUsNyArMTQ1LDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC5odG1sIj4zIE9wZW5TU0wgIDwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLXNzbC5odG1sIj4zLjMgU1NMICA8L0E+CiA8aHI+Ci08c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2ExLjwvc3Bhbj4KKzxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTIuPC9zcGFuPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1zc2wuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtc3NsLmh0bWwKaW5kZXggOWExYjM3My4uZTNhYzBiYiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1zc2wuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXNzbC5odG1sCkBAIC01NCwzOSArNTQsMzkgQEAKIENvbnRleHQsIENvbm5lY3Rpb24uCiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTUnPjx0dD5TU0x2Ml9NRVRIT0Q8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Nic+PHR0PlNTTHYyX01FVEhPRDwvdHQ+PC9hPjwvYj4KIDxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTA5Jz48dHQ+U1NMdjNfTUVUSE9EPC90dD48L2E+PC9iPjxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTEwJz48dHQ+U1NMdjIzX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMSc+PHR0PlRMU3YxX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMCc+PHR0PlNTTHYzX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMSc+PHR0PlNTTHYyM19NRVRIT0Q8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTInPjx0dD5UTFN2MV9NRVRIT0Q8L3R0PjwvYT48L2I+PGRkPgogVGhlc2UgY29uc3RhbnRzIHJlcHJlc2VudCB0aGUgZGlmZmVyZW50IFNTTCBtZXRob2RzIHRvIHVzZSB3aGVuIGNyZWF0aW5nIGEKIGNvbnRleHQgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Nic+PHR0PlZFUklGWV9OT05FPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTcnPjx0dD5WRVJJRllfTk9ORTwvdHQ+PC9hPjwvYj4KIDxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTEyJz48dHQ+VkVSSUZZX1BFRVI8L3R0PjwvYT48L2I+PGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTMnPjx0dD5WRVJJRllfRkFJTF9JRl9OT19QRUVSX0NFUlQ8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTMnPjx0dD5WRVJJRllfUEVFUjwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNCc+PHR0PlZFUklGWV9GQUlMX0lGX05PX1BFRVJfQ0VSVDwvdHQ+PC9hPjwvYj48ZGQ+CiBUaGVzZSBjb25zdGFudHMgcmVwcmVzZW50IHRoZSB2ZXJpZmljYXRpb24gbW9kZSB1c2VkIGJ5IHRoZSBDb250ZXh0CiBvYmplY3QncyA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X3ZlcmlmeTwvdHQ+IG1ldGhvZC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTcnPjx0dD5GSUxFVFlQRV9QRU08L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05OCc+PHR0PkZJTEVUWVBFX1BFTTwvdHQ+PC9hPjwvYj4KIDxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTE0Jz48dHQ+RklMRVRZUEVfQVNOMTwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNSc+PHR0PkZJTEVUWVBFX0FTTjE8L3R0PjwvYT48L2I+PGRkPgogRmlsZSB0eXBlIGNvbnN0YW50cyB1c2VkIHdpdGggdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj51c2VfY2VydGlmaWNhdGVfZmlsZTwvdHQ+IGFuZAogPHR0IGNsYXNzPSJtZXRob2QiPnVzZV9wcml2YXRla2V5X2ZpbGU8L3R0PiBtZXRob2RzIG9mIENvbnRleHQgb2JqZWN0cy4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTgnPjx0dD5PUF9TSU5HTEVfREhfVVNFPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTknPjx0dD5PUF9TSU5HTEVfREhfVVNFPC90dD48L2E+PC9iPgogPGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTUnPjx0dD5PUF9FUEhFTUVSQUxfUlNBPC90dD48L2E+PC9iPjxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTE2Jz48dHQ+T1BfTk9fU1NMdjI8L3R0PjwvYT48L2I+PGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTcnPjx0dD5PUF9OT19TU0x2MzwvdHQ+PC9hPjwvYj48ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTExOCc+PHR0Pk9QX05PX1RMU3YxPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTE2Jz48dHQ+T1BfRVBIRU1FUkFMX1JTQTwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNyc+PHR0Pk9QX05PX1NTTHYyPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTE4Jz48dHQ+T1BfTk9fU1NMdjM8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTknPjx0dD5PUF9OT19UTFN2MTwvdHQ+PC9hPjwvYj48ZGQ+CiBDb25zdGFudHMgdXNlZCB3aXRoIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfb3B0aW9uczwvdHQ+IG9mIENvbnRleHQgb2JqZWN0cy4KIDx0dCBjbGFzcz0iY29uc3RhbnQiPk9QX1NJTkdMRV9ESF9VU0U8L3R0PiBtZWFucyB0byBhbHdheXMgY3JlYXRlIGEgbmV3IGtleSB3aGVuIHVzaW5nIGVwaGVtZXJhbAogRGlmZmllLUhlbGxtYW4uIDx0dCBjbGFzcz0iY29uc3RhbnQiPk9QX0VQSEVNRVJBTF9SU0E8L3R0PiBtZWFucyB0byBhbHdheXMgdXNlIGVwaGVtZXJhbCBSU0Ega2V5cwpAQCAtOTcsMTMgKzk3LDEzIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTk5Jz48dHQ+Q29udGV4dFR5cGU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMDAnPjx0dD5Db250ZXh0VHlwZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIEEgUHl0aG9uIHR5cGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgQ29udGV4dCBvYmplY3QgdHlwZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTAwJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5Db250ZXh0PC90dD48L2E+PC9iPig8dmFyPm1ldGhvZDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwMSc+PHR0IGNsYXNzPSdmdW5jdGlvbic+Q29udGV4dDwvdHQ+PC9hPjwvYj4oPHZhcj5tZXRob2Q8L3Zhcj4pCiA8ZGQ+CiBGYWN0b3J5IGZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIG5ldyBDb250ZXh0IG9iamVjdCBnaXZlbiBhbiBTU0wgbWV0aG9kLiBUaGUKIG1ldGhvZCBzaG91bGQgYmUgPHR0IGNsYXNzPSJjb25zdGFudCI+U1NMdjJfTUVUSE9EPC90dD4sIDx0dCBjbGFzcz0iY29uc3RhbnQiPlNTTHYzX01FVEhPRDwvdHQ+LApAQCAtMTExLDIxICsxMTEsMjEgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTAxJz48dHQ+Q29ubmVjdGlvblR5cGU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMDInPjx0dD5Db25uZWN0aW9uVHlwZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIEEgUHl0aG9uIHR5cGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgQ29ubmVjdGlvbiBvYmplY3QgdHlwZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTAyJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5Db25uZWN0aW9uPC90dD48L2E+PC9iPig8dmFyPmNvbnRleHQsIHNvY2tldDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwMyc+PHR0IGNsYXNzPSdmdW5jdGlvbic+Q29ubmVjdGlvbjwvdHQ+PC9hPjwvYj4oPHZhcj5jb250ZXh0LCBzb2NrZXQ8L3Zhcj4pCiA8ZGQ+CiBGYWN0b3J5IGZ1Y25jdGlvbiB0aGF0IGNyZWF0ZXMgYSBuZXcgQ29ubmVjdGlvbiBvYmplY3QgZ2l2ZW4gYW4gU1NMIGNvbnRleHQgYW5kCiBhIHNvY2tldCA8QSBOQU1FPSJ0ZXgyaHRtbDUiCi0gIEhSRUY9IiNmb290OTUxIj48U1VQPjQ8L1NVUD48L0E+IG9iamVjdC4KKyAgSFJFRj0iI2Zvb3Q5NTUiPjxTVVA+NDwvU1VQPjwvQT4gb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTAzJz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+RXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTA0Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+RXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGlzIGV4Y2VwdGlvbiBpcyB1c2VkIGFzIGEgYmFzZSBjbGFzcyBmb3IgdGhlIG90aGVyIFNTTC1yZWxhdGVkCiBleGNlcHRpb25zLCBidXQgbWF5IGFsc28gYmUgcmFpc2VkIGRpcmVjdGx5LgpAQCAtMTM5LDcgKzEzOSw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMDQnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5aZXJvUmV0dXJuRXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTA1Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+WmVyb1JldHVybkVycm9yPC90dD48L2E+PC9iPgogPGRkPgogVGhpcyBleGNlcHRpb24gbWF0Y2hlcyB0aGUgZXJyb3IgcmV0dXJuIGNvZGUgPGNvZGU+U1NMX0VSUk9SX1pFUk9fUkVUVVJOPC9jb2RlPiwgYW5kCiBpcyByYWlzZWQgd2hlbiB0aGUgU1NMIENvbm5lY3Rpb24gaGFzIGJlZW4gY2xvc2VkLiBJbiBTU0wgMy4wIGFuZCBUTFMgMS4wLCB0aGlzCkBAIC0xNTMsNyArMTUzLDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwNSc+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRSZWFkRXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTA2Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+V2FudFJlYWRFcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBvcGVyYXRpb24gZGlkIG5vdCBjb21wbGV0ZTsgdGhlIHNhbWUgSS9PIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIGFnYWluCiBsYXRlciwgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMuIEFueSBJL08gbWV0aG9kIGNhbiBsZWFkIHRvIHRoaXMgc2luY2UgbmV3CkBAIC0xNjEsMTMgKzE2MSwxMyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTA2Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+V2FudFdyaXRlRXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTA3Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+V2FudFdyaXRlRXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBTZWUgPHR0IGNsYXNzPSJleGNlcHRpb24iPldhbnRSZWFkRXJyb3I8L3R0Pi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwNyc+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRYNTA5TG9va3VwRXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTA4Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+V2FudFg1MDlMb29rdXBFcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBvcGVyYXRpb24gZGlkIG5vdCBjb21wbGV0ZSBiZWNhdXNlIGFuIGFwcGxpY2F0aW9uIGNhbGxiYWNrIGhhcyBhc2tlZCB0byBiZQogY2FsbGVkIGFnYWluLiBUaGUgSS9PIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIGFnYWluIGxhdGVyLCB3aXRoIHRoZSBzYW1lCkBAIC0xNzYsNyArMTc2LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwOCc+PHR0IGNsYXNzPSdleGNlcHRpb24nPlN5c0NhbGxFcnJvcjwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMDknPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5TeXNDYWxsRXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgPHR0IGNsYXNzPSJleGNlcHRpb24iPlN5c0NhbGxFcnJvcjwvdHQ+IG9jY3VycyB3aGVuIHRoZXJlJ3MgYW4gSS9PIGVycm9yIGFuZCBPcGVuU1NMJ3MKIGVycm9yIHF1ZXVlIGRvZXMgbm90IGNvbnRhaW4gYW55IGluZm9ybWF0aW9uLiBUaGlzIGNhbiBtZWFuIHR3byB0aGluZ3M6IEFuCkBAIC0xODgsNyArMTg4LDcgQEAKIDxQPgogPEJSPjxIUj48SDQ+Rm9vdG5vdGVzPC9IND4KIDxETD4KLTxEVD48QSBOQU1FPSJmb290OTUxIj4uLi4gc29ja2V0PC9BPjxBCis8RFQ+PEEgTkFNRT0iZm9vdDk1NSI+Li4uIHNvY2tldDwvQT48QQogIGhyZWY9Im9wZW5zc2wtc3NsLmh0bWwjdGV4Mmh0bWw1Ij48U1VQPjQ8L1NVUD48L0E+PC9EVD4KIDxERD5BY3R1YWxseSwgYWxsIHRoYXQgaXMgcmVxdWlyZWQgaXMgYW4gb2JqZWN0IHRoYXQKIDxpPmJlaGF2ZXM8L2k+IGxpa2UgYSBzb2NrZXQsIHlvdSBjb3VsZCBldmVuIHVzZSBmaWxlcywgZXZlbiB0aG91Z2ggaXQnZCBiZQpAQCAtMjM3LDcgKzIzNyw3IEBACiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wuaHRtbCI+MyBPcGVuU1NMICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jb250ZXh0Lmh0bWwiPjMuMy4xIENvbnRleHQgb2JqZWN0czwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDkuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sCmluZGV4IDM1NzNjOGIuLmViYzViMTMgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sCkBAIC0yMzUsNyArMjM1LDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOW5hbWUuaHRtbCI+My4xLjIgWDUwOU5hbWUgb2JqZWN0czwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDluYW1lLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDluYW1lLmh0bWwKaW5kZXggMjExYjdhZC4uMmNmMDM1MSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5bmFtZS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wteDUwOW5hbWUuaHRtbApAQCAtNTksNTIgKzU5LDU4IEBACiA8L2RsPgogCiA8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU2Jz48dHQgY2xhc3M9J21ldGhvZCc+ZGVyPC90dD48L2E+PC9iPigpCis8ZGQ+CitSZXR1cm4gYSBzdHJpbmcgZ2l2aW5nIHRoZSBERVIgcmVwcmVzZW50YXRpb24gb2YgdGhlIG5hbWUuCis8L2RsPgorCis8UD4KIFg1MDlOYW1lIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1lbWJlcnM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTYnPjx0dCBjbGFzcz0nbWVtYmVyJz5jb3VudHJ5TmFtZTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU3Jz48dHQgY2xhc3M9J21lbWJlcic+Y291bnRyeU5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgY291bnRyeSBvZiB0aGUgZW50aXR5LiA8Y29kZT5DPC9jb2RlPiBtYXkgYmUgdXNlZCBhcyBhbiBhbGlhcyBmb3IKIDxjb2RlPmNvdW50cnlOYW1lPC9jb2RlPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTcnPjx0dCBjbGFzcz0nbWVtYmVyJz5zdGF0ZU9yUHJvdmluY2VOYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTgnPjx0dCBjbGFzcz0nbWVtYmVyJz5zdGF0ZU9yUHJvdmluY2VOYW1lPC90dD48L2E+PC9iPgogPGRkPgogVGhlIHN0YXRlIG9yIHByb3ZpbmNlIG9mIHRoZSBlbnRpdHkuIDxjb2RlPlNUPC9jb2RlPiBtYXkgYmUgdXNlZCBhcyBhbiBhbGlhcyBmb3IKIDxjb2RlPnN0YXRlT3JQcm92aW5jZU5hbWU8L2NvZGU+twogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01OCc+PHR0IGNsYXNzPSdtZW1iZXInPmxvY2FsaXR5TmFtZTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU5Jz48dHQgY2xhc3M9J21lbWJlcic+bG9jYWxpdHlOYW1lPC90dD48L2E+PC9iPgogPGRkPgogVGhlIGxvY2FsaXR5IG9mIHRoZSBlbnRpdHkuIDxjb2RlPkw8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+bG9jYWxpdHlOYW1lPC9jb2RlPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTknPjx0dCBjbGFzcz0nbWVtYmVyJz5vcmdhbml6YXRpb25OYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjAnPjx0dCBjbGFzcz0nbWVtYmVyJz5vcmdhbml6YXRpb25OYW1lPC90dD48L2E+PC9iPgogPGRkPgogVGhlIG9yZ2FuaXphdGlvbiBuYW1lIG9mIHRoZSBlbnRpdHkuIDxjb2RlPk88L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+b3JnYW5pemF0aW9uTmFtZTwvY29kZT4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYwJz48dHQgY2xhc3M9J21lbWJlcic+b3JnYW5pemF0aW9uYWxVbml0TmFtZTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYxJz48dHQgY2xhc3M9J21lbWJlcic+b3JnYW5pemF0aW9uYWxVbml0TmFtZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBvcmdhbml6YXRpb25hbCB1bml0IG9mIHRoZSBlbnRpdHkuIDxjb2RlPk9VPC9jb2RlPiBtYXkgYmUgdXNlZCBhcyBhbiBhbGlhcyBmb3IKIDxjb2RlPm9yZ2FuaXphdGlvbmFsVW5pdE5hbWU8L2NvZGU+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02MSc+PHR0IGNsYXNzPSdtZW1iZXInPmNvbW1vbk5hbWU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02Mic+PHR0IGNsYXNzPSdtZW1iZXInPmNvbW1vbk5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgY29tbW9uIG5hbWUgb2YgdGhlIGVudGl0eS4gPGNvZGU+Q048L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+Y29tbW9uTmFtZTwvY29kZT4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYyJz48dHQgY2xhc3M9J21lbWJlcic+ZW1haWxBZGRyZXNzPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjMnPjx0dCBjbGFzcz0nbWVtYmVyJz5lbWFpbEFkZHJlc3M8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgZS1tYWlsIGFkZHJlc3Mgb2YgdGhlIGVudGl0eS4KIDwvZGw+CkBAIC0xMzksNyArMTQ1LDcgQEAKIDxiIGNsYXNzPSJuYXZsYWJlbCI+VXA6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9Im9wZW5zc2wteDUwOXJlcS5odG1sIj4zLjEuMyBYNTA5UmVxIG9iamVjdHM8L0E+CiA8aHI+Ci08c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2ExLjwvc3Bhbj4KKzxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTIuPC9zcGFuPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5cmVxLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDlyZXEuaHRtbAppbmRleCBiMmVjZDI2Li42ZTY5NDQ0IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlyZXEuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDlyZXEuaHRtbApAQCAtNTIsMzIgKzUyLDMyIEBACiBYNTA5UmVxIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjMnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcHVia2V5PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02NCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBhIFBLZXkgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcHVibGljIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgcmVxdWVzdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjQnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc3ViamVjdDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc3ViamVjdDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGFuIFg1MDlOYW1lIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHN1YmplY3Qgb2YgdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQogPGRkPgogU2V0IHRoZSBwdWJsaWMga2V5IG9mIHRoZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IHRvIDx2YXI+cGtleTwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaWduPC90dD48L2E+PC9iPig8dmFyPnBrZXksIGRpZ2VzdDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY3Jz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5LCBkaWdlc3Q8L3Zhcj4pCiA8ZGQ+CiBTaWduIHRoZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0LCB1c2luZyB0aGUga2V5IDx2YXI+cGtleTwvdmFyPiBhbmQgdGhlIG1lc3NhZ2UgZGlnZXN0CiBhbGdvcml0aG0gaWRlbnRpZmllZCBieSB0aGUgc3RyaW5nIDx2YXI+ZGlnZXN0PC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnZlcmlmeTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjgnPjx0dCBjbGFzcz0nbWV0aG9kJz52ZXJpZnk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFZlcmlmeSBhIGNlcnRpZmljYXRlIHJlcXVlc3QgdXNpbmcgdGhlIHB1YmxpYyBrZXkgPHZhcj5wa2V5PC92YXI+LgogPC9kbD4KQEAgLTExMiw3ICsxMTIsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC14NTA5c3RvcmUuaHRtbCI+My4xLjQgWDUwOVN0b3JlIG9iamVjdHM8L0E+CiA8aHI+Ci08c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2ExLjwvc3Bhbj4KKzxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTIuPC9zcGFuPgogPC9ESVY+CiA8IS0tRW5kIG9mIE5hdmlnYXRpb24gUGFuZWwtLT4KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5c3RvcmUuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wteDUwOXN0b3JlLmh0bWwKaW5kZXggMjcyMGMxMS4uMmU1NWU5NSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5c3RvcmUuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDlzdG9yZS5odG1sCkBAIC01Miw3ICs1Miw3IEBACiBUaGUgWDUwOVN0b3JlIG9iamVjdCBoYXMgY3VycmVudGx5IGp1c3Qgb25lIG1ldGhvZDoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02OCc+PHR0IGNsYXNzPSdtZXRob2QnPmFkZF9jZXJ0PC90dD48L2E+PC9iPig8dmFyPmNlcnQ8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02OSc+PHR0IGNsYXNzPSdtZXRob2QnPmFkZF9jZXJ0PC90dD48L2E+PC9iPig8dmFyPmNlcnQ8L3Zhcj4pCiA8ZGQ+CiBBZGQgdGhlIGNlcnRpZmljYXRlIDx2YXI+Y2VydDwvdmFyPiB0byB0aGUgY2VydGlmaWNhdGUgc3RvcmUuCiA8L2RsPgpAQCAtODcsNyArODcsNyBAQAogPGIgY2xhc3M9Im5hdmxhYmVsIj5VcDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJvcGVuc3NsLWNyeXB0by5odG1sIj4zLjEgY3J5cHRvICA8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1wa2V5Lmh0bWwiPjMuMS41IFBLZXkgb2JqZWN0czwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLmh0bWwKaW5kZXggMTRiMWJkZi4uZjI1NDFiNCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wuaHRtbApAQCAtMTQzLDcgKzE0Myw3IEBACiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIEhSRUY9InB5T3BlblNTTC5odG1sIj5QeXRob24gT3BlblNTTCBNYW51YWw8L0E+CiA8YiBjbGFzcz0ibmF2bGFiZWwiPk5leHQ6PC9iPiA8YSBjbGFzcz0ic2VjdHJlZiIgaHJlZj0ib3BlbnNzbC1jcnlwdG8uaHRtbCI+My4xIGNyeXB0byAgPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL3B5T3BlblNTTC5odG1sIGIvZG9jL2h0bWwvcHlPcGVuU1NMLmh0bWwKaW5kZXggNzJkZGNiYi4uYWQwZGZiOCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvcHlPcGVuU1NMLmh0bWwKKysrIGIvZG9jL2h0bWwvcHlPcGVuU1NMLmh0bWwKQEAgLTE1OSw3ICsxNTksNyBAQAogPC90cj48L3RhYmxlPgogPGIgY2xhc3M9Im5hdmxhYmVsIj5OZXh0OjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9ImNvbnRlbnRzLmh0bWwiPkNvbnRlbnRzPC9BPgogPGhyPgotPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMS48L3NwYW4+Cis8c3BhbiBjbGFzcz0icmVsZWFzZS1pbmZvIj5SZWxlYXNlIDAuN2EyLjwvc3Bhbj4KIDwvRElWPgogPCEtLUVuZCBvZiBOYXZpZ2F0aW9uIFBhbmVsLS0+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL3NvY2tldC1tZXRob2RzLmh0bWwgYi9kb2MvaHRtbC9zb2NrZXQtbWV0aG9kcy5odG1sCmluZGV4IDU0ZGEwOGQuLmVkZjFlMjQgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL3NvY2tldC1tZXRob2RzLmh0bWwKKysrIGIvZG9jL2h0bWwvc29ja2V0LW1ldGhvZHMuaHRtbApAQCAtMTExLDcgKzExMSw3IEBACiA8YiBjbGFzcz0ibmF2bGFiZWwiPlVwOjwvYj4gPGEgY2xhc3M9InNlY3RyZWYiIGhyZWY9ImludGVybmFscy5odG1sIj40IEludGVybmFsczwvQT4KIDxiIGNsYXNzPSJuYXZsYWJlbCI+TmV4dDo8L2I+IDxhIGNsYXNzPSJzZWN0cmVmIiBocmVmPSJhYm91dC5odG1sIj5BYm91dCB0aGlzIGRvY3VtZW50IC4uLjwvQT4KIDxocj4KLTxzcGFuIGNsYXNzPSJyZWxlYXNlLWluZm8iPlJlbGVhc2UgMC43YTEuPC9zcGFuPgorPHNwYW4gY2xhc3M9InJlbGVhc2UtaW5mbyI+UmVsZWFzZSAwLjdhMi48L3NwYW4+CiA8L0RJVj4KIDwhLS1FbmQgb2YgTmF2aWdhdGlvbiBQYW5lbC0tPgogCmRpZmYgLS1naXQgYS9kb2MvcHlPcGVuU1NMLnBzIGIvZG9jL3B5T3BlblNTTC5wcwppbmRleCBhMTUyYTRhLi41ZGZhYmI5IDEwMDY0NAotLS0gYS9kb2MvcHlPcGVuU1NMLnBzCisrKyBiL2RvYy9weU9wZW5TU0wucHMKQEAgLTEsNyArMSw3IEBACiAlIVBTLUFkb2JlLTIuMAogJSVDcmVhdG9yOiBkdmlwcyhrKSA1Ljk2LjEgQ29weXJpZ2h0IDIwMDcgUmFkaWNhbCBFeWUgU29mdHdhcmUKICUlVGl0bGU6IHB5T3BlblNTTC5kdmkKLSUlQ3JlYXRpb25EYXRlOiBNb24gTWFyIDI0IDE3OjQyOjIyIDIwMDgKKyUlQ3JlYXRpb25EYXRlOiBUdWUgTWFyIDI1IDE1OjIwOjAxIDIwMDgKICUlUGFnZXM6IDE1CiAlJVBhZ2VPcmRlcjogQXNjZW5kCiAlJUJvdW5kaW5nQm94OiAwIDAgNTk1IDg0MgpAQCAtMTAsNyArMTAsNyBAQAogJURWSVBTV2ViUGFnZTogKHd3dy5yYWRpY2FsZXllLmNvbSkKICVEVklQU0NvbW1hbmRMaW5lOiBkdmlwcyAtTjAgLW8gcHlPcGVuU1NMLnBzIHB5T3BlblNTTAogJURWSVBTUGFyYW1ldGVyczogZHBpPTYwMAotJURWSVBTU291cmNlOiAgVGVYIG91dHB1dCAyMDA4LjAzLjI0OjE3NDIKKyVEVklQU1NvdXJjZTogIFRlWCBvdXRwdXQgMjAwOC4wMy4yNToxNTIwCiAlJUJlZ2luUHJvY1NldDogdGV4LnBybyAwIDAKICUhCiAvVGVYRGljdCAzMDAgZGljdCBkZWYgVGVYRGljdCBiZWdpbi9Oe2RlZn1kZWYvQntiaW5kIGRlZn1OL1N7ZXhjaH1OL1h7UwpAQCAtMzk5NCw0MyArMzk5NCw0NSBAQAogMDBGRTAwMDAwMUZDMDBGRTAwMDAwMUZDMDBGRTAwMDAwM0Y4MDBGRTAwMDAwM0Y4MDBGRTAwMDAwN0YwMDBGRTAwMDAwN0YwCiAwMEZFMDAwMDBGRTAwMEZFMDAwMDBGRTAwMEZGMDAwMDFGQzAwMDdGMDAwMDNGODAwMDdGMDAwMDdGODAwMDdGODAwMEZGMDAKIDAwM0ZDMDAxRkUwMDAwM0ZFMDA3RkMwMDAwM0ZGODFGRjgwMDAwMUZGRkZGRjAwMDAwMEZGRkZGRTAwMDAwMDdGRkZGQzAwMAotMDAwM0ZGRkYwMDAwMDAwMEZGRkMwMDAwMDAwMDFGRTAwMDAwMDAyQzQ1NzdDMjMxPjQ4IEQ8MDAwMDAwMDBDMDAwMDAwMDAzCi1DMDAwMDAwMDA3QzAwMDAwMDAxRjgwMDAwMDAwN0Y4MDAwMDAwN0ZGODAwMDBGRkZGRjgwMDAwRkZGRkY4MDAwMEZGRkZGMDAKLTAwMEZGRkZGMDAwMDFGRkVGRjAwMDAxRkYwRkYwMDAwMDAwMEZGMDAwMDAwMDFGRTAwMDAwMDAxRkUwMDAwMDAwMUZFMDAwMAotMDAwMUZFMDAwMDAwMDFGRTAwMDAwMDAzRkMwMDAwMDAwM0ZDMDAwMDAwMDNGQzAwMDAwMDAzRkMwMDAwMDAwN0Y4MDAwMDAwCi0wN0Y4MDAwMDAwMDdGODAwMDAwMDA3RjgwMDAwMDAwN0Y4MDAwMDAwMEZGMDAwMDAwMDBGRjAwMDAwMDAwRkYwMDAwMDAwMEYKLUYwMDAwMDAwMEZGMDAwMDAwMDFGRTAwMDAwMDAxRkUwMDAwMDAwMUZFMDAwMDAwMDFGRTAwMDAwMDAzRkMwMDAwMDAwM0ZDMAotMDAwMDAwM0ZDMDAwMDAwMDNGQzAwMDAwMDAzRkMwMDAwMDAwN0Y4MDAwMDAwMDdGODAwMDAwMDA3RjgwMDAwMDAwN0Y4MDAwCi0wMDAwN0Y4MDAwMDAwMEZGMDAwMDAwMDBGRjAwMDAwMDAwRkYwMDAwMDAwMEZGMDAwMDAwMDBGRjAwMDAwMDAxRkUwMDAwMDAKLTAxRkUwMDAwMDAwMUZFMDAwMDAwMDFGRTAwMDAwMDAzRkMwMDAwMDAwM0ZDMDAwMDAwMDNGQzAwMDAwMDAzRkMwMDAwMDAwMwotRkMwMDAwMDAwN0Y4MDAwMDdGRkZGRkZGODA3RkZGRkZGRjgwN0ZGRkZGRkY4MDdGRkZGRkZGODBGRkZGRkZGRjAwRkZGRkZGCi1GRjAwMjI0Mzc3QzIzMT5JPDFGRkZGRkZGRkZFMDNGRkZGRkZGRkZDMDNGRkZGRkZGRkZDMDNGRkZGRkZGRkZDMDNGRkZGRgotRkZGRkMwM0ZGRkZGRkZGRkMwMDAwMDAwMDAxRjgwMDAwMDAwMDAzRjAwMDAwMDAwMDA3RTAwMDAwMDAwMDBGQzAwMDAwMDAwCi0wMUY4MDAwMDAwMDAwM0YwMDAwMDAwMDAwN0UwMDAwMDAwMDAwRkUwMDAwMDAwMDAxRkMwMDAwMDAwMDAzRjgwMDAwMDAwMDAKLTdGMDAwMDAwMDAwMEZFMDAwMDAwMDAwMUZDMDAwMDAwMDAwMUZDMDAwMDAwMDAwM0Y4MDAwMDAwMDAwN0YwMDAwMDAwMDAwRgotRTAwMDAwMDAwMDFGRTAwMDAwMDAwMDFGQzAwMDAwMDAwMDNGODAwMDAwMDAwMDdGODAwMDAwMDAwMDdGMDAwMDAwMDAwMEZFCi0wMDAwMDAwMDAxRkUwMDAwMDAwMDAxRkMwMDAwMDAwMDAzRkMwMDAwMDAwMDA3RjgwMDAwMDAwMDA3RjAwMDAwMDAwMDBGRjAKLTAwMDAwMDAwMEZFMDAwMDAwMDAwMUZFMDAwMDAwMDAwM0ZDMDAwMDAwMDAwM0ZDMDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MAotMDAwMDAwMDBGRjAwMDAwMDAwMDBGRjAwMDAwMDAwMDFGRTAwMDAwMDAwMDFGRTAwMDAwMDAwMDFGQzAwMDAwMDAwMDNGQzAwCi0wMDAwMDAwM0ZDMDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwRkYwMDAwMDAwMDAwRkYwMDAwMDAwMDAwRkYwMDAKLTAwMDAwMDFGRTAwMDAwMDAwMDFGRTAwMDAwMDAwMDFGRTAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGQzAwMAotMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwRkYwMDAwMDAwMDAwRkYwMDAwCi0wMDAwMDBGRjAwMDAwMDAwMDAyQjQyNzFDMDMxPjU1IEQ8MDAwMUZGRkZGRkYwMDAwMDAwMDNGRkZGRkZGRTAwMDAwMDAzRkYKLUZGRkZGRkMwMDAwMDAzRkZGRkZGRkZGMDAwMDAwM0ZGRkZGRkZGRjgwMDAwMDdGRkZGRkZGRkZDMDAwMDA3RjgwMDAwN0ZGRQotMDAwMDA3RjgwMDAwMEZGRjAwMDAwN0Y4MDAwMDAzRkY4MDAwMDdGODAwMDAwMEZGODAwMDBGRjAwMDAwMDA3RkMwMDAwRkYwCi0wMDAwMDA3RkMwMDAwRkYwMDAwMDAwM0ZFMDAwMEZGMDAwMDAwMDNGRTAwMDBGRjAwMDAwMDAzRkUwMDAxRkUwMDAwMDAwMUYKLUUwMDAxRkUwMDAwMDAwMUZFMDAwMUZFMDAwMDAwMDFGRTAwMDFGRTAwMDAwMDAzRkUwMDAxRkUwMDAwMDAwM0ZDMDAwM0ZDMAotMDAwMDAwM0ZDMDAwM0ZDMDAwMDAwMDdGQzAwMDNGQzAwMDAwMDA3RjgwMDAzRkMwMDAwMDAwRkY4MDAwN0Y4MDAwMDAwMUZGCi0wMDAwN0Y4MDAwMDAwM0ZFMDAwMDdGODAwMDAwMDdGRTAwMDA3RjgwMDAwMDBGRkMwMDAwN0Y4MDAwMDAzRkY4MDAwMEZGMDAKLTAwMDBGRkYwMDAwMEZGMDAwMDBGRkZDMDAwMDBGRkZGRkZGRkZGODAwMDAwRkZGRkZGRkZGRTAwMDAwMEZGRkZGRkZGRjgwMAotMDAwMUZGRkZGRkZGRTAwMDAwMDFGRkZGRkZGRjAwMDAwMDAxRkZGRkZGRkMwMDAwMDAwMUZFMDAwMUZDMDAwMDAwMDNGQzAwCi0wMUZFMDAwMDAwMDNGQzAwMDFGRTAwMDAwMDAzRkMwMDAwRkUwMDAwMDAwM0ZDMDAwMEZGMDAwMDAwMDNGQzAwMDA3RjAwMDAKLTAwMDdGODAwMDA3RjgwMDAwMDA3RjgwMDAwN0Y4MDAwMDAwN0Y4MDAwMDNGODAwMDAwMDdGODAwMDAzRkMwMDAwMDA3RjgwMAotMDAzRkMwMDAwMDBGRjAwMDAwMUZDMDAwMDAwRkYwMDAwMDFGRTAwMDAwMEZGMDAwMDAxRkUwMDAwMDBGRjAwMDAwMEZGMDAwCi0wMDBGRjAwMDAwMEZGMDAwMDAxRkUwMDAwMDBGRjAwMDAwMUZFMDAwMDAwN0Y4MDAwMDFGRTAwMDAwMDdGODAwMDAxRkUwMDAKLTAwMDNGODAwMDAzRkMwMDAwMDAzRkMwMDAwM0ZDMDAwMDAwM0ZDMDAwMDNGQzAwMDAwMDFGQzAwMDAzRkMwMDAwMDAxRkUwMAotMDAzRkMwMDAwMDAxRkUwMDAwN0Y4MDAwMDAwMEZGMDAwMDdGODAwMDAwMDBGRjAwMDA3RjgwMDAwMDAwRkYwMDAwN0Y4MDAwCi0wMDAwN0Y4MDAwN0Y4MDAwMDAwMDdGODAwMEZGMDAwMDAwMDA3RjgwMDBGRjAwMDAwMDAwM0ZDMDAwM0I0NTc3QzQzRj44MgorMDAwM0ZGRkYwMDAwMDAwMEZGRkMwMDAwMDAwMDFGRTAwMDAwMDAyQzQ1NzdDMjMxPjQ4IEQ8MDAwMDAwMUZGMDAwMDAwMDAwCitGRkZFMDAwMDAwMDNGRkZGODAwMDAwMEZGRkZGRTAwMDAwMUZGRkZGRjAwMDAwM0ZGRkZGRjgwMDAwN0ZDMDdGRjgwMDAwRkUKKzAwMEZGQzAwMDFGQzAwMDdGRTAwMDNGODAwMDNGRTAwMDdGMDAwMDFGRTAwMDdFMDAwMDFGRjAwMEZDMDAwMDBGRjAwMUZDMAorMDAwMEZGMDAxRjgwMDAwMEZGMDAzRjAwMDAwMEZGMDAzRjAwMDAwMEZGMDAzRTAwMDAwMEZGMDAxRTAwMDAwMEZGMDAxRTAwCiswMDAwRkYwMDBDMDAwMDAwRkYwMDA0MDAwMDAwRkYwMDAwMDAwMDAwRkUwMDAwMDAwMDAxRkUwMDAwMDAwMDAxRkUwMDAwMDAKKzAwMDFGQzAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGODAwMDAwMDAwMDdGODAwMDAwMDAwMEZGMDAwMDAwMDAwMEZFMDAwMDAwMAorMDAxRkUwMDAwMDAwMDAzRkMwMDAwMDAwMDA3RjgwMDAwMDAwMDBGRjAwMDAwMDAwMDFGRTAwMDAwMDAwMDNGQzAwMDAwMDAwCiswN0Y4MDAwMDAwMDAwRkYwMDAwMDAwMDAxRkUwMDAwMDAwMDAzRjgwMDAwMDAwMDA3RjAwMDAwMDAwMDBGRTAwMDAwMDAwMDMKK0ZDMDAwMDAwMDAwN0YwMDAwMDAwMDAwRkUwMDAwMDAwMDAxRkMwMDAwMDAwMDA3RjgwMDAwMDAwMDBGRTAwMDAwMDAwMDFGQworMDAwMDAwMDAwM0Y4MDAwMDAwMDAwN0YwMDAwMDAwMDAwRkUwMDAwMDAwMDAzRjgwMDAwMDAwMDA3RjAwMDAwMDAwMDBGRTAwCiswMDAwMDAwMUZDMDAwMDAwMDAwM0Y4MDAwMDAwMDAwN0UwMDAwMDAwMDAxRkMwMDAwMDAwMDAzRjgwMDAwMDAwMDA3RkZGRkYKK0ZGRkUwMDdGRkZGRkZGRkUwMDdGRkZGRkZGRkUwMDdGRkZGRkZGRkUwMEZGRkZGRkZGRkMwMEZGRkZGRkZGRkMwMDMwNDM3QgorQzIzMT41MCBEPDFGRkZGRkZGRkZFMDNGRkZGRkZGRkZDMDNGRkZGRkZGRkZDMDNGRkZGRkZGRkZDMDNGRkZGRkZGRkZDMDNGCitGRkZGRkZGRkMwMDAwMDAwMDAxRjgwMDAwMDAwMDAzRjAwMDAwMDAwMDA3RTAwMDAwMDAwMDBGQzAwMDAwMDAwMDFGODAwMDAKKzAwMDAwM0YwMDAwMDAwMDAwN0UwMDAwMDAwMDAwRkUwMDAwMDAwMDAxRkMwMDAwMDAwMDAzRjgwMDAwMDAwMDA3RjAwMDAwMAorMDAwMEZFMDAwMDAwMDAwMUZDMDAwMDAwMDAwMUZDMDAwMDAwMDAwM0Y4MDAwMDAwMDAwN0YwMDAwMDAwMDAwRkUwMDAwMDAwCiswMDFGRTAwMDAwMDAwMDFGQzAwMDAwMDAwMDNGODAwMDAwMDAwMDdGODAwMDAwMDAwMDdGMDAwMDAwMDAwMEZFMDAwMDAwMDAKKzAxRkUwMDAwMDAwMDAxRkMwMDAwMDAwMDAzRkMwMDAwMDAwMDA3RjgwMDAwMDAwMDA3RjAwMDAwMDAwMDBGRjAwMDAwMDAwMAorMEZFMDAwMDAwMDAwMUZFMDAwMDAwMDAwM0ZDMDAwMDAwMDAwM0ZDMDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwCitGRjAwMDAwMDAwMDBGRjAwMDAwMDAwMDFGRTAwMDAwMDAwMDFGRTAwMDAwMDAwMDFGQzAwMDAwMDAwMDNGQzAwMDAwMDAwMDMKK0ZDMDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwRkYwMDAwMDAwMDAwRkYwMDAwMDAwMDAwRkYwMDAwMDAwMDAxRgorRTAwMDAwMDAwMDFGRTAwMDAwMDAwMDFGRTAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGQzAwMDAwMDAwMDdGCis4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwN0Y4MDAwMDAwMDAwRkYwMDAwMDAwMDAwRkYwMDAwMDAwMDAwRkYKKzAwMDAwMDAwMDAyQjQyNzFDMDMxPjU1IEQ8MDAwMUZGRkZGRkYwMDAwMDAwMDNGRkZGRkZGRTAwMDAwMDAzRkZGRkZGRkZDMAorMDAwMDAzRkZGRkZGRkZGMDAwMDAwM0ZGRkZGRkZGRjgwMDAwMDdGRkZGRkZGRkZDMDAwMDA3RjgwMDAwN0ZGRTAwMDAwN0Y4CiswMDAwMEZGRjAwMDAwN0Y4MDAwMDAzRkY4MDAwMDdGODAwMDAwMEZGODAwMDBGRjAwMDAwMDA3RkMwMDAwRkYwMDAwMDAwN0YKK0MwMDAwRkYwMDAwMDAwM0ZFMDAwMEZGMDAwMDAwMDNGRTAwMDBGRjAwMDAwMDAzRkUwMDAxRkUwMDAwMDAwMUZFMDAwMUZFMAorMDAwMDAwMUZFMDAwMUZFMDAwMDAwMDFGRTAwMDFGRTAwMDAwMDAzRkUwMDAxRkUwMDAwMDAwM0ZDMDAwM0ZDMDAwMDAwMDNGCitDMDAwM0ZDMDAwMDAwMDdGQzAwMDNGQzAwMDAwMDA3RjgwMDAzRkMwMDAwMDAwRkY4MDAwN0Y4MDAwMDAwMUZGMDAwMDdGODAKKzAwMDAwM0ZFMDAwMDdGODAwMDAwMDdGRTAwMDA3RjgwMDAwMDBGRkMwMDAwN0Y4MDAwMDAzRkY4MDAwMEZGMDAwMDAwRkZGMAorMDAwMEZGMDAwMDBGRkZDMDAwMDBGRkZGRkZGRkZGODAwMDAwRkZGRkZGRkZGRTAwMDAwMEZGRkZGRkZGRjgwMDAwMDFGRkZGCitGRkZGRTAwMDAwMDFGRkZGRkZGRjAwMDAwMDAxRkZGRkZGRkMwMDAwMDAwMUZFMDAwMUZDMDAwMDAwMDNGQzAwMDFGRTAwMDAKKzAwMDNGQzAwMDFGRTAwMDAwMDAzRkMwMDAwRkUwMDAwMDAwM0ZDMDAwMEZGMDAwMDAwMDNGQzAwMDA3RjAwMDAwMDA3RjgwMAorMDA3RjgwMDAwMDA3RjgwMDAwN0Y4MDAwMDAwN0Y4MDAwMDNGODAwMDAwMDdGODAwMDAzRkMwMDAwMDA3RjgwMDAwM0ZDMDAwCiswMDBGRjAwMDAwMUZDMDAwMDAwRkYwMDAwMDFGRTAwMDAwMEZGMDAwMDAxRkUwMDAwMDBGRjAwMDAwMEZGMDAwMDAwRkYwMDAKKzAwMEZGMDAwMDAxRkUwMDAwMDBGRjAwMDAwMUZFMDAwMDAwN0Y4MDAwMDFGRTAwMDAwMDdGODAwMDAxRkUwMDAwMDAzRjgwMAorMDAzRkMwMDAwMDAzRkMwMDAwM0ZDMDAwMDAwM0ZDMDAwMDNGQzAwMDAwMDFGQzAwMDAzRkMwMDAwMDAxRkUwMDAwM0ZDMDAwCiswMDAxRkUwMDAwN0Y4MDAwMDAwMEZGMDAwMDdGODAwMDAwMDBGRjAwMDA3RjgwMDAwMDAwRkYwMDAwN0Y4MDAwMDAwMDdGODAKKzAwN0Y4MDAwMDAwMDdGODAwMEZGMDAwMDAwMDA3RjgwMDBGRjAwMDAwMDAwM0ZDMDAwM0I0NTc3QzQzRj44MgogRDwwMDAwMEZGQzAwMDAwMEZGRkY4MDAwMDNGRkZGQzAwMDFGRkZGRkYwMDAzRkZGRkZGODAwM0ZGRkZGRjgwMDdGRTAwRkZDCiAwMDdGMDAwM0ZFMDA3ODAwMDNGRTAwNjAwMDAxRkUwMDAwMDAwMUZFMDAwMDAwMDFGRjAwMDAwMDAwRkYwMDAwMDAwMEZGMDAKIDAwMDAwMEZGMDAwMDAwMDFGRTAwMDAwMDAxRkUwMDAwMDAwMUZFMDAwMDAwMDFGRTAwMDAwMDAxRkUwMDAwMDAwM0ZDMDAwMApAQCAtNDU2Nyw5ICs0NTY5LDkgQEAKICUlRW5kU2V0dXAKICUlUGFnZTogMSAxCiBUZVhEaWN0IGJlZ2luIDEgMCBib3AgMCA4MyAzOTAxIDkgdiAxODkwIDQ1MSBhIEZ1KFB5dGhvbik2NAotYihPcCk1IGIoZW5TU0wpNjQgYihNYW51YWwpMzM0OCA2MTkgeSBGdChSZWxlYXNlKTMzIGIoMC43YTEpMzE4OQorYihPcCk1IGIoZW5TU0wpNjQgYihNYW51YWwpMzM0OCA2MTkgeSBGdChSZWxlYXNlKTMzIGIoMC43YTIpMzE4OQogOTc0IHkgRnMoTWEpbShydGluKWsoU2pcMzY2Z3JlbikzMzQyIDEzMjggeSBGcihNYXJjKW4oaCkyNgotYigyNCwpaCgyMDA4KTMzMDEgMTQ3NSB5IEZxKG1hKW4ocnRpbkBzdHJha3QuY29tKTE3ODEKK2IoMjUsKWgoMjAwOCkzMzAxIDE0NzUgeSBGcShtYSluKHJ0aW5Ac3RyYWt0LmNvbSkxNzgxCiAxNjk3IHkgRnAoQWJzdHJhY3QpMjA4IDE4NDEgeSBGbyhUaGlzKTMyIGIobW8pcihkdWxlKWYoaXMpaChhKWcocmF0aGVyKQogZyh0aGluKWYod3JhcHApcihlciloKGFyb3VuZClnKFwoYSlnKHN1YnNldClmKG9mKTYgYihcKSkzMgogYih0aGUpZyhPcClyKGVuU1NMKWUobGlicmFyeSktNiBiKC4pNTIgYihXaXRoKTMyIGIodGhpbilmKHdyYXBwKXIoZXIpCkBAIC00OTA0LDU5MyArNDkwNiw1OTYgQEAKIChtZXRobylyKGRzOikwIDQwODMgeSBGbShoYXNoXChcKSkyMDggNDE4MiB5IEZyKFJldHVybillKGFuKWcoaW4pbgogKHRlZ2VyKWYoZ2l2aW5nKWcodGhlKWkoXDAzNHJzdClmKGZvdXIpZyhiKW4oeXRlcylmKG9mKWgodGhlKWgoTUQ1KWYKIChkaWdlc3QpZyhvZilnKHRoZSloKERFUilnKHJlcHJlc2VuKW4odGF0aW9uKWUob2YpaCh0aGUpZyhuYW1lLikwCi00MzI5IHkoWDUwOU5hbWUpaShvYik1IGIoamVjdHMpMjcgYihoYSluKHYpbihlKWcodGhlKWgoZm9sbG8pbih3aW5nKWUKLShtZW0pbihiKXIoZXJzOikwIDQ0NzYgeSBGbShjb3VudHJ5TmFtZSkyMDggNDU3NiB5IEZyKFRoZSloKGNvdW4pbih0cnkpCi1nKG9mKWcodGhlKWgoZW4pbih0aXQpbih5KS03IGIoLikzNyBiIEZtKEMpMjcgYiBGcihtYSluKHkpZyhiKXIoZSloCi0odXNlZClnKGFzKWYoYW4pZyhhbGlhcylmKGZvciloIEZtKGNvdW50cnlOYW1lKXAgRnIoLikwCi00NzIyIHkgRm0oc3RhdGVPclByb3ZpbmNlTilvKGFtKW8oZSkyMDggNDgyMiB5IEZyKFRoZSlnKHN0YXRlKWgob3IpZQotKHBybyluKHZpbmNlKWcob2YpaSh0aGUpZyhlbiluKHRpdCluKHkpLTcgYiguKTM3IGIgRm0oU1QpMjcKLWIgRnIobWEpbih5KWYoYilyKGUpaSh1c2VkKWcoYXMpZihhbilnKGFsaWFzKWcoZm9yKWcKLUZtKHN0YXRlT3JQcm92aW5jZSlvKE5hKW8obWUpcCBGcihcMjY3KTAgNDk2OSB5IEZtKGxvY2FsaXR5TmFtZSkyMDgKLTUwNjkgeSBGcihUaGUpZyhsbylyKGNhbGl0KW4oeSlnKG9mKWgodGhlKWYoZW4pbih0aXQpbih5KS03Ci1iKC4pMzcgYiBGbShMKTI4IGIgRnIobWEpbih5KWUoYilyKGUpaSh1c2VkKWcoYXMpZihhbilnKGFsaWFzKWcoZm9yKWcKLUZtKGxvY2FsaXR5TmFtZSlwIEZyKC4pMCA1MjE1IHkgRm0ob3JnYW5pemF0aW9uTmFtZSkyMDgKLTUzMTUgeSBGcihUaGUpZyhvcmdhbml6YXRpb24pZShuYW1lKWoob2YpZih0aGUpaChlbiluKHRpdCluKHkpLTcKLWIoLikzNyBiIEZtKE8pMjcgYiBGcihtYSluKHkpZyhiKXIoZSloKHVzZWQpZyhhcyllKGFuKWkoYWxpYXMpZShmb3IpaAotRm0ob3JnYW5pemF0aW9uTmFtZSlwIEZyKC4pcCAwIDU1NDkgMzkwMSA0IHYgMCA1NjQ5IGEKLUZnKDYpMjIzOSBiKDMpODMgYiBGbShPcGVuU1NMKTI0IGIgRmcoXDAyNilrKFB5dGhvbilmKGludGVyZmFjZSloKHRvKWYKLShPcClyKGVuU1NMKXAgZW9wIGVuZAorNDMyOSB5IEZtKGRlclwoXCkpMjA4IDQ0MjkgeSBGcihSZXR1cm4paihhKWcoc3RyaW5nKWcoZ2l2aW5nKWcodGhlKWgKKyhERVIpaChyZXByZXNlbiluKHRhdGlvbiljKG9mKWoodGhlKWcobmFtZS4pMCA0NTc2IHkoWDUwOU5hbWUpZShvYik1CitiKGplY3RzKTI3IGIoaGEpbih2KW4oZSlnKHRoZSloKGZvbGxvKW4od2luZyllKG1lbSluKGIpcihlcnM6KTAKKzQ3MjIgeSBGbShjb3VudHJ5TmFtZSkyMDggNDgyMiB5IEZyKFRoZSloKGNvdW4pbih0cnkpZyhvZilnKHRoZSloKGVuKW4KKyh0aXQpbih5KS03IGIoLikzNyBiIEZtKEMpMjcgYiBGcihtYSluKHkpZyhiKXIoZSloKHVzZWQpZyhhcylmKGFuKWcKKyhhbGlhcylmKGZvciloIEZtKGNvdW50cnlOYW1lKXAgRnIoLikwIDQ5NjkgeSBGbShzdGF0ZU9yUHJvdmluY2VOKW8oYW0pCitvKGUpMjA4IDUwNjkgeSBGcihUaGUpZyhzdGF0ZSloKG9yKWUocHJvKW4odmluY2UpZyhvZilpKHRoZSlnKGVuKW4odGl0KQorbih5KS03IGIoLikzNyBiIEZtKFNUKTI3IGIgRnIobWEpbih5KWYoYilyKGUpaSh1c2VkKWcoYXMpZihhbilnKGFsaWFzKWcKKyhmb3IpZyBGbShzdGF0ZU9yUHJvdmluY2UpbyhOYSlvKG1lKXAgRnIoXDI2NykwIDUyMTUKK3kgRm0obG9jYWxpdHlOYW1lKTIwOCA1MzE1IHkgRnIoVGhlKWcobG8pcihjYWxpdCluKHkpZyhvZiloKHRoZSlmKGVuKW4KKyh0aXQpbih5KS03IGIoLikzNyBiIEZtKEwpMjggYiBGcihtYSluKHkpZShiKXIoZSlpKHVzZWQpZyhhcylmKGFuKWcKKyhhbGlhcylnKGZvcilnIEZtKGxvY2FsaXR5TmFtZSlwIEZyKC4pcCAwIDU1NDkgMzkwMSA0Cit2IDAgNTY0OSBhIEZnKDYpMjIzOSBiKDMpODMgYiBGbShPcGVuU1NMKTI0IGIgRmcoXDAyNilrKFB5dGhvbilmCisoaW50ZXJmYWNlKWgodG8pZihPcClyKGVuU1NMKXAgZW9wIGVuZAogJSVQYWdlOiA3IDcKLVRlWERpY3QgYmVnaW4gNyA2IGJvcCAwIDgzIGEgRm0ob3JnYW5pemF0aW9uYWxVbilvKGl0KW8oTmFtKW8oZSkyMDgKLTE4MyB5IEZyKFRoZSkyNyBiKG9yZ2FuaXphdGlvbmFsKWUodW5pdClqKG9mKWcodGhlKWcoZW4pbih0aXQpbih5KS03CitUZVhEaWN0IGJlZ2luIDcgNiBib3AgMCA4MyBhIEZtKG9yZ2FuaXphdGlvbk5hbWUpMjA4CisxODMgeSBGcihUaGUpMjcgYihvcmdhbml6YXRpb24pZShuYW1lKWoob2YpZih0aGUpaChlbiluKHRpdCluKHkpLTcKK2IoLikzNyBiIEZtKE8pMjcgYiBGcihtYSluKHkpZyhiKXIoZSloKHVzZWQpZyhhcyllKGFuKWkoYWxpYXMpZShmb3IpaAorRm0ob3JnYW5pemF0aW9uTmFtZSlwIEZyKC4pMCAzMzAgeSBGbShvcmdhbml6YXRpb25hbFVuKW8oaXQpbyhOYW0pbyhlKQorMjA4IDQyOSB5IEZyKFRoZSlnKG9yZ2FuaXphdGlvbmFsKWUodW5pdClqKG9mKWcodGhlKWcoZW4pbih0aXQpbih5KS03CiBiKC4pMzYgYiBGbShPVSkyNyBiIEZyKG1hKW4oeSlnKGIpcihlKWgodXNlZClnKGFzKWYoYW4pZyhhbGlhcylmKGZvciloCi1GbShvcmdhbml6YXRpb25hbFVuaSlvKHROKW8oYW0pbyhlKXAgRnIoLikwIDMzMCB5IEZtKGNvbW1vbk5hbWUpMjA4Ci00MjkgeSBGcihUaGUpZyhjb21tb24pZyhuYW1lKWgob2YpZih0aGUpaChlbiluKHRpdCluKHkpLTcKK0ZtKG9yZ2FuaXphdGlvbmFsVW5pKW8odE4pbyhhbSlvKGUpcCBGciguKTAgNTc2IHkgRm0oY29tbW9uTmFtZSkyMDgKKzY3NiB5IEZyKFRoZSlnKGNvbW1vbilnKG5hbWUpaChvZilmKHRoZSloKGVuKW4odGl0KW4oeSktNwogYiguKTM3IGIgRm0oQ04pMjcgYiBGcihtYSluKHkpZihiKXIoZSlpKHVzZWQpZyhhcylmKGFuKWcoYWxpYXMpZyhmb3IpZwotRm0oY29tbW9uTmFtZSlwIEZyKC4pMCA1NzYgeSBGbShlbWFpbEFkZHJlc3MpMjA4IDY3NgorRm0oY29tbW9uTmFtZSlwIEZyKC4pMCA4MjMgeSBGbShlbWFpbEFkZHJlc3MpMjA4IDkyMgogeSBGcihUaGUpZyhlLW1haWwpZyhhZGRyZXNzKWYob2YpaSh0aGUpZyhlbiluKHRpdCluKHkpLTcKLWIoLikwIDkzOSB5IEZnKFg1MDlSZXEpMjYgYihvYmplY3RzKTAgMTEzOSB5IEZyKFg1MDlSZXEpZyhvYik1CitiKC4pMCAxMTg1IHkgRmcoWDUwOVJlcSkyNiBiKG9iamVjdHMpMCAxMzg2IHkgRnIoWDUwOVJlcSlnKG9iKTUKIGIoamVjdHMpMjcgYihoYSluKHYpbihlKWcodGhlKWgoZm9sbG8pbih3aW5nKWUobWV0aG8pcihkczopMAotMTI4NiB5IEZtKGdldF9wdWJrZXlcKFwpKTIwOCAxMzg2IHkgRnIoUmV0dXJuKWgoYSlnKFBLZXkpaChvYik1CisxNTMyIHkgRm0oZ2V0X3B1YmtleVwoXCkpMjA4IDE2MzIgeSBGcihSZXR1cm4paChhKWcoUEtleSloKG9iKTUKIGIoamVjdCkyNyBiKHJlcHJlc2VuKW4odGluZylmKHRoZSlpKHB1YmxpYylnKGspbihleSlmKG9mKWcodGhlKWgKLShjZXJ0aVwwMzRjYXRlKWYocmVxdWVzdC4pMCAxNTMyIHkgRm0oZ2V0X3N1YmplY3RcKFwpKTIwOAotMTYzMiB5IEZyKFJldHVybilnKGFuKWgoWDUwOU5hbWUpZShvYik1IGIoamVjdCkyNyBiKHJlcHJlc2VuKW4odGluZylmCisoY2VydGlcMDM0Y2F0ZSlmKHJlcXVlc3QuKTAgMTc3OSB5IEZtKGdldF9zdWJqZWN0XChcKSkyMDgKKzE4NzkgeSBGcihSZXR1cm4pZyhhbiloKFg1MDlOYW1lKWUob2IpNSBiKGplY3QpMjcgYihyZXByZXNlbiluKHRpbmcpZgogKHRoZSlpKHN1Yik1IGIoamVjdCkyOCBiKG9mKWYodGhlKWgoY2VydGlcMDM0Y2F0ZS4pMAotMTc3OSB5IEZtKHNldF9wdWJrZXlcKClwIEZkKHBrZXkpNyBiIEZtKFwpKTIwOCAxODc5IHkKKzIwMjUgeSBGbShzZXRfcHVia2V5XCgpcCBGZChwa2V5KTcgYiBGbShcKSkyMDggMjEyNSB5CiBGcihTZXQpMjggYih0aGUpZihwdWJsaWMpaChrKW4oZXkpZihvZiloKHRoZSlnKGNlcnRpXDAzNGNhdGUpZihyZXF1ZXN0KQotZyh0bylnIEZkKHBrZXkpNyBiIEZyKC4pMCAyMDI1IHkgRm0oc2lnblwoKXAgRmQocGtleSwpMjkKLWIoZGlnZXN0KTggYiBGbShcKSkyMDggMjEyNSB5IEZyKFNpZ24pMzYgYih0aGUpZyhjZXJ0aVwwMzRjYXRlKWcKK2codG8pZyBGZChwa2V5KTcgYiBGciguKTAgMjI3MiB5IEZtKHNpZ25cKClwIEZkKHBrZXksKTI5CitiKGRpZ2VzdCk4IGIgRm0oXCkpMjA4IDIzNzIgeSBGcihTaWduKTM2IGIodGhlKWcoY2VydGlcMDM0Y2F0ZSlnCiAocmVxdWVzdCwpaCh1c2luZylmKHRoZSlnKGspbihleSloIEZkKHBrZXkpNDUgYiBGcihhbmQpMzYKIGIodGhlKWcobWVzc2FnZSlmKGRpZ2VzdClnKGFsZ29yaXRobSlnKGlkZW4pbih0aVwwMzRlZClpKGIpbih5KWYodGhlKQotMjA4IDIyMjUgeShzdHJpbmcpMjggYiBGZChkaWdlc3QpOCBiIEZyKC4pMCAyMzcyIHkgRm0odmVyaWZ5XCgpcAotRmQocGtleSlmIEZtKFwpKTIwOCAyNDcxIHkgRnIoViktNyBiKGVyaWZ5KTI3IGIoYSlnKGNlcnRpXDAzNGNhdGUpZworMjA4IDI0NzEgeShzdHJpbmcpMjggYiBGZChkaWdlc3QpOCBiIEZyKC4pMCAyNjE4IHkgRm0odmVyaWZ5XCgpcAorRmQocGtleSlmIEZtKFwpKTIwOCAyNzE4IHkgRnIoViktNyBiKGVyaWZ5KTI3IGIoYSlnKGNlcnRpXDAzNGNhdGUpZwogKHJlcXVlc3QpZyh1c2luZylnKHRoZSloKHB1YmxpYylnKGspbihleSlnIEZkKHBrZXkpNwotYiBGciguKTAgMjczNCB5IEZnKFg1MDlTdG8pbihyZSkyNiBiKG9iamVjdHMpMCAyOTM1IHkKK2IgRnIoLikwIDI5ODEgeSBGZyhYNTA5U3RvKW4ocmUpMjYgYihvYmplY3RzKTAgMzE4MSB5CiBGcihUaGUpaShYNTA5U3RvcmUpZChvYik1IGIoamVjdCkyOCBiKGhhcylmKGN1cnJlbiluKHRseSlmKGp1c3QpaShvbmUpZwotKG1ldGhvKXIoZDopMCAzMDgyIHkgRm0oYWRkX2NlcnRcKClwIEZkKGMpbChlcnQpOCBiIEZtKFwpKTIwOAotMzE4MSB5IEZyKEEpbihkZCkyNyBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZiBGZChjKWwoZXJ0KTM2Ci1iIEZyKHRvKTI3IGIodGhlKWgoY2VydGlcMDM0Y2F0ZSlmKHN0b3JlLikwIDM0NDQgeSBGZyhQS2V5KWcob2JqZWN0cykwCi0zNjQ1IHkgRnIoVGhlKWgoUEtleSlmKG9iKTUgYihqZWN0KTI3IGIoaGFzKWcodGhlKWgoZm9sbG8pbih3aW5nKWYKLShtZXRobylyKGRzOikwIDM3OTIgeSBGbShiaXRzXChcKSkyMDggMzg5MSB5IEZyKFJldHVybilnKHRoZSloKG4pbih1bSluCi0oYilyKGVyKWYob2YpaChiaXRzKWcob2YpZih0aGUpaChrKW4oZXkpLTcgYiguKTAgNDAzOAorKG1ldGhvKXIoZDopMCAzMzI4IHkgRm0oYWRkX2NlcnRcKClwIEZkKGMpbChlcnQpOCBiIEZtKFwpKTIwOAorMzQyOCB5IEZyKEEpbihkZCkyNyBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZiBGZChjKWwoZXJ0KTM2CitiIEZyKHRvKTI3IGIodGhlKWgoY2VydGlcMDM0Y2F0ZSlmKHN0b3JlLikwIDM2OTEgeSBGZyhQS2V5KWcob2JqZWN0cykwCiszODkxIHkgRnIoVGhlKWgoUEtleSlmKG9iKTUgYihqZWN0KTI3IGIoaGFzKWcodGhlKWgoZm9sbG8pbih3aW5nKWYKKyhtZXRobylyKGRzOikwIDQwMzggeSBGbShiaXRzXChcKSkyMDggNDEzOCB5IEZyKFJldHVybilnKHRoZSloKG4pbih1bSluCisoYilyKGVyKWYob2YpaChiaXRzKWcob2YpZih0aGUpaChrKW4oZXkpLTcgYiguKTAgNDI4NQogeSBGbShnZW5lcmF0ZV9rZXlcKClwIEZkKHR5cClsKGUsKTI1IGIoYml0cyk3IGIgRm0oXCkpMjA4Ci00MTM4IHkgRnIoR2VuZXJhdGUpMjIgYihhKWgocHVibGljL3ByaXYpLTUgYihhdGUpMjMgYihrKW4oZXkpZihwYWlyKWgKKzQzODQgeSBGcihHZW5lcmF0ZSkyMiBiKGEpaChwdWJsaWMvcHJpdiktNSBiKGF0ZSkyMyBiKGspbihleSlmKHBhaXIpaAogKG9mKWcodGhlKWgodCluKHlwKXIoZSlmIEZkKHR5cClsKGUpMzAgYiBGcihcKG9uZSkyMwogYihvZikzMCBiIEZtKFRZUEVfUlNBKTE5IGIgRnIoYW5kKTI0IGIgRm0oVFlQRV9EU0EpcAotRnIoXCkpYyh3aXRoKWoodGhlKWgoc2l6ZSlmIEZkKGJpdHMpNyBiIEZyKC4pMCA0Mjg1IHkKLUZtKHR5cGVcKFwpKTIwOCA0Mzg0IHkgRnIoUmV0dXJuKTI3IGIodGhlKWgodCluKHlwKXIoZSlnKG9mKWYodGhlKWgoayluCi0oZXkpLTcgYiguKTAgNDY0NyB5IEZnKFBLKW4oQ1M3KTI3IGIob2JqZWN0cykwIDQ4NDggeQorRnIoXCkpYyh3aXRoKWoodGhlKWgoc2l6ZSlmIEZkKGJpdHMpNyBiIEZyKC4pMCA0NTMxIHkKK0ZtKHR5cGVcKFwpKTIwOCA0NjMxIHkgRnIoUmV0dXJuKTI3IGIodGhlKWgodCluKHlwKXIoZSlnKG9mKWYodGhlKWgoayluCisoZXkpLTcgYiguKTAgNDg5NCB5IEZnKFBLKW4oQ1M3KTI3IGIob2JqZWN0cykwIDUwOTQgeQogRnIoUEspbihDUzcpZyhvYik1IGIoamVjdHMpMjcgYihoYSluKHYpbihlKWYodGhlKWkoZm9sbG8pbih3aW5nKWYKLShtZXRobylyKGRzOikwIDQ5OTUgeSBGbSh0eXBlX2lzX3NpZ25lZFwoXCkpMjA4IDUwOTQKLXkgRnIoRklYTUUpMCA1MjQxIHkgRm0odHlwZV9pc19lbnZlbG9wZSlvKGRcKClvKFwpKTIwOAotNTM0MSB5IEZyKEZJWE1FKXAgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZnKDMuMSk4MgotYiBGbShjcnlwdG8pMjUgYiBGZyhcMDI2KWooR2VuZXJpYylnKGNyeXB0b2dyYXBoaWMpZShtbylyKGR1bGUpMjIzNAorKG1ldGhvKXIoZHM6KTAgNTI0MSB5IEZtKHR5cGVfaXNfc2lnbmVkXChcKSkyMDggNTM0MQoreSBGcihGSVhNRSlwIDAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZygzLjEpODIgYiBGbShjcnlwdG8pMjUKK2IgRmcoXDAyNilqKEdlbmVyaWMpZyhjcnlwdG9ncmFwaGljKWUobW8pcihkdWxlKTIyMzQKIGIoNylwIGVvcCBlbmQKICUlUGFnZTogOCA4Ci1UZVhEaWN0IGJlZ2luIDggNyBib3AgMCA4MyBhIEZtKHR5cGVfaXNfc2lnbmVkQW4pbyhkRSlvKG52ZSlvKGxvKW8ocGUpbwotKGRcKFwpKTIwOCAxODMgeSBGcihGSVhNRSkwIDMzMCB5IEZtKHR5cGVfaXNfZGF0YVwoXCkpMjA4Ci00MjkgeSBGcihGSVhNRSkwIDU3NiB5IEZtKGdldF90eXBlX25hbWVcKFwpKTIwOCA2NzYgeQorVGVYRGljdCBiZWdpbiA4IDcgYm9wIDAgODMgYSBGbSh0eXBlX2lzX2VudmVsb3BlKW8oZFwoKW8oXCkpMjA4CisxODMgeSBGcihGSVhNRSkwIDMzMCB5IEZtKHR5cGVfaXNfc2lnbmVkQW4pbyhkRSlvKG52ZSlvKGxvKW8ocGUpbworKGRcKFwpKTIwOCA0MjkgeSBGcihGSVhNRSkwIDU3NiB5IEZtKHR5cGVfaXNfZGF0YVwoXCkpMjA4Cis2NzYgeSBGcihGSVhNRSkwIDgyMyB5IEZtKGdldF90eXBlX25hbWVcKFwpKTIwOCA5MjIgeQogRnIoR2V0KTI4IGIodGhlKWYodCluKHlwKXIoZSloKG5hbWUpZyhvZilmKHRoZSloKFBLKW4oQ1M3LikwCi05MzkgeSBGZyhQSyluKENTMTIpZShvYmplY3RzKTAgMTEzOSB5IEZyKFBLKW4oQ1MxMilnKG9iKTUKKzExODUgeSBGZyhQSyluKENTMTIpZShvYmplY3RzKTAgMTM4NiB5IEZyKFBLKW4oQ1MxMilnKG9iKTUKIGIoamVjdHMpMjggYihoYSluKHYpbihlKWUodGhlKWkoZm9sbG8pbih3aW5nKWUobWV0aG8pcihkczopMAotMTI4NiB5IEZtKGdldF9jZXJ0aWZpY2F0ZVwoKW8oXCkpMjA4IDEzODYgeSBGcihSZXR1cm4paChjZXJ0aVwwMzRjYXRlKWcKLShwKXIob3J0aW9uKWcob2YpaCh0aGUpZyhQSyluKENTMTIpZShzdHJ1Y3R1cmUuKTAgMTUzMgoteSBGbShnZXRfcHJpdmF0ZWtleVwoXCkpMjA4IDE2MzIgeSBGcihSZXR1cm4paChwcml2KS01CisxNTMyIHkgRm0oZ2V0X2NlcnRpZmljYXRlXCgpbyhcKSkyMDggMTYzMiB5IEZyKFJldHVybiloKGNlcnRpXDAzNGNhdGUpZworKHApcihvcnRpb24pZyhvZiloKHRoZSlnKFBLKW4oQ1MxMillKHN0cnVjdHVyZS4pMCAxNzc5Cit5IEZtKGdldF9wcml2YXRla2V5XChcKSkyMDggMTg3OSB5IEZyKFJldHVybiloKHByaXYpLTUKIGIoYXRlKTI3IGIoayluKGV5KWcocClyKG9ydGlvbilnKG9mKWgodGhlKWcoUEspbihDUzEyKWUoc3RydWN0dXJlKTAKLTE3NzkgeSBGbShnZXRfY2FfY2VydGlmaWNhKW8odGUpbyhzXChcKSkyMDggMTg3OSB5IEZyKFJldHVybilrKENBKWcKKzIwMjUgeSBGbShnZXRfY2FfY2VydGlmaWNhKW8odGUpbyhzXChcKSkyMDggMjEyNSB5IEZyKFJldHVybilrKENBKWcKIChjZXJ0aVwwMzRjYXRlcylmKHdpdGhpbilpKHRoZSlmKFBLKW4oQ1MxMilmKG9iKTUgYihqZWN0KTMwCiBiKGFzKWYoYSlnKHR1cGxlLik0NSBiKFJldHVybnMpMzAgYihOb25lKWcoaWYpZyhubylnKENBKWcKLShjZXJ0aVwwMzRjYXRlcylmKGFyZSkyMDggMTk3OCB5KHByZXNlbiluKHQuKTAgMjI0MSB5Ci1GZyhYNTA5RXh0ZW5zaW9uKWMob2JqZWN0cykwIDI0NDIgeSBGcihYNTA5RXh0ZW5zaW9uKWgob2IpNQorKGNlcnRpXDAzNGNhdGVzKWYoYXJlKTIwOCAyMjI1IHkocHJlc2VuKW4odC4pMCAyNDg4IHkKK0ZnKFg1MDlFeHRlbnNpb24pYyhvYmplY3RzKTAgMjY4OCB5IEZyKFg1MDlFeHRlbnNpb24paChvYik1CiBiKGplY3RzKTI3IGIoY3VycmVuKW4odGx5KWcob25seSlnKGhhKW4odiluKGUpZihvbmUpaShtZXRobylyKGQ6KTAKLTI1ODkgeSBGbShnZXRfY3JpdGljYWxcKFwpKTIwOCAyNjg4IHkgRnIoUmV0dXJuKWYodGhlKWgoY3JpdGljYWwpZgotKFwwMzRlbGQpaChvZilmKHRoZSloKGV4dGVuc2lvbilmKG9iKTUgYihqZWN0LikwIDI5NTEKLXkgRmcoTmV0c2NhcClyKGVTUEtJKTI3IGIob2JqZWN0cykwIDMxNTIgeSBGcihOZXRzY2FwKXIoZVNQS0kpaChvYik1CisyODM1IHkgRm0oZ2V0X2NyaXRpY2FsXChcKSkyMDggMjkzNSB5IEZyKFJldHVybilmKHRoZSloKGNyaXRpY2FsKWYKKyhcMDM0ZWxkKWgob2YpZih0aGUpaChleHRlbnNpb24pZihvYik1IGIoamVjdC4pMCAzMTk4Cit5IEZnKE5ldHNjYXApcihlU1BLSSkyNyBiKG9iamVjdHMpMCAzMzk4IHkgRnIoTmV0c2NhcClyKGVTUEtJKWgob2IpNQogYihqZWN0cykyNyBiKGhhKW4odiluKGUpZih0aGUpaShmb2xsbyluKHdpbmcpZShtZXRobylyKGRzOikwCi0zMjk5IHkgRm0oYjY0X2VuY29kZVwoXCkpMjA4IDMzOTggeSBGcihSZXR1cm4paChhKWcoYmFzZTY0LWVuY28pcihkZWQpZgorMzU0NSB5IEZtKGI2NF9lbmNvZGVcKFwpKTIwOCAzNjQ1IHkgRnIoUmV0dXJuKWgoYSlnKGJhc2U2NC1lbmNvKXIoZGVkKWYKIChzdHJpbmcpaChyZXByZXNlbiluKHRhdGlvbillKG9mKWoodGhlKWcob2IpNSBiKGplY3QuKTAKLTM1NDUgeSBGbShnZXRfcHVia2V5XChcKSkyMDggMzY0NSB5IEZyKFJldHVybikyNyBiKHRoZSloKHB1YmxpYylnKGspbgotKGV5KWYob2YpaChvYik1IGIoamVjdC4pMCAzNzkyIHkgRm0oc2V0X3B1YmtleVwoKXAgRmQoa2V5KWkKLUZtKFwpKTIwOCAzODkxIHkgRnIoU2V0KTI4IGIodGhlKWYocHVibGljKWgoayluKGV5KWYob2YpaCh0aGUpZyhvYik1Ci1iKGplY3QpMjcgYih0byloIEZkKGtleSk3IGIgRnIoLikwIDQwMzggeSBGbShzaWduXCgpcAotRmQoa2V5LCkyOSBiKGRpZ2VzdF9uYW1lKTYgYiBGbShcKSkyMDggNDEzOCB5IEZyKFNpZ24pMjcKKzM3OTIgeSBGbShnZXRfcHVia2V5XChcKSkyMDggMzg5MSB5IEZyKFJldHVybikyNyBiKHRoZSloKHB1YmxpYylnKGspbgorKGV5KWYob2YpaChvYik1IGIoamVjdC4pMCA0MDM4IHkgRm0oc2V0X3B1YmtleVwoKXAgRmQoa2V5KWkKK0ZtKFwpKTIwOCA0MTM4IHkgRnIoU2V0KTI4IGIodGhlKWYocHVibGljKWgoayluKGV5KWYob2YpaCh0aGUpZyhvYik1CitiKGplY3QpMjcgYih0byloIEZkKGtleSk3IGIgRnIoLikwIDQyODUgeSBGbShzaWduXCgpcAorRmQoa2V5LCkyOSBiKGRpZ2VzdF9uYW1lKTYgYiBGbShcKSkyMDggNDM4NCB5IEZyKFNpZ24pMjcKIGIodGhlKWgoTmV0c2NhcClyKGVTUEtJKWcob2IpNSBiKGplY3QpMjcgYih1c2luZylnKHRoZSloKGdpdiluKGVuKWYKLUZkKGtleSkzNSBiIEZyKGFuZCkyOCBiIEZkKGRpZ2VzdF9uYW1lKTYgYiBGciguKTAgNDI4NQoteSBGbSh2ZXJpZnlcKClwIEZkKGtleSloIEZtKFwpKTIwOCA0Mzg0IHkgRnIoViktNyBiKGVyaWZ5KTI3CitGZChrZXkpMzUgYiBGcihhbmQpMjggYiBGZChkaWdlc3RfbmFtZSk2IGIgRnIoLikwIDQ1MzEKK3kgRm0odmVyaWZ5XCgpcCBGZChrZXkpaCBGbShcKSkyMDggNDYzMSB5IEZyKFYpLTcgYihlcmlmeSkyNwogYih0aGUpaChOZXRzY2FwKXIoZVNQS0kpZyhvYik1IGIoamVjdCkyNyBiKHVzaW5nKWcodGhlKWgoZ2l2KW4oZW4pZgotRmQoa2V5KTcgYiBGciguKTAgNDY2NCB5IEZrKDMuMik5NyBiIEZlKHJhbmQpMzQgYiBGayhcMDI2KWUoQW4paAorRmQoa2V5KTcgYiBGciguKTAgNDkxMCB5IEZrKDMuMik5NyBiIEZlKHJhbmQpMzQgYiBGayhcMDI2KWUoQW4paAogKGludGVyZmFjZSlnKHRvKWcodGhlKWcoT3ApcyhlblNTTClmKHBzZXVkbyloKHJhbmRvbSlnKG51bWIpcyhlcilnCi0oZ2VuZXJhdG8pbShyKTAgNDg2NCB5IEZyKFRoaXMpMjggYihtbylyKGR1bGUpZihoYW5kbGVzKWgodGhlKWYoT3ApcgorKGdlbmVyYXRvKW0ocikwIDUxMTEgeSBGcihUaGlzKTI4IGIobW8pcihkdWxlKWYoaGFuZGxlcyloKHRoZSlmKE9wKXIKIChlblNTTCloKHBzZXVkbylmKHJhbmRvbSlnKG4pbih1bSluKGIpcihlcilnKGdlbmVyYXRvcilmKFwoUFJOR1wpKWoKLShhbmQpZShkZWNsYXJlcylmKHRoZSlpKGZvbGxvKW4od2luZzopMCA1MDExIHkgRm0oYWRkXCgpcAotRmQoc3RyaW5nLClnKGVudHIpbChvcHkpNyBiIEZtKFwpKTIwOCA1MTExIHkgRnIoTWl4KTIyCisoYW5kKWUoZGVjbGFyZXMpZih0aGUpaShmb2xsbyluKHdpbmc6KTAgNTI1OCB5IEZtKGFkZFwoKXAKK0ZkKHN0cmluZywpZyhlbnRyKWwob3B5KTcgYiBGbShcKSkyMDggNTM1NyB5IEZyKE1peCkyMgogYihiKW4oeXRlcylnKGZyb20pZyBGZChzdHJpbmcpMzAgYiBGcihpbiluKHRvKTIyIGIodGhlKWgoUFJORyloKHN0YXRlLikKIDM1IGIoVGhlKTIyIGIgRmQoZW50cilsKG9weSkzMCBiIEZyKGFyZ3VtZW4pbih0KTIyIGIoaXMpZyhcKHRoZSloKGxvKW4KLSh3KW4oZXIpZShiKXIob3VuZClpKG9mKTYgYihcKSkyMyBiKGFuKWYoZXN0aW1hdGUpMjA4Ci01MjEwIHkob2YpZihobyluKHcpZyhtKW4odWMpbihoKWgocmFuZG9tbmVzcyllKGlzKWgoY29uKW4odGFpbmVkKWcoaW4paAotRmQoc3RyaW5nKTcgYiBGcigsKTIzIGIobWVhc3VyZWQpZShpbiloKGIpbih5dGVzLikzNAotYihGKS03IGIob3IpMjEgYihtb3JlKWcoaW5mb3JtYXRpb24sKWgoc2VlKWcoZS5nLikzNAotYihSRiluKEMpMjA4IDUzMTAgeSgxNzUwLilwIDAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYQotRmcoOCkyMjM5IGIoMyk4MyBiIEZtKE9wZW5TU0wpMjQgYiBGZyhcMDI2KWsoUHl0aG9uKWYoaW50ZXJmYWNlKWgodG8pZgotKE9wKXIoZW5TU0wpcCBlb3AgZW5kCisodyluKGVyKWUoYilyKG91bmQpaShvZik2IGIoXCkpMjMgYihhbilmKGVzdGltYXRlKXAgMAorNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZyg4KTIyMzkgYigzKTgzIGIgRm0oT3BlblNTTCkyNAorYiBGZyhcMDI2KWsoUHl0aG9uKWYoaW50ZXJmYWNlKWgodG8pZihPcClyKGVuU1NMKXAgZW9wCitlbmQKICUlUGFnZTogOSA5Ci1UZVhEaWN0IGJlZ2luIDkgOCBib3AgMCA5MCBhIEZtKGVnZFwoKXAgRmQocClsKGF0aCk2Ci1iIEZjKFspcCBGZCgsKTI5IGIoYnl0ZXMpMTkgYiBGYyhdKXAgRm0oXCkpMjA4IDE4OSB5Ci1GcihRdWVyeSkyOSBiKHRoZSlqKEVuKW4odHJvcCluKHkpZShHYXRoZXJpbmcpZyhEYWVtb24pMTYyOQotMTU5IHkgRmwoMykxNjk3IDE4OSB5IEZyKG9uKWgoc28pcihjKW4oayluKGV0KWYgRmQocClsKGF0aCkzOAotYiBGcihmb3IpMzAgYiBGZChieXRlcykzOCBiIEZyKGIpbih5dGVzKTMxIGIob2YpZyhyYW5kb20pZihkYXRhKWcoYW5kKWgKLShhbmQpZyh1c2VzKTIwOCAyODkgeSBGbShhZGQpMjYgYiBGcih0byloKHNlZWQpaCh0aGUpZyhQUk5HLilnKFRoZSlnCi0oZGVmYXVsdClnKHYpLTUgYihhbHVlKTI3IGIob2YpMzQgYiBGZChieXRlcyloIEZyKGlzKTI3Ci1iKDI1NS4pMCA0NTAgeSBGbShsb2FkX2ZpbGVcKClwIEZkKHApbChhdGgpNiBiIEZjKFspcAotRmQoLCkyNiBiKGJ5dGVzKTE5IGIgRmMoXSlwIEZtKFwpKTIwOCA1NTAgeSBGcihSZWFkKTI5Ci1iIEZkKGJ5dGVzKTM4IGIgRnIoYiluKHl0ZXMpMzAgYihcKG9yKWYoYWxsKWgob2YpZyhpdCwpaShpZikzNwotYiBGZChieXRlcylnIEZyKGlzKTMxIGIobmVnYXRpdiluKGVcKSllKG9mKWgoZGF0YSlnKGZyb20pZyh0aGUpZwotKFwwMzRsZSloIEZkKHApbChhdGgpMzcgYiBGcih0bykzMCBiKHNlZWQpZyh0aGUpaChQUk5HLilnKFRoZSkyMDgKLTY0OSB5KGRlZmF1bHQpZCh2KS01IGIoYWx1ZSkyNyBiKG9mKTM0IGIgRmQoYnl0ZXMpaCBGcihpcykyNwotYigtMS4pMCA3OTYgeSBGbShzY3JlZW5cKFwpKTIwOCA4OTYgeSBGcihBKW4oZGQpZyh0aGUpaChjdXJyZW4pbih0KWYKK1RlWERpY3QgYmVnaW4gOSA4IGJvcCAyMDggODMgYSBGcihvZikyMSBiKGhvKW4odylnKG0pbih1YyluKGgpaAorKHJhbmRvbW5lc3MpZShpcyloKGNvbiluKHRhaW5lZClnKGluKWggRmQoc3RyaW5nKTcgYgorRnIoLCkyMyBiKG1lYXN1cmVkKWUoaW4paChiKW4oeXRlcy4pMzQgYihGKS03IGIob3IpMjEKK2IobW9yZSlnKGluZm9ybWF0aW9uLCloKHNlZSlnKGUuZy4pMzQgYihSRiluKEMpMjA4IDE4MworeSgxNzUwLikwIDMzMCB5IEZtKGVnZFwoKXAgRmQocClsKGF0aCk2IGIgRmMoWylwIEZkKCwpMjkKK2IoYnl0ZXMpMTkgYiBGYyhdKXAgRm0oXCkpMjA4IDQyOSB5IEZyKFF1ZXJ5KTI5IGIodGhlKWooRW4pbih0cm9wKW4oeSllCisoR2F0aGVyaW5nKWcoRGFlbW9uKTE2MjkgMzk5IHkgRmwoMykxNjk3IDQyOSB5IEZyKG9uKWgoc28pcihjKW4oayluKGV0KQorZiBGZChwKWwoYXRoKTM4IGIgRnIoZm9yKTMwIGIgRmQoYnl0ZXMpMzggYiBGcihiKW4oeXRlcykzMQorYihvZilnKHJhbmRvbSlmKGRhdGEpZyhhbmQpaChhbmQpZyh1c2VzKTIwOCA1MjkgeSBGbShhZGQpMjYKK2IgRnIodG8paChzZWVkKWgodGhlKWcoUFJORy4pZyhUaGUpZyhkZWZhdWx0KWcodiktNSBiKGFsdWUpMjcKK2Iob2YpMzQgYiBGZChieXRlcyloIEZyKGlzKTI3IGIoMjU1LikwIDY5MCB5IEZtKGxvYWRfZmlsZVwoKXAKK0ZkKHApbChhdGgpNiBiIEZjKFspcCBGZCgsKTI2IGIoYnl0ZXMpMTkgYiBGYyhdKXAgRm0oXCkpMjA4Cis3OTAgeSBGcihSZWFkKTI5IGIgRmQoYnl0ZXMpMzggYiBGcihiKW4oeXRlcykzMCBiKFwob3IpZihhbGwpaChvZilnCisoaXQsKWkoaWYpMzcgYiBGZChieXRlcylnIEZyKGlzKTMxIGIobmVnYXRpdiluKGVcKSllKG9mKWgoZGF0YSlnKGZyb20pZworKHRoZSlnKFwwMzRsZSloIEZkKHApbChhdGgpMzcgYiBGcih0bykzMCBiKHNlZWQpZyh0aGUpaChQUk5HLilnKFRoZSkyMDgKKzg4OSB5KGRlZmF1bHQpZCh2KS01IGIoYWx1ZSkyNyBiKG9mKTM0IGIgRmQoYnl0ZXMpaCBGcihpcykyNworYigtMS4pMCAxMDM2IHkgRm0oc2NyZWVuXChcKSkyMDggMTEzNiB5IEZyKEEpbihkZClnKHRoZSloKGN1cnJlbiluKHQpZgogKGNvbiluKHRlbiluKHRzKWcob2YpZyh0aGUpaChzY3JlZW4pZih0bylnKHRoZSloKFBSTkcpaChzdGF0ZS4pMzcKLWIoQSktOSBiKHYpayhhaWxhYmlsaXQpbih5OikzNiBiKFdpbmRvKW4od3MuKTAgMTA0MyB5Ci1GbShzZWVkXCgpcCBGZChzdHJpbmcpNyBiIEZtKFwpKTIwOCAxMTQyIHkgRnIoVGhpcykyNworYihBKS05IGIodilrKGFpbGFiaWxpdCluKHk6KTM2IGIoV2luZG8pbih3cy4pMCAxMjgzIHkKK0ZtKHNlZWRcKClwIEZkKHN0cmluZyk3IGIgRm0oXCkpMjA4IDEzODIgeSBGcihUaGlzKTI3CiBiKGlzKWgoZXF1aXYpLTUgYihhbGVuKW4odCkyNyBiKHRvKWcoY2FsbGluZyloIEZtKGFkZClmCiBGcih3aXRoKWggRmQoZW50cilsKG9weSkzNSBiIEZyKGFzKTI3IGIodGhlKWgobGVuZ3RoKWYob2YpaCh0aGUpZwotKHN0cmluZy4pMCAxMjg5IHkgRm0oc3RhdHVzXChcKSkyMDggMTM4OSB5IEZyKFJldHVybnMpZih0cnVlKWcoaWYpaQorKHN0cmluZy4pMCAxNTI5IHkgRm0oc3RhdHVzXChcKSkyMDggMTYyOSB5IEZyKFJldHVybnMpZih0cnVlKWcoaWYpaQogKHRoZSllKFBSTkcpaShoYXMpZShiKXIoZWVuKWgoc2VlZGVkKWYod2l0aCloKGVub3VnaClmKGRhdGEsKWcoYW5kKWgKLShmYWxzZSlmKG90aGVyd2lzZS4pMCAxNTM2IHkgRm0od3JpdGVfZmlsZVwoKXAgRmQocClsKGF0aCk2Ci1iIEZtKFwpKTIwOCAxNjM1IHkgRnIoVyktNyBiKHJpdGUpMzQgYihhKWcobiluKHVtKW4oYilyKGVyKWcob2YpaAorKGZhbHNlKWYob3RoZXJ3aXNlLikwIDE3NzYgeSBGbSh3cml0ZV9maWxlXCgpcCBGZChwKWwoYXRoKTYKK2IgRm0oXCkpMjA4IDE4NzUgeSBGcihXKS03IGIocml0ZSkzNCBiKGEpZyhuKW4odW0pbihiKXIoZXIpZyhvZiloCiAocmFuZG9tKWUoYiluKHl0ZXMpaChcKGN1cnJlbiluKHRseSlnKDEwMjRcKSlmKHRvKWgodGhlKWgoXDAzNGxlKWYKIEZkKHApbChhdGgpNiBiIEZyKC4pNTkgYihUaGlzKTM0IGIoXDAzNGxlKWgoY2FuKWYodGhlbilnKGIpcihlKWgodXNlZClnCi0od2l0aCkyMDggMTczNSB5IEZtKGxvYWRfZmlsZSkyMyBiIEZyKHRvKTI4IGIoc2VlZClmKHRoZSloKFBSTkcpaAotKGFnYWluLikwIDIwMTUgeSBGaygzLjMpOTcgYiBGZShTU0wpMzMgYiBGayhcMDI2KWYoQW4paChpbnRlcmZhY2UpaCh0bykKKyh3aXRoKTIwOCAxOTc1IHkgRm0obG9hZF9maWxlKTIzIGIgRnIodG8pMjggYihzZWVkKWYodGhlKWgoUFJORyloCisoYWdhaW4uKTAgMjI1NSB5IEZrKDMuMyk5NyBiIEZlKFNTTCkzMyBiIEZrKFwwMjYpZihBbiloKGludGVyZmFjZSloKHRvKQogZSh0aGUpaChTU0wtc3ApcyhlY2lcMDM0YyloKHBhKW0ocnRzKWYob2YpZihPcClzKGVuU1NMKTAKLTIyMTUgeSBGcihUaGlzKWMobW8pcihkdWxlKWYoaGFuZGxlcyloKHRoaW5ncylmKHNwKXIoZWNpXDAzNGMpaCh0bylmCisyNDU1IHkgRnIoVGhpcyljKG1vKXIoZHVsZSlmKGhhbmRsZXMpaCh0aGluZ3MpZihzcClyKGVjaVwwMzRjKWgodG8pZgogKFNTTC4paChUaGVyZSlmKGFyZSlmKHQpbih3KW4obyloKG9iKTUgYihqZWN0cykyNyBiKGRlXDAzNG5lZDopMzgKLWIoQ29uKW4odGV4dCwpMjcgYihDb25uZWN0aW9uLikwIDIzNjIgeSBGbShTU0x2Ml9NRVRIT0QpMAotMjQ2MiB5KFNTTHYzX01FVEhPRCkwIDI1NjEgeShTU0x2MjNfTUVUSE9EKTAgMjY2MSB5KFRMU3YxX01FVEhPRCkyMDgKLTI3NjAgeSBGcihUaGVzZSlnKGNvbnN0YW4pbih0cylmKHJlcHJlc2VuKW4odCloKHRoZSloKGRpXDAzM2VyZW4pbih0KWYKK2IoQ29uKW4odGV4dCwpMjcgYihDb25uZWN0aW9uLikwIDI2MDIgeSBGbShTU0x2Ml9NRVRIT0QpMAorMjcwMSB5KFNTTHYzX01FVEhPRCkwIDI4MDEgeShTU0x2MjNfTUVUSE9EKTAgMjkwMSB5KFRMU3YxX01FVEhPRCkyMDgKKzMwMDAgeSBGcihUaGVzZSlnKGNvbnN0YW4pbih0cylmKHJlcHJlc2VuKW4odCloKHRoZSloKGRpXDAzM2VyZW4pbih0KWYKIChTU0wpaChtZXRobylyKGRzKWcodG8pZih1c2UpaCh3aGVuKWYoY3JlYXRpbmcpZyhhKWcoY29uKW4odGV4dClnKG9iKTUKLWIoamVjdC4pMCAyOTA3IHkgRm0oVkVSSUZZX05PTkUpMCAzMDA3IHkoVkVSSUZZX1BFRVIpMAotMzEwNyB5KFZFUklGWV9GQUlMX0lGX04pbyhPXylvKFBFRSlvKFJfKW8oQ0UpbyhSVCkyMDgKLTMyMDYgeSBGcihUaGVzZSkyNyBiKGNvbnN0YW4pbih0cylmKHJlcHJlc2VuKW4odCloKHRoZSloKHYpbgorYihqZWN0LikwIDMxNDcgeSBGbShWRVJJRllfTk9ORSkwIDMyNDcgeShWRVJJRllfUEVFUikwCiszMzQ2IHkoVkVSSUZZX0ZBSUxfSUZfTilvKE9fKW8oUEVFKW8oUl8pbyhDRSlvKFJUKTIwOAorMzQ0NiB5IEZyKFRoZXNlKTI3IGIoY29uc3RhbiluKHRzKWYocmVwcmVzZW4pbih0KWgodGhlKWgodiluCiAoZXJpXDAzNGNhdGlvbillKG1vKXIoZGUpaCh1c2VkKWgoYiluKHkpZih0aGUpaChDb24pbih0ZXh0KWYob2IpNQotYihqZWN0J3MpMjcgYiBGbShzZXRfdmVyaWZ5KWQgRnIobWV0aG8pcihkLikwIDMzNTMgeQotRm0oRklMRVRZUEVfUEVNKTAgMzQ1MyB5KEZJTEVUWVBFX0FTTjEpMjA4IDM1NTIgeSBGcihGaWxlKTQxCitiKGplY3QncykyNyBiIEZtKHNldF92ZXJpZnkpZCBGcihtZXRobylyKGQuKTAgMzU5MyB5CitGbShGSUxFVFlQRV9QRU0pMCAzNjkzIHkoRklMRVRZUEVfQVNOMSkyMDggMzc5MiB5IEZyKEZpbGUpNDEKIGIodCluKHlwKXIoZSlnKGNvbnN0YW4pbih0cylmKHVzZWQpaCh3aXRoKWcodGhlKWggRm0odXNlX2NlcnRpZmljYXRlKW8KIChfZilvKGlsZSkzNCBiIEZyKGFuZCk0MSBiIEZtKHVzZV9wcml2YXRla2V5X2YpbyhpbClvKGUpMzUKLWIgRnIobWV0aG8pcihkcyk0MSBiKG9mKTIwOCAzNjUyIHkoQ29uKW4odGV4dCkyNyBiKG9iKTUKLWIoamVjdHMuKTAgMzc5OSB5IEZtKE9QX1NJTkdMRV9ESF9VU0UpMCAzODk4IHkoT1BfRVBIRU1FUkFMX1JTQSkwCi0zOTk4IHkoT1BfTk9fU1NMdjIpMCA0MDk4IHkoT1BfTk9fU1NMdjMpMCA0MTk3IHkoT1BfTk9fVExTdjEpMjA4Ci00Mjk3IHkgRnIoQ29uc3RhbiluKHRzKTMwIGIodXNlZClpKHdpdGgpZyBGbShzZXRfb3B0aW9ucykyNgorYiBGcihtZXRobylyKGRzKTQxIGIob2YpMjA4IDM4OTIgeShDb24pbih0ZXh0KTI3IGIob2IpNQorYihqZWN0cy4pMCA0MDM5IHkgRm0oT1BfU0lOR0xFX0RIX1VTRSkwIDQxMzggeShPUF9FUEhFTUVSQUxfUlNBKTAKKzQyMzggeShPUF9OT19TU0x2MikwIDQzMzggeShPUF9OT19TU0x2MykwIDQ0MzcgeShPUF9OT19UTFN2MSkyMDgKKzQ1MzcgeSBGcihDb25zdGFuKW4odHMpMzAgYih1c2VkKWkod2l0aClnIEZtKHNldF9vcHRpb25zKTI2CiBiIEZyKG9mKTMyIGIoQ29uKW4odGV4dClmKG9iKTUgYihqZWN0cy4pNDggYiBGbShPUF9TSU5HTEVfREhfVVNFKTI1Ci1iIEZyKG1lYW5zKTMxIGIodG8pZyhhbHcpbihhKW4oeXMpZihjcmVhdGUpZyhhKTIwOCA0Mzk3CitiIEZyKG1lYW5zKTMxIGIodG8pZyhhbHcpbihhKW4oeXMpZihjcmVhdGUpZyhhKTIwOCA0NjM2CiB5KG5ldykxOSBiKGspbihleSlmKHdoZW4paCh1c2luZylnKGVwaGVtZXJhbClmKERpXDAzNmUtSGVsbG1hbi4pMzQKIGIgRm0oT1BfRVBIRU1FUkFMX1JTQSkxMyBiIEZyKG1lYW5zKTE4IGIodG8paChhbHcpbihhKW4oeXMpZSh1c2UpaQotKGVwaGVtZXJhbClnKFJTQSkyMDggNDQ5NiB5KGspbihleXMpZih3aGVuKWgoZG9pbmcpZihSU0EpaShvcClyCisoZXBoZW1lcmFsKWcoUlNBKTIwOCA0NzM2IHkoayluKGV5cylmKHdoZW4paChkb2luZylmKFJTQSlpKG9wKXIKIChlcmF0aW9ucy4pMzMgYiBGbShPUF9OT19TU0x2MilwIEZyKCwpMTYgYiBGbShPUF9OT19TU0x2MylmCiBGcihhbmQpayBGbShPUF9OT19UTFN2MSkxNCBiIEZyKG1lYW5zKTE5IGIodG8pZyhkaXNhYmxlKWYodGhvc2UpMjA4Ci00NTk2IHkoc3ApcihlY2lcMDM0YykyOSBiKHByb3RvKXIoY29scy4pMzkgYihUaGlzKTI5Cis0ODM2IHkoc3ApcihlY2lcMDM0YykyOSBiKHByb3RvKXIoY29scy4pMzkgYihUaGlzKTI5CiBiKGlzKWcoaW4pbih0ZXJlc3RpbmcpZyhpZilnKHkpbihvdSdyZSlmKHVzaW5nKWcoZS5nLik0MQogYiBGbShTU0x2MjNfTUVUSE9EKTI0IGIgRnIodG8pMjkgYihnZXQpZyhhbilmKFNTTHYyLWNvbXBhdGlibGUpMjA4Ci00Njk1IHkoaGFuZHNoYWspbihlLCllKGJ1dClpKGRvbid0KWcodyluKGFuKW4odClmKHRvKWcodXNlKWgoU1NMdjIuKTAKLTQ4NDIgeSBGbShDb250ZXh0VHlwZSkyMDggNDk0MiB5IEZyKEEpZihQeXRob24paCh0KW4oeXApcihlKWcob2IpNQorNDkzNSB5KGhhbmRzaGFrKW4oZSwpZShidXQpaShkb24ndClnKHcpbihhbiluKHQpZih0bylnKHVzZSloKFNTTHYyLikwCis1MDgyIHkgRm0oQ29udGV4dFR5cGUpMjA4IDUxODIgeSBGcihBKWYoUHl0aG9uKWgodCluKHlwKXIoZSlnKG9iKTUKIGIoamVjdCkyOCBiKHJlcHJlc2VuKW4odGluZylkKHRoZSlqKENvbiluKHRleHQpZyhvYik1Ci1iKGplY3QpMjcgYih0KW4oeXApcihlLikwIDUwODkgeSBGbShDb250ZXh0XCgpcCBGZChtZXRobylsKGQpOQotYiBGbShcKSkyMDggNTE4OCB5IEZyKEYpLTcgYihhY3RvcnkpMzQgYihmdW5jdGlvbilpKHRoYXQpZyhjcmVhdGVzKWYoYSkKLWcobmV3KWgoQ29uKW4odGV4dClmKG9iKTUgYihqZWN0KTM2IGIoZ2l2KW4oZW4pZShhbilpKFNTTClnKG1ldGhvKXIoZC4pCi02MSBiKFRoZSkzNiBiKG1ldGhvKXIoZClnKHNob3VsZClnKGIpcihlKXAgMCA1MjU4IDE1NjAKLTQgdiA5MiA1MzEyIGEgRmkoMykxMjcgNTMzNSB5IEZoKFNlZSkyNCBiIEZxKGh0dHA6Ly93d3cubG90aGEpbgotKHIuY29tL3RlY2gvY3J5cHRvLylwIDAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZygzLjMpODIKLWIgRm0oU1NMKTI2IGIgRmcoXDAyNilpKEFuKWcoaW50ZXJmYWNlKWcodG8pZih0aGUpZyhTU0wtc3ApcihlY2lcMDM0YyloCi0ocGEpbihydHMpZihvZiloKE9wKXIoZW5TU0wpMTY1MiBiKDkpcCBlb3AgZW5kCitiKGplY3QpMjcgYih0KW4oeXApcihlLilwIDAgNTI1MSAxNTYwIDQgdiA5MiA1MzA1IGEgRmkoMykxMjcKKzUzMjggeSBGaChTZWUpZCBGcShodHRwOi8vd3d3LmxvdGhhKW4oci5jb20vdGVjaC9jcnlwdG8vKXAKKzAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZygzLjMpODIgYiBGbShTU0wpMjYgYiBGZyhcMDI2KWkoQW4pZworKGludGVyZmFjZSlnKHRvKWYodGhlKWcoU1NMLXNwKXIoZWNpXDAzNGMpaChwYSluKHJ0cylmKG9mKWgoT3ApcihlblNTTCkKKzE2NTIgYig5KXAgZW9wIGVuZAogJSVQYWdlOiAxMCAxMAotVGVYRGljdCBiZWdpbiAxMCA5IGJvcCAyMDggODMgYSBGbShTU0x2Ml9NRVRIT0QpcCBGcigsKTIyCi1iIEZtKFNTTHYzX01FVEhPRClwIEZyKCwpaCBGbShTU0x2MjNfTUVUSE9EKWYgRnIob3IpMjcKLWIgRm0oVExTdjFfTUVUSE9EKXAgRnIoLikwIDIzMCB5IEZtKENvbm5lY3Rpb25UeXBlKTIwOAotMzMwIHkgRnIoQSlnKFB5dGhvbiloKHQpbih5cClyKGUpZyhvYik1IGIoamVjdCkyOCBiKHJlcHJlc2VuKW4odGluZylkCi0odGhlKWooQ29ubmVjdGlvbilmKG9iKTUgYihqZWN0KTI4IGIodCluKHlwKXIoZS4pMCA0NzYKK1RlWERpY3QgYmVnaW4gMTAgOSBib3AgMCA4MyBhIEZtKENvbnRleHRcKClwIEZkKG1ldGhvKWwoZCk5CitiIEZtKFwpKTIwOCAxODMgeSBGcihGKS03IGIoYWN0b3J5KTM0IGIoZnVuY3Rpb24paSh0aGF0KWcoY3JlYXRlcylmKGEpZworKG5ldyloKENvbiluKHRleHQpZihvYik1IGIoamVjdCkzNiBiKGdpdiluKGVuKWUoYW4paShTU0wpZyhtZXRobylyKGQuKQorNjEgYihUaGUpMzYgYihtZXRobylyKGQpZyhzaG91bGQpZyhiKXIoZSkyMDggMjgyIHkgRm0oU1NMdjJfTUVUSE9EKXAKK0ZyKCwpMjIgYiBGbShTU0x2M19NRVRIT0QpcCBGcigsKWggRm0oU1NMdjIzX01FVEhPRClmCitGcihvcikyNyBiIEZtKFRMU3YxX01FVEhPRClwIEZyKC4pMCA0MjkgeSBGbShDb25uZWN0aW9uVHlwZSkyMDgKKzUyOSB5IEZyKEEpZyhQeXRob24paCh0KW4oeXApcihlKWcob2IpNSBiKGplY3QpMjggYihyZXByZXNlbiluKHRpbmcpZAorKHRoZSlqKENvbm5lY3Rpb24pZihvYik1IGIoamVjdCkyOCBiKHQpbih5cClyKGUuKTAgNjc2CiB5IEZtKENvbm5lY3Rpb25cKClwIEZkKGMpbChvbnRleHQsKWMoc28pbChja2V0KTggYiBGbShcKSkyMDgKLTU3NiB5IEZyKEYpLTcgYihhY3RvcnkpMjYgYihmdWNuY3Rpb24paSh0aGF0KWcoY3JlYXRlcyllKGEpaChuZXcpaAorNzc1IHkgRnIoRiktNyBiKGFjdG9yeSkyNiBiKGZ1Y25jdGlvbilpKHRoYXQpZyhjcmVhdGVzKWUoYSloKG5ldyloCiAoQ29ubmVjdGlvbilmKG9iKTUgYihqZWN0KTI3IGIoZ2l2KW4oZW4pZyhhbilnKFNTTCloKGNvbiluKHRleHQpZihhbmQpaAotKGEpZihzbylyKGMpbihrKW4oZXQpMzUzOCA1NDYgeSBGbCg0KTM2MDMgNTc2IHkgRnIob2IpNQotYihqZWN0LikwIDcyMyB5IEZuKGV4Y2VwdGlvbikzMiBiIEZtKEVycm9yKTIwOCA4MjMgeQorKGEpZihzbylyKGMpbihrKW4oZXQpMzUzOCA3NDUgeSBGbCg0KTM2MDMgNzc1IHkgRnIob2IpNQorYihqZWN0LikwIDkyMiB5IEZuKGV4Y2VwdGlvbikzMiBiIEZtKEVycm9yKTIwOCAxMDIyIHkKIEZyKFRoaXMpaShleGNlcHRpb24pZyhpcyloKHVzZWQpZihhcylnKGEpaChiYXNlKWUoY2xhc3MpaChmb3IpZyh0aGUpaAogKG90aGVyKWYoU1NMLXJlbGF0ZWQpZyhleGNlcHRpb25zLClpKGJ1dClmKG1hKW4oeSlmKGFsc28pZihiKXIoZSlpCi0ocmFpc2VkKTIwOCA5MjIgeShkaXJlY3RseSktNyBiKC4pMjA4IDEwNTUgeShXaGVuZXYpbihlcikzNgorKHJhaXNlZCkyMDggMTEyMSB5KGRpcmVjdGx5KS03IGIoLikyMDggMTI1NCB5KFdoZW5ldiluKGVyKTM2CiBiKHRoaXMpaChleGNlcHRpb24pZyhpcylnKHJhaXNlZClmKGRpcmVjdGx5KS03IGIoLCk0MAogYihpdClkKGhhcylnKGEpZihsaXN0KWkob2YpZihlcnJvcillKG1lc3NhZ2VzKWcoZnJvbSlpKHRoZSloKE9wKXIKLShlblNTTClmKGVycm9yKTIwOCAxMTU1IHkocXVldWUsKWsod2hlcmUpZChlYWMpbihoKWYoaXRlbSlpKGlzKWcoYSlmCisoZW5TU0wpZihlcnJvcikyMDggMTM1NCB5KHF1ZXVlLClrKHdoZXJlKWQoZWFjKW4oaClmKGl0ZW0paShpcylnKGEpZgogKHR1cGxlKWggRm0oXCgpcCBGZChsaWIpNSBiIEZtKCwpNDQgYiBGZChmdW5jdGlvbik2IGIKIEZtKCwpNDMgYiBGZChyKWwoZSlsKGFzb24pNiBiIEZtKFwpKXAgRnIoLik3MCBiKEhlcmUpMzgKIGIgRmQobGliKTUgYiBGcigsKTQzIGIgRmQoZnVuY3Rpb24paCBGcihhbmQpMzkgYiBGZChyKWwoZSlsKGFzb24pNDUKLWIgRnIoYXJlKTM3IGIoYWxsKTIwOCAxMjU0IHkoc3RyaW5ncywpMjYgYihkZXNjcmliaW5nKWgod2hlcmUpZyhhbmQpZworYiBGcihhcmUpMzcgYihhbGwpMjA4IDE0NTMgeShzdHJpbmdzLCkyNiBiKGRlc2NyaWJpbmcpaCh3aGVyZSlnKGFuZClnCiAod2hhdCloKHRoZSlnKHByb2JsZW0pZihpcy4pMzYgYihTZWUpMjggYiBGZChlcnIpcCBGcihcKDNcKSlnKGZvcilmCi0obW9yZSlnKGluZm9ybWF0aW9uLikwIDE0MDEgeSBGbihleGNlcHRpb24pMzIgYiBGbShaZXJvUmV0dXJuRXJyb3IpMjA4Ci0xNTAxIHkgRnIoVGhpcylnKGV4Y2VwdGlvbilnKG1hdGMpbihoZXMpZyh0aGUpaChlcnJvcilkKHJldHVybilpKGNvKXIKKyhtb3JlKWcoaW5mb3JtYXRpb24uKTAgMTYwMCB5IEZuKGV4Y2VwdGlvbikzMiBiIEZtKFplcm9SZXR1cm5FcnJvcikyMDgKKzE3MDAgeSBGcihUaGlzKWcoZXhjZXB0aW9uKWcobWF0YyluKGhlcylnKHRoZSloKGVycm9yKWQocmV0dXJuKWkoY28pcgogKGRlKWggRm0oU1NMX0VSUk9SX1pFUk9fKW8oUkUpbyhUVVIpbyhOKXAgRnIoLCkyNiBiKGFuZCkzMwotYihpcylmKHJhaXNlZClmKHdoZW4paSh0aGUpZyhTU0wpMjA4IDE2MDAgeShDb25uZWN0aW9uKWMoaGFzKWcoYilyKGVlbikKK2IoaXMpZihyYWlzZWQpZih3aGVuKWkodGhlKWcoU1NMKTIwOCAxODAwIHkoQ29ubmVjdGlvbiljKGhhcylnKGIpcihlZW4pCiBoKGNsb3NlZC4pNDMgYihJbikyOSBiKFNTTCloKDMuMClmKGFuZCloKFRMUylnKDEuMCwpZih0aGlzKWgob25seSlmKG8pcgogKGNjdXJzKWcoaWYpaChhKWcoY2xvc3VyZSllKGFsZXJ0KWgoaGFzKWcobylyKGNjdXJyZWQpMjA4Ci0xNzAwIHkoaW4pZyh0aGUpZyhwcm90bylyKGNvbCwpZihpLmUuKTQxIGIodGhlKTI5IGIoY29ubmVjdGlvbilmKGhhcylnCisxODk5IHkoaW4pZyh0aGUpZyhwcm90bylyKGNvbCwpZihpLmUuKTQxIGIodGhlKTI5IGIoY29ubmVjdGlvbilmKGhhcylnCiAoYilyKGVlbilpKGNsb3NlZCllKGNsZWFubHkpLTcgYiguKTQwIGIoTm90ZSkyOSBiKHRoYXQpZyh0aGlzKWcoZG8pcgotKGVzKWYobm90KWgobmVjZXNzYXJpbHkpZShtZWFuKTIwOCAxODAwIHkodGhhdClnKHRoZSloKHRyYW5zcClyKG9ydClmCisoZXMpZihub3QpaChuZWNlc3NhcmlseSllKG1lYW4pMjA4IDE5OTkgeSh0aGF0KWcodGhlKWgodHJhbnNwKXIob3J0KWYKIChsYSluKHkpbihlcilmKFwoZS5nLikzNiBiKGEpMjggYihzbylyKGMpbihrKW4oZXRcKSllKGhhcyloKGIpcihlZW4paAotKGNsb3NlZC4pMjA4IDE5MzIgeShJdClrKG1hKW4oeSlmKHNlZW0paChhKWYobGl0dGxlKWkoc3RyYW5nZSllKHRoYXQpaAorKGNsb3NlZC4pMjA4IDIxMzIgeShJdClrKG1hKW4oeSlmKHNlZW0paChhKWYobGl0dGxlKWkoc3RyYW5nZSllKHRoYXQpaAogKHRoaXMpZyhpcylnKGFuKWcoZXhjZXB0aW9uLClnKGJ1dCloKGl0KWYoZG8pcihlcylnKG1hdGMpbihoKWcoYW4pZgotRm0oU1NMX0VSUk9SKWUgRnIoY28pcihkZSwpaihhbmQpZyhpcykyMDggMjAzMiB5KHYpbihlcnkpMjYKLWIoY29uKW4odiluKGVuaWVuKW4odC4pMCAyMTc5IHkgRm4oZXhjZXB0aW9uKTMyIGIgRm0oV2FudFJlYWRFcnJvcikyMDgKLTIyNzkgeSBGcihUaGUpaShvcClyKGVyYXRpb24pZShkaWQpaihub3QpZihjb21wbGV0ZTspaih0aGUpZChzYW1lKWcKK0ZtKFNTTF9FUlJPUillIEZyKGNvKXIoZGUsKWooYW5kKWcoaXMpMjA4IDIyMzEgeSh2KW4oZXJ5KTI2CitiKGNvbiluKHYpbihlbmllbiluKHQuKTAgMjM3OCB5IEZuKGV4Y2VwdGlvbikzMiBiIEZtKFdhbnRSZWFkRXJyb3IpMjA4CisyNDc4IHkgRnIoVGhlKWkob3ApcihlcmF0aW9uKWUoZGlkKWoobm90KWYoY29tcGxldGU7KWoodGhlKWQoc2FtZSlnCiAoSS9PKWYobWV0aG8pcihkKWgoc2hvdWxkKWcoYilyKGUpZyhjYWxsZWQpZyhhZ2FpbilmKGxhdGVyLClpKHdpdGgpZgotKHRoZSloKHNhbWUpMjA4IDIzNzggeShhcmd1bWVuKW4odHMuKWcoQW4pbih5KTI4IGIoSS9PKWUobWV0aG8pcihkKWkKKyh0aGUpaChzYW1lKTIwOCAyNTc3IHkoYXJndW1lbiluKHRzLilnKEFuKW4oeSkyOCBiKEkvTyllKG1ldGhvKXIoZClpCiAoY2FuKWYobGVhZCloKHRvKWYodGhpcyloKHNpbmNlKWYobmV3KWgoaGFuZHNoYWspbihlcyllKGNhbiloKG8pcihjY3VyKQotZyhhdClnKGFuKW4oeSlnKHRpbWUuKTAgMjUyNSB5IEZuKGV4Y2VwdGlvbikzMiBiIEZtKFdhbnRXcml0ZUVycm9yKTIwOAotMjYyNSB5IEZyKFNlZSkyNyBiIEZtKFdhbnRSZWFkRXJyb3IpcCBGciguKTAgMjc3MiB5IEZuKGV4Y2VwdGlvbikzMgotYiBGbShXYW50WDUwOUxvb2t1cEUpbyhycilvKG9yKTIwOCAyODcxIHkgRnIoVGhlKTI0IGIob3ApcihlcmF0aW9uKWcKK2coYXQpZyhhbiluKHkpZyh0aW1lLikwIDI3MjQgeSBGbihleGNlcHRpb24pMzIgYiBGbShXYW50V3JpdGVFcnJvcikyMDgKKzI4MjQgeSBGcihTZWUpMjcgYiBGbShXYW50UmVhZEVycm9yKXAgRnIoLikwIDI5NzEgeSBGbihleGNlcHRpb24pMzIKK2IgRm0oV2FudFg1MDlMb29rdXBFKW8ocnIpbyhvcikyMDggMzA3MCB5IEZyKFRoZSkyNCBiKG9wKXIoZXJhdGlvbilnCiAoZGlkKWgobm90KWcoY29tcGxldGUpZihiKXIoZWNhdXNlKWcoYW4paChhcHBsaWNhdGlvbilmKGNhbGxiYWMpbihrKWYKIChoYXMpaChhc2spbihlZClnKHRvKWcoYilyKGUpaChjYWxsZWQpZyhhZ2Fpbi4pMzQgYihUaGUpMjUKLWIoSS9PKTIwOCAyOTcxIHkobWV0aG8pcihkKWYoc2hvdWxkKWgoYilyKGUpZihjYWxsZWQpZyhhZ2FpbilnKGxhdGVyLClnCitiKEkvTykyMDggMzE3MCB5KG1ldGhvKXIoZClmKHNob3VsZCloKGIpcihlKWYoY2FsbGVkKWcoYWdhaW4pZyhsYXRlciwpZwogKHdpdGgpaCh0aGUpZyhzYW1lKWUoYXJndW1lbiluKHRzLikzNSBiKE5vdGU6KWcoVGhpcykyNAotYih3KW4ob24ndCloKG8pcihjY3VyKWUoaW4paSh0aGlzKWcodiluKGVyc2lvbiwpMjA4IDMwNzAKK2IodyluKG9uJ3QpaChvKXIoY2N1cillKGluKWkodGhpcylnKHYpbihlcnNpb24sKTIwOCAzMjcwCiB5KGFzKWgodGhlcmUpaShhcmUpZShubylpKHN1YyluKGgpZihjYWxsYmFjKW4oa3MpZihpbilpKHRoaXMpZih2KW4KLShlcnNpb24uKTAgMzIxNyB5IEZuKGV4Y2VwdGlvbikzMiBiIEZtKFN5c0NhbGxFcnJvcikyMDgKLTMzMTcgeSBGcihUaGUpMjUgYiBGbShTeXNDYWxsRXJyb3IpMjAgYiBGcihvKXIoY2N1cnMpayh3aGVuKWkodGhlcmUncyllCisoZXJzaW9uLikwIDM0MTcgeSBGbihleGNlcHRpb24pMzIgYiBGbShTeXNDYWxsRXJyb3IpMjA4CiszNTE2IHkgRnIoVGhlKTI1IGIgRm0oU3lzQ2FsbEVycm9yKTIwIGIgRnIobylyKGNjdXJzKWsod2hlbilpKHRoZXJlJ3MpZQogKGFuKWgoSS9PKWcoZXJyb3IpZShhbmQpaShPcClyKGVuU1NMJ3MpZyhlcnJvcillKHF1ZXVlKWkoZG8pcihlcylnKG5vdCkKLWcoY29uKW4odGFpbilnKGFuKW4oeSkyMDggMzQxNyB5KGluZm9ybWF0aW9uLik1OSBiKFRoaXMpMzYKK2coY29uKW4odGFpbilnKGFuKW4oeSkyMDggMzYxNiB5KGluZm9ybWF0aW9uLik1OSBiKFRoaXMpMzYKIGIoY2FuKWYobWVhbilnKHQpbih3KW4obylnKHRoaW5nczopNTIgYihBbikzNiBiKGVycm9yKWQoaW4paih0aGUpZwogKHRyYW5zcClyKG9ydCllKHByb3RvKXIoY29sLClpKG9yKWYoYW4pZyhlbmQpaChvZilmKFwwMzRsZSloKHRoYXQpMjA4Ci0zNTE2IHkodmlvbGF0ZXMpMjYgYih0aGUpaShwcm90bylyKGNvbC4pMzYgYihUaGUpMjcgYihwYXJhbWV0ZXIpZih0bylpCiszNzE1IHkodmlvbGF0ZXMpMjYgYih0aGUpaShwcm90bylyKGNvbC4pMzYgYihUaGUpMjcgYihwYXJhbWV0ZXIpZih0bylpCiAodGhlKWcoZXhjZXB0aW9uKWYoaXMpZyhhbHcpbihhKW4oeXMpZihhKWgocGFpcilnIEZtKFwoKXAKIEZkKGVycm51bSk2IGIgRm0oLCk0MiBiIEZkKGVycnN0cik5IGIgRm0oXCkpcCBGciguKTAKLTM3NzkgeSBGZyhDb250ZXh0KTI3IGIob2JqZWN0cykwIDM5ODAgeSBGcihDb24pbih0ZXh0KWcob2IpNQorMzk3OCB5IEZnKENvbnRleHQpMjcgYihvYmplY3RzKTAgNDE3OSB5IEZyKENvbiluKHRleHQpZyhvYik1CiBiKGplY3RzKTI3IGIoaGEpbih2KW4oZSlnKHRoZSloKGZvbGxvKW4od2luZyllKG1ldGhvKXIoZHM6KTAKLTQxMjcgeSBGbShjaGVja19wcml2YXRla2V5KW8oXChcKSkyMDggNDI0MyB5IEZyKENoZWMpbihrKWsoaWYpaSh0aGUpZworNDMyNiB5IEZtKGNoZWNrX3ByaXZhdGVrZXkpbyhcKFwpKTIwOCA0NDQyIHkgRnIoQ2hlYyluKGspayhpZilpKHRoZSlnCiAocHJpdiktNSBiKGF0ZSkzMSBiKGspbihleSlmKFwobG9hZGVkKWgod2l0aCloIEZtKHVzZV9wcml2YXRla2V5KXAKIEZjKFspcCBGbShfKW8oZmkpbyhsZSkxMSBiIEZjKF0pcCBGcihcKSkyNiBiKG1hdGMpbihoZXMpayh0aGUpaQotKGNlcnRpXDAzNGNhdGUpZihcKGxvYWRlZClnKHdpdGgpMjA4IDQzNzEgeSBGbSh1c2VfY2VydGlmaWNhdGUpbworKGNlcnRpXDAzNGNhdGUpZihcKGxvYWRlZClnKHdpdGgpMjA4IDQ1NzAgeSBGbSh1c2VfY2VydGlmaWNhdGUpbwogRmMoWylwIEZtKF8pbyhmaWwpbyhlKTExIGIgRmMoXSlwIEZyKFwpLikzMSBiKFJldHVybnMpZAogRm0oTm9uZSllIEZyKGlmKWkodGhleSlmKG1hdGMpbihoLCloKHJhaXNlcyllIEZtKEVycm9yKWcKLUZyKG90aGVyd2lzZS4pMCA0NTE3IHkgRm0oZ2V0X2FwcF9kYXRhXChcKSkyMDggNDYxNyB5CitGcihvdGhlcndpc2UuKTAgNDcxNyB5IEZtKGdldF9hcHBfZGF0YVwoXCkpMjA4IDQ4MTYgeQogRnIoUmV0cmlldiluKGUpZyhhcHBsaWNhdGlvbiloKGRhdGEpZyhhcylnKHNldCloKGIpbih5KWcKLUZtKHNldF9hcHBfZGF0YSlwIEZyKC4pMCA0NzY0IHkgRm0oZ2V0X2NlcnRfc3RvcmVcKFwpKTIwOAotNDg2NCB5IEZyKFJldHJpZXYpbihlKTM0IGIodGhlKWkoY2VydGlcMDM0Y2F0ZSlmKHN0b3JlKWYoXChhKWgKK0ZtKHNldF9hcHBfZGF0YSlwIEZyKC4pMCA0OTYzIHkgRm0oZ2V0X2NlcnRfc3RvcmVcKFwpKTIwOAorNTA2MyB5IEZyKFJldHJpZXYpbihlKTM0IGIodGhlKWkoY2VydGlcMDM0Y2F0ZSlmKHN0b3JlKWYoXChhKWgKIChYNTA5U3RvcmUpZihvYik1IGIoamVjdFwpKTM1IGIodGhhdCloKHRoZSlmKGNvbiluKHRleHQpZyh1c2VzLik2MAotYihUaGlzKTM1IGIoY2FuKWcoYilyKGUpaCh1c2VkKWYodG8pZyhhZGQpMjA4IDQ5NjMgeSgidHJ1c3RlZCIpMjYKK2IoVGhpcykzNSBiKGNhbilnKGIpcihlKWgodXNlZClmKHRvKWcoYWRkKTIwOCA1MTYyIHkoInRydXN0ZWQiKTI2CiBiKGNlcnRpXDAzNGNhdGVzKWgod2l0aG91dCloKHVzaW5nKWYodGhlLikzNyBiIEZtKGxvYWRfdmVyaWZ5X2xvY2EpbwotKHRpbylvKG5zKW8oXChcKSkyMSBiIEZyKG1ldGhvKXIoZC4pMCA1MTEwIHkgRm0oZ2V0X3RpbWVvdXRcKFwpKXAKLTAgNTE4MiAxNTYwIDQgdiA5MiA1MjM1IGEgRmkoNCkxMjcgNTI1OSB5IEZoKEEpbihjdHVhbGx5KS02Ci1iKCwpMjUgYihhbGwpZSh0aGF0KWooaXMpZChyZXF1aXJlZClqKGlzKWUoYW4pZyhvYil0KGplY3QpaCh0aGF0KWgKLUZiKGIpbChlaGF2ZXMpZSBGaChsaWspbihlKWcoYSloKHNvKXIoYyluKGspbihldCwpZyh5KW4ob3UpZyhjb3VsZClnCi0oZXYpbihlbilnKHVzZSlmKFwwMzRsZXMsKWcoZXYpbihlbilpKHRob3VnaClmKGl0J2QpZihiKXIoZSloKHRyaWMpbgotKGt5KWcodG8pMCA1MzM3IHkoZ2V0KWcodGhlKWYoaGFuZHNoYWspbihlcyloKHJpZ2gpbih0ISlwCi0wIDU1NDkgMzkwMSA0IHYgMCA1NjQ5IGEgRmcoMTApMjE5NyBiKDMpODMgYiBGbShPcGVuU1NMKTI0Ci1iIEZnKFwwMjYpayhQeXRob24pZihpbnRlcmZhY2UpaCh0bylmKE9wKXIoZW5TU0wpcCBlb3AKKyh0aW8pbyhucylvKFwoXCkpMjEgYiBGcihtZXRobylyKGQuKXAgMCA1MjM0IDE1NjAgNCB2Cis5MiA1Mjg4IGEgRmkoNCkxMjcgNTMxMSB5IEZoKEEpbihjdHVhbGx5KS02IGIoLCkyNSBiKGFsbCllKHRoYXQpaihpcylkCisocmVxdWlyZWQpaihpcyllKGFuKWcob2IpdChqZWN0KWgodGhhdCloIEZiKGIpbChlaGF2ZXMpZQorRmgobGlrKW4oZSlnKGEpaChzbylyKGMpbihrKW4oZXQsKWcoeSluKG91KWcoY291bGQpZyhldiluKGVuKWcodXNlKWYKKyhcMDM0bGVzLClnKGV2KW4oZW4paSh0aG91Z2gpZihpdCdkKWYoYilyKGUpaCh0cmljKW4oa3kpZyh0bykwCis1MzkwIHkoZ2V0KWcodGhlKWYoaGFuZHNoYWspbihlcyloKHJpZ2gpbih0ISlwIDAgNTU0OQorMzkwMSA0IHYgMCA1NjQ5IGEgRmcoMTApMjE5NyBiKDMpODMgYiBGbShPcGVuU1NMKTI0IGIKK0ZnKFwwMjYpayhQeXRob24pZihpbnRlcmZhY2UpaCh0bylmKE9wKXIoZW5TU0wpcCBlb3AKIGVuZAogJSVQYWdlOiAxMSAxMQotVGVYRGljdCBiZWdpbiAxMSAxMCBib3AgMjA4IDgzIGEgRnIoUmV0cmlldiluKGUpMjYgYihzZXNzaW9uKWgKLSh0aW1lb3V0LCloKGFzKWYoc2V0KWcoYiluKHkpaSBGbShzZXRfdGltZW91dClwIEZyKC4paihUaGUpYyhkZWZhdWx0KWcKLShpcylmKDMwMClmKHNlY29uZHMuKTAgMjMwIHkgRm0oZ2V0X3ZlcmlmeV9kZXB0aClvKFwoXCkpMjA4Ci0zMzAgeSBGcihSZXRyaWV2KW4oZSlnKHRoZSlpKENvbiluKHRleHQpZihvYik1IGIoamVjdCdzKTI4Ci1iKHYpbihlcmlmeSllKGRlcHRoLClqKGFzKWQoc2V0KWkoYiluKHkpZyBGbShzZXRfdmVyaWZ5X2RlcHRoKXAKLUZyKC4pMCA0NzYgeSBGbShnZXRfdmVyaWZ5X21vZGVcKClvKFwpKTIwOCA1NzYgeSBGcihSZXRyaWV2KW4oZSllKHRoZSlpCi0oQ29uKW4odGV4dClmKG9iKTUgYihqZWN0J3MpMjggYih2KW4oZXJpZnkpZShtbylyKGRlLClpKGFzKWYoc2V0KWgoYiluCi0oeSlnIEZtKHNldF92ZXJpZnlfbW9kZSlwIEZyKC4pMCA3MjMgeSBGbShsb2FkX2NsaWVudF9jYVwoKXAKLUZkKHApbChlbVwwMzRsZSk2IGIgRm0oXCkpMjA4IDgyMyB5IEZyKFJlYWQpMzMgYihhKWcoXDAzNGxlKWgod2l0aClnCi0oUEVNLWZvcm1hdHRlZClnKGNlcnRpXDAzNGNhdGVzKWYodGhhdCloKHdpbGwpZyhiKXIoZSlnKHNlbiluKHQpZih0byloCi0odGhlKWcoY2xpZW4pbih0KWYod2hlbiloKHJlcXVlc3RpbmcpZihhKWcoY2xpZW4pbih0KTIwOAotOTIyIHkoY2VydGlcMDM0Y2F0ZS4pMCAxMDY5IHkgRm0obG9hZF92ZXJpZnlfbG9jYSlvKHRpKW8ob25zKW8oXCgpcAotRmQocClsKGVtXDAzNGxlKTYgYiBGbShcKSkyMDggMTE2OSB5IEZyKFNwKXIoZWNpZnkpMjQKLWIod2hlcmUpZihDQSlnKGNlcnRpXDAzNGNhdGVzKWcoZm9yKWcodiluKGVyaVwwMzRjYXRpb24pZihwdXJwKXIob3NlcyloCi0oYXJlKWYobG8pcihjYXRlZC4pMzUgYihUaGVzZSkyMyBiKGFyZSlnKHRydXN0ZWQpZyhjZXJ0aVwwMzRjYXRlcy4pMzUKLWIoTm90ZSkyMDggMTI2OCB5KHRoYXQpMjcgYih0aGUpaChjZXJ0aVwwMzRjYXRlcylmKGhhKW4odiluKGUpZih0bylpKGIpCi1yKGUpZyhpbilnKFBFTSlnKGZvcm1hdC4pMCAxNDE1IHkgRm0obG9hZF90bXBfZGhcKClwCi1GZChkaFwwMzRsZSk2IGIgRm0oXCkpMjA4IDE1MTUgeSBGcihMb2FkKTI2IGIocGFyYW1ldGVycylnKGZvciloCi0oRXBoZW1lcmFsKWcoRGlcMDM2ZS1IZWxsbWFuKWgoZnJvbSlnIEZkKGRoXDAzNGxlKTYgYgotRnIoLikwIDE2NjIgeSBGbShzZXRfYXBwX2RhdGFcKClwIEZkKGRhdGEpZyBGbShcKSkyMDgKLTE3NjEgeSBGcihBc3NvKXIoY2lhdGUpMjUgYiBGZChkYXRhKTMzIGIgRnIod2l0aCkyNyBiKHRoaXMpZihDb24pbgotKHRleHQpZihvYik1IGIoamVjdC4pMzYgYiBGZChkYXRhKWUgRnIoY2FuKTI1IGIoYilyKGUpaShyZXRyaWV2KW4oZWQpZAotKGxhdGVyKWkodXNpbmcpZih0aGUpaSBGbShnZXRfYXBwX2RhdGEpMjEgYiBGcihtZXRobylyKGQuKTAKLTE5MDggeSBGbShzZXRfY2lwaGVyX2xpc3RcKClvIEZkKGNpcGhlcnMpNyBiIEZtKFwpKTIwOAotMjAwOCB5IEZyKFNldCkyOCBiKHRoZSlnKGxpc3QpaChvZilmKGNpcGhlcnMpZih0byloKGIpcihlKWcodXNlZClnKGluKWcKK1RlWERpY3QgYmVnaW4gMTEgMTAgYm9wIDAgODMgYSBGbShnZXRfdGltZW91dFwoXCkpMjA4CisxODMgeSBGcihSZXRyaWV2KW4oZSkyNiBiKHNlc3Npb24paCh0aW1lb3V0LCloKGFzKWYoc2V0KWcoYiluKHkpaQorRm0oc2V0X3RpbWVvdXQpcCBGciguKWooVGhlKWMoZGVmYXVsdClnKGlzKWYoMzAwKWYoc2Vjb25kcy4pMAorMzMwIHkgRm0oZ2V0X3ZlcmlmeV9kZXB0aClvKFwoXCkpMjA4IDQyOSB5IEZyKFJldHJpZXYpbihlKWcodGhlKWkoQ29uKW4KKyh0ZXh0KWYob2IpNSBiKGplY3QncykyOCBiKHYpbihlcmlmeSllKGRlcHRoLClqKGFzKWQoc2V0KWkoYiluKHkpZworRm0oc2V0X3ZlcmlmeV9kZXB0aClwIEZyKC4pMCA1NzYgeSBGbShnZXRfdmVyaWZ5X21vZGVcKClvKFwpKTIwOAorNjc2IHkgRnIoUmV0cmlldiluKGUpZSh0aGUpaShDb24pbih0ZXh0KWYob2IpNSBiKGplY3QncykyOAorYih2KW4oZXJpZnkpZShtbylyKGRlLClpKGFzKWYoc2V0KWgoYiluKHkpZyBGbShzZXRfdmVyaWZ5X21vZGUpcAorRnIoLikwIDgyMyB5IEZtKGxvYWRfY2xpZW50X2NhXCgpcCBGZChwKWwoZW1cMDM0bGUpNgorYiBGbShcKSkyMDggOTIyIHkgRnIoUmVhZCkzMyBiKGEpZyhcMDM0bGUpaCh3aXRoKWcoUEVNLWZvcm1hdHRlZClnCisoY2VydGlcMDM0Y2F0ZXMpZih0aGF0KWgod2lsbClnKGIpcihlKWcoc2VuKW4odClmKHRvKWgodGhlKWcoY2xpZW4pbih0KQorZih3aGVuKWgocmVxdWVzdGluZylmKGEpZyhjbGllbiluKHQpMjA4IDEwMjIgeShjZXJ0aVwwMzRjYXRlLikwCisxMTY5IHkgRm0obG9hZF92ZXJpZnlfbG9jYSlvKHRpKW8ob25zKW8oXCgpcCBGZChwKWwoZW1cMDM0bGUpNgorYiBGbShcKSkyMDggMTI2OCB5IEZyKFNwKXIoZWNpZnkpMjQgYih3aGVyZSlmKENBKWcoY2VydGlcMDM0Y2F0ZXMpZworKGZvcilnKHYpbihlcmlcMDM0Y2F0aW9uKWYocHVycClyKG9zZXMpaChhcmUpZihsbylyKGNhdGVkLikzNQorYihUaGVzZSkyMyBiKGFyZSlnKHRydXN0ZWQpZyhjZXJ0aVwwMzRjYXRlcy4pMzUgYihOb3RlKTIwOAorMTM2OCB5KHRoYXQpMjcgYih0aGUpaChjZXJ0aVwwMzRjYXRlcylmKGhhKW4odiluKGUpZih0bylpKGIpcihlKWcoaW4pZworKFBFTSlnKGZvcm1hdC4pMCAxNTE1IHkgRm0obG9hZF90bXBfZGhcKClwIEZkKGRoXDAzNGxlKTYKK2IgRm0oXCkpMjA4IDE2MTQgeSBGcihMb2FkKTI2IGIocGFyYW1ldGVycylnKGZvciloKEVwaGVtZXJhbClnCisoRGlcMDM2ZS1IZWxsbWFuKWgoZnJvbSlnIEZkKGRoXDAzNGxlKTYgYiBGciguKTAgMTc2MQoreSBGbShzZXRfYXBwX2RhdGFcKClwIEZkKGRhdGEpZyBGbShcKSkyMDggMTg2MSB5IEZyKEFzc28pcihjaWF0ZSkyNQorYiBGZChkYXRhKTMzIGIgRnIod2l0aCkyNyBiKHRoaXMpZihDb24pbih0ZXh0KWYob2IpNQorYihqZWN0LikzNiBiIEZkKGRhdGEpZSBGcihjYW4pMjUgYihiKXIoZSlpKHJldHJpZXYpbihlZClkKGxhdGVyKWkKKyh1c2luZylmKHRoZSlpIEZtKGdldF9hcHBfZGF0YSkyMSBiIEZyKG1ldGhvKXIoZC4pMCAyMDA4Cit5IEZtKHNldF9jaXBoZXJfbGlzdFwoKW8gRmQoY2lwaGVycyk3IGIgRm0oXCkpMjA4IDIxMDcKK3kgRnIoU2V0KTI4IGIodGhlKWcobGlzdCloKG9mKWYoY2lwaGVycylmKHRvKWgoYilyKGUpZyh1c2VkKWcoaW4pZwogKHRoaXMpaChjb24pbih0ZXh0LikzNyBiKFNlZSkyOCBiKHRoZSloKE9wKXIoZW5TU0wpZihtYW4pbih1YWwpZihmb3IpaAotKG1vcmUpZihpbmZvcm1hdGlvbilnKFwoZS5nLikyMDggMjEwNyB5KGNpcGhlcnNcKDFcKVwpKTAKLTIyNTQgeSBGbShzZXRfaW5mb19jYWxsYmFjKW8oa1woKW8gRmQoYylsKGFsKXQobGIpbChhY2spOQotYiBGbShcKSkyMDggMjM1NCB5IEZyKFNldCkzMyBiKHRoZSlmKGluZm9ybWF0aW9uKWcoY2FsbGJhYyluKGspZih0bylpCisobW9yZSlmKGluZm9ybWF0aW9uKWcoXChlLmcuKTIwOCAyMjA3IHkoY2lwaGVyc1woMVwpXCkpMAorMjM1NCB5IEZtKHNldF9pbmZvX2NhbGxiYWMpbyhrXCgpbyBGZChjKWwoYWwpdChsYilsKGFjayk5CitiIEZtKFwpKTIwOCAyNDU0IHkgRnIoU2V0KTMzIGIodGhlKWYoaW5mb3JtYXRpb24pZyhjYWxsYmFjKW4oaylmKHRvKWkKIEZkKGMpbChhbCl0KGxiKWwoYWNrKTkgYiBGciguKTU0IGIoVGhpcykzMiBiKGZ1bmN0aW9uKWgod2lsbClnKGIpcihlKWcKIChjYWxsZWQpZihmcm9tKWcodGltZSloKHRvKWcodGltZSlnKGR1cmluZylmKFNTTCkyMDgKLTI0NTQgeShoYW5kc2hhayluKGVzLik0OSBiIEZkKGMpbChhbCl0KGxiKWwoYWNrKTQzIGIKKzI1NTMgeShoYW5kc2hhayluKGVzLik0OSBiIEZkKGMpbChhbCl0KGxiKWwoYWNrKTQzIGIKIEZyKHNob3VsZCkzMiBiKHRhayluKGUpZyh0aHJlZSlnKGFyZ3VtZW4pbih0czopNDUgYihhKTMyCiBiKENvbm5lY3Rpb24pZyhvYik1IGIoamVjdCkzMiBiKGFuZClnKHQpbih3KW4obylnKGluKW4odGVnZXJzLik1MAotYihUaGUpMzIgYihcMDM0cnN0KTIwOCAyNTUzIHkoaW4pbih0ZWdlcilmKHNwKXIoZWNpXDAzNGVzKWcod2hlcmUpaChpbikKK2IoVGhlKTMyIGIoXDAzNHJzdCkyMDggMjY1MyB5KGluKW4odGVnZXIpZihzcClyKGVjaVwwMzRlcylnKHdoZXJlKWgoaW4pCiBnKHRoZSlnKFNTTClnKGhhbmRzaGFrKW4oZSlmKHRoZSloKGZ1bmN0aW9uKWgodyluKGFzKWUoY2FsbGVkLCloKGFuZClnCi0odGhlKWcob3RoZXIpZyh0aGUpZyhyZXR1cm4pZihjbylyKGRlKTIwOCAyNjUzIHkoZnJvbSljKGEpZyhcKHApcgorKHRoZSlnKG90aGVyKWcodGhlKWcocmV0dXJuKWYoY28pcihkZSkyMDggMjc1MiB5KGZyb20pYyhhKWcoXChwKXIKIChvc3NpYmx5KWcoZmFpbGVkXCkpaChpbiluKHRlcm5hbClmKGZ1bmN0aW9uKWgoY2FsbC4pMAotMjgwMCB5IEZtKHNldF9vcHRpb25zXCgpcCBGZChvcHRpb25zKTcgYiBGbShcKSkyMDggMjg5OQorMjg5OSB5IEZtKHNldF9vcHRpb25zXCgpcCBGZChvcHRpb25zKTcgYiBGbShcKSkyMDggMjk5OQogeSBGcihBKW4oZGQpMjggYihTU0wpaChvcHRpb25zLikzOCBiKE9wdGlvbnMpMjggYih5KW4ob3UpZihoYSluKHYpbihlKWcKIChzZXQpaShiKXIoZWZvcmUpZihhcmUpZihub3QpaChjbGVhcmVkISkzOCBiKFRoaXMpMjgKIGIobWV0aG8pcihkKWgoc2hvdWxkKWYoYilyKGUpaCh1c2VkKWYod2l0aCloKHRoZSkyMDgKLTI5OTkgeSBGbShPUF8qKWQgRnIoY29uc3RhbiluKHRzLikwIDMxNDYgeSBGbShzZXRfcGFzc3dkX2NiXCgpcAorMzA5OSB5IEZtKE9QXyopZCBGcihjb25zdGFuKW4odHMuKTAgMzI0NSB5IEZtKHNldF9wYXNzd2RfY2JcKClwCiBGZChjKWwoYWwpdChsYilsKGFjayk5IGIgRmMoWylwIEZkKCwpMjUgYih1c2VyKWwoZGF0YSkxOQotYiBGYyhdKXAgRm0oXCkpMjA4IDMyNDUgeSBGcihTZXQpNDIgYih0aGUpZyhwYXNzcGhyYXNlKWYoY2FsbGJhYyluKGspZgorYiBGYyhdKXAgRm0oXCkpMjA4IDMzNDUgeSBGcihTZXQpNDIgYih0aGUpZyhwYXNzcGhyYXNlKWYoY2FsbGJhYyluKGspZgogKHRvKWkgRmQoYylsKGFsKXQobGIpbChhY2spOSBiIEZyKC4pODIgYihUaGlzKTQyIGIoZnVuY3Rpb24paCh3aWxsKWYoYikKIHIoZSlnKGNhbGxlZClnKHdoZW4pZyhhKWcocHJpdiktNSBiKGF0ZSk0MiBiKGspbihleSlmKHdpdGgpaChhKTIwOAotMzM0NSB5KHBhc3NwaHJhc2UpMzcgYihpcylpKGxvYWRlZC4pNzAgYiBGZChjKWwoYWwpdChsYilsKGFjayk1MAorMzQ0NSB5KHBhc3NwaHJhc2UpMzcgYihpcylpKGxvYWRlZC4pNzAgYiBGZChjKWwoYWwpdChsYilsKGFjayk1MAogYiBGcihzaG91bGQpMzkgYih0YWspbihlKWYoYSlnKGIpcihvKXIob2xlYW4paChhcmd1bWVuKW4odClmCiBGZChyKWwoZXApbChlKWwoYXQpNDcgYiBGcihhbmQpMzkgYihhbilmKGFyYml0cmFyeSlmKGFyZ3VtZW4pbih0KTIwOAotMzQ0NSB5IEZkKGRhdGEpZiBGcihhbmQpMjggYihyZXR1cm4pZyh0aGUpaChwYXNzcGhyYXNlKWUoZW4pbih0ZXJlZCloCiszNTQ0IHkgRmQoZGF0YSlmIEZyKGFuZCkyOCBiKHJldHVybilnKHRoZSloKHBhc3NwaHJhc2UpZShlbiluKHRlcmVkKWgKIChiKW4oeSlnKHRoZSloKHVzZXIuKTQwIGIoSWYpMzUgYiBGZChyKWwoZXApbChlKWwoYXQpaQogRnIoaXMpMjggYih0cnVlKWgodGhlbilnIEZkKGMpbChhbCl0KGxiKWwoYWNrKTM5IGIgRnIoc2hvdWxkKTI5Ci1iKGFzaylmKGZvcilnKHRoZSkyMDggMzU0NCB5KHBhc3NwaHJhc2Upaih0KW4od2ljZSlqKGFuZClnKG1hayluKGUpZgorYihhc2spZihmb3IpZyh0aGUpMjA4IDM2NDQgeShwYXNzcGhyYXNlKWoodCluKHdpY2UpaihhbmQpZyhtYWspbihlKWYKIChzdXJlKWcodGhhdCloKHRoZSlnKHQpbih3KW4obylmKGVuKW4odHJpZXMpZyhhcmUpZyhlcXVhbC4pNTUKIGIoVGhlKTM0IGIgRmQoZGF0YSk0MSBiIEZyKGFyZ3VtZW4pbih0KTMzIGIoaXMpaCh0aGUpZwotRmQodXNlcilsKGRhdGEpMjA4IDM2NDQgeSBGcih2KS01IGIoYXJpYWJsZSkyNSBiKHBhc3NlZCloKHRvKWgodGhlKWcKK0ZkKHVzZXIpbChkYXRhKTIwOCAzNzQ0IHkgRnIodiktNSBiKGFyaWFibGUpMjUgYihwYXNzZWQpaCh0byloKHRoZSlnCiBGbShzZXRfcGFzc3dkX2NiKTIyIGIgRnIobWV0aG8pcihkLikzNyBiKElmKTI3IGIoYW4pZyhlcnJvcillKG8pcgogKGNjdXJzLCloIEZkKGMpbChhbCl0KGxiKWwoYWNrKTM3IGIgRnIoc2hvdWxkKTI3IGIocmV0dXJuKWYoYSloKGZhbHNlKWYKLSh2KS01IGIoYWx1ZSkyMDggMzc0NCB5KFwoZS5nLikzNiBiKGFuKTI4IGIoZW1wdCluKHkpZihzdHJpbmdcKS4pMAotMzg5MCB5IEZtKHNldF9zZXNzaW9uX2lkXCgpcCBGZChuKW8oYW1lKTYgYiBGbShcKSkyMDgKLTM5OTAgeSBGcihTZXQpMzMgYih0aGUpaChjb24pbih0ZXh0KWYgRmQobmFtZSkzOSBiIEZyKHdpdGhpbikzNAorKHYpLTUgYihhbHVlKTIwOCAzODQzIHkoXChlLmcuKTM2IGIoYW4pMjggYihlbXB0KW4oeSlmKHN0cmluZ1wpLikwCiszOTkwIHkgRm0oc2V0X3Nlc3Npb25faWRcKClwIEZkKG4pbyhhbWUpNiBiIEZtKFwpKTIwOAorNDA5MCB5IEZyKFNldCkzMyBiKHRoZSloKGNvbiluKHRleHQpZiBGZChuYW1lKTM5IGIgRnIod2l0aGluKTM0CiBiKHdoaWMpbihoKWYoYSlnKHNlc3Npb24pZihjYW4paChiKXIoZSloKHJldXNlZCllKGZvciloKHRoaXMpZyhDb24pbgotKHRleHQpZyhvYik1IGIoamVjdC4pNTQgYihUaGlzKTMzIGIoaXMpZyhuZWVkZWQpMjA4IDQwOTAKKyh0ZXh0KWcob2IpNSBiKGplY3QuKTU0IGIoVGhpcykzMyBiKGlzKWcobmVlZGVkKTIwOCA0MTg5CiB5KHdoZW4pZShkb2luZylnKHNlc3Npb24pZyhyZXN1bXB0aW9uLCloKGIpcihlY2F1c2UpZyh0aGVyZSlmKGlzKWgobm8pZgogKHcpbihhKW4oeSlnKGZvcilnKGEpZyhzdG9yZWQpZyhzZXNzaW9uKWYodG8paShrbm8pbih3KWYod2hpYyluKGgpZwotKENvbiluKHRleHQpMjA4IDQxODkgeShvYik1IGIoamVjdCkyNyBiKGl0KWgoaXMpZihhc3NvKXIoY2lhdGVkKWcKKyhDb24pbih0ZXh0KTIwOCA0Mjg5IHkob2IpNSBiKGplY3QpMjcgYihpdCloKGlzKWYoYXNzbylyKGNpYXRlZClnCiAod2l0aC4pMzcgYiBGZChuYW1lKWQgRnIobWEpbih5KTI3IGIoYilyKGUpaChhbiluKHkpZShiaW5hcnkpaChkYXRhLikwCi00MzM2IHkgRm0oc2V0X3RpbWVvdXRcKClwIEZkKHRpbWUpbChvdXQpOCBiIEZtKFwpKTIwOAotNDQzNiB5IEZyKFNldCkyOSBiKHRoZSlnKHRpbWVvdXQpaChmb3IpZShuZXdseSloKGNyZWF0ZWQpZihzZXNzaW9ucylnCis0NDM2IHkgRm0oc2V0X3RpbWVvdXRcKClwIEZkKHRpbWUpbChvdXQpOCBiIEZtKFwpKTIwOAorNDUzNSB5IEZyKFNldCkyOSBiKHRoZSlnKHRpbWVvdXQpaChmb3IpZShuZXdseSloKGNyZWF0ZWQpZihzZXNzaW9ucylnCiAoZm9yKWgodGhpcylnKENvbiluKHRleHQpZyhvYik1IGIoamVjdCkyOCBiKHRvKWggRmQodGltZSlsKG91dCk4CiBiIEZyKC4pNDEgYiBGZCh0aW1lKWwob3V0KTM2IGIgRnIobSluKHVzdCkyOSBiKGIpcihlKWgoZ2l2KW4oZW4pMjA4Ci00NTM1IHkoaW4pZihcKHdob2xlXCkpZihzZWNvbmRzLik0MCBiKFRoZSkyOSBiKGRlZmF1bHQpZyh2KS01Cis0NjM1IHkoaW4pZihcKHdob2xlXCkpZihzZWNvbmRzLik0MCBiKFRoZSkyOSBiKGRlZmF1bHQpZyh2KS01CiBiKGFsdWUpMjggYihpcyloKDMwMCllKHNlY29uZHMuKTQwIGIoU2VlKTI5IGIodGhlKWcoT3ApcihlblNTTClnKG1hbiluCi0odWFsKWYoZm9yKWcobW9yZSlnKGluZm9ybWF0aW9uKTIwOCA0NjM1IHkoXChlLmcuKTM2Ci1iKFNTTF9DVFhfc2V0X3RpbWVvdXRcKDNcKVwpLikwIDQ3ODIgeSBGbShzZXRfdmVyaWZ5XCgpcAotRmQobW8pbChkZSwpMjYgYihjKWwoYWwpdChsYilsKGFjayk5IGIgRm0oXCkpMjA4IDQ4ODIKKyh1YWwpZihmb3IpZyhtb3JlKWcoaW5mb3JtYXRpb24pMjA4IDQ3MzUgeShcKGUuZy4pMzYKK2IoU1NMX0NUWF9zZXRfdGltZW91dFwoM1wpXCkuKTAgNDg4MiB5IEZtKHNldF92ZXJpZnlcKClwCitGZChtbylsKGRlLCkyNiBiKGMpbChhbCl0KGxiKWwoYWNrKTkgYiBGbShcKSkyMDggNDk4MQogeSBGcihTZXQpMzYgYih0aGUpaCh2KW4oZXJpXDAzNGNhdGlvbillKFwwMzVhZ3MpZyhmb3IpaCh0aGlzKWgoQ29uKW4KICh0ZXh0KWYob2IpNSBiKGplY3QpMzYgYih0bylnIEZkKG1vKWwoZGUpNDQgYiBGcihhbmQpMzYKIGIoc3ApcihlY2lmeSlnKHRoYXQpaCBGZChjKWwoYWwpdChsYilsKGFjayk0NyBiIEZyKHNob3VsZCkzNgotYihiKXIoZSloKHVzZWQpMjA4IDQ5ODEgeShmb3IpMzAgYih2KW4oZXJpXDAzNGNhdGlvbilnKGNhbGxiYWMpbihrcy4pNDUKK2IoYilyKGUpaCh1c2VkKTIwOCA1MDgxIHkoZm9yKTMwIGIodiluKGVyaVwwMzRjYXRpb24pZyhjYWxsYmFjKW4oa3MuKTQ1CiBiIEZkKG1vKWwoZGUpMzggYiBGcihzaG91bGQpMzEgYihiKXIoZSloKG9uZSllKG9mKTM4CiBiIEZtKFZFUklGWV9OT05FKTI2IGIgRnIoYW5kKTMxIGIgRm0oVkVSSUZZX1BFRVIpcCBGciguKWMoSWYpMzgKLWIgRm0oVkVSSUZZX1BFRVIpMjYgYiBGcihpcykyMDggNTA4MSB5KHVzZWQsKWogRmQobW8pbChkZSkzNgorYiBGbShWRVJJRllfUEVFUikyNiBiIEZyKGlzKTIwOCA1MTgwIHkodXNlZCwpaiBGZChtbylsKGRlKTM2CiBiIEZyKGNhbikyOSBiKGIpcihlKWcoT1I6ZWQpZyh3aXRoKWcgRm0oVkVSSUZZX0ZBSUxfSUZfTk8pbyhfUClvKEVFKW8KIChSX0MpbyhFUilvKFQpMjMgYiBGcihhbmQpMjkgYiBGbShWRVJJRllfQ0xJRU5UX08pbyhOQ0UpMjIKLWIgRnIodG8pMjkgYihmdXJ0aGVyKTIwOCA1MTgwIHkoY29uKW4odHJvbCkyMyBiKHRoZSlqKGIpcihlaGEpbih2aW91ci4pCitiIEZyKHRvKTI5IGIoZnVydGhlcikyMDggNTI4MCB5KGNvbiluKHRyb2wpMjMgYih0aGUpaihiKXIoZWhhKW4odmlvdXIuKQogMzQgYiBGZChjKWwoYWwpdChsYilsKGFjaylpIEZyKHNob3VsZCkyNSBiKHRhayluKGUpZihcMDM0diluKGUpaAogKGFyZ3VtZW4pbih0czopMzQgYihBKTI1IGIoQ29ubmVjdGlvbilnKG9iKTUgYihqZWN0LCkyNQotYihhbilnKFg1MDkpZihvYik1IGIoamVjdCwpMjUgYihhbmQpMjA4IDUyODAgeSh0aHJlZSllKGluKW4odGVnZXIpZyh2KQorYihhbilnKFg1MDkpZihvYik1IGIoamVjdCwpMjUgYihhbmQpMjA4IDUzODAgeSh0aHJlZSllKGluKW4odGVnZXIpZyh2KQogLTUgYihhcmlhYmxlcywpMjMgYih3aGljKW4oaCloKGFyZSlmKGluKWgodHVybilnKHApcihvdGVuKW4odGlhbClnCiAoZXJyb3IpZChuKW4odW0pbihiKXIoZXIsKWsoZXJyb3IpYyhkZXB0aClrKGFuZClmKHJldHVybilmKGNvKXIoZGUuKTM1Ci1iIEZkKGMpbChhbCl0KGxiKWwoYWNrKTIwOCA1MzgwIHkgRnIoc2hvdWxkKTI3IGIocmV0dXJuKWcodHJ1ZSlnKGlmKWgKLSh2KW4oZXJpXDAzNGNhdGlvbilmKHBhc3NlcylmKGFuZCloKGZhbHNlKWgob3RoZXJ3aXNlLilwCi0wIDU1NDkgMzkwMSA0IHYgMCA1NjQ5IGEgRmcoMy4zKTgyIGIgRm0oU1NMKTI2IGIgRmcoXDAyNilpKEFuKWcKLShpbnRlcmZhY2UpZyh0bylmKHRoZSlnKFNTTC1zcClyKGVjaVwwMzRjKWgocGEpbihydHMpZihvZiloKE9wKXIoZW5TU0wpCi0xNjExIGIoMTEpcCBlb3AgZW5kCitiIEZkKGMpbChhbCl0KGxiKWwoYWNrKXAgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhIEZnKDMuMyk4MgorYiBGbShTU0wpMjYgYiBGZyhcMDI2KWkoQW4pZyhpbnRlcmZhY2UpZyh0bylmKHRoZSlnKFNTTC1zcClyKGVjaVwwMzRjKWgKKyhwYSluKHJ0cylmKG9mKWgoT3ApcihlblNTTCkxNjExIGIoMTEpcCBlb3AgZW5kCiAlJVBhZ2U6IDEyIDEyCi1UZVhEaWN0IGJlZ2luIDEyIDExIGJvcCAwIDgzIGEgRm0oc2V0X3ZlcmlmeV9kZXB0aClvKFwoKXAKLUZkKGRlcHRoKTYgYiBGbShcKSkyMDggMTgzIHkgRnIoU2V0KTM2IGIodGhlKWcobWF4aW0pbih1bSlmKGRlcHRoKWgKLShmb3IpZyh0aGUpZyhjZXJ0aVwwMzRjYXRlKWYoYyluKGhhaW4pZyh2KW4oZXJpXDAzNGNhdGlvbilmKHRoYXQpaQotKHNoYWxsKWYoYilyKGUpaChhbGxvKW4odyluKGVkKWUoZm9yKWkodGhpcylmKENvbiluKHRleHQpMjA4Ci0yODIgeShvYik1IGIoamVjdC4pMCA0MjkgeSBGbSh1c2VfY2VydGlmaWNhdGVcKClvIEZkKGMpbChlcnQpagotRm0oXCkpMjA4IDUyOSB5IEZyKFVzZSkyNyBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZiBGZChjKWwoZXJ0KTM1Ci1iIEZyKHdoaWMpbihoKTI4IGIoaGFzKWYodG8pZyhiKXIoZSloKGEpZihYNTA5KWcob2IpNQotYihqZWN0LikwIDY3NiB5IEZtKGFkZF9leHRyYV9jaGFpbl8pbyhjZSlvKHJ0XCgpbyBGZChjKWwoZXJ0KWoKLUZtKFwpKTIwOCA3NzUgeSBGcihBKW4oZGRzKTMyIGIodGhlKWgoY2VydGlcMDM0Y2F0ZSlmCi1GZChjKWwoZXJ0KTggYiBGcigsKTM0IGIod2hpYyluKGgpZihoYXMpZih0bylnKGIpcihlKWkoYSllKFg1MDkpZihvYik1CitUZVhEaWN0IGJlZ2luIDEyIDExIGJvcCAyMDggODMgYSBGcihzaG91bGQpMjcgYihyZXR1cm4pZyh0cnVlKWcoaWYpaCh2KQorbihlcmlcMDM0Y2F0aW9uKWYocGFzc2VzKWYoYW5kKWgoZmFsc2UpaChvdGhlcndpc2UuKTAKKzIzMCB5IEZtKHNldF92ZXJpZnlfZGVwdGgpbyhcKClwIEZkKGRlcHRoKTYgYiBGbShcKSkyMDgKKzMzMCB5IEZyKFNldCkzNiBiKHRoZSlnKG1heGltKW4odW0pZihkZXB0aCloKGZvcilnKHRoZSlnKGNlcnRpXDAzNGNhdGUpCitmKGMpbihoYWluKWcodiluKGVyaVwwMzRjYXRpb24pZih0aGF0KWkoc2hhbGwpZihiKXIoZSloKGFsbG8pbih3KW4oZWQpZQorKGZvcilpKHRoaXMpZihDb24pbih0ZXh0KTIwOCA0MjkgeShvYik1IGIoamVjdC4pMCA1NzYKK3kgRm0odXNlX2NlcnRpZmljYXRlXCgpbyBGZChjKWwoZXJ0KWogRm0oXCkpMjA4IDY3NiB5CitGcihVc2UpMjcgYih0aGUpaChjZXJ0aVwwMzRjYXRlKWYgRmQoYylsKGVydCkzNSBiIEZyKHdoaWMpbihoKTI4CitiKGhhcylmKHRvKWcoYilyKGUpaChhKWYoWDUwOSlnKG9iKTUgYihqZWN0LikwIDgyMyB5CitGbShhZGRfZXh0cmFfY2hhaW5fKW8oY2UpbyhydFwoKW8gRmQoYylsKGVydClqIEZtKFwpKTIwOAorOTIyIHkgRnIoQSluKGRkcykzMiBiKHRoZSloKGNlcnRpXDAzNGNhdGUpZiBGZChjKWwoZXJ0KTgKK2IgRnIoLCkzNCBiKHdoaWMpbihoKWYoaGFzKWYodG8pZyhiKXIoZSlpKGEpZShYNTA5KWYob2IpNQogYihqZWN0LCkzNCBiKHRvKWYodGhlKWcoY2VydGlcMDM0Y2F0ZSlmKGMpbihoYWluKWcocHJlc2VuKW4odGVkKWcKLSh0b2dldGhlcikyMDggODc1IHkod2l0aCljKHRoZSlnKGNlcnRpXDAzNGNhdGUuKTAgMTAyMgorKHRvZ2V0aGVyKTIwOCAxMDIyIHkod2l0aCljKHRoZSlnKGNlcnRpXDAzNGNhdGUuKTAgMTE2OQogeSBGbSh1c2VfY2VydGlmaWNhdGVfKW8oY2gpbyhhaW4pbyhfZilvKGlsKW8oZVwoKXAgRmQoXDAzNClvKGxlKTYKLWIgRm0oXCkpMjA4IDExMjEgeSBGcihMb2FkKTI2IGIoYSloKGNlcnRpXDAzNGNhdGUpZyhjKW4oaGFpbilnKGZyb20paAorYiBGbShcKSkyMDggMTI2OCB5IEZyKExvYWQpMjYgYihhKWgoY2VydGlcMDM0Y2F0ZSlnKGMpbihoYWluKWcoZnJvbSloCiBGZChcMDM0bGUpMzQgYiBGcih3aGljKW4oaCkyNyBiKG0pbih1c3QpaChiKXIoZSlnKFBFTSlnKGVuY28pcihkZWQuKTAKLTEyNjggeSBGbSh1c2VfcHJpdmF0ZWtleVwoKXAgRmQocGtleSk3IGIgRm0oXCkpMjA4IDEzNjgKKzE0MTUgeSBGbSh1c2VfcHJpdmF0ZWtleVwoKXAgRmQocGtleSk3IGIgRm0oXCkpMjA4IDE1MTUKIHkgRnIoVXNlKTI3IGIodGhlKWgocHJpdiktNSBiKGF0ZSkyNyBiKGspbihleSloIEZkKHBrZXkpMzYKIGIgRnIod2hpYyluKGgpMjggYihoYXMpZih0bylnKGIpcihlKWgoYSlmKFBLZXkpaChvYik1Ci1iKGplY3QuKTAgMTUyOSB5IEZtKHVzZV9jZXJ0aWZpY2F0ZV8pbyhmaSlvKGxlXCgpbyBGZChcMDM0bGUpaAotRmMoWylwIEZkKCwpMjQgYihmb3JtYXQpZCBGYyhdKXAgRm0oXCkpMjA4IDE2MjkgeSBGcihMb2FkKWkodGhlKWgKK2IoamVjdC4pMCAxNjc2IHkgRm0odXNlX2NlcnRpZmljYXRlXylvKGZpKW8obGVcKClvIEZkKFwwMzRsZSloCitGYyhbKXAgRmQoLCkyNCBiKGZvcm1hdClkIEZjKF0pcCBGbShcKSkyMDggMTc3NiB5IEZyKExvYWQpaSh0aGUpaAogKFwwMzRyc3QpZyhjZXJ0aVwwMzRjYXRlKWYoZm91bmQpaChpbiloIEZkKFwwMzRsZSk2IGIKIEZyKC4pMzYgYihUaGUpMjQgYihjZXJ0aVwwMzRjYXRlKWYobSluKHVzdCloKGIpcihlKWgoaW4pZih0aGUpZyhmb3JtYXQpCiBnKHNwKXIoZWNpXDAzNGVkKWcoYiluKHkpaCBGZChmb3JtYXQpOCBiIEZyKCwpMjUgYih3aGljKW4oaCkyMDgKLTE3MjggeShpcylpKGVpdGhlcilnIEZtKEZJTEVUWVBFX1BFTSljIEZyKG9yKWsgRm0oRklMRVRZUEVfQVNOMSlwCisxODc1IHkoaXMpaShlaXRoZXIpZyBGbShGSUxFVFlQRV9QRU0pYyBGcihvcilrIEZtKEZJTEVUWVBFX0FTTjEpcAogRnIoLilrKFRoZSlkKGRlZmF1bHQpZyhpcylmIEZtKEZJTEVUWVBFX1BFTSlwIEZyKC4pMAotMTg3NSB5IEZtKHVzZV9wcml2YXRla2V5X2YpbyhpbClvKGVcKClwIEZkKFwwMzQpbyhsZSk2Ci1iIEZjKFspcCBGZCgsKTI1IGIoZm9ybWF0KTIwIGIgRmMoXSlwIEZtKFwpKTIwOCAxOTc1CisyMDIyIHkgRm0odXNlX3ByaXZhdGVrZXlfZilvKGlsKW8oZVwoKXAgRmQoXDAzNClvKGxlKTYKK2IgRmMoWylwIEZkKCwpMjUgYihmb3JtYXQpMjAgYiBGYyhdKXAgRm0oXCkpMjA4IDIxMjIKIHkgRnIoTG9hZCkzMSBiKHRoZSloKFwwMzRyc3QpZyhwcml2KS01IGIoYXRlKTMxIGIoayluKGV5KWcoZm91bmQpaShpbilmCiBGZChcMDM0bGUpNiBiIEZyKC4pNTAgYihUaGUpMzIgYihwcml2KS01IGIoYXRlKTMyIGIoayluKGV5KWYobSluKHVzdCloCiAoYilyKGUpZyhpbiloKHRoZSlmKGZvcm1hdClmKHNwKXIoZWNpXDAzNGVkKWkoYiluKHkpZgotRmQoZm9ybWF0KTggYiBGcigsKTIwOCAyMDc1IHkod2hpYyluKGgpMjcgYihpcylnKGVpdGhlciloCitGZChmb3JtYXQpOCBiIEZyKCwpMjA4IDIyMjEgeSh3aGljKW4oaCkyNyBiKGlzKWcoZWl0aGVyKWgKIEZtKEZJTEVUWVBFX1BFTSkyMiBiIEZyKG9yKTI3IGIgRm0oRklMRVRZUEVfQVNOMSlwIEZyKC4pMzIKLWIoVGhlKTI3IGIoZGVmYXVsdCloKGlzKWcgRm0oRklMRVRZUEVfUEVNKXAgRnIoLikwIDIzMzgKLXkgRmcoQ29ubmVjdGlvbillKG9iamVjdHMpMCAyNTM4IHkgRnIoQ29ubmVjdGlvbiloKG9iKTUKK2IoVGhlKTI3IGIoZGVmYXVsdCloKGlzKWcgRm0oRklMRVRZUEVfUEVNKXAgRnIoLikwIDI0ODQKK3kgRmcoQ29ubmVjdGlvbillKG9iamVjdHMpMCAyNjg1IHkgRnIoQ29ubmVjdGlvbiloKG9iKTUKIGIoamVjdHMpMjcgYihoYSluKHYpbihlKWYodGhlKWkoZm9sbG8pbih3aW5nKWYobWV0aG8pcihkczopMAotMjY4NSB5IEZtKGFjY2VwdFwoXCkpMjA4IDI3ODQgeSBGcihDYWxsKTMzIGIodGhlKWcgRm0oYWNjZXB0KWUKKzI4MzIgeSBGbShhY2NlcHRcKFwpKTIwOCAyOTMxIHkgRnIoQ2FsbCkzMyBiKHRoZSlnIEZtKGFjY2VwdCllCiBGcihtZXRobylyKGQpaihvZilmKHRoZSloKHVuZGVybHlpbmcpZihzbylyKGMpbihrKW4oZXQpZihhbmQpaChzZXQpaAogKHVwKWcoU1NMKWYob24pZyh0aGUpaChyZXR1cm5lZClmKHNvKXIoYyluKGspbihldCwpaCh1c2luZylmKHRoZSkyMDgKLTI4ODQgeShDb24pbih0ZXh0KTIyIGIob2IpNSBiKGplY3QpMjIgYihzdXBwbGllZCloKHRvKWYodGhpcyloCiszMDMxIHkoQ29uKW4odGV4dCkyMiBiKG9iKTUgYihqZWN0KTIyIGIoc3VwcGxpZWQpaCh0bylmKHRoaXMpaAogKENvbm5lY3Rpb24pZihvYik1IGIoamVjdCkyMiBiKGF0KWgoY3JlYXRpb24uKTM0IGIoUmV0dXJucykyMgogYihhKWcocGFpcilnIEZtKFwoKXAgRmQoYylsKG9ubik2IGIgRm0oLCk0MyBiIEZkKGFkZHIpbChlc3MpNwotYiBGbShcKSlwIEZyKC4pMzYgYih3aGVyZSkyMDggMjk4NCB5IEZkKGMpbChvbm4pZCBGcihpcykyOAorYiBGbShcKSlwIEZyKC4pMzYgYih3aGVyZSkyMDggMzEzMSB5IEZkKGMpbChvbm4pZCBGcihpcykyOAogYih0aGUpZyhuZXcpZihDb25uZWN0aW9uKWcob2IpNSBiKGplY3QpMjggYihjcmVhdGVkLCllKGFuZClpCiBGZChhZGRyKWwoZXNzKTM1IGIgRnIoaXMpMjggYihhcylmKHJldHVybmVkKWcoYiluKHkpZyh0aGUpaChzbylyKGMpbihrKQotbihldCdzKWUgRm0oYWNjZXB0KXAgRnIoLikwIDMxMzEgeSBGbShiaW5kXCgpcCBGZChhZGRyKWwoZXNzKTcKLWIgRm0oXCkpMjA4IDMyMzAgeSBGcihDYWxsKTI3IGIodGhlKWggRm0oYmluZCllIEZyKG1ldGhvKXIoZClpKG9mKWYKLSh0aGUpaCh1bmRlcmx5aW5nKWYoc28pcihjKW4oayluKGV0LikwIDMzNzcgeSBGbShjbG9zZVwoXCkpMjA4Ci0zNDc3IHkgRnIoQ2FsbClpKHRoZSloIEZtKGNsb3NlKWUgRnIobWV0aG8pcihkKWkob2YpZyh0aGUpZyh1bmRlcmx5aW5nKQorbihldCdzKWUgRm0oYWNjZXB0KXAgRnIoLikwIDMyNzcgeSBGbShiaW5kXCgpcCBGZChhZGRyKWwoZXNzKTcKK2IgRm0oXCkpMjA4IDMzNzcgeSBGcihDYWxsKTI3IGIodGhlKWggRm0oYmluZCllIEZyKG1ldGhvKXIoZClpKG9mKWYKKyh0aGUpaCh1bmRlcmx5aW5nKWYoc28pcihjKW4oayluKGV0LikwIDM1MjQgeSBGbShjbG9zZVwoXCkpMjA4CiszNjI0IHkgRnIoQ2FsbClpKHRoZSloIEZtKGNsb3NlKWUgRnIobWV0aG8pcihkKWkob2YpZyh0aGUpZyh1bmRlcmx5aW5nKQogZihzbylyKGMpbihrKW4oZXQuKTQzIGIoTm90ZTopZShJZikzMSBiKHkpbihvdSllKHcpbihhbiluKHQpZyhjb3JyZWN0KWYKLShTU0wpaShjbG9zdXJlLClmKHkpbihvdSlnKG5lZWQpaCh0bykyMDggMzU3NiB5KGNhbGwpZCh0aGUpaAotRm0oc2h1dGRvd24pYyBGcihtZXRobylyKGQpayhcMDM0cnN0LikwIDM3MjMgeSBGbShjb25uZWN0XCgpcAotRmQoYWRkcilsKGVzcyk3IGIgRm0oXCkpMjA4IDM4MjMgeSBGcihDYWxsKTMxIGIodGhlKWgKKyhTU0wpaShjbG9zdXJlLClmKHkpbihvdSlnKG5lZWQpaCh0bykyMDggMzcyMyB5KGNhbGwpZCh0aGUpaAorRm0oc2h1dGRvd24pYyBGcihtZXRobylyKGQpayhcMDM0cnN0LikwIDM4NzAgeSBGbShjb25uZWN0XCgpcAorRmQoYWRkcilsKGVzcyk3IGIgRm0oXCkpMjA4IDM5NzAgeSBGcihDYWxsKTMxIGIodGhlKWgKIEZtKGNvbm5lY3QpZSBGcihtZXRobylyKGQpaShvZilnKHRoZSlnKHVuZGVybHlpbmcpZyhzbylyKGMpbihrKW4oZXQpZQogKGFuZClpKHNldClnKHVwKWcoU1NMKWgob24pZSh0aGUpaShzbylyKGMpbihrKW4oZXQsKWYodXNpbmcpZih0aGUpaAotKENvbiluKHRleHQpMjA4IDM5MjIgeShvYik1IGIoamVjdCkyNyBiKHN1cHBsaWVkKWgodG8pZih0aGlzKWgKLShDb25uZWN0aW9uKWYob2IpNSBiKGplY3QpMjcgYihhdCloKGNyZWF0aW9uLikwIDQwNjkKLXkgRm0oY29ubmVjdF9leFwoKXAgRmQoYWRkcilsKGVzcyk3IGIgRm0oXCkpMjA4IDQxNjkKKyhDb24pbih0ZXh0KTIwOCA0MDY5IHkob2IpNSBiKGplY3QpMjcgYihzdXBwbGllZCloKHRvKWYodGhpcyloCisoQ29ubmVjdGlvbilmKG9iKTUgYihqZWN0KTI3IGIoYXQpaChjcmVhdGlvbi4pMCA0MjE2Cit5IEZtKGNvbm5lY3RfZXhcKClwIEZkKGFkZHIpbChlc3MpNyBiIEZtKFwpKTIwOCA0MzE2CiB5IEZyKENhbGwpMjQgYih0aGUpZyBGbShjb25uZWN0X2V4KWMgRnIobWV0aG8pcihkKTI1CiBiKG9mKWYodGhlKWgodW5kZXJseWluZylmKHNvKXIoYyluKGspbihldClmKGFuZCloKHNldClnKHVwKWgoU1NMKWYob24pZwogKHRoZSloKHNvKXIoYyluKGspbihldCwpZih1c2luZylnKHRoZSlnKENvbiluKHRleHQpMjA4Ci00MjY5IHkob2IpNSBiKGplY3QpMzUgYihzdXBwbGllZClnKHRvKWgodGhpcylmKENvbm5lY3Rpb24pZyhvYik1Cis0NDE1IHkob2IpNSBiKGplY3QpMzUgYihzdXBwbGllZClnKHRvKWgodGhpcylmKENvbm5lY3Rpb24pZyhvYik1CiBiKGplY3QpMzYgYihhdClmKGNyZWF0aW9uLik1OSBiKE5vdGUpMzYgYih0aGF0KWYoaWYpaCh0aGUpZwotRm0oY29ubmVjdF9leCkzMSBiIEZyKG1ldGhvKXIoZCkzNiBiKG9mKWcodGhlKTIwOCA0MzY4CitGbShjb25uZWN0X2V4KTMxIGIgRnIobWV0aG8pcihkKTM2IGIob2YpZyh0aGUpMjA4IDQ1MTUKIHkoc28pcihjKW4oayluKGV0KTI2IGIoZG8pcihlc24ndClpKHJldHVybilmKDAsKWcoU1NMKWgodyluKG9uJ3QpZihiKXIKLShlKWgoaW5pdGlhbGl6ZWQuKTAgNDUxNSB5IEZtKGRvX2hhbmRzaGFrZVwoXCkpMjA4IDQ2MTUKKyhlKWgoaW5pdGlhbGl6ZWQuKTAgNDY2MiB5IEZtKGRvX2hhbmRzaGFrZVwoXCkpMjA4IDQ3NjIKIHkgRnIoUCluKGVyZm9ybSk0OSBiKGFuKWgoU1NMKWcoaGFuZHNoYWspbihlKWYoXCh1c3VhbGx5KWgoY2FsbGVkKWcKIChhZnRlcilmIEZtKHJlbmVnb3RpYXRlKWQgRnIob3IpaihvbmUpaChvZik1NyBiIEZtKHNldF9hY2NlcHRfc3RhdClvKGUpCi00NCBiIEZyKG9yKTIwOCA0NzE0IHkgRm0oc2V0X2FjY2VwdF9zdGF0KW8oZSlwIEZyKFwpLikzMQorNDQgYiBGcihvcikyMDggNDg2MSB5IEZtKHNldF9hY2NlcHRfc3RhdClvKGUpcCBGcihcKS4pMzEKIGIoVGhpcylkKGNhbilmKHJhaXNlKWYodGhlKWkoc2FtZSlmKGV4Y2VwdGlvbnMpZyhhcylnCi1GbShzZW5kKWYgRnIoYW5kKWggRm0ocmVjdilwIEZyKC4pMCA0ODYxIHkgRm0oZmlsZW5vXChcKSkyMDgKLTQ5NjEgeSBGcihSZXRyaWV2KW4oZSlmKHRoZSlpKFwwMzRsZSlnKGRlc2NyaXB0b3IpZShuKW4odW0pbihiKXIoZXIpaQotKGZvcilmKHRoZSloKHVuZGVybHlpbmcpZShzbylyKGMpbihrKW4oZXQuKTAgNTEwOCB5IEZtKGxpc3RlblwoKXAKLUZkKGIpbChhY2tsbylsKGcpNyBiIEZtKFwpKTIwOCA1MjA3IHkgRnIoQ2FsbCkyNyBiKHRoZSloCi1GbShsaXN0ZW4pZCBGcihtZXRobylyKGQpaihvZilmKHRoZSloKHVuZGVybHlpbmcpZihzbylyKGMpbihrKW4oZXQuKTAKLTUzNTQgeSBGbShnZXRfYXBwX2RhdGFcKFwpKXAgMCA1NTQ5IDM5MDEgNCB2IDAgNTY0OSBhCi1GZygxMikyMTk3IGIoMyk4MyBiIEZtKE9wZW5TU0wpMjQgYiBGZyhcMDI2KWsoUHl0aG9uKWYoaW50ZXJmYWNlKWgodG8pZgotKE9wKXIoZW5TU0wpcCBlb3AgZW5kCitGbShzZW5kKWYgRnIoYW5kKWggRm0ocmVjdilwIEZyKC4pMCA1MDA4IHkgRm0oZmlsZW5vXChcKSkyMDgKKzUxMDggeSBGcihSZXRyaWV2KW4oZSlmKHRoZSlpKFwwMzRsZSlnKGRlc2NyaXB0b3IpZShuKW4odW0pbihiKXIoZXIpaQorKGZvcilmKHRoZSloKHVuZGVybHlpbmcpZShzbylyKGMpbihrKW4oZXQuKTAgNTI1NSB5IEZtKGxpc3RlblwoKXAKK0ZkKGIpbChhY2tsbylsKGcpNyBiIEZtKFwpKTIwOCA1MzU0IHkgRnIoQ2FsbCkyNyBiKHRoZSloCitGbShsaXN0ZW4pZCBGcihtZXRobylyKGQpaihvZilmKHRoZSloKHVuZGVybHlpbmcpZihzbylyKGMpbihrKW4oZXQuKXAKKzAgNTU0OSAzOTAxIDQgdiAwIDU2NDkgYSBGZygxMikyMTk3IGIoMyk4MyBiIEZtKE9wZW5TU0wpMjQKK2IgRmcoXDAyNilrKFB5dGhvbilmKGludGVyZmFjZSloKHRvKWYoT3ApcihlblNTTClwIGVvcAorZW5kCiAlJVBhZ2U6IDEzIDEzCi1UZVhEaWN0IGJlZ2luIDEzIDEyIGJvcCAyMDggODMgYSBGcihSZXRyaWV2KW4oZSkyNiBiKGFwcGxpY2F0aW9uKWgKLShkYXRhKWcoYXMpZyhzZXQpaChiKW4oeSlnIEZtKHNldF9hcHBfZGF0YSlwIEZyKC4pMCAyMzAKLXkgRm0oZ2V0X2NpcGhlcl9saXN0XCgpbyhcKSkyMDggMzMwIHkgRnIoUmV0cmlldiluKGUpMjMKLWIodGhlKWgobGlzdClnKG9mKWcoY2lwaGVycylnKHVzZWQpZyhiKW4oeSlmKHRoZSlpKENvbm5lY3Rpb24pZShvYik1Ci1iKGplY3QuKTM2IGIoVyktOSBiKEFSTklORzopMjUgYihUaGlzKWYoQVBJKWgoaGFzKWUoYyluKGhhbmdlZC4pMzUKLWIoSXQpMjQgYih1c2VkKTIwOCA0MjkgeSh0bylqKHRhayluKGUpZyhhbilnKG9wdGlvbmFsKWcocGFyYW1ldGVyKWYKLShhbmQpaChqdXN0KWgocmV0dXJuKWcoYSlmKHN0cmluZywpZyhidXQpaChub3QpZihpdCloKHJldHVybnMpZih0aGUpaAotKGVuKW4odGlyZSlmKGxpc3QpaChpbilnKG9uZSlmKGdvLikwIDU3NiB5IEZtKGdldF9jb250ZXh0XChcKSkyMDgKLTY3NiB5IEZyKFJldHJpZXYpbihlKWYodGhlKWkoQ29uKW4odGV4dClmKG9iKTUgYihqZWN0KTI4Ci1iKGFzc28pcihjaWF0ZWQpZSh3aXRoKWkodGhpcylnKENvbm5lY3Rpb24uKTAgODIzIHkgRm0KLShnZXRfcGVlcl9jZXJ0aWZpKW8oY2Epbyh0ZVwoKW8oXCkpMjA4IDkyMiB5IEZyKFJldHJpZXYpbihlKWUodGhlKWkKLShvdGhlcilmKHNpZGUncylnKGNlcnRpXDAzNGNhdGUpZyhcKGlmKWkoYW4pbih5XCkpMCAxMDY5Ci15IEZtKGdldHBlZXJuYW1lXChcKSkyMDggMTE2OSB5IEZyKENhbGwpZSh0aGUpaCBGbShnZXRwZWVybmFtZSkyMwotYiBGcihtZXRobylyKGQpMjggYihvZilmKHRoZSloKHVuZGVybHlpbmcpZihzbylyKGMpbihrKW4oZXQuKTAKLTEzMTYgeSBGbShnZXRzb2NrbmFtZVwoXCkpMjA4IDE0MTUgeSBGcihDYWxsKWcodGhlKWgKK1RlWERpY3QgYmVnaW4gMTMgMTIgYm9wIDAgODMgYSBGbShnZXRfYXBwX2RhdGFcKFwpKTIwOAorMTgzIHkgRnIoUmV0cmlldiluKGUpMjYgYihhcHBsaWNhdGlvbiloKGRhdGEpZyhhcylnKHNldCloKGIpbih5KWcKK0ZtKHNldF9hcHBfZGF0YSlwIEZyKC4pMCAzMzAgeSBGbShnZXRfY2lwaGVyX2xpc3RcKClvKFwpKTIwOAorNDI5IHkgRnIoUmV0cmlldiluKGUpMjMgYih0aGUpaChsaXN0KWcob2YpZyhjaXBoZXJzKWcodXNlZClnKGIpbih5KWYKKyh0aGUpaShDb25uZWN0aW9uKWUob2IpNSBiKGplY3QuKTM2IGIoVyktOSBiKEFSTklORzopMjUKK2IoVGhpcylmKEFQSSloKGhhcyllKGMpbihoYW5nZWQuKTM1IGIoSXQpMjQgYih1c2VkKTIwOAorNTI5IHkodG8paih0YWspbihlKWcoYW4pZyhvcHRpb25hbClnKHBhcmFtZXRlcilmKGFuZCloKGp1c3QpaChyZXR1cm4pZworKGEpZihzdHJpbmcsKWcoYnV0KWgobm90KWYoaXQpaChyZXR1cm5zKWYodGhlKWgoZW4pbih0aXJlKWYobGlzdCloKGluKWcKKyhvbmUpZihnby4pMCA2NzYgeSBGbShnZXRfY29udGV4dFwoXCkpMjA4IDc3NSB5IEZyKFJldHJpZXYpbihlKWYodGhlKWkKKyhDb24pbih0ZXh0KWYob2IpNSBiKGplY3QpMjggYihhc3NvKXIoY2lhdGVkKWUod2l0aClpKHRoaXMpZworKENvbm5lY3Rpb24uKTAgOTIyIHkgRm0oZ2V0X3BlZXJfY2VydGlmaSlvKGNhKW8odGVcKClvKFwpKTIwOAorMTAyMiB5IEZyKFJldHJpZXYpbihlKWUodGhlKWkob3RoZXIpZihzaWRlJ3MpZyhjZXJ0aVwwMzRjYXRlKWcoXChpZilpCisoYW4pbih5XCkpMCAxMTY5IHkgRm0oZ2V0cGVlcm5hbWVcKFwpKTIwOCAxMjY4IHkgRnIoQ2FsbCllKHRoZSloCitGbShnZXRwZWVybmFtZSkyMyBiIEZyKG1ldGhvKXIoZCkyOCBiKG9mKWYodGhlKWgodW5kZXJseWluZylmKHNvKXIoYyluCisoayluKGV0LikwIDE0MTUgeSBGbShnZXRzb2NrbmFtZVwoXCkpMjA4IDE1MTUgeSBGcihDYWxsKWcodGhlKWgKIEZtKGdldHNvY2tuYW1lKTIzIGIgRnIobWV0aG8pcihkKTI4IGIob2YpZih0aGUpaCh1bmRlcmx5aW5nKWYoc28pcihjKW4KLShrKW4oZXQuKTAgMTU3OSB5IEZtKGdldHNvY2tvcHRcKClwIEZkKGxldmVsLClmKG9wdG5hbWUpNgotYiBGYyhbKXAgRmQoLCkzMSBiKGJ1XDAzNWVuKTE4IGIgRmMoXSlwIEZtKFwpKTIwOCAxNjc4CisoayluKGV0LikwIDE2NzggeSBGbShnZXRzb2Nrb3B0XCgpcCBGZChsZXZlbCwpZihvcHRuYW1lKTYKK2IgRmMoWylwIEZkKCwpMzEgYihidVwwMzVlbikxOCBiIEZjKF0pcCBGbShcKSkyMDggMTc3OAogeSBGcihDYWxsKTI3IGIodGhlKWggRm0oZ2V0c29ja29wdCkyMyBiIEZyKG1ldGhvKXIoZCkyOAotYihvZilnKHRoZSlnKHVuZGVybHlpbmcpZihzbylyKGMpbihrKW4oZXQuKTAgMTgyNSB5IEZtKHBlbmRpbmdcKFwpKTIwOAotMTkyNSB5IEZyKFJldHJpZXYpbihlKTIyIGIodGhlKWgobiluKHVtKW4oYilyKGVyKWcob2YpZyhiKW4oeXRlcylnCitiKG9mKWcodGhlKWcodW5kZXJseWluZylmKHNvKXIoYyluKGspbihldC4pMCAxOTI1IHkgRm0ocGVuZGluZ1woXCkpMjA4CisyMDI0IHkgRnIoUmV0cmlldiluKGUpMjIgYih0aGUpaChuKW4odW0pbihiKXIoZXIpZyhvZilnKGIpbih5dGVzKWcKICh0aGF0KWgoY2FuKWUoYilyKGUpaShzYWZlbHkpZihyZWFkKWYoZnJvbSloKHRoZSlnKFNTTCloKGJ1XDAzM2VyKWYoXCgpCi1wIEZkKG5vdClnIEZyKHRoZSloKHVuZGVybHlpbmcpZSh0cmFuc3ApcihvcnQpMjA4IDIwMjQKLXkoYnVcMDMzZXJcKS4pMCAyMTcxIHkgRm0ocmVjdlwoKXAgRmQoYnVmc2l6ZSk2IGIgRm0oXCkpMjA4Ci0yMjcxIHkgRnIoUmVjZWl2KW4oZSkzMCBiKGRhdGEpaChmcm9tKWcodGhlKWgoQ29ubmVjdGlvbi4pNDcKK3AgRmQobm90KWcgRnIodGhlKWgodW5kZXJseWluZyllKHRyYW5zcClyKG9ydCkyMDggMjEyNAoreShidVwwMzNlclwpLikwIDIyNzEgeSBGbShyZWN2XCgpcCBGZChidWZzaXplKTYgYiBGbShcKSkyMDgKKzIzNzEgeSBGcihSZWNlaXYpbihlKTMwIGIoZGF0YSloKGZyb20pZyh0aGUpaChDb25uZWN0aW9uLik0NwogYihUaGUpMzEgYihyZXR1cm4pZyh2KS01IGIoYWx1ZSkzMSBiKGlzKWgoYSllKHN0cmluZyloKHJlcHJlc2VuKW4odGluZykKLWYodGhlKWgoZGF0YSlnKHJlY2VpdiluKGVkLik0NyBiKFRoZSkyMDggMjM3MSB5KG1heGltKW4odW0pMjcKK2YodGhlKWgoZGF0YSlnKHJlY2VpdiluKGVkLik0NyBiKFRoZSkyMDggMjQ3MCB5KG1heGltKW4odW0pMjcKIGIoYW1vdW4pbih0KWcob2YpZyhkYXRhKWgodG8pZihiKXIoZSloKHJlY2VpdiluKGVkKWUoYXQpaShvbmNlLClmKGlzKWcKLShzcClyKGVjaVwwMzRlZCloKGIpbih5KWggRmQoYnVmc2l6ZSk2IGIgRnIoLikwIDI1MTcKLXkgRm0ocmVuZWdvdGlhdGVcKFwpKTIwOCAyNjE3IHkgRnIoUmVuZWdvdGlhdGUpMjYgYih0aGUpaShTU0wpZworKHNwKXIoZWNpXDAzNGVkKWgoYiluKHkpaCBGZChidWZzaXplKTYgYiBGciguKTAgMjYxNworeSBGbShyZW5lZ290aWF0ZVwoXCkpMjA4IDI3MTcgeSBGcihSZW5lZ290aWF0ZSkyNiBiKHRoZSlpKFNTTClnCiAoc2Vzc2lvbi4pMzYgYihDYWxsKTI3IGIodGhpcyloKGlmKWcoeSluKG91KWYod2lzaClnKHRvKWgoYyluKGhhbmdlKWUKIChjaXBoZXIpaChzdWl0ZXMpaChvcillKGFuKW4oeXRoaW5nKWgobGlrKW4oZSlnKHRoYXQuKTAKLTI3NjQgeSBGbShzZW5kXCgpcCBGZChzdHJpbmcpNyBiIEZtKFwpKTIwOCAyODY0IHkgRnIoU2VuZCkyNworMjg2NCB5IEZtKHNlbmRcKClwIEZkKHN0cmluZyk3IGIgRm0oXCkpMjA4IDI5NjMgeSBGcihTZW5kKTI3CiBiKHRoZSloIEZkKHN0cmluZykzNSBiIEZyKGRhdGEpMjcgYih0byloKHRoZSlnKENvbm5lY3Rpb24uKTAKLTMwMTAgeSBGbShzZW5kYWxsXCgpcCBGZChzdHJpbmcpNyBiIEZtKFwpKTIwOCAzMTEwIHkKKzMxMTAgeSBGbShzZW5kYWxsXCgpcCBGZChzdHJpbmcpNyBiIEZtKFwpKTIwOCAzMjEwIHkKIEZyKFNlbmQpMzAgYihhbGwpZihvZiloKHRoZSlnIEZkKHN0cmluZykzNyBiIEZyKGRhdGEpMjkKIGIodG8pZyh0aGUpaChDb25uZWN0aW9uLik0MyBiKFRoaXMpMzAgYihjYWxscylmIEZtKHNlbmQpZgogRnIocmVwKXIoZWF0ZWRseSloKHVuKW4odGlsKWgoYWxsKWYoZGF0YSloKGlzKWYoc2VuKW4odC4pNDMKLWIoSWYpMzAgYihhbikyMDggMzIxMCB5KGVycm9yKTI1IGIobylyKGNjdXJzLClpKGl0J3MpaChpbXApcihvc3NpYmxlKWYKK2IoSWYpMzAgYihhbikyMDggMzMwOSB5KGVycm9yKTI1IGIobylyKGNjdXJzLClpKGl0J3MpaChpbXApcihvc3NpYmxlKWYKICh0bylnKHRlbGwpaChobyluKHcpZihtKW4odWMpbihoKWgoZGF0YSlmKGhhcylnKGIpcihlZW4paChzZW4pbih0LikwCi0zMzU3IHkgRm0oc2V0X2FjY2VwdF9zdGF0ZSlvKFwoXCkpMjA4IDM0NTYgeSBGcihTZXQpMjAKKzM0NTYgeSBGbShzZXRfYWNjZXB0X3N0YXRlKW8oXChcKSkyMDggMzU1NiB5IEZyKFNldCkyMAogYih0aGUpZyhjb25uZWN0aW9uKWYodG8paCh3KW4ob3JrKWUoaW4paShzZXJ2KW4oZXIpZShtbylyKGRlLikzNAogYihUaGUpMjAgYihoYW5kc2hhayluKGUpZih3aWxsKWgoYilyKGUpZyhoYW5kbGVkKWcoYXV0b21hdGljYWxseSllKGIpbgotKHkpaShyZWFkL3dyaXRlLikwIDM2MDMgeSBGbShzZXRfYXBwX2RhdGFcKClwIEZkKGRhdGEpNgotYiBGbShcKSkyMDggMzcwMyB5IEZyKEFzc28pcihjaWF0ZSkzOSBiIEZkKGRhdGEpNDcgYgorKHkpaShyZWFkL3dyaXRlLikwIDM3MDMgeSBGbShzZXRfYXBwX2RhdGFcKClwIEZkKGRhdGEpNgorYiBGbShcKSkyMDggMzgwMiB5IEZyKEFzc28pcihjaWF0ZSkzOSBiIEZkKGRhdGEpNDcgYgogRnIod2l0aCk0MCBiKHRoaXMpZyhDb25uZWN0aW9uKWcob2IpNSBiKGplY3QuKTczIGIgRmQoZGF0YSk0NwogYiBGcihjYW4pMzkgYihiKXIoZSlpKHJldHJpZXYpbihlZClkKGxhdGVyKWgodXNpbmcpaCh0aGUpZwotRm0oZ2V0X2FwcF9kYXRhKTIwOCAzODAyIHkgRnIobWV0aG8pcihkLikwIDM5NDkgeSBGbShzZXRfY29ubmVjdF9zdGF0KW8KLShlXCgpbyhcKSkyMDggNDA0OSB5IEZyKFNldCkyMSBiKHRoZSlnKGNvbm5lY3Rpb24pZyh0bylnKHcpbihvcmspZShpbilpCitGbShnZXRfYXBwX2RhdGEpMjA4IDM5MDIgeSBGcihtZXRobylyKGQuKTAgNDA0OSB5IEZtKHNldF9jb25uZWN0X3N0YXQpbworKGVcKClvKFwpKTIwOCA0MTQ4IHkgRnIoU2V0KTIxIGIodGhlKWcoY29ubmVjdGlvbilnKHRvKWcodyluKG9yayllKGluKWkKIChjbGllbiluKHQpZyhtbylyKGRlLikzNSBiKFRoZSkyMSBiKGhhbmRzaGFrKW4oZSlmKHdpbGwpaChiKXIoZSlnCi0oaGFuZGxlZClnKGF1dG9tYXRpY2FsbHkpZihiKW4oeSloKHJlYWQvd3JpdGUuKTAgNDE5NgoteSBGbShzZXRibG9ja2luZ1woKXAgRmQoXDAzNWFnKTcgYiBGbShcKSkyMDggNDI5NSB5IEZyKENhbGwpMjcKKyhoYW5kbGVkKWcoYXV0b21hdGljYWxseSlmKGIpbih5KWgocmVhZC93cml0ZS4pMCA0Mjk1Cit5IEZtKHNldGJsb2NraW5nXCgpcCBGZChcMDM1YWcpNyBiIEZtKFwpKTIwOCA0Mzk1IHkgRnIoQ2FsbCkyNwogYih0aGUpaCBGbShzZXRibG9ja2luZykyMyBiIEZyKG1ldGhvKXIoZCkyOCBiKG9mKWYodGhlKWgodW5kZXJseWluZylmCi0oc28pcihjKW4oayluKGV0LikwIDQ0NDIgeSBGbShzZXRzb2Nrb3B0XCgpcCBGZChsZXZlbCwpZihvcHRuYW1lLCkzMQotYih2YWx1ZSk2IGIgRm0oXCkpMjA4IDQ1NDIgeSBGcihDYWxsKTI3IGIodGhlKWggRm0oc2V0c29ja29wdCkyMworKHNvKXIoYyluKGspbihldC4pMCA0NTQyIHkgRm0oc2V0c29ja29wdFwoKXAgRmQobGV2ZWwsKWYob3B0bmFtZSwpMzEKK2IodmFsdWUpNiBiIEZtKFwpKTIwOCA0NjQxIHkgRnIoQ2FsbCkyNyBiKHRoZSloIEZtKHNldHNvY2tvcHQpMjMKIGIgRnIobWV0aG8pcihkKTI4IGIob2YpZyh0aGUpZyh1bmRlcmx5aW5nKWYoc28pcihjKW4oayluKGV0LikwCi00Njg5IHkgRm0oc2h1dGRvd25cKFwpKTIwOCA0Nzg4IHkgRnIoU2VuZCkzNSBiKHRoZSloKHNoKW4odXRkbyluKHduKWYKKzQ3ODggeSBGbShzaHV0ZG93blwoXCkpMjA4IDQ4ODggeSBGcihTZW5kKTM1IGIodGhlKWgoc2gpbih1dGRvKW4od24pZgogKG1lc3NhZ2UpZih0byloKHRoZSloKENvbm5lY3Rpb24uKTYwIGIoUmV0dXJucykzNSBiKHRydWUpZyhpZiloKHRoZSlnCi0oc2gpbih1dGRvKW4od24pZShtZXNzYWdlKWcoZXhjKW4oaGFuZ2UpZyhpcykyMDggNDg4OAorKHNoKW4odXRkbyluKHduKWUobWVzc2FnZSlnKGV4YyluKGhhbmdlKWcoaXMpMjA4IDQ5ODgKIHkoY29tcGxldGVkKTI1IGIoYW5kKWcoZmFsc2UpaChvdGhlcndpc2UpZShcKGluKWkod2hpYyluKGgpZyhjYXNlKWUoeSluCiAob3UpaChjYWxsKWcgRm0ocmVjdlwoXCkpZSBGcihvcilpIEZtKHNlbmRcKFwpKWUgRnIod2hlbilqKHRoZSlnCi0oY29ubmVjdGlvbilmKGIpcihlY29tZXMpMjA4IDQ5ODggeShyZWFkYWJsZS93cml0ZWFibGUuKTAKLTUxMzQgeSBGbShnZXRfc2h1dGRvd25cKFwpKTIwOCA1MjM0IHkgRnIoR2V0KTcwIGIodGhlKWcoc2gpbih1dGRvKW4od24pCisoY29ubmVjdGlvbilmKGIpcihlY29tZXMpMjA4IDUwODcgeShyZWFkYWJsZS93cml0ZWFibGUuKTAKKzUyMzQgeSBGbShnZXRfc2h1dGRvd25cKFwpKTIwOCA1MzM0IHkgRnIoR2V0KTcwIGIodGhlKWcoc2gpbih1dGRvKW4od24pCiBmKHN0YXRlKWcob2YpaCh0aGUpZyhDb25uZWN0aW9uLikxNjIgYihSZXR1cm5zKTY5IGIoYSloKGJpdHYpbihlY3RvcillCi0ob2YpaShlaXRoZXIpZihvcilnKGIpcihvdGgpaChvZikyMDggNTMzNCB5IEZkKFNFTlRfU0hVVERPKW4oV04pMzkKLWIgRnIoYW5kKTI3IGIgRmQoUkVDRUlWRURfU0hVVERPKW4oV04pMTQgYiBGciguKXAgMCA1NTQ5Ci0zOTAxIDQgdiAwIDU2NDkgYSBGZygzLjMpODIgYiBGbShTU0wpMjYgYiBGZyhcMDI2KWkoQW4pZyhpbnRlcmZhY2UpZwotKHRvKWYodGhlKWcoU1NMLXNwKXIoZWNpXDAzNGMpaChwYSluKHJ0cylmKG9mKWgoT3ApcihlblNTTCkxNjExCisob2YpaShlaXRoZXIpZihvcilnKGIpcihvdGgpaChvZilwIDAgNTU0OSAzOTAxIDQgdiAwCis1NjQ5IGEgRmcoMy4zKTgyIGIgRm0oU1NMKTI2IGIgRmcoXDAyNilpKEFuKWcoaW50ZXJmYWNlKWcodG8pZih0aGUpZworKFNTTC1zcClyKGVjaVwwMzRjKWgocGEpbihydHMpZihvZiloKE9wKXIoZW5TU0wpMTYxMQogYigxMylwIGVvcCBlbmQKICUlUGFnZTogMTQgMTQKLVRlWERpY3QgYmVnaW4gMTQgMTMgYm9wIDAgODMgYSBGbShzZXRfc2h1dGRvd25cKClwIEZkKHN0YXRlKTYKLWIgRm0oXCkpMjA4IDE4MyB5IEZyKFNldCkyMSBiKHRoZSlnKHNoKW4odXRkbyluKHduKWcoc3RhdGUpZyhvZilnKHRoZSlnCi0oQ29ubmVjdGlvbi4pMzQgYiBGZChzdGF0ZSkyNyBiIEZyKGlzKTIxIGIoYSlnKGJpdHYpbihlY3RvcilmKG9mKWgKLShlaXRoZXIpZyhvcilmKGIpcihvdGgpaShvZikyNyBiIEZkKFNFTlRfU0hVVERPKW4oV04pMjA4Ci0yODIgeSBGcihhbmQpZyBGZChSRUNFSVZFRF9TSFVURE8pbihXTikxNCBiIEZyKC4pMCA0MjkKLXkgRm0oc29ja19zaHV0ZG93blwoKXAgRmQoaG93KTkgYiBGbShcKSkyMDggNTI5IHkgRnIoQ2FsbCkyNwotYih0aGUpaCBGbShzaHV0ZG93biljIEZyKG1ldGhvKXIoZClrKG9mKWcodGhlKWcodW5kZXJseWluZyllKHNvKXIoYyluCi0oayluKGV0LikwIDY3NiB5IEZtKHN0YXRlX3N0cmluZ1woXCkpMjA4IDc3NSB5IEZyKFJldHJpZXYpbihlKWcoYSlpKHYpbgotKGVyYilyKG9zZSllKHN0cmluZylnKGRldGFpbGluZylpKHRoZSlnKHN0YXRlKWYob2YpaCh0aGUpZihDb25uZWN0aW9uLikKLTAgOTIyIHkgRm0od2FudF9yZWFkXChcKSkyMDggMTAyMiB5IEZyKENoZWMpbihrcylmKGlmKWkobW9yZSlmKGRhdGEpZworVGVYRGljdCBiZWdpbiAxNCAxMyBib3AgMjA4IDgzIGEgRmQoU0VOVF9TSFVURE8pbihXTikzOQorYiBGcihhbmQpMjcgYiBGZChSRUNFSVZFRF9TSFVURE8pbihXTikxNCBiIEZyKC4pMCAyMzAKK3kgRm0oc2V0X3NodXRkb3duXCgpcCBGZChzdGF0ZSk2IGIgRm0oXCkpMjA4IDMzMCB5IEZyKFNldCkyMQorYih0aGUpZyhzaCluKHV0ZG8pbih3bilnKHN0YXRlKWcob2YpZyh0aGUpZyhDb25uZWN0aW9uLikzNAorYiBGZChzdGF0ZSkyNyBiIEZyKGlzKTIxIGIoYSlnKGJpdHYpbihlY3RvcilmKG9mKWgoZWl0aGVyKWcob3IpZihiKXIKKyhvdGgpaShvZikyNyBiIEZkKFNFTlRfU0hVVERPKW4oV04pMjA4IDQyOSB5IEZyKGFuZClnCitGZChSRUNFSVZFRF9TSFVURE8pbihXTikxNCBiIEZyKC4pMCA1NzYgeSBGbShzb2NrX3NodXRkb3duXCgpcAorRmQoaG93KTkgYiBGbShcKSkyMDggNjc2IHkgRnIoQ2FsbCkyNyBiKHRoZSloIEZtKHNodXRkb3duKWMKK0ZyKG1ldGhvKXIoZClrKG9mKWcodGhlKWcodW5kZXJseWluZyllKHNvKXIoYyluKGspbihldC4pMAorODIzIHkgRm0oc3RhdGVfc3RyaW5nXChcKSkyMDggOTIyIHkgRnIoUmV0cmlldiluKGUpZyhhKWkodiluKGVyYilyKG9zZSkKK2Uoc3RyaW5nKWcoZGV0YWlsaW5nKWkodGhlKWcoc3RhdGUpZihvZiloKHRoZSlmKENvbm5lY3Rpb24uKTAKKzEwNjkgeSBGbSh3YW50X3JlYWRcKFwpKTIwOCAxMTY5IHkgRnIoQ2hlYyluKGtzKWYoaWYpaShtb3JlKWYoZGF0YSlnCiAoaGFzKWcodG8paChiKXIoZSlnKHJlYWQpZShmcm9tKWkodGhlKWYodHJhbnNwKXIob3J0KWcobGEpbih5KW4oZXIpZgotKHRvKWgoY29tcGxldGUpaChhbilmKG9wKXIoZXJhdGlvbi4pMCAxMTY5IHkgRm0od2FudF93cml0ZVwoXCkpMjA4Ci0xMjY4IHkgRnIoQ2hlYyluKGtzKWYoaWYpaSh0aGVyZSlnKGlzKWYoZGF0YSlnKHRvKWgod3JpdGUpZih0bylnKHRoZSloCisodG8paChjb21wbGV0ZSloKGFuKWYob3ApcihlcmF0aW9uLikwIDEzMTYgeSBGbSh3YW50X3dyaXRlXChcKSkyMDgKKzE0MTUgeSBGcihDaGVjKW4oa3MpZihpZilpKHRoZXJlKWcoaXMpZihkYXRhKWcodG8paCh3cml0ZSlmKHRvKWcodGhlKWgKICh0cmFuc3ApcihvcnQpZihsYSluKHkpbihlcilmKHRvKWgoY29tcGxldGUpaChhbilmKG9wKXIoZXJhdGlvbi4pMAotMTU5MCB5IEZzKDQpMTE0IGIoSW50ZXJuYWxzKTAgMTgxOSB5IEZyKFcpLTcgYihlKTI1IGIocmFuKWcoaW4pbih0bylmCisxNzM2IHkgRnMoNCkxMTQgYihJbnRlcm5hbHMpMCAxOTY1IHkgRnIoVyktNyBiKGUpMjUgYihyYW4pZyhpbiluKHRvKWYKICh0aHJlZSloKG1haW4pZyhwcm9ibGVtcylmKGRldiluKGVsb3BpbmcpZyh0aGlzOikzNiBiKEV4Y2VwdGlvbnMsKTI1CiBiKGNhbGxiYWMpbihrcylmKGFuZCloKGFjY2Vzc2luZyllKHNvKXIoYyluKGspbihldCloKG1ldGhvKXIoZHMuKTM2Ci1iKFRoaXMpMCAxOTE5IHkoaXMpMjcgYih3aGF0KWgodGhpcylnKGMpbihoYXB0ZXIpZShpcylpKGFiKXIob3V0LikwCi0yMTk4IHkgRmsoNC4xKTk3IGIoRXhjZXB0aW9ucykwIDIzOTkgeSBGcihXKS03IGIoZSk1MgorYihUaGlzKTAgMjA2NCB5KGlzKTI3IGIod2hhdCloKHRoaXMpZyhjKW4oaGFwdGVyKWUoaXMpaShhYilyKG91dC4pMAorMjM0MyB5IEZrKDQuMSk5NyBiKEV4Y2VwdGlvbnMpMCAyNTQzIHkgRnIoVyktNyBiKGUpNTIKIGIocmVhbGl6ZWQpZihlYXJseSlnKHRoYXQpaChtb3N0KWcob2YpZyh0aGUpZyhleGNlcHRpb25zKWYodyluKG91bGQpaAogKGIpcihlKWcocmFpc2VkKWYoYiluKHkpaCh0aGUpZyhJL08pZihmdW5jdGlvbnMpaChvZilnKE9wKXIoZW5TU0wsKTAKLTI0OTggeShzbylkKGl0KWkoZmVsdClmKG5hdHVyYWwpZih0byloKG1pbWljKWcoT3ApcihlblNTTCdzKWcoZXJyb3IpZQorMjY0MyB5KHNvKWQoaXQpaShmZWx0KWYobmF0dXJhbClmKHRvKWgobWltaWMpZyhPcClyKGVuU1NMJ3MpZyhlcnJvcillCiAoY28pcihkZSlpKHN5c3RlbSwpNTUgYih0cmFuc2xhdGluZyk0OCBiKHRoZW0paihpbiluKHRvKWUoUHl0aG9uKWkKLShleGNlcHRpb25zLikwIDI1OTggeShUaGlzKTMwIGIobmF0dXJhbGx5KWUoZ2l2KW4oZXMpaCh1cyloKHRoZSlnCisoZXhjZXB0aW9ucy4pMCAyNzQzIHkoVGhpcykzMCBiKG5hdHVyYWxseSllKGdpdiluKGVzKWgodXMpaCh0aGUpZwogKGV4Y2VwdGlvbnMpZiBGbShTU0wuWmVyb1JldHVybkVyKW8ocm8pbyhyKXAgRnIoLCkyNAogYiBGbShTU0wuV2FudFJlYWRFcnJvcilvIEZyKCwpaCBGbShTU0wuV2FudFdyaXRlRXIpbyhybylvKHIpcAotRnIoLCkwIDI2OTggeSBGbShTU0wuV2FudFg1MDlMb29rKW8odXApbyhFcnIpbyhvciljIEZyKGFuZCkyNwotYiBGbShTU0wuU3lzQ2FsbEVycm9yKXAgRnIoLikwIDI4NDUgeShGKS03IGIob3IpMjcgYihtb3JlKWcKK0ZyKCwpMCAyODQyIHkgRm0oU1NMLldhbnRYNTA5TG9vaylvKHVwKW8oRXJyKW8ob3IpYyBGcihhbmQpMjcKK2IgRm0oU1NMLlN5c0NhbGxFcnJvcilwIEZyKC4pMCAyOTg5IHkoRiktNyBiKG9yKTI3IGIobW9yZSlnCiAoaW5mb3JtYXRpb24pZyhhYilyKG91dClnKHRoaXMsKWgoc2VlKWYoc2VjdGlvbilnKDMuMy4pMAotMzEyNCB5IEZrKDQuMik5NyBiKENhbGxiYWNrcykwIDMzMjUgeSBGcihUaGVyZSkzNCBiKGFyZSlmKGEpaChuKW4odW0pbgorMzI2OCB5IEZrKDQuMik5NyBiKENhbGxiYWNrcykwIDM0NjggeSBGcihUaGVyZSkzNCBiKGFyZSlmKGEpaChuKW4odW0pbgogKGIpcihlcilnKG9mKWgocHJvYmxlbXMpZSh3aXRoKWkoY2FsbGJhYyluKGtzLik1NiBiKEZpcnN0KTM0CiBiKG9mKWcoYWxsLClpKE9wKXIoZW5TU0wpZihpcylmKHdyaXR0ZW4paChhcyllKGEpaChDKWgobGlicmFyeSktNwotYigsKTM0IGIoaXQncyloKG5vdCkwIDM0MjQgeShtZWFuKW4odCkyNiBiKHRvKWcoaGEpbih2KW4oZSllKFB5dGhvbilqCitiKCwpMzQgYihpdCdzKWgobm90KTAgMzU2OCB5KG1lYW4pbih0KTI2IGIodG8pZyhoYSluKHYpbihlKWUoUHl0aG9uKWoKIChjYWxsYmFjKW4oa3MsKWQoc28paShhKWYodyluKGEpbih5KWcoYXJvdW5kKWcodGhhdCloKGlzKWcobmVlZGVkLikzNgogYihBbm90aGVyKTI2IGIocHJvYmxlbSlmKGlzKWgodGhyZWFkKWcoc3VwcClyKG9ydC4pMzYKLWIoQSkyNiBiKGxvdCkwIDM1MjQgeShvZiloKHRoZSlnKE9wKXIoZW5TU0wpZyhJL08pZShmdW5jdGlvbnMpaShjYW4pZworYihBKTI2IGIobG90KTAgMzY2NyB5KG9mKWgodGhlKWcoT3ApcihlblNTTClnKEkvTyllKGZ1bmN0aW9ucylpKGNhbilnCiAoYmxvKXIoYyluKGspZihpZiloKHRoZSlnKHNvKXIoYyluKGspbihldClmKGlzKWcoaW4paChibG8pcihjKW4oa2luZylmCiAobW8pcihkZSwpaChhbmQpZyh0aGVuKWcoeSluKG91KWYodyluKGFuKW4odClnKG90aGVyKWcoUHl0aG9uKTAKLTM2MjQgeSh0aHJlYWRzKWModG8pZyhiKXIoZSloKGFibGUpZih0bylnKGRvKWcob3RoZXIpZyh0aGluZ3MuKTM1CiszNzY3IHkodGhyZWFkcyljKHRvKWcoYilyKGUpaChhYmxlKWYodG8pZyhkbylnKG90aGVyKWcodGhpbmdzLikzNQogYihUaGUpMjIgYihyZWFsKWcodHJvdWJsZSlnKGlzKWcoaWYpaCh5KW4ob3UndiluKGUpZShyZWxlYXNlZClnKHRoZSloCiAodGhyZWFkKWcobG8pcihjKW4oaylnKHRvKWcoZG8pZyhhKWcocClyKG90ZW4pbih0aWFsbHkpMAotMzcyMyB5KGJsbylyKGMpbihraW5nKTI3IGIob3ApcihlcmF0aW9uLClmKGFuZClpKHRoZSlnKG9wKXIoZXJhdGlvbillCiszODY3IHkoYmxvKXIoYyluKGtpbmcpMjcgYihvcClyKGVyYXRpb24sKWYoYW5kKWkodGhlKWcob3ApcihlcmF0aW9uKWUKIChjYWxscyloKGEpZyhjYWxsYmFjKW4oay4pMzUgYihUaGVuKTI4IGIodyluKGUpZihtKW4odXN0KWgodGFrKW4oZSlmCi0odGhlKWgodGhyZWFkKWYobG8pcihjKW4oaylnKGJhYyluKGspMzQ3NSAzNjkzIHkgRmwoNSkzNTExCi0zNzIzIHkgRnIoLikwIDM4NzAgeShUaGVyZSlkKGFyZSlmKHQpbih3KW4obylnKHNvbHV0aW9ucyloKHRvKWcodGhlKWgKKyh0aGUpaCh0aHJlYWQpZihsbylyKGMpbihrKWcoYmFjKW4oaykzNDc1IDM4MzcgeSBGbCg1KTM1MTEKKzM4NjcgeSBGciguKTAgNDAxNCB5KFRoZXJlKWQoYXJlKWYodCluKHcpbihvKWcoc29sdXRpb25zKWgodG8pZyh0aGUpaAogKFwwMzRyc3QpZihwcm9ibGVtLClnKGIpcihvdGgpaChvZilmKHdoaWMpbihoKWcoYXJlKWYobmVjZXNzYXJ5KS03CiBiKC4pMzQgYihUaGUpMjUgYihcMDM0cnN0KWYoc29sdXRpb24pZih0byloKHVzZSloKGlzKWYoaWYpZyh0aGUpaChDKTAKLTM5NzAgeShjYWxsYmFjKW4oaylpKGFsbG8pbih3cylmKFwwMjF1c2VyZGF0YVwwMjEpMzMKKzQxMTMgeShjYWxsYmFjKW4oaylpKGFsbG8pbih3cylmKFwwMjF1c2VyZGF0YVwwMjEpMzMKIGIodG8pMjggYihiKXIoZSloKHBhc3NlZCllKHRvKWgoaXQpZyhcKGFuKWcoYXJiaXRyYXJ5KWUocClyKG9pbiluKHRlcilpCiAobm9ybWFsbHlcKS4pMzcgYihUaGlzKTI4IGIoaXMpZyhncmVhdCEpMzcgYihXKS03IGIoZSkyOAotYihjYW4pZyhzZXQpZyhvdXIpMCA0MDY5IHkoUHl0aG9uKWkoZnVuY3Rpb24pZyhvYik1IGIoamVjdCkyOQorYihjYW4pZyhzZXQpZyhvdXIpMCA0MjEzIHkoUHl0aG9uKWkoZnVuY3Rpb24pZyhvYik1IGIoamVjdCkyOQogYihhcylmKHRoZSlpKHJlYWwpZih1c2VyZGF0YSlmKGFuZCloKGVtKW4odWxhdGUpZyh1c2VyZGF0YSlmKGZvciloKHRoZSkKIGgoUHl0aG9uKWYoZnVuY3Rpb24paChpbilnKGFub3RoZXIpZSh3KW4oYSluKHkpLTcgYiguKTAKLTQxNjkgeShUaGUpMjQgYihvdGhlcilnKHNvbHV0aW9uKWcoY2FuKWcoYilyKGUpaCh1c2VkKWcoaWYpZyhhbilmKG9iKTUKKzQzMTIgeShUaGUpMjQgYihvdGhlcilnKHNvbHV0aW9uKWcoY2FuKWcoYilyKGUpaCh1c2VkKWcoaWYpZyhhbilmKG9iKTUKIGIoamVjdCkyNCBiKHdpdGgpaChhbilmKFwwMjFhcHBfZGF0YVwwMjEpMjkgYihzeXN0ZW0pYyhhbHcpbihhKW4oeXMpZAogKGlzKWoocGFzc2VkKWUodG8paCh0aGUpaChjYWxsYmFjKW4oay4pMzUgYihGKS03IGIob3IpMAotNDI2OSB5KGV4YW1wbGUsKTI2IGIodGhlKWgoU1NMKWYob2IpNSBiKGplY3QpMjYgYihpbiloKE9wKXIoZW5TU0wpZgorNDQxMiB5KGV4YW1wbGUsKTI2IGIodGhlKWgoU1NMKWYob2IpNSBiKGplY3QpMjYgYihpbiloKE9wKXIoZW5TU0wpZgogKGhhcylnKGFwcF9kYXRhKWYoZnVuY3Rpb25zKWkoYW5kKWYoaW4paChlLmcuKTM2IGIodGhlKTI2CiBiKHYpbihlcmlcMDM0Y2F0aW9uKWYoY2FsbGJhYyluKGtzLClnKHkpbihvdSlnKGNhbikwCi00MzY4IHkocmV0cmlldiluKGUpaSh0aGUpaShyZWxhdGVkKWYoU1NMKWgob2IpNSBiKGplY3QuKTM5Cis0NTEyIHkocmV0cmlldiluKGUpaSh0aGUpaShyZWxhdGVkKWYoU1NMKWgob2IpNSBiKGplY3QuKTM5CiBiKFdoYXQpMjkgYih3KW4oZSlnKGRvKWYoaXMpZyh0byloKHNldClmKG91cilnKHdyYXBwKXIoZXIpZwogRm0oQ29ubmVjdGlvbiljIEZyKG9iKTUgYihqZWN0KTI4IGIoYXMpZyhhcHBfZGF0YSlnKGZvcilnKHRoZSkwCi00NDY4IHkoU1NMKWcob2IpNSBiKGplY3QsKTI3IGIoYW5kKWgodyluKGUpZihjYW4pZyhlYXNpbHkpZyhcMDM0bmQpaAotKHRoZSlnKFB5dGhvbilnKGNhbGxiYWMpbihrLikwIDQ2MTUgeShUaGUpNDIgYihvdGhlcilnKHByb2JsZW0pZyhpcylnCis0NjExIHkoU1NMKWcob2IpNSBiKGplY3QsKTI3IGIoYW5kKWgodyluKGUpZihjYW4pZyhlYXNpbHkpZyhcMDM0bmQpaAorKHRoZSlnKFB5dGhvbilnKGNhbGxiYWMpbihrLikwIDQ3NTggeShUaGUpNDIgYihvdGhlcilnKHByb2JsZW0pZyhpcylnCiAoYWxzbylmKHBhcnRpYWxseSloKHNvbHYpbihlZClmKGIpbih5KWgoYXBwX2RhdGEuKTgwCiBiKFNpbmNlKTQzIGIodyluKGUncmUpZShhc3NvKXIoY2lhdGluZylnKG91cilnKHdyYXBwKXIoZXIpaChvYik1Ci1iKGplY3RzKTAgNDcxNCB5KHdpdGgpNDQgYih0aGUpZihcMDIxcmVhbFwwMjEpNDkgYihvYik1CitiKGplY3RzKTAgNDg1OCB5KHdpdGgpNDQgYih0aGUpZihcMDIxcmVhbFwwMjEpNDkgYihvYik1CiBiKGplY3RzLCk0NiBiKHcpbihlKWQoY2FuKWcoZWFzaWx5KWYoYWNjZXNzKWcoZGF0YSlnKGZyb20paCh0aGUpaAogRm0oQ29ubmVjdGlvbikzOSBiIEZyKG9iKTUgYihqZWN0Lik4MyBiKFRoZSk0MyBiKHNvbHV0aW9uKWcodGhlbilnKGlzKTAKLTQ4MTQgeSh0bykzNSBiKHNpbXBseSloKGluY2x1ZGUpZyhhKWYgRm0oUHlUaHJlYWRTdGF0ZSljCis0OTU3IHkodG8pMzUgYihzaW1wbHkpaChpbmNsdWRlKWcoYSlmIEZtKFB5VGhyZWFkU3RhdGUpYwogRnIodiktNSBiKGFyaWFibGUpMzQgYihpbilpKHRoZSlnIEZtKENvbm5lY3Rpb24pMzEgYgogRnIoZGVjbGFyYXRpb24sKTM3IGIoYW5kKWUod3JpdGUpZyhtYWNyb3MpZihzaW1pbGFyKWgodG8pMAotNDkxNCB5IEZtKFB5X0JFR0lOX0FMTE9XX1QpbyhIUilvKEVBRClvKFMpMjYgYiBGcihhbmQpMzMKKzUwNTcgeSBGbShQeV9CRUdJTl9BTExPV19UKW8oSFIpbyhFQUQpbyhTKTI2IGIgRnIoYW5kKTMzCiBiIEZtKFB5X0VORF9BTExPV19USClvKFJFQSlvKERTKTI2IGIgRnIodGhhdCkzMyBiKGFsbG8pbih3cyllKHNwKXIKIChlY2lmeWluZyloKG9mKWgodGhlKWcgRm0oUHlUaHJlYWRTdGF0ZSkyNyBiIEZyKHYpLTUKLWIoYXJpLSkwIDUwMTMgeShhYmxlKTIzIGIodG8pZyh1c2UuKTM1IGIoTm8pbih3KTIzIGIodyluKGUpZyhjYW4pZworYihhcmktKTAgNTE1NyB5KGFibGUpMjMgYih0bylnKHVzZS4pMzUgYihObyluKHcpMjMgYih3KW4oZSlnKGNhbilnCiAoc2ltcGx5KWcoXDAyMWIpcihlZ2luKWcoYWxsbyluKHcpZih0aHJlYWRzXDAyMSkyOSBiKGIpcihlZm9yZSkyMwogYihhKWcocClyKG90ZW4pbih0aWFsbHkpZyhibG8pcihjKW4oa2luZylmKG9wKXIoZXJhdGlvbiwpaChhbmQpZwotKFwwMjFlbmQpZyhhbGxvKW4odykwIDUxMTMgeSh0aHJlYWRzXDAyMSkzMyBiKGIpcihlZm9yZSkyOAotYihjYWxsaW5nKWUoYSlpKGNhbGxiYWMpbihrLilwIDAgNTE4MiAxNTYwIDQgdiA5MiA1MjM2Ci1hIEZpKDUpMTI3IDUyNTkgeSBGaChJJ20pMjIgYihub3QpaihzdXJlKWYod2gpbih5KWcodGhpcylnKGlzKWYKKyhcMDIxZW5kKWcoYWxsbyluKHcpMCA1MjU2IHkodGhyZWFkc1wwMjEpMzMgYihiKXIoZWZvcmUpMjgKK2IoY2FsbGluZyllKGEpaShjYWxsYmFjKW4oay4pcCAwIDUzMjMgMTU2MCA0IHYgOTIgNTM3NworYSBGaSg1KTEyNyA1NDAwIHkgRmgoSSdtKTIyIGIobm90KWooc3VyZSlmKHdoKW4oeSlnKHRoaXMpZyhpcylmCiAobmVjZXNzYXJ5KS02IGIoLCkyNSBiKGJ1dClmKG90aGVyd2lzZSloKEkpZihnZXQpaChhKWUoc2VnbWVuKW4odGF0aW9uKQogaSh2aW9sYXRpb24pZihvbilnIEZhKFB5RXZhbF9DYWxsT2JqZWN0KXAgMCA1NTQ5IDM5MDEKIDQgdiAwIDU2NDkgYSBGZygxNCkzMzY4IGIoNCk4MyBiKEludGVybmFscylwIGVvcCBlbmQKZGlmZiAtLWdpdCBhL2RvYy9weU9wZW5TU0wudGV4IGIvZG9jL3B5T3BlblNTTC50ZXgKaW5kZXggZGM0N2U5Zi4uY2QzOTlhMSAxMDA2NDQKLS0tIGEvZG9jL3B5T3BlblNTTC50ZXgKKysrIGIvZG9jL3B5T3BlblNTTC50ZXgKQEAgLTIsNyArMiw3IEBACiAKIFx0aXRsZXtQeXRob24gT3BlblNTTCBNYW51YWx9CiAKLVxyZWxlYXNlezAuN2ExfQorXHJlbGVhc2V7MC43YTJ9CiAKIFxhdXRob3J7TWFydGluIFNq9mdyZW59CiBcYXV0aG9yYWRkcmVzc3tcZW1haWx7bWFydGluQHN0cmFrdC5jb219fQpkaWZmIC0tZ2l0IGEvZG9jL3B5T3BlblNTTC50eHQgYi9kb2MvcHlPcGVuU1NMLnR4dAppbmRleCAzZTVjOWMyLi5hNjY3NzRlIDEwMDY0NAotLS0gYS9kb2MvcHlPcGVuU1NMLnR4dAorKysgYi9kb2MvcHlPcGVuU1NMLnR4dApAQCAtMzQyLDYgKzM0Miw5IEBACiAgICAgICAgICAgUmV0dXJuIGFuIGludGVnZXIgZ2l2aW5nIHRoZSBmaXJzdCBmb3VyIGJ5dGVzIG9mIHRoZSBNRDUgZGlnZXN0CiAgICAgICAgICAgb2YgdGhlIERFUiByZXByZXNlbnRhdGlvbiBvZiB0aGUgbmFtZS4KIAorICAgZGVyKCkKKyAgICAgICAgICBSZXR1cm4gYSBzdHJpbmcgZ2l2aW5nIHRoZSBERVIgcmVwcmVzZW50YXRpb24gb2YgdGhlIG5hbWUuCisKICAgIFg1MDlOYW1lIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1lbWJlcnM6CiAKICAgIGNvdW50cnlOYW1lCkBAIC0xMDA4LDQgKzEwMTEsNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5dGhvbiBPcGVuU1NMIE1hbnVhbAogICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIAotICAgUmVsZWFzZSAwLjdhMS4KKyAgIFJlbGVhc2UgMC43YTIuCmRpZmYgLS1naXQgYS92ZXJzaW9uLnB5IGIvdmVyc2lvbi5weQppbmRleCAyZWI0ZmFlLi45ODE3NzYwIDEwMDY0NAotLS0gYS92ZXJzaW9uLnB5CisrKyBiL3ZlcnNpb24ucHkKQEAgLTUsNCArNSw0IEBACiBweU9wZW5TU0wgLSBBIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCB0aGUgT3BlblNTTCBsaWJyYXJ5CiAiIiIKIAotX192ZXJzaW9uX18gPSAnMC43YTEnCitfX3ZlcnNpb25fXyA9ICcwLjdhMicK