From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EC6A8C00528 for ; Sun, 6 Aug 2023 21:44:07 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C729E10E174; Sun, 6 Aug 2023 21:43:51 +0000 (UTC) Received: from mail03.siengine.com (unknown [43.240.192.165]) by gabe.freedesktop.org (Postfix) with ESMTPS id ED20210E08F for ; Sun, 6 Aug 2023 01:51:12 +0000 (UTC) Received: from mail03.siengine.com (localhost [127.0.0.2] (may be forged)) by mail03.siengine.com with ESMTP id 3761iiD5066604 for ; Sun, 6 Aug 2023 09:44:44 +0800 (+08) (envelope-from lucas.liu@siengine.com) Received: from dsgsiengine01 ([10.8.1.61]) by mail03.siengine.com with ESMTPS id 3761iMAT066587 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Sun, 6 Aug 2023 09:44:22 +0800 (+08) (envelope-from lucas.liu@siengine.com) Received: from SEEXMB03-2019.siengine.com (SEEXMB03-2019.siengine.com [10.8.1.33]) by dsgsiengine01 (SkyGuard) with ESMTPS id 4RJMgn0XG0z7ZMjl for ; Sun, 6 Aug 2023 09:44:21 +0800 (CST) Received: from SEEXMB04-2019.siengine.com (10.8.1.34) by SEEXMB03-2019.siengine.com (10.8.1.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.1258.16; Sun, 6 Aug 2023 09:44:20 +0800 Received: from SEEXMB04-2019.siengine.com ([fe80::ebda:7f0d:8ee8:ab8f]) by SEEXMB04-2019.siengine.com ([fe80::ebda:7f0d:8ee8:ab8f%14]) with mapi id 15.02.1258.016; Sun, 6 Aug 2023 09:44:20 +0800 From: =?utf-8?B?TGl1IEx1Y2FzL+WImOS/neafsQ==?= To: "dri-devel@lists.freedesktop.org" Subject: =?utf-8?B?6L2s5Y+ROiDlm57lpI06IFtQQVRDSF0gZHJtL2tvbWVkYTogZHJvcCBhbGwg?= =?utf-8?Q?currently_held_locks_if_deadlock_happens?= Thread-Topic: =?utf-8?B?5Zue5aSNOiBbUEFUQ0hdIGRybS9rb21lZGE6IGRyb3AgYWxsIGN1cnJlbnRs?= =?utf-8?Q?y_held_locks_if_deadlock_happens?= Thread-Index: AQHZw4ZPK9PTYQji4kefXaxDre/cGq/TZJCAgAE9S+D///gIAIAAi7rwgAdiHxA= Date: Sun, 6 Aug 2023 01:44:20 +0000 Message-ID: <80ffb077a36c4aefabe00100e93be0b0@siengine.com> References: <20230731080843.11260-1-menghui.huang@siengine.com> <36ecaa6bae8a4988874115663ae060fd@siengine.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.20.20.14] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-DKIM-Results: [10.8.1.61]; dkim=none; X-DNSRBL: X-MAIL: mail03.siengine.com 3761iiD5066604 X-Mailman-Approved-At: Sun, 06 Aug 2023 21:43:47 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" DQoNCi0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCuWPkeS7tuS6ujogTGl1IEx1Y2FzL+WImOS/neaf sSANCuWPkemAgeaXtumXtDogMjAyM+W5tDjmnIgx5pelIDE2OjU5DQrmlLbku7bkuro6ICdMaXZp dSBEdWRhdScgPGxpdml1LmR1ZGF1QGFybS5jb20+DQrmioTpgIE6IGFpcmxpZWRAZ21haWwuY29t OyBkYW5pZWxAZmZ3bGwuY2g7IEh1YW5nIE1lbmdodWkv6buE5qKm6L6JIDxtZW5naHVpLmh1YW5n QHNpZW5naW5lLmNvbT4NCuS4u+mimDog5Zue5aSNOiDlm57lpI06IFtQQVRDSF0gZHJtL2tvbWVk YTogZHJvcCBhbGwgY3VycmVudGx5IGhlbGQgbG9ja3MgaWYgZGVhZGxvY2sgaGFwcGVucw0KDQpP ayAsIGxhdGVyLCBJIHdpbGwgc2VuZCBhIG5ldyBwYXRjaC4NCg0KLS0tLS3pgq7ku7bljp/ku7Yt LS0tLQ0K5Y+R5Lu25Lq6OiBMaXZpdSBEdWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNvbT4NCuWPkemA geaXtumXtDogMjAyM+W5tDjmnIgx5pelIDE2OjM4DQrmlLbku7bkuro6IExpdSBMdWNhcy/liJjk v53mn7EgPGx1Y2FzLmxpdUBzaWVuZ2luZS5jb20+DQrmioTpgIE6IGFpcmxpZWRAZ21haWwuY29t OyBkYW5pZWxAZmZ3bGwuY2g7IEh1YW5nIE1lbmdodWkv6buE5qKm6L6JIDxtZW5naHVpLmh1YW5n QHNpZW5naW5lLmNvbT4NCuS4u+mimDogUmU6IOWbnuWkjTogW1BBVENIXSBkcm0va29tZWRhOiBk cm9wIGFsbCBjdXJyZW50bHkgaGVsZCBsb2NrcyBpZiBkZWFkbG9jayBoYXBwZW5zDQoNCk9uIFR1 ZSwgQXVnIDAxLCAyMDIzIGF0IDAyOjE2OjQ2QU0gKzAwMDAsIExpdSBMdWNhcy/liJjkv53mn7Eg d3JvdGU6DQo+IEhlbGxvLA0KDQpIaSBMaXUsDQoNCj4gDQo+IEknbSBzb3JyeSB0aGF0IHRoZSBw cmV2aW91cyBtb2RpZmljYXRpb24gd2FzIG5vdCBleHBsYWluZWQgaW4gZGV0YWlsLg0KPiAoMSku IFdlIGFyZSBkb2luZyBhIGRlYWRsb2NrIGRldGVjdGlvbiBvbiB0aGUga2VybmVsLCBzbyB0dXJu IG9uIHRoZSBkZWJ1ZyBvcHRpb24gZm9yIGxvY2tzOg0KPiBDT05GSUdfTE9DS0RFUD15DQo+IENP TkZJR19QUk9WRV9MT0NLSU5HPXkNCj4gQ09ORklHX0xPQ0tfU1RBVD15DQo+IENPTkZJR19ERUJV R19SVF9NVVRFWEVTPXkNCj4gQ09ORklHX0RFQlVHX1NQSU5MT0NLPXkNCj4gQ09ORklHX0RFQlVH X01VVEVYRVM9eQ0KPiBDT05GSUdfREVCVUdfUldTRU1TPXkNCj4gQ09ORklHX0RFQlVHX1dXX01V VEVYX1NMT1dQQVRIPXkNCj4gQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0M9eQ0KPiBDT05GSUdfREVC VUdfQVRPTUlDX1NMRUVQPXkNCj4gQ09ORklHX1BST1ZFX1JBV19MT0NLX05FU1RJTkc9eQ0KPiAN Cj4gUHJvYmxlbXMgd2l0aCB0aGUgQ09ORklHX0RFQlVHX1dXX01VVEVYX1NMT1dQQVRIIG9wdGlv biB3ZXJlIGZvdW5kOg0KPiANCj4gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0t DQo+IFdBUk5JTkc6IENQVTogMiBQSUQ6IDM0NSBhdA0KPiBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jOjEyNDgNCj4ga29tZWRhX3JlbGVh c2VfdW5jbGFpbWVkX3Jlc291cmNlcysweDEzYy8weDE3MA0KPiBNb2R1bGVzIGxpbmtlZCBpbjoN Cj4gQ1BVOiAyIFBJRDogMzQ1IENvbW06IGNvbXBvc2VyQDIuMS1zZSBLZHVtcDogbG9hZGVkIFRh aW50ZWQ6IEcgICAgICAgIFcgICAgICAgICA1LjEwLjExMC1TRS1TREsxLjgtZGlydHkgIzE2DQo+ IEhhcmR3YXJlIG5hbWU6IFNpZW5naW5lIFNlMTAwMCBFdmFsdWF0aW9uIGJvYXJkIChEVCkNCj4g cHN0YXRlOiAyMDQwMDAwOSAobnpDdiBkYWlmICtQQU4gLVVBTyAtVENPIEJUWVBFPS0tKSBwYyA6 IA0KPiBrb21lZGFfcmVsZWFzZV91bmNsYWltZWRfcmVzb3VyY2VzKzB4MTNjLzB4MTcwDQo+IGxy IDoga29tZWRhX3JlbGVhc2VfdW5jbGFpbWVkX3Jlc291cmNlcysweGJjLzB4MTcwDQo+IHNwIDog ZmZmZjgwMDAxN2I4YjhkMA0KPiBwbXJfc2F2ZTogMDAwMDAwZTANCj4geDI5OiBmZmZmODAwMDE3 YjhiOGQwIHgyODogZmZmZjAwMGNmMmY5NjIwMA0KPiB4Mjc6IGZmZmYwMDBjOGY1YTg4MDAgeDI2 OiAwMDAwMDAwMDAwMDAwMDAwDQo+IHgyNTogMDAwMDAwMDAwMDAwMDAzOCB4MjQ6IGZmZmY4MDAw MTE2YTAxNDANCj4geDIzOiAwMDAwMDAwMDAwMDAwMDM4IHgyMjogZmZmZjAwMGNmMmY5NjIwMA0K PiB4MjE6IGZmZmYwMDBjZmMzMDAzMDAgeDIwOiBmZmZmMDAwYzhhYjc3MDgwDQo+IHgxOTogMDAw MDAwMDAwMDAwMDAwMyB4MTg6IDAwMDAwMDAwMDAwMDAwMDANCj4geDE3OiAwMDAwMDAwMDAwMDAw MDAwIHgxNjogMDAwMDAwMDAwMDAwMDAwMA0KPiB4MTU6IGI0MDBlNjM4ZjczOGJhMzggeDE0OiAw MDAwMDAwMDAwMDAwMDAwDQo+IHgxMzogMDAwMDAwMDEwNjQwMGEwMCB4MTI6IDAwMDAwMDAwMDAw MDAwMDANCj4geDExOiAwMDAwMDAwMDAwMDAwMDAwIHgxMDogMDAwMDAwMDAwMDAwMDAwMA0KPiB4 OSA6IGZmZmY4MDAwMTJmODAwMDAgeDggOiBmZmZmMDAwY2EzMzA4MDAwDQo+IHg3IDogMDAwMDAw MGZmMzAwMDAwMCB4NiA6IGZmZmY4MDAwMTA4NDAzNGMNCj4geDUgOiBmZmZmODAwMDE3YjhiYzQw IHg0IDogMDAwMDAwMDAwMDAwMDAwZg0KPiB4MyA6IGZmZmYwMDBjYTMzMDgwMDAgeDIgOiAwMDAw MDAwMDAwMDAwMDAwDQo+IHgxIDogMDAwMDAwMDAwMDAwMDAwMCB4MCA6IGZmZmZmZmZmZmZmZmZm ZGQgQ2FsbCB0cmFjZToNCj4ga29tZWRhX3JlbGVhc2VfdW5jbGFpbWVkX3Jlc291cmNlcysweDEz Yy8weDE3MA0KPiBrb21lZGFfY3J0Y19hdG9taWNfY2hlY2srMHg2OC8weGYwDQo+IGRybV9hdG9t aWNfaGVscGVyX2NoZWNrX3BsYW5lcysweDEzOC8weDFmNA0KPiBrb21lZGFfa21zX2NoZWNrKzB4 Mjg0LzB4MzZjDQo+IGRybV9hdG9taWNfY2hlY2tfb25seSsweDQwYy8weDcxNA0KPiBkcm1fYXRv bWljX25vbmJsb2NraW5nX2NvbW1pdCsweDFjLzB4NjANCj4gZHJtX21vZGVfYXRvbWljX2lvY3Rs KzB4YTNjLzB4YjhjDQo+IGRybV9pb2N0bF9rZXJuZWwrMHhjNC8weDEyMA0KPiBkcm1faW9jdGwr MHgyNjgvMHg1MzQNCj4gX19hcm02NF9zeXNfaW9jdGwrMHhhOC8weGYwDQo+IGVsMF9zdmNfY29t bW9uLmNvbnN0cHJvcC4wKzB4ODAvMHgyNDANCj4gZG9fZWwwX3N2YysweDI0LzB4OTANCj4gZWww X3N2YysweDIwLzB4MzANCj4gZWwwX3N5bmNfaGFuZGxlcisweGU4LzB4ZjANCj4gZWwwX3N5bmMr MHgxYTQvMHgxYzANCj4gaXJxIGV2ZW50IHN0YW1wOiAwDQo+IGhhcmRpcnFzIGxhc3QgIGVuYWJs ZWQgYXQgKDApOiBbPDAwMDAwMDAwMDAwMDAwMDA+XSAweDAgaGFyZGlycXMgbGFzdCANCj4gZGlz YWJsZWQgYXQgKDApOiBbPGZmZmY4MDAwMTAwNTZkMzQ+XSBjb3B5X3Byb2Nlc3MrMHg1ZDAvMHgx ODNjIA0KPiBzb2Z0aXJxcyBsYXN0ICBlbmFibGVkIGF0ICgwKTogWzxmZmZmODAwMDEwMDU2ZDM0 Pl0gDQo+IGNvcHlfcHJvY2VzcysweDVkMC8weDE4M2Mgc29mdGlycXMgbGFzdCBkaXNhYmxlZCBh dCAoMCk6DQo+IFs8MDAwMDAwMDAwMDAwMDAwMD5dIDB4MCAtLS1bIGVuZCB0cmFjZSAyMGFlOTg0 ZmE4NjAxODRhIF0tLS0gDQo+IC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0K PiBXQVJOSU5HOiBDUFU6IDMgUElEOiAzNDUgYXQgZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0 X2xvY2suYzoyMjgNCj4gZHJtX21vZGVzZXRfZHJvcF9sb2NrcysweDg0LzB4OTAgTW9kdWxlcyBs aW5rZWQgaW46DQo+IENQVTogMyBQSUQ6IDM0NSBDb21tOiBjb21wb3NlckAyLjEtc2UgS2R1bXA6 IGxvYWRlZCBUYWludGVkOiBHICAgICAgICBXICAgICAgICAgNS4xMC4xMTAtU0UtU0RLMS44LWRp cnR5ICMxNg0KPiBIYXJkd2FyZSBuYW1lOiBTaWVuZ2luZSBTZTEwMDAgRXZhbHVhdGlvbiBib2Fy ZCAoRFQpDQo+IHBzdGF0ZTogMjA0MDAwMDkgKG56Q3YgZGFpZiArUEFOIC1VQU8gLVRDTyBCVFlQ RT0tLSkgcGMgOiANCj4gZHJtX21vZGVzZXRfZHJvcF9sb2NrcysweDg0LzB4OTAgbHIgOiANCj4g ZHJtX21vZGVfYXRvbWljX2lvY3RsKzB4ODYwLzB4YjhjIHNwIDogZmZmZjgwMDAxN2I4YmIxMA0K PiBwbXJfc2F2ZTogMDAwMDAwZTANCj4geDI5OiBmZmZmODAwMDE3YjhiYjEwIHgyODogMDAwMDAw MDAwMDAwMDAwMQ0KPiB4Mjc6IDAwMDAwMDAwMDAwMDAwMzggeDI2OiAwMDAwMDAwMDAwMDAwMDAy DQo+IHgyNTogZmZmZjAwMGNlY2JlZmEwMCB4MjQ6IGZmZmYwMDBjZjJmOTYyMDANCj4geDIzOiAw MDAwMDAwMDAwMDAwMDAxIHgyMjogMDAwMDAwMDAwMDAwMDAxOA0KPiB4MjE6IDAwMDAwMDAwMDAw MDAwMDEgeDIwOiBmZmZmODAwMDE3YjhiYzEwDQo+IHgxOTogMDAwMDAwMDAwMDAwMDAwMCB4MTg6 IDAwMDAwMDAwMDAwMDAwMDANCj4geDE3OiAwMDAwMDAwMDAyZThiZjJjIHgxNjogMDAwMDAwMDAw MmU5NGM2Yg0KPiB4MTU6IDAwMDAwMDAwMDJlYTQ4YjkgeDE0OiBmZmZmODAwMDEyMWYwMzAwDQo+ IHgxMzogMDAwMDAwMDAwMmVlMmNhOCB4MTI6IGZmZmY4MDAwMTEyOWNhZTANCj4geDExOiBmZmZm ODAwMDEyNDM1MDAwIHgxMDogZmZmZjAwMGVkNDZiNWU4OA0KPiB4OSA6IGZmZmYwMDBjOTkzNWU2 MDAgeDggOiAwMDAwMDAwMDAwMDAwMDAwDQo+IHg3IDogMDAwMDAwMDA4MDIwMDAxZSB4NiA6IDAw MDAwMDAwODAyMDAwMWYNCj4geDUgOiBmZmZmODAwMDEwODVmYmUwIHg0IDogZmZmZmZlMDAzM2E1 OWYyMA0KPiB4MyA6IDAwMDAwMDAwODAyMDAwMWUgeDIgOiAwMDAwMDAwMDAwMDAwMDAwDQo+IHgx IDogMDAwMDAwMDAwMDAwMDAwMCB4MCA6IGZmZmYwMDBjOGY1OTYwOTAgQ2FsbCB0cmFjZToNCj4g ZHJtX21vZGVzZXRfZHJvcF9sb2NrcysweDg0LzB4OTANCj4gZHJtX21vZGVfYXRvbWljX2lvY3Rs KzB4ODYwLzB4YjhjDQo+IGRybV9pb2N0bF9rZXJuZWwrMHhjNC8weDEyMA0KPiBkcm1faW9jdGwr MHgyNjgvMHg1MzQNCj4gX19hcm02NF9zeXNfaW9jdGwrMHhhOC8weGYwDQo+IGVsMF9zdmNfY29t bW9uLmNvbnN0cHJvcC4wKzB4ODAvMHgyNDANCj4gZG9fZWwwX3N2YysweDI0LzB4OTANCj4gZWww X3N2YysweDIwLzB4MzANCj4gZWwwX3N5bmNfaGFuZGxlcisweGU4LzB4ZjANCj4gZWwwX3N5bmMr MHgxYTQvMHgxYzANCj4gaXJxIGV2ZW50IHN0YW1wOiAwDQo+IGhhcmRpcnFzIGxhc3QgIGVuYWJs ZWQgYXQgKDApOiBbPDAwMDAwMDAwMDAwMDAwMDA+XSAweDAgaGFyZGlycXMgbGFzdCANCj4gZGlz YWJsZWQgYXQgKDApOiBbPGZmZmY4MDAwMTAwNTZkMzQ+XSBjb3B5X3Byb2Nlc3MrMHg1ZDAvMHgx ODNjIA0KPiBzb2Z0aXJxcyBsYXN0ICBlbmFibGVkIGF0ICgwKTogWzxmZmZmODAwMDEwMDU2ZDM0 Pl0gDQo+IGNvcHlfcHJvY2VzcysweDVkMC8weDE4M2Mgc29mdGlycXMgbGFzdCBkaXNhYmxlZCBh dCAoMCk6DQo+IFs8MDAwMDAwMDAwMDAwMDAwMD5dIDB4MCAtLS1bIGVuZCB0cmFjZSAyMGFlOTg0 ZmE4NjAxODRiIF0tLS0NCj4gDQo+ICgyKS4gQWNjb3JkaW5nIHRvIHRoZSBjYWxsIHRyYWNlIGlu Zm9ybWF0aW9uLCBpdCBjYW4gYmUgbG9jYXRlZCB0byBiZSBXQVJOX09OKElTX0VSUihjX3N0KSkg aW4gdGhlIGtvbWVkYV9waXBlbGluZV91bmJvdW5kX2NvbXBvbmVudHMgZnVuY3Rpb247IFRoZW4g Zm9sbG93IHRoZSBmdW5jdGlvbi4NCj4ga29tZWRhX3BpcGVsaW5lX3VuYm91bmRfY29tcG9uZW50 cw0KPiAtPiBrb21lZGFfY29tcG9uZW50X2dldF9zdGF0ZV9hbmRfc2V0X3VzZXINCj4gICAtPiBr b21lZGFfcGlwZWxpbmVfZ2V0X3N0YXRlX2FuZF9zZXRfY3J0Yw0KPiAgICAgLT4ga29tZWRhX3Bp cGVsaW5lX2dldF9zdGF0ZQ0KPiAgICAgICAtPmRybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0 YXRlDQo+ICAgICAgICAgLT4gZHJtX2F0b21pY19nZXRfcHJpdmF0ZV9vYmpfc3RhdGUNCj4gICAg ICAgICAgIC0+IGRybV9tb2Rlc2V0X2xvY2sNCj4gDQo+IA0KPiBrb21lZGFfcGlwZWxpbmVfdW5i b3VuZF9jb21wb25lbnRzDQo+IC0+IGtvbWVkYV9jb21wb25lbnRfZ2V0X3N0YXRlX2FuZF9zZXRf dXNlcg0KPiAgIC0+IGtvbWVkYV9jb21wb25lbnRfZ2V0X3N0YXRlDQo+ICAgICAtPiBkcm1fYXRv bWljX2dldF9wcml2YXRlX29ial9zdGF0ZQ0KPiAgICAgIC0+IGRybV9tb2Rlc2V0X2xvY2sNCj4g DQo+IHJldCA9IGRybV9tb2Rlc2V0X2xvY2soJm9iai0+bG9jaywgc3RhdGUtPmFjcXVpcmVfY3R4 KTsgaWYgKHJldCkNCj4gCXJldHVybiBFUlJfUFRSKHJldCk7DQo+IEhlcmUgaXQgcmV0dXJuIC1F REVBRExLLg0KPiANCj4gKDMpLiBUaGVyZWZvcmUsIGRlYWwgd2l0aCB0aGUgZGVhZGxvY2sgYXMg c3VnZ2VzdGVkIGJ5IFsxXSwgdXNpbmcgdGhlDQo+ICAgICBmdW5jdGlvbiBkcm1fbW9kZXNldF9i YWNrb2ZmKCkuDQo+ICAgICBbMV0NCj4gaHR0cHM6Ly9kb2NzLmtlcm5lbC5vcmcvZ3B1L2RybS1r bXMuaHRtbD9oaWdobGlnaHQ9a21zI2ttcy1sb2NraW5nDQo+IA0KPiBBY2NvcmRpbmcgdG8gdGhl IGNhbGwgdHJhY2UgaW5mb3JtYXRpb246DQo+IENhbGwgdHJhY2U6DQo+IGtvbWVkYV9yZWxlYXNl X3VuY2xhaW1lZF9yZXNvdXJjZXMrMHgxM2MvMHgxNzANCj4ga29tZWRhX2NydGNfYXRvbWljX2No ZWNrKzB4NjgvMHhmMA0KPiBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFuZXMrMHgxMzgvMHgx ZjQNCj4ga29tZWRhX2ttc19jaGVjaysweDI4NC8weDM2Yw0KPiBkcm1fYXRvbWljX2NoZWNrX29u bHkrMHg0MGMvMHg3MTQNCj4gZHJtX2F0b21pY19ub25ibG9ja2luZ19jb21taXQrMHgxYy8weDYw DQo+IGRybV9tb2RlX2F0b21pY19pb2N0bCsweGEzYy8weGI4Yw0KPiBkcm1faW9jdGxfa2VybmVs KzB4YzQvMHgxMjANCj4gZHJtX2lvY3RsKzB4MjY4LzB4NTM0DQoNClRoaXMgaXMgYSBtdWNoIGJl dHRlciBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvYmxlbSB0aGF0IGNvbnRhaW5zIHRoZSByZWxldmFu dCBpbmZvcm1hdGlvbiBmb3IgbWUuIENhbiB5b3UgcGxlYXNlIHNlbmQgYSBuZXcgcmV2aXNpb24g b2YgdGhlIHBhdGNoIHdoZXJlIHRoZSBjb21taXQgbWVzc2FnZSBpcyB0aGUgdGV4dCBhYm92ZT8g V2l0aCB0aGF0LCB5b3UgY2FuIGhhdmUgbXkgUmV2aWV3ZWQtYnkgdGFnLg0KDQpCZXN0IHJlZ2Fy ZHMsDQpMaXZpdQ0KDQoNCj4gDQo+IEFkZCBhIGRldGVybWluYXRpb24gb2YgdGhlIHJldHVybiB2 YWx1ZSB0byB0aGUgZnVuY3Rpb24ga29tZWRhX3BpcGVsaW5lX3VuYm91bmRfY29tcG9uZW50cywg RmluYWxseSwga29tZWRhX3JlbGVhc2VfdW5jbGFpbWVkX3Jlc291cmNlcyByZXR1cm5zIHRvIHRo ZSBkcm1fbW9kZV9hdG9taWNfaW9jdGwgZnVuY3Rpb24gdG8gY2FsbCBkcm1fbW9kZXNldF9iYWNr b2ZmIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiByZXQuDQo+IA0KPiAoNCkuIFdBUk5fT04oSVNfRVJS KGNfc3QpKTsgVGhpcyBjb2RlIGNhbiBiZSByZXRhaW5lZCwgdGhlIG1vZGlmaWNhdGlvbiB3YXMg bm90IGNhcmVmdWxseSBjb25zaWRlcmVkIGF0IHRoYXQgdGltZSwgSSB3aWxsIG1vZGlmeSB0aGlz IHBhdGNoIGFnYWluIGxhdGVyIGFuZCBzdWJtaXQgYSBuZXcgb25lLg0KPiAgICAgICAgICAgICAg ICAgY19zdCA9IGtvbWVkYV9jb21wb25lbnRfZ2V0X3N0YXRlX2FuZF9zZXRfdXNlcihjLA0KPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRybV9zdCwgTlVMTCwgbmV3LT5jcnRjKTsN Cj4gLSAgICAgICAgICAgICAgIFdBUk5fT04oSVNfRVJSKGNfc3QpKTsNCj4gKyAgICAgICAgICAg ICAgIGlmIChQVFJfRVJSKGNfc3QpID09IC1FREVBRExLKQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gLUVERUFETEs7DQo+ICsgICAgICAgICAgICAgICBlbHNlDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgIFdBUk5fT04oSVNfRVJSKGNfc3QpKTsNCj4gDQo+IC0tLS0t6YKu5Lu2 5Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBMaXZpdSBEdWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNv bT4NCj4g5Y+R6YCB5pe26Ze0OiAyMDIz5bm0N+aciDMx5pelIDIyOjExDQo+IOaUtuS7tuS6ujog SHVhbmcgTWVuZ2h1aS/pu4TmoqbovokgPG1lbmdodWkuaHVhbmdAc2llbmdpbmUuY29tPg0KPiDm ioTpgIE6IGFpcmxpZWRAZ21haWwuY29tOyBkYW5pZWxAZmZ3bGwuY2g7IExpdSBMdWNhcy/liJjk v53mn7ENCj4gPGx1Y2FzLmxpdUBzaWVuZ2luZS5jb20+DQo+IOS4u+mimDogUmU6IFtQQVRDSF0g ZHJtL2tvbWVkYTogZHJvcCBhbGwgY3VycmVudGx5IGhlbGQgbG9ja3MgaWYgZGVhZGxvY2sgDQo+ IGhhcHBlbnMNCj4gDQo+IEhlbGxvLA0KPiANCj4gT24gTW9uLCBKdWwgMzEsIDIwMjMgYXQgMDQ6 MDg6NDNQTSArMDgwMCwgbWVuZ2h1aS5odWFuZyB3cm90ZToNCj4gPiBGcm9tOiAiYmFvemh1Lmxp dSIgPGx1Y2FzLmxpdUBzaWVuZ2luZS5jb20+DQo+ID4gDQo+ID4gSWYga29tZWRhX3BpcGVsaW5l X3VuYm91bmRfY29tcG9uZW50cygpIHJldHVybnMgLUVERUFETEssIGl0IG1lYW5zIA0KPiA+IHRo YXQgYSBkZWFkbG9jayBoYXBwZW5lZCBpbiB0aGUgbG9ja2luZyBjb250ZXh0Lg0KPiA+IEN1cnJl bnRseSwga29tZWRhIGlzIG5vdCBkZWFsaW5nIHdpdGggdGhlIGRlYWRsb2NrIHByb3Blcmx5LCAN Cj4gPiBwcm9kdWNpbmcgdGhlIGZvbGxvd2luZyBvdXRwdXQgd2hlbiBDT05GSUdfREVCVUdfV1df TVVURVhfU0xPV1BBVEggaXMgZW5hYmxlZDoNCj4gPiANCj4gPiAtLS0tLS0tLS0tLS1bIGN1dCBo ZXJlIF0tLS0tLS0tLS0tLS0NCj4gPiBXQVJOSU5HOiBDUFU6IDIgUElEOiAzNDUgYXQgZHJpdmVy cy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xvY2suYzoyMjgNCj4gPiBkcm1fbW9kZXNldF9kcm9wX2xv Y2tzKzB4ODQvMHg5MCBNb2R1bGVzIGxpbmtlZCBpbjoNCj4gPiBDUFU6IDIgUElEOiAzNDUgQ29t bTogY29tcG9zZXJAMi4xLXNlIEtkdW1wOiBsb2FkZWQgVGFpbnRlZDogRyAgICAgICAgVw0KPiA+ IEhhcmR3YXJlIG5hbWU6IFNpZW5naW5lIFNlMTAwMCBFdmFsdWF0aW9uIGJvYXJkIChEVCkNCj4g PiBwc3RhdGU6IDIwNDAwMDA5IChuekN2IGRhaWYgK1BBTiAtVUFPIC1UQ08gQlRZUEU9LS0pIHBj IDogDQo+ID4gZHJtX21vZGVzZXRfZHJvcF9sb2NrcysweDg0LzB4OTAgbHIgOiANCj4gPiBkcm1f bW9kZV9hdG9taWNfaW9jdGwrMHg4NjAvMHhiOGMgc3AgOiBmZmZmODAwMDE3YjhiYjEwDQo+ID4g cG1yX3NhdmU6IDAwMDAwMGUwDQo+ID4geDI5OiBmZmZmODAwMDE3YjhiYjEwIHgyODogMDAwMDAw MDAwMDAwMDAwMQ0KPiA+IHgyNzogMDAwMDAwMDAwMDAwMDAzOCB4MjY6IDAwMDAwMDAwMDAwMDAw MDINCj4gPiB4MjU6IGZmZmYwMDBkMDNhNmNjMDAgeDI0OiBmZmZmMDAwY2YyZmU5MDAwDQo+ID4g eDIzOiAwMDAwMDAwMDAwMDAwMDAxIHgyMjogMDAwMDAwMDAwMDAwMDAxOA0KPiA+IHgyMTogMDAw MDAwMDAwMDAwMDAwMSB4MjA6IGZmZmY4MDAwMTdiOGJjMTANCj4gPiB4MTk6IDAwMDAwMDAwMDAw MDAwMDAgeDE4OiAwMDAwMDAwMDAwMDAwMDAwDQo+ID4geDE3OiAwMDAwMDAwMDAwMDBhMmJiIHgx NjogMDAwMDAwMDAwMGY3N2Y5YQ0KPiA+IHgxNTogMDAwMDAwMDAwMjVhMDgzMCB4MTQ6IGZmZmY4 MDAwMTIxZjAzMDANCj4gPiB4MTM6IDAwMDAwMDAwMDU3NDAwODMgeDEyOiBmZmZmODAwMDExMjlj YWUwDQo+ID4geDExOiBmZmZmODAwMDEyNDM1MDAwIHgxMDogZmZmZjAwMGVkNDZiNWU4OA0KPiA+ IHg5IDogZmZmZjAwMGM5OTM1ZTYwMCB4OCA6IDAwMDAwMDAwMDAwMDAwMDANCj4gPiB4NyA6IDAw MDAwMDAwMDAwMDAwMDEgeDYgOiAwMDAwMDAwMDAwMGJhNTdhDQo+ID4geDUgOiBmZmZmMDAwY2Y0 NThlNDAwIHg0IDogZmZmZjAwMGVkNGM1MjhhMA0KPiA+IHgzIDogMDAwMDAwMDAwMDBiYTU4MiB4 MiA6IDAwMDAwMDAwMDAwMDAwMDANCj4gPiB4MSA6IDAwMDAwMDAwMDAwMDAwMDAgeDAgOiBmZmZm MDAwYzhmNTk3MjkwIENhbGwgdHJhY2U6DQo+ID4gZHJtX21vZGVzZXRfZHJvcF9sb2NrcysweDg0 LzB4OTANCj4gPiBkcm1fbW9kZV9hdG9taWNfaW9jdGwrMHg4NjAvMHhiOGMNCj4gPiBkcm1faW9j dGxfa2VybmVsKzB4YzQvMHgxMjANCj4gPiBkcm1faW9jdGwrMHgyNjgvMHg1MzQNCj4gPiBfX2Fy bTY0X3N5c19pb2N0bCsweGE4LzB4ZjANCj4gPiBlbDBfc3ZjX2NvbW1vbi5jb25zdHByb3AuMCsw eDgwLzB4MjQwDQo+ID4gZG9fZWwwX3N2YysweDI0LzB4OTANCj4gPiBlbDBfc3ZjKzB4MjAvMHgz MA0KPiA+IGVsMF9zeW5jX2hhbmRsZXIrMHhlOC8weGYwDQo+ID4gZWwwX3N5bmMrMHgxYTQvMHgx YzANCj4gPiBpcnEgZXZlbnQgc3RhbXA6IDANCj4gPiBoYXJkaXJxcyBsYXN0ICBlbmFibGVkIGF0 ICgwKTogWzwwMDAwMDAwMDAwMDAwMDAwPl0gMHgwIGhhcmRpcnFzIA0KPiA+IGxhc3QgZGlzYWJs ZWQgYXQgKDApOiBbPGZmZmY4MDAwMTAwNTZkMzQ+XSBjb3B5X3Byb2Nlc3MrMHg1ZDAvMHgxODNj IA0KPiA+IHNvZnRpcnFzIGxhc3QgIGVuYWJsZWQgYXQgKDApOiBbPGZmZmY4MDAwMTAwNTZkMzQ+ XSANCj4gPiBjb3B5X3Byb2Nlc3MrMHg1ZDAvMHgxODNjIHNvZnRpcnFzIGxhc3QgZGlzYWJsZWQg YXQgKDApOg0KPiA+IFs8MDAwMDAwMDAwMDAwMDAwMD5dIDB4MCAtLS1bIGVuZCB0cmFjZSAyMGFl OTg0ZmE4NjAxODQ5IF0tLS0NCj4gPiANCj4gPiBUaGVyZWZvcmUsIGhhbmRsaW5nIHRoaXMgZGVh ZGxvY2sgY2FuIGJlIHNvbHZlZCBieSBhZGRpbmcgcmV0dXJuIA0KPiA+IC1FREVBRExLIGJhY2sg dG8gdGhlIGRybV9tb2Rlc2V0X2JhY2tvZmYgcHJvY2Vzc2luZyBmbG93IGluIHRoZSANCj4gPiBk cm1fbW9kZV9hdG9taWNfaW9jdGwgZnVuY3Rpb24uDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTog YmFvemh1LmxpdSA8bHVjYXMubGl1QHNpZW5naW5lLmNvbT4NCj4gPiAtLS0NCj4gPiAgLi4uL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jIHwgMTANCj4g PiArKysrKystLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KPiA+IGIvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KPiA+IGlu ZGV4IDMyNzZhM2U4MmM2Mi4uOGFkMDIxMjU5YTM3IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMNCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9z dGF0ZS5jDQo+ID4gQEAgLTEyMjMsNyArMTIyMyw3IEBAIGludCBrb21lZGFfYnVpbGRfZGlzcGxh eV9kYXRhX2Zsb3coc3RydWN0IGtvbWVkYV9jcnRjICprY3J0YywNCj4gPiAgCXJldHVybiAwOw0K PiA+ICB9DQo+ID4gIA0KPiA+IC1zdGF0aWMgdm9pZA0KPiA+ICtzdGF0aWMgaW50DQo+ID4gIGtv bWVkYV9waXBlbGluZV91bmJvdW5kX2NvbXBvbmVudHMoc3RydWN0IGtvbWVkYV9waXBlbGluZSAq cGlwZSwNCj4gPiAgCQkJCSAgIHN0cnVjdCBrb21lZGFfcGlwZWxpbmVfc3RhdGUgKm5ldykgIHsg QEAgLTEyNDMsOCArMTI0MywxMSBAQCANCj4gPiBrb21lZGFfcGlwZWxpbmVfdW5ib3VuZF9jb21w b25lbnRzKHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsDQo+ID4gIAkJYyA9IGtvbWVkYV9w aXBlbGluZV9nZXRfY29tcG9uZW50KHBpcGUsIGlkKTsNCj4gPiAgCQljX3N0ID0ga29tZWRhX2Nv bXBvbmVudF9nZXRfc3RhdGVfYW5kX3NldF91c2VyKGMsDQo+ID4gIAkJCQlkcm1fc3QsIE5VTEws IG5ldy0+Y3J0Yyk7DQo+ID4gLQkJV0FSTl9PTihJU19FUlIoY19zdCkpOw0KPiA+ICsJCWlmIChQ VFJfRVJSKGNfc3QpID09IC1FREVBRExLKQ0KPiA+ICsJCQlyZXR1cm4gLUVERUFETEs7DQo+ID4g IAl9DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gIH0NCj4gPiAgDQo+ID4gIC8qIHJlbGVh c2UgdW5jbGFpbWVkIHBpcGVsaW5lIHJlc291cmNlICovIEBAIC0xMjY2LDkgKzEyNjksOCBAQCBp bnQgDQo+ID4ga29tZWRhX3JlbGVhc2VfdW5jbGFpbWVkX3Jlc291cmNlcyhzdHJ1Y3Qga29tZWRh X3BpcGVsaW5lICpwaXBlLA0KPiA+ICAJaWYgKFdBUk5fT04oSVNfRVJSX09SX05VTEwoc3QpKSkN Cj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAgDQo+ID4gLQlrb21lZGFfcGlwZWxpbmVfdW5i b3VuZF9jb21wb25lbnRzKHBpcGUsIHN0KTsNCj4gPiArCXJldHVybiBrb21lZGFfcGlwZWxpbmVf dW5ib3VuZF9jb21wb25lbnRzKHBpcGUsIHN0KTsNCj4gPiAgDQo+ID4gLQlyZXR1cm4gMDsNCj4g PiAgfQ0KPiA+ICANCj4gPiAgLyogU2luY2Ugc3RhbmRhbG9uZSBkaXNhYmxlZCBjb21wb25lbnRz IG11c3QgYmUgZGlzYWJsZWQgc2VwYXJhdGVseSANCj4gPiBhbmQgaW4gdGhlDQo+ID4gLS0NCj4g PiAyLjE3LjENCj4gPiANCj4gDQo+IFRoYW5rIHlvdSBmb3Igc2VuZGluZyB0aGlzIHBhdGNoLCBi dXQgY29tbWl0IG1lc3NhZ2UgbmVlZCBhIGJpdCBtb3JlIGNsYXJpdHkgYWJvdXQgd2hhdCB5b3Un cmUgdHJ5aW5nIHRvIGRvIGFuZCB3aHkgeW91IHRoaW5rIHRoaXMgcGF0Y2ggc29sdmVzIGl0Lg0K PiANCj4gRmlyc3Qgb2YgYWxsLCB0aGUgY29tbWl0IHRpdGxlIHRhbGtzIGFib3V0IGRyb3BwaW5n IGxvY2tzIHdoaWNoIGlzIG9idmlvdXNseSBub3Qgd2hhdCB0aGUgcGF0Y2ggaXMgZG9pbmcgaGVy ZS4gU2Vjb25kLCB0aGUgcGF0Y2ggcmVwbGFjZXMgYSBXQVJOX09OKCkgd2hpY2ggSSB3b3VsZCBl eHBlY3QgdG8gYmUgcHJpbnRlZCBpbiB0aGUgbG9nIGZyYWdtZW50IHRoYXQgeW91IGhhdmUgcHJv dmlkZWQsIGJ1dCBpbnN0ZWFkIEkgc2VlIHRoZSBXQVJOSU5HKCkgZnJvbSBkcm1fbW9kZXNldF9s b2NrLmM6MjI4LiBJIGNhbm5vdCBzZWUgZnJvbSB0aGUgY2FsbCB0cmFjZSB3aGVyZSB5b3UndmUg aGl0IGEga29tZWRhIGZ1bmN0aW9uIGNhbGwsIHNvIHNvbWV0aGluZyBpcyBtaXNzaW5nLg0KPiAN Cj4gQ2FuIHlvdSBhbHNvIHByb3ZpZGUgdXMgd2l0aCBpbmZvcm1hdGlvbiBvbiB0aGUga2VybmVs IHZlcnNpb24geW91J3JlIHVzaW5nPw0KPiBGb3IgbWUsIGxpbmUgMjI4IGlzIG9uIGFuIGVtcHR5 IGxpbmUgaW5zaWRlDQo+IGRybV93YXJuX29uX21vZGVzZXRfbm90X2FsbF9sb2NrZWQoKQ0KPiBh bmQgZHJtX21vZGVzZXRfZHJvcF9sb2NrcygpIG9ubHkgc3RhcnRzIGF0IGxpbmUgMjc0Lg0KPiAN Cj4gQmVzdCByZWdhcmRzLA0KPiBMaXZpdQ0KPiANCj4gDQo+IC0tDQo+ID09PT09PT09PT09PT09 PT09PT09DQo+IHwgSSB3b3VsZCBsaWtlIHRvIHwNCj4gfCBmaXggdGhlIHdvcmxkLCAgfA0KPiB8 IGJ1dCB0aGV5J3JlIG5vdCB8DQo+IHwgZ2l2aW5nIG1lIHRoZSAgIHwNCj4gIFwgc291cmNlIGNv ZGUhICAvDQo+ICAgLS0tLS0tLS0tLS0tLS0tDQo+ICAgICDCr1xfKOODhClfL8KvDQoNCi0tDQo9 PT09PT09PT09PT09PT09PT09PQ0KfCBJIHdvdWxkIGxpa2UgdG8gfA0KfCBmaXggdGhlIHdvcmxk LCAgfA0KfCBidXQgdGhleSdyZSBub3QgfA0KfCBnaXZpbmcgbWUgdGhlICAgfA0KIFwgc291cmNl IGNvZGUhICAvDQogIC0tLS0tLS0tLS0tLS0tLQ0KICAgIMKvXF8o44OEKV8vwq8NCg==