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 X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1A9F6C55178 for ; Tue, 27 Oct 2020 12:06:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A5D4A22281 for ; Tue, 27 Oct 2020 12:06:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750652AbgJ0MGO (ORCPT ); Tue, 27 Oct 2020 08:06:14 -0400 Received: from m176150.mail.qiye.163.com ([59.111.176.150]:11143 "EHLO m176150.mail.qiye.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750636AbgJ0MGO (ORCPT ); Tue, 27 Oct 2020 08:06:14 -0400 Received: from vivo.com (wm-10.qy.internal [127.0.0.1]) by m176150.mail.qiye.163.com (Hmail) with ESMTP id E4A0F1A3916; Tue, 27 Oct 2020 20:05:37 +0800 (CST) Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Message-ID: To: Sam Ravnborg Cc: Thomas Zimmermann , opensource.kernel@vivo.com, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Dave Airlie Subject: =?UTF-8?B?UmU6UmU6IFJlOiBbUEFUQ0hdIGdwdS9kcm0vbWdhZzIwMDpyZW1vdmUgYnJlYWsgYWZ0ZXIgcmV0dXJu?= X-Priority: 3 X-Mailer: HMail Webmail Server V2.0 Copyright (c) 2016-163.com X-Originating-IP: 157.0.31.124 In-Reply-To: <20201024171457.GA76883@ravnborg.org> MIME-Version: 1.0 Received: from bernard@vivo.com( [157.0.31.124) ] by ajax-webmail ( [127.0.0.1] ) ; Tue, 27 Oct 2020 20:05:37 +0800 (GMT+08:00) From: Bernard Date: Tue, 27 Oct 2020 20:05:37 +0800 (GMT+08:00) X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZS1VLWVdZKFlBSE83V1ktWUFJV1kPCR oVCBIfWUFZS04dS0tKHUwdGkhDVkpNS0hDS0tISENLSUxVEwETFhoSFyQUDg9ZV1kWGg8SFR0UWU FZT0tIVUpKS0hKTFVLWQY+ X-HM-Sender-Digest: e1kJHlYWEh9ZQU5CSElMSEpIQk9NN1dZDB4ZWUEPCQ4eV1kSHx4VD1lB WUc6MlE6SSo4KT8uSi8YEBgBOitLFjwaCShVSFVKTUtIQ0tLSEhDSENLVTMWGhIXVRkeCRUaCR87 DRINFFUYFBZFWVdZEgtZQVlKTkxVS1VISlVKSU9ZV1kIAVlBTkNOSjcG X-HM-Tid: 0a7569f30e1693b4kuwse4a0f1a3916 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CkZyb206IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KRGF0ZTogMjAyMC0xMC0yNSAw MToxNDo1NwpUbzogIEJlcm5hcmQgPGJlcm5hcmRAdml2by5jb20+CkNjOiAgVGhvbWFzIFppbW1l cm1hbm4gPHR6aW1tZXJtYW5uQHN1c2UuZGU+LG9wZW5zb3VyY2Uua2VybmVsQHZpdm8uY29tLERh dmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4sbGludXgta2VybmVsQHZnZXIua2VybmVsLm9y ZyxkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLERhdmUgQWlybGllIDxhaXJsaWVkQHJl ZGhhdC5jb20+ClN1YmplY3Q6IFJlOiBSZTogW1BBVENIXSBncHUvZHJtL21nYWcyMDA6cmVtb3Zl IGJyZWFrIGFmdGVyIHJldHVybj5IaSBCZXJuYXJkLgo+Cj5PbiBGcmksIE9jdCAyMywgMjAyMCBh dCAwMzo0ODo0OVBNICswODAwLCBCZXJuYXJkIHdyb3RlOgo+PiAKPj4gCj4+IEZyb206IFRob21h cyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPgo+PiBEYXRlOiAyMDIwLTEwLTIzIDE1 OjEzOjMwCj4+IFRvOiAgQmVybmFyZCBaaGFvIDxiZXJuYXJkQHZpdm8uY29tPixEYXZlIEFpcmxp ZSA8YWlybGllZEByZWRoYXQuY29tPixEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+LERh bmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4sZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZyxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCj4+IENjOiAgb3BlbnNvdXJjZS5rZXJu ZWxAdml2by5jb20KPj4gU3ViamVjdDogUmU6IFtQQVRDSF0gZ3B1L2RybS9tZ2FnMjAwOnJlbW92 ZSBicmVhayBhZnRlciByZXR1cm4+SGkKPj4gPgo+PiA+T24gMjMuMTAuMjAgMDk6MDAsIEJlcm5h cmQgWmhhbyB3cm90ZToKPj4gPj4gSW4gZnVuY3Rpb24gbWdhZzIwMF9zZXRfcGNpX3JlZ3MsIHRo ZXJlIGFyZSBzb21lIHN3aXRjaCBjYXNlcwo+PiA+PiByZXR1cm5lZCwgdGhlbiBicmVhay4gVGhl c2UgYnJlYWsgd2lsbCBuZXZlciBydW4uCj4+ID4+IFRoaXMgcGF0Y2ggaXMgdG8gbWFrZSB0aGUg Y29kZSBhIGJpdCByZWFkYWJsZS4KPj4gPj4gCj4+ID4+IFNpZ25lZC1vZmYtYnk6IEJlcm5hcmQg WmhhbyA8YmVybmFyZEB2aXZvLmNvbT4KPj4gPj4gLS0tCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0v bWdhZzIwMC9tZ2FnMjAwX21vZGUuYyB8IDUgKy0tLS0KPj4gPj4gIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgNCBkZWxldGlvbnMoLSkKPj4gPj4gCj4+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9t Z2FnMjAwL21nYWcyMDBfbW9kZS5jCj4+ID4+IGluZGV4IDM4NjcyZjllNWM0Zi4uZGU4NzNhNWQy NzZlIDEwMDY0NAo+PiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21v ZGUuYwo+PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYwo+ PiA+PiBAQCAtNzk0LDIwICs3OTQsMTcgQEAgc3RhdGljIGludCBtZ2FnMjAwX2NydGNfc2V0X3Bs bHMoc3RydWN0IG1nYV9kZXZpY2UgKm1kZXYsIGxvbmcgY2xvY2spCj4+ID4+ICAJY2FzZSBHMjAw X1NFX0E6Cj4+ID4+ICAJY2FzZSBHMjAwX1NFX0I6Cj4+ID4+ICAJCXJldHVybiBtZ2FfZzIwMHNl X3NldF9wbGxzKG1kZXYsIGNsb2NrKTsKPj4gPj4gLQkJYnJlYWs7Cj4+ID4+ICAJY2FzZSBHMjAw X1dCOgo+PiA+PiAgCWNhc2UgRzIwMF9FVzM6Cj4+ID4+ICAJCXJldHVybiBtZ2FfZzIwMHdiX3Nl dF9wbGxzKG1kZXYsIGNsb2NrKTsKPj4gPj4gLQkJYnJlYWs7Cj4+ID4+ICAJY2FzZSBHMjAwX0VW Ogo+PiA+PiAgCQlyZXR1cm4gbWdhX2cyMDBldl9zZXRfcGxscyhtZGV2LCBjbG9jayk7Cj4+ID4+ IC0JCWJyZWFrOwo+PiA+PiAgCWNhc2UgRzIwMF9FSDoKPj4gPj4gIAljYXNlIEcyMDBfRUgzOgo+ PiA+PiAgCQlyZXR1cm4gbWdhX2cyMDBlaF9zZXRfcGxscyhtZGV2LCBjbG9jayk7Cj4+ID4+IC0J CWJyZWFrOwo+PiA+PiAgCWNhc2UgRzIwMF9FUjoKPj4gPj4gIAkJcmV0dXJuIG1nYV9nMjAwZXJf c2V0X3BsbHMobWRldiwgY2xvY2spOwo+PiA+PiArCWRlZmF1bHQ6Cj4+ID4KPj4gPk5vIGRlZmF1 bHQgY2FzZSBoZXJlLiBJZiBvbmUgb2YgdGhlIGVudW0gdmFsdWVzIGlzIG5vdCBoYW5kbGVkIGJ5 IHRoZQo+PiA+c3dpdGNoLCB0aGUgY29tcGlsZXIgc2hvdWxkIHdhcm4gYWJvdXQgaXQuCj4+IAo+ PiBIaQo+PiAKPj4gRm9yIHRoaXMgcG9pbnQgSSB3YXMgYSBsaXR0bGUgY29uZnVzZWQsIGFib3V0 IHRoaXMgc3dpdGNoIHZhcmlhYmxlICJtZGV2LT50eXBlIiwgbXkgdW5kZXJzdGFuZGluZyBpcyB0 aGF0IHRoaXMgdmFyaWFibGVgcyB2YWx1ZSBjYW4gYmUgY2VydGFpbiBvbmx5IHdoZW4gdGhlIGNv ZGUgaXMgcnVubmluZy4KPj4gSG93IGRvZXMgdGhlIGNvbXBpbGVyIHdhcm4gdGhpcygiSWYgb25l IG9mIHRoZSBlbnVtIHZhbHVlcyBpcyBub3QgaGFuZGxlZCIpIGJlZm9yZSB0aGUgY29kZSBydW5z Pwo+Cj5JZiB0aGUgc3dpdGNoL2Nhc2UgZG9lcyBub3QgaW5jbHVkZSAiRzIwMF9FUiIgdGhlbiB0 aGUgY29tcGlsZXIgY2FuIHNlZQo+b25lIGVudW0gdmFsdWUgaXMgbWlzc2luZyBmcm9tIHRoZSBs aXN0IGFuZCBjYW4gd2Fybi4KPkFzIGEgdGVzdCAtIFRyeSB0byBkcm9wIHRoZSBkZWZhdWx0IGFu ZCBkcm9wIEcyMDBfRVIgLSB0aGVuIHRoZQo+Y29tcGlsZXIgKGhvcGVmdWxseSkgd2lsbCB3YXJu LgoKSGksIFNhbSAmIFRob21hc++8mgoKICBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIGtp bmQgY29tbWVudHMsIEkgbGVhcm5lZCBuZXcgdXNlZnVsIGtub3dsZWRnZS4KICBJIHdpbGwgcmVz dWJtaXQgdGhlIHBhdGNoLgoKQlIvL0Jlcm5hcmQKCj4JU2FtCg0KDQo= 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 X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 674AFC55178 for ; Wed, 28 Oct 2020 08:06:52 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id F0A6522447 for ; Wed, 28 Oct 2020 08:06:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F0A6522447 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivo.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7A47B6E48E; Wed, 28 Oct 2020 08:06:32 +0000 (UTC) Received: from m176150.mail.qiye.163.com (m176150.mail.qiye.163.com [59.111.176.150]) by gabe.freedesktop.org (Postfix) with ESMTPS id A13276E0D4 for ; Tue, 27 Oct 2020 12:06:19 +0000 (UTC) Received: from vivo.com (wm-10.qy.internal [127.0.0.1]) by m176150.mail.qiye.163.com (Hmail) with ESMTP id E4A0F1A3916; Tue, 27 Oct 2020 20:05:37 +0800 (CST) Message-ID: To: Sam Ravnborg Subject: =?UTF-8?B?UmU6UmU6IFJlOiBbUEFUQ0hdIGdwdS9kcm0vbWdhZzIwMDpyZW1vdmUgYnJlYWsgYWZ0ZXIgcmV0dXJu?= X-Priority: 3 X-Mailer: HMail Webmail Server V2.0 Copyright (c) 2016-163.com X-Originating-IP: 157.0.31.124 In-Reply-To: <20201024171457.GA76883@ravnborg.org> MIME-Version: 1.0 Received: from bernard@vivo.com( [157.0.31.124) ] by ajax-webmail ( [127.0.0.1] ) ; Tue, 27 Oct 2020 20:05:37 +0800 (GMT+08:00) From: Bernard Date: Tue, 27 Oct 2020 20:05:37 +0800 (GMT+08:00) X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZS1VLWVdZKFlBSE83V1ktWUFJV1kPCR oVCBIfWUFZS04dS0tKHUwdGkhDVkpNS0hDS0tISENLSUxVEwETFhoSFyQUDg9ZV1kWGg8SFR0UWU FZT0tIVUpKS0hKTFVLWQY+ X-HM-Sender-Digest: e1kJHlYWEh9ZQU5CSElMSEpIQk9NN1dZDB4ZWUEPCQ4eV1kSHx4VD1lB WUc6MlE6SSo4KT8uSi8YEBgBOitLFjwaCShVSFVKTUtIQ0tLSEhDSENLVTMWGhIXVRkeCRUaCR87 DRINFFUYFBZFWVdZEgtZQVlKTkxVS1VISlVKSU9ZV1kIAVlBTkNOSjcG X-HM-Tid: 0a7569f30e1693b4kuwse4a0f1a3916 X-Mailman-Approved-At: Wed, 28 Oct 2020 08:06:31 +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: , Cc: opensource.kernel@vivo.com, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Thomas Zimmermann , Dave Airlie Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" CkZyb206IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KRGF0ZTogMjAyMC0xMC0yNSAw MToxNDo1NwpUbzogIEJlcm5hcmQgPGJlcm5hcmRAdml2by5jb20+CkNjOiAgVGhvbWFzIFppbW1l cm1hbm4gPHR6aW1tZXJtYW5uQHN1c2UuZGU+LG9wZW5zb3VyY2Uua2VybmVsQHZpdm8uY29tLERh dmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4sbGludXgta2VybmVsQHZnZXIua2VybmVsLm9y ZyxkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnLERhdmUgQWlybGllIDxhaXJsaWVkQHJl ZGhhdC5jb20+ClN1YmplY3Q6IFJlOiBSZTogW1BBVENIXSBncHUvZHJtL21nYWcyMDA6cmVtb3Zl IGJyZWFrIGFmdGVyIHJldHVybj5IaSBCZXJuYXJkLgo+Cj5PbiBGcmksIE9jdCAyMywgMjAyMCBh dCAwMzo0ODo0OVBNICswODAwLCBCZXJuYXJkIHdyb3RlOgo+PiAKPj4gCj4+IEZyb206IFRob21h cyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPgo+PiBEYXRlOiAyMDIwLTEwLTIzIDE1 OjEzOjMwCj4+IFRvOiAgQmVybmFyZCBaaGFvIDxiZXJuYXJkQHZpdm8uY29tPixEYXZlIEFpcmxp ZSA8YWlybGllZEByZWRoYXQuY29tPixEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+LERh bmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4sZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZyxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCj4+IENjOiAgb3BlbnNvdXJjZS5rZXJu ZWxAdml2by5jb20KPj4gU3ViamVjdDogUmU6IFtQQVRDSF0gZ3B1L2RybS9tZ2FnMjAwOnJlbW92 ZSBicmVhayBhZnRlciByZXR1cm4+SGkKPj4gPgo+PiA+T24gMjMuMTAuMjAgMDk6MDAsIEJlcm5h cmQgWmhhbyB3cm90ZToKPj4gPj4gSW4gZnVuY3Rpb24gbWdhZzIwMF9zZXRfcGNpX3JlZ3MsIHRo ZXJlIGFyZSBzb21lIHN3aXRjaCBjYXNlcwo+PiA+PiByZXR1cm5lZCwgdGhlbiBicmVhay4gVGhl c2UgYnJlYWsgd2lsbCBuZXZlciBydW4uCj4+ID4+IFRoaXMgcGF0Y2ggaXMgdG8gbWFrZSB0aGUg Y29kZSBhIGJpdCByZWFkYWJsZS4KPj4gPj4gCj4+ID4+IFNpZ25lZC1vZmYtYnk6IEJlcm5hcmQg WmhhbyA8YmVybmFyZEB2aXZvLmNvbT4KPj4gPj4gLS0tCj4+ID4+ICBkcml2ZXJzL2dwdS9kcm0v bWdhZzIwMC9tZ2FnMjAwX21vZGUuYyB8IDUgKy0tLS0KPj4gPj4gIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgNCBkZWxldGlvbnMoLSkKPj4gPj4gCj4+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9t Z2FnMjAwL21nYWcyMDBfbW9kZS5jCj4+ID4+IGluZGV4IDM4NjcyZjllNWM0Zi4uZGU4NzNhNWQy NzZlIDEwMDY0NAo+PiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21v ZGUuYwo+PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYwo+ PiA+PiBAQCAtNzk0LDIwICs3OTQsMTcgQEAgc3RhdGljIGludCBtZ2FnMjAwX2NydGNfc2V0X3Bs bHMoc3RydWN0IG1nYV9kZXZpY2UgKm1kZXYsIGxvbmcgY2xvY2spCj4+ID4+ICAJY2FzZSBHMjAw X1NFX0E6Cj4+ID4+ICAJY2FzZSBHMjAwX1NFX0I6Cj4+ID4+ICAJCXJldHVybiBtZ2FfZzIwMHNl X3NldF9wbGxzKG1kZXYsIGNsb2NrKTsKPj4gPj4gLQkJYnJlYWs7Cj4+ID4+ICAJY2FzZSBHMjAw X1dCOgo+PiA+PiAgCWNhc2UgRzIwMF9FVzM6Cj4+ID4+ICAJCXJldHVybiBtZ2FfZzIwMHdiX3Nl dF9wbGxzKG1kZXYsIGNsb2NrKTsKPj4gPj4gLQkJYnJlYWs7Cj4+ID4+ICAJY2FzZSBHMjAwX0VW Ogo+PiA+PiAgCQlyZXR1cm4gbWdhX2cyMDBldl9zZXRfcGxscyhtZGV2LCBjbG9jayk7Cj4+ID4+ IC0JCWJyZWFrOwo+PiA+PiAgCWNhc2UgRzIwMF9FSDoKPj4gPj4gIAljYXNlIEcyMDBfRUgzOgo+ PiA+PiAgCQlyZXR1cm4gbWdhX2cyMDBlaF9zZXRfcGxscyhtZGV2LCBjbG9jayk7Cj4+ID4+IC0J CWJyZWFrOwo+PiA+PiAgCWNhc2UgRzIwMF9FUjoKPj4gPj4gIAkJcmV0dXJuIG1nYV9nMjAwZXJf c2V0X3BsbHMobWRldiwgY2xvY2spOwo+PiA+PiArCWRlZmF1bHQ6Cj4+ID4KPj4gPk5vIGRlZmF1 bHQgY2FzZSBoZXJlLiBJZiBvbmUgb2YgdGhlIGVudW0gdmFsdWVzIGlzIG5vdCBoYW5kbGVkIGJ5 IHRoZQo+PiA+c3dpdGNoLCB0aGUgY29tcGlsZXIgc2hvdWxkIHdhcm4gYWJvdXQgaXQuCj4+IAo+ PiBIaQo+PiAKPj4gRm9yIHRoaXMgcG9pbnQgSSB3YXMgYSBsaXR0bGUgY29uZnVzZWQsIGFib3V0 IHRoaXMgc3dpdGNoIHZhcmlhYmxlICJtZGV2LT50eXBlIiwgbXkgdW5kZXJzdGFuZGluZyBpcyB0 aGF0IHRoaXMgdmFyaWFibGVgcyB2YWx1ZSBjYW4gYmUgY2VydGFpbiBvbmx5IHdoZW4gdGhlIGNv ZGUgaXMgcnVubmluZy4KPj4gSG93IGRvZXMgdGhlIGNvbXBpbGVyIHdhcm4gdGhpcygiSWYgb25l IG9mIHRoZSBlbnVtIHZhbHVlcyBpcyBub3QgaGFuZGxlZCIpIGJlZm9yZSB0aGUgY29kZSBydW5z Pwo+Cj5JZiB0aGUgc3dpdGNoL2Nhc2UgZG9lcyBub3QgaW5jbHVkZSAiRzIwMF9FUiIgdGhlbiB0 aGUgY29tcGlsZXIgY2FuIHNlZQo+b25lIGVudW0gdmFsdWUgaXMgbWlzc2luZyBmcm9tIHRoZSBs aXN0IGFuZCBjYW4gd2Fybi4KPkFzIGEgdGVzdCAtIFRyeSB0byBkcm9wIHRoZSBkZWZhdWx0IGFu ZCBkcm9wIEcyMDBfRVIgLSB0aGVuIHRoZQo+Y29tcGlsZXIgKGhvcGVmdWxseSkgd2lsbCB3YXJu LgoKSGksIFNhbSAmIFRob21hc++8mgoKICBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIGtp bmQgY29tbWVudHMsIEkgbGVhcm5lZCBuZXcgdXNlZnVsIGtub3dsZWRnZS4KICBJIHdpbGwgcmVz dWJtaXQgdGhlIHBhdGNoLgoKQlIvL0Jlcm5hcmQKCj4JU2FtCg0KDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK