From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) by sourceware.org (Postfix) with ESMTPS id 6FFEE3858D32 for ; Tue, 13 Jun 2023 02:27:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6FFEE3858D32 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: bizesmtp69t1686623231ts9dkawj Received: from LAPTOP-EPITNQBU ( [58.60.1.5]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 13 Jun 2023 10:27:10 +0800 (CST) X-QQ-SSF: 01400000000000F0S000000A0000000 X-QQ-FEAT: eSZ1CZgv+JBwG5Vegz07+emZgqvsjHyjd3k9luck94NA+pXTZwRVS7Klv0S8y idx4lJkxZwTh2ODMIYQfBp/Rcqj0oi1UIfg4w0Le1NnFvyq1KIRNCAzgJB4aJRwOxgPZ8QN LCgmxcKHxFkj6tK5bD+qn9nJ4d/Bfilkjz/L4hGJqxmuXdjPH1OAtoLDuOEOwEg0SzP8Gis 7NHgA0/6hK3ImBBfparo0UfbXY1SDaGJIVOGd04Snr3cqZ/oI/L8zxgndlrxE6QJYc9bTQW 5hq0P+DLapT7QlcY3kSDf2mjoVzm2JJBTao7w4PWbdnQVmigDRW3H+t3OeMzpLRDu4zMscR PXpI663rDGODKiPbGN1vVdkBCbs2QHkmygsIMqL1WVTjf+hc00qA91GFp2owlDVEjyKrAfI eELFprGe37Iyq56zhz7h8QPq1s4J/pN0 X-QQ-GoodBg: 2 X-BIZMAIL-ID: 4563403554726682209 Date: Tue, 13 Jun 2023 10:27:10 +0800 From: "juzhe.zhong@rivai.ai" To: jeffreyalaw , gcc-patches Cc: kito.cheng , Kito.cheng , palmer , palmer , "Robin Dapp" , pan2.li Subject: Re: Re: [PATCH V2] RISC-V: Support RVV VLA SLP auto-vectorization References: <20230607031915.115114-1-juzhe.zhong@rivai.ai>, <03469f7f-0812-ab09-e2e9-607689bd1dca@gmail.com> X-Priority: 3 X-GUID: DCDB0121-F47B-43F2-90ED-E67E2D30311E X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart107080673134_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_PASS,TXREP,T_KAM_HTML_FONT_INVALID,T_SCC_BODY_TEXT_LINE,T_SPF_HELO_TEMPERROR autolearn=no 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_NextPart107080673134_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 T2suDQpodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hl cy8yMDIzLUp1bmUvdGhyZWFkLmh0bWwgDQpJIGhhdmUgYWRkIGNvbW1lbnRz IGFzIHlvdSBzdWdnZXN0ZWQuDQoNCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5h aQ0KIA0KRnJvbTogSmVmZiBMYXcNCkRhdGU6IDIwMjMtMDYtMTMgMDc6MjEN ClRvOiBqdXpoZS56aG9uZzsgZ2NjLXBhdGNoZXMNCkNDOiBraXRvLmNoZW5n OyBraXRvLmNoZW5nOyBwYWxtZXI7IHBhbG1lcjsgcmRhcHAuZ2NjOyBwYW4y LmxpDQpTdWJqZWN0OiBSZTogW1BBVENIIFYyXSBSSVNDLVY6IFN1cHBvcnQg UlZWIFZMQSBTTFAgYXV0by12ZWN0b3JpemF0aW9uDQogDQogDQpPbiA2LzYv MjMgMjE6MTksIGp1emhlLnpob25nQHJpdmFpLmFpIHdyb3RlOg0KPiBGcm9t OiBKdXpoZS1aaG9uZyA8anV6aGUuemhvbmdAcml2YWkuYWk+DQo+IA0KPiBU aGlzIHBhdGNoIGVuYWJsZXMgYmFzaWMgVkxBIFNMUCBhdXRvLXZlY3Rvcml6 YXRpb24uDQo+IENvbnNpZGVyIHRoaXMgZm9sbG93aW5nIGNhc2U6DQo+IHZv aWQNCj4gZiAodWludDhfdCAqcmVzdHJpY3QgYSwgdWludDhfdCAqcmVzdHJp Y3QgYikNCj4gew0KPiAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwMDsgKytp KQ0KPiAgICAgIHsNCj4gICAgICAgIGFbaSAqIDggKyAwXSA9IGJbaSAqIDgg KyA3XSArIDE7DQo+ICAgICAgICBhW2kgKiA4ICsgMV0gPSBiW2kgKiA4ICsg N10gKyAyOw0KPiAgICAgICAgYVtpICogOCArIDJdID0gYltpICogOCArIDdd ICsgODsNCj4gICAgICAgIGFbaSAqIDggKyAzXSA9IGJbaSAqIDggKyA3XSAr IDQ7DQo+ICAgICAgICBhW2kgKiA4ICsgNF0gPSBiW2kgKiA4ICsgN10gKyA1 Ow0KPiAgICAgICAgYVtpICogOCArIDVdID0gYltpICogOCArIDddICsgNjsN Cj4gICAgICAgIGFbaSAqIDggKyA2XSA9IGJbaSAqIDggKyA3XSArIDc7DQo+ ICAgICAgICBhW2kgKiA4ICsgN10gPSBiW2kgKiA4ICsgN10gKyAzOw0KPiAg ICAgIH0NCj4gfQ0KPiANCj4gVG8gZW5hYmxlIFZMQSBTTFAgYXV0by12ZWN0 b3JpemF0aW9uLCB3ZSBzaG91bGQgYmUgYWJsZSB0byBoYW5kbGUgdGhpcyBm b2xsb3dpbmcgY29uc3QgdmVjdG9yOg0KPiANCj4gMS4gTlBBVFRFUk5TID0g OCwgTkVMVFNfUEVSX1BBVFRFUk4gPSAzLg0KPiB7IDAsIDAsIDAsIDAsIDAs IDAsIDAsIDAsIDgsIDgsIDgsIDgsIDgsIDgsIDgsIDgsIDE2LCAxNiwgMTYs IDE2LCAxNiwgMTYsIDE2LCAxNiwgLi4uIH0NCj4gDQo+IDIuIE5QQVRURVJO UyA9IDgsIE5FTFRTX1BFUl9QQVRURVJOID0gMS4NCj4geyAxLCAyLCA4LCA0 LCA1LCA2LCA3LCAzLCAuLi4gfQ0KPiANCj4gQW5kIHRoZXNlIHZlY3RvciBj YW4gYmUgZ2VuZXJhdGVkIGF0IHByb2xvZ3VlLg0KPiANCj4gQWZ0ZXIgdGhp cyBwYXRjaCwgd2UgZW5kIHVwIHdpdGggdGhpcyBmb2xsb3dpbmcgY29kZWdl bjoNCj4gDQo+IFByb2xvZ3VlOg0KPiAuLi4NCj4gICAgICAgICAgdnNldHZs aSBhNyx6ZXJvLGUxNixtMix0YSxtYQ0KPiAgICAgICAgICB2aWQudiAgIHY0 DQo+ICAgICAgICAgIHZzcmwudmkgdjQsdjQsMw0KPiAgICAgICAgICBsaSAg ICAgIGEzLDgNCj4gICAgICAgICAgdm11bC52eCB2NCx2NCxhMyAgPT09PiB2 NCA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOCwgOCwgOCwgOCwgOCwg OCwgOCwgOCwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAuLi4g fQ0KPiAuLi4NCj4gICAgICAgICAgbGkgICAgICB0MSw2NzYzMzE1Mg0KPiAg ICAgICAgICBhZGRpICAgIHQxLHQxLDUxMw0KPiAgICAgICAgICBsaSAgICAg IGEzLDUwNzkwNDAwDQo+ICAgICAgICAgIGFkZGkgICAgYTMsYTMsMTU0MQ0K PiAgICAgICAgICBzbGxpICAgIGEzLGEzLDMyDQo+ICAgICAgICAgIGFkZCAg ICAgYTMsYTMsdDENCj4gICAgICAgICAgdnNldHZsaSB0MSx6ZXJvLGU2NCxt MSx0YSxtYQ0KPiAgICAgICAgICB2bXYudi54IHYzLGEzICAgPT09PiB2MyA9 IHsgMSwgMiwgOCwgNCwgNSwgNiwgNywgMywgLi4uIH0NCj4gLi4uDQo+IExv b3BCb2R5Og0KPiAuLi4NCj4gICAgICAgICAgbWluICAgICBhMywuLi4NCj4g ICAgICAgICAgdnNldHZsaSB6ZXJvLGEzLGU4LG0xLHRhLG1hDQo+ICAgICAg ICAgIHZsZTgudiAgdjIsMChhNikNCj4gICAgICAgICAgdnNldHZsaSBhNyx6 ZXJvLGU4LG0xLHRhLG1hDQo+ICAgICAgICAgIHZyZ2F0aGVyZWkxNi52diB2 MSx2Mix2NA0KPiAgICAgICAgICB2YWRkLnZ2IHYxLHYxLHYzDQo+ICAgICAg ICAgIHZzZXR2bGkgemVybyxhMyxlOCxtMSx0YSxtYQ0KPiAgICAgICAgICB2 c2U4LnYgIHYxLDAoYTIpDQo+ICAgICAgICAgIGFkZCAgICAgYTYsYTYsYTQN Cj4gICAgICAgICAgYWRkICAgICBhMixhMixhNA0KPiAgICAgICAgICBtdiAg ICAgIGEzLGE1DQo+ICAgICAgICAgIGFkZCAgICAgYTUsYTUsdDENCj4gICAg ICAgICAgYmd0dSAgICBhMyxhNCwuTDMNCj4gLi4uDQo+IA0KPiBOb3RlOiB3 ZSBuZWVkIHRvIHVzZSAidnJnYXRoZXJlaTE2LnZ2IiBpbnN0ZWFkIG9mICJ2 cmdhdGhlci52diIgZm9yIFNFVyA9IDggc2luY2UgInZyZ2F0aGVyZWkxNi52 diIgY2FuIGNvdmVyIGxhcmdlcg0KPiAgICAgICAgcmFuZ2UgdGhhbiAidnJn YXRoZXIudnYiICh3aGljaCBvbmx5IGNhbiBtYXhpbXVtIGVsZW1lbnQgaW5k ZXggPSAyNTUpLg0KPiBFcGlsb2d1ZToNCj4gICAgICAgICAgbGJ1ICAgICBh NSw3OTkoYTEpDQo+ICAgICAgICAgIGFkZGl3ICAgYTQsYTUsMQ0KPiAgICAg ICAgICBzYiAgICAgIGE0LDc5MihhMCkNCj4gICAgICAgICAgYWRkaXcgICBh NCxhNSwyDQo+ICAgICAgICAgIHNiICAgICAgYTQsNzkzKGEwKQ0KPiAgICAg ICAgICBhZGRpdyAgIGE0LGE1LDgNCj4gICAgICAgICAgc2IgICAgICBhNCw3 OTQoYTApDQo+ICAgICAgICAgIGFkZGl3ICAgYTQsYTUsNA0KPiAgICAgICAg ICBzYiAgICAgIGE0LDc5NShhMCkNCj4gICAgICAgICAgYWRkaXcgICBhNCxh NSw1DQo+ICAgICAgICAgIHNiICAgICAgYTQsNzk2KGEwKQ0KPiAgICAgICAg ICBhZGRpdyAgIGE0LGE1LDYNCj4gICAgICAgICAgc2IgICAgICBhNCw3OTco YTApDQo+ICAgICAgICAgIGFkZGl3ICAgYTQsYTUsNw0KPiAgICAgICAgICBz YiAgICAgIGE0LDc5OChhMCkNCj4gICAgICAgICAgYWRkaXcgICBhNSxhNSwz DQo+ICAgICAgICAgIHNiICAgICAgYTUsNzk5KGEwKQ0KPiAgICAgICAgICBy ZXQNCj4gDQo+IFRoZXJlIGlzIG9uZSBtb3JlIGxhc3QgdGhpbmcgd2UgbmVl ZCB0byBkbyBpcyB0aGUgIkVwaWxvZ3VlIGF1dG8tdmVjdG9yaXphdGlvbiIg d2hpY2ggbmVlZHMgVkxTIG1vZGVzIHN1cHBvcnQuDQo+IEkgd2lsbCBzdXBw b3J0IFZMUyBtb2RlcyBmb3IgIkVwaWxvZ3VlIGF1dG8tdmVjdG9yaXphdGlv biIgaW4gdGhlIGZ1dHVyZS4NCj4gDQo+IGdjYy9DaGFuZ2VMb2c6DQo+IA0K PiAgICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaCAoZXhw YW5kX3ZlY19wZXJtX2NvbnN0KTogTmV3IGZ1bmN0aW9uLg0KPiAgICAgICAg ICAqIGNvbmZpZy9yaXNjdi9yaXNjdi12LmNjIChydnZfYnVpbGRlcjo6Y2Fu X2R1cGxpY2F0ZV9yZXBlYXRpbmdfc2VxdWVuY2VfcCk6IFN1cHBvcnQgUE9M WSBoYW5kbGluZy4NCj4gICAgICAgICAgKHJ2dl9idWlsZGVyOjpzaW5nbGVf c3RlcF9ucGF0dGVybnNfcCk6IE5ldyBmdW5jdGlvbi4NCj4gICAgICAgICAg KHJ2dl9idWlsZGVyOjpucGF0dGVybnNfYWxsX2VxdWFsX3ApOiBEaXR0by4N Cj4gICAgICAgICAgKGNvbnN0X3ZlY19hbGxfaW5fcmFuZ2VfcCk6IFN1cHBv cnQgUE9MWSBoYW5kbGluZy4NCj4gICAgICAgICAgKGdlbl9jb25zdF92ZWN0 b3JfZHVwKTogRGl0dG8uDQo+ICAgICAgICAgIChlbWl0X3ZsbWF4X2dhdGhl cl9pbnNuKTogQWRkIHZyZ2F0aGVyZWkxNi4NCj4gICAgICAgICAgKGVtaXRf dmxtYXhfbWFza2VkX2dhdGhlcl9tdV9pbnNuKTogRGl0dG8uDQo+ICAgICAg ICAgIChleHBhbmRfY29uc3RfdmVjdG9yKTogQWRkIFZMQSBTTFAgY29uc3Qg dmVjdG9yIHN1cHBvcnQuDQo+ICAgICAgICAgIChleHBhbmRfdmVjX3Blcm0p OiBTdXBwb3J0IFBPTFkuDQo+ICAgICAgICAgIChzdHJ1Y3QgZXhwYW5kX3Zl Y19wZXJtX2QpOiBOZXcgc3RydWN0Lg0KPiAgICAgICAgICAoc2h1ZmZsZV9n ZW5lcmljX3BhdHRlcm5zKTogTmV3IGZ1bmN0aW9uLg0KPiAgICAgICAgICAo ZXhwYW5kX3ZlY19wZXJtX2NvbnN0XzEpOiBEaXR0by4NCj4gICAgICAgICAg KGV4cGFuZF92ZWNfcGVybV9jb25zdCk6IERpdHRvLg0KPiAgICAgICAgICAq IGNvbmZpZy9yaXNjdi9yaXNjdi5jYyAocmlzY3ZfdmVjdG9yaXplX3ZlY19w ZXJtX2NvbnN0KTogRGl0dG8uDQo+ICAgICAgICAgIChUQVJHRVRfVkVDVE9S SVpFX1ZFQ19QRVJNX0NPTlNUKTogTmV3IHRhcmdldGhvb2suDQo+IA0KPiBn Y2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCj4gDQo+ICAgICAgICAgICogZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9zY2FsYWJsZS0xLmM6IEFkYXB0 IHRlc3RjYXNlIGZvciBWTEEgdmVjdG9yaXplci4NCj4gICAgICAgICAgKiBn Y2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3YtMS5jOiBEaXR0by4NCj4g ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3p2ZTMy Zl96dmwxMjhiLTEuYzogRGl0dG8uDQo+ICAgICAgICAgICogZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYXV0b3ZlYy96dmUzMnhfenZsMTI4Yi0xLmM6IERpdHRv Lg0KPiAgICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv enZlNjRkLTEuYzogRGl0dG8uDQo+ICAgICAgICAgICogZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy96dmU2NGRfenZsMTI4Yi0xLmM6IERpdHRvLg0K PiAgICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvenZl NjRmLTEuYzogRGl0dG8uDQo+ICAgICAgICAgICogZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy96dmU2NGZfenZsMTI4Yi0xLmM6IERpdHRvLg0KPiAg ICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvenZlNjR4 X3p2bDEyOGItMS5jOiBEaXR0by4NCj4gICAgICAgICAgKiBnY2MudGFyZ2V0 L3Jpc2N2L3J2di9hdXRvdmVjL3BhcnRpYWwvc2xwLTEuYzogTmV3IHRlc3Qu DQo+ICAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9w YXJ0aWFsL3NscC0yLmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICAqIGdjYy50 YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcGFydGlhbC9zbHAtMy5jOiBOZXcg dGVzdC4NCj4gICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL3BhcnRpYWwvc2xwLTQuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgICog Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9wYXJ0aWFsL3NscC01LmM6 IE5ldyB0ZXN0Lg0KPiAgICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvcGFydGlhbC9zbHAtNi5jOiBOZXcgdGVzdC4NCj4gICAgICAg ICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3BhcnRpYWwvc2xw LTcuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgICogZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy9wYXJ0aWFsL3NscF9ydW4tMS5jOiBOZXcgdGVzdC4N Cj4gICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Bh cnRpYWwvc2xwX3J1bi0yLmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICAqIGdj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcGFydGlhbC9zbHBfcnVuLTMu YzogTmV3IHRlc3QuDQo+ICAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy9wYXJ0aWFsL3NscF9ydW4tNC5jOiBOZXcgdGVzdC4NCj4g ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3BhcnRp YWwvc2xwX3J1bi01LmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICAqIGdjYy50 YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcGFydGlhbC9zbHBfcnVuLTYuYzog TmV3IHRlc3QuDQo+ICAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy9wYXJ0aWFsL3NscF9ydW4tNy5jOiBOZXcgdGVzdC4NCj4gDQog DQogDQogDQogDQo+ICt9DQo+ICsNCj4gKy8qIFJldHVybiB0cnVlIGlmIGFs bCBlbGVtZW50cyBvZiBOUEFUVEVSTlMgYXJlIGVxdWFsLg0KPiArDQo+ICsg ICBFLmcuIE5QQVRURVJOUyA9IDQ6DQo+ICsgICAgIHsgMiwgMiwgMiwgMiwg NCwgNCwgNCwgNCwgOCwgOCwgOCwgOCwgMTYsIDE2LCAxNiwgMTYsIC4uLiB9 DQo+ICsgICBFLmcuIE5QQVRURVJOUyA9IDg6DQo+ICsgICAgIHsgMiwgMiwg MiwgMiwgMiwgMiwgMiwgMiwgOCwgOCwgOCwgOCwgOCwgOCwgOCwgOCwgLi4u IH0NCj4gKyovDQo+ICtib29sDQo+ICtydnZfYnVpbGRlcjo6bnBhdHRlcm5z X2FsbF9lcXVhbF9wICgpIGNvbnN0DQo+ICt7DQo+ICsgIHBvbHlfaW50NjQg ZWxlMCA9IHJ0eF90b19wb2x5X2ludDY0IChlbHQgKDApKTsNCj4gKyAgZm9y ICh1bnNpZ25lZCBpbnQgaSA9IDE7IGkgPCBucGF0dGVybnMgKCk7IGkrKykN Cj4gKyAgICB7DQo+ICsgICAgICBwb2x5X2ludDY0IGVsZSA9IHJ0eF90b19w b2x5X2ludDY0IChlbHQgKGkpKTsNCj4gKyAgICAgIGlmICgha25vd25fZXEg KGVsZSwgZWxlMCkpDQo+ICsgcmV0dXJuIGZhbHNlOw0KPiArICAgIH0NCj4g KyAgcmV0dXJuIHRydWU7DQo+ICt9DQpUaGVyZSBzZWVtcyB0byBiZSBhIGRp c2Nvbm5lY3QgaGVyZS4gIFlvdSBvbmx5IHNlZW0gdG8gY2hlY2sgdGhlIGZp cnN0IA0KTlBBVFRFUk4gZWxlbWVudHMuICBEb24ndCB5b3UgbmVlZCB0byBj aGVjayB0aGUgcmVzdD8gICBPciBhbSBJIGp1c3QgDQpnZXR0aW5nIGNvbmZ1 c2VkIGJ5IHRoZSBmdW5jdGlvbiBjb21tZW50Pw0KIA0KIA0KIA0KIA0KPiAr DQo+ICtzdGF0aWMgYm9vbA0KPiArZXhwYW5kX3ZlY19wZXJtX2NvbnN0XzEg KHN0cnVjdCBleHBhbmRfdmVjX3Blcm1fZCAqZCkNCk5lZWRzIGEgZnVuY3Rp b24gY29tbWVudC4NCiANCiANCj4NCj4gKw0KPiArYm9vbA0KPiArZXhwYW5k X3ZlY19wZXJtX2NvbnN0IChtYWNoaW5lX21vZGUgdm1vZGUsIG1hY2hpbmVf bW9kZSBvcF9tb2RlLCBydHggdGFyZ2V0LA0KPiArICAgICAgICBydHggb3Aw LCBydHggb3AxLCBjb25zdCB2ZWNfcGVybV9pbmRpY2VzICZzZWwpDQpTaW1p bGFybHkuDQogDQogDQpPdmVyYWxsIGl0IGxvb2tzIHJlYWxseSBnb29kLiAg SnVzdCBhIGNvdXBsZSBjb21tZW50cyB0byBmaXggYW5kIHNvcnQgDQpvdXQg d2hldGhlciBvciBub3QgSSdtIG1pc2ludGVycHJldGluZyBydnZfYnVpbGRl cjo6bnBhdHRlcm5zX2FsbF9lcXVhbF9wLg0KIA0KSmVmZg0KIA0K ------=_001_NextPart107080673134_=------