From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) by sourceware.org (Postfix) with ESMTPS id 367833858D38 for ; Tue, 19 Dec 2023 10:58:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 367833858D38 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 367833858D38 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.254.200.92 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702983541; cv=none; b=YpFqf2hzk8zQwI3oqvZUYP55oXb9SocHo2RzJLqrtAI6xTYaJYd3flj2A1/NQMWh/P6RzPfAojkRMpy974xj4PEKvCpDFgSF/svvYuSqq6p6gmrCAH6RvgW11kPW0SERkf8KnNrUZlVoFLrmlmWI4IKlajBivLkDsEu9+0i32u0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702983541; c=relaxed/simple; bh=jDpRcPA/3KcpKk5Q28KvQysXB5HapSCT1kfgBBFtFiI=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=net3jcLtOPv0HefOWjI1xjkaLy7h0r8Vp0qgYaag+lw5MWucUM8X12iCCulNbh2qwIJNTlOhAk9R/GW24EaEN+X12z5w2hmPeZ+xGbBIQ8JuRV+knOE4sp8xkRuolsCacaHF4gtEx6YBhhUlomhCm8c0O8VxHWcq+ZCrDSTdaNw= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp84t1702983530t1r8fwnc Received: from LAPTOP-EPITNQBU ( [58.60.1.10]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 19 Dec 2023 18:58:49 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: W+onFc5Tw4OxK0sQvtpxQPw569zr6bSoYqhEilTEuMqtj5JaHIqLvLIkgO8RS tMS1kkCEfxqFcNMiz++tjypXthBz/7fHd5ODdTEDuu92CZ9qZ6/87GEMQWivafa2qh1944R snmVLp25WDVADcsOTMnWuz5m/MYYwmGTWBduof3H1rtwPr1r70tjDXHXp3pz4ES6XjL2EZf QfnxH1IV7OP7OJljwLWZk/gb0omeqLMwLi447fchauAF409Pxbg0S51FjASaVYsbpmXZLs6 th3wpMJcEPyy9W81g4pThTohvAuAfmaDzqGzWgXXXjeKc+Y4SIVB9KSqvs4wEFOtX41vvPK mbMXj/TZn9zLVjHBC+Itzv50E0zQmHpxecadI+tb7WtarbxWulT54x8tHglHXm6howfgrTQ 8TQSUtqhv+oJbE0bEiOKruu3lb2Pf7DCGVDm0bj51n8LLB2y8zKcZQ== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 13315697766275490248 Date: Tue, 19 Dec 2023 18:58:47 +0800 From: "juzhe.zhong@rivai.ai" To: richard.sandiford , rguenther Cc: "Robin Dapp" , gcc-patches , pan2.li , "Richard Biener" , pinskia Subject: Re: Re: [PATCH] fold-const: Handle AND, IOR, XOR with stepped vectors [PR112971]. References: , <097AABD6596FB0C3+2023121906491281154423@rivai.ai>, <92p02r8p-46rq-s976-5r8p-s87q0q763465@fhfr.qr>, , , <6FD0A43E2F3E9BD9+202312191735136921653@rivai.ai>, , X-Priority: 3 X-GUID: AEB83044-DEF5-4BC1-8419-0DA1915B27FB X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <6DA8D24509A1543C+202312191858473271019@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart515365200662_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart515365200662_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 T0suDQpJIGp1c3QgdGFrZSBhIGxvb2sgYXQgbWF0Y2gucGQuDQpJZiB3ZSBj aGFuZ2VkIGJpdF9hbmQuDQpEbyB3ZSBuZWVkIHRvIGFkYXB0IGZvciB0aGVz ZSAyID8NCi8qIHggfCB+MCAtPiB+MCAgKi8NCihzaW1wbGlmeQ0KIChiaXRf aW9yIEAwIGludGVnZXJfYWxsX29uZXNwQDEpDQogQDEpDQoNCi8qIHggfCAw IC0+IHggICovDQooc2ltcGxpZnkNCiAoYml0X2lvciBAMCBpbnRlZ2VyX3pl cm9wKQ0KIEAwKQ0KDQpJIGFtIG5vdCBzdXJlIHNpbmNlIHdlIGN1cnJlbnRs eSBvbmx5IGZhY2UgdGhlIElDRSBvbiBCSVRfQU5EIGZvciBSVlYuDQoNCg0K DQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogUmljaGFyZCBTYW5k aWZvcmQNCkRhdGU6IDIwMjMtMTItMTkgMTg6NDANClRvOiBSaWNoYXJkIEJp ZW5lcg0KQ0M6IGp1emhlLnpob25nXEByaXZhaS5haTsgUm9iaW4gRGFwcDsg Z2NjLXBhdGNoZXM7IHBhbjIubGk7IFJpY2hhcmQgQmllbmVyOyBwaW5za2lh DQpTdWJqZWN0OiBSZTogW1BBVENIXSBmb2xkLWNvbnN0OiBIYW5kbGUgQU5E LCBJT1IsIFhPUiB3aXRoIHN0ZXBwZWQgdmVjdG9ycyBbUFIxMTI5NzFdLg0K UmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRlPiB3cml0ZXM6DQo+ IE9uIFR1ZSwgMTkgRGVjIDIwMjMsIGp1emhlLnpob25nQHJpdmFpLmFpIHdy b3RlOg0KPg0KPj4gSGksIFJpY2hhcmQuDQo+PiANCj4+IEFmdGVyIGludmVz dGlnYXRpbmcgdGhlIGNvZGVzOg0KPj4gLyogUmV0dXJuIHRydWUgaWYgRVhQ UiBpcyB0aGUgaW50ZWdlciBjb25zdGFudCB6ZXJvIG9yIGEgY29tcGxleCBj b25zdGFudA0KPj4gICAgb2YgemVybywgb3IgYSBsb2NhdGlvbiB3cmFwcGVy IGZvciBzdWNoIGEgY29uc3RhbnQuICAqLw0KPj4gDQo+PiBib29sDQo+PiBp bnRlZ2VyX3plcm9wIChjb25zdF90cmVlIGV4cHIpDQo+PiB7DQo+PiAgIFNU UklQX0FOWV9MT0NBVElPTl9XUkFQUEVSIChleHByKTsNCj4+IA0KPj4gICBz d2l0Y2ggKFRSRUVfQ09ERSAoZXhwcikpDQo+PiAgICAgew0KPj4gICAgIGNh c2UgSU5URUdFUl9DU1Q6DQo+PiAgICAgICByZXR1cm4gd2k6OnRvX3dpZGUg KGV4cHIpID09IDA7DQo+PiAgICAgY2FzZSBDT01QTEVYX0NTVDoNCj4+ICAg ICAgIHJldHVybiAoaW50ZWdlcl96ZXJvcCAoVFJFRV9SRUFMUEFSVCAoZXhw cikpDQo+PiAgICAgICAgICAgICAgICYmIGludGVnZXJfemVyb3AgKFRSRUVf SU1BR1BBUlQgKGV4cHIpKSk7DQo+PiAgICAgY2FzZSBWRUNUT1JfQ1NUOg0K Pj4gICAgICAgcmV0dXJuIChWRUNUT1JfQ1NUX05QQVRURVJOUyAoZXhwcikg PT0gMQ0KPj4gICAgICAgICAgICAgICAmJiBWRUNUT1JfQ1NUX0RVUExJQ0FU RV9QIChleHByKQ0KPj4gICAgICAgICAgICAgICAmJiBpbnRlZ2VyX3plcm9w IChWRUNUT1JfQ1NUX0VOQ09ERURfRUxUIChleHByLCAwKSkpOw0KPj4gICAg IGRlZmF1bHQ6DQo+PiAgICAgICByZXR1cm4gZmFsc2U7DQo+PiAgICAgfQ0K Pj4gfQ0KPj4gDQo+PiBJIHdvbmRlciB3aGV0aGVyIHdlIGNhbiBzaW1wbGlm eSB0aGUgY29kZXMgYXMgZm9sbG93cyA6Pw0KPj4gICAgICAgaWYgKGludGVn ZXJfemVyb3AgKGFyZzEpIHx8IGludGVnZXJfemVyb3AgKGFyZzIpKQ0KPj4g ICAgICAgICBzdGVwX29rX3AgPSAoY29kZSA9PSBCSVRfQU5EX0VYUFIgfHwg Y29kZSA9PSBCSVRfSU9SX0VYUFINCj4+ICAgICAgICAgICAgICAgICAgICAg IHx8IGNvZGUgPT0gQklUX1hPUl9FWFBSKTsNCj4NCj4gUG9zc2libHkuICBJ J2xsIGxldCBSaWNoYXJkIFMuIGNvbW1lbnQgb24gdGhlIHdob2xlIHN0cnVj dHVyZS4NCiANClRoZSBjdXJyZW50IGNvZGUgaXMgaGFuZGxpbmcgY2FzZXMg dGhhdCByZXF1aXJlIGVsZW1lbnR3aXNlIGFyaXRobWV0aWMuDQpJU1RNIHRo YXQgd2hhdCB3ZSdyZSByZWFsbHkgZG9pbmcgaGVyZSBpcyBpZGVudGlmeWlu ZyBjYXNlcyB3aGVyZQ0Kd2hvbGUtdmVjdG9yIGFyaXRobWV0aWMgaXMgcG9z c2libGUgaW5zdGVhZC4gIEkgdGhpbmsgdGhhdCBzaG91bGQgYmUNCmEgc2Vw YXJhdGUgcHJlLXN0ZXAsIHJhdGhlciB0aGFuIGludGVncmF0ZWQgaW50byB0 aGUgY3VycmVudCBjb2RlLg0KIA0KTGFyZ2VseSB0aGlzIHdvdWxkIGNvbnNp c3Qgb2Ygd3JpdGluZyBvdXQgbWF0Y2gucGQtc3R5bGUgZm9sZHMgaW4NCkMr KyBjb2RlLCBzbyBBbmRyZXcncyBmaXggaW4gY29tbWVudCA3IHNlZW1zIG5l YXRlciB0byBtZS4NCiANCkJ1dCBpZiB0aGlzIG11c3QgaGFwcGVuIGluIGNv bnN0X2Jpbm9wIGluc3RlYWQsIHRoZW4gd2UgY291bGQgaGF2ZQ0KYSBmdW5j dGlvbiBsaWtlOg0KIA0KLyogT1AgaXMgdGhlIElOREVYdGggb3BlcmFuZCB0 byBDT0RFIChjb3VudGluZyBmcm9tIHplcm8pIGFuZCBPVEhFUl9PUA0KICAg aXMgdGhlIG90aGVyIG9wZXJhbmQuICBUcnkgdG8gdXNlIHRoZSB2YWx1ZSBv ZiBPUCB0byBzaW1wbGlmeSB0aGUNCiAgIG9wZXJhdGlvbiBpbiBvbmUgc3Rl cCwgd2l0aG91dCBoYXZpbmcgdG8gcHJvY2VzcyBpbmRpdmlkdWFsIGVsZW1l bnRzLiAgKi8NCnRyZWUNCnNpbXBsaWZ5X2NvbnN0X2Jpbm9wICh0cmVlX2Nv ZGUgY29kZSwgcnR4IG9wLCBydHggb3RoZXJfb3AsIGludCBpbmRleCkNCnsN CiAgLi4uDQp9DQogDQpUaGFua3MsDQpSaWNoYXJkDQogDQo+DQo+IFJpY2hh cmQuDQo+DQo+PiANCj4+IA0KPj4gDQo+PiBqdXpoZS56aG9uZ0ByaXZhaS5h aQ0KPj4gIA0KPj4gRnJvbTogUmljaGFyZCBCaWVuZXINCj4+IERhdGU6IDIw MjMtMTItMTkgMTc6MTINCj4+IFRvOiBqdXpoZS56aG9uZ0ByaXZhaS5haQ0K Pj4gQ0M6IFJvYmluIERhcHA7IGdjYy1wYXRjaGVzOyBwYW4yLmxpOyByaWNo YXJkLnNhbmRpZm9yZDsgUmljaGFyZCBCaWVuZXI7IHBpbnNraWENCj4+IFN1 YmplY3Q6IFJlOiBSZTogW1BBVENIXSBmb2xkLWNvbnN0OiBIYW5kbGUgQU5E LCBJT1IsIFhPUiB3aXRoIHN0ZXBwZWQgdmVjdG9ycyBbUFIxMTI5NzFdLg0K Pj4gT24gVHVlLCAxOSBEZWMgMjAyMywganV6aGUuemhvbmdAcml2YWkuYWkg d3JvdGU6DQo+PiAgDQo+PiA+IEhpP1JpY2hhcmQuIERvIHlvdSBtZWFuIGFk ZCB0aGUgY2hlY2sgYXMgZm9sbG93cyA/DQo+PiA+IA0KPj4gPiAgICAgICBp ZiAoVkVDVE9SX0NTVF9ORUxUU19QRVJfUEFUVEVSTiAoYXJnMSkgPT0gMQ0K Pj4gPiAgICAgICAgICAgJiYgVkVDVE9SX0NTVF9ORUxUU19QRVJfUEFUVEVS TiAoYXJnMikgPT0gMw0KPj4gIA0KPj4gT3IgPD0gMyB3aGljaCB3b3VsZCBh bGxvdyBjb21iaW5pbmcuICBBcyBzYWlkLCBub3Qgc3VyZSB3aGF0DQo+PiA9 PSAyIHdvdWxkIGJlIGFuZCB3aGV0aGVyIHRoYXQgd291bGQgd29yay4NCj4+ ICANCj4+IEJ0dywgaW50ZWdlcl9hbGxvbmVzcCBzaG91bGQgYWxzbyBhbGxv dyB0byBiZSBvcHRpbWl6ZWQgZm9yDQo+PiBhbmQvaW9yIGF0IGxlYXN0LiAg UG9zc2libHkgSU9SL0FORCB3aXRoIHRoZSBzaWduIGJpdCBmb3INCj4+IHNp Z25lZCBlbGVtZW50cyBhcyB3ZWxsLg0KPj4gIA0KPj4gSSB3b25kZXIgaWYg dGhlcmUncyBhIHByb2dyYW1tYXRpYyB3YXkgdG8gaWRlbnRpZnkgT0sgY2Fz ZXMNCj4+IHJhdGhlciB0aGFuIGVudW1lcmF0aW5nIHRoZW0uDQo+PiAgDQo+ PiA+ICAgICAgICAgICAmJiBpbnRlZ2VyX3plcm9wIChWRUNUT1JfQ1NUX0VM VCAoYXJnMSwgMCkpKQ0KPj4gPiAgICAgICAgIHN0ZXBfb2tfcCA9IChjb2Rl ID09IEJJVF9BTkRfRVhQUiB8fCBjb2RlID09IEJJVF9JT1JfRVhQUg0KPj4g PiAgICAgICAgICAgfHwgY29kZSA9PSBCSVRfWE9SX0VYUFIpOw0KPj4gPiAg ICAgICBlbHNlIGlmIChWRUNUT1JfQ1NUX05FTFRTX1BFUl9QQVRURVJOIChh cmcyKSA9PSAxDQo+PiA+ICAgICAgICAgICAmJiBWRUNUT1JfQ1NUX05FTFRT X1BFUl9QQVRURVJOIChhcmcxKSA9PSAzDQo+PiA+ICAgICAgICAgICAmJiBp bnRlZ2VyX3plcm9wIChWRUNUT1JfQ1NUX0VMVCAoYXJnMiwgMCkpKQ0KPj4g PiAgICAgICAgIHN0ZXBfb2tfcCA9IChjb2RlID09IEJJVF9BTkRfRVhQUiB8 fCBjb2RlID09IEJJVF9JT1JfRVhQUg0KPj4gPiAgICAgICAgICAgfHwgY29k ZSA9PSBCSVRfWE9SX0VYUFIpOw0KPj4gPiANCj4+ID4gDQo+PiA+IA0KPj4g PiBqdXpoZS56aG9uZ0ByaXZhaS5haQ0KPj4gPiAgDQo+PiA+IEZyb206IFJp Y2hhcmQgQmllbmVyDQo+PiA+IERhdGU6IDIwMjMtMTItMTkgMTY6MTUNCj4+ ID4gVG86ID8/Pw0KPj4gPiBDQzogcmRhcHAuZ2NjOyBnY2MtcGF0Y2hlczsg cGFuMi5saTsgcmljaGFyZC5zYW5kaWZvcmQ7IHJpY2hhcmQuZ3VlbnRoZXI7 IEFuZHJldyBQaW5za2kNCj4+ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gZm9s ZC1jb25zdDogSGFuZGxlIEFORCwgSU9SLCBYT1Igd2l0aCBzdGVwcGVkIHZl Y3RvcnMgW1BSMTEyOTcxXS4NCj4+ID4gT24gVHVlLCAxOSBEZWMgMjAyMywg Pz8/IHdyb3RlOg0KPj4gPiAgDQo+PiA+ID4gVGhhbmtzIFJvYmluIHNlbmQg aW5pdGlhbCBwYXRjaCB0byBmaXggdGhpcyBJQ0UgYnVnLg0KPj4gPiA+IA0K Pj4gPiA+IENDIHRvIFJpY2hhcmQgUywgUmljaGFyZCBCLCBhbmQgQW5kcmV3 Lg0KPj4gPiAgDQo+PiA+IEp1c3Qgb25lIGNvbW1lbnQsIGl0IHNlZW1zIHRo YXQgVkVDVE9SX0NTVF9TVEVQUEVEX1Agc2hvdWxkDQo+PiA+IGltcGxpY2l0 bHkgaW5jbHVkZSBWRUNUT1JfQ1NUX0RVUExJQ0FURV9QIHNpbmNlIGl0IHdv dWxkIGJlDQo+PiA+IGEgc3RlcCBvZiB6ZXJvIChidXQgYXMgaW1wbGVtZW50 ZWQgaXQgZG9lc24ndCBjYXRjaCB0aGlzKS4NCj4+ID4gTG9va2luZyBhdCB0 aGUgaW1wbGVtZW50YXRpb24gaXQncyBvZGQgdGhhdCB3ZSBjYW4gaGFuZGxl DQo+PiA+IFZFQ1RPUl9DU1RfTkVMVFNfUEVSX1BBVFRFUk4gPT0gMSAoZHVw bGljYXRlKSBhbmQNCj4+ID4gPT0gMyAoc3RlcHBlZCkgYnV0IG5vdCA9PSAy IChub3Qgc3VyZSB3aGF0IHRoYXQgd291bGQgYmUpLg0KPj4gPiAgDQo+PiA+ IE1heWJlIHRoZSB0ZXN0cyBjYW4gYmUgcmUtZm9ybXVsYXRlZCBpbiB0ZXJt cyBvZg0KPj4gPiBWRUNUT1JfQ1NUX05FTFRTX1BFUl9QQVRURVJOPw0KPj4g PiAgDQo+PiA+IFJpY2hhcmQuDQo+PiA+ICANCj4+ID4gPiBUaGFua3MuDQo+ PiA+ID4gDQo+PiA+ID4gDQo+PiA+ID4gDQo+PiA+ID4ganV6aGUuemhvbmdA cml2YWkuYWkNCj4+ID4gPiAgDQo+PiA+ID4gRnJvbTogUm9iaW4gRGFwcA0K Pj4gPiA+IERhdGU6IDIwMjMtMTItMTkgMDM6NTANCj4+ID4gPiBUbzogZ2Nj LXBhdGNoZXMNCj4+ID4gPiBDQzogcmRhcHAuZ2NjOyBMaSwgUGFuMjsganV6 aGUuemhvbmdAcml2YWkuYWkNCj4+ID4gPiBTdWJqZWN0OiBbUEFUQ0hdIGZv bGQtY29uc3Q6IEhhbmRsZSBBTkQsIElPUiwgWE9SIHdpdGggc3RlcHBlZCB2 ZWN0b3JzIFtQUjExMjk3MV0uDQo+PiA+ID4gSGksDQo+PiA+ID4gIA0KPj4g PiA+IGZvdW5kIGluIFBSMTEyOTcxLCB0aGlzIHBhdGNoIGFkZHMgZm9sZGlu ZyBzdXBwb3J0IGZvciBiaXR3aXNlIG9wZXJhdGlvbnMNCj4+ID4gPiBvZiBj b25zdCBkdXBsaWNhdGUgemVybyB2ZWN0b3JzIGFuZCBzdGVwcGVkIHZlY3Rv cnMuDQo+PiA+ID4gT24gcmlzY3Ygd2UgaGF2ZSB0aGUgc2l0dWF0aW9uIHRo YXQgYSBmb2xkaW5nIHdvdWxkIHBlcnBldHVhbGx5IGNvbnRpbnVlDQo+PiA+ ID4gd2l0aG91dCBzaW1wbGlmeWluZyBiZWNhdXNlIGUuZy4gezAsIDAsIDAs IC4uLn0gJiB7NywgNiwgNSwgLi4ufSB3b3VsZA0KPj4gPiA+IG5vdCBmb2xk IHRvIHswLCAwLCAwLCAuLi59Lg0KPj4gPiA+ICANCj4+ID4gPiBCb290c3Ry YXBwZWQgYW5kIHJlZ3Rlc3RlZCBvbiB4ODYgYW5kIGFhcmNoNjQsIHJlZ3Rl c3RlZCBvbiByaXNjdi4NCj4+ID4gPiAgDQo+PiA+ID4gSSB3b24ndCBiZSBh dmFpbGFibGUgdG8gcmVzcG9uZCBxdWlja2x5IHVudGlsIG5leHQgeWVhci4g IFBhbiBvciBKdXpoZSwNCj4+ID4gPiBhcyBkaXNjdXNzZWQsIGZlZWwgZnJl ZSB0byBjb250aW51ZSB3aXRoIHBvc3NpYmxlIHJldmlzaW9ucy4NCj4+ID4g PiAgDQo+PiA+ID4gUmVnYXJkcw0KPj4gPiA+IFJvYmluDQo+PiA+ID4gIA0K Pj4gPiA+ICANCj4+ID4gPiBnY2MvQ2hhbmdlTG9nOg0KPj4gPiA+ICANCj4+ ID4gPiBQUiBtaWRkbGUtZW5kLzExMjk3MQ0KPj4gPiA+ICANCj4+ID4gPiAq IGZvbGQtY29uc3QuY2MgKGNvbnN0X2Jpbm9wKTogSGFuZGxlDQo+PiA+ID4g emVyb3BAMSAgQU5EL0lPUi9YT1IgIFZFQ1RfQ1NUX1NURVBQRURfUEAyDQo+ PiA+ID4gIA0KPj4gPiA+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPj4g PiA+ICANCj4+ID4gPiAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv cHIxMTI5NzEuYzogTmV3IHRlc3QuDQo+PiA+ID4gLS0tDQo+PiA+ID4gZ2Nj L2ZvbGQtY29uc3QuY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDE0ICsrKysrKysrKysrKystDQo+PiA+ID4gLi4uL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvcHIxMTI5NzEuYyAgICB8IDE4ICsrKysrKysrKysr KysrKysrKw0KPj4gPiA+IDIgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQ0KPj4gPiA+IGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv cHIxMTI5NzEuYw0KPj4gPiA+ICANCj4+ID4gPiBkaWZmIC0tZ2l0IGEvZ2Nj L2ZvbGQtY29uc3QuY2MgYi9nY2MvZm9sZC1jb25zdC5jYw0KPj4gPiA+IGlu ZGV4IGY1ZDY4YWMzMjNhLi40M2VkMDk3YmY1YyAxMDA2NDQNCj4+ID4gPiAt LS0gYS9nY2MvZm9sZC1jb25zdC5jYw0KPj4gPiA+ICsrKyBiL2djYy9mb2xk LWNvbnN0LmNjDQo+PiA+ID4gQEAgLTE2NTMsOCArMTY1MywyMCBAQCBjb25z dF9iaW5vcCAoZW51bSB0cmVlX2NvZGUgY29kZSwgdHJlZSBhcmcxLCB0cmVl IGFyZzIpDQo+PiA+ID4gICAgICB7DQo+PiA+ID4gICAgICAgIHRyZWUgdHlw ZSA9IFRSRUVfVFlQRSAoYXJnMSk7DQo+PiA+ID4gICAgICAgIGJvb2wgc3Rl cF9va19wOw0KPj4gPiA+ICsNCj4+ID4gPiArICAgICAgLyogQU5ELCBJT1Ig YXMgd2VsbCBhcyBYT1Igd2l0aCBhIHplcm9wIGNhbiBiZSBoYW5kbGVkIGRp cmVjdGx5LiAgKi8NCj4+ID4gPiAgICAgICAgaWYgKFZFQ1RPUl9DU1RfU1RF UFBFRF9QIChhcmcxKQ0KPj4gPiA+IC0gICAmJiBWRUNUT1JfQ1NUX1NURVBQ RURfUCAoYXJnMikpDQo+PiA+ID4gKyAgICYmIFZFQ1RPUl9DU1RfRFVQTElD QVRFX1AgKGFyZzIpDQo+PiA+ID4gKyAgICYmIGludGVnZXJfemVyb3AgKFZF Q1RPUl9DU1RfRUxUIChhcmcyLCAwKSkpDQo+PiA+ID4gKyBzdGVwX29rX3Ag PSBjb2RlID09IEJJVF9BTkRfRVhQUiB8fCBjb2RlID09IEJJVF9JT1JfRVhQ Ug0KPj4gPiA+ICsgICB8fCBjb2RlID09IEJJVF9YT1JfRVhQUjsNCj4+ID4g PiArICAgICAgZWxzZSBpZiAoVkVDVE9SX0NTVF9TVEVQUEVEX1AgKGFyZzIp DQo+PiA+ID4gKyAgICAgICAgJiYgVkVDVE9SX0NTVF9EVVBMSUNBVEVfUCAo YXJnMSkNCj4+ID4gPiArICAgICAgICAmJiBpbnRlZ2VyX3plcm9wIChWRUNU T1JfQ1NUX0VMVCAoYXJnMSwgMCkpKQ0KPj4gPiA+ICsgc3RlcF9va19wID0g Y29kZSA9PSBCSVRfQU5EX0VYUFIgfHwgY29kZSA9PSBCSVRfSU9SX0VYUFIN Cj4+ID4gPiArICAgfHwgY29kZSA9PSBCSVRfWE9SX0VYUFI7DQo+PiA+ID4g KyAgICAgIGVsc2UgaWYgKFZFQ1RPUl9DU1RfU1RFUFBFRF9QIChhcmcxKQ0K Pj4gPiA+ICsgICAgICAgICYmIFZFQ1RPUl9DU1RfU1RFUFBFRF9QIChhcmcy KSkNCj4+ID4gPiAvKiBXZSBjYW4gb3BlcmF0ZSBkaXJlY3RseSBvbiB0aGUg ZW5jb2RpbmcgaWY6DQo+PiA+ID4gICAgICAgYTMgLSBhMiA9PSBhMiAtIGEx ICYmIGIzIC0gYjIgPT0gYjIgLSBiMQ0KPj4gPiA+IGRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcHIx MTI5NzEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy9wcjExMjk3MS5jDQo+PiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4+ID4gPiBpbmRleCAwMDAwMDAwMDAwMC4uODE2ZWJkM2M0OTMNCj4+ ID4gPiAtLS0gL2Rldi9udWxsDQo+PiA+ID4gKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3ByMTEyOTcxLmMNCj4+ ID4gPiBAQCAtMCwwICsxLDE4IEBADQo+PiA+ID4gKy8qIHsgZGctZG8gY29t cGlsZSB9ICAqLw0KPj4gPiA+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1y djY0Z2N2X3p2bDI1NmIgLW1hYmk9bHA2NGQgLU8zIC1mbm8tdmVjdC1jb3N0 LW1vZGVsIiB9ICAqLw0KPj4gPiA+ICsNCj4+ID4gPiAraW50IGE7DQo+PiA+ ID4gK3Nob3J0IGJbOV07DQo+PiA+ID4gK2NoYXIgYywgZDsNCj4+ID4gPiAr dm9pZCBlKCkgew0KPj4gPiA+ICsgIGQgPSAwOw0KPj4gPiA+ICsgIGZvciAo OzsgZCsrKSB7DQo+PiA+ID4gKyAgICBpZiAoYltkXSkNCj4+ID4gPiArICAg ICAgYnJlYWs7DQo+PiA+ID4gKyAgICBhID0gODsNCj4+ID4gPiArICAgIGZv ciAoOyBhID49IDA7IGEtLSkgew0KPj4gPiA+ICsgICAgICBjaGFyICpmID0g JmM7DQo+PiA+ID4gKyAgICAgICpmICY9IGQgPT0gKGEgJiBkKTsNCj4+ID4g PiArICAgIH0NCj4+ID4gPiArICB9DQo+PiA+ID4gK30NCj4+ID4gPiANCj4+ ID4gIA0KPj4gPiANCj4+ICANCj4+IA0KIA0K ------=_001_NextPart515365200662_=------