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=-1.8 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 0674DC433E0 for ; Sat, 13 Jun 2020 10:17:42 +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 CDF4E20739 for ; Sat, 13 Jun 2020 10:17:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="olJfsyXk" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CDF4E20739 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 1CAD36E3DB; Sat, 13 Jun 2020 10:16:50 +0000 (UTC) Received: from mail-lj1-x244.google.com (mail-lj1-x244.google.com [IPv6:2a00:1450:4864:20::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id E44CA6EA09 for ; Fri, 12 Jun 2020 16:32:36 +0000 (UTC) Received: by mail-lj1-x244.google.com with SMTP id a9so11790641ljn.6 for ; Fri, 12 Jun 2020 09:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=h9/hD+5cr+kQsdI9njfbrV+8m68DT/RHAyph11Pyn1Q=; b=olJfsyXkiyvlLDR7lSo1KdmY4DZdXJE7J/mW0weHajgKJxOAjRApOVlkbPFmjSCtm0 Ufdb0JxuLgMClwlxM91aHd4i+w+wqXL7iq2fZkMOXyPJRbPlk8INeEUXpPy2v+stgdW9 vEJE8kVQvNQ0MKOfMWc3V01Unx/AJP6qy5g2+tQtJImaiipysuvGBR3Y3ILr+hOJ0jnq zncaH18PUZRs1nhTob0OMYzc8C1PMXyVNoqHqNgvw3dnrm2iQFIb235Xa5DgMbYEnj6l mRdzYTTduYp3yE8BfLDCm0gM4VrUXL97cT77nUkNiiYOFptO1rTOEGq0SyZDhLnO8tKp me8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=h9/hD+5cr+kQsdI9njfbrV+8m68DT/RHAyph11Pyn1Q=; b=gI5iRmJL9IG/cXFn7+e6air/8XKy8JDD/RfhYJG72KMxcnujVayG36kQ23s2Cc5akf 34pTl4jk2kLd9U0RXBh24Eeh0oJszsTsRG15LA9bLYw00vkft0V8EYdGju67okdbZS/0 nGkcfUDbXsWyzDTZV5w6cdfjpDHZaE8zoUegOOc7h4qLuzAgVejufJoORIXZ3dbsjnlA GPoK8NZgnwx4oowlrrL9nu8uKZLr3mID/2qPnadp8s/zH3F1vfS5vIYCRna6EYBNyXRs LT52Q+oTAqOzILLaagBAIXuL2v8U8tW2j1BeTR1zd1zXQy4k+hIQTUjuFCf2pkOeCWPS n84w== X-Gm-Message-State: AOAM533WvfeVmv0QpA2xYd/TqpEJBsy70bdP5W9H/nTfccdV/okTYoLC W/15tJHCRIeK7uu4zZXm4Ws= X-Google-Smtp-Source: ABdhPJw9NmR9vxMcwTecHWidsvl8CKA5zjxXH1L93pZrVmPeuI/wK9rkSyMZEqFzOC4GurWwS0l0pA== X-Received: by 2002:a2e:b0d0:: with SMTP id g16mr7594005ljl.130.1591979554907; Fri, 12 Jun 2020 09:32:34 -0700 (PDT) Received: from [192.168.2.145] (79-139-237-54.dynamic.spd-mgts.ru. [79.139.237.54]) by smtp.googlemail.com with ESMTPSA id y21sm1793100ljy.74.2020.06.12.09.32.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 12 Jun 2020 09:32:34 -0700 (PDT) Subject: Re: [PATCH v10 0/2] Panel rotation patches From: Dmitry Osipenko To: Sean Paul , "dbasehore ." , Thierry Reding References: <20200306002112.255361-1-dbasehore@chromium.org> <6dc9ef16-9671-6ce8-27e6-aa1f4c009ee2@gmail.com> <736ad1d2-4a28-87e8-62f7-28a5582c9fcf@gmail.com> Message-ID: Date: Fri, 12 Jun 2020 19:32:32 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Mailman-Approved-At: Sat, 13 Jun 2020 10:16:46 +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: David Airlie , linux-kernel , dri-devel , Thomas Zimmermann , "linux-tegra@vger.kernel.org" , Sam Ravnborg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" MTguMDUuMjAyMCAxMDozNiwgRG1pdHJ5IE9zaXBlbmtvINC/0LjRiNC10YI6Cj4gMTIuMDUuMjAy MCAyMzo1OSwgU2VhbiBQYXVsINC/0LjRiNC10YI6Cj4+IE9uIFRodSwgQXByIDE2LCAyMDIwIGF0 IDc6MDMgUE0gRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21haWwuY29tPiB3cm90ZToKPj4+Cj4+ PiAxNS4wNC4yMDIwIDAwOjMyLCBkYmFzZWhvcmUgLiDQv9C40YjQtdGCOgo+Pj4+IE9uIFR1ZSwg QXByIDE0LCAyMDIwIGF0IDI6MTggUE0gRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21haWwuY29t PiB3cm90ZToKPj4+Pj4KPj4+Pj4gMTQuMDQuMjAyMCAyMjozMiwgZGJhc2Vob3JlIC4g0L/QuNGI 0LXRgjoKPj4+Pj4+IEhpIERtaXRyeSwgc29ycnkgZm9yIHRoZSBsYXRlIHJlcGx5Lgo+Pj4+Pj4K Pj4+Pj4+IE9uIFN1biwgTWFyIDgsIDIwMjAgYXQgMTI6MjUgUE0gRG1pdHJ5IE9zaXBlbmtvIDxk aWdldHhAZ21haWwuY29tPiB3cm90ZToKPj4+Pj4+Pgo+Pj4+Pj4+IDA2LjAzLjIwMjAgMDM6MjEs IERlcmVrIEJhc2Vob3JlINC/0LjRiNC10YI6Cj4+Pj4+Pj4+IFRoaXMgYWRkcyB0aGUgcGx1bWJp bmcgZm9yIHJlYWRpbmcgcGFuZWwgcm90YXRpb24gZnJvbSB0aGUgZGV2aWNldHJlZQo+Pj4+Pj4+ PiBhbmQgc2V0cyB1cCBhZGRpbmcgYSBwYW5lbCBwcm9wZXJ0eSBmb3IgdGhlIHBhbmVsIG9yaWVu dGF0aW9uIG9uCj4+Pj4+Pj4+IE1lZGlhdGVrIFNvQ3Mgd2hlbiBhIHJvdGF0aW9uIGlzIHByZXNl bnQuCj4+Pj4+Pj4KPj4+Pj4+PiBIZWxsbyBEZXJlayBhbmQgZXZlcnlvbmUsCj4+Pj4+Pj4KPj4+ Pj4+PiBJJ20gbG9va2luZyBhdCBhZGRpbmcgZGlzcGxheSByb3RhdGlvbiBzdXBwb3J0IHRvIE5W SURJQSBUZWdyYSBEUk0KPj4+Pj4+PiBkcml2ZXIgYmVjYXVzZSBzb21lIGRldmljZXMgaGF2ZSBk aXNwbGF5IHBhbmVsIHBoeXNpY2FsbHkgbW91bnRlZAo+Pj4+Pj4+IHVwc2lkZS1kb3duLCBhbmQg dGh1cywgZGlzcGxheSBjb250cm9sbGVyJ3Mgc2Nhbi1vdXQgbmVlZHMgdG8gYmUgcm90YXRlZAo+ Pj4+Pj4+IGJ5IDE4MMKwIGluIHRoaXMgY2FzZS4KPj4+Pj4+Pgo+Pj4+Pj4+IERlcmVrLCB5b3Vy cyBwYW5lbC1yb3RhdGlvbiBwYXRjaGVzIGFkZCBzdXBwb3J0IGZvciBhc3NpZ25pbmcgcGFuZWwn cwo+Pj4+Pj4+IG9yaWVudGF0aW9uIHRvIHRoZSBjb25uZWN0b3IsIGJ1dCB0aGVuIG9ubHkgcHJp bWFyeSBkaXNwbGF5IHBsYW5lCj4+Pj4+Pj4gcmVjZWl2ZXMgcm90YXRpb24gdmFsdWUgaW4gWzFd LCB3aGlsZSByb3RhdGlvbiBuZWVkcyB0byBiZSBhcHBsaWVkIHRvCj4+Pj4+Pj4gYWxsIGF2YWls YWJsZSBvdmVybGF5L2N1cnNvciBwbGFuZXMgYW5kIHRoaXMgc2hvdWxkIGhhcHBlbiBpbiBvdGhl cgo+Pj4+Pj4+IHBsYWNlcyB0aGFuIFsxXSBhcyB3ZWxsLgo+Pj4+Pj4KPj4+Pj4+IFRoaXMgaXMg aW50ZW5kZWQuIFdlIGRvbid0IGNvcnJlY3QgdGhlIG91dHB1dCBpbiB0aGUga2VybmVsLiBXZQo+ Pj4+Pj4gaW5zdGVhZCByZWx5IG9uIG5vdGlmeWluZyB1c2Vyc3BhY2UgdGhhdCB0aGUgcGFuZWwg aXMgcm90YXRlZCwgdGhlbiB3ZQo+Pj4+Pj4gaGFuZGxlIGl0IHRoZXJlLgo+Pj4+Pj4KPj4+Pj4+ Pgo+Pj4+Pj4+IFsxXSBkcm1fY2xpZW50X21vZGVzZXRfY29tbWl0X2F0b21pYygpCj4+Pj4+Pj4K Pj4+Pj4+PiBQbGVhc2UgYWxzbyBub3RlIHRoYXQgaW4gYSBjYXNlIG9mIHRoZSBzY2FuLW91dCBy b3RhdGlvbiwgcGxhbmUncwo+Pj4+Pj4+IGNvb3JkaW5hdGVzIG5lZWQgdG8gYmUgY2hhbmdlZCBp biBhY2NvcmRhbmNlIHRvIHRoZSBkaXNwbGF5J3Mgcm90YXRpb24uCj4+Pj4+Pj4KPj4+Pj4+PiBJ IGxvb2tlZCBicmllZmx5IHRocm91Z2ggdGhlIERSTSBjb2RlIGFuZCBteSB1bmRlcnN0YW5kaW5n IHRoYXQgdGhlIERSTQo+Pj4+Pj4+IGNvcmUgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCB1c2Ut Y2FzZSB3aGVyZSBzY2FuLW91dCBuZWVkcyB0byByb3RhdGVkCj4+Pj4+Pj4gYmFzZWQgb24gYSBw YW5lbCdzIG9yaWVudGF0aW9uLCBjb3JyZWN0PyBJcyBpdCB0aGUgdXNlLWNhc2UgeW91J3JlCj4+ Pj4+Pj4gd29ya2luZyBvbiBmb3IgdGhlIE1lZGlhdGVrIGRyaXZlcj8KPj4+Pj4+Cj4+Pj4+PiBZ ZXMsIHdlIHJlbHkgb24gdXNlcnNwYWNlIHRvIHJvdGF0ZSB0aGUgb3V0cHV0LiBUaGUgbWFqb3Ig cmVhc29uIGZvcgo+Pj4+Pj4gdGhpcyBpcyBiZWNhdXNlIHRoZXJlIG1heSBub3QgYmUgYSAiZnJl ZSIgaGFyZHdhcmUgcm90YXRpb24gdGhhdCBjYW4KPj4+Pj4+IGJlIGFwcGxpZWQgdG8gdGhlIG92 ZXJsYXkuIFNlYW4gUGF1bCBhbmQgb3RoZXJzIGFsc28gcHJlZmVycmVkIHRoYXQKPj4+Pj4+IHVz ZXJzcGFjZSBjb250cm9sIHdoYXQgaXMgb3V0cHV0IHRvIHRoZSBzY3JlZW4gaW5zdGVhZCBvZiB0 aGUga2VybmVsCj4+Pj4+PiB0YWtpbmcgY2FyZSBvZiBpdC4gVGhpcyBjb2RlIGp1c3QgYWRkcyB0 aGUgZHJtIHByb3BlcnR5IHRvIHRoZSBwYW5lbC4KPj4+Pj4+Cj4+Pj4+Cj4+Pj4+IENvdWxkIHlv dSBwbGVhc2UgZXhwbGFpbiB3aGF0IHRoYXQgdXNlcnNwYWNlIGlzPwo+Pj4+Cj4+Pj4gVGhpcyB3 YXMgYWRkZWQgZm9yIENocm9tZSBPUywgd2hpY2ggdXNlcyBpdHMgb3duIGdyYXBoaWNzIHN0YWNr LAo+Pj4+IE96b25lLCBpbnN0ZWFkIG9mIFhvcmcuCj4+Pj4KPj4+Cj4+PiBUaGFuayB5b3UgdmVy eSBtdWNoIGZvciB0aGUgY2xhcmlmaWNhdGlvbi4KPj4+Cj4+PiBJdCdzIHByb2JhYmx5IG5vdCBh IGJpZyBwcm9ibGVtIGZvciBzb21ldGhpbmcgbW9ub2xpdGhpYyBhbmQgY3VzdG9taXplZAo+Pj4g bGlrZSBDaHJvbWVPUyB0byBpc3N1ZSBhIHNvZnR3YXJlIHVwZGF0ZSBpbiBvcmRlciB0byB0YWtl IGludG8gYWNjb3VudAo+Pj4gYWxsIHNwZWNpZmljcyBvZiBhIHBhcnRpY3VsYXIgZGV2aWNlLCBi dXQgdGhpcyBkb2Vzbid0IHdvcmsgbmljZWx5IGZvciBhCj4+PiBnZW5lcmljIHNvZnR3YXJlLCBs aWtlIGEgdXN1YWwgTGludXggZGlzdHJvLgo+Pj4KPj4+Pj4gQUZBSUssIHRoaW5ncyBsaWtlIFhv cmcgbW9kZXNldHRpbmcgZG9uJ3Qgc3VwcG9ydCB0aGF0IG9yaWVudGF0aW9uIHByb3BlcnR5Lgo+ Pj4KPj4+IEluIG15IGNhc2UgaXQncyBub3Qgb25seSB0aGUgZGlzcGxheSBwYW5lbCB3aGljaCBp cyB1cHNpZGUtZG93biwgYnV0Cj4+PiBhbHNvIHRoZSB0b3VjaHNjcmVlbi4gSGVuY2UgYm90aCBk aXNwbGF5IG91dHB1dCBhbmQgdG91Y2hzY3JlZW4gaW5wdXQKPj4+IG5lZWQgdG8gYmUgcm90YXRl ZCBhdCBvbmNlLCBvdGhlcndpc2UgeW91J2xsIGVuZCB1cCB3aXRoIGVpdGhlciBkaXNwbGF5Cj4+ PiBvciBpbnB1dCBiZWluZyB1cHNpZGUtZG93bi4KPj4+Cj4+PiBUaGUgMTgwwrAgcm90YXRpb24g c2hvdWxkIGJlIGZyZWUgb24gTlZJRElBIFRlZ3JhLiBUaGVyZSBhcmUgbm8ga25vd24KPj4+IGxp bWl0YXRpb25zIGZvciB0aGUgcGxhbmVzIGFuZCBCU1Aga2VybmVsIHZpZGVvIGRyaXZlciBoYW5k bGVzIHRoZQo+Pj4gcGxhbmUncyBjb29yZGluYXRlcy9mcmFtZWJ1ZmZlciByb3RhdGlvbiB3aXRo aW4gdGhlIGRyaXZlci4KPj4+Cj4+PiBUaGUga2VybmVsJ3MgaW5wdXQgc3Vic3lzdGVtIGFsbG93 cyB1cyB0byB0cmFuc3BhcmVudGx5IChmb3IgdXNlcnNwYWNlKQo+Pj4gcmVtYXAgdGhlIHRvdWNo c2NyZWVuIGlucHV0IChieSBzcGVjaWZ5aW5nIGdlbmVyaWMgdG91Y2hzY3JlZW4KPj4+IGRldmlj ZS10cmVlIHByb3BlcnRpZXMpLCB3aGlsZSB0aGlzIGlzIG5vdCB0aGUgY2FzZSBmb3IgdGhlIERS TSBzdWJzeXN0ZW0uCj4+Pgo+Pj4gQFRoaWVycnksIEBTZWFuLCBARGFuaWVsLCBjb3VsZCB5b3Ug cGxlYXNlIGhlbHAgbWUgdG8gdW5kZXJzdGFuZCBob3cgYQo+Pj4gY29vcmRpbmF0ZWQgZGlzcGxh eSAvIGlucHV0IHJvdGF0aW9uIGNvdWxkIGJlIGltcGxlbWVudGVkLCBtYWtpbmcgdGhlCj4+PiBy b3RhdGlvbiB0cmFuc3BhcmVudCB0byB0aGUgdXNlciAoaS5lLiBhdm9pZGluZyB4b3JnLmNvbmYg aGFja2luZyBhbmQKPj4+IGV0Yyk/IEl0IHNob3VsZCBiZSBuaWNlIGlmIGRpc3BsYXkncyBvdXRw dXQgY291bGQgYmUgZmxpcHBlZCB3aXRoaW4gdGhlCj4+PiBEUk0gZHJpdmVyLCBoaWRpbmcgdGhp cyBmYWN0IGZyb20gdXNlcnNwYWNlLgo+Pgo+PiBJIHRoaW5rIHRoZSByaWdodCB0aGluZyB0byBk byBpcyB0byBmaXggdXNlcnNwYWNlIHRvIHJlc3BlY3QgdGhpcwo+PiBwcm9wZXJ0eSwgc2luY2Ug dGhhdCBoYXMgdGhlIG1vc3QgY29tbXVuYWwgYmVuZWZpdC4KPiAKPiBIZWxsbyBTZWFuLAo+IAo+ IFRoaXMgd2lsbCBiZSBpZGVhbCwgYnV0IGl0J3MgZGlmZmljdWx0IHRvIGFjaGlldmUgaW4gYSBs b29zZWx5Cj4gY29udHJvbGxlZCB1c2Vyc3BhY2UgZW52aXJvbm1lbnQuCj4gCj4+IEhvd2V2ZXIo ISEpIGlmIHlvdSBkb24ndCB3YW50IHRvIGRvIHRoYXQsIGhvdyBhYm91dCBpbnNwZWN0aW5nIHRo ZQo+PiBpbmZvLT5wYW5lbF9vcmllbnRhdGlvbiB2YWx1ZSBhZnRlciBkcm1fcGFuZWxfYXR0YWNo IGluIHRlZ3JhIGRyaXZlcgo+PiBhbmQgdGhlbiBhZGp1c3Rpbmcgcm90YXRpb24gdmFsdWVzIGlu IHRoZSBkcml2ZXIuIE9mIGNvdXJzZSwgeW91Cj4+IHdvdWxkbid0IHdhbnQgdG8gZXhwb3NlIHRo ZSBwYW5lbCBvcmllbnRhdGlvbiBwcm9wZXJ0eSBzaW5jZSB5b3UgZG9uJ3QKPj4gd2FudCB1c2Vy c3BhY2VzIHRvIGJlIGRvdWJsZS1yb3RhdGluZyBvbiB5b3UsIGJ1dCBpdCdzIG9wdGlvbmFsIHNv Cj4+IHlvdSdkIGJlIGZpbmUuCj4gCj4gVGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgdGhlIHN1Z2dl c3Rpb24sIEknbGwgYmUgdHJ5aW5nIGl0IG91dCBzb29uLgo+IAo+Pj4KPj4+IFdpbGwgaXQgYmUg b2theSBpZiB3ZSdsbCBhZGQgYSB0cmFuc3BhcmVudC1yb3RhdGlvbiBzdXBwb3J0IHNwZWNpZmlj YWxseQo+Pj4gdG8gdGhlIFRlZ3JhIERSTSBkcml2ZXI/IEZvciBleGFtcGxlIGlmIGRldmljZS10 cmVlIGNvbnRhaW5zCj4+PiBudmlkaWEsZGlzcGxheS1mbGlwLXkgcHJvcGVydHksIHRoZW4gdGhl IFRlZ3JhIERSTSBkcml2ZXIgd2lsbCB0YWtlIGNhcmUKPj4+IG9mIHJvdGF0aW5nIGNvb3JkaW5h dGVzL2ZyYW1lYnVmZmVyIG9mIHRoZSBkaXNwbGF5IHBsYW5lcy4KPj4KPj4gSSBkb24ndCB0aGlu ayB0aGlzIGlzIG5lY2Vzc2FyeSwgYnV0IGl0IGFsc28gd291bGRuJ3QgcmVhbGx5IGJlCj4+IGFw cHJvcHJpYXRlIHRvIHB1dCBzb2Z0d2FyZSBhdHRyaWJ1dGVzIGludG8gZGV2aWNldHJlZSBhbnl3 YXlzLgo+IAo+IFllcywgSSdtIGFsc28gbm90IGZlZWxpbmcgdmVyeSBleGNpdGVkIGFib3V0IHRo aXMgdmFyaWFudC4KPiAKCkFmdGVyIHNvbWUgY29uc2lkZXJhdGlvbiwgSSBkZWNpZGVkIHRoYXQg aXQgd2lsbCBiZSBiZXR0ZXIgdG8gc3RhcnQgZWFzeQpieSBzdXBwb3J0aW5nIHRoZSBtaW5pbXVt IG5lZWRlZCBmb3IgdGhlIHJvdGF0aW9uIHByb3BlcnR5IHRvIHdvcmsgb24KVGVncmEsIGkuZS4g aGF2aW5nIHVzZXJzcGFjZSB0byB0YWtlIGNhcmUgb2YgdGhlIHJvdGF0aW9uLiBJdCB3aWxsIGJl CnBvc3NpYmxlIHRvIGNoYW5nZSBpdCBsYXRlciBvbiBpZiB3aWxsIGJlIG5lY2Vzc2FyeS4KCkBk YmFzZWhvcmUsIEknbGwgcHJlcGFyZSBUZWdyYSBEUk0gcGF0Y2hzZXQgYXJvdW5kIE1vbmRheSBh bmQgd2lsbAppbmNsdWRlIHlvdXJzIHR3byBwYXRjaGVzIHRoYXQgYWRkIERUIHJlYWRpbmcgaGVs cGVyIGFuZCBzZXQgdGhlIGRpc3BsYXkKaW5mbywgc2luY2UgdGhlc2UgcGF0Y2hlcyBoYXZlbid0 IGJlZW4gYXBwbGllZCB5ZXQuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=