From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f334.i.mail.ru (f334.i.mail.ru [217.69.130.205]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id D411A469719 for ; Fri, 14 Feb 2020 01:10:21 +0300 (MSK) From: =?UTF-8?B?U2VyZ2V5IFBldHJlbmtv?= MIME-Version: 1.0 Date: Fri, 14 Feb 2020 01:10:20 +0300 Reply-To: =?UTF-8?B?U2VyZ2V5IFBldHJlbmtv?= Message-ID: <1581631820.174189421@f334.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--HakFYypoZxkHs9cUilGU59cgrcGmRHb71581631820" In-Reply-To: <20200213064730.GA17713@atlas> References: <85cfed8fd0cfa23c5a8504b6516fad18028edbaf.1581551227.git.sergepetrenko@tarantool.org> <20200213064730.GA17713@atlas> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_1/2=5D_replication=3A_corr?= =?utf-8?q?ectly_check_for_rows_to_skip_in_applier?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?S29uc3RhbnRpbiBPc2lwb3Y=?= Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org ----ALT--HakFYypoZxkHs9cUilGU59cgrcGmRHb71581631820 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGkhIFRoYW5rcyBmb3IgeW91ciBkZXRhaWxlZCBhbnN3ZXIhCkkgcHVzaGVkIHYyIHJlZ2FyZGlu ZyBhbGwgdGhlIGNvbW1lbnRzLgoKCj7Qp9C10YLQstC10YDQsywgMTMg0YTQtdCy0YDQsNC70Y8g MjAyMCwgOTo0NyArMDM6MDAg0L7RgiBLb25zdGFudGluIE9zaXBvdiA8a29zdGphLm9zaXBvdkBn bWFpbC5jb20+Ogo+Cj4qIHNlcmdlcGV0cmVua28gPCBzZXJnZXBldHJlbmtvQHRhcmFudG9vbC5v cmcgPiBbMjAvMDIvMTMgMDk6MzRdOgo+PiBGaXggcmVwbGljYXNldC5hcHBsaWVyLnZjbG9jayBp bml0aWFsaXphdGlvbiBpc3N1ZXM6IGl0IHdhc24ndAo+PiBpbml0aWFsaXplZCBhdCBhbGwgcHJl dmlvdXNseS4KPgo+SW4gdGhlIG5leHQgbGluZSB5b3Ugc2F5IHRoYXQgeW91IHJlbW92ZSB0aGUg aW5pdGlhbGl6YXRpb24uIFdoYXQKPmRvIHlvdSBtZWFuIGhlcmU/CkkgY2hhbmdlZCBib3RoIHRo ZSBjb21taXQgYW5kIHRoZSBjb21taXQgbWVzc2FnZS4KCj4KPgo+PiBNb3Jlb3ZlciwgdGhlcmUg aXMgbm8gdmFsaWQgcG9pbnQgaW4gY29kZQo+PiB0byBpbml0aWFsaXplIGl0LCBzaW5jZSBpdCBt YXkgZ2V0IHN0YWxlIHJpZ2h0IGF3YXkgaWYgbmV3IGVudHJpZXMgYXJlCj4+IHdyaXR0ZW4gdG8g V0FMLgo+Cj5XZWxsLCBpdCByZWZsZWN0cyB0aGUgc3RhdGUgb2YgdGhlIHdhbCAqYXMgc2VlbiBi eSogdGhlIHNldCBvZgo+YXBwbGllcnMuIFRoaXMgaXMgc3RhdGVkIGluIHRoZSBjb21tZW50LiBT byBpdCBkb2Vzbid0IGhhdmUgdG8KPnJlZmxlY3QgbG9jYWwgY2hhbmdlcy4gCkkgc2VlLgo+Cj4K Pj4gU28sIGNoZWNrIGZvciBib3RoIGFwcGxpZXIgYW5kIHJlcGxpY2FzZXQgdmNsb2Nrcy4KPj4g VGhlIGdyZWF0ZXIgb25lIHByb3RlY3RzIHRoZSBpbnN0YW5jZSBmcm9tIGFwcGx5aW5nIHRoZSBy b3dzIGl0IGhhcwo+PiBhbHJlYWR5IGFwcGxpZWQgb3IgaGFzIGFscmVhZHkgc2NoZWR1bGVkIHRv IHdyaXRlLgo+PiBBbHNvIHJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBhcGxpZXIgdmNsb2NrIGluaXRp YWxpemF0aW9uIGZyb20KPj4gcmVwbGljYXRpb25faW5pdCgpLgo+Cj5GaXJzdCBvZiBhbGwsIHRo ZSByYWNlIHlvdSBkZXNjcmliZSBhcHBsaWVzIHRvCj5sb2NhbCBjaGFuZ2VzIG9ubHkuIFlldCB5 b3UgYWRkIHRoZSBjaGVjayBmb3IgYWxsIHJlcGxpY2EgaWRzLiAKPlRoaXMgZnVydGhlciBvYmxp dGVyYXRlcyB0aGlzIHBpZWNlIG9mIGNvZGUuCk9rLCBmaXhlZC4KPgo+Cj5TZWNvbmQsIHRoZSBj b3JlIG9mIHRoZSBpc3N1ZSBpcyBhICJob2xlIiBpbiB2Y2xvY2sgcHJvdGVjdGlvbgo+ZW5mb3Jj ZWQgYnkgbGF0Y2hfbG9jay9sYXRjaF91bmxvY2suIEJhc2ljYWxseSB0aGUgYXNzdW1wdGlvbiB0 aGF0Cj5sYXRjaF9sb2NrL2xhdGNoX3VubG9jayBoYXMgaXMgdGhhdCB3aGlsZSBhIGxhdGNoIGlz IGxvY2tlZCwgbm8KPnNvdXJjZSBjYW4gYXBwbHkgYSB0cmFuc2FjdGlvbiB1bmRlciB0aGlzIHJl cGxpY2EgaWQuIFRoaXMsIGlzCj52aW9sYXRlZCBieSB0aGUgbG9jYWwgV0FMLgo+Cj5XZSB1c2Vk IHRvIHNraXAgYWxsIGNoYW5nZXMgYnkgbG9jYWwgdmNsb2NrIGlkIGJlZm9yZSBpbiBhcHBsaWVy Lgo+Cj5MYXRlciBpdCB3YXMgY2hhbmdlZCB0byBiZSBhYmxlIHRvIGdldC15b3VyLW93biBsb2dz IG9uIHJlY292ZXJ5LAo+ZS5nLiBpZiBzb21lIHJlcGxpY2EgaGFzIHRoZW0gLCBhbmQgdGhlIGxv Y2FsIG5vZGUgbG9zdCBhIHBpZWNlIG9mCj53YWwuCj4KPkl0IHdpbGwgdGFrZSBtZSBhIHdoaWxl IHRvIGZpbmQgdGhpcyBjb21taXQgYW5kIHRpY2tldCwgYnV0IHRoaXMKPmlzIHRoZSBjb21taXQg YW5kIHRpY2tldCB3aGljaCBpbnRyb2R1Y2VkIHRoZSByZWdyZXNzaW9uLgo+Cj5UaGUgcHJvcGVy IGZpeCBpcyB0byBvbmx5IGFwcGx5IGxvY2FsIGNoYW5nZXMgcmVjZWl2ZWQgZnJvbQo+cmVtb3Rl cyBpbiBvcnBoYW4gbW9kZSwgYW5kIGJlZ2luIHNraXBwaW5nIHRoZW0gd2hlbiBlbnRlcmluZwo+ cmVhZC13cml0ZSBtb2RlLgpUaGFua3MgZm9yIHRoZSBjbGFyaWZpY2F0aW9uLgoKPgo+Cj4+IENs b3NlcyAjNDczOQo+PiAtLS0KPj4gIHNyYy9ib3gvYXBwbGllci5jYyAgICAgfCAxNCArKysrKysr KysrKystLQo+PiAgc3JjL2JveC9yZXBsaWNhdGlvbi5jYyB8ICAxIC0KPj4gIDIgZmlsZXMgY2hh bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4gCj4+IGRpZmYgLS1naXQg YS9zcmMvYm94L2FwcGxpZXIuY2MgYi9zcmMvYm94L2FwcGxpZXIuY2MKPj4gaW5kZXggYWUzZDI4 MWE1Li5hY2IyNmI3ZTIgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gvYXBwbGllci5jYwo+PiArKysg Yi9zcmMvYm94L2FwcGxpZXIuY2MKPj4gQEAgLTczMSw4ICs3MzEsMTggQEAgYXBwbGllcl9hcHBs eV90eChzdHJ1Y3Qgc3RhaWxxICpyb3dzKQo+PiAgCXN0cnVjdCBsYXRjaCAqbGF0Y2ggPSAocmVw bGljYSA/ICZyZXBsaWNhLT5vcmRlcl9sYXRjaCA6Cj4+ICAJCQkgICAgICAgJnJlcGxpY2FzZXQu YXBwbGllci5vcmRlcl9sYXRjaCk7Cj4+ICAJbGF0Y2hfbG9jayhsYXRjaCk7Cj4+IC0JaWYgKHZj bG9ja19nZXQoJnJlcGxpY2FzZXQuYXBwbGllci52Y2xvY2ssCj4+IC0JCSAgICAgICBmaXJzdF9y b3ctPnJlcGxpY2FfaWQpID49IGZpcnN0X3Jvdy0+bHNuKSB7Cj4+ICsJLyoKPj4gKwkgKiBXZSBj YW5ub3QgdGVsbCB3aGljaCB2Y2xvY2sgaXMgZ3JlYXRlci4gVGhlcmUgaXMgbm8KPj4gKwkgKiBw cm9wZXIgcGxhY2UgdG8gaW5pdGlhbGl6ZSBhcHBsaWVyIHZjbG9jaywgc2luY2UgaXQKPj4gKwkg KiBtYXkgZ2V0IHN0YWxlIHJpZ2h0IGF3YXkgaWYgd2Ugd3JpdGUgc29tZXRoaW5nIHRvIFdBTAo+ PiArCSAqIGFuZCBpdCBnZXRzIHJlcGxpY2F0ZWQgYW5kIHRoZW4gYXJyaXZlcyBiYWNrIGZyb20g dGhlCj4+ICsJICogcmVwbGljYS4gU28gY2hlY2sgYWdhaW5zdCBib3RoIHZjbG9ja3MuIFJlcGxp Y2FzZXQKPj4gKwkgKiB2Y2xvY2sgd2lsbCBndWFyZCB1cyBmcm9tIGNvcm5lciBjYXNlcyBsaWtl IHRoZSBvbmUKPj4gKwkgKiBhYm92ZS4KPj4gKwkgKi8KPj4gKwlpZiAoTUFYKHZjbG9ja19nZXQo JnJlcGxpY2FzZXQuYXBwbGllci52Y2xvY2ssIGZpcnN0X3Jvdy0+cmVwbGljYV9pZCksCj4+ICsJ CXZjbG9ja19nZXQoJnJlcGxpY2FzZXQudmNsb2NrLCBmaXJzdF9yb3ctPnJlcGxpY2FfaWQpKSA+ PQo+PiArCSAgICBmaXJzdF9yb3ctPmxzbikgewo+PiAgCQlsYXRjaF91bmxvY2sobGF0Y2gpOwo+ PiAgCQlyZXR1cm4gMDsKPj4gIAl9Cj4+IGRpZmYgLS1naXQgYS9zcmMvYm94L3JlcGxpY2F0aW9u LmNjIGIvc3JjL2JveC9yZXBsaWNhdGlvbi5jYwo+PiBpbmRleCBlN2JmYTIyYWIuLjdiMDQ1NzNh NCAxMDA2NDQKPj4gLS0tIGEvc3JjL2JveC9yZXBsaWNhdGlvbi5jYwo+PiArKysgYi9zcmMvYm94 L3JlcGxpY2F0aW9uLmNjCj4+IEBAIC05Myw3ICs5Myw2IEBAIHJlcGxpY2F0aW9uX2luaXQodm9p ZCkKPj4gIAlsYXRjaF9jcmVhdGUoJnJlcGxpY2FzZXQuYXBwbGllci5vcmRlcl9sYXRjaCk7Cj4+ IAo+PiAgCXZjbG9ja19jcmVhdGUoJnJlcGxpY2FzZXQuYXBwbGllci52Y2xvY2spOwo+PiAtCXZj bG9ja19jb3B5KCZyZXBsaWNhc2V0LmFwcGxpZXIudmNsb2NrLCAmcmVwbGljYXNldC52Y2xvY2sp Owo+PiAgCXJsaXN0X2NyZWF0ZSgmcmVwbGljYXNldC5hcHBsaWVyLm9uX3JvbGxiYWNrKTsKPj4g IAlybGlzdF9jcmVhdGUoJnJlcGxpY2FzZXQuYXBwbGllci5vbl9jb21taXQpOwo+PiAKPj4gLS0g Cj4+IDIuMjAuMSAoQXBwbGUgR2l0LTExNykKPgo+LS0gCj5Lb25zdGFudGluIE9zaXBvdiwgTW9z Y293LCBSdXNzaWEKCgotLSAKU2VyZ2V5IFBldHJlbmtvCg== ----ALT--HakFYypoZxkHs9cUilGU59cgrcGmRHb71581631820 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPkhpISBUaGFua3MgZm9yIHlvdXIgZGV0YWlsZWQgYW5zd2VyITxicj5JIHB1 c2hlZCB2MiByZWdhcmRpbmcgYWxsIHRoZSBjb21tZW50cy48YnI+PGJyPjxicj48YmxvY2txdW90 ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRk aW5nOjAgMCAwIDEwcHg7Ij4KCdCn0LXRgtCy0LXRgNCzLCAxMyDRhNC10LLRgNCw0LvRjyAyMDIw LCA5OjQ3ICswMzowMCDQvtGCIEtvbnN0YW50aW4gT3NpcG92ICZsdDtrb3N0amEub3NpcG92QGdt YWlsLmNvbSZndDs6PGJyPjxicj48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1y ZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTgxNTc2NDU1MTUzODg4MzczNl9CT0RZ Ij4qIHNlcmdlcGV0cmVua28gJmx0OzxhIGhyZWY9Im1haWx0bzpzZXJnZXBldHJlbmtvQHRhcmFu dG9vbC5vcmciPnNlcmdlcGV0cmVua29AdGFyYW50b29sLm9yZzwvYT4mZ3Q7IFsyMC8wMi8xMyAw OTozNF06PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7IEZpeCByZXBs aWNhc2V0LmFwcGxpZXIudmNsb2NrIGluaXRpYWxpemF0aW9uIGlzc3VlczogaXQgd2Fzbid0PGJy PgomZ3Q7IGluaXRpYWxpemVkIGF0IGFsbCBwcmV2aW91c2x5Ljxicj48YnI+CkluIHRoZSBuZXh0 IGxpbmUgeW91IHNheSB0aGF0IHlvdSByZW1vdmUgdGhlIGluaXRpYWxpemF0aW9uLiBXaGF0PGJy PgpkbyB5b3UgbWVhbiBoZXJlPzwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48 YnI+SSBjaGFuZ2VkIGJvdGggdGhlIGNvbW1pdCBhbmQgdGhlIGNvbW1pdCBtZXNzYWdlLjxicj48 YnI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJn aW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1o ZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTU4MTU3NjQ1NTE1Mzg4 ODM3MzZfQk9EWSI+PGJyPjxicj4KJmd0OyBNb3Jlb3ZlciwgdGhlcmUgaXMgbm8gdmFsaWQgcG9p bnQgaW4gY29kZTxicj4KJmd0OyB0byBpbml0aWFsaXplIGl0LCBzaW5jZSBpdCBtYXkgZ2V0IHN0 YWxlIHJpZ2h0IGF3YXkgaWYgbmV3IGVudHJpZXMgYXJlPGJyPgomZ3Q7IHdyaXR0ZW4gdG8gV0FM Ljxicj48YnI+CldlbGwsIGl0IHJlZmxlY3RzIHRoZSBzdGF0ZSBvZiB0aGUgd2FsICphcyBzZWVu IGJ5KiB0aGUgc2V0IG9mPGJyPgphcHBsaWVycy4gVGhpcyBpcyBzdGF0ZWQgaW4gdGhlIGNvbW1l bnQuIFNvIGl0IGRvZXNuJ3QgaGF2ZSB0bzxicj4KcmVmbGVjdCBsb2NhbCBjaGFuZ2VzLiA8L2Rp dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGJyPkkgc2VlLjxicj48YmxvY2txdW90 ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRk aW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFk bXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTgxNTc2NDU1MTUzODg4MzczNl9CT0RZIj48 YnI+PGJyPgomZ3Q7IFNvLCBjaGVjayBmb3IgYm90aCBhcHBsaWVyIGFuZCByZXBsaWNhc2V0IHZj bG9ja3MuPGJyPgomZ3Q7IFRoZSBncmVhdGVyIG9uZSBwcm90ZWN0cyB0aGUgaW5zdGFuY2UgZnJv bSBhcHBseWluZyB0aGUgcm93cyBpdCBoYXM8YnI+CiZndDsgYWxyZWFkeSBhcHBsaWVkIG9yIGhh cyBhbHJlYWR5IHNjaGVkdWxlZCB0byB3cml0ZS48YnI+CiZndDsgQWxzbyByZW1vdmUgYW4gdW5u ZWNlc3NhcnkgYXBsaWVyIHZjbG9jayBpbml0aWFsaXphdGlvbiBmcm9tPGJyPgomZ3Q7IHJlcGxp Y2F0aW9uX2luaXQoKS48YnI+PGJyPgpGaXJzdCBvZiBhbGwsIHRoZSByYWNlIHlvdSBkZXNjcmli ZSBhcHBsaWVzIHRvPGJyPgpsb2NhbCBjaGFuZ2VzIG9ubHkuIFlldCB5b3UgYWRkIHRoZSBjaGVj ayBmb3IgYWxsIHJlcGxpY2EgaWRzLiA8YnI+ClRoaXMgZnVydGhlciBvYmxpdGVyYXRlcyB0aGlz IHBpZWNlIG9mIGNvZGUuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxicj5P aywgZml4ZWQuPGJyPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4 NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXYgaWQ9IiI+PGRpdiBj bGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9InN0eWxlXzE1ODE1 NzY0NTUxNTM4ODgzNzM2X0JPRFkiPjxicj48YnI+ClNlY29uZCwgdGhlIGNvcmUgb2YgdGhlIGlz c3VlIGlzIGEgImhvbGUiIGluIHZjbG9jayBwcm90ZWN0aW9uPGJyPgplbmZvcmNlZCBieSBsYXRj aF9sb2NrL2xhdGNoX3VubG9jay4gQmFzaWNhbGx5IHRoZSBhc3N1bXB0aW9uIHRoYXQ8YnI+Cmxh dGNoX2xvY2svbGF0Y2hfdW5sb2NrIGhhcyBpcyB0aGF0IHdoaWxlIGEgbGF0Y2ggaXMgbG9ja2Vk LCBubzxicj4Kc291cmNlIGNhbiBhcHBseSBhIHRyYW5zYWN0aW9uIHVuZGVyIHRoaXMgcmVwbGlj YSBpZC4gVGhpcywgaXM8YnI+CnZpb2xhdGVkIGJ5IHRoZSBsb2NhbCBXQUwuPGJyPjxicj4KV2Ug dXNlZCB0byBza2lwIGFsbCBjaGFuZ2VzIGJ5IGxvY2FsIHZjbG9jayBpZCBiZWZvcmUgaW4gYXBw bGllci48YnI+PGJyPgpMYXRlciBpdCB3YXMgY2hhbmdlZCB0byBiZSBhYmxlIHRvIGdldC15b3Vy LW93biBsb2dzIG9uIHJlY292ZXJ5LDxicj4KZS5nLiBpZiBzb21lIHJlcGxpY2EgaGFzIHRoZW0g LCBhbmQgdGhlIGxvY2FsIG5vZGUgbG9zdCBhIHBpZWNlIG9mPGJyPgp3YWwuPGJyPjxicj4KSXQg d2lsbCB0YWtlIG1lIGEgd2hpbGUgdG8gZmluZCB0aGlzIGNvbW1pdCBhbmQgdGlja2V0LCBidXQg dGhpczxicj4KaXMgdGhlIGNvbW1pdCBhbmQgdGlja2V0IHdoaWNoIGludHJvZHVjZWQgdGhlIHJl Z3Jlc3Npb24uPGJyPjxicj4KVGhlIHByb3BlciBmaXggaXMgdG8gb25seSBhcHBseSBsb2NhbCBj aGFuZ2VzIHJlY2VpdmVkIGZyb208YnI+CnJlbW90ZXMgaW4gb3JwaGFuIG1vZGUsIGFuZCBiZWdp biBza2lwcGluZyB0aGVtIHdoZW4gZW50ZXJpbmc8YnI+CnJlYWQtd3JpdGUgbW9kZS48L2Rpdj48 L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGJyPlRoYW5rcyBmb3IgdGhlIGNsYXJpZmlj YXRpb24uPGJyPjxicj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMw ODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYg Y2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTgx NTc2NDU1MTUzODg4MzczNl9CT0RZIj48YnI+PGJyPgomZ3Q7IENsb3NlcyAjNDczOTxicj4KJmd0 OyAtLS08YnI+CiZndDsgIHNyYy9ib3gvYXBwbGllci5jYyAgICAgfCAxNCArKysrKysrKysrKyst LTxicj4KJmd0OyAgc3JjL2JveC9yZXBsaWNhdGlvbi5jYyB8ICAxIC08YnI+CiZndDsgIDIgZmls ZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSk8YnI+CiZndDsgPGJy PgomZ3Q7IGRpZmYgLS1naXQgYS9zcmMvYm94L2FwcGxpZXIuY2MgYi9zcmMvYm94L2FwcGxpZXIu Y2M8YnI+CiZndDsgaW5kZXggYWUzZDI4MWE1Li5hY2IyNmI3ZTIgMTAwNjQ0PGJyPgomZ3Q7IC0t LSBhL3NyYy9ib3gvYXBwbGllci5jYzxicj4KJmd0OyArKysgYi9zcmMvYm94L2FwcGxpZXIuY2M8 YnI+CiZndDsgQEAgLTczMSw4ICs3MzEsMTggQEAgYXBwbGllcl9hcHBseV90eChzdHJ1Y3Qgc3Rh aWxxICpyb3dzKTxicj4KJmd0OyAgCXN0cnVjdCBsYXRjaCAqbGF0Y2ggPSAocmVwbGljYSA/ICZh bXA7cmVwbGljYS0mZ3Q7b3JkZXJfbGF0Y2ggOjxicj4KJmd0OyAgCQkJICAgICAgICZhbXA7cmVw bGljYXNldC5hcHBsaWVyLm9yZGVyX2xhdGNoKTs8YnI+CiZndDsgIAlsYXRjaF9sb2NrKGxhdGNo KTs8YnI+CiZndDsgLQlpZiAodmNsb2NrX2dldCgmYW1wO3JlcGxpY2FzZXQuYXBwbGllci52Y2xv Y2ssPGJyPgomZ3Q7IC0JCSAgICAgICBmaXJzdF9yb3ctJmd0O3JlcGxpY2FfaWQpICZndDs9IGZp cnN0X3Jvdy0mZ3Q7bHNuKSB7PGJyPgomZ3Q7ICsJLyo8YnI+CiZndDsgKwkgKiBXZSBjYW5ub3Qg dGVsbCB3aGljaCB2Y2xvY2sgaXMgZ3JlYXRlci4gVGhlcmUgaXMgbm88YnI+CiZndDsgKwkgKiBw cm9wZXIgcGxhY2UgdG8gaW5pdGlhbGl6ZSBhcHBsaWVyIHZjbG9jaywgc2luY2UgaXQ8YnI+CiZn dDsgKwkgKiBtYXkgZ2V0IHN0YWxlIHJpZ2h0IGF3YXkgaWYgd2Ugd3JpdGUgc29tZXRoaW5nIHRv IFdBTDxicj4KJmd0OyArCSAqIGFuZCBpdCBnZXRzIHJlcGxpY2F0ZWQgYW5kIHRoZW4gYXJyaXZl cyBiYWNrIGZyb20gdGhlPGJyPgomZ3Q7ICsJICogcmVwbGljYS4gU28gY2hlY2sgYWdhaW5zdCBi b3RoIHZjbG9ja3MuIFJlcGxpY2FzZXQ8YnI+CiZndDsgKwkgKiB2Y2xvY2sgd2lsbCBndWFyZCB1 cyBmcm9tIGNvcm5lciBjYXNlcyBsaWtlIHRoZSBvbmU8YnI+CiZndDsgKwkgKiBhYm92ZS48YnI+ CiZndDsgKwkgKi88YnI+CiZndDsgKwlpZiAoTUFYKHZjbG9ja19nZXQoJmFtcDtyZXBsaWNhc2V0 LmFwcGxpZXIudmNsb2NrLCBmaXJzdF9yb3ctJmd0O3JlcGxpY2FfaWQpLDxicj4KJmd0OyArCQl2 Y2xvY2tfZ2V0KCZhbXA7cmVwbGljYXNldC52Y2xvY2ssIGZpcnN0X3Jvdy0mZ3Q7cmVwbGljYV9p ZCkpICZndDs9PGJyPgomZ3Q7ICsJICAgIGZpcnN0X3Jvdy0mZ3Q7bHNuKSB7PGJyPgomZ3Q7ICAJ CWxhdGNoX3VubG9jayhsYXRjaCk7PGJyPgomZ3Q7ICAJCXJldHVybiAwOzxicj4KJmd0OyAgCX08 YnI+CiZndDsgZGlmZiAtLWdpdCBhL3NyYy9ib3gvcmVwbGljYXRpb24uY2MgYi9zcmMvYm94L3Jl cGxpY2F0aW9uLmNjPGJyPgomZ3Q7IGluZGV4IGU3YmZhMjJhYi4uN2IwNDU3M2E0IDEwMDY0NDxi cj4KJmd0OyAtLS0gYS9zcmMvYm94L3JlcGxpY2F0aW9uLmNjPGJyPgomZ3Q7ICsrKyBiL3NyYy9i b3gvcmVwbGljYXRpb24uY2M8YnI+CiZndDsgQEAgLTkzLDcgKzkzLDYgQEAgcmVwbGljYXRpb25f aW5pdCh2b2lkKTxicj4KJmd0OyAgCWxhdGNoX2NyZWF0ZSgmYW1wO3JlcGxpY2FzZXQuYXBwbGll ci5vcmRlcl9sYXRjaCk7PGJyPgomZ3Q7ICA8YnI+CiZndDsgIAl2Y2xvY2tfY3JlYXRlKCZhbXA7 cmVwbGljYXNldC5hcHBsaWVyLnZjbG9jayk7PGJyPgomZ3Q7IC0JdmNsb2NrX2NvcHkoJmFtcDty ZXBsaWNhc2V0LmFwcGxpZXIudmNsb2NrLCAmYW1wO3JlcGxpY2FzZXQudmNsb2NrKTs8YnI+CiZn dDsgIAlybGlzdF9jcmVhdGUoJmFtcDtyZXBsaWNhc2V0LmFwcGxpZXIub25fcm9sbGJhY2spOzxi cj4KJmd0OyAgCXJsaXN0X2NyZWF0ZSgmYW1wO3JlcGxpY2FzZXQuYXBwbGllci5vbl9jb21taXQp Ozxicj4KJmd0OyAgPGJyPgomZ3Q7IC0tIDxicj4KJmd0OyAyLjIwLjEgKEFwcGxlIEdpdC0xMTcp PGJyPjxicj4KLS0gPGJyPgpLb25zdGFudGluIE9zaXBvdiwgTW9zY293LCBSdXNzaWE8YnI+PC9k aXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPgo8YnI+Cjxicj4tLSA8YnI+U2VyZ2V5 IFBldHJlbmtvPGJyPjwvQk9EWT48L0hUTUw+Cg== ----ALT--HakFYypoZxkHs9cUilGU59cgrcGmRHb71581631820--