From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1718758-1519744008-2-13472986315376731359 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.249, RCVD_IN_DNSWL_MED -2.3, SPF_PASS -0.001, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='140.211.166.133', Host='smtp2.osuosl.org', Country='US', FromHeader='com', MailFrom='org' X-Spam-charsets: plain='utf-8' X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: driverdev-devel-bounces@linuxdriverproject.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1519744007; b=sJvbFijvbG7g+DvR89Xnmt5x95BYg2VMsyeZQlgdS4SRCUL 06r0mTCjY2vwL9JfXOfgkbbyW7s63oqiXj3sisNqMmoeV2cci8nFIBZkFmmD3bct ddssXcY5T1XhyUcIL0MvNyCGJlBk9HMuey4sa95DGmwHuspK7PjPgpZ1wZAEU3N0 mkPufKhSV3vITBrdoRQDScU8DKKVXd3X/OCuJ4oFc0dJxFgDDJJdrBPnIMg5WSUS inynNFkWJo75kp6How2a3fR3nVnCIpaXm8JPP41DADNVKYNaQ4RCxKwiNF9VPVhf AS+9ed7WTR3JBG8x6pfdjW8lqhEPTpmNdRAU1LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=subject:to:references:from:message-id :date:mime-version:in-reply-to:list-id:list-unsubscribe :list-archive:list-post:list-help:list-subscribe:content-type :content-transfer-encoding:sender; s=arctest; t=1519744007; bh=+ AQaegm20Y89h1LxoZCDuKI8w2j/Dtl51H854ztSIPg=; b=TZaD0TrMdTZbjq7FT Wrb4/usYaMeNNMBlFKUQ8h02HPt4Y8oIcRNboU7vaaFF6bL8CPJyzfFphh2ZP26S PmMu1gDpsYE8eskfCZ1yXsBBYohYTjm8JCgmGS49Cfcax7UDLmQDXLr3GjH5vJLr q+/oc1FuH3Bw0uM59XVqGLI5TCRVtRn8shyvgc0oXFgfousijo58IVati03xnipO hjYSFdKO1AdPJnu+BCreoqROe8UnX4B6+ThQSt1rnOJyLt7OS09/mwawWnUKg9TD FeAVheZ6izwlPbcBi93IvguuWTomwtizIgE5P/xKEWRXk2yxUXB3pmAF2sFDPLjR poq3g== ARC-Authentication-Results: i=1; mx5.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=fail (p=none,has-list-id=yes,d=none) header.from=osg.samsung.com; iprev=pass policy.iprev=140.211.166.133 (smtp2.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=hemlock.osuosl.org; x-aligned-from=fail; x-ptr=fail x-ptr-helo=hemlock.osuosl.org x-ptr-lookup=smtp2.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=osg.samsung.com header.result=pass header_org.domain=samsung.com header_org.result=pass header_is_org_domain=no; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 Authentication-Results: mx5.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=fail (p=none,has-list-id=yes,d=none) header.from=osg.samsung.com; iprev=pass policy.iprev=140.211.166.133 (smtp2.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=hemlock.osuosl.org; x-aligned-from=fail; x-ptr=fail x-ptr-helo=hemlock.osuosl.org x-ptr-lookup=smtp2.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=osg.samsung.com header.result=pass header_org.domain=samsung.com header_org.result=pass header_is_org_domain=no; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 X-Remote-Delivered-To: driverdev-devel@osuosl.org Subject: Re: [PATCH 2/2] selftests: ion: Add simple test with the vgem driver To: Laura Abbott , shuah@kernel.org, Sumit Semwal , devel@driverdev.osuosl.org, Todd Kjos , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Liam Mark , linux-kselftest@vger.kernel.org, Shuah Khan References: <20180216012445.17264-1-labbott@redhat.com> <20180216012445.17264-3-labbott@redhat.com> <20180219153143.GS22199@phenom.ffwll.local> <20180219183333.GD22199@phenom.ffwll.local> From: Shuah Khan Message-ID: Date: Tue, 27 Feb 2018 08:06:22 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.24 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: T24gMDIvMjYvMjAxOCAwNjo0OCBQTSwgTGF1cmEgQWJib3R0IHdyb3RlOgo+IE9uIDAyLzI2LzIw MTggMDk6MDcgQU0sIFNodWFoIEtoYW4gd3JvdGU6Cj4+IE9uIDAyLzE5LzIwMTggMTE6MzMgQU0s IERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4+PiBPbiBNb24sIEZlYiAxOSwgMjAxOCBhdCAxMDoxODoy MUFNIC0wODAwLCBMYXVyYSBBYmJvdHQgd3JvdGU6Cj4+Pj4gT24gMDIvMTkvMjAxOCAwNzozMSBB TSwgRGFuaWVsIFZldHRlciB3cm90ZToKPj4+Pj4gT24gVGh1LCBGZWIgMTUsIDIwMTggYXQgMDU6 MjQ6NDVQTSAtMDgwMCwgTGF1cmEgQWJib3R0IHdyb3RlOgo+Pj4+Pj4gSW9uIGlzIGRlc2lnbmVk IHRvIGJlIGEgZnJhbWV3b3JrIHVzZWQgYnkgb3RoZXIgY2xpZW50cyB3aG8gcGVyZm9ybQo+Pj4+ Pj4gb3BlcmF0aW9ucyBvbiB0aGUgYnVmZmVyLiBVc2UgdGhlIERSTSB2Z2VtIGNsaWVudCBhcyBh IHNpbXBsZSBjb25zdW1lci4KPj4+Pj4+IEluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGRtYS1idWYg c3luYyBpb2N0bHMsIHRoaXMgdGVzdHMgdGhlIGZ1bGwgYXR0YWNoL21hcAo+Pj4+Pj4gcGF0aCBm b3IgdGhlIHN5c3RlbSBoZWFwLgo+Pj4+Pj4KPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IExhdXJhIEFi Ym90dCA8bGFiYm90dEByZWRoYXQuY29tPgo+Pj4+Pj4gLS0tCj4+Pj4+PiDCoMKgIHRvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL2FuZHJvaWQvaW9uL01ha2VmaWxlwqDCoMKgwqDCoCB8wqDCoCAzICst Cj4+Pj4+PiDCoMKgIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2FuZHJvaWQvaW9uL2NvbmZpZ8Kg wqDCoMKgwqDCoMKgIHzCoMKgIDEgKwo+Pj4+Pj4gwqDCoCB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0 cy9hbmRyb2lkL2lvbi9pb25tYXBfdGVzdC5jIHwgMTM2ICsrKysrKysrKysrKysrKysrKysrKysK Pj4+Pj4+IMKgwqAgMyBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQo+Pj4+Pj4gwqDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvYW5kcm9pZC9pb24vaW9ubWFwX3Rlc3QuYwo+Pj4+Pj4KPj4+Pj4+IGRpZmYgLS1naXQgYS90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbmRyb2lkL2lvbi9NYWtlZmlsZSBiL3Rvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL2FuZHJvaWQvaW9uL01ha2VmaWxlCj4+Pj4+PiBpbmRleCA5NmUwYzQ0OGIz OWQuLmQyM2I2ZDUzN2Q4YiAxMDA2NDQKPj4+Pj4+IC0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRl c3RzL2FuZHJvaWQvaW9uL01ha2VmaWxlCj4+Pj4+PiArKysgYi90b29scy90ZXN0aW5nL3NlbGZ0 ZXN0cy9hbmRyb2lkL2lvbi9NYWtlZmlsZQo+Pj4+Pj4gQEAgLTIsNyArMiw3IEBACj4+Pj4+PiDC oMKgIElOQ0xVREVESVIgOj0gLUkuIC1JLi4vLi4vLi4vLi4vLi4vZHJpdmVycy9zdGFnaW5nL2Fu ZHJvaWQvdWFwaS8KPj4+Pj4+IMKgwqAgQ0ZMQUdTIDo9ICQoQ0ZMQUdTKSAkKElOQ0xVREVESVIp IC1XYWxsIC1PMiAtZwo+Pj4+Pj4gLVRFU1RfR0VOX0ZJTEVTIDo9IGlvbmFwcF9leHBvcnQgaW9u YXBwX2ltcG9ydAo+Pj4+Pj4gK1RFU1RfR0VOX0ZJTEVTIDo9IGlvbmFwcF9leHBvcnQgaW9uYXBw X2ltcG9ydCBpb25tYXBfdGVzdAo+Pj4+Pj4gwqDCoCBhbGw6ICQoVEVTVF9HRU5fRklMRVMpCj4+ Pj4+PiBAQCAtMTQsMyArMTQsNCBAQCBpbmNsdWRlIC4uLy4uL2xpYi5tawo+Pj4+Pj4gwqDCoCAk KE9VVFBVVCkvaW9uYXBwX2V4cG9ydDogaW9uYXBwX2V4cG9ydC5jIGlwY3NvY2tldC5jIGlvbnV0 aWxzLmMKPj4+Pj4+IMKgwqAgJChPVVRQVVQpL2lvbmFwcF9pbXBvcnQ6IGlvbmFwcF9pbXBvcnQu YyBpcGNzb2NrZXQuYyBpb251dGlscy5jCj4+Pj4+PiArJChPVVRQVVQpL2lvbm1hcF90ZXN0OiBp b25tYXBfdGVzdC5jIGlvbnV0aWxzLmMKPj4+Pj4+IGRpZmYgLS1naXQgYS90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9hbmRyb2lkL2lvbi9jb25maWcgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9h bmRyb2lkL2lvbi9jb25maWcKPj4+Pj4+IGluZGV4IDE5ZGI2Y2E5YWEyYi4uYjRhZDc0OGE5ZGQ5 IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYW5kcm9pZC9pb24v Y29uZmlnCj4+Pj4+PiArKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbmRyb2lkL2lvbi9j b25maWcKPj4+Pj4+IEBAIC0yLDMgKzIsNCBAQCBDT05GSUdfQU5EUk9JRD15Cj4+Pj4+PiDCoMKg IENPTkZJR19TVEFHSU5HPXkKPj4+Pj4+IMKgwqAgQ09ORklHX0lPTj15Cj4+Pj4+PiDCoMKgIENP TkZJR19JT05fU1lTVEVNX0hFQVA9eQo+Pj4+Pj4gK0NPTkZJR19EUk1fVkdFTT15Cj4+Pj4+PiBk aWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYW5kcm9pZC9pb24vaW9ubWFwX3Rl c3QuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2FuZHJvaWQvaW9uL2lvbm1hcF90ZXN0LmMK Pj4+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+Pj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmRh YjM2YjA2YjM3ZAo+Pj4+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4+Pj4gKysrIGIvdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvYW5kcm9pZC9pb24vaW9ubWFwX3Rlc3QuYwo+Pj4+Pj4gQEAgLTAsMCArMSwx MzYgQEAKPj4+Pj4+ICsjaW5jbHVkZSA8ZXJybm8uaD4KPj4+Pj4+ICsjaW5jbHVkZSA8ZmNudGwu aD4KPj4+Pj4+ICsjaW5jbHVkZSA8c3RkaW8uaD4KPj4+Pj4+ICsjaW5jbHVkZSA8c3RkaW50Lmg+ Cj4+Pj4+PiArI2luY2x1ZGUgPHN0cmluZy5oPgo+Pj4+Pj4gKyNpbmNsdWRlIDx1bmlzdGQuaD4K Pj4+Pj4+ICsKPj4+Pj4+ICsjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Cj4+Pj4+PiArI2luY2x1ZGUg PHN5cy90eXBlcy5oPgo+Pj4+Pj4gKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgo+Pj4+Pj4gKwo+Pj4+ Pj4gKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+Cj4+Pj4+PiArCj4+Pj4+PiArI2luY2x1ZGUg PGRybS9kcm0uaD4KPj4+Pj4+ICsKPj4+Pj4+ICsjaW5jbHVkZSAiaW9uLmgiCj4+Pj4+PiArI2lu Y2x1ZGUgImlvbnV0aWxzLmgiCj4+Pj4+PiArCj4+Pj4+PiAraW50IGNoZWNrX3ZnZW0oaW50IGZk KQo+Pj4+Pj4gK3sKPj4+Pj4+ICvCoMKgwqAgZHJtX3ZlcnNpb25fdCB2ZXJzaW9uID0geyAwIH07 Cj4+Pj4+PiArwqDCoMKgIGNoYXIgbmFtZVs1XTsKPj4+Pj4+ICvCoMKgwqAgaW50IHJldDsKPj4+ Pj4+ICsKPj4+Pj4+ICvCoMKgwqAgdmVyc2lvbi5uYW1lX2xlbiA9IDQ7Cj4+Pj4+PiArwqDCoMKg IHZlcnNpb24ubmFtZSA9IG5hbWU7Cj4+Pj4+PiArCj4+Pj4+PiArwqDCoMKgIHJldCA9IGlvY3Rs KGZkLCBEUk1fSU9DVExfVkVSU0lPTiwgJnZlcnNpb24pOwo+Pj4+Pj4gK8KgwqDCoCBpZiAocmV0 KQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAxOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDC oCByZXR1cm4gc3RyY21wKG5hbWUsICJ2Z2VtIik7Cj4+Pj4+PiArfQo+Pj4+Pj4gKwo+Pj4+Pj4g K2ludCBvcGVuX3ZnZW0odm9pZCkKPj4+Pj4+ICt7Cj4+Pj4+PiArwqDCoMKgIGludCBpLCBmZDsK Pj4+Pj4+ICvCoMKgwqAgY29uc3QgY2hhciAqZHJtc3RyID0gIi9kZXYvZHJpL2NhcmQiOwo+Pj4+ Pj4gKwo+Pj4+Pj4gK8KgwqDCoCBmZCA9IC0xOwo+Pj4+Pj4gK8KgwqDCoCBmb3IgKGkgPSAwOyBp IDwgMTY7IGkrKykgewo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGNoYXIgbmFtZVs4MF07Cj4+Pj4+ PiArCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgc3ByaW50ZihuYW1lLCAiJXMldSIsIGRybXN0ciwg aSk7Cj4+Pj4+PiArCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgZmQgPSBvcGVuKG5hbWUsIE9fUkRX Uik7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKGZkIDwgMCkKPj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGNvbnRpbnVlOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlm IChjaGVja192Z2VtKGZkKSkgewo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvc2Uo ZmQpOwo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4+Pj4+PiArwqDC oMKgwqDCoMKgwqAgfSBlbHNlIHsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFr Owo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIH0KPj4+Pj4+ICsKPj4+Pj4+ICvCoMKgwqAgfQo+Pj4+ Pj4gK8KgwqDCoCByZXR1cm4gZmQ7Cj4+Pj4+PiArfQo+Pj4+Pj4gKwo+Pj4+Pj4gK2ludCBpbXBv cnRfdmdlbV9mZChpbnQgdmdlbV9mZCwgaW50IGRtYV9idWZfZmQsIHVpbnQzMl90ICpoYW5kbGUp Cj4+Pj4+PiArewo+Pj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgZHJtX3ByaW1lX2hhbmRsZSBpbXBvcnRf aGFuZGxlID0geyAwIH07Cj4+Pj4+PiArwqDCoMKgIGludCByZXQ7Cj4+Pj4+PiArCj4+Pj4+PiAr wqDCoMKgIGltcG9ydF9oYW5kbGUuZmQgPSBkbWFfYnVmX2ZkOwo+Pj4+Pj4gK8KgwqDCoCBpbXBv cnRfaGFuZGxlLmZsYWdzID0gMDsKPj4+Pj4+ICvCoMKgwqAgaW1wb3J0X2hhbmRsZS5oYW5kbGUg PSAwOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoCByZXQgPSBpb2N0bCh2Z2VtX2ZkLCBEUk1fSU9D VExfUFJJTUVfRkRfVE9fSEFORExFLCAmaW1wb3J0X2hhbmRsZSk7Cj4+Pj4+PiArwqDCoMKgIGlm IChyZXQgPT0gMCkKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAqaGFuZGxlID0gaW1wb3J0X2hhbmRs ZS5oYW5kbGU7Cj4+Pj4+PiArwqDCoMKgIHJldHVybiByZXQ7Cj4+Pj4+PiArfQo+Pj4+Pj4gKwo+ Pj4+Pj4gK3ZvaWQgY2xvc2VfaGFuZGxlKGludCB2Z2VtX2ZkLCB1aW50MzJfdCBoYW5kbGUpCj4+ Pj4+PiArewo+Pj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgZHJtX2dlbV9jbG9zZSBjbG9zZSA9IHsgMCB9 Owo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoCBjbG9zZS5oYW5kbGUgPSBoYW5kbGU7Cj4+Pj4+PiAr wqDCoMKgIGlvY3RsKHZnZW1fZmQsIERSTV9JT0NUTF9HRU1fQ0xPU0UsICZjbG9zZSk7Cj4+Pj4+ PiArfQo+Pj4+Pj4gKwo+Pj4+Pj4gK2ludCBtYWluKCkKPj4+Pj4+ICt7Cj4+Pj4+PiArwqDCoMKg IGludCByZXQsIHZnZW1fZmQ7Cj4+Pj4+PiArwqDCoMKgIHN0cnVjdCBpb25fYnVmZmVyX2luZm8g aW5mbzsKPj4+Pj4+ICvCoMKgwqAgdWludDMyX3QgaGFuZGxlID0gMDsKPj4+Pj4+ICvCoMKgwqAg c3RydWN0IGRtYV9idWZfc3luYyBzeW5jID0geyAwIH07Cj4+Pj4+PiArCj4+Pj4+PiArwqDCoMKg IGluZm8uaGVhcF90eXBlID0gSU9OX0hFQVBfVFlQRV9TWVNURU07Cj4+Pj4+PiArwqDCoMKgIGlu Zm8uaGVhcF9zaXplID0gNDA5NjsKPj4+Pj4+ICvCoMKgwqAgaW5mby5mbGFnX3R5cGUgPSBJT05f RkxBR19DQUNIRUQ7Cj4+Pj4+PiArCj4+Pj4+PiArwqDCoMKgIHJldCA9IGlvbl9leHBvcnRfYnVm ZmVyX2ZkKCZpbmZvKTsKPj4+Pj4+ICvCoMKgwqAgaWYgKHJldCA8IDApIHsKPj4+Pj4+ICvCoMKg wqDCoMKgwqDCoCBwcmludGYoImlvbiBidWZmZXIgYWxsb2MgZmFpbGVkXG4iKTsKPj4+Pj4+ICvC oMKgwqDCoMKgwqDCoCByZXR1cm4gLTE7Cj4+Pj4+PiArwqDCoMKgIH0KPj4+Pj4+ICsKPj4+Pj4+ ICvCoMKgwqAgdmdlbV9mZCA9IG9wZW5fdmdlbSgpOwo+Pj4+Pj4gK8KgwqDCoCBpZiAodmdlbV9m ZCA8IDApIHsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSB2Z2VtX2ZkOwo+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIHByaW50ZigiRmFpbGVkIHRvIG9wZW4gdmdlbVxuIik7Cj4+Pj4+PiArwqDC oMKgwqDCoMKgwqAgZ290byBvdXRfaW9uOwo+Pj4+Pj4gK8KgwqDCoCB9Cj4+Pj4+PiArCj4+Pj4+ PiArwqDCoMKgIHJldCA9IGltcG9ydF92Z2VtX2ZkKHZnZW1fZmQsIGluZm8uYnVmZmQsICZoYW5k bGUpOwo+Pj4+Pj4gKwo+Pj4+Pj4gK8KgwqDCoCBpZiAocmV0IDwgMCkgewo+Pj4+Pj4gK8KgwqDC oMKgwqDCoMKgIHByaW50ZigiRmFpbGVkIHRvIGltcG9ydCBidWZmZXJcbiIpOwo+Pj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIGdvdG8gb3V0X3ZnZW07Cj4+Pj4+PiArwqDCoMKgIH0KPj4+Pj4+ICsKPj4+ Pj4+ICvCoMKgwqAgc3luYy5mbGFncyA9IERNQV9CVUZfU1lOQ19TVEFSVCB8IERNQV9CVUZfU1lO Q19SVzsKPj4+Pj4+ICvCoMKgwqAgcmV0ID0gaW9jdGwoaW5mby5idWZmZCwgRE1BX0JVRl9JT0NU TF9TWU5DLCAmc3luYyk7Cj4+Pj4+PiArwqDCoMKgIGlmIChyZXQpCj4+Pj4+PiArwqDCoMKgwqDC oMKgwqAgcHJpbnRmKCJzeW5jIHN0YXJ0IGZhaWxlZCAlZFxuIiwgZXJybm8pOwo+Pj4+Pj4gKwo+ Pj4+Pj4gK8KgwqDCoCBtZW1zZXQoaW5mby5idWZmZXIsIDB4ZmYsIDQwOTYpOwo+Pj4+Pj4gKwo+ Pj4+Pj4gK8KgwqDCoCBzeW5jLmZsYWdzID0gRE1BX0JVRl9TWU5DX0VORCB8IERNQV9CVUZfU1lO Q19SVzsKPj4+Pj4+ICvCoMKgwqAgcmV0ID0gaW9jdGwoaW5mby5idWZmZCwgRE1BX0JVRl9JT0NU TF9TWU5DLCAmc3luYyk7Cj4+Pj4+PiArwqDCoMKgIGlmIChyZXQpCj4+Pj4+PiArwqDCoMKgwqDC oMKgwqAgcHJpbnRmKCJzeW5jIGVuZCBmYWlsZWQgJWRcbiIsIGVycm5vKTsKPj4+Pj4KPj4+Pj4g QXQgbGVhc3QgaW4gZHJtIHdlIHJlcXVpcmUgdGhhdCB1c2Vyc3BhY2UgYXV0by1yZXN0YXJ0cyBh bGwgaW9jdGxzIHdoZW4KPj4+Pj4gdGhleSBnZXQgaW50ZXJydXB0LiBTZWUKPj4+Pj4KPj4+Pj4g aHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9kcm0vbGliZHJtL3RyZWUveGY4NmRybS5jI24x ODYKPj4+Pj4KPj4+Pj4gbm90IHJlYWxseSBhbiBpc3N1ZSB3aXRoIHZnZW0gKHdoaWNoIGNhbid0 IHdhaXQgZm9yIGh3IG9yIGFueXRoaW5nIGVsc2UpLgo+Pj4+PiBCdXQgZ29vZCB0byBtYWtlIHN1 cmUgd2UgZG9uJ3Qgc3ByZWFkIGJhZCBjb3B5cGFzdGFzLgo+Pj4+Pgo+Pj4+PiBBY3R1YWwgdXNl IG9mIHRoZSBpb2N0bHMgbG9va3MgYWxsIGdvb2QuIFdpdGggdGhlIGRybUlvY3RsIHdyYXBwZXIg YWRkZWQKPj4+Pj4gYW5kIHVzZWQgdGhpcyBpczoKPj4+Pj4KPj4+Pj4gUmV2aWV3ZWQtYnk6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4+Pj4KPj4+PiBUaGFua3MgZm9y IHRoZSByZXZpZXcuIFRoZSByZWFzb24gSSBkaWRuJ3QgdXNlIHRoZSBzdGFuZGFyZCBkcm1Jb2N0 bCB3YXMKPj4+PiBiZWNhdXNlIEkgZGlkbid0IHdhbnQgdG8gaW50cm9kdWNlIGEgZGVwZW5kZW5j eSBvbiBsaWJkcm0uIEkgZG9uJ3Qgc2VlCj4+Pj4gYW4gZXhhbXBsZSBvZiBhbm90aGVyIHNlbGZ0 ZXN0IGhhdmluZyBhIGRlcGVuZGVuY3kgb24gYW4gZXh0ZXJuYWwKPj4+PiBsaWJyYXJ5Lgo+Pj4+ Cj4+Pj4gSXMgYWRkaW5nIGEgZGVwZW5kZW5jaWVzIG9uIGZhaXJseSBzdGFuZGFyZCBidXQgc3Rp bGwgZXh0ZXJuYWwgdXNlcnNwYWNlCj4+Pj4gbGlicmFyaWVzIG9rYXkgZm9yIGtlcm5lbCBzZWxm IHRlc3RzPwo+Pgo+PiBXZSBoYXZlIGNhc2VzIHdoZXJlIGV4dGVybmFsIGxpYnJhcmllcyBhcmUg dXNlZC4gZnVzZSB0ZXN0IHByb2JhYmx5IGlzIG9uZQo+PiBleGFtcGxlLgo+Pgo+Pj4KPj4+IFll YWggYWRkaW5nIGEgZGVwZW5kZW5jeSBpc24ndCBnb29kLCBJJ2QganVzdCBjb3B5cGFzdGUgYSBs b2NhbCBzdGF0aWMKPj4+IHZlcnNpb24gaW50byB0aGUgdGVzdCBmaWxlLiBUaGF0J3MgZ29vZCBl bm91Z2gsIHRoZSBwb2ludCBpc24ndCB0byB1c2UgdGhlCj4+PiBsaWJkcm0gb25lLCBidXQgYSB3 cmFwcGVyIHRoYXQgYXV0b21hdGljYWxseSByZXN0YXJ0cyAoZXZlcnkgb3RoZXIKPj4+IHVzZXJz cGFjZSBmb3IgZ2Z4IGhhcyB0aGVpciBvd24gY29weSBvZiBpdCBzaW5jZSBpdCdzIHNvIHRyaXZp YWwpLgo+Pgo+PiBMZXQncyBnbyBhaGVhZCBhbmQgdXNlIGxpYmRybSAtIEl0IGlzIGltcG9ydGFu dCB0byBrZWVwIHRoZW0gaW4gc3luYy4gTWF5YmUKPj4gd2UgY2FuIGNoZWNrIGRlcGVuZGVuY3kg aW4gdGhlIGlvbiBNYWtlZmlsZSBhbmQgbm90IGNvbXBpbGUgdGhlIHRlc3QuIEFzIGxvbmcKPj4g YXMgdGhlIHJlc3Qgb2YgdGhlIHRlc3RzIHJ1biBldmVuIHdoZW4gbGliZHJtIGRlcGVuZGVuY3kg aXNuJ3QgbWV0LCB3ZSBzaG91bGQKPj4gYmUgZ29vZC4KPj4KPj4gdGhhbmtzLAo+PiAtLSBTaHVh aAo+Pgo+Pgo+IAo+IFRoZSBleGFtcGxlIHlvdSBnYXZlIHdpdGggZnVzZSBkb2Vzbid0IGNvbXBp bGUgaWYgeW91IGRvbid0IGhhdmUgdGhlCj4gZnVzZSBsaWJyYXJ5IGluc3RhbGxlZC4gSSBkb24n dCB0aGluayBhZGRpbmcgYSBkZXBlbmRlbmN5IG9uIGxpYmRybQo+IGlzIHdvcnRoIGl0IGZvciBh IHNpbXBsZSB3cmFwcGVyIGlvY3RsLCBlc3BlY2lhbGx5IHNpbmNlIERhbmllbCBtZW50aW9uCj4g aXQgZ2V0cyBjb3BpZWQgYXJvdW5kIGFueXdheS4KPiAKPiBUaGFua3MsCj4gTGF1cmEKClJpZ2h0 LiBJdCB3b24ndCBjb21waWxlIHdpdGhvdXQgdGhlIGxpYnJhcnkuIFRoZSB1cHNpZGUgaXMgdGhl cmUgaXMgbm8KZHVwbGljYXRlIGNvZGUuIFRoYXQgc2FpZCwgSSBoYXZlIG5vIHByb2JsZW1zIHRh a2luZyB0aGUgcGF0Y2ggZm9yIG5vdy4KSWYgSSBzdGFydCBzZWVpbmcgbW9yZSBhbmQgbW9yZSBk cm0gY29kZSwgSSBtaWdodCByZWNvbnNpZGVyIGFuZCBvcHQgdG8KYWRkIHRoZSBkZXBlbmRlbmN5 LgoKCkkgd2lsbCBxdWV1ZSB0aGlzIHVwIGZvciA0LjE3LXJjMQoKdGhhbmtzLAotLSBTaHVhaApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkZXZlbCBtYWls aW5nIGxpc3QKZGV2ZWxAbGludXhkcml2ZXJwcm9qZWN0Lm9yZwpodHRwOi8vZHJpdmVyZGV2Lmxp bnV4ZHJpdmVycHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcml2ZXJkZXYtZGV2ZWwK