From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgjp3.qq.com (smtpbgjp3.qq.com [54.92.39.34]) by sourceware.org (Postfix) with ESMTPS id 9894A385843A for ; Wed, 24 May 2023 15:31:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9894A385843A 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: bizesmtp87t1684942302tilhmo7n Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 24 May 2023 23:31:41 +0800 (CST) X-QQ-SSF: 00400000000000F0R000000A0000000 X-QQ-FEAT: 7GDGdS/nbMTCI/Vt4Uqh3CTDmFP3kjV98oce9kIlbk6E4fkT/mI0+R+JSrmX4 Mu4eZCDs9eRNrOmRtZzgK/NynRvuh4djh9lGzMkcx5d6rYV+F7PAhZGOjntHmEj8cojgxmk Uw4WcpjybM3Mb6O6wFlf5iYobuW5mMBTERve/uxJ0XYGmt0b6c6Jkv+huWB/cMnRPiLw+5U tSowtzKVlUCLCBUdHJ09StrktIYjSI7p5x/zyKPz6y8La/BwBAzCf8qTX350S/Tyrxydj+v lA6f/ka2Eo/EMaLTESU+Z2D6q1ayqHswVzNg8qRZ8wtrhBlKdM+4DKBeGQG2kOGPgLd2lzY 2M/qGsYGLYvi7iAxomqfZ0nXuSn8/A19DNf0EWvnGJYqldYrE7+BcYeRhGs6D0HcZ33qxMs SBQCyxZ9mBskCMjqfVyWnWdTmRDTsbSP X-QQ-GoodBg: 2 X-BIZMAIL-ID: 12671427460389763562 Date: Wed, 24 May 2023 23:31:40 +0800 From: =?GB2312?B?1tO+09Xc?= To: richard.sandiford Cc: gcc-patches , rguenther Subject: =?GB2312?B?u9i4tDogUmU6IFtQQVRDSCBWMTRdIFZFQ1Q6IEFkZCBkZWNyZW1lbnQgSVYgaXRlcmF0aW9uIGxvb3AgY29udHJvbCBieSB2YXJpYWJsZSBhbW91bnQgc3VwcG9ydA==?= References: <20230524144801.73537-1-juzhe.zhong@rivai.ai>, , <2023052423130398041121@rivai.ai> X-Priority: 3 X-GUID: B5251909-6801-4B89-A9FC-9AABF17C2F59 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <445C203252AFFD2F+2023052423314032757830@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart654822623543_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,BODY_8BITS,CHARSET_FARAWAY_HEADER,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,MIME_CHARSET_FARAWAY,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_NextPart654822623543_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 SGksIFJpY2hhcmQuDQoNCkkgdGhpbmsgaXQgY2FuIHdvcmsgYWZ0ZXIgSSBh bmFseXplIGl0Lg0KTGV0J3MgdGFrZSBhIGxvb2sgdGhlIGNvZGVzOg0KDQp2 b2lkIGYoKSB7DQogIGZvciAoaW50IGkgPSAwLCBqID0gMDsgaSA8IDEwMDsg aSArPSAyLCBqICs9IDQpIHsNCiAgICB4W2kgKyAwXSArPSAxOw0KICAgIHhb aSArIDFdICs9IDI7DQogICAgeVtqICsgMF0gKz0gMTsNCiAgICB5W2ogKyAx XSArPSAyOw0KICAgIHlbaiArIDJdICs9IDM7DQogICAgeVtqICsgM10gKz0g NDsNCiAgfQ0KfQ0KDQpGb3IgIngiLCBlYWNoIHNjYWxhciBpdGVyYXRpb24g Y2FsY3VsYXRlIDIgZWxlbWVudHMgKHhbaSArIDBdIGFuZCB4W2kgKyAxXSkN CkZvciAieSIsIGVhY2ggc2NhbGFyIGl0ZXJhdGlvbiBjYWxjdWxhdGUgNCBl bGVtZW50cyAoeVtpICsgMF0gYW5kIHlbaSArIDFdIGFuZCB5W2ogKyAyXSBh bmQgeVtqICsgMykNCldpdGggdGhpcyBwYXRjaDoNCg0KbG9vcF9sZW5fMzQg PSBNSU5fRVhQUiA8aXZ0bXBfNzIsIDg+Ow0KVGhlIHRvdGFsIGVsZW1lbnRz IG9mICJ4IiB2ZWN0b3Igb2YgZWFjaCBpdGVyYXRpb24gaXMgbWF4aW11bSA4 IHdoaWNoIGlzIDEyOGJpdCAoOCAxNmJpdCBlbGVtZW50cykNClNvIHRoZSB2 ZWN0b3IgY2FuIHByb2Nlc3MgIjQiIHNjYWxhciBpdGVyYXRpb25zICh4W2kg KyAwXSBhbmQgeFtpICsgMV0pDQpTbyB0aGVyZSBpcyBhIGxlbl9sb2FkOiB2 ZWN0X18xLjZfMzMgPSAuTEVOX0xPQUQgKF8xNywgMTZCLCBsb29wX2xlbl8z NCwgMCk7DQoNClNpbmNlIHRoZSBJTlQxNiAoeCkgaXMgIjQiIHNjYWxhciBp dGVyYXRpb25zLCB0aGVuIElOVDggKCJ5IikgaXMgYWxzbyA0IHNjYWxhciBp dGVyYXRpb25zIGFuZCANCmVhY2ggcHJvY2VzcyA0IHNjYWxhciBlbGVtZW50 cyAoeVtpICsgMF0gYW5kIHlbaSArIDFdIGFuZCB5W2ogKyAyXSBhbmQgeVtq ICsgMykNCg0KU28geW91IGNhbiBzZWUgNCB2ZWN0b3Igb3BlcmF0aW9ucyBv ZiB5Og0KIHZlY3RfXzExLjE4XzU5ID0gdmVjdF9fMTAuMTRfNTIgKyB7IDEs IDIsIDMsIDQgfTsNCiAgdmVjdF9fMTEuMThfNjAgPSB2ZWN0X18xMC4xNV81 NCArIHsgMSwgMiwgMywgNCB9Ow0KICB2ZWN0X18xMS4xOF82MSA9IHZlY3Rf XzEwLjE2XzU2ICsgeyAxLCAyLCAzLCA0IH07DQogIHZlY3RfXzExLjE4XzYy ID0gdmVjdF9fMTAuMTdfNTggKyB7IDEsIDIsIDMsIDQgfTsNCiAgLkxFTl9T VE9SRSAoXzMxLCAzMkIsIGxvb3BfbGVuXzQ4LCB2ZWN0X18xMS4xOF81OSwg MCk7DQogIC5MRU5fU1RPUkUgKF8yOSwgMzJCLCBsb29wX2xlbl80OSwgdmVj dF9fMTEuMThfNjAsIDApOw0KICAuTEVOX1NUT1JFIChfMjUsIDMyQiwgbG9v cF9sZW5fNTAsIHZlY3RfXzExLjE4XzYxLCAwKTsNCiAgLkxFTl9TVE9SRSAo Xzc5LCAzMkIsIGxvb3BfbGVuXzUxLCB2ZWN0X18xMS4xOF82MiwgMCk7DQoN ClNvIGVhY2ggdmVjdG9yIGxvb3AgaGFzIDEgZ3JvdXAgIngiICg0ICogMiBl bGVtZW50cyA9IDggZWxlbWVudHMpIGFuZCA0IGdyb3VwICJ5IiAoNCAqIDQp DQoNCkFuZCB3ZSBhZGp1c3QgbG9vcCBsZW4gZm9yIGVhY2ggY29udHJvbCBv ZiB5Og0KbG9vcF9sZW5fMzQgPSBNSU5fRVhQUiA8aXZ0bXBfNzIsIDg+Ow0K ICBsb29wX2xlbl80OCA9IE1JTl9FWFBSIDxsb29wX2xlbl8zNCwgND47DQog IF83NCA9IGxvb3BfbGVuXzM0IC0gbG9vcF9sZW5fNDg7DQogIGxvb3BfbGVu XzQ5ID0gTUlOX0VYUFIgPF83NCwgND47DQogIF83NSA9IF83NCAtIGxvb3Bf bGVuXzQ5Ow0KICBsb29wX2xlbl81MCA9IE1JTl9FWFBSIDxfNzUsIDQ+Ow0K ICBsb29wX2xlbl81MSA9IF83NSAtIGxvb3BfbGVuXzUwOw0KDQpJdCBzZWVt cyB0byB3b3JrLiBJIHdvbmRlciB3aHkgd2UgbmVlZCBtdWx0aXBsaWNhdGlv biA/DQoNClRoYW5rcy4NCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0K t6K8/sjLo7og1tO+09XcDQq3osvNyrG85KO6IDIwMjMtMDUtMjQgMjM6MTMN CsrVvP7Iy6O6IHJpY2hhcmQuc2FuZGlmb3JkDQqzrcvNo7ogZ2NjLXBhdGNo ZXM7IHJndWVudGhlcg0K1vfM4qO6IFJlOiBSZTogW1BBVENIIFYxNF0gVkVD VDogQWRkIGRlY3JlbWVudCBJViBpdGVyYXRpb24gbG9vcCBjb250cm9sIGJ5 IHZhcmlhYmxlIGFtb3VudCBzdXBwb3J0DQpIaSwgdGhlIC5vcHRpbWl6ZWQg ZHVtcCBpcyBsaWtlIHRoaXM6DQoNCiAgPGJiIDI+IFtsb2NhbCBjb3VudDog MjEwNDUzMzZdOg0KICBpdnRtcC4yNl8zNiA9ICh1bnNpZ25lZCBsb25nKSAm eDsNCiAgaXZ0bXAuMjdfMyA9ICh1bnNpZ25lZCBsb25nKSAmeTsNCiAgaXZ0 bXAuMzBfNiA9ICh1bnNpZ25lZCBsb25nKSAmTUVNIDxpbnRbMjAwXT4gWyh2 b2lkICopJnkgKyAxNkJdOw0KICBpdnRtcC4zMV8xMCA9ICh1bnNpZ25lZCBs b25nKSAmTUVNIDxpbnRbMjAwXT4gWyh2b2lkICopJnkgKyAzMkJdOw0KICBp dnRtcC4zMl8xNCA9ICh1bnNpZ25lZCBsb25nKSAmTUVNIDxpbnRbMjAwXT4g Wyh2b2lkICopJnkgKyA0OEJdOw0KDQogIDxiYiAzPiBbbG9jYWwgY291bnQ6 IDI3MzU4OTM2Nl06DQogICMgaXZ0bXBfNzIgPSBQSEkgPGl2dG1wXzczKDMp LCAxMDAoMik+DQogICMgaXZ0bXAuMjZfNDEgPSBQSEkgPGl2dG1wLjI2XzM3 KDMpLCBpdnRtcC4yNl8zNigyKT4NCiAgIyBpdnRtcC4yN18xID0gUEhJIDxp dnRtcC4yN18yKDMpLCBpdnRtcC4yN18zKDIpPg0KICAjIGl2dG1wLjMwXzQg PSBQSEkgPGl2dG1wLjMwXzUoMyksIGl2dG1wLjMwXzYoMik+DQogICMgaXZ0 bXAuMzFfOCA9IFBISSA8aXZ0bXAuMzFfOSgzKSwgaXZ0bXAuMzFfMTAoMik+ DQogICMgaXZ0bXAuMzJfMTIgPSBQSEkgPGl2dG1wLjMyXzEzKDMpLCBpdnRt cC4zMl8xNCgyKT4NCiAgbG9vcF9sZW5fMzQgPSBNSU5fRVhQUiA8aXZ0bXBf NzIsIDg+Ow0KICBsb29wX2xlbl80OCA9IE1JTl9FWFBSIDxsb29wX2xlbl8z NCwgND47DQogIF83NCA9IGxvb3BfbGVuXzM0IC0gbG9vcF9sZW5fNDg7DQog IGxvb3BfbGVuXzQ5ID0gTUlOX0VYUFIgPF83NCwgND47DQogIF83NSA9IF83 NCAtIGxvb3BfbGVuXzQ5Ow0KICBsb29wX2xlbl81MCA9IE1JTl9FWFBSIDxf NzUsIDQ+Ow0KICBsb29wX2xlbl81MSA9IF83NSAtIGxvb3BfbGVuXzUwOw0K ICBfMTYgPSAodm9pZCAqKSBpdnRtcC4yNl80MTsNCiAgXzE3ID0gJk1FTSA8 dmVjdG9yKDgpIHNob3J0IGludD4gWyhzaG9ydCBpbnQgKilfMTZdOw0KICB2 ZWN0X18xLjZfMzMgPSAuTEVOX0xPQUQgKF8xNywgMTZCLCBsb29wX2xlbl8z NCwgMCk7DQogIHZlY3RfXzIuN18yMyA9IFZJRVdfQ09OVkVSVF9FWFBSPHZl Y3Rvcig4KSB1bnNpZ25lZCBzaG9ydD4odmVjdF9fMS42XzMzKTsNCiAgdmVj dF9fMy44XzIyID0gdmVjdF9fMi43XzIzICsgeyAxLCAyLCAxLCAyLCAxLCAy LCAxLCAyIH07DQogIHZlY3RfXzQuOV8yMSA9IFZJRVdfQ09OVkVSVF9FWFBS PHZlY3Rvcig4KSBzaG9ydCBpbnQ+KHZlY3RfXzMuOF8yMik7DQogIC5MRU5f U1RPUkUgKF8xNywgMTZCLCBsb29wX2xlbl8zNCwgdmVjdF9fNC45XzIxLCAw KTsNCiAgXzIwID0gKHZvaWQgKikgaXZ0bXAuMjdfMTsNCiAgXzMxID0gJk1F TSA8dmVjdG9yKDQpIGludD4gWyhpbnQgKilfMjBdOw0KICB2ZWN0X18xMC4x NF81MiA9IC5MRU5fTE9BRCAoXzMxLCAzMkIsIGxvb3BfbGVuXzQ4LCAwKTsN CiAgXzMwID0gKHZvaWQgKikgaXZ0bXAuMzBfNDsNCiAgXzI5ID0gJk1FTSA8 dmVjdG9yKDQpIGludD4gWyhpbnQgKilfMzBdOw0KICB2ZWN0X18xMC4xNV81 NCA9IC5MRU5fTE9BRCAoXzI5LCAzMkIsIGxvb3BfbGVuXzQ5LCAwKTsNCiAg XzI2ID0gKHZvaWQgKikgaXZ0bXAuMzFfODsNCiAgXzI1ID0gJk1FTSA8dmVj dG9yKDQpIGludD4gWyhpbnQgKilfMjZdOw0KICB2ZWN0X18xMC4xNl81NiA9 IC5MRU5fTE9BRCAoXzI1LCAzMkIsIGxvb3BfbGVuXzUwLCAwKTsNCiAgXzc4 ID0gKHZvaWQgKikgaXZ0bXAuMzJfMTI7DQogIF83OSA9ICZNRU0gPHZlY3Rv cig0KSBpbnQ+IFsoaW50ICopXzc4XTsNCiAgdmVjdF9fMTAuMTdfNTggPSAu TEVOX0xPQUQgKF83OSwgMzJCLCBsb29wX2xlbl81MSwgMCk7DQogIHZlY3Rf XzExLjE4XzU5ID0gdmVjdF9fMTAuMTRfNTIgKyB7IDEsIDIsIDMsIDQgfTsN CiAgdmVjdF9fMTEuMThfNjAgPSB2ZWN0X18xMC4xNV81NCArIHsgMSwgMiwg MywgNCB9Ow0KICB2ZWN0X18xMS4xOF82MSA9IHZlY3RfXzEwLjE2XzU2ICsg eyAxLCAyLCAzLCA0IH07DQogIHZlY3RfXzExLjE4XzYyID0gdmVjdF9fMTAu MTdfNTggKyB7IDEsIDIsIDMsIDQgfTsNCiAgLkxFTl9TVE9SRSAoXzMxLCAz MkIsIGxvb3BfbGVuXzQ4LCB2ZWN0X18xMS4xOF81OSwgMCk7DQogIC5MRU5f U1RPUkUgKF8yOSwgMzJCLCBsb29wX2xlbl80OSwgdmVjdF9fMTEuMThfNjAs IDApOw0KICAuTEVOX1NUT1JFIChfMjUsIDMyQiwgbG9vcF9sZW5fNTAsIHZl Y3RfXzExLjE4XzYxLCAwKTsNCiAgLkxFTl9TVE9SRSAoXzc5LCAzMkIsIGxv b3BfbGVuXzUxLCB2ZWN0X18xMS4xOF82MiwgMCk7DQogIGl2dG1wXzczID0g aXZ0bXBfNzIgLSBsb29wX2xlbl8zNDsNCiAgaXZ0bXAuMjZfMzcgPSBpdnRt cC4yNl80MSArIDE2Ow0KICBpdnRtcC4yN18yID0gaXZ0bXAuMjdfMSArIDY0 Ow0KICBpdnRtcC4zMF81ID0gaXZ0bXAuMzBfNCArIDY0Ow0KICBpdnRtcC4z MV85ID0gaXZ0bXAuMzFfOCArIDY0Ow0KICBpdnRtcC4zMl8xMyA9IGl2dG1w LjMyXzEyICsgNjQ7DQogIGlmIChpdnRtcF83MyAhPSAwKQ0KICAgIGdvdG8g PGJiIDM+OyBbOTIuMzElXQ0KICBlbHNlDQogICAgZ290byA8YmIgND47IFs3 LjY5JV0NCg0KSSBhbSBzdGlsbCBjaGVjayBhYm91dCBpdCBidXQgSSBzZW5k IGl0IHRvIHlvdSBlYXJsaWVyLg0KDQpUaGFua3MuDQoNCg0KanV6aGUuemhv bmdAcml2YWkuYWkNCiANCkZyb206IFJpY2hhcmQgU2FuZGlmb3JkDQpEYXRl OiAyMDIzLTA1LTI0IDIzOjA3DQpUbzoganV6aGUuemhvbmcNCkNDOiBnY2Mt cGF0Y2hlczsgcmd1ZW50aGVyDQpTdWJqZWN0OiBSZTogW1BBVENIIFYxNF0g VkVDVDogQWRkIGRlY3JlbWVudCBJViBpdGVyYXRpb24gbG9vcCBjb250cm9s IGJ5IHZhcmlhYmxlIGFtb3VudCBzdXBwb3J0DQpUaGFua3MgZm9yIHRyeWlu ZyBpdC4gIEknbSBzdGlsbCBzdXJwcmlzZWQgdGhhdCBubyBtdWx0aXBsaWNh dGlvbg0KaXMgbmVlZGVkIHRob3VnaC4gIERvZXMgdGhlIHBhdGNoIHdvcmsg Zm9yOg0KIA0Kc2hvcnQgeFsxMDBdOw0KaW50IHlbMjAwXTsNCiANCnZvaWQg ZigpIHsNCiAgZm9yIChpbnQgaSA9IDAsIGogPSAwOyBpIDwgMTAwOyBpICs9 IDIsIGogKz0gNCkgew0KICAgIHhbaSArIDBdICs9IDE7DQogICAgeFtpICsg MV0gKz0gMjsNCiAgICB5W2ogKyAwXSArPSAxOw0KICAgIHlbaiArIDFdICs9 IDI7DQogICAgeVtqICsgMl0gKz0gMzsNCiAgICB5W2ogKyAzXSArPSA0Ow0K ICB9DQp9DQogDQo/ICBIZXJlLCB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUt Y29udHJvbCByZ3JvdXAgZm9yIHgsIGNvdW50aW5nDQoyIHVuaXRzIHBlciBz Y2FsYXIgaXRlcmF0aW9uLiAgSSdkIGV4cGVjdCB0aGUgSVYgdG8gdXNlIHRo aXMgc2NhbGUuDQogDQpUaGVyZSBzaG91bGQgYWxzbyBiZSBhIDQtY29udHJv bCByZ3JvdXAgZm9yIHksIGNvdW50aW5nIDQgdW5pdHMgcGVyDQpzY2FsYXIg aXRlcmF0aW9uLiAgU28gSSB0aGluayB0aGUgSVYgd291bGQgbmVlZCB0byBi ZSBtdWx0aXBsaWVkIGJ5IDINCmJlZm9yZSBiZWluZyB1c2VkIGZvciB0aGUg eSByZ3JvdXAuDQogDQpUaGFua3MsDQpSaWNoYXJkDQogDQpqdXpoZS56aG9u Z0ByaXZhaS5haSB3cml0ZXM6DQo+IEZyb206IEp1LVpoZSBaaG9uZyA8anV6 aGUuemhvbmdAcml2YWkuYWk+DQo+DQo+IFRoaXMgcGF0Y2ggaXMgc3VwcG9y dGluZyBkZWNyZW1lbnQgSVYgYnkgZm9sbG93aW5nIHRoZSBmbG93IGRlc2ln bmVkIGJ5IFJpY2hhcmQ6DQo+DQo+ICgxKSBJbiB2ZWN0X3NldF9sb29wX2Nv bmRpdGlvbl9wYXJ0aWFsX3ZlY3RvcnMsIGZvciB0aGUgZmlyc3QgaXRlcmF0 aW9uIG9mOg0KPiAgICAgY2FsbCB2ZWN0X3NldF9sb29wX2NvbnRyb2xzX2Rp cmVjdGx5Lg0KPg0KPiAoMikgdmVjdF9zZXRfbG9vcF9jb250cm9sc19kaXJl Y3RseSBjYWxjdWxhdGVzICJzdGVwIiBhcyBpbiB5b3VyIHBhdGNoLg0KPiBJ ZiByZ2MgaGFzIDEgY29udHJvbCwgdGhpcyBzdGVwIGlzIHRoZSBTU0EgbmFt ZSBjcmVhdGVkIGZvciB0aGF0IGNvbnRyb2wuDQo+IE90aGVyd2lzZSB0aGUg c3RlcCBpcyBhIGZyZXNoIFNTQSBuYW1lLCBhcyBpbiB5b3VyIHBhdGNoLg0K Pg0KPiAoMykgdmVjdF9zZXRfbG9vcF9jb250cm9sc19kaXJlY3RseSBzdG9y ZXMgdGhpcyBzdGVwIHNvbWV3aGVyZSBmb3IgbGF0ZXINCj4gdXNlLCBwcm9i YWJseSBpbiBMT09QX1ZJTkZPLiAgTGV0J3MgdXNlICJTIiB0byByZWZlciB0 byB0aGlzIHN0b3JlZCBzdGVwLg0KPg0KPiAoNCkgQWZ0ZXIgdGhlIHZlY3Rf c2V0X2xvb3BfY29udHJvbHNfZGlyZWN0bHkgY2FsbCBhYm92ZSwgYW5kIG91 dHNpZGUNCj4gdGhlICJpZiIgc3RhdGVtZW50IHRoYXQgbm93IGNvbnRhaW5z IHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfZGlyZWN0bHksDQo+IGNoZWNrIHdo ZXRoZXIgcmdjLT5jb250cm9scy5sZW5ndGggKCkgPiAxLiAgSWYgc28sIHVz ZQ0KPiB2ZWN0X2FkanVzdF9sb29wX2xlbnNfY29udHJvbCB0byBzZXQgdGhl IGNvbnRyb2xzIGJhc2VkIG9uIFMuDQo+DQo+IFRoZW4gdGhlIG9ubHkgY2Fs bGVyIG9mIHZlY3RfYWRqdXN0X2xvb3BfbGVuc19jb250cm9sIGlzDQo+IHZl Y3Rfc2V0X2xvb3BfY29uZGl0aW9uX3BhcnRpYWxfdmVjdG9ycy4gIEFuZCB0 aGUgc3RhcnRpbmcNCj4gc3RlcCBmb3IgdmVjdF9hZGp1c3RfbG9vcF9sZW5z X2NvbnRyb2wgaXMgYWx3YXlzIFMuDQo+DQo+IFRoaXMgcGF0Y2ggaGFzIHdl bGwgdGVzdGVkIGZvciBzaW5nbGUtcmdyb3VwIGFuZCBtdWx0aXBsZS1yZ3Jv dXAgKFNMUCkgYW5kDQo+IHBhc3NlZCBhbGwgdGVzdGNhc2UgaW4gUklTQy1W IHBvcnQuDQo+DQo+IEFsc28sIHBhc3MgdGVzdHMgZm9yIG11bHRpcGxlLXJn cm91cCAobm9uLVNMUCkgdGVzdGVkIG9uIHZlY19wYWNrX3RydW5rLg0KPg0K PiAtLS0NCj4gIGdjYy90cmVlLXZlY3QtbG9vcC1tYW5pcC5jYyB8IDE3OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4gIGdjYy90 cmVlLXZlY3QtbG9vcC5jYyAgICAgICB8ICAxMyArKysNCj4gIGdjYy90cmVl LXZlY3Rvcml6ZXIuaCAgICAgICB8ICAxMiArKysNCj4gIDMgZmlsZXMgY2hh bmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KPg0K PiBkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdC1sb29wLW1hbmlwLmNjIGIv Z2NjL3RyZWUtdmVjdC1sb29wLW1hbmlwLmNjDQo+IGluZGV4IGZmNjE1OWUw OGQ1Li41NzhhYzViNzgzZSAxMDA2NDQNCj4gLS0tIGEvZ2NjL3RyZWUtdmVj dC1sb29wLW1hbmlwLmNjDQo+ICsrKyBiL2djYy90cmVlLXZlY3QtbG9vcC1t YW5pcC5jYw0KPiBAQCAtNDY4LDYgKzQ2OCwzOCBAQCB2ZWN0X3NldF9sb29w X2NvbnRyb2xzX2RpcmVjdGx5IChjbGFzcyBsb29wICpsb29wLCBsb29wX3Zl Y19pbmZvIGxvb3BfdmluZm8sDQo+ICAgIGdpbXBsZV9zdG10X2l0ZXJhdG9y IGluY3JfZ3NpOw0KPiAgICBib29sIGluc2VydF9hZnRlcjsNCj4gICAgc3Rh bmRhcmRfaXZfaW5jcmVtZW50X3Bvc2l0aW9uIChsb29wLCAmaW5jcl9nc2ks ICZpbnNlcnRfYWZ0ZXIpOw0KPiArICBpZiAoTE9PUF9WSU5GT19VU0lOR19E RUNSRU1FTlRJTkdfSVZfUCAobG9vcF92aW5mbykpDQo+ICsgICAgew0KPiAr ICAgICAgLyogc2luZ2xlIHJncm91cDoNCj4gKyAuLi4NCj4gKyBfMTAgPSAo dW5zaWduZWQgbG9uZykgY291bnRfMTIoRCk7DQo+ICsgLi4uDQo+ICsgIyBp dnRtcF85ID0gUEhJIDxpdnRtcF8zNSg2KSwgXzEwKDUpPg0KPiArIF8zNiA9 IE1JTl9FWFBSIDxpdnRtcF85LCBQT0xZX0lOVF9DU1QgWzQsIDRdPjsNCj4g KyAuLi4NCj4gKyB2ZWN0X180LjhfMjggPSAuTEVOX0xPQUQgKF8xNywgMzJC LCBfMzYsIDApOw0KPiArIC4uLg0KPiArIGl2dG1wXzM1ID0gaXZ0bXBfOSAt IF8zNjsNCj4gKyAuLi4NCj4gKyBpZiAoaXZ0bXBfMzUgIT0gMCkNCj4gKyAg ICBnb3RvIDxiYiA0PjsgWzgzLjMzJV0NCj4gKyBlbHNlDQo+ICsgICAgZ290 byA8YmIgNT47IFsxNi42NyVdDQo+ICsgICAgICAqLw0KPiArICAgICAgbml0 ZW1zX3RvdGFsID0gZ2ltcGxlX2NvbnZlcnQgKHByZWhlYWRlcl9zZXEsIGl2 X3R5cGUsIG5pdGVtc190b3RhbCk7DQo+ICsgICAgICB0cmVlIHN0ZXAgPSBy Z2MtPmNvbnRyb2xzLmxlbmd0aCAoKSA9PSAxID8gcmdjLT5jb250cm9sc1sw XQ0KPiArICAgICAgICA6IG1ha2Vfc3NhX25hbWUgKGl2X3R5cGUpOw0KPiAr ICAgICAgLyogQ3JlYXRlIGRlY3JlbWVudCBJVi4gICovDQo+ICsgICAgICBj cmVhdGVfaXYgKG5pdGVtc190b3RhbCwgTUlOVVNfRVhQUiwgc3RlcCwgTlVM TF9UUkVFLCBsb29wLCAmaW5jcl9nc2ksDQo+ICsgaW5zZXJ0X2FmdGVyLCAm aW5kZXhfYmVmb3JlX2luY3IsICZpbmRleF9hZnRlcl9pbmNyKTsNCj4gKyAg ICAgIGdpbXBsZV9zZXFfYWRkX3N0bXQgKGhlYWRlcl9zZXEsIGdpbXBsZV9i dWlsZF9hc3NpZ24gKHN0ZXAsIE1JTl9FWFBSLA0KPiArICAgICBpbmRleF9i ZWZvcmVfaW5jciwNCj4gKyAgICAgbml0ZW1zX3N0ZXApKTsNCj4gKyAgICAg IExPT1BfVklORk9fREVDUkVNRU5USU5HX0lWX1NURVAgKGxvb3BfdmluZm8p ID0gc3RlcDsNCj4gKyAgICAgIHJldHVybiBpbmRleF9hZnRlcl9pbmNyOw0K PiArICAgIH0NCj4gKw0KPiArICAvKiBDcmVhdGUgaW5jcmVtZW50IElWLiAg Ki8NCj4gICAgY3JlYXRlX2l2IChidWlsZF9pbnRfY3N0IChpdl90eXBlLCAw KSwgUExVU19FWFBSLCBuaXRlbXNfc3RlcCwgTlVMTF9UUkVFLA0KPiAgICAg ICBsb29wLCAmaW5jcl9nc2ksIGluc2VydF9hZnRlciwgJmluZGV4X2JlZm9y ZV9pbmNyLA0KPiAgICAgICAmaW5kZXhfYWZ0ZXJfaW5jcik7DQo+IEBAIC02 ODMsNiArNzE1LDYzIEBAIHZlY3Rfc2V0X2xvb3BfY29udHJvbHNfZGlyZWN0 bHkgKGNsYXNzIGxvb3AgKmxvb3AsIGxvb3BfdmVjX2luZm8gbG9vcF92aW5m bywNCj4gICAgcmV0dXJuIG5leHRfY3RybDsNCj4gIH0NCj4gIA0KPiArLyog VHJ5IHRvIHVzZSBhZGp1c3QgbG9vcCBsZW5zIGZvciBtdWx0aXBsZS1yZ3Jv dXBzLg0KPiArDQo+ICsgICAgIF8zNiA9IE1JTl9FWFBSIDxpdnRtcF8zNCwg VkY+Ow0KPiArDQo+ICsgICAgIEZpcnN0IGxlbmd0aCAoTUlOIChYLCBWRi9O KSk6DQo+ICsgICAgICAgbG9vcF9sZW5fMTUgPSBNSU5fRVhQUiA8XzM2LCBW Ri9OPjsNCj4gKw0KPiArICAgICBTZWNvbmQgbGVuZ3RoOg0KPiArICAgICAg IHRtcCA9IF8zNiAtIGxvb3BfbGVuXzE1Ow0KPiArICAgICAgIGxvb3BfbGVu XzE2ID0gTUlOICh0bXAsIFZGL04pOw0KPiArDQo+ICsgICAgIFRoaXJkIGxl bmd0aDoNCj4gKyAgICAgICB0bXAyID0gdG1wIC0gbG9vcF9sZW5fMTY7DQo+ ICsgICAgICAgbG9vcF9sZW5fMTcgPSBNSU4gKHRtcDIsIFZGL04pOw0KPiAr DQo+ICsgICAgIExhc3QgbGVuZ3RoOg0KPiArICAgICAgIGxvb3BfbGVuXzE4 ID0gdG1wMiAtIGxvb3BfbGVuXzE3Ow0KPiArKi8NCj4gKw0KPiArc3RhdGlj IHZvaWQNCj4gK3ZlY3RfYWRqdXN0X2xvb3BfbGVuc19jb250cm9sICh0cmVl IGl2X3R5cGUsIGdpbXBsZV9zZXEgKnNlcSwNCj4gKyAgICAgICAgcmdyb3Vw X2NvbnRyb2xzICpkZXN0X3JnbSwgdHJlZSBzdGVwKQ0KPiArew0KPiArICB0 cmVlIGN0cmxfdHlwZSA9IGRlc3RfcmdtLT50eXBlOw0KPiArICBwb2x5X3Vp bnQ2NCBuaXRlbXNfcGVyX2N0cmwNCj4gKyAgICA9IFRZUEVfVkVDVE9SX1NV QlBBUlRTIChjdHJsX3R5cGUpICogZGVzdF9yZ20tPmZhY3RvcjsNCj4gKyAg dHJlZSBsZW5ndGhfbGltaXQgPSBidWlsZF9pbnRfY3N0IChpdl90eXBlLCBu aXRlbXNfcGVyX2N0cmwpOw0KPiArDQo+ICsgIGZvciAodW5zaWduZWQgaW50 IGkgPSAwOyBpIDwgZGVzdF9yZ20tPmNvbnRyb2xzLmxlbmd0aCAoKTsgKytp KQ0KPiArICAgIHsNCj4gKyAgICAgIHRyZWUgY3RybCA9IGRlc3RfcmdtLT5j b250cm9sc1tpXTsNCj4gKyAgICAgIGlmIChpID09IDApDQo+ICsgew0KPiAr ICAgLyogRmlyc3QgaXRlcmF0aW9uOiBNSU4gKFgsIFZGL04pIGNhcHBlZCB0 byB0aGUgcmFuZ2UgWzAsIFZGL05dLiAgKi8NCj4gKyAgIGdhc3NpZ24gKmFz c2lnbg0KPiArICAgICA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKGN0cmwsIE1J Tl9FWFBSLCBzdGVwLCBsZW5ndGhfbGltaXQpOw0KPiArICAgZ2ltcGxlX3Nl cV9hZGRfc3RtdCAoc2VxLCBhc3NpZ24pOw0KPiArIH0NCj4gKyAgICAgIGVs c2UgaWYgKGkgPT0gZGVzdF9yZ20tPmNvbnRyb2xzLmxlbmd0aCAoKSAtIDEp DQo+ICsgew0KPiArICAgLyogTGFzdCBpdGVyYXRpb246IFJlbWFpbiBjYXBw ZWQgdG8gdGhlIHJhbmdlIFswLCBWRi9OXS4gICovDQo+ICsgICBnYXNzaWdu ICphc3NpZ24gPSBnaW1wbGVfYnVpbGRfYXNzaWduIChjdHJsLCBNSU5VU19F WFBSLCBzdGVwLA0KPiArIGRlc3RfcmdtLT5jb250cm9sc1tpIC0gMV0pOw0K PiArICAgZ2ltcGxlX3NlcV9hZGRfc3RtdCAoc2VxLCBhc3NpZ24pOw0KPiAr IH0NCj4gKyAgICAgIGVsc2UNCj4gKyB7DQo+ICsgICAvKiAoTUlOIChyZW1h aW4sIFZGKkkvTikpIGNhcHBlZCB0byB0aGUgcmFuZ2UgWzAsIFZGL05dLiAg Ki8NCj4gKyAgIHN0ZXAgPSBnaW1wbGVfYnVpbGQgKHNlcSwgTUlOVVNfRVhQ UiwgaXZfdHlwZSwgc3RlcCwNCj4gKyAgICAgICAgZGVzdF9yZ20tPmNvbnRy b2xzW2kgLSAxXSk7DQo+ICsgICBnYXNzaWduICphc3NpZ24NCj4gKyAgICAg PSBnaW1wbGVfYnVpbGRfYXNzaWduIChjdHJsLCBNSU5fRVhQUiwgc3RlcCwg bGVuZ3RoX2xpbWl0KTsNCj4gKyAgIGdpbXBsZV9zZXFfYWRkX3N0bXQgKHNl cSwgYXNzaWduKTsNCj4gKyB9DQo+ICsgICAgfQ0KPiArfQ0KPiArDQo+ICAv KiBTZXQgdXAgdGhlIGl0ZXJhdGlvbiBjb25kaXRpb24gYW5kIHJncm91cCBj b250cm9scyBmb3IgTE9PUCwgZ2l2ZW4NCj4gICAgIHRoYXQgTE9PUF9WSU5G T19VU0lOR19QQVJUSUFMX1ZFQ1RPUlNfUCBpcyB0cnVlIGZvciB0aGUgdmVj dG9yaXplZA0KPiAgICAgbG9vcC4gIExPT1BfVklORk8gZGVzY3JpYmVzIHRo ZSB2ZWN0b3JpemF0aW9uIG9mIExPT1AuICBOSVRFUlMgaXMNCj4gQEAgLTc1 MywxNyArODQyLDg0IEBAIHZlY3Rfc2V0X2xvb3BfY29uZGl0aW9uX3BhcnRp YWxfdmVjdG9ycyAoY2xhc3MgbG9vcCAqbG9vcCwNCj4gICAgICAgIGNvbnRp bnVlOw0KPiAgICB9DQo+ICANCj4gLSAvKiBTZWUgd2hldGhlciB6ZXJvLWJh c2VkIElWIHdvdWxkIGV2ZXIgZ2VuZXJhdGUgYWxsLWZhbHNlIG1hc2tzDQo+ IC0gICAgb3IgemVybyBsZW5ndGggYmVmb3JlIHdyYXBwaW5nIGFyb3VuZC4g ICovDQo+IC0gYm9vbCBtaWdodF93cmFwX3AgPSB2ZWN0X3Jncm91cF9pdl9t aWdodF93cmFwX3AgKGxvb3BfdmluZm8sIHJnYyk7DQo+IC0NCj4gLSAvKiBT ZXQgdXAgYWxsIGNvbnRyb2xzIGZvciB0aGlzIGdyb3VwLiAgKi8NCj4gLSB0 ZXN0X2N0cmwgPSB2ZWN0X3NldF9sb29wX2NvbnRyb2xzX2RpcmVjdGx5IChs b29wLCBsb29wX3ZpbmZvLA0KPiAtICAgICAgJnByZWhlYWRlcl9zZXEsDQo+ IC0gICAgICAmaGVhZGVyX3NlcSwNCj4gLSAgICAgIGxvb3BfY29uZF9nc2ks IHJnYywNCj4gLSAgICAgIG5pdGVycywgbml0ZXJzX3NraXAsDQo+IC0gICAg ICBtaWdodF93cmFwX3ApOw0KPiArIGlmICghTE9PUF9WSU5GT19VU0lOR19E RUNSRU1FTlRJTkdfSVZfUCAobG9vcF92aW5mbykNCj4gKyAgICAgfHwgIUxP T1BfVklORk9fREVDUkVNRU5USU5HX0lWX1NURVAgKGxvb3BfdmluZm8pKQ0K PiArICAgew0KPiArICAgICAvKiBTZWUgd2hldGhlciB6ZXJvLWJhc2VkIElW IHdvdWxkIGV2ZXIgZ2VuZXJhdGUgYWxsLWZhbHNlIG1hc2tzDQo+ICsgICAg ICAgIG9yIHplcm8gbGVuZ3RoIGJlZm9yZSB3cmFwcGluZyBhcm91bmQuICAq Lw0KPiArICAgICBib29sIG1pZ2h0X3dyYXBfcCA9IHZlY3Rfcmdyb3VwX2l2 X21pZ2h0X3dyYXBfcCAobG9vcF92aW5mbywgcmdjKTsNCj4gKw0KPiArICAg ICAvKiBTZXQgdXAgYWxsIGNvbnRyb2xzIGZvciB0aGlzIGdyb3VwLiAgKi8N Cj4gKyAgICAgdGVzdF9jdHJsDQo+ICsgICAgICAgPSB2ZWN0X3NldF9sb29w X2NvbnRyb2xzX2RpcmVjdGx5IChsb29wLCBsb29wX3ZpbmZvLA0KPiArICZw cmVoZWFkZXJfc2VxLCAmaGVhZGVyX3NlcSwNCj4gKyBsb29wX2NvbmRfZ3Np LCByZ2MsIG5pdGVycywNCj4gKyBuaXRlcnNfc2tpcCwgbWlnaHRfd3JhcF9w KTsNCj4gKyAgIH0NCj4gKw0KPiArIC8qIERlY3JlbWVudCBJViBvbmx5IHJ1 biB2ZWN0X3NldF9sb29wX2NvbnRyb2xzX2RpcmVjdGx5IG9uY2UuICAqLw0K PiArIGlmIChMT09QX1ZJTkZPX1VTSU5HX0RFQ1JFTUVOVElOR19JVl9QIChs b29wX3ZpbmZvKQ0KPiArICAgICAmJiByZ2MtPmNvbnRyb2xzLmxlbmd0aCAo KSA+IDEpDQo+ICsgICB7DQo+ICsgICAgIC8qDQo+ICsgICAgICAgIC0gTXVs dGlwbGUgcmdyb3VwIChTTFApOg0KPiArIC4uLg0KPiArIF8zOCA9ICh1bnNp Z25lZCBsb25nKSBibmQuN18yOTsNCj4gKyBfMzkgPSBfMzggKiAyOw0KPiAr IC4uLg0KPiArICMgaXZ0bXBfNDEgPSBQSEkgPGl2dG1wXzQyKDYpLCBfMzko NSk+DQo+ICsgLi4uDQo+ICsgXzQzID0gTUlOX0VYUFIgPGl2dG1wXzQxLCAz Mj47DQo+ICsgbG9vcF9sZW5fMjYgPSBNSU5fRVhQUiA8XzQzLCAxNj47DQo+ ICsgbG9vcF9sZW5fMjUgPSBfNDMgLSBsb29wX2xlbl8yNjsNCj4gKyAuLi4N Cj4gKyAuTEVOX1NUT1JFIChfNiwgOEIsIGxvb3BfbGVuXzI2LCAuLi4pOw0K PiArIC4uLg0KPiArIC5MRU5fU1RPUkUgKF8yNSwgOEIsIGxvb3BfbGVuXzI1 LCAuLi4pOw0KPiArIF8zMyA9IGxvb3BfbGVuXzI2IC8gMjsNCj4gKyAuLi4N Cj4gKyAuTEVOX1NUT1JFIChfOCwgMTZCLCBfMzMsIC4uLik7DQo+ICsgXzM2 ID0gbG9vcF9sZW5fMjUgLyAyOw0KPiArIC4uLg0KPiArIC5MRU5fU1RPUkUg KF8xNSwgMTZCLCBfMzYsIC4uLik7DQo+ICsgaXZ0bXBfNDIgPSBpdnRtcF80 MSAtIF80MzsNCj4gKyAuLi4NCj4gKw0KPiArICAgICAgICAtIE11bHRpcGxl IHJncm91cCAobm9uLVNMUCk6DQo+ICsgLi4uDQo+ICsgXzM4ID0gKHVuc2ln bmVkIGxvbmcpIG5fMTIoRCk7DQo+ICsgLi4uDQo+ICsgIyBpdnRtcF8zOCA9 IFBISSA8aXZ0bXBfMzkoMyksIDEwMCgyKT4NCj4gKyAuLi4NCj4gKyBfNDAg PSBNSU5fRVhQUiA8aXZ0bXBfMzgsIFBPTFlfSU5UX0NTVCBbOCwgOF0+Ow0K PiArIGxvb3BfbGVuXzIxID0gTUlOX0VYUFIgPF80MCwgUE9MWV9JTlRfQ1NU IFsyLCAyXT47DQo+ICsgXzQxID0gXzQwIC0gbG9vcF9sZW5fMjE7DQo+ICsg bG9vcF9sZW5fMjAgPSBNSU5fRVhQUiA8XzQxLCBQT0xZX0lOVF9DU1QgWzIs IDJdPjsNCj4gKyBfNDIgPSBfNDAgLSBsb29wX2xlbl8yMDsNCj4gKyBsb29w X2xlbl8xOSA9IE1JTl9FWFBSIDxfNDIsIFBPTFlfSU5UX0NTVCBbMiwgMl0+ Ow0KPiArIF80MyA9IF80MCAtIGxvb3BfbGVuXzE5Ow0KPiArIGxvb3BfbGVu XzE2ID0gTUlOX0VYUFIgPF80MywgUE9MWV9JTlRfQ1NUIFsyLCAyXT47DQo+ ICsgLi4uDQo+ICsgdmVjdF9fNC44XzE1ID0gLkxFTl9MT0FEIChfNiwgNjRC LCBsb29wX2xlbl8yMSwgMCk7DQo+ICsgLi4uDQo+ICsgdmVjdF9fNC45Xzgg PSAuTEVOX0xPQUQgKF8xMywgNjRCLCBsb29wX2xlbl8yMCwgMCk7DQo+ICsg Li4uDQo+ICsgdmVjdF9fNC4xMF8yOCA9IC5MRU5fTE9BRCAoXzQ2LCA2NEIs IGxvb3BfbGVuXzE5LCAwKTsNCj4gKyAuLi4NCj4gKyB2ZWN0X180LjExXzMw ID0gLkxFTl9MT0FEIChfNDksIDY0QiwgbG9vcF9sZW5fMTYsIDApOw0KPiAr IHZlY3RfXzcuMTNfMzEgPSBWRUNfUEFDS19UUlVOQ19FWFBSIDwuLi4+LA0K PiArIHZlY3RfXzcuMTNfMzIgPSBWRUNfUEFDS19UUlVOQ19FWFBSIDwuLi4+ Ow0KPiArIHZlY3RfXzcuMTJfMzMgPSBWRUNfUEFDS19UUlVOQ19FWFBSIDwu Li4+Ow0KPiArIC4uLg0KPiArIC5MRU5fU1RPUkUgKF8xNCwgMTZCLCBfNDAs IHZlY3RfXzcuMTJfMzMsIDApOw0KPiArIGl2dG1wXzM5ID0gaXZ0bXBfMzgg LSBfNDA7DQo+ICsgLi4uDQo+ICsgICAgICovDQo+ICsgICAgIHRyZWUgaXZf dHlwZSA9IExPT1BfVklORk9fUkdST1VQX0lWX1RZUEUgKGxvb3BfdmluZm8p Ow0KPiArICAgICB0cmVlIHN0ZXAgPSBMT09QX1ZJTkZPX0RFQ1JFTUVOVElO R19JVl9TVEVQIChsb29wX3ZpbmZvKTsNCj4gKyAgICAgZ2NjX2Fzc2VydCAo c3RlcCk7DQo+ICsgICAgIHZlY3RfYWRqdXN0X2xvb3BfbGVuc19jb250cm9s IChpdl90eXBlLCAmaGVhZGVyX3NlcSwgcmdjLCBzdGVwKTsNCj4gKyAgIH0N Cj4gICAgICAgIH0NCj4gIA0KPiAgICAvKiBFbWl0IGFsbCBhY2N1bXVsYXRl ZCBzdGF0ZW1lbnRzLiAgKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90cmVlLXZl Y3QtbG9vcC5jYyBiL2djYy90cmVlLXZlY3QtbG9vcC5jYw0KPiBpbmRleCBj ZjEwMTMyYjBiZi4uNDU2ZjUwZmE3Y2MgMTAwNjQ0DQo+IC0tLSBhL2djYy90 cmVlLXZlY3QtbG9vcC5jYw0KPiArKysgYi9nY2MvdHJlZS12ZWN0LWxvb3Au Y2MNCj4gQEAgLTk3Myw2ICs5NzMsOCBAQCBfbG9vcF92ZWNfaW5mbzo6X2xv b3BfdmVjX2luZm8gKGNsYXNzIGxvb3AgKmxvb3BfaW4sIHZlY19pbmZvX3No YXJlZCAqc2hhcmVkKQ0KPiAgICAgIHZlY3Rvcml6YWJsZSAoZmFsc2UpLA0K PiAgICAgIGNhbl91c2VfcGFydGlhbF92ZWN0b3JzX3AgKHBhcmFtX3ZlY3Rf cGFydGlhbF92ZWN0b3JfdXNhZ2UgIT0gMCksDQo+ICAgICAgdXNpbmdfcGFy dGlhbF92ZWN0b3JzX3AgKGZhbHNlKSwNCj4gKyAgICB1c2luZ19kZWNyZW1l bnRpbmdfaXZfcCAoZmFsc2UpLA0KPiArICAgIGRlY3JlbWVudGluZ19pdl9z dGVwIChOVUxMX1RSRUUpLA0KPiAgICAgIGVwaWxfdXNpbmdfcGFydGlhbF92 ZWN0b3JzX3AgKGZhbHNlKSwNCj4gICAgICBwYXJ0aWFsX2xvYWRfc3RvcmVf YmlhcyAoMCksDQo+ICAgICAgcGVlbGluZ19mb3JfZ2FwcyAoZmFsc2UpLA0K PiBAQCAtMjcyNSw2ICsyNzI3LDE3IEBAIHN0YXJ0X292ZXI6DQo+ICAgICAg ICAmJiAhdmVjdF92ZXJpZnlfbG9vcF9sZW5zIChsb29wX3ZpbmZvKSkNCj4g ICAgICBMT09QX1ZJTkZPX0NBTl9VU0VfUEFSVElBTF9WRUNUT1JTX1AgKGxv b3BfdmluZm8pID0gZmFsc2U7DQo+ICANCj4gKyAgLyogSWYgd2UncmUgdmVj dG9yaXppbmcgYW4gbG9vcCB0aGF0IHVzZXMgbGVuZ3RoICJjb250cm9scyIg YW5kDQo+ICsgICAgIGNhbiBpdGVyYXRlIG1vcmUgdGhhbiBvbmNlLCB3ZSBh cHBseSBkZWNyZW1lbnRpbmcgSVYgYXBwcm9hY2gNCj4gKyAgICAgaW4gbG9v cCBjb250cm9sLiAgKi8NCj4gKyAgaWYgKExPT1BfVklORk9fQ0FOX1VTRV9Q QVJUSUFMX1ZFQ1RPUlNfUCAobG9vcF92aW5mbykNCj4gKyAgICAgICYmICFM T09QX1ZJTkZPX0xFTlMgKGxvb3BfdmluZm8pLmlzX2VtcHR5ICgpDQo+ICsg ICAgICAmJiBMT09QX1ZJTkZPX1BBUlRJQUxfTE9BRF9TVE9SRV9CSUFTIChs b29wX3ZpbmZvKSA9PSAwDQo+ICsgICAgICAmJiAhKExPT1BfVklORk9fTklU RVJTX0tOT1dOX1AgKGxvb3BfdmluZm8pDQo+ICsgICAgJiYga25vd25fbGUg KExPT1BfVklORk9fSU5UX05JVEVSUyAobG9vcF92aW5mbyksDQo+ICsgTE9P UF9WSU5GT19WRUNUX0ZBQ1RPUiAobG9vcF92aW5mbykpKSkNCj4gKyAgICBM T09QX1ZJTkZPX1VTSU5HX0RFQ1JFTUVOVElOR19JVl9QIChsb29wX3ZpbmZv KSA9IHRydWU7DQo+ICsNCj4gICAgLyogSWYgd2UncmUgdmVjdG9yaXppbmcg YW4gZXBpbG9ndWUgbG9vcCwgdGhlIHZlY3Rvcml6ZWQgbG9vcCBlaXRoZXIg bmVlZHMNCj4gICAgICAgdG8gYmUgYWJsZSB0byBoYW5kbGUgZmV3ZXIgdGhh biBWRiBzY2FsYXJzLCBvciBuZWVkcyB0byBoYXZlIGEgbG93ZXIgVkYNCj4g ICAgICAgdGhhbiB0aGUgbWFpbiBsb29wLiAgKi8NCj4gZGlmZiAtLWdpdCBh L2djYy90cmVlLXZlY3Rvcml6ZXIuaCBiL2djYy90cmVlLXZlY3Rvcml6ZXIu aA0KPiBpbmRleCAwMmQyYWQ2ZmJhMS4uN2VkMDc5ZjU0M2EgMTAwNjQ0DQo+ IC0tLSBhL2djYy90cmVlLXZlY3Rvcml6ZXIuaA0KPiArKysgYi9nY2MvdHJl ZS12ZWN0b3JpemVyLmgNCj4gQEAgLTgxOCw2ICs4MTgsMTYgQEAgcHVibGlj Og0KPiAgICAgICB0aGUgdmVjdG9yIGxvb3AgY2FuIGhhbmRsZSBmZXdlciB0 aGFuIFZGIHNjYWxhcnMuICAqLw0KPiAgICBib29sIHVzaW5nX3BhcnRpYWxf dmVjdG9yc19wOw0KPiAgDQo+ICsgIC8qIFRydWUgaWYgd2UndmUgZGVjaWRl ZCB0byB1c2UgYSBkZWNyZW1lbnRpbmcgbG9vcCBjb250cm9sIElWIHRoYXQg Y291bnRzDQo+ICsgICAgIHNjYWxhcnMuIFRoaXMgY2FuIGJlIGRvbmUgZm9y IGFueSBsb29wIHRoYXQ6DQo+ICsNCj4gKyAoYSkgdXNlcyBsZW5ndGggImNv bnRyb2xzIjsgYW5kDQo+ICsgKGIpIGNhbiBpdGVyYXRlIG1vcmUgdGhhbiBv bmNlLiAgKi8NCj4gKyAgYm9vbCB1c2luZ19kZWNyZW1lbnRpbmdfaXZfcDsN Cj4gKw0KPiArICAvKiBUaGUgdmFyaWFibGUgYW1vdW50IHN0ZXAgZm9yIGRl Y3JlbWVudCBJVi4gICovDQo+ICsgIHRyZWUgZGVjcmVtZW50aW5nX2l2X3N0 ZXA7DQo+ICsNCj4gICAgLyogVHJ1ZSBpZiB3ZSd2ZSBkZWNpZGVkIHRvIHVz ZSBwYXJ0aWFsbHktcG9wdWxhdGVkIHZlY3RvcnMgZm9yIHRoZQ0KPiAgICAg ICBlcGlsb2d1ZSBvZiBsb29wLiAgKi8NCj4gICAgYm9vbCBlcGlsX3VzaW5n X3BhcnRpYWxfdmVjdG9yc19wOw0KPiBAQCAtODkwLDYgKzkwMCw4IEBAIHB1 YmxpYzoNCj4gICNkZWZpbmUgTE9PUF9WSU5GT19WRUNUT1JJWkFCTEVfUChM KSAgICAgICAoTCktPnZlY3Rvcml6YWJsZQ0KPiAgI2RlZmluZSBMT09QX1ZJ TkZPX0NBTl9VU0VfUEFSVElBTF9WRUNUT1JTX1AoTCkgKEwpLT5jYW5fdXNl X3BhcnRpYWxfdmVjdG9yc19wDQo+ICAjZGVmaW5lIExPT1BfVklORk9fVVNJ TkdfUEFSVElBTF9WRUNUT1JTX1AoTCkgKEwpLT51c2luZ19wYXJ0aWFsX3Zl Y3RvcnNfcA0KPiArI2RlZmluZSBMT09QX1ZJTkZPX1VTSU5HX0RFQ1JFTUVO VElOR19JVl9QKEwpIChMKS0+dXNpbmdfZGVjcmVtZW50aW5nX2l2X3ANCj4g KyNkZWZpbmUgTE9PUF9WSU5GT19ERUNSRU1FTlRJTkdfSVZfU1RFUChMKSAo TCktPmRlY3JlbWVudGluZ19pdl9zdGVwDQo+ICAjZGVmaW5lIExPT1BfVklO Rk9fRVBJTF9VU0lOR19QQVJUSUFMX1ZFQ1RPUlNfUChMKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KPiAgICAoTCktPmVwaWxfdXNpbmdfcGFy dGlhbF92ZWN0b3JzX3ANCj4gICNkZWZpbmUgTE9PUF9WSU5GT19QQVJUSUFM X0xPQURfU1RPUkVfQklBUyhMKSAoTCktPnBhcnRpYWxfbG9hZF9zdG9yZV9i aWFzDQogDQo= ------=_001_NextPart654822623543_=------