From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgsg2.qq.com (smtpbgsg2.qq.com [54.254.200.128]) by sourceware.org (Postfix) with ESMTPS id A1D803856DFE for ; Wed, 24 May 2023 14:11:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A1D803856DFE Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp83t1684937478trbijoe4 Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 24 May 2023 22:11:17 +0800 (CST) X-QQ-SSF: 01400000000000F0R000000A0000000 X-QQ-FEAT: Xz3VOcA7Mr1sS5deWNzD6Nf3S++5H2dB00dLw3wYWG70js3NtpAyJGtrO/ERk W+PkYmZBAKQPv4KmpLgSBbSXNbENhb1kGaFY4rEXnebyqBBdJrBeL+5hRU2FG3NUu2oAlhp Mzi8qPJtVJthu/PMSMvaAS8yGxKln4mh2s84P+PUKzUezqzPc6FKjdsyCTTU+nGIyJ7/y3p 1ccjfF7IqbAV+dBOcMpmJfTvlpWqIizAue0ExTVvL/GltGHC4CMXPwzzmcUKAPTva9ntLlo hBvHnu1dSTyM1IqPmOWYBxd+j8kG7mSnvaQiwy8jDyH9B5OvTgvbeYaKhLHDJGw4fHbRw1C pmYLlwKweJq2N7xGv0W4Wd7Z6oDJ/BDolLP2rSsCKOrGZEzQHsFfTehjI/LWyj++M50Z1gb 7GSatQs+cdsZk+86rThIrxKVJhLx55G1 X-QQ-GoodBg: 2 X-BIZMAIL-ID: 6394948923911443721 Date: Wed, 24 May 2023 22:11:16 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: richard.sandiford Cc: gcc-patches , rguenther Subject: Re: Re: [PATCH V12] VECT: Add decrement IV iteration loop control by variable amount support References: <20230522083814.1647787-1-juzhe.zhong@rivai.ai>, , , , <19FAF964BA45AEBD+202305242126582416128@rivai.ai>, , <2023052422100415521814@rivai.ai> X-Priority: 3 X-GUID: 3ED16B85-EF06-4B97-9D54-F007630605AF X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <9F1EF0D158BEEE39+2023052422111620523915@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart644678305438_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,BODY_8BITS,HTML_MESSAGE,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS,TXREP,T_KAM_HTML_FONT_INVALID,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_NextPart644678305438_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Pj4gQWN0dWFsbHksIEkganVzdCB3YW50IHRvIGhhbmxkZSBtdWx0aXAtcmdy b3VwIGZvciBub24tU0xQIGhlcmUsIEkgYW0gdHJ5aW5nIHRvIGF2b2lkICBt dWx0aXBsaWNhdGlvbiBhbmQgSSB0aGluaw0KPj4gc2NhbGFyIG11bHRpcGxp Y2F0aW9uIChub3QgY29zdCB0b28gbXVjaCkgaXMgZmluZSBpbiBtb2Rlcm4g Q1BVLg0KU29ycnkgZm9yIGluY29ycmVjdCB0eXBvLiBJIGRpZG4ndCB0cnkg dG8gYXZvaWQgbXVsdGlwbGljYXRpb24gYW5kIEkgdGhpbmsgbXVsdGlwbGlj YXRpb24gaXMgZmluZS4NCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0K RnJvbTog6ZKf5bGF5ZOyDQpEYXRlOiAyMDIzLTA1LTI0IDIyOjEwDQpUbzog cmljaGFyZC5zYW5kaWZvcmQNCkNDOiBnY2MtcGF0Y2hlczsgcmd1ZW50aGVy DQpTdWJqZWN0OiBSZTogUmU6IFtQQVRDSCBWMTJdIFZFQ1Q6IEFkZCBkZWNy ZW1lbnQgSVYgaXRlcmF0aW9uIGxvb3AgY29udHJvbCBieSB2YXJpYWJsZSBh bW91bnQgc3VwcG9ydA0KPj4gQm90aCBhcHByb2FjaGVzIGFyZSBmaW5lLiAg SSdtIG5vdCBhZ2FpbnN0IG9uZSBvciB0aGUgb3RoZXIuDQoNCj4+IFdoYXQg SSBkaWRuJ3QgdW5kZXJzdGFuZCB3YXMgd2h5IHlvdXIgcGF0Y2ggb25seSBy ZXVzZXMgZXhpc3RpbmcgSVZzDQo+PiBmb3IgbWF4X25zY2FsYXJzX3Blcl9p dGVyID09IDEuICBXYXMgaXQgdG8gYXZvaWQgaGF2aW5nIHRvIGRvIGENCj4+ IG11bHRpcGxpY2F0aW9uICh3ZWxsLCByZWFsbHkgYSBzaGlmdCBsZWZ0KSB3 aGVuIG1vdmluZyBmcm9tIG9uZQ0KPj4gcmdyb3VwIHRvIGFub3RoZXI/ICBF LmcuIGlmIG9uZSByZ3JvdXAgaGFkOw0KDQo+PiAgIG5zY2FsYXJzX3Blcl9p dGVyID09IDIgJiYgZmFjdG9yID09IDENCg0KPj4gYW5kIGFub3RoZXIgaGFk Og0KDQo+PiAgIG5zY2FsYXJzX3Blcl9pdGVyID09IDQgJiYgZmFjdG9yID09 IDENCg0KPj4gdGhlbiB3ZSB3b3VsZCBuZWVkIHRvIG11bGl0cGx5IGJ5IDIg d2hlbiBnb2luZyBmcm9tIHRoZSBmaXJzdCByZ3JvdXANCj4+IHRvIHRoZSBz ZWNvbmQuDQoNCj4+IElmIHNvLCBhdm9pZGluZyBhIG11bHRpcGxpY2F0aW9u IHNlZW1zIGxpa2UgYSBnb29kIHJlYXNvbiBmb3IgdGhlIGNob2ljZQ0KPj4g eW91IHdlcmUgbWFraW5nIGluIHRoZSBwYXRoLiAgQnV0IHdlIHRoZW4gbmVl ZCB0byBjaGVjaw0KPj4gbWF4X25zY2FsYXJzX3Blcl9pdGVyID09IDEgZm9y IGJvdGggdGhlIHNvdXJjZSByZ3JvdXAgYW5kIHRoZQ0KPj4gZGVzdGluYXRp b24gcmdyb3VwLCBub3QganVzdCB0aGUgZGVzdGluYXRpb24uICBBbmQgSSB0 aGluayB0aGUNCj4+IGNvbmRpdGlvbiBmb3Ig4oCcbm8gbXVsdGlwbGljYXRp b24gbmVlZGVk4oCdIHNob3VsZCBiZSB0aGF0Og0KDQpPaCwgSSBkaWRuJ3Qg cmVhbGl6ZSBzdWNoIGNvbXBsaWNhdGVkIHByb2JsZW0uIEZyYW5rbHksIEkg ZGlkbid0IHVuZGVyc3RhbmQgd2VsbA0Kcmdyb3VwLiBTb3JyeSBhYm91dCB0 aGF0IDopLg0KDQpJIGp1c3QgcmVtZW1iZXIgbGFzdCB0aW1lIHlvdSBzYWlk IEkgbmVlZCB0byBoYW5kbGUgbXVsdGlwbGUtcmdyb3VwDQpub3Qgb25seSBm b3IgU0xQIGJ1dCBhbHNvIG5vbi1TTFAgKHdoaWNoIGlzIHZlY19wYWNrX3Ry dW5rIHRoYXQgSSB0ZXN0ZWQpLg0KVGhlbiBJIGFza2VkIHlvdSB3aGVuIGlz IG5vbi1TTFAsIHlvdSBzYWlkIG1heF9uc2NhbGFyc19wZXJfaXRlciA9PSAx Lg0KVGhlbiBJIHVzZSBtYXhfbnNjYWxhcnNfcGVyX2l0ZXIgPT0gMSBoZXJl IChJIGRpZG4ndCByZWFsbHkgbGVhbiB2ZXJ5IHdlbGwgZnJvbSB0aGlzLCBq dXN0IGFkZCBpdCBhcyB5b3Ugc2FpZCkuIA0KDQpBY3R1YWxseSwgSSBqdXN0 IHdhbnQgdG8gaGFubGRlIG11bHRpcC1yZ3JvdXAgZm9yIG5vbi1TTFAgaGVy ZSwgSSBhbSB0cnlpbmcgdG8gYXZvaWQgIG11bHRpcGxpY2F0aW9uIGFuZCBJ IHRoaW5rDQpzY2FsYXIgbXVsdGlwbGljYXRpb24gKG5vdCBjb3N0IHRvbyBt dWNoKSBpcyBmaW5lIGluIG1vZGVybiBDUFUuDQoNClNvLCB3aGF0IGRvIHlv dSBzdWdnZXN0IHRoYXQgSSBoYW5kbGUgbXVsdGlwbGUtcmdyb3VwIGZvciBu b24tU0xQLg0KDQpUaGFua3MuDQoNCg0KanV6aGUuemhvbmdAcml2YWkuYWkN CiANCkZyb206IFJpY2hhcmQgU2FuZGlmb3JkDQpEYXRlOiAyMDIzLTA1LTI0 IDIyOjAxDQpUbzog6ZKf5bGF5ZOyDQpDQzogZ2NjLXBhdGNoZXM7IHJndWVu dGhlcg0KU3ViamVjdDogUmU6IFtQQVRDSCBWMTJdIFZFQ1Q6IEFkZCBkZWNy ZW1lbnQgSVYgaXRlcmF0aW9uIGxvb3AgY29udHJvbCBieSB2YXJpYWJsZSBh bW91bnQgc3VwcG9ydA0K6ZKf5bGF5ZOyIDxqdXpoZS56aG9uZ0ByaXZhaS5h aT4gd3JpdGVzOg0KPj4+IEluIG90aGVyIHdvcmRzLCB3aHkgaXMgdGhpcyBk aWZmZXJlbnQgZnJvbSB3aGF0DQo+Pj52ZWN0X3NldF9sb29wX2NvbnRyb2xz X2RpcmVjdGx5IHdvdWxkIGRvPw0KPiBPaCwgSSBzZWUuICBZb3UgYXJlIGNv bmZ1c2VkIHRoYXQgd2h5IEkgZG8gbm90IG1ha2UgbXVsdGlwbGUtcmdyb3Vw IHZlY190cnVuaw0KPiBoYW5kbGluZyBpbnNpZGUgInZlY3Rfc2V0X2xvb3Bf Y29udHJvbHNfZGlyZWN0bHkiLg0KPg0KPiBXZWxsLiBGcmFua2x5LCBJIGp1 c3QgcmVwbGljYXRlIHRoZSBoYW5kbGluZyBvZiBBUk0gU1ZFOg0KPiB1bnNp Z25lZCBpbnQgbm1hc2tzID0gaSArIDE7DQo+ICAgICAgICAgaWYgKHVzZV9t YXNrc19wICYmIChubWFza3MgJiAxKSA9PSAwKQ0KPiAgICAgICAgICAgew0K PiAgICAgICAgICAgICByZ3JvdXBfY29udHJvbHMgKmhhbGZfcmdjID0gJigq Y29udHJvbHMpW25tYXNrcyAvIDIgLSAxXTsNCj4gICAgICAgICAgICAgaWYg KCFoYWxmX3JnYy0+Y29udHJvbHMuaXNfZW1wdHkgKCkNCj4gICAgICAgICAg ICAgICAgICYmIHZlY3RfbWF5YmVfcGVybXV0ZV9sb29wX21hc2tzICgmaGVh ZGVyX3NlcSwgcmdjLCBoYWxmX3JnYykpDQo+ICAgICAgICAgICAgICAgY29u dGludWU7DQo+ICAgICAgICAgICB9DQo+DQo+IC8qIFRyeSB0byB1c2UgcGVy bXV0ZXMgdG8gZGVmaW5lIHRoZSBtYXNrcyBpbiBERVNUX1JHTSB1c2luZyB0 aGUgbWFza3MNCj4gICAgaW4gU1JDX1JHTSwgZ2l2ZW4gdGhhdCB0aGUgZm9y bWVyIGhhcyB0d2ljZSBhcyBtYW55IG1hc2tzIGFzIHRoZQ0KPiAgICBsYXR0 ZXIuICBSZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBhZGRpbmcgYW55IG5ldyBz dGF0ZW1lbnRzIHRvIFNFUS4gICovDQo+DQo+IHN0YXRpYyBib29sDQo+IHZl Y3RfbWF5YmVfcGVybXV0ZV9sb29wX21hc2tzIChnaW1wbGVfc2VxICpzZXEs IHJncm91cF9jb250cm9scyAqZGVzdF9yZ20sDQo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZ3JvdXBfY29udHJvbHMgKnNyY19yZ20pDQo+ IHsNCj4gICB0cmVlIHNyY19tYXNrdHlwZSA9IHNyY19yZ20tPnR5cGU7DQo+ ICAgdHJlZSBkZXN0X21hc2t0eXBlID0gZGVzdF9yZ20tPnR5cGU7DQo+ICAg bWFjaGluZV9tb2RlIHNyY19tb2RlID0gVFlQRV9NT0RFIChzcmNfbWFza3R5 cGUpOw0KPiAgIGluc25fY29kZSBpY29kZTEsIGljb2RlMjsNCj4gICBpZiAo ZGVzdF9yZ20tPm1heF9uc2NhbGFyc19wZXJfaXRlciA8PSBzcmNfcmdtLT5t YXhfbnNjYWxhcnNfcGVyX2l0ZXINCj4gICAgICAgJiYgKGljb2RlMSA9IG9w dGFiX2hhbmRsZXIgKHZlY191bnBhY2t1X2hpX29wdGFiLA0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX21vZGUpKSAhPSBDT0RF X0ZPUl9ub3RoaW5nDQo+ICAgICAgICYmIChpY29kZTIgPSBvcHRhYl9oYW5k bGVyICh2ZWNfdW5wYWNrdV9sb19vcHRhYiwNCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNyY19tb2RlKSkgIT0gQ09ERV9GT1Jfbm90 aGluZykNCj4gICAgIHsNCj4gICAgICAgLyogVW5wYWNraW5nIHRoZSBzb3Vy Y2UgbWFza3MgZ2l2ZXMgYXQgbGVhc3QgYXMgbWFueSBtYXNrIGJpdHMgYXMN Cj4gICAgICAgICAgd2UgbmVlZC4gIFdlIGNhbiB0aGVuIFZJRVdfQ09OVkVS VCBhbnkgZXhjZXNzIGJpdHMgYXdheS4gICovDQo+ICAgICAgIG1hY2hpbmVf bW9kZSBkZXN0X21vZGUgPSBpbnNuX2RhdGFbaWNvZGUxXS5vcGVyYW5kWzBd Lm1vZGU7DQo+ICAgICAgIGdjY19hc3NlcnQgKGRlc3RfbW9kZSA9PSBpbnNu X2RhdGFbaWNvZGUyXS5vcGVyYW5kWzBdLm1vZGUpOw0KPiAgICAgICB0cmVl IHVucGFja19tYXNrdHlwZSA9IHZlY3RfaGFsdmVfbWFza19udW5pdHMgKHNy Y19tYXNrdHlwZSwgZGVzdF9tb2RlKTsNCj4gICAgICAgZm9yICh1bnNpZ25l ZCBpbnQgaSA9IDA7IGkgPCBkZXN0X3JnbS0+Y29udHJvbHMubGVuZ3RoICgp OyArK2kpDQo+ICAgICAgICAgew0KPiAgICAgICAgICAgdHJlZSBzcmMgPSBz cmNfcmdtLT5jb250cm9sc1tpIC8gMl07DQo+ICAgICAgICAgICB0cmVlIGRl c3QgPSBkZXN0X3JnbS0+Y29udHJvbHNbaV07DQo+ICAgICAgICAgICB0cmVl X2NvZGUgY29kZSA9ICgoaSAmIDEpID09IChCWVRFU19CSUdfRU5ESUFOID8g MCA6IDEpDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFZFQ19V TlBBQ0tfSElfRVhQUg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OiBWRUNfVU5QQUNLX0xPX0VYUFIpOw0KPiAgICAgICAgICAgZ2Fzc2lnbiAq c3RtdDsNCj4gICAgICAgICAgIGlmIChkZXN0X21hc2t0eXBlID09IHVucGFj a19tYXNrdHlwZSkNCj4gICAgICAgICAgICAgc3RtdCA9IGdpbXBsZV9idWls ZF9hc3NpZ24gKGRlc3QsIGNvZGUsIHNyYyk7DQo+ICAgICAgICAgICBlbHNl DQo+ICAgICAgICAgICAgIHsNCj4gICAgICAgICAgICAgICB0cmVlIHRlbXAg PSBtYWtlX3NzYV9uYW1lICh1bnBhY2tfbWFza3R5cGUpOw0KPiAgICAgICAg ICAgICAgIHN0bXQgPSBnaW1wbGVfYnVpbGRfYXNzaWduICh0ZW1wLCBjb2Rl LCBzcmMpOw0KPiAgICAgICAgICAgICAgIGdpbXBsZV9zZXFfYWRkX3N0bXQg KHNlcSwgc3RtdCk7DQo+ICAgICAgICAgICAgICAgc3RtdCA9IGdpbXBsZV9i dWlsZF9hc3NpZ24gKGRlc3QsIFZJRVdfQ09OVkVSVF9FWFBSLA0KPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZDEg KFZJRVdfQ09OVkVSVF9FWFBSLA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RfbWFza3R5cGUsIHRl bXApKTsNCj4gICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgZ2ltcGxlX3Nl cV9hZGRfc3RtdCAoc2VxLCBzdG10KTsNCj4gICAgICAgICB9DQo+ICAgICAg IHJldHVybiB0cnVlOw0KPiAgICAgfQ0KPiAgIHZlY19wZXJtX2luZGljZXMg aW5kaWNlc1syXTsNCj4gICBpZiAoZGVzdF9tYXNrdHlwZSA9PSBzcmNfbWFz a3R5cGUNCj4gICAgICAgJiYgaW50ZXJsZWF2ZV9zdXBwb3J0ZWRfcCAoJmlu ZGljZXNbMF0sIHNyY19tYXNrdHlwZSwgMCkNCj4gICAgICAgJiYgaW50ZXJs ZWF2ZV9zdXBwb3J0ZWRfcCAoJmluZGljZXNbMV0sIHNyY19tYXNrdHlwZSwg MSkpDQo+ICAgICB7DQo+ICAgICAgIC8qIFRoZSBkZXN0aW5hdGlvbiByZXF1 aXJlcyB0d2ljZSBhcyBtYW55IG1hc2sgYml0cyBhcyB0aGUgc291cmNlLCBz bw0KPiAgICAgICAgICB3ZSBjYW4gdXNlIGludGVybGVhdmluZyBwZXJtdXRl cyB0byBkb3VibGUgdXAgdGhlIG51bWJlciBvZiBiaXRzLiAgKi8NCj4gICAg ICAgdHJlZSBtYXNrc1syXTsNCj4gICAgICAgZm9yICh1bnNpZ25lZCBpbnQg aSA9IDA7IGkgPCAyOyArK2kpDQo+ICAgICAgICAgbWFza3NbaV0gPSB2ZWN0 X2dlbl9wZXJtX21hc2tfY2hlY2tlZCAoc3JjX21hc2t0eXBlLCBpbmRpY2Vz W2ldKTsNCj4gICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBk ZXN0X3JnbS0+Y29udHJvbHMubGVuZ3RoICgpOyArK2kpDQo+ICAgICAgICAg ew0KPiAgICAgICAgICAgdHJlZSBzcmMgPSBzcmNfcmdtLT5jb250cm9sc1tp IC8gMl07DQo+ICAgICAgICAgICB0cmVlIGRlc3QgPSBkZXN0X3JnbS0+Y29u dHJvbHNbaV07DQo+ICAgICAgICAgICBnaW1wbGUgKnN0bXQgPSBnaW1wbGVf YnVpbGRfYXNzaWduIChkZXN0LCBWRUNfUEVSTV9FWFBSLA0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjLCBz cmMsIG1hc2tzW2kgJiAxXSk7DQo+ICAgICAgICAgICBnaW1wbGVfc2VxX2Fk ZF9zdG10IChzZXEsIHN0bXQpOw0KPiAgICAgICAgIH0NCj4gICAgICAgcmV0 dXJuIHRydWU7DQo+ICAgICB9DQo+ICAgcmV0dXJuIGZhbHNlOw0KPiB9DQo+ DQo+IEkga25vdyB0aGlzIGlzIGp1c3Qgb3B0aW1pemF0aW9uIGZvciBBUk0g U1ZFIHdpdGggc3ViX3JnYyAoaW50MTYpICBpcyBoYWxmIHNpemUgb2Ygcmdj IChpbnQ4KS4NCj4gQnV0IHdoZW4gSSBqdXN0IGNvcHkgdGhlIGNvZGVzIGZy b20gQVJNIFNWRSBhbmQgbWFrZSBpdCBnZW5lcmFsIGZvciBhbGwgY2FzZXMg KGludDggPC0+IGludDY0KS4NCj4gVGhleSBhbGwgd29yayB3ZWxsIGFuZCBj b2RlZ2VuIGlzIGdvb2QuIA0KPg0KPiBJZiB5b3UgZG9uJ3QgbGlrZSB0aGlz IHdheSwgd291bGQgeW91IG1pbmQgZ2l2ZSBtZSBzb21lIHN1Z2dlc3Rpb25z Pw0KIA0KSXQncyBub3QgYSBjYXNlIG9mIGRpc2xpa2luZyBvbmUgYXBwcm9h Y2ggb3IgZGlzbGlraW5nIGFub3RoZXIuDQpUaGVyZSBhcmUgdHdvIHNlcGFy YXRlIHBhcnRzIG9mIHRoaXM6IG9uZSBzcGVjaWZpYyBhbmQgb25lIGdlbmVy YWwuDQogDQpUaGUgc3BlY2lmaWMgcGFydCBpcyB0aGF0IHRoZSBjb2RlIGhh ZDoNCiANCiAgICByZ3JvdXBfY29udHJvbHMgKnN1Yl9yZ2MNCiAgICAgID0g JigqY29udHJvbHMpW25tYXNrcyAvIHJnYy0+Y29udHJvbHMubGVuZ3RoICgp IC0gMV07DQogICAgaWYgKCFzdWJfcmdjLT5jb250cm9scy5pc19lbXB0eSAo KSkNCiAgICAgIHsNCnRyZWUgaXZfdHlwZSA9IExPT1BfVklORk9fUkdST1VQ X0lWX1RZUEUgKGxvb3BfdmluZm8pOw0KdmVjdF9hZGp1c3RfbG9vcF9sZW5z X2NvbnRyb2wgKGl2X3R5cGUsICZoZWFkZXJfc2VxLCByZ2MsDQogICAgICAg c3ViX3JnYywgTlVMTF9UUkVFKTsNCmNvbnRpbnVlOw0KICAgICAgfQ0KIA0K QnV0IEFJVUksIG5tYXNrcyBpcyBhbHdheXMgZXF1YWwgdG8gcmdjLT5jb250 cm9scy5sZW5ndGggKCkNCihpZiByZ2MtPmNvbnRyb2xzIGlzIG5vbi1lbXB0 eSkuICBTbyBJIHRoaW5rIHRoaXMgYWx3YXlzIHVzZWQNCigqY29udHJvbHMp WzBdIGFzIHRoZSBzb3VyY2Ugcmdyb3VwLiAgQW5kIEkgdGhpbmsgdGhhdCdz IHRoZQ0Kb25seSBjYXNlIHRoYXQgd291bGQgd29yaywgc2luY2UgdmVjdF9h ZGp1c3RfbG9vcF9sZW5zX2NvbnRyb2wNCm9ubHkgcmVhZHMgZnJvbSBzdWJf cmdjIG9uY2UuICBJcyB0aGF0IHJpZ2h0Pw0KIA0KSXQgd291bGQgYmUgcG9z c2libGUgdG8gbWFrZSBvdGhlciBzb3VyY2Ugcmdyb3VwcyB3b3JrLCBidXQg aXQNCndvdWxkIGludm9sdmUgcmVhZGluZyBldmVyeSBlbGVtZW50IG9mIHN1 Yl9yZ2MtPmNvbnRyb2xzLCBub3QganVzdA0Kc3ViX3JnYy0+Y29udHJvbHNb MF0uICAoVGhpcyBpcyBhbHNvIHdoYXQgdGhlIFNWRSBjb2RlIGRvZXMuKQ0K IA0KVGhlIGdlbmVyYWwgcG9pbnQgaXMgdGhhdCB0aGVyZSBhcmUgdHdvIGV4 dHJlbWUgYXBwcm9hY2hlczoNCiANCigxKSBVc2Ugb25lIElWLCBhbmQgYmFz ZSBldmVyeXRoaW5nIG9mZiB0aGF0Lg0KIA0KKDIpIFVzZSBhIHNlcGFyYXRl IElWIGZvciBldmVyeSByZ3JvdXAuDQogDQpJdCdzIGFsc28gcG9zc2libGUg dG8gZG8gc29tZXRoaW5nIGJldHdlZW4gdGhlc2UgdHdvIGV4dHJlbWVzLg0K KEFuZCB3ZSBzaG91bGQsIGlmIGl0IGdpdmVzIGJldHRlciBjb2RlLikNCiAN ClRoZSBjb2RlIGFib3ZlIHJldXNlcyBhbiBleGlzdGluZyBJVi4gIERvaW5n IHRoYXQgZm9yIGFsbCBtdWx0aS1jb250cm9sDQpyZ3JvdXBzIHdvdWxkIGdp dmUgKDEpLiAgQXQgdGhlIG90aGVyIGV4dHJlbWUsICgyKSB3b3VsZCBpbnZv bHZlIGNhbGxpbmcNCnZlY3Rfc2V0X2xvb3BfY29udHJvbHNfZGlyZWN0bHkg Zm9yIGV2ZXJ5IHJncm91cC4NCiANCkJvdGggYXBwcm9hY2hlcyBhcmUgZmlu ZS4gIEknbSBub3QgYWdhaW5zdCBvbmUgb3IgdGhlIG90aGVyLg0KIA0KV2hh dCBJIGRpZG4ndCB1bmRlcnN0YW5kIHdhcyB3aHkgeW91ciBwYXRjaCBvbmx5 IHJldXNlcyBleGlzdGluZyBJVnMNCmZvciBtYXhfbnNjYWxhcnNfcGVyX2l0 ZXIgPT0gMS4gIFdhcyBpdCB0byBhdm9pZCBoYXZpbmcgdG8gZG8gYQ0KbXVs dGlwbGljYXRpb24gKHdlbGwsIHJlYWxseSBhIHNoaWZ0IGxlZnQpIHdoZW4g bW92aW5nIGZyb20gb25lDQpyZ3JvdXAgdG8gYW5vdGhlcj8gIEUuZy4gaWYg b25lIHJncm91cCBoYWQ7DQogDQogIG5zY2FsYXJzX3Blcl9pdGVyID09IDIg JiYgZmFjdG9yID09IDENCiANCmFuZCBhbm90aGVyIGhhZDoNCiANCiAgbnNj YWxhcnNfcGVyX2l0ZXIgPT0gNCAmJiBmYWN0b3IgPT0gMQ0KIA0KdGhlbiB3 ZSB3b3VsZCBuZWVkIHRvIG11bGl0cGx5IGJ5IDIgd2hlbiBnb2luZyBmcm9t IHRoZSBmaXJzdCByZ3JvdXANCnRvIHRoZSBzZWNvbmQuDQogDQpJZiBzbywg YXZvaWRpbmcgYSBtdWx0aXBsaWNhdGlvbiBzZWVtcyBsaWtlIGEgZ29vZCBy ZWFzb24gZm9yIHRoZSBjaG9pY2UNCnlvdSB3ZXJlIG1ha2luZyBpbiB0aGUg cGF0aC4gIEJ1dCB3ZSB0aGVuIG5lZWQgdG8gY2hlY2sNCm1heF9uc2NhbGFy c19wZXJfaXRlciA9PSAxIGZvciBib3RoIHRoZSBzb3VyY2Ugcmdyb3VwIGFu ZCB0aGUNCmRlc3RpbmF0aW9uIHJncm91cCwgbm90IGp1c3QgdGhlIGRlc3Rp bmF0aW9uLiAgQW5kIEkgdGhpbmsgdGhlDQpjb25kaXRpb24gZm9yIOKAnG5v IG11bHRpcGxpY2F0aW9uIG5lZWRlZOKAnSBzaG91bGQgYmUgdGhhdDoNCiAN CiAgbWF4X25zY2FsYXJzX3Blcl9pdGVyICogZmFjdG9yDQogDQooYWthICJu aXRlbXNfcGVyX2l0ZXIiKSBpcyB0aGUgc2FtZSBmb3IgYm90aCBncm91cHMu DQogDQpUaGFua3MsDQpSaWNoYXJkDQogDQo= ------=_001_NextPart644678305438_=------