From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg151.qq.com (smtpbg151.qq.com [18.169.211.239]) by sourceware.org (Postfix) with ESMTPS id 4BB393858C52 for ; Wed, 24 May 2023 07:20:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4BB393858C52 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: bizesmtp75t1684912813tkhru6m7 Received: from LAPTOP-EPITNQBU ( [58.60.1.20]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 24 May 2023 15:20:12 +0800 (CST) X-QQ-SSF: 00400000000000F0R000000A0000000 X-QQ-FEAT: k8Irs33ik7sSHYTzNBmc4jFtda2lCim5JZ10dVqN3p1/EKfwZAvJKFfRYmDB1 XrJOoibQ+jBERndzMZ30VJj65nfpoTBTto26UiIQeOL1P2aAJYs4W0lfXFlyWxXz12N2cCT KTlJ4fMWjB1oJagv2xc7fQPq3p+hpZZQsG8/Kgw7oyel6EJDpoTBa6+dRwz2FM7qMuvtzz4 DEshPNN/cIWwQA4u/7Q+Dp9jMixIUwR7jf5eceIcZEnJIjsMIFMDpDdRFYG31XcANUKrQJO yYUbHRjUyZY2w7i8osnGcU7IR9ld9B4mDyN8qViMqMa+iLZZlUXY1udIb1X0WVe7BxIHHE+ ud3vY6y9Uiq47lQB7QrUn2x35TfMxclPv+j+25QkVfNOEeo7C5DlqZnhNm5VIngcBa8MYph lI51/QD879tbeAbT1GsnNQ== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 1391020107769542589 Date: Wed, 24 May 2023 15:20:12 +0800 From: "juzhe.zhong@rivai.ai" To: Kito.cheng Cc: gcc-patches , kito.cheng , palmer , palmer , jeffreyalaw , "Robin Dapp" Subject: Re: Re: [PATCH] RISC-V: Add RVV mask logic auto-vectorization References: <20230524070329.1163656-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 2A9432F8-1F38-40EA-8782-52D7AF6E13C9 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart861006815284_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_WEB,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_NextPart861006815284_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 VGhhbmtzIGtpdG8u77yMDQpjaGFuZ2UgaXQgaW50byBkZWZpbmVfaW5zbl9h bmRfc3BsaXQgc2VuZCBWMiBzb29uLg0KDQoNCg0KanV6aGUuemhvbmdAcml2 YWkuYWkNCiANCkZyb206IEtpdG8gQ2hlbmcNCkRhdGU6IDIwMjMtMDUtMjQg MTU6MTgNClRvOiBqdXpoZS56aG9uZw0KQ0M6IGdjYy1wYXRjaGVzOyBraXRv LmNoZW5nOyBwYWxtZXI7IHBhbG1lcjsgamVmZnJleWFsYXc7IHJkYXBwLmdj Yw0KU3ViamVjdDogUmU6IFtQQVRDSF0gUklTQy1WOiBBZGQgUlZWIG1hc2sg bG9naWMgYXV0by12ZWN0b3JpemF0aW9uDQpKdXN0IG9uZSBjb21tZW50OiBk ZWZpbmVfaW5zbl9hbmRfc3BsaXQgc2hvdWxkIGJlIHVzZWQgaW4gdGhpcw0K c2NlbmFyaW8gcmF0aGVyIHRoYW4gZGVmaW5lX2luc25fYW5kX3Jld3JpdGUg c2luY2UgeW91IGFyZSBub3QgcmVhbGx5DQpyZXdyaXRpbmcuDQogDQpZb3Ug Y2FuIGNvbW1pdCBhZnRlciB1cGRhdGluZyB0byBkZWZpbmVfaW5zbl9hbmRf c3BsaXQgOikNCiANCk9uIFdlZCwgTWF5IDI0LCAyMDIzIGF0IDM6MDTigK9Q TSA8anV6aGUuemhvbmdAcml2YWkuYWk+IHdyb3RlOg0KPg0KPiBGcm9tOiBK dXpoZS1aaG9uZyA8anV6aGUuemhvbmdAcml2YWkuYWk+DQo+DQo+IFRoaXMg cGF0Y2ggaXMgYWRkaW5nIG1hc2sgbG9naWMgYXV0by12ZWN0b3JpemF0aW9u Lg0KPiBkZWZpbmUgdGhlIHBhdHRlcm4gYXMgImRlZmluZV9pbnNuX2FuZF9z cGxpdCIgdG8gYWxsb3cNCj4gY29tYmluZSBQQVNTIGVhc2lseSBjb21iaW5l IHNlcmllcyBpbnN0cnVjdGlvbnMuDQo+DQo+IEZvciBleGFtcGxlOg0KPiBj b21iaW5lIHZteG9yLm1tICsgdm1ub3QubSBpbnRvIHZteG5vci5tbQ0KPg0K PiBCdWlsZCBzdWNjZXNzIGFuZCByZWdyZXNzaW9uIFBBU1MNCj4NCj4gT2sg Zm9yIHRydW5rID8NCj4NCj4gZ2NjL0NoYW5nZUxvZzoNCj4NCj4gICAgICAg ICAqIGNvbmZpZy9yaXNjdi9hdXRvdmVjLm1kICg8b3B0YWI+PG1vZGU+Myk6 IE5ldyBwYXR0ZXJuLg0KPiAgICAgICAgIChvbmVfY21wbDxtb2RlPjIpOiBE aXR0by4NCj4gICAgICAgICAoKjxvcHRhYj5ub3Q8bW9kZT4pOiBEaXR0by4N Cj4gICAgICAgICAoKm48b3B0YWI+PG1vZGU+KTogRGl0dG8uDQo+ICAgICAg ICAgKiBjb25maWcvcmlzY3YvcmlzY3Ytdi5jYyAoZXhwYW5kX3ZlY19jbXBf ZmxvYXQpOiBDaGFuZ2UgdG8gb25lX2NtcGwuDQo+DQo+IGdjYy90ZXN0c3Vp dGUvQ2hhbmdlTG9nOg0KPg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy9jbXAvdmNvbmQtNC5jOiBOZXcgdGVzdC4NCj4gICAg ICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvY21wL3Zjb25k X3J1bi00LmM6IE5ldyB0ZXN0Lg0KPg0KPiAtLS0NCj4gIGdjYy9jb25maWcv cmlzY3YvYXV0b3ZlYy5tZCAgICAgICAgICAgICAgICAgICB8IDk1ICsrKysr KysrKysrKysrKysrKysNCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5j YyAgICAgICAgICAgICAgICAgICB8ICA3ICstDQo+ICAuLi4vcmlzY3YvcnZ2 L2F1dG92ZWMvY21wL3Zjb25kLTQuYyAgICAgICAgICAgfCA1MyArKysrKysr KysrKw0KPiAgLi4uL3Jpc2N2L3J2di9hdXRvdmVjL2NtcC92Y29uZF9ydW4t NC5jICAgICAgIHwgMzUgKysrKysrKw0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAx ODcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvY21wL3Zjb25kLTQuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9j bXAvdmNvbmRfcnVuLTQuYw0KPg0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi9hdXRvdmVjLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVj Lm1kDQo+IGluZGV4IDRlZWVhYjYyNGE0Li5jYWNmMjdlNGU2MCAxMDA2NDQN Cj4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kDQo+ICsrKyBi L2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KPiBAQCAtMTYzLDYgKzE2 MywxMDEgQEANCj4gICAgRE9ORTsNCj4gIH0pDQo+DQo+ICs7OyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7OyAtLS0tIFtCT09MXSBCaW5h cnkgbG9naWNhbCBvcGVyYXRpb25zDQo+ICs7OyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ICs7OyBJbmNsdWRlczoNCj4gKzs7IC0gdm1hbmQu bW0NCj4gKzs7IC0gdm14b3IubW0NCj4gKzs7IC0gdm1vci5tbQ0KPiArOzsg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsoZGVmaW5l X2luc25fYW5kX3Jld3JpdGUgIjxvcHRhYj48bW9kZT4zIg0KPiArICBbKHNl dCAobWF0Y2hfb3BlcmFuZDpWQiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAg ICAgICAgICAgICAgIj12ciIpDQo+ICsgICAgICAgKGFueV9iaXR3aXNlOlZC IChtYXRjaF9vcGVyYW5kOlZCIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgdnIi KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpW QiAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiIHZyIikpKV0NCj4gKyAgIlRBUkdF VF9WRUNUT1IiDQo+ICsgICIjIg0KPiArICAiJiYgY2FuX2NyZWF0ZV9wc2V1 ZG9fcCAoKSINCj4gKyAgew0KPiArICAgIGluc25fY29kZSBpY29kZSA9IGNv ZGVfZm9yX3ByZWQgKDxDT0RFPiwgPE1PREU+bW9kZSk7DQo+ICsgICAgcmlz Y3ZfdmVjdG9yOjplbWl0X3ZsbWF4X2luc24gKGljb2RlLCByaXNjdl92ZWN0 b3I6OlJWVl9CSU5PUCwgb3BlcmFuZHMpOw0KPiArICAgIERPTkU7DQo+ICsg IH0NCj4gKyAgWyhzZXRfYXR0ciAidHlwZSIgInZtYWx1IikNCj4gKyAgIChz ZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCj4gKw0KPiArOzsgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArOzsgLS0tLSBbQk9PTF0gSW52 ZXJzZQ0KPiArOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAr OzsgSW5jbHVkZXM6DQo+ICs7OyAtIHZtbm90Lm0NCj4gKzs7IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArKGRlZmluZV9pbnNuX2Fu ZF9yZXdyaXRlICJvbmVfY21wbDxtb2RlPjIiDQo+ICsgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlZCIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICAgIj12 ciIpDQo+ICsgICAgICAgKG5vdDpWQiAobWF0Y2hfb3BlcmFuZDpWQiAxICJy ZWdpc3Rlcl9vcGVyYW5kIiAiIHZyIikpKV0NCj4gKyAgIlRBUkdFVF9WRUNU T1IiDQo+ICsgICIjIg0KPiArICAiJiYgY2FuX2NyZWF0ZV9wc2V1ZG9fcCAo KSINCj4gKyAgew0KPiArICAgIGluc25fY29kZSBpY29kZSA9IGNvZGVfZm9y X3ByZWRfbm90ICg8TU9ERT5tb2RlKTsNCj4gKyAgICByaXNjdl92ZWN0b3I6 OmVtaXRfdmxtYXhfaW5zbiAoaWNvZGUsIHJpc2N2X3ZlY3Rvcjo6UlZWX1VO T1AsIG9wZXJhbmRzKTsNCj4gKyAgICBET05FOw0KPiArICB9DQo+ICsgIFso c2V0X2F0dHIgInR5cGUiICJ2bWFsdSIpDQo+ICsgICAoc2V0X2F0dHIgIm1v ZGUiICI8TU9ERT4iKV0pDQo+ICsNCj4gKzs7IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gKzs7IC0tLS0gW0JPT0xdIEJpbmFyeSBsb2dpY2Fs IG9wZXJhdGlvbnMgKGludmVydGVkIHNlY29uZCBpbnB1dCkNCj4gKzs7IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKzs7IEluY2x1ZGVzOg0K PiArOzsgLSB2bWFuZG5vdC5tbQ0KPiArOzsgLSB2bW9ybm90Lm1tDQo+ICs7 OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyhkZWZp bmVfaW5zbl9hbmRfcmV3cml0ZSAiKjxvcHRhYj5ub3Q8bW9kZT4iDQo+ICsg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlZCIDAgInJlZ2lzdGVyX29wZXJhbmQi ICAgICAgICAgICAiPXZyIikNCj4gKyAgICAgICAoYml0bWFuaXBfYml0d2lz ZTpWQg0KPiArICAgICAgICAgKG5vdDpWQiAobWF0Y2hfb3BlcmFuZDpWQiAy ICJyZWdpc3Rlcl9vcGVyYW5kIiAiIHZyIikpDQo+ICsgICAgICAgICAobWF0 Y2hfb3BlcmFuZDpWQiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAgICIg dnIiKSkpXQ0KPiArICAiVEFSR0VUX1ZFQ1RPUiINCj4gKyAgIiMiDQo+ICsg ICImJiBjYW5fY3JlYXRlX3BzZXVkb19wICgpIg0KPiArICB7DQo+ICsgICAg aW5zbl9jb2RlIGljb2RlID0gY29kZV9mb3JfcHJlZF9ub3QgKDxDT0RFPiwg PE1PREU+bW9kZSk7DQo+ICsgICAgcmlzY3ZfdmVjdG9yOjplbWl0X3ZsbWF4 X2luc24gKGljb2RlLCByaXNjdl92ZWN0b3I6OlJWVl9CSU5PUCwgb3BlcmFu ZHMpOw0KPiArICAgIERPTkU7DQo+ICsgIH0NCj4gKyAgWyhzZXRfYXR0ciAi dHlwZSIgInZtYWx1IikNCj4gKyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RF PiIpXSkNCj4gKw0KPiArOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiArOzsgLS0tLSBbQk9PTF0gQmluYXJ5IGxvZ2ljYWwgb3BlcmF0aW9u cyAoaW52ZXJ0ZWQgcmVzdWx0KQ0KPiArOzsgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiArOzsgSW5jbHVkZXM6DQo+ICs7OyAtIHZtbmFuZC5t bQ0KPiArOzsgLSB2bW5vci5tbQ0KPiArOzsgLSB2bXhub3IubW0NCj4gKzs7 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArKGRlZmlu ZV9pbnNuX2FuZF9yZXdyaXRlICIqbjxvcHRhYj48bW9kZT4iDQo+ICsgIFso c2V0IChtYXRjaF9vcGVyYW5kOlZCIDAgInJlZ2lzdGVyX29wZXJhbmQiICAg ICAiPXZyIikNCj4gKyAgICAgICAobm90OlZCDQo+ICsgICAgICAgICAoYW55 X2JpdHdpc2U6VkINCj4gKyAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VkIg MSAicmVnaXN0ZXJfb3BlcmFuZCIgIiB2ciIpDQo+ICsgICAgICAgICAgICht YXRjaF9vcGVyYW5kOlZCIDIgInJlZ2lzdGVyX29wZXJhbmQiICIgdnIiKSkp KV0NCj4gKyAgIlRBUkdFVF9WRUNUT1IiDQo+ICsgICIjIg0KPiArICAiJiYg Y2FuX2NyZWF0ZV9wc2V1ZG9fcCAoKSINCj4gKyAgew0KPiArICAgIGluc25f Y29kZSBpY29kZSA9IGNvZGVfZm9yX3ByZWRfbiAoPENPREU+LCA8TU9ERT5t b2RlKTsNCj4gKyAgICByaXNjdl92ZWN0b3I6OmVtaXRfdmxtYXhfaW5zbiAo aWNvZGUsIHJpc2N2X3ZlY3Rvcjo6UlZWX0JJTk9QLCBvcGVyYW5kcyk7DQo+ ICsgICAgRE9ORTsNCj4gKyAgfQ0KPiArICBbKHNldF9hdHRyICJ0eXBlIiAi dm1hbHUiKQ0KPiArICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0K PiArDQo+ICA7OyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICA7 OyA9PSBDb21wYXJpc29ucyBhbmQgc2VsZWN0cw0KPiAgOzsgPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi12LmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12 LmNjDQo+IGluZGV4IDEwZGU1YTE5OTM3Li5mNzFhZDllNDZhMSAxMDA2NDQN Cj4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjDQo+ICsrKyBi L2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYw0KPiBAQCAtMTU1MCw5ICsx NTUwLDEwIEBAIGV4cGFuZF92ZWNfY21wX2Zsb2F0IChydHggdGFyZ2V0LCBy dHhfY29kZSBjb2RlLCBydHggb3AwLCBydHggb3AxLA0KPiAgICAgICAgZW1p dF9tb3ZlX2luc24gKHRhcmdldCwgZXEwKTsNCj4gICAgICAgIHJldHVybiB0 cnVlOw0KPiAgICAgIH0NCj4gLSAgaW5zbl9jb2RlIGljb2RlID0gY29kZV9m b3JfcHJlZF9ub3QgKG1hc2tfbW9kZSk7DQo+IC0gIHJ0eCBvcHNbXSA9IHt0 YXJnZXQsIGVxMH07DQo+IC0gIGVtaXRfdmxtYXhfaW5zbiAoaWNvZGUsIFJW Vl9VTk9QLCBvcHMpOw0KPiArDQo+ICsgIC8qIFdlIHVzZSBvbmVfY21wbDxt b2RlPjIgdG8gbWFrZSBDb21iaW5lIFBBU1MgdG8gY29tYmluZSBtYXNrIGlu c3RydWN0aW9ucw0KPiArICAgICBpbnRvOiB2bWFuZC5tbS92bW5vci5tbS92 bW5hbmQubW0vdm1ub3IubW0vdm14bm9yLm1tLiAgKi8NCj4gKyAgZW1pdF9p bnNuIChnZW5fcnR4X1NFVCAodGFyZ2V0LCBnZW5fcnR4X05PVCAobWFza19t b2RlLCBlcTApKSk7DQo+ICAgIHJldHVybiBmYWxzZTsNCj4gIH0NCj4NCj4g ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy9jbXAvdmNvbmQtNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL2NtcC92Y29uZC00LmMNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjQzNWE1 OWM5N2YyDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL2NtcC92Y29uZC00LmMN Cj4gQEAgLTAsMCArMSw1MyBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0g Ki8NCj4gKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbWFyY2g9cnYz MmdjdiAtbWFiaT1pbHAzMmQgLS1wYXJhbT1yaXNjdi1hdXRvdmVjLXByZWZl cmVuY2U9c2NhbGFibGUiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgPHN0ZGlu dC1nY2MuaD4NCj4gKw0KPiArI2RlZmluZSBiX2FuZChBLCBCKSAoKEEpICYg KEIpKQ0KPiArI2RlZmluZSBiX29ycihBLCBCKSAoKEEpIHwgKEIpKQ0KPiAr I2RlZmluZSBiX3hvcihBLCBCKSAoKEEpIF4gKEIpKQ0KPiArI2RlZmluZSBi X25hbmQoQSwgQikgKCEoKEEpICYgKEIpKSkNCj4gKyNkZWZpbmUgYl9ub3Io QSwgQikgKCEoKEEpIHwgKEIpKSkNCj4gKyNkZWZpbmUgYl94bm9yKEEsIEIp ICghKEEpIF4gKEIpKQ0KPiArI2RlZmluZSBiX2FuZG5vdChBLCBCKSAoKEEp ICYgIShCKSkNCj4gKyNkZWZpbmUgYl9vcm5vdChBLCBCKSAoKEEpIHwgIShC KSkNCj4gKw0KPiArI2RlZmluZSBMT09QKFRZUEUsIEJJTk9QKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCj4gKyAgdm9pZCBfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5vY2xv bmUpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ICsgIHRlc3RfIyNUWVBFIyNfIyNCSU5PUCAoVFlQRSAqcmVzdHJpY3QgZGVz dCwgVFlQRSAqcmVzdHJpY3Qgc3JjLCAgICAgICAgICAgICAgXA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgVFlQRSAqcmVzdHJpY3QgYSwgVFlQRSAq cmVzdHJpY3QgYiwgVFlQRSAqcmVzdHJpY3QgYywgXA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgVFlQRSAqcmVzdHJpY3QgZCwgVFlQRSBmYWxsYmFj aywgaW50IGNvdW50KSAgICAgICAgICAgXA0KPiArICB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBmb3IgKGludCBpID0gMDsg aSA8IGNvdW50OyArK2kpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcDQo+ICsgICAgICB7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiArICAgICAgIFRZUEUgc3JjdiA9IHNyY1tpXTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KPiArICAgICAgIGRlc3RbaV0gPSAoQklOT1AgKF9fYnVpbHRpbl9p c3Vub3JkZXJlZCAoYVtpXSwgYltpXSksICAgICAgICAgICAgICAgICAgXA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgIF9fYnVpbHRpbl9pc3Vub3Jk ZXJlZCAoY1tpXSwgZFtpXSkpICAgICAgICAgICAgICAgICAgXA0KPiArICAg ICAgICAgICAgICAgICAgICA/IHNyY3YgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgICAgICAg ICAgICAgICAgICA6IGZhbGxiYWNrKTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgICAgfSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgfQ0KPiArDQo+ICsjZGVmaW5l IFRFU1RfQklOT1AoVCwgQklOT1ApICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBUIChmbG9hdCwg QklOT1ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgVCAoZG91YmxlLCBCSU5P UCkNCj4gKw0KPiArI2RlZmluZSBURVNUX0FMTChUKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCj4gKyAgVEVTVF9CSU5PUCAoVCwgYl9hbmQpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ICsgIFRFU1RfQklOT1AgKFQsIGJfb3JyKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBU RVNUX0JJTk9QIChULCBiX3hvcikgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgVEVTVF9C SU5PUCAoVCwgYl9uYW5kKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIFRFU1RfQklOT1Ag KFQsIGJfbm9yKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBURVNUX0JJTk9QIChULCBi X3hub3IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCj4gKyAgVEVTVF9CSU5PUCAoVCwgYl9hbmRu b3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ICsgIFRFU1RfQklOT1AgKFQsIGJfb3Jub3QpDQo+ ICsNCj4gK1RFU1RfQUxMIChMT09QKQ0KPiArDQo+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dm1hbmRcLm1tfSAyIH0gfSAq Lw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtc dHZtb3JcLm1tfSAyIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHtcdHZteG9yXC5tbX0gMiB9IH0gKi8NCj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2bW5vdFwu bX0gNCB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7XHR2bXhub3JcLm1tfSAyIH0gfSAqLw0KPiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZtYW5kblwubW19IDQg fSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge1x0dm1vcm5cLm1tfSA0IH0gfSAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL2NtcC92 Y29uZF9ydW4tNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL2NtcC92Y29uZF9ydW4tNC5jDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi42YzQ1YzI3NGMzMw0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9jbXAvdmNvbmRfcnVuLTQuYw0KPiBA QCAtMCwwICsxLDM1IEBADQo+ICsvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCB7 IHJpc2N2X3ZlY3RvciB9IH0gfSAqLw0KPiArLyogeyBkZy1hZGRpdGlvbmFs LW9wdGlvbnMgIi0tcGFyYW09cmlzY3YtYXV0b3ZlYy1wcmVmZXJlbmNlPXNj YWxhYmxlIiB9ICovDQo+ICsNCj4gKyNpbmNsdWRlICJ2Y29uZC00LmMiDQo+ ICsNCj4gKyNkZWZpbmUgTiA0MDENCj4gKw0KPiArI2RlZmluZSBSVU5fTE9P UChUWVBFLCBCSU5PUCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ICsgIHsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwN Cj4gKyAgICBUWVBFIGRlc3RbTl0sIHNyY1tOXSwgYVtOXSwgYltOXSwgY1tO XSwgZFtOXTsgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTjsgKytpKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAgIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgc3JjW2ldID0gaSAq IGk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gKyAgICAgICBhW2ldID0gaSAlIDUgPCAzID8gX19idWls dGluX25hbigiIikgOiBpOyAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAr ICAgICAgIGJbaV0gPSBpICUgNyA8IDQgPyBfX2J1aWx0aW5fbmFuKCIiKSA6 IGk7ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgY1tpXSA9 IGkgJSA5IDwgNSA/IF9fYnVpbHRpbl9uYW4oIiIpIDogaTsgICAgICAgICAg ICAgICAgICAgICAgIFwNCj4gKyAgICAgICBkW2ldID0gaSAlIDExIDwgNiA/ IF9fYnVpbHRpbl9uYW4oIiIpIDogaTsgICAgICAgICAgICAgICAgICAgICAg XA0KPiArICAgICAgIGFzbSB2b2xhdGlsZSAoIiIgOjo6ICJtZW1vcnkiKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICB9 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIHRlc3RfIyNU WVBFIyNfIyNCSU5PUCAoZGVzdCwgc3JjLCBhLCBiLCBjLCBkLCAxMDAsIE4p OyAgICAgICAgICAgICBcDQo+ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBO OyArK2kpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiArICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCj4gKyAgICAgICBpbnQgcmVzID0gQklOT1AgKF9fYnVpbHRpbl9p c3Vub3JkZXJlZCAoYVtpXSwgYltpXSksICAgICAgICAgICAgXA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgX19idWlsdGluX2lzdW5vcmRlcmVkIChj W2ldLCBkW2ldKSk7ICAgICAgICAgICBcDQo+ICsgICAgICAgaWYgKGRlc3Rb aV0gIT0gKHJlcyA/IHNyY1tpXSA6IDEwMC4wKSkgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCj4gKyAgICAgICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiArICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAg fQ0KPiArDQo+ICtpbnQgX19hdHRyaWJ1dGVfXyAoKG9wdGltaXplICgxKSkp DQo+ICttYWluICh2b2lkKQ0KPiArew0KPiArICBURVNUX0FMTCAoUlVOX0xP T1ApDQo+ICsgIHJldHVybiAwOw0KPiArfQ0KPiAtLQ0KPiAyLjM2LjMNCj4N CiANCg== ------=_001_NextPart861006815284_=------