ZGlmZiAtLWdpdCBhL2RvYy9odG1sL2NhbGxiYWNrcy5odG1sIGIvZG9jL2h0bWwvY2FsbGJhY2tzLmh0bWwKaW5kZXggMjZkYmIxMC4uMjJmYTRlNiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvY2FsbGJhY2tzLmh0bWwKKysrIGIvZG9jL2h0bWwvY2FsbGJhY2tzLmh0bWwKQEAgLTU2LDcgKzU2LDcgQEAKIFB5dGhvbiB0aHJlYWRzIHRvIGJlIGFibGUgdG8gZG8gb3RoZXIgdGhpbmdzLiBUaGUgcmVhbCB0cm91YmxlIGlzIGlmIHlvdSd2ZQogcmVsZWFzZWQgdGhlIHRocmVhZCBsb2NrIHRvIGRvIGEgcG90ZW50aWFsbHkgYmxvY2tpbmcgb3BlcmF0aW9uLCBhbmQgdGhlCiBvcGVyYXRpb24gY2FsbHMgYSBjYWxsYmFjay4gVGhlbiB3ZSBtdXN0IHRha2UgdGhlIHRocmVhZCBsb2NrIGJhY2s8QSBOQU1FPSJ0ZXgyaHRtbDYiCi0gIEhSRUY9IiNmb290OTM0Ij48U1VQPjU8L1NVUD48L0E+LgorICBIUkVGPSIjZm9vdDk2MCI+PFNVUD41PC9TVVA+PC9BPi4KIAogPFA+CiBUaGVyZSBhcmUgdHdvIHNvbHV0aW9ucyB0byB0aGUgZmlyc3QgcHJvYmxlbSwgYm90aCBvZiB3aGljaCBhcmUgbmVjZXNzYXJ5LiBUaGUKQEAgLTg0LDcgKzg0LDcgQEAKIDxQPgogPEJSPjxIUj48SDQ+Rm9vdG5vdGVzPC9IND4KIDxETD4KLTxEVD48QSBOQU1FPSJmb290OTM0Ij4uLi4gYmFjazwvQT48QQorPERUPjxBIE5BTUU9ImZvb3Q5NjAiPi4uLiBiYWNrPC9BPjxBCiAgaHJlZj0iY2FsbGJhY2tzLmh0bWwjdGV4Mmh0bWw2Ij48U1VQPjU8L1NVUD48L0E+PC9EVD4KIDxERD5JJ20KIG5vdCBzdXJlIHdoeSB0aGlzIGlzIG5lY2Vzc2FyeSwgYnV0IG90aGVyd2lzZSBJIGdldCBhIHNlZ21lbnRhdGlvbiB2aW9sYXRpb24gb24KZGlmZiAtLWdpdCBhL2RvYy9odG1sL2ludHJvLmh0bWwgYi9kb2MvaHRtbC9pbnRyby5odG1sCmluZGV4IGU1N2Y2ZjIuLmMyMWE1MjIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2ludHJvLmh0bWwKKysrIGIvZG9jL2h0bWwvaW50cm8uaHRtbApAQCAtNjAsOSArNjAsOSBAQAogdW5mb3J0dW5hdGVseSBpdHMgZXJyb3IgaGFuZGxpbmcgc3lzdGVtIGRvZXMgbm90IHNlZW0gdG8gYmUgZmluaXNoZWQsCiBlc3BlY2lhbGx5IGZvciBub24tYmxvY2tpbmcgSS9PLiAgSSB0aGluayB0aGF0IG11Y2ggb2YgdGhlIHJlYXNvbiBmb3IgdGhpcwogaXMgdGhhdCBNMkNyeXB0bzxBIE5BTUU9InRleDJodG1sMSIKLSAgSFJFRj0iI2Zvb3Q4OTQiPjxTVVA+MTwvU1VQPjwvQT4gaXMKKyAgSFJFRj0iI2Zvb3Q5MjAiPjxTVVA+MTwvU1VQPjwvQT4gaXMKIGRldmVsb3BlZCB1c2luZyBTV0lHPEEgTkFNRT0idGV4Mmh0bWwyIgotICBIUkVGPSIjZm9vdDg5NSI+PFNVUD4yPC9TVVA+PC9BPi4gIFRoaXMKKyAgSFJFRj0iI2Zvb3Q5MjEiPjxTVVA+MjwvU1VQPjwvQT4uICBUaGlzCiBtYWtlcyBpdCBhd2t3YXJkIHRvIGNyZWF0ZSBmdW5jdGlvbnMgdGhhdCBlLmcuIGNhbiByZXR1cm4gYm90aCBhbiBpbnRlZ2VyIGFuZAogTlVMTCBzaW5jZSAoYXMgZmFyIGFzIEkga25vdykgeW91IGJhc2ljYWxseSB3cml0ZSBDIGZ1bmN0aW9ucyBhbmQgU1dJRyBtYWtlcwogd3JhcHBlciBmdW5jdGlvbnMgdGhhdCBwYXJzZXMgdGhlIFB5dGhvbiBhcmd1bWVudCBsaXN0IGFuZCBjYWxscyB5b3VyIEMKQEAgLTcxLDEyICs3MSwxMiBAQAogPFA+CiA8QlI+PEhSPjxIND5Gb290bm90ZXM8L0g0PgogPERMPgotPERUPjxBIE5BTUU9ImZvb3Q4OTQiPi4uLiBNMkNyeXB0bzwvQT48QQorPERUPjxBIE5BTUU9ImZvb3Q5MjAiPi4uLiBNMkNyeXB0bzwvQT48QQogIGhyZWY9ImludHJvLmh0bWwjdGV4Mmh0bWwxIj48U1VQPjE8L1NVUD48L0E+PC9EVD4KIDxERD5TZWUgPGEgY2xhc3M9InVybCIgaHJlZj0iaHR0cDovL3d3dy5wb3N0MS5jb20vaG9tZS9uZ3BzL20yLyI+aHR0cDovL3d3dy5wb3N0MS5jb20vaG9tZS9uZ3BzL20yLzwvYT4KIAogPC9ERD4KLTxEVD48QSBOQU1FPSJmb290ODk1Ij4uLi4gU1dJRzwvQT48QQorPERUPjxBIE5BTUU9ImZvb3Q5MjEiPi4uLiBTV0lHPC9BPjxBCiAgaHJlZj0iaW50cm8uaHRtbCN0ZXgyaHRtbDIiPjxTVVA+MjwvU1VQPjwvQT48L0RUPgogPEREPlNlZSA8YSBjbGFzcz0idXJsIiBocmVmPSJodHRwOi8vc3dpZy5zb3VyY2Vmb3JnZS5uZXQvIj5odHRwOi8vc3dpZy5zb3VyY2Vmb3JnZS5uZXQvPC9hPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLTUwOWV4dC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC01MDlleHQuaHRtbAppbmRleCBjZjgwMGJkLi5mYmVkNWMxIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLTUwOWV4dC5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtNTA5ZXh0Lmh0bWwKQEAgLTUyLDcgKzUyLDcgQEAKIFg1MDlFeHRlbnNpb24gb2JqZWN0cyBjdXJyZW50bHkgb25seSBoYXZlIG9uZSBtZXRob2Q6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzUnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY3JpdGljYWw8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NyaXRpY2FsPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gdGhlIGNyaXRpY2FsIGZpZWxkIG9mIHRoZSBleHRlbnNpb24gb2JqZWN0LgogPC9kbD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtY29ubmVjdGlvbi5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKaW5kZXggYzBmZjFjZi4uY2ZhMGY3NyAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1jb25uZWN0aW9uLmh0bWwKQEAgLTUxLDcgKzUxLDcgQEAKIENvbm5lY3Rpb24gb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzgnPjx0dCBjbGFzcz0nbWV0aG9kJz5hY2NlcHQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Mic+PHR0IGNsYXNzPSdtZXRob2QnPmFjY2VwdDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmFjY2VwdDwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQgYW5kIHNldCB1cCBTU0wgb24gdGhlCiByZXR1cm5lZCBzb2NrZXQsIHVzaW5nIHRoZSBDb250ZXh0IG9iamVjdCBzdXBwbGllZCB0byB0aGlzIENvbm5lY3Rpb24gb2JqZWN0IGF0CkBAIC02MSwyMCArNjEsMjAgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM5Jz48dHQgY2xhc3M9J21ldGhvZCc+YmluZDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQzJz48dHQgY2xhc3M9J21ldGhvZCc+YmluZDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmJpbmQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDAnPjx0dCBjbGFzcz0nbWV0aG9kJz5jbG9zZTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ0Jz48dHQgY2xhc3M9J21ldGhvZCc+Y2xvc2U8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5jbG9zZTwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuIE5vdGU6IElmIHlvdSB3YW50CiBjb3JyZWN0IFNTTCBjbG9zdXJlLCB5b3UgbmVlZCB0byBjYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+c2h1dGRvd248L3R0PiBtZXRob2QgZmlyc3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0MSc+PHR0IGNsYXNzPSdtZXRob2QnPmNvbm5lY3Q8L3R0PjwvYT48L2I+KDx2YXI+YWRkcmVzczwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0NSc+PHR0IGNsYXNzPSdtZXRob2QnPmNvbm5lY3Q8L3R0PjwvYT48L2I+KDx2YXI+YWRkcmVzczwvdmFyPikKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5jb25uZWN0PC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBhbmQgc2V0IHVwIFNTTCBvbiB0aGUKIHNvY2tldCwgdXNpbmcgdGhlIENvbnRleHQgb2JqZWN0IHN1cHBsaWVkIHRvIHRoaXMgQ29ubmVjdGlvbiBvYmplY3QgYXQKQEAgLTgyLDcgKzgyLDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQyJz48dHQgY2xhc3M9J21ldGhvZCc+Y29ubmVjdF9leDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ2Jz48dHQgY2xhc3M9J21ldGhvZCc+Y29ubmVjdF9leDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmNvbm5lY3RfZXg8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0IGFuZCBzZXQgdXAgU1NMIG9uCiB0aGUgc29ja2V0LCB1c2luZyB0aGUgQ29udGV4dCBvYmplY3Qgc3VwcGxpZWQgdG8gdGhpcyBDb25uZWN0aW9uIG9iamVjdCBhdApAQCAtOTEsNyArOTEsNyBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDMnPjx0dCBjbGFzcz0nbWV0aG9kJz5kb19oYW5kc2hha2U8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmRvX2hhbmRzaGFrZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUGVyZm9ybSBhbiBTU0wgaGFuZHNoYWtlICh1c3VhbGx5IGNhbGxlZCBhZnRlciA8dHQgY2xhc3M9Im1ldGhvZCI+cmVuZWdvdGlhdGU8L3R0PiBvciBvbmUgb2YKIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfYWNjZXB0X3N0YXRlPC90dD4gb3IgPHR0IGNsYXNzPSJtZXRob2QiPnNldF9hY2NlcHRfc3RhdGU8L3R0PikuIFRoaXMgY2FuIHJhaXNlIHRoZQpAQCAtOTksMjUgKzk5LDI1IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0NCc+PHR0IGNsYXNzPSdtZXRob2QnPmZpbGVubzwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ4Jz48dHQgY2xhc3M9J21ldGhvZCc+ZmlsZW5vPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgZmlsZSBkZXNjcmlwdG9yIG51bWJlciBmb3IgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDUnPjx0dCBjbGFzcz0nbWV0aG9kJz5saXN0ZW48L3R0PjwvYT48L2I+KDx2YXI+YmFja2xvZzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0OSc+PHR0IGNsYXNzPSdtZXRob2QnPmxpc3RlbjwvdHQ+PC9hPjwvYj4oPHZhcj5iYWNrbG9nPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmxpc3RlbjwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUwJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2FwcF9kYXRhPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBhcHBsaWNhdGlvbiBkYXRhIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X2FwcF9kYXRhPC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0Nyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jaXBoZXJfbGlzdDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUxJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBjaXBoZXJzIHVzZWQgYnkgdGhlIENvbm5lY3Rpb24gb2JqZWN0LiBXQVJOSU5HOiBUaGlzIEFQSQogaGFzIGNoYW5nZWQuIEl0IHVzZWQgdG8gdGFrZSBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgYW5kIGp1c3QgcmV0dXJuIGEgc3RyaW5nLApAQCAtMTI1LDQ0ICsxMjUsNDQgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ4Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NvbnRleHQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Mic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jb250ZXh0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgQ29udGV4dCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ29ubmVjdGlvbi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3BlZXJfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Myc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wZWVyX2NlcnRpZmljYXRlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgb3RoZXIgc2lkZSdzIGNlcnRpZmljYXRlIChpZiBhbnkpCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1MCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldHBlZXJuYW1lPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTQnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRwZWVybmFtZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldHBlZXJuYW1lPC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUxJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0c29ja25hbWU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1NSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldHNvY2tuYW1lPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+Z2V0c29ja25hbWU8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRzb2Nrb3B0PC90dD48L2E+PC9iPig8dmFyPmxldmVsLCBvcHRuYW1lPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGJ1ZmxlbjwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Nic+PHR0IGNsYXNzPSdtZXRob2QnPmdldHNvY2tvcHQ8L3R0PjwvYT48L2I+KDx2YXI+bGV2ZWwsIG9wdG5hbWU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgYnVmbGVuPC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldHNvY2tvcHQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTMnPjx0dCBjbGFzcz0nbWV0aG9kJz5wZW5kaW5nPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTcnPjx0dCBjbGFzcz0nbWV0aG9kJz5wZW5kaW5nPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgY2FuIGJlIHNhZmVseSByZWFkIGZyb20gdGhlIFNTTCBidWZmZXIKICg8aT5ub3Q8L2k+IHRoZSB1bmRlcmx5aW5nIHRyYW5zcG9ydCBidWZmZXIpLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTQnPjx0dCBjbGFzcz0nbWV0aG9kJz5yZWN2PC90dD48L2E+PC9iPig8dmFyPmJ1ZnNpemU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTgnPjx0dCBjbGFzcz0nbWV0aG9kJz5yZWN2PC90dD48L2E+PC9iPig8dmFyPmJ1ZnNpemU8L3Zhcj4pCiA8ZGQ+CiBSZWNlaXZlIGRhdGEgZnJvbSB0aGUgQ29ubmVjdGlvbi4gVGhlIHJldHVybiB2YWx1ZSBpcyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlCiBkYXRhIHJlY2VpdmVkLiBUaGUgbWF4aW11bSBhbW91bnQgb2YgZGF0YSB0byBiZSByZWNlaXZlZCBhdCBvbmNlLCBpcyBzcGVjaWZpZWQKQEAgLTE3MCwyMCArMTcwLDIwIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1NSc+PHR0IGNsYXNzPSdtZXRob2QnPnJlbmVnb3RpYXRlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTknPjx0dCBjbGFzcz0nbWV0aG9kJz5yZW5lZ290aWF0ZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmVuZWdvdGlhdGUgdGhlIFNTTCBzZXNzaW9uLiBDYWxsIHRoaXMgaWYgeW91IHdpc2ggdG8gY2hhbmdlIGNpcGhlciBzdWl0ZXMgb3IKIGFueXRoaW5nIGxpa2UgdGhhdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTU2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2VuZDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZW5kPC90dD48L2E+PC9iPig8dmFyPnN0cmluZzwvdmFyPikKIDxkZD4KIFNlbmQgdGhlIDx2YXI+c3RyaW5nPC92YXI+IGRhdGEgdG8gdGhlIENvbm5lY3Rpb24uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnNlbmRhbGw8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYxJz48dHQgY2xhc3M9J21ldGhvZCc+c2VuZGFsbDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCiA8ZGQ+CiBTZW5kIGFsbCBvZiB0aGUgPHZhcj5zdHJpbmc8L3Zhcj4gZGF0YSB0byB0aGUgQ29ubmVjdGlvbi4gVGhpcyBjYWxscyA8dHQgY2xhc3M9Im1ldGhvZCI+c2VuZDwvdHQ+CiByZXBlYXRlZGx5IHVudGlsIGFsbCBkYXRhIGlzIHNlbnQuIElmIGFuIGVycm9yIG9jY3VycywgaXQncyBpbXBvc3NpYmxlIHRvIHRlbGwKQEAgLTE5MSw0MCArMTkxLDQwIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1OCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hY2NlcHRfc3RhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Mic+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hY2NlcHRfc3RhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFNldCB0aGUgY29ubmVjdGlvbiB0byB3b3JrIGluIHNlcnZlciBtb2RlLiBUaGUgaGFuZHNoYWtlIHdpbGwgYmUgaGFuZGxlZAogYXV0b21hdGljYWxseSBieSByZWFkL3dyaXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTknPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KDx2YXI+ZGF0YTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRhPC92YXI+KQogPGRkPgogQXNzb2NpYXRlIDx2YXI+ZGF0YTwvdmFyPiB3aXRoIHRoaXMgQ29ubmVjdGlvbiBvYmplY3QuIDx2YXI+ZGF0YTwvdmFyPiBjYW4gYmUgcmV0cmlldmVkCiBsYXRlciB1c2luZyB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldF9hcHBfZGF0YTwvdHQ+IG1ldGhvZC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYwJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2Nvbm5lY3Rfc3RhdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2NCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9jb25uZWN0X3N0YXRlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBTZXQgdGhlIGNvbm5lY3Rpb24gdG8gd29yayBpbiBjbGllbnQgbW9kZS4gVGhlIGhhbmRzaGFrZSB3aWxsIGJlIGhhbmRsZWQKIGF1dG9tYXRpY2FsbHkgYnkgcmVhZC93cml0ZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYxJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0YmxvY2tpbmc8L3R0PjwvYT48L2I+KDx2YXI+ZmxhZzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldGJsb2NraW5nPC90dD48L2E+PC9iPig8dmFyPmZsYWc8L3Zhcj4pCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0YmxvY2tpbmc8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjInPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRzb2Nrb3B0PC90dD48L2E+PC9iPig8dmFyPmxldmVsLCBvcHRuYW1lLCB2YWx1ZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Nic+PHR0IGNsYXNzPSdtZXRob2QnPnNldHNvY2tvcHQ8L3R0PjwvYT48L2I+KDx2YXI+bGV2ZWwsIG9wdG5hbWUsIHZhbHVlPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNldHNvY2tvcHQ8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjMnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaHV0ZG93bjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY3Jz48dHQgY2xhc3M9J21ldGhvZCc+c2h1dGRvd248L3R0PjwvYT48L2I+KCkKIDxkZD4KIFNlbmQgdGhlIHNodXRkb3duIG1lc3NhZ2UgdG8gdGhlIENvbm5lY3Rpb24uIFJldHVybnMgdHJ1ZSBpZiB0aGUgc2h1dGRvd24KIG1lc3NhZ2UgZXhjaGFuZ2UgaXMgY29tcGxldGVkIGFuZCBmYWxzZSBvdGhlcndpc2UgKGluIHdoaWNoIGNhc2UgeW91IGNhbGwKQEAgLTIzMyw0MCArMjMzLDQwIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2NCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zaHV0ZG93bjwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY4Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3NodXRkb3duPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBHZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgUmV0dXJucyBhIGJpdHZlY3RvciBvZiBlaXRoZXIgb3IKIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+c3RhdGU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjknPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+c3RhdGU8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgPHZhcj5zdGF0ZTwvdmFyPiBpcyBhIGJpdHZlY3RvciBvZgogZWl0aGVyIG9yIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zb2NrX3NodXRkb3duPC90dD48L2E+PC9iPig8dmFyPmhvdzwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3MCc+PHR0IGNsYXNzPSdtZXRob2QnPnNvY2tfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+aG93PC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNodXRkb3duPC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY3Jz48dHQgY2xhc3M9J21ldGhvZCc+c3RhdGVfc3RyaW5nPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzEnPjx0dCBjbGFzcz0nbWV0aG9kJz5zdGF0ZV9zdHJpbmc8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIGEgdmVyYm9zZSBzdHJpbmcgZGV0YWlsaW5nIHRoZSBzdGF0ZSBvZiB0aGUgQ29ubmVjdGlvbi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY4Jz48dHQgY2xhc3M9J21ldGhvZCc+d2FudF9yZWFkPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNzInPjx0dCBjbGFzcz0nbWV0aG9kJz53YW50X3JlYWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiBtb3JlIGRhdGEgaGFzIHRvIGJlIHJlYWQgZnJvbSB0aGUgdHJhbnNwb3J0IGxheWVyIHRvIGNvbXBsZXRlIGFuCiBvcGVyYXRpb24uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2OSc+PHR0IGNsYXNzPSdtZXRob2QnPndhbnRfd3JpdGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE3Myc+PHR0IGNsYXNzPSdtZXRob2QnPndhbnRfd3JpdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiB0aGVyZSBpcyBkYXRhIHRvIHdyaXRlIHRvIHRoZSB0cmFuc3BvcnQgbGF5ZXIgdG8gY29tcGxldGUgYW4KIG9wZXJhdGlvbi4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtY29udGV4dC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKaW5kZXggYzJiOWI1Ni4uOTNjM2NlNiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKQEAgLTUyLDcgKzUyLDcgQEAKIENvbnRleHQgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTQnPjx0dCBjbGFzcz0nbWV0aG9kJz5jaGVja19wcml2YXRla2V5PC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTgnPjx0dCBjbGFzcz0nbWV0aG9kJz5jaGVja19wcml2YXRla2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBDaGVjayBpZiB0aGUgcHJpdmF0ZSBrZXkgKGxvYWRlZCB3aXRoIDx0dCBjbGFzcz0ibWV0aG9kIj51c2VfcHJpdmF0ZWtleTxiaWc+WzwvYmlnPl9maWxlPGJpZz5dPC9iaWc+PC90dD4pCiBtYXRjaGVzIHRoZSBjZXJ0aWZpY2F0ZSAobG9hZGVkIHdpdGggPHR0IGNsYXNzPSJtZXRob2QiPnVzZV9jZXJ0aWZpY2F0ZTxiaWc+WzwvYmlnPl9maWxlPGJpZz5dPC9iaWc+PC90dD4pLgpAQCAtNjAsMTMgKzYwLDEzIEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTE5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2FwcF9kYXRhPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBhcHBsaWNhdGlvbiBkYXRhIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X2FwcF9kYXRhPC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jZXJ0X3N0b3JlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY2VydF9zdG9yZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIGNlcnRpZmljYXRlIHN0b3JlIChhIFg1MDlTdG9yZSBvYmplY3QpIHRoYXQgdGhlIGNvbnRleHQgdXNlcy4KIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkICJ0cnVzdGVkIiBjZXJ0aWZpY2F0ZXMgd2l0aG91dCB1c2luZyB0aGUuCkBAIC03NCw2MSArNzQsNjEgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTE3Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3RpbWVvdXQ8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyMSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF90aW1lb3V0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSBzZXNzaW9uIHRpbWVvdXQsIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X3RpbWVvdXQ8L3R0Pi4gVGhlIGRlZmF1bHQgaXMgMzAwCiBzZWNvbmRzLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTgnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdmVyaWZ5X2RlcHRoPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdmVyaWZ5X2RlcHRoPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgQ29udGV4dCBvYmplY3QncyB2ZXJpZnkgZGVwdGgsIGFzIHNldCBieQogPHR0IGNsYXNzPSJtZXRob2QiPnNldF92ZXJpZnlfZGVwdGg8L3R0Pi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTE5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcmlmeV9tb2RlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjMnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdmVyaWZ5X21vZGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIHRoZSBDb250ZXh0IG9iamVjdCdzIHZlcmlmeSBtb2RlLCBhcyBzZXQgYnkgPHR0IGNsYXNzPSJtZXRob2QiPnNldF92ZXJpZnlfbW9kZTwvdHQ+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX2NsaWVudF9jYTwvdHQ+PC9hPjwvYj4oPHZhcj5wZW1maWxlPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI0Jz48dHQgY2xhc3M9J21ldGhvZCc+bG9hZF9jbGllbnRfY2E8L3R0PjwvYT48L2I+KDx2YXI+cGVtZmlsZTwvdmFyPikKIDxkZD4KIFJlYWQgYSBmaWxlIHdpdGggUEVNLWZvcm1hdHRlZCBjZXJ0aWZpY2F0ZXMgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGNsaWVudAogd2hlbiByZXF1ZXN0aW5nIGEgY2xpZW50IGNlcnRpZmljYXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjEnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX3ZlcmlmeV9sb2NhdGlvbnM8L3R0PjwvYT48L2I+KDx2YXI+cGVtZmlsZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyNSc+PHR0IGNsYXNzPSdtZXRob2QnPmxvYWRfdmVyaWZ5X2xvY2F0aW9uczwvdHQ+PC9hPjwvYj4oPHZhcj5wZW1maWxlPC92YXI+KQogPGRkPgogU3BlY2lmeSB3aGVyZSBDQSBjZXJ0aWZpY2F0ZXMgZm9yIHZlcmlmaWNhdGlvbiBwdXJwb3NlcyBhcmUgbG9jYXRlZC4gVGhlc2UgYXJlCiB0cnVzdGVkIGNlcnRpZmljYXRlcy4gTm90ZSB0aGF0IHRoZSBjZXJ0aWZpY2F0ZXMgaGF2ZSB0byBiZSBpbiBQRU0gZm9ybWF0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjInPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX3RtcF9kaDwvdHQ+PC9hPjwvYj4oPHZhcj5kaGZpbGU8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5sb2FkX3RtcF9kaDwvdHQ+PC9hPjwvYj4oPHZhcj5kaGZpbGU8L3Zhcj4pCiA8ZGQ+CiBMb2FkIHBhcmFtZXRlcnMgZm9yIEVwaGVtZXJhbCBEaWZmaWUtSGVsbG1hbiBmcm9tIDx2YXI+ZGhmaWxlPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjMnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KDx2YXI+ZGF0YTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyNyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRhPC92YXI+KQogPGRkPgogQXNzb2NpYXRlIDx2YXI+ZGF0YTwvdmFyPiB3aXRoIHRoaXMgQ29udGV4dCBvYmplY3QuIDx2YXI+ZGF0YTwvdmFyPiBjYW4gYmUgcmV0cmlldmVkCiBsYXRlciB1c2luZyB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldF9hcHBfZGF0YTwvdHQ+IG1ldGhvZC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPig8dmFyPmNpcGhlcnM8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjgnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfY2lwaGVyX2xpc3Q8L3R0PjwvYT48L2I+KDx2YXI+Y2lwaGVyczwvdmFyPikKIDxkZD4KIFNldCB0aGUgbGlzdCBvZiBjaXBoZXJzIHRvIGJlIHVzZWQgaW4gdGhpcyBjb250ZXh0LiBTZWUgdGhlIE9wZW5TU0wgbWFudWFsIGZvcgogbW9yZSBpbmZvcm1hdGlvbiAoZS5nLiBjaXBoZXJzKDEpKQogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfaW5mb19jYWxsYmFjazwvdHQ+PC9hPjwvYj4oPHZhcj5jYWxsYmFjazwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyOSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9pbmZvX2NhbGxiYWNrPC90dD48L2E+PC9iPig8dmFyPmNhbGxiYWNrPC92YXI+KQogPGRkPgogU2V0IHRoZSBpbmZvcm1hdGlvbiBjYWxsYmFjayB0byA8dmFyPmNhbGxiYWNrPC92YXI+LiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCiBmcm9tIHRpbWUgdG8gdGltZSBkdXJpbmcgU1NMIGhhbmRzaGFrZXMuCkBAIC0xMzksMTQgKzEzOSwxNCBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfb3B0aW9uczwvdHQ+PC9hPjwvYj4oPHZhcj5vcHRpb25zPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMwJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X29wdGlvbnM8L3R0PjwvYT48L2I+KDx2YXI+b3B0aW9uczwvdmFyPikKIDxkZD4KIEFkZCBTU0wgb3B0aW9ucy4gT3B0aW9ucyB5b3UgaGF2ZSBzZXQgYmVmb3JlIGFyZSBub3QgY2xlYXJlZCEKIFRoaXMgbWV0aG9kIHNob3VsZCBiZSB1c2VkIHdpdGggdGhlIDx0dCBjbGFzcz0iY29uc3RhbnQiPk9QXyo8L3R0PiBjb25zdGFudHMuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyNyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wYXNzd2RfY2I8L3R0PjwvYT48L2I+KDx2YXI+Y2FsbGJhY2s8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgdXNlcmRhdGE8L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzEnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcGFzc3dkX2NiPC90dD48L2E+PC9iPig8dmFyPmNhbGxiYWNrPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIHVzZXJkYXRhPC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogU2V0IHRoZSBwYXNzcGhyYXNlIGNhbGxiYWNrIHRvIDx2YXI+Y2FsbGJhY2s8L3Zhcj4uIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKIHdoZW4gYSBwcml2YXRlIGtleSB3aXRoIGEgcGFzc3BocmFzZSBpcyBsb2FkZWQuCkBAIC0xNjAsNyArMTYwLDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI4Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3Nlc3Npb25faWQ8L3R0PjwvYT48L2I+KDx2YXI+bmFtZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMic+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zZXNzaW9uX2lkPC90dD48L2E+PC9iPig8dmFyPm5hbWU8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIGNvbnRleHQgPHZhcj5uYW1lPC92YXI+IHdpdGhpbiB3aGljaCBhIHNlc3Npb24gY2FuIGJlIHJldXNlZCBmb3IgdGhpcwogQ29udGV4dCBvYmplY3QuIFRoaXMgaXMgbmVlZGVkIHdoZW4gZG9pbmcgc2Vzc2lvbiByZXN1bXB0aW9uLCBiZWNhdXNlIHRoZXJlIGlzCkBAIC0xNjksNyArMTY5LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI5Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3RpbWVvdXQ8L3R0PjwvYT48L2I+KDx2YXI+dGltZW91dDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF90aW1lb3V0PC90dD48L2E+PC9iPig8dmFyPnRpbWVvdXQ8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHRpbWVvdXQgZm9yIG5ld2x5IGNyZWF0ZWQgc2Vzc2lvbnMgZm9yIHRoaXMgQ29udGV4dCBvYmplY3QgdG8KIDx2YXI+dGltZW91dDwvdmFyPi4gPHZhcj50aW1lb3V0PC92YXI+IG11c3QgYmUgZ2l2ZW4gaW4gKHdob2xlKSBzZWNvbmRzLiBUaGUgZGVmYXVsdApAQCAtMTc4LDcgKzE3OCw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF92ZXJpZnk8L3R0PjwvYT48L2I+KDx2YXI+bW9kZSwgY2FsbGJhY2s8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzQnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfdmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPm1vZGUsIGNhbGxiYWNrPC92YXI+KQogPGRkPgogU2V0IHRoZSB2ZXJpZmljYXRpb24gZmxhZ3MgZm9yIHRoaXMgQ29udGV4dCBvYmplY3QgdG8gPHZhcj5tb2RlPC92YXI+IGFuZCBzcGVjaWZ5CiB0aGF0IDx2YXI+Y2FsbGJhY2s8L3Zhcj4gc2hvdWxkIGJlIHVzZWQgZm9yIHZlcmlmaWNhdGlvbiBjYWxsYmFja3MuIDx2YXI+bW9kZTwvdmFyPgpAQCAtMTkzLDM5ICsxOTMsMzkgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMxJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcmlmeV9kZXB0aDwvdHQ+PC9hPjwvYj4oPHZhcj5kZXB0aDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF92ZXJpZnlfZGVwdGg8L3R0PjwvYT48L2I+KDx2YXI+ZGVwdGg8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIG1heGltdW0gZGVwdGggZm9yIHRoZSBjZXJ0aWZpY2F0ZSBjaGFpbiB2ZXJpZmljYXRpb24gdGhhdCBzaGFsbCBiZQogYWxsb3dlZCBmb3IgdGhpcyBDb250ZXh0IG9iamVjdC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMyJz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlPC90dD48L2E+PC9iPig8dmFyPmNlcnQ8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzYnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIFVzZSB0aGUgY2VydGlmaWNhdGUgPHZhcj5jZXJ0PC92YXI+IHdoaWNoIGhhcyB0byBiZSBhIFg1MDkgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzMnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfZXh0cmFfY2hhaW5fY2VydDwvdHQ+PC9hPjwvYj4oPHZhcj5jZXJ0PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM3Jz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2V4dHJhX2NoYWluX2NlcnQ8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIEFkZHMgdGhlIGNlcnRpZmljYXRlIDx2YXI+Y2VydDwvdmFyPiwgd2hpY2ggaGFzIHRvIGJlIGEgWDUwOSBvYmplY3QsIHRvIHRoZQogY2VydGlmaWNhdGUgY2hhaW4gcHJlc2VudGVkIHRvZ2V0aGVyIHdpdGggdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzQnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGVfY2hhaW5fZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM4Jz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlX2NoYWluX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+ZmlsZTwvdmFyPikKIDxkZD4KIExvYWQgYSBjZXJ0aWZpY2F0ZSBjaGFpbiBmcm9tIDx2YXI+ZmlsZTwvdmFyPiB3aGljaCBtdXN0IGJlIFBFTSBlbmNvZGVkLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzUnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfcHJpdmF0ZWtleTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM5Jz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX3ByaXZhdGVrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFVzZSB0aGUgcHJpdmF0ZSBrZXkgPHZhcj5wa2V5PC92YXI+IHdoaWNoIGhhcyB0byBiZSBhIFBLZXkgb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzYnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGVfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGZvcm1hdDwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0MCc+PHR0IGNsYXNzPSdtZXRob2QnPnVzZV9jZXJ0aWZpY2F0ZV9maWxlPC90dD48L2E+PC9iPig8dmFyPmZpbGU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgZm9ybWF0PC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogTG9hZCB0aGUgZmlyc3QgY2VydGlmaWNhdGUgZm91bmQgaW4gPHZhcj5maWxlPC92YXI+LiBUaGUgY2VydGlmaWNhdGUgbXVzdCBiZSBpbiB0aGUKIGZvcm1hdCBzcGVjaWZpZWQgYnkgPHZhcj5mb3JtYXQ8L3Zhcj4sIHdoaWNoIGlzIGVpdGhlciA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0PiBvcgpAQCAtMjMzLDcgKzIzMyw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNyc+PHR0IGNsYXNzPSdtZXRob2QnPnVzZV9wcml2YXRla2V5X2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+ZmlsZTwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBmb3JtYXQ8L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfcHJpdmF0ZWtleV9maWxlPC90dD48L2E+PC9iPig8dmFyPmZpbGU8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgZm9ybWF0PC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogTG9hZCB0aGUgZmlyc3QgcHJpdmF0ZSBrZXkgZm91bmQgaW4gPHZhcj5maWxlPC92YXI+LiBUaGUgcHJpdmF0ZSBrZXkgbXVzdCBiZSBpbiB0aGUKIGZvcm1hdCBzcGVjaWZpZWQgYnkgPHZhcj5mb3JtYXQ8L3Zhcj4sIHdoaWNoIGlzIGVpdGhlciA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0PiBvcgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1uZXRzY2FwZS1zcGtpLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbAppbmRleCBiODNjODY5Li5kOGZlYWFhIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbApAQCAtNTEsMzEgKzUxLDMxIEBACiBOZXRzY2FwZVNQS0kgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Nic+PHR0IGNsYXNzPSdtZXRob2QnPmI2NF9lbmNvZGU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgwJz48dHQgY2xhc3M9J21ldGhvZCc+YjY0X2VuY29kZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgYmFzZTY0LWVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc3Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcHVia2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gdGhlIHB1YmxpYyBrZXkgb2Ygb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03OCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+a2V5PC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODInPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcHVia2V5PC90dD48L2E+PC9iPig8dmFyPmtleTwvdmFyPikKIDxkZD4KIFNldCB0aGUgcHVibGljIGtleSBvZiB0aGUgb2JqZWN0IHRvIDx2YXI+a2V5PC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03OSc+PHR0IGNsYXNzPSdtZXRob2QnPnNpZ248L3R0PjwvYT48L2I+KDx2YXI+a2V5LCBkaWdlc3RfbmFtZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgzJz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5rZXksIGRpZ2VzdF9uYW1lPC92YXI+KQogPGRkPgogU2lnbiB0aGUgTmV0c2NhcGVTUEtJIG9iamVjdCB1c2luZyB0aGUgZ2l2ZW4gPHZhcj5rZXk8L3Zhcj4gYW5kIDx2YXI+ZGlnZXN0X25hbWU8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgwJz48dHQgY2xhc3M9J21ldGhvZCc+dmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPmtleTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg0Jz48dHQgY2xhc3M9J21ldGhvZCc+dmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPmtleTwvdmFyPikKIDxkZD4KIFZlcmlmeSB0aGUgTmV0c2NhcGVTUEtJIG9iamVjdCB1c2luZyB0aGUgZ2l2ZW4gPHZhcj5rZXk8L3Zhcj4uCiA8L2RsPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzMTIuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtcGtjczEyLmh0bWwKaW5kZXggNDAyZmJkOS4uODE0YjQ1ZSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzMTIuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXBrY3MxMi5odG1sCkBAIC01MiwxOSArNTIsMTkgQEAKIFBLQ1MxMiBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTcyJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NlcnRpZmljYXRlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Nic+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jZXJ0aWZpY2F0ZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGNlcnRpZmljYXRlIHBvcnRpb24gb2YgdGhlIFBLQ1MxMiBzdHJ1Y3R1cmUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTczJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ByaXZhdGVrZXk8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc3Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ByaXZhdGVrZXk8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBwcml2YXRlIGtleSBwb3J0aW9uIG9mIHRoZSBQS0NTMTIgc3RydWN0dXJlCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NhX2NlcnRpZmljYXRlczwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzgnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY2FfY2VydGlmaWNhdGVzPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gQ0EgY2VydGlmaWNhdGVzIHdpdGhpbiB0aGUgUEtDUzEyIG9iamVjdCBhcyBhIHR1cGxlLiBSZXR1cm5zCiBOb25lIGlmIG5vIENBIGNlcnRpZmljYXRlcyBhcmUgcHJlc2VudC4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtcGtjczcuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtcGtjczcuaHRtbAppbmRleCBmYzY3M2IwLi4wYmRkY2QzIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLXBrY3M3Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2NzNy5odG1sCkBAIC01MiwzMSArNTIsMzEgQEAKIFBLQ1M3IG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjcnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlX2lzX3NpZ25lZDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzEnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlX2lzX3NpZ25lZDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogRklYTUUKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjgnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlX2lzX2VudmVsb3BlZDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzInPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlX2lzX2VudmVsb3BlZDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogRklYTUUKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjknPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlX2lzX3NpZ25lZEFuZEVudmVsb3BlZDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzMnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlX2lzX3NpZ25lZEFuZEVudmVsb3BlZDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogRklYTUUKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzAnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlX2lzX2RhdGE8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc0Jz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZV9pc19kYXRhPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBGSVhNRQogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03MSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF90eXBlX25hbWU8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc1Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3R5cGVfbmFtZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogR2V0IHRoZSB0eXBlIG5hbWUgb2YgdGhlIFBLQ1M3LgogPC9kbD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2V5Lmh0bWwKaW5kZXggYjZjZDNjMi4uMWYwMjZjOCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1wa2V5Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2V5Lmh0bWwKQEAgLTUyLDIwICs1MiwyMCBAQAogVGhlIFBLZXkgb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjQnPjx0dCBjbGFzcz0nbWV0aG9kJz5iaXRzPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02OCc+PHR0IGNsYXNzPSdtZXRob2QnPmJpdHM8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgbnVtYmVyIG9mIGJpdHMgb2YgdGhlIGtleS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZW5lcmF0ZV9rZXk8L3R0PjwvYT48L2I+KDx2YXI+dHlwZSwgYml0czwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2VuZXJhdGVfa2V5PC90dD48L2E+PC9iPig8dmFyPnR5cGUsIGJpdHM8L3Zhcj4pCiA8ZGQ+CiBHZW5lcmF0ZSBhIHB1YmxpYy9wcml2YXRlIGtleSBwYWlyIG9mIHRoZSB0eXBlIDx2YXI+dHlwZTwvdmFyPiAob25lIG9mCiA8dHQgY2xhc3M9ImNvbnN0YW50Ij5UWVBFX1JTQTwvdHQ+IGFuZCA8dHQgY2xhc3M9ImNvbnN0YW50Ij5UWVBFX0RTQTwvdHQ+KSB3aXRoIHRoZSBzaXplIDx2YXI+Yml0czwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjYnPjx0dCBjbGFzcz0nbWV0aG9kJz50eXBlPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03MCc+PHR0IGNsYXNzPSdtZXRob2QnPnR5cGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgdHlwZSBvZiB0aGUga2V5LgogPC9kbD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtcmFuZC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKaW5kZXggYmM3MmFiOS4uZDE2YzlkMSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1yYW5kLmh0bWwKQEAgLTU2LDUyICs1Niw1MiBAQAogZGVjbGFyZXMgdGhlIGZvbGxvd2luZzoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Mic+PHR0IGNsYXNzPSdmdW5jdGlvbic+YWRkPC90dD48L2E+PC9iPig8dmFyPnN0cmluZywgZW50cm9weTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg2Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5hZGQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nLCBlbnRyb3B5PC92YXI+KQogPGRkPgogTWl4IGJ5dGVzIGZyb20gPHZhcj5zdHJpbmc8L3Zhcj4gaW50byB0aGUgUFJORyBzdGF0ZS4gVGhlIDx2YXI+ZW50cm9weTwvdmFyPiBhcmd1bWVudCBpcwogKHRoZSBsb3dlciBib3VuZCBvZikgYW4gZXN0aW1hdGUgb2YgaG93IG11Y2ggcmFuZG9tbmVzcyBpcyBjb250YWluZWQgaW4KLTx2YXI+c3RyaW5nPC92YXI+LCBtZWFzdXJlZCBpbiBieXRlcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBlLmcuIDxhIGNsYXNzPSJyZmMiIG5hbWU9InJmY3JlZi0xNzk1IgorPHZhcj5zdHJpbmc8L3Zhcj4sIG1lYXN1cmVkIGluIGJ5dGVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGUuZy4gPGEgY2xhc3M9InJmYyIgbmFtZT0icmZjcmVmLTE4MzMiCiBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMxNzUwLnR4dCI+UkZDIDE3NTA8L2E+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Myc+PHR0IGNsYXNzPSdmdW5jdGlvbic+ZWdkPC90dD48L2E+PC9iPig8dmFyPnBhdGg8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgYnl0ZXM8L3Zhcj48YmlnPl08L2JpZz4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Nyc+PHR0IGNsYXNzPSdmdW5jdGlvbic+ZWdkPC90dD48L2E+PC9iPig8dmFyPnBhdGg8L3Zhcj48YmlnPls8L2JpZz48dmFyPiwgYnl0ZXM8L3Zhcj48YmlnPl08L2JpZz4pCiA8ZGQ+CiBRdWVyeSB0aGUgRW50cm9weSBHYXRoZXJpbmcgRGFlbW9uPEEgTkFNRT0idGV4Mmh0bWwzIgotICBIUkVGPSIjZm9vdDkxNiI+PFNVUD4zPC9TVVA+PC9BPiBvbiBzb2NrZXQgPHZhcj5wYXRoPC92YXI+IGZvciA8dmFyPmJ5dGVzPC92YXI+CisgIEhSRUY9IiNmb290OTQyIj48U1VQPjM8L1NVUD48L0E+IG9uIHNvY2tldCA8dmFyPnBhdGg8L3Zhcj4gZm9yIDx2YXI+Ynl0ZXM8L3Zhcj4KIGJ5dGVzIG9mIHJhbmRvbSBkYXRhIGFuZCBhbmQgdXNlcyA8dHQgY2xhc3M9ImZ1bmN0aW9uIj5hZGQ8L3R0PiB0byBzZWVkIHRoZSBQUk5HLiBUaGUgZGVmYXVsdAogdmFsdWUgb2YgPHZhcj5ieXRlczwvdmFyPiBpcyAyNTUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg0Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5sb2FkX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBieXRlczwvdmFyPjxiaWc+XTwvYmlnPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg4Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5sb2FkX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBieXRlczwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIFJlYWQgPHZhcj5ieXRlczwvdmFyPiBieXRlcyAob3IgYWxsIG9mIGl0LCBpZiA8dmFyPmJ5dGVzPC92YXI+IGlzIG5lZ2F0aXZlKSBvZiBkYXRhIGZyb20KIHRoZSBmaWxlIDx2YXI+cGF0aDwvdmFyPiB0byBzZWVkIHRoZSBQUk5HLiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiA8dmFyPmJ5dGVzPC92YXI+IGlzIC0xLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04NSc+PHR0IGNsYXNzPSdmdW5jdGlvbic+c2NyZWVuPC90dD48L2E+PC9iPigpCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04OSc+PHR0IGNsYXNzPSdmdW5jdGlvbic+c2NyZWVuPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBBZGQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgdGhlIHNjcmVlbiB0byB0aGUgUFJORyBzdGF0ZS4KIEF2YWlsYWJpbGl0eTogV2luZG93cy4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODYnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnNlZWQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTAnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnNlZWQ8L3R0PjwvYT48L2I+KDx2YXI+c3RyaW5nPC92YXI+KQogPGRkPgogVGhpcyBpcyBlcXVpdmFsZW50IHRvIGNhbGxpbmcgPHR0IGNsYXNzPSJmdW5jdGlvbiI+YWRkPC90dD4gd2l0aCA8dmFyPmVudHJvcHk8L3Zhcj4gYXMgdGhlIGxlbmd0aAogb2YgdGhlIHN0cmluZy4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODcnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnN0YXR1czwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTEnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPnN0YXR1czwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJucyB0cnVlIGlmIHRoZSBQUk5HIGhhcyBiZWVuIHNlZWRlZCB3aXRoIGVub3VnaCBkYXRhLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04OCc+PHR0IGNsYXNzPSdmdW5jdGlvbic+d3JpdGVfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5wYXRoPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTInPjx0dCBjbGFzcz0nZnVuY3Rpb24nPndyaXRlX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPikKIDxkZD4KIFdyaXRlIGEgbnVtYmVyIG9mIHJhbmRvbSBieXRlcyAoY3VycmVudGx5IDEwMjQpIHRvIHRoZSBmaWxlIDx2YXI+cGF0aDwvdmFyPi4gVGhpcwogZmlsZSBjYW4gdGhlbiBiZSB1c2VkIHdpdGggPHR0IGNsYXNzPSJmdW5jdGlvbiI+bG9hZF9maWxlPC90dD4gdG8gc2VlZCB0aGUgUFJORyBhZ2Fpbi4KQEAgLTExMCw3ICsxMTAsNyBAQAogPFA+CiA8QlI+PEhSPjxIND5Gb290bm90ZXM8L0g0PgogPERMPgotPERUPjxBIE5BTUU9ImZvb3Q5MTYiPi4uLiBEYWVtb248L0E+PEEKKzxEVD48QSBOQU1FPSJmb290OTQyIj4uLi4gRGFlbW9uPC9BPjxBCiAgaHJlZj0ib3BlbnNzbC1yYW5kLmh0bWwjdGV4Mmh0bWwzIj48U1VQPjM8L1NVUD48L0E+PC9EVD4KIDxERD5TZWUKIDxhIGNsYXNzPSJ1cmwiIGhyZWY9Imh0dHA6Ly93d3cubG90aGFyLmNvbS90ZWNoL2NyeXB0by8iPmh0dHA6Ly93d3cubG90aGFyLmNvbS90ZWNoL2NyeXB0by88L2E+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXNzbC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1zc2wuaHRtbAppbmRleCAxYTQ1OWExLi40ZmQ3N2U0IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLXNzbC5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtc3NsLmh0bWwKQEAgLTU0LDM5ICs1NCwzOSBAQAogQ29udGV4dCwgQ29ubmVjdGlvbi4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05MCc+PHR0PlNTTHYyX01FVEhPRDwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTk0Jz48dHQ+U1NMdjJfTUVUSE9EPC90dD48L2E+PC9iPgogPGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMDQnPjx0dD5TU0x2M19NRVRIT0Q8L3R0PjwvYT48L2I+PGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMDUnPjx0dD5TU0x2MjNfTUVUSE9EPC90dD48L2E+PC9iPjxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTA2Jz48dHQ+VExTdjFfTUVUSE9EPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTA4Jz48dHQ+U1NMdjNfTUVUSE9EPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTA5Jz48dHQ+U1NMdjIzX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMCc+PHR0PlRMU3YxX01FVEhPRDwvdHQ+PC9hPjwvYj48ZGQ+CiBUaGVzZSBjb25zdGFudHMgcmVwcmVzZW50IHRoZSBkaWZmZXJlbnQgU1NMIG1ldGhvZHMgdG8gdXNlIHdoZW4gY3JlYXRpbmcgYQogY29udGV4dCBvYmplY3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTkxJz48dHQ+VkVSSUZZX05PTkU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05NSc+PHR0PlZFUklGWV9OT05FPC90dD48L2E+PC9iPgogPGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMDcnPjx0dD5WRVJJRllfUEVFUjwvdHQ+PC9hPjwvYj48ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwOCc+PHR0PlZFUklGWV9GQUlMX0lGX05PX1BFRVJfQ0VSVDwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMSc+PHR0PlZFUklGWV9QRUVSPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTEyJz48dHQ+VkVSSUZZX0ZBSUxfSUZfTk9fUEVFUl9DRVJUPC90dD48L2E+PC9iPjxkZD4KIFRoZXNlIGNvbnN0YW50cyByZXByZXNlbnQgdGhlIHZlcmlmaWNhdGlvbiBtb2RlIHVzZWQgYnkgdGhlIENvbnRleHQKIG9iamVjdCdzIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfdmVyaWZ5PC90dD4gbWV0aG9kLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Mic+PHR0PkZJTEVUWVBFX1BFTTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTk2Jz48dHQ+RklMRVRZUEVfUEVNPC90dD48L2E+PC9iPgogPGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMDknPjx0dD5GSUxFVFlQRV9BU04xPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTEzJz48dHQ+RklMRVRZUEVfQVNOMTwvdHQ+PC9hPjwvYj48ZGQ+CiBGaWxlIHR5cGUgY29uc3RhbnRzIHVzZWQgd2l0aCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnVzZV9jZXJ0aWZpY2F0ZV9maWxlPC90dD4gYW5kCiA8dHQgY2xhc3M9Im1ldGhvZCI+dXNlX3ByaXZhdGVrZXlfZmlsZTwvdHQ+IG1ldGhvZHMgb2YgQ29udGV4dCBvYmplY3RzLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Myc+PHR0Pk9QX1NJTkdMRV9ESF9VU0U8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Nyc+PHR0Pk9QX1NJTkdMRV9ESF9VU0U8L3R0PjwvYT48L2I+CiA8ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMCc+PHR0Pk9QX0VQSEVNRVJBTF9SU0E8L3R0PjwvYT48L2I+PGRkPgotPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTEnPjx0dD5PUF9OT19TU0x2MjwvdHQ+PC9hPjwvYj48ZGQ+Ci08ZHQ+PGI+PGEgbmFtZT0nbDJoLTExMic+PHR0Pk9QX05PX1NTTHYzPC90dD48L2E+PC9iPjxkZD4KLTxkdD48Yj48YSBuYW1lPSdsMmgtMTEzJz48dHQ+T1BfTk9fVExTdjE8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTQnPjx0dD5PUF9FUEhFTUVSQUxfUlNBPC90dD48L2E+PC9iPjxkZD4KKzxkdD48Yj48YSBuYW1lPSdsMmgtMTE1Jz48dHQ+T1BfTk9fU1NMdjI8L3R0PjwvYT48L2I+PGRkPgorPGR0PjxiPjxhIG5hbWU9J2wyaC0xMTYnPjx0dD5PUF9OT19TU0x2MzwvdHQ+PC9hPjwvYj48ZGQ+Cis8ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNyc+PHR0Pk9QX05PX1RMU3YxPC90dD48L2E+PC9iPjxkZD4KIENvbnN0YW50cyB1c2VkIHdpdGggPHR0IGNsYXNzPSJtZXRob2QiPnNldF9vcHRpb25zPC90dD4gb2YgQ29udGV4dCBvYmplY3RzLgogPHR0IGNsYXNzPSJjb25zdGFudCI+T1BfU0lOR0xFX0RIX1VTRTwvdHQ+IG1lYW5zIHRvIGFsd2F5cyBjcmVhdGUgYSBuZXcga2V5IHdoZW4gdXNpbmcgZXBoZW1lcmFsCiBEaWZmaWUtSGVsbG1hbi4gPHR0IGNsYXNzPSJjb25zdGFudCI+T1BfRVBIRU1FUkFMX1JTQTwvdHQ+IG1lYW5zIHRvIGFsd2F5cyB1c2UgZXBoZW1lcmFsIFJTQSBrZXlzCkBAIC05NywxMyArOTcsMTMgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTQnPjx0dD5Db250ZXh0VHlwZTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTk4Jz48dHQ+Q29udGV4dFR5cGU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBBIFB5dGhvbiB0eXBlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIENvbnRleHQgb2JqZWN0IHR5cGUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTk1Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5Db250ZXh0PC90dD48L2E+PC9iPig8dmFyPm1ldGhvZDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTk5Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5Db250ZXh0PC90dD48L2E+PC9iPig8dmFyPm1ldGhvZDwvdmFyPikKIDxkZD4KIEZhY3RvcnkgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgbmV3IENvbnRleHQgb2JqZWN0IGdpdmVuIGFuIFNTTCBtZXRob2QuIFRoZQogbWV0aG9kIHNob3VsZCBiZSA8dHQgY2xhc3M9ImNvbnN0YW50Ij5TU0x2Ml9NRVRIT0Q8L3R0PiwgPHR0IGNsYXNzPSJjb25zdGFudCI+U1NMdjNfTUVUSE9EPC90dD4sCkBAIC0xMTEsMjEgKzExMSwyMSBAQAogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Nic+PHR0PkNvbm5lY3Rpb25UeXBlPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTAwJz48dHQ+Q29ubmVjdGlvblR5cGU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBBIFB5dGhvbiB0eXBlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIENvbm5lY3Rpb24gb2JqZWN0IHR5cGUuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTk3Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5Db25uZWN0aW9uPC90dD48L2E+PC9iPig8dmFyPmNvbnRleHQsIHNvY2tldDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEwMSc+PHR0IGNsYXNzPSdmdW5jdGlvbic+Q29ubmVjdGlvbjwvdHQ+PC9hPjwvYj4oPHZhcj5jb250ZXh0LCBzb2NrZXQ8L3Zhcj4pCiA8ZGQ+CiBGYWN0b3J5IGZ1Y25jdGlvbiB0aGF0IGNyZWF0ZXMgYSBuZXcgQ29ubmVjdGlvbiBvYmplY3QgZ2l2ZW4gYW4gU1NMIGNvbnRleHQgYW5kCiBhIHNvY2tldCA8QSBOQU1FPSJ0ZXgyaHRtbDUiCi0gIEhSRUY9IiNmb290OTE5Ij48U1VQPjQ8L1NVUD48L0E+IG9iamVjdC4KKyAgSFJFRj0iI2Zvb3Q5NDUiPjxTVVA+NDwvU1VQPjwvQT4gb2JqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtOTgnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5FcnJvcjwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMDInPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5FcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoaXMgZXhjZXB0aW9uIGlzIHVzZWQgYXMgYSBiYXNlIGNsYXNzIGZvciB0aGUgb3RoZXIgU1NMLXJlbGF0ZWQKIGV4Y2VwdGlvbnMsIGJ1dCBtYXkgYWxzbyBiZSByYWlzZWQgZGlyZWN0bHkuCkBAIC0xMzksNyArMTM5LDcgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTk5Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+WmVyb1JldHVybkVycm9yPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwMyc+PHR0IGNsYXNzPSdleGNlcHRpb24nPlplcm9SZXR1cm5FcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoaXMgZXhjZXB0aW9uIG1hdGNoZXMgdGhlIGVycm9yIHJldHVybiBjb2RlIDxjb2RlPlNTTF9FUlJPUl9aRVJPX1JFVFVSTjwvY29kZT4sIGFuZAogaXMgcmFpc2VkIHdoZW4gdGhlIFNTTCBDb25uZWN0aW9uIGhhcyBiZWVuIGNsb3NlZC4gSW4gU1NMIDMuMCBhbmQgVExTIDEuMCwgdGhpcwpAQCAtMTUzLDcgKzE1Myw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMDAnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5XYW50UmVhZEVycm9yPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwNCc+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRSZWFkRXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgb3BlcmF0aW9uIGRpZCBub3QgY29tcGxldGU7IHRoZSBzYW1lIEkvTyBtZXRob2Qgc2hvdWxkIGJlIGNhbGxlZCBhZ2FpbgogbGF0ZXIsIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLiBBbnkgSS9PIG1ldGhvZCBjYW4gbGVhZCB0byB0aGlzIHNpbmNlIG5ldwpAQCAtMTYxLDEzICsxNjEsMTMgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwMSc+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRXcml0ZUVycm9yPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwNSc+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRXcml0ZUVycm9yPC90dD48L2E+PC9iPgogPGRkPgogU2VlIDx0dCBjbGFzcz0iZXhjZXB0aW9uIj5XYW50UmVhZEVycm9yPC90dD4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMDInPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5XYW50WDUwOUxvb2t1cEVycm9yPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwNic+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRYNTA5TG9va3VwRXJyb3I8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgb3BlcmF0aW9uIGRpZCBub3QgY29tcGxldGUgYmVjYXVzZSBhbiBhcHBsaWNhdGlvbiBjYWxsYmFjayBoYXMgYXNrZWQgdG8gYmUKIGNhbGxlZCBhZ2Fpbi4gVGhlIEkvTyBtZXRob2Qgc2hvdWxkIGJlIGNhbGxlZCBhZ2FpbiBsYXRlciwgd2l0aCB0aGUgc2FtZQpAQCAtMTc2LDcgKzE3Niw3IEBACiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMDMnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5TeXNDYWxsRXJyb3I8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTA3Jz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+U3lzQ2FsbEVycm9yPC90dD48L2E+PC9iPgogPGRkPgogVGhlIDx0dCBjbGFzcz0iZXhjZXB0aW9uIj5TeXNDYWxsRXJyb3I8L3R0PiBvY2N1cnMgd2hlbiB0aGVyZSdzIGFuIEkvTyBlcnJvciBhbmQgT3BlblNTTCdzCiBlcnJvciBxdWV1ZSBkb2VzIG5vdCBjb250YWluIGFueSBpbmZvcm1hdGlvbi4gVGhpcyBjYW4gbWVhbiB0d28gdGhpbmdzOiBBbgpAQCAtMTg4LDcgKzE4OCw3IEBACiA8UD4KIDxCUj48SFI+PEg0PkZvb3Rub3RlczwvSDQ+CiA8REw+Ci08RFQ+PEEgTkFNRT0iZm9vdDkxOSI+Li4uIHNvY2tldDwvQT48QQorPERUPjxBIE5BTUU9ImZvb3Q5NDUiPi4uLiBzb2NrZXQ8L0E+PEEKICBocmVmPSJvcGVuc3NsLXNzbC5odG1sI3RleDJodG1sNSI+PFNVUD40PC9TVVA+PC9BPjwvRFQ+CiA8REQ+QWN0dWFsbHksIGFsbCB0aGF0IGlzIHJlcXVpcmVkIGlzIGFuIG9iamVjdCB0aGF0CiA8aT5iZWhhdmVzPC9pPiBsaWtlIGEgc29ja2V0LCB5b3UgY291bGQgZXZlbiB1c2UgZmlsZXMsIGV2ZW4gdGhvdWdoIGl0J2QgYmUKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5Lmh0bWwKaW5kZXggZDU0Zjk5MS4uODc4N2UwNCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5Lmh0bWwKQEAgLTgyLDc1ICs4MiwxMjMgQEAKIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMzknPjx0dCBjbGFzcz0nbWV0aG9kJz5nbXRpbWVfYWRqX25vdEJlZm9yZTwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMzknPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfbm90QmVmb3JlPC90dD48L2E+PC9iPigpCis8ZGQ+CitSZXR1cm4gYSBzdHJpbmcgZ2l2aW5nIHRoZSB0aW1lIGJlZm9yZSB3aGljaCB0aGUgY2VydGlmaWNhdGUgaXMgbm90IHZhbGlkLiAgVGhlCitzdHJpbmcgaXMgZm9ybWF0dGVkIGFzIGFuIEFTTjEgR0VORVJBTElaRURUSU1FOgorPGRsPjxkZD48cHJlIGNsYXNzPSJ2ZXJiYXRpbSI+CisgICAgICAgICAgICAgICAgIFlZWVlNTUREaGhtbXNzWgorICAgICAgICAgICAgICAgICBZWVlZTU1ERGhobW1zcytoaG1tCisgICAgICAgICAgICAgICAgIFlZWVlNTUREaGhtbXNzLWhobW0KKzwvcHJlPjwvZGw+Cis8L2RsPgorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQwJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X25vdEFmdGVyPC90dD48L2E+PC9iPigpCis8ZGQ+CitSZXR1cm4gYSBzdHJpbmcgZ2l2aW5nIHRoZSB0aW1lIGFmdGVyIHdoaWNoIHRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgdmFsaWQuICBUaGUKK3N0cmluZyBpcyBmb3JtYXR0ZWQgYXMgYW4gQVNOMSBHRU5FUkFMSVpFRFRJTUU6Cis8ZGw+PGRkPjxwcmUgY2xhc3M9InZlcmJhdGltIj4KKyAgICAgICAgICAgICAgICAgWVlZWU1NRERoaG1tc3NaCisgICAgICAgICAgICAgICAgIFlZWVlNTUREaGhtbXNzK2hobW0KKyAgICAgICAgICAgICAgICAgWVlZWU1NRERoaG1tc3MtaGhtbQorPC9wcmU+PC9kbD4KKzwvZGw+CisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfbm90QmVmb3JlPC90dD48L2E+PC9iPig8dmFyPndoZW48L3Zhcj4pCis8ZGQ+CitDaGFuZ2UgdGhlIHRpbWUgYmVmb3JlIHdoaWNoIHRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgdmFsaWQuICA8dmFyPndoZW48L3Zhcj4gaXMgYQorc3RyaW5nIGZvcm1hdHRlZCBhcyBhbiBBU04xIEdFTkVSQUxJWkVEVElNRToKKzxkbD48ZGQ+PHByZSBjbGFzcz0idmVyYmF0aW0iPgorICAgICAgICAgICAgICAgICBZWVlZTU1ERGhobW1zc1oKKyAgICAgICAgICAgICAgICAgWVlZWU1NRERoaG1tc3MraGhtbQorICAgICAgICAgICAgICAgICBZWVlZTU1ERGhobW1zcy1oaG1tCis8L3ByZT48L2RsPgorPC9kbD4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Mic+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9ub3RBZnRlcjwvdHQ+PC9hPjwvYj4oPHZhcj53aGVuPC92YXI+KQorPGRkPgorQ2hhbmdlIHRoZSB0aW1lIGFmdGVyIHdoaWNoIHRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgdmFsaWQuICA8dmFyPndoZW48L3Zhcj4gaXMgYQorc3RyaW5nIGZvcm1hdHRlZCBhcyBhbiBBU04xIEdFTkVSQUxJWkVEVElNRToKKzxkbD48ZGQ+PHByZSBjbGFzcz0idmVyYmF0aW0iPgorICAgICAgICAgICAgICAgICBZWVlZTU1ERGhobW1zc1oKKyAgICAgICAgICAgICAgICAgWVlZWU1NRERoaG1tc3MraGhtbQorICAgICAgICAgICAgICAgICBZWVlZTU1ERGhobW1zcy1oaG1tCis8L3ByZT48L2RsPgorPC9kbD4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Myc+PHR0IGNsYXNzPSdtZXRob2QnPmdtdGltZV9hZGpfbm90QmVmb3JlPC90dD48L2E+PC9iPig8dmFyPnRpbWU8L3Zhcj4pCiA8ZGQ+CiBBZGp1c3QgdGhlIHRpbWVzdGFtcCAoaW4gR01UKSB3aGVuIHRoZSBjZXJ0aWZpY2F0ZSBzdGFydHMgYmVpbmcgdmFsaWQuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQwJz48dHQgY2xhc3M9J21ldGhvZCc+Z210aW1lX2Fkal9ub3RBZnRlcjwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDQnPjx0dCBjbGFzcz0nbWV0aG9kJz5nbXRpbWVfYWRqX25vdEFmdGVyPC90dD48L2E+PC9iPig8dmFyPnRpbWU8L3Zhcj4pCiA8ZGQ+CiBBZGp1c3QgdGhlIHRpbWVzdGFtcCAoaW4gR01UKSB3aGVuIHRoZSBjZXJ0aWZpY2F0ZSBzdG9wcyBiZWluZyB2YWxpZC4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz5oYXNfZXhwaXJlZDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDUnPjx0dCBjbGFzcz0nbWV0aG9kJz5oYXNfZXhwaXJlZDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogQ2hlY2tzIHRoZSBjZXJ0aWZpY2F0ZSdzIHRpbWUgc3RhbXAgYWdhaW5zdCBjdXJyZW50IHRpbWUuIFJldHVybnMgdHJ1ZSBpZiB0aGUKIGNlcnRpZmljYXRlIGhhcyBleHBpcmVkIGFuZCBmYWxzZSBvdGhlcndpc2UuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQyJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2lzc3VlcjwvdHQ+PC9hPjwvYj4oPHZhcj5pc3N1ZXI8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Nic+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9pc3N1ZXI8L3R0PjwvYT48L2I+KDx2YXI+aXNzdWVyPC92YXI+KQogPGRkPgogU2V0IHRoZSBpc3N1ZXIgb2YgdGhlIGNlcnRpZmljYXRlIHRvIDx2YXI+aXNzdWVyPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ3Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQogPGRkPgogU2V0IHRoZSBwdWJsaWMga2V5IG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byA8dmFyPnBrZXk8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3NlcmlhbF9udW1iZXI8L3R0PjwvYT48L2I+KDx2YXI+c2VyaWFsbm88L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00OCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zZXJpYWxfbnVtYmVyPC90dD48L2E+PC9iPig8dmFyPnNlcmlhbG5vPC92YXI+KQogPGRkPgogU2V0IHRoZSBzZXJpYWwgbnVtYmVyIG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byA8dmFyPnNlcmlhbG5vPC92YXI+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zdWJqZWN0PC90dD48L2E+PC9iPig8dmFyPnN1YmplY3Q8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00OSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zdWJqZWN0PC90dD48L2E+PC9iPig8dmFyPnN1YmplY3Q8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNlcnRpZmljYXRlIHRvIDx2YXI+c3ViamVjdDwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfdmVyc2lvbjwvdHQ+PC9hPjwvYj4oPHZhcj52ZXJzaW9uPC92YXI+KQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfdmVyc2lvbjwvdHQ+PC9hPjwvYj4oPHZhcj52ZXJzaW9uPC92YXI+KQogPGRkPgogU2V0IHRoZSBjZXJ0aWZpY2F0ZSB2ZXJzaW9uIHRvIDx2YXI+dmVyc2lvbjwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDcnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaWduPC90dD48L2E+PC9iPig8dmFyPnBrZXksIGRpZ2VzdDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTUxJz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5LCBkaWdlc3Q8L3Zhcj4pCiA8ZGQ+CiBTaWduIHRoZSBjZXJ0aWZpY2F0ZSwgdXNpbmcgdGhlIGtleSA8dmFyPnBrZXk8L3Zhcj4gYW5kIHRoZSBtZXNzYWdlIGRpZ2VzdCBhbGdvcml0aG0KIGlkZW50aWZpZWQgYnkgdGhlIHN0cmluZyA8dmFyPmRpZ2VzdDwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDgnPjx0dCBjbGFzcz0nbWV0aG9kJz5zdWJqZWN0X25hbWVfaGFzaDwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTInPjx0dCBjbGFzcz0nbWV0aG9kJz5zdWJqZWN0X25hbWVfaGFzaDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIHRoZSBoYXNoIG9mIHRoZSBjZXJ0aWZpY2F0ZSBzdWJqZWN0LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00OSc+PHR0IGNsYXNzPSdtZXRob2QnPmRpZ2VzdDwvdHQ+PC9hPjwvYj4oPHZhcj5kaWdlc3RfbmFtZTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTUzJz48dHQgY2xhc3M9J21ldGhvZCc+ZGlnZXN0PC90dD48L2E+PC9iPig8dmFyPmRpZ2VzdF9uYW1lPC92YXI+KQogPGRkPgogUmV0dXJuIGEgZGlnZXN0IG9mIHRoZSBjZXJ0aWZpY2F0ZSwgdXNpbmcgdGhlIDx2YXI+ZGlnZXN0X25hbWU8L3Zhcj4gbWV0aG9kLgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01MCc+PHR0IGNsYXNzPSdtZXRob2QnPmFkZF9leHRlbnNpb25zPC90dD48L2E+PC9iPig8dmFyPmV4dGVuc2lvbnM8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01NCc+PHR0IGNsYXNzPSdtZXRob2QnPmFkZF9leHRlbnNpb25zPC90dD48L2E+PC9iPig8dmFyPmV4dGVuc2lvbnM8L3Zhcj4pCiA8ZGQ+CiBBZGQgdGhlIGV4dGVuc2lvbnMgaW4gdGhlIHNlcXVlbmNlIDx2YXI+ZXh0ZW5zaW9uczwvdmFyPiB0byB0aGUgY2VydGlmaWNhdGUuCiA8L2RsPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5bmFtZS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5bmFtZS5odG1sCmluZGV4IGE1ZmM5MmUuLmU1NzA3ZjMgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wteDUwOW5hbWUuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDluYW1lLmh0bWwKQEAgLTUyLDQ5ICs1Miw0OSBAQAogWDUwOU5hbWUgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWVtYmVyczoKIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01MSc+PHR0IGNsYXNzPSdtZW1iZXInPmNvdW50cnlOYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTUnPjx0dCBjbGFzcz0nbWVtYmVyJz5jb3VudHJ5TmFtZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBjb3VudHJ5IG9mIHRoZSBlbnRpdHkuIDxjb2RlPkM8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+Y291bnRyeU5hbWU8L2NvZGU+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Mic+PHR0IGNsYXNzPSdtZW1iZXInPnN0YXRlT3JQcm92aW5jZU5hbWU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Nic+PHR0IGNsYXNzPSdtZW1iZXInPnN0YXRlT3JQcm92aW5jZU5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgc3RhdGUgb3IgcHJvdmluY2Ugb2YgdGhlIGVudGl0eS4gPGNvZGU+U1Q8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+c3RhdGVPclByb3ZpbmNlTmFtZTwvY29kZT63CiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTUzJz48dHQgY2xhc3M9J21lbWJlcic+bG9jYWxpdHlOYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTcnPjx0dCBjbGFzcz0nbWVtYmVyJz5sb2NhbGl0eU5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgbG9jYWxpdHkgb2YgdGhlIGVudGl0eS4gPGNvZGU+TDwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5sb2NhbGl0eU5hbWU8L2NvZGU+LgogPC9kbD4KIAogPFA+Ci08ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01NCc+PHR0IGNsYXNzPSdtZW1iZXInPm9yZ2FuaXphdGlvbk5hbWU8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01OCc+PHR0IGNsYXNzPSdtZW1iZXInPm9yZ2FuaXphdGlvbk5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgb3JnYW5pemF0aW9uIG5hbWUgb2YgdGhlIGVudGl0eS4gPGNvZGU+TzwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5vcmdhbml6YXRpb25OYW1lPC9jb2RlPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTUnPjx0dCBjbGFzcz0nbWVtYmVyJz5vcmdhbml6YXRpb25hbFVuaXROYW1lPC90dD48L2E+PC9iPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTknPjx0dCBjbGFzcz0nbWVtYmVyJz5vcmdhbml6YXRpb25hbFVuaXROYW1lPC90dD48L2E+PC9iPgogPGRkPgogVGhlIG9yZ2FuaXphdGlvbmFsIHVuaXQgb2YgdGhlIGVudGl0eS4gPGNvZGU+T1U8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+b3JnYW5pemF0aW9uYWxVbml0TmFtZTwvY29kZT4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU2Jz48dHQgY2xhc3M9J21lbWJlcic+Y29tbW9uTmFtZTwvdHQ+PC9hPjwvYj4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYwJz48dHQgY2xhc3M9J21lbWJlcic+Y29tbW9uTmFtZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBjb21tb24gbmFtZSBvZiB0aGUgZW50aXR5LiA8Y29kZT5DTjwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5jb21tb25OYW1lPC9jb2RlPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTcnPjx0dCBjbGFzcz0nbWVtYmVyJz5lbWFpbEFkZHJlc3M8L3R0PjwvYT48L2I+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02MSc+PHR0IGNsYXNzPSdtZW1iZXInPmVtYWlsQWRkcmVzczwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBlLW1haWwgYWRkcmVzcyBvZiB0aGUgZW50aXR5LgogPC9kbD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wteDUwOXJlcS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5cmVxLmh0bWwKaW5kZXggMGNjODhjNC4uNGI0YTJjYiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5cmVxLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5cmVxLmh0bWwKQEAgLTUyLDMyICs1MiwzMiBAQAogWDUwOVJlcSBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU4Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oKQorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcHVia2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gYSBQS2V5IG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHB1YmxpYyBrZXkgb2YgdGhlIGNlcnRpZmljYXRlIHJlcXVlc3QuCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3N1YmplY3Q8L3R0PjwvYT48L2I+KCkKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYzJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3N1YmplY3Q8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBhbiBYNTA5TmFtZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBzdWJqZWN0IG9mIHRoZSBjZXJ0aWZpY2F0ZS4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjAnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcHVia2V5PC90dD48L2E+PC9iPig8dmFyPnBrZXk8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02NCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFNldCB0aGUgcHVibGljIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgcmVxdWVzdCB0byA8dmFyPnBrZXk8L3Zhcj4uCiA8L2RsPgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYxJz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5LCBkaWdlc3Q8L3Zhcj4pCis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNpZ248L3R0PjwvYT48L2I+KDx2YXI+cGtleSwgZGlnZXN0PC92YXI+KQogPGRkPgogU2lnbiB0aGUgY2VydGlmaWNhdGUgcmVxdWVzdCwgdXNpbmcgdGhlIGtleSA8dmFyPnBrZXk8L3Zhcj4gYW5kIHRoZSBtZXNzYWdlIGRpZ2VzdAogYWxnb3JpdGhtIGlkZW50aWZpZWQgYnkgdGhlIHN0cmluZyA8dmFyPmRpZ2VzdDwvdmFyPi4KIDwvZGw+CiAKIDxQPgotPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNjInPjx0dCBjbGFzcz0nbWV0aG9kJz52ZXJpZnk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY2Jz48dHQgY2xhc3M9J21ldGhvZCc+dmVyaWZ5PC90dD48L2E+PC9iPig8dmFyPnBrZXk8L3Zhcj4pCiA8ZGQ+CiBWZXJpZnkgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IHVzaW5nIHRoZSBwdWJsaWMga2V5IDx2YXI+cGtleTwvdmFyPi4KIDwvZGw+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlzdG9yZS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5c3RvcmUuaHRtbAppbmRleCA2NGZiMmYzLi4zMWE0MzVlIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlzdG9yZS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wteDUwOXN0b3JlLmh0bWwKQEAgLTUyLDcgKzUyLDcgQEAKIFRoZSBYNTA5U3RvcmUgb2JqZWN0IGhhcyBjdXJyZW50bHkganVzdCBvbmUgbWV0aG9kOgogCiA8UD4KLTxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYzJz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2NlcnQ8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY3Jz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2NlcnQ8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIEFkZCB0aGUgY2VydGlmaWNhdGUgPHZhcj5jZXJ0PC92YXI+IHRvIHRoZSBjZXJ0aWZpY2F0ZSBzdG9yZS4KIDwvZGw+Cg==