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=-0.5 required=3.0 tests=BAYES_00,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 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 E6C33C433ED for ; Wed, 31 Mar 2021 18:01:59 +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 A9F6660FEE for ; Wed, 31 Mar 2021 18:01:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A9F6660FEE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6EBB36EB38; Wed, 31 Mar 2021 18:01:59 +0000 (UTC) Received: from mail-ot1-x32f.google.com (mail-ot1-x32f.google.com [IPv6:2607:f8b0:4864:20::32f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9984C6EB38 for ; Wed, 31 Mar 2021 18:01:58 +0000 (UTC) Received: by mail-ot1-x32f.google.com with SMTP id 68-20020a9d0f4a0000b02901b663e6258dso19726004ott.13 for ; Wed, 31 Mar 2021 11:01:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=4K5zPZIuiVluSh09CO3IH0l6Lb1bIIBLcHXwpcKq9tM=; b=uvTaLfmdt17NzhHQBrU+oL6u5/FycFTmSMX3HX26baH5iyQJBQA5lzJOcN/ihca4W4 NXnFbdPD1Lmf+gAG4C5Osfdax0ta6uK0wj2pYuYhh3m/PUfAtbrLQlO1dcrmeI05H1Th Kc364HlRP2I1NAYqI4WarCKYFSdANS9R3CPU8qjZwPSH4Gxrqh2sZACShNBob878Kxza HcwqXphagey6qUkCEXQ2v7mfmYoCyxbYqzxoLLCa7ORmTAQFPASXRBxekZ5ez0CHMqDa ITm13h5WFrX/BqR9YfGDWOISYUT15S9CQVhFss6mnJ3Kph26OLoGywgTN0ei+k0QYj/s xd9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=4K5zPZIuiVluSh09CO3IH0l6Lb1bIIBLcHXwpcKq9tM=; b=KxO8AlKU83IEFB2jCZGLuhf+X0y4xFV/DkXh8xYvQoWeqMJy7geMLhqdmrS22kYD5m qgy/qohI61+OCFEnbiBPqtAtT7wthWkMWaF6kReFLlXLNYzIMXmkvKhkfMjV9poKNhLq HrYVAuZXwnbUHRj7T4rFjEvk30LrM07x/qJuUrgfWT+SdeHiXFiACkCcQ48jQCS+4gem +pAdZQB15687FIzEhiax8Fo1Jkhor6GzUeGCPiZPvw9255aRlZZKEZuihcvIFedoY1es GEkJemfFCzYHrperAMtyuoLWCcBtuuv/CJzlEA82QYxSn4P63F0kzw6VOT1wH0BtEzds cmog== X-Gm-Message-State: AOAM531oh4Wln6FJTg6jEQm4l6dd+JsoFPQXYyqNpARXdFM6vqyk1hEn HTgVP1qAOUg3xGaQi2usHBYOpZrCmZM/TxoGlNg= X-Google-Smtp-Source: ABdhPJyskPYpxQZF8vBpiOLUII45sLYRLHXeb4avX6Gg05BtCpdc4K7zuIfpRYw+fPN9kXb/3cYSS3NMQ1Rt5RGZ/Sw= X-Received: by 2002:a9d:7288:: with SMTP id t8mr3760385otj.132.1617213717845; Wed, 31 Mar 2021 11:01:57 -0700 (PDT) MIME-Version: 1.0 References: <909002f5-691c-1cbb-1e44-a99217be8791@gmail.com> <3d3563f3-f093-f293-e237-b87306a4cede@amd.com> <7914f67b-e011-36ec-3f6d-1614ce96e3c4@amd.com> <0eee8e42-5da8-1ce3-bff7-fe6e2ab18cde@amd.com> <6a71add4-d2d0-c17a-de8a-6e2b6e248483@gmail.com> In-Reply-To: From: Alex Deucher Date: Wed, 31 Mar 2021 14:01:46 -0400 Message-ID: Subject: Re: Interlaced resolutions hang the desktop To: =?UTF-8?Q?Christian_K=C3=B6nig?= X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "open list:EFIFB FRAMEBUFFER DRIVER" , =?UTF-8?Q?Christian_K=C3=B6nig?= , amd-gfx list , "Deucher, Alexander" , Benjamin Herrenschmidt , Alberto Salvia Novella Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" RG9lcyBkaXNhYmxpbmcgcGFnZWZsaXBwaW5nIHZpYSB0aGUgeG9yZy5jb25mIGhlbHA/CgpBbGV4 CgpPbiBXZWQsIE1hciAzMSwgMjAyMSBhdCAxOjQwIFBNIENocmlzdGlhbiBLw7ZuaWcKPGNocmlz dGlhbi5rb2VuaWdAYW1kLmNvbT4gd3JvdGU6Cj4KPiBZZWFoLCBhZ3JlZSB0aGF0IG11c3QgYmUg c29tZSBraW5kIG9mIGJ1ZyBpbiB0aGUgdXBwZXIgbGF5ZXIgb2YgdGhlIHN0YWNrLgo+Cj4gTW9z dCBsaWtlbHkgc29tZSB1c2Vyc3BhY2UgY29tcG9uZW50IGlzIG5vdCBoYW5kbGluZyB0aGUgc3Bl Y2lhbHRpZXMgb2YgaW50ZXJsYWNpbmcgY29ycmVjdGx5IChkaWZmZXJlbnQgdmJsYW5rIHRpbWlu ZyBldmVyeSBvdGhlciBmcmFtZSkuCj4KPiBJdCBwcm9iYWJseSBvbmx5IHdvcmtzIG9uIEludGVs IGFuZCBhZnRlciByZXN0YXJ0aW5nIHRoZSBkaXNwbGF5IG1hbmFnZXIgYnkgY29pbmNpZGVudC4K Pgo+IFNvcnJ5LCBidXQgYXMgSSBzYWlkIHRoaXMgaXMgYSB1c2UgY2FzZSB3aGljaCBiYXNpY2Fs bHkgbm9ib2R5IGlzIHVzaW5nIGFueSBtb3JlIGFuZCBiZWNhdXNlIG9mIHRoaXMgdGhlIGRpZmZl cmVudCBwYXJ0cyBvZiB0aGUgc3RhY2sgYXJlIG5vdCB0ZXN0ZWQgd2VsbCBlbm91Z2ggZm9yIHRo aXMuCj4KPiBDaHJpc3RpYW4uCj4KPiBBbSAzMS4wMy4yMSB1bSAxNzo0NyBzY2hyaWViIEFsYmVy dG8gU2FsdmlhIE5vdmVsbGE6Cj4KPiBSZXN0YXJ0aW5nIHRoZSBkaXNwbGF5IG1hbmFnZXIgc2Vy dmljZSB3b3JrcyBhbmQsIG1vcmUgaW1wb3J0YW50bHksIG1ha2VzIHRoZSBidWcgbm8gbG9uZ2Vy IHJlcHJvZHVjaWJsZS4KPgo+IFJlc3RhcnRpbmcgdGhlIHdpbmRvdyBtYW5hZ2VyIGRvZXNuJ3Qg d29yay4KPgo+IENoYW5naW5nIGRpc3BsYXkgbWFuYWdlciBtYWtlcyB0aGUgYnVnIHN0aWxsIHJl cHJvZHVjaWJsZS4KPgo+IE1heWJlIHRoaXMgaXMgZHVlIHRvIHhvcmctc2VydmVyLCBpc24ndCBp dD8KPgo+IE9uIFdlZCwgMzEgTWFyIDIwMjEgYXQgMTY6NTUsIENocmlzdGlhbiBLw7ZuaWcgPGNr b2VuaWcubGVpY2h0enVtZXJrZW5AZ21haWwuY29tPiB3cm90ZToKPj4KPj4gV2VsbCB0aGUgaGFy ZHdhcmUgaXMgd29ya2luZyBmaW5lIGFzIGZhciBhcyBJIGNhbiBzZWUuCj4+Cj4+IENhbiB5b3Ug dHJ5IHRvIGtpbGwgdGhlIFggc2VydmVyIG92ZXIgU1NIIGFuZCBzZWUgaWYgeW91IHRoZW4gZ2V0 IHNvbWUgc2NyZWVuIHVwZGF0ZT8KPj4KPj4gUmVnYXJkcywKPj4gQ2hyaXN0aWFuLgo+Pgo+PiBB bSAzMS4wMy4yMSB1bSAxNjo1MiBzY2hyaWViIEFsYmVydG8gU2FsdmlhIE5vdmVsbGE6Cj4+Cj4+ IE91dHB1dC4KPj4KPj4gT24gV2VkLCAzMSBNYXIgMjAyMSBhdCAxNjozNiwgQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPiB3cm90ZToKPj4+Cj4+PiBNaG0gc3RyYW5n ZS4KPj4+Cj4+PiBDYW4geW91IGdldCBtZSB0aGUgb3V0cHV0IG9mICJzdWRvIGNhdCAvc3lzL2tl cm5lbC9kZWJ1Zy9kcmkvMC9yYWRlb25fZmVuY2VfaW5mbyIgd2hlbiB0aGUgcHJvYmxlbSBoYXBw ZW5zPwo+Pj4KPj4+IFRoYW5rcywKPj4+IENocmlzdGlhbi4KPj4+Cj4+PiBBbSAzMS4wMy4yMSB1 bSAxNjozMyBzY2hyaWViIEFsYmVydG8gU2FsdmlhIE5vdmVsbGE6Cj4+Pgo+Pj4gLSBUaGUgY29t cHV0ZXIgc3RpbGwgcmVwbGllcyB0byBwaW5nLgo+Pj4gLSBUaGUgam91cm5hbCBzaG93cyBubyBl cnJvcnMsIGJ1dCBhIGZldyB3YXJuaW5ncy4KPj4+IC0gVGhlIG1vdXNlIGRvZXNuJ3QgZnJlZXpl Lgo+Pj4KPj4+IE9uIFdlZCwgMzEgTWFyIDIwMjEgYXQgMTA6MDksIENocmlzdGlhbiBLw7ZuaWcg PGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4gd3JvdGU6Cj4+Pj4KPj4+PiBDYW4geW91IGFjY2Vz cyB0aGUgc3lzdGVtIG92ZXIgdGhlIG5ldHdvcmsgYW5kIHNlZSBpZiB0aGVyZSBpcyBhbnl0aGlu ZyBpbiB0aGUgc3lzdGVtIGxvZz8KPj4+Pgo+Pj4+IEl0IHNvdW5kcyBsaWtlIHRoZSBkaXNwbGF5 IHN0YWNrIGhhcyBjcmFzaGVkLCBidXQgd2hlbiB0aGUgc291bmQga2VlcHMgcGxheWluZyB0aGUg c3lzdGVtIGlzIG1vc3QgbGlrZWx5IHN0aWxsIHJlc3BvbnNpdmUgb3ZlciBuZXR3b3JrLgo+Pj4+ Cj4+Pj4gVGhhbmtzLAo+Pj4+IENocmlzdGlhbi4KPj4+Pgo+Pj4+IEFtIDMxLjAzLjIxIHVtIDEw OjA1IHNjaHJpZWIgQWxiZXJ0byBTYWx2aWEgTm92ZWxsYToKPj4+Pgo+Pj4+IFdoYXQgaGFwcGVu cyBpcyB0aGlzIHNpbXBsZTogYWZ0ZXIgYSBmZXcgbWludXRlcywgYWJvdXQgNiBvciBzbywgdGhl IGVudGlyZSBjb250ZW50IG9mIHRoZSBzY3JlZW4gc3RheXMgc3RpbGwuIEluIHNvbWUgbWlub3Ig c2l0dWF0aW9ucyBvbmx5IHRoZSBhcHBsaWNhdGlvbnMgcGFuZWwgb2YgS0RFIFBsYXNtYS4KPj4+ Pgo+Pj4+IElmIG11c2ljIGlzIHBsYXlpbmcgaXQgY29udGludWVzIHBsYXlpbmcsIHNvIG9ubHkg Z3JhcGhpY3MgYXJlIGh1bmcuIFlldCBpbiBtb3N0IGNhc2VzIHRoZSBwb3dlciBidXR0b24gd29u J3Qgc2h1dCBkb3duIHRoZSBjb21wdXRlciwgYXMgaXQgdXN1YWxseSBkb2VzLgo+Pj4+Cj4+Pj4g QXQgbGVhc3QgdGhpcyBpcyB0aGUgY2FzZSB1c2luZyBrd2luIG9uIHgxMSwgYW5kIG5vdCBvbiB3 YXlsYW5kLiBJdCBvbmx5IGhhcHBlbnMgb24gInJhZGVvbiIgYW5kIG5vdCBvbiBJbnRlbCBvciAi cmFkZW9uaGQiLgo+Pj4+Cj4+Pj4gT24gV2VkLCAzMSBNYXIgMjAyMSBhdCAwOTo0OCwgQ2hyaXN0 aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPiB3cm90ZToKPj4+Pj4KPj4+Pj4g Q29ycmVjdCwgYnV0IGEgVFYgaXMgaW50ZW5kZWQgZm9yIHZpZGVvcyBvbmx5LiBUaGF0J3Mgd2h5 IGl0IGltcGxlbWVudHMgb25seSB0aGUgbG93ZXIgSERNSSBzdGFuZGFyZC4KPj4+Pj4KPj4+Pj4g SW50ZXJsYWNlZCB0cmFuc21pdHMgb25seSBoYWx2ZSB0aGUgbGluZXMgd2l0aCBlYWNoIGZyYW1l LCBzbyBhIDYwSHogbW9kZSBlZmZlY3RpdmVseSBlaXRoZXIgYmVjb21lcyBhIDMwSHogbW9kZSwg aGFsdmluZyB0aGUgdmVydGljYWwgcmVzb2x1dGlvbiBvciBhZGFwdGl2ZSBtb3Rpb24gY29tcGVu c2F0ZWQgd2hpY2ggdGhlIGtub3cgdmlzdWFsIGFydGlmYWN0cy4gRGVwZW5kaW5nIG9uIHdoYXQg dGhlIGRlaW50ZXJsYWNpbmcgc2V0dGluZyBvbiB5b3VyIFRWIGlzLgo+Pj4+Pgo+Pj4+PiBZb3Ug Y291bGQganVzdCBhZGQgYSBwcm9ncmVzc2l2ZSAxOTIweDU0MEA2MCBvciAxOTIweDEwODBAMzAg bW9kZSBtYW51YWxseSBhbmQgd291bGQgaGF2ZSB0aGUgc2FtZSBlZmZlY3Qgd2l0aCBwcm9iYWJs eSBiZXR0ZXIgcXVhbGl0eS4gU2VlIGh0dHBzOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0RlaW50 ZXJsYWNpbmcgZm9yIHJlZmVyZW5jZS4KPj4+Pj4KPj4+Pj4gSWYgeW91IGNhbiBnaXZlIHVzIHNv bWUgbW9yZSBpbmZvcm1hdGlvbiB3aGF0IGlzIGhhcHBlbmluZyB3aGVuIHRoZSBzeXN0ZW0gZnJl ZXplIHdlIGNvdWxkIHRyeSB0byBuYXJyb3cgdGhpcyBkb3duLCBidXQgd2UgY2FuJ3Qgc3BlbmQg bXVjaCB0aW1lIG9uIGEgdmVyeSBzcGVjaWZpYyB1c2UgY2FzZSBpbiBhIGRyaXZlciB3aGljaCBp cyBpbiBtYWludGVuYW5jZSBtb2RlLgo+Pj4+Pgo+Pj4+PiBSZWdhcmRzLAo+Pj4+PiBDaHJpc3Rp YW4uCj4+Pj4+Cj4+Pj4+IEFtIDMxLjAzLjIxIHVtIDA5OjIxIHNjaHJpZWIgQWxiZXJ0byBTYWx2 aWEgTm92ZWxsYToKPj4+Pj4KPj4+Pj4gMjRmcHMgaXMgaW50ZW5kZWQgZm9yIHZpZGVvIG9ubHku IEFueXRoaW5nIGludGVyYWN0aXZlIGF0IDI0ZnBzLCBhcyBqdXN0IG1vdmluZyB0aGUgbW91c2Ug YXJvdW5kLCBpcyBleHRyZW1lbHkgY2hvcHB5Lgo+Pj4+Pgo+Pj4+PiBObyB3YXkgYW55b25lIHdv dWxkIHByZWZlciB0aGF0IG92ZXIgYW4gaW50ZXJsYWNlZCByZXNvbHV0aW9uIG9yIGEgbG93ZXIg cmVzb2x1dGlvbi4gVGhhdCBpcywgYnkgZmFyLCB0aGUgd29yc3Qgb3B0aW9uLgo+Pj4+Pgo+Pj4+ PiBKdXN0IHRyeSBpdCBvbiB5b3VyIHNjcmVlbiwgc2V0IGl0IHRvIDI0SHogb3IgYWxpa2UsIGFu ZCB0ZWxsIG1lIHlvdXIgZXhwZXJpZW5jZS4gWW91IGNhbid0IGV2ZW4gdGVsbCB3aGVyZSB0aGUg bW91c2UgaXMgZ29pbmcgdG8gZ28uCj4+Pj4+Cj4+Pj4+IE9uIFdlZCwgMzEgTWFyIDIwMjEgYXQg MDg6NDQsIENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4gd3JvdGU6 Cj4+Pj4+Pgo+Pj4+Pj4gSGkgQWxiZXJ0bywKPj4+Pj4+Cj4+Pj4+PiB3ZWxsIGEgZnJhbWUgcmF0 ZSBvZiAyNEh6IGlzIHBlcmZlY3RseSByZWFzb25hYmxlIGZvciBhIFRWIGFuZCBkZXNrdG9wIHVz YWdlLgo+Pj4+Pj4KPj4+Pj4+IFRoaXMgaXMgcHJvYmFibHkgY2F1c2VkIGJ5IHRoZSBUVnMgbGlt aXRlZCBIRE1JIGJhbmR3aWR0aCBhbmQgYSByZWZyZXNoIHJhdGUgb2YgMzAvMjUgSHogZm9yIHRo ZSBpbnRlcmxhY2VkIG1vZGUgaXNuJ3QgbXVjaCBiZXR0ZXIgZWl0aGVyLgo+Pj4+Pj4KPj4+Pj4+ IFJlZ2FyZHMsCj4+Pj4+PiBDaHJpc3RpYW4uCj4+Pj4+Pgo+Pj4+Pj4gQW0gMzAuMDMuMjEgdW0g MjI6NTkgc2NocmllYiBBbGJlcnRvIFNhbHZpYSBOb3ZlbGxhOgo+Pj4+Pj4KPj4+Pj4+IFRoZSBm cmFtZS1yYXRlIGF0IDI0SHogaXMgZXh0cmVtZWx5IHBvb3IgZm9yIG5vcm1hbCBkZXNrdG9wIHVz YWdlLgo+Pj4+Pj4KPj4+Pj4+IElmIHRoZSBoaWdoZXN0IHJlc29sdXRpb24sIGFrYSAxMDgwcCwg dXNlcyB0aGF0IHJlZnJlc2ggcmF0ZSB0aGVuIHRoZSBkZXNrdG9wIHdpbGwgZGVmYXVsdCB0byB0 aGF0IGZyYW1lLXJhdGUuCj4+Pj4+Pgo+Pj4+Pj4gT3RoZXIgcHJvZ3Jlc3NpdmUgbW9kZXMgZG9u J3QgZXhoaWJpdCBhbnkgaXNzdWUuCj4+Pj4+Pgo+Pj4+Pj4gT24gVHVlLCAzMCBNYXIgMjAyMSBh dCAxODoyNiwgQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPiB3cm90 ZToKPj4+Pj4+Pgo+Pj4+Pj4+IEhpIEFsYmVydG8sCj4+Pj4+Pj4KPj4+Pj4+PiBJIHRoaW5rIHRo ZSBkcml2ZXIgc2hvdWxkIG9ubHkgc3VwcG9ydCByZXNvbHV0aW9ucyB0aGF0IGFyZSBwcm9ncmVz c2l2ZSwgYnV0IGFsc28gYXQgbGVhc3Qgb2YgNTBIei4KPj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4g V2h5IGRvIHlvdSB0aGluayBzbz8sIHRoZSAyNEh6IHJlc29sdXRpb24gc2VlbXMgdG8gYmUgdGhl IG5hdGl2ZSBvbmUgb2YgdGhlIGRpc3BsYXkuCj4+Pj4+Pj4KPj4+Pj4+PiBSZWdhcmRzLAo+Pj4+ Pj4+IENocmlzdGlhbi4KPj4+Pj4+Pgo+Pj4+Pj4+IEFtIDMwLjAzLjIxIHVtIDE3OjM3IHNjaHJp ZWIgQWxiZXJ0byBTYWx2aWEgTm92ZWxsYToKPj4+Pj4+Pgo+Pj4+Pj4+IFRoaXMgaXMgd2h5IEkn bSB1c2luZyBpbnRlcmxhY2VkOgo+Pj4+Pj4+Cj4+Pj4+Pj4gJCB4cmFuZHIKPj4+Pj4+PiBTY3Jl ZW4gMDogbWluaW11bSAzMjAgeCAyMDAsIGN1cnJlbnQgMTkyMCB4IDEwODAsIG1heGltdW0gODE5 MiB4IDgxOTIKPj4+Pj4+PiBEaXNwbGF5UG9ydC0wIGRpc2Nvbm5lY3RlZCAobm9ybWFsIGxlZnQg aW52ZXJ0ZWQgcmlnaHQgeCBheGlzIHkgYXhpcykKPj4+Pj4+PiBIRE1JLTAgY29ubmVjdGVkIHBy aW1hcnkgMTkyMHgxMDgwKzArMCAobm9ybWFsIGxlZnQgaW52ZXJ0ZWQgcmlnaHQgeCBheGlzIHkg YXhpcykgMTZtbSB4IDltbQo+Pj4+Pj4+ICAgIDE5MjB4MTA4MGkgICAgNjAuMDAqKyAgNTAuMDAg ICAgNTkuOTQKPj4+Pj4+PiAgICAxOTIweDEwODAgICAgIDI0LjAwICAgIDIzLjk4Cj4+Pj4+Pj4g ICAgMTI4MHg3MjAgICAgICA2MC4wMCAgICA1MC4wMCAgICA1OS45NAo+Pj4+Pj4+ICAgIDEwMjR4 NzY4ICAgICAgNzUuMDMgICAgNzAuMDcgICAgNjAuMDAKPj4+Pj4+PiAgICA4MzJ4NjI0ICAgICAg IDc0LjU1Cj4+Pj4+Pj4gICAgODAweDYwMCAgICAgICA3Mi4xOSAgICA3NS4wMCAgICA2MC4zMiAg ICA1Ni4yNQo+Pj4+Pj4+ICAgIDcyMHg1NzYgICAgICAgNTAuMDAKPj4+Pj4+PiAgICA3MjB4NTc2 aSAgICAgIDUwLjAwCj4+Pj4+Pj4gICAgNzIweDQ4MCAgICAgICA2MC4wMCAgICA1OS45NAo+Pj4+ Pj4+ICAgIDcyMHg0ODBpICAgICAgNjAuMDAgICAgNTkuOTQKPj4+Pj4+PiAgICA2NDB4NDgwICAg ICAgIDc1LjAwICAgIDcyLjgxICAgIDY2LjY3ICAgIDYwLjAwICAgIDU5Ljk0Cj4+Pj4+Pj4gICAg NzIweDQwMCAgICAgICA3MC4wOAo+Pj4+Pj4+IERWSS0wIGRpc2Nvbm5lY3RlZCAobm9ybWFsIGxl ZnQgaW52ZXJ0ZWQgcmlnaHQgeCBheGlzIHkgYXhpcykKPj4+Pj4+Pgo+Pj4+Pj4+IEkgdGhpbmsg dGhlIGRyaXZlciBzaG91bGQgb25seSBzdXBwb3J0IHJlc29sdXRpb25zIHRoYXQgYXJlIHByb2dy ZXNzaXZlLCBidXQgYWxzbyBhdCBsZWFzdCBvZiA1MEh6Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gT24gVHVl LCAzMCBNYXIgMjAyMSBhdCAxNTo0MSwgQ2hyaXN0aWFuIEvDtm5pZyA8Y2tvZW5pZy5sZWljaHR6 dW1lcmtlbkBnbWFpbC5jb20+IHdyb3RlOgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBNaG0sIG5vIGlkZWEg d2h5IGFuIGludGVybGFjZWQgcmVzb2x1dGlvbiB3b3VsZCBjYXVzZSBhIGNyYXNoLiBNYXliZSBz b21lIG1pc2NhbGN1bGF0aW9uIGluIHRoZSBkaXNwbGF5IGNvZGUuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ IEJ1dCBhcGFydCBmcm9tIHRoYXQgaWYgeW91IGp1c3QgY29ubmVjdGVkIHlvdXIgUEMgdG8gYSBU ViBJIGFsc28gd291bGRuJ3QgcmVjb21tZW5kIHVzaW5nIGFuIGludGVybGFjZWQgcmVzb2x1dGlv biBpbiB0aGUgZmlyc3QgcGxhY2UuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFNlZSB0aG9zZSByZXNvbHV0 aW9ucyBvbmx5IGV4aXN0cyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGFuYWxvZyBo YXJkd2FyZS4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gSSB0aGluayB3ZSB3b3VsZCBqdXN0IGRpc2FibGUg dGhvc2UgbW9kZXMgaW5zdGVhZCBvZiBzZWFyY2hpbmcgZm9yIHRoZSBidWcuCj4+Pj4+Pj4+Cj4+ Pj4+Pj4+IFJlZ2FyZHMsCj4+Pj4+Pj4+IENocmlzdGlhbi4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gQW0g MzAuMDMuMjEgdW0gMTE6MDcgc2NocmllYiBBbGJlcnRvIFNhbHZpYSBOb3ZlbGxhOgo+Pj4+Pj4+ Pgo+Pj4+Pj4+PiBJIGd1ZXNzZWQgc28uCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFRoZSBHUFUgaXMgYSBS YWRlb24gSEQ1ODcwLCBhbmQgdGhlIHNjcmVlbiBpcyBhbiBvbGQgVGVsZWZ1bmtlbiBUViAoVExG SzIyTEVEUFZSMSkuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFNpbmNlIG15IHJlYWwgZGlzcGxheSBnb3Qg aW50byByZXBhaXIgSSB1c2VkIHRoaXMgVFYgbWVhbndoaWxlLCBhbmQgdG8gbXkgc3VycHJpc2Ug aXQgZnJvemUgdGhlIHN5c3RlbS4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gT24gVHVlLCAzMCBNYXIgMjAy MSBhdCAxMDoxNSwgQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPiB3 cm90ZToKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBIaSBBbGJlcnRvLAo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ IHdlbGwgd2hhdCBoYXJkd2FyZSBkbyB5b3UgaGF2ZT8KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBJbnRl cmxhY2VkIHJlc29sdXRpb25zIGFyZSBub3QgdXNlZCBhbnkgbW9yZSBvbiBtb2Rlcm4gaGFyZHdh cmUsIHNvIHRoZXkKPj4+Pj4+Pj4+IGFyZSBub3Qgd2VsbCB0ZXN0ZWQuCj4+Pj4+Pj4+Pgo+Pj4+ Pj4+Pj4gUmVnYXJkcywKPj4+Pj4+Pj4+IENocmlzdGlhbi4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBB bSAzMC4wMy4yMSB1bSAxMDowNCBzY2hyaWViIEFsYmVydG8gU2FsdmlhIE5vdmVsbGE6Cj4+Pj4+ Pj4+PiA+IFRoZSBlbnRpcmUgZGVza3RvcCBoYW5ncyBhZnRlciBzb21lIG1pbnV0ZXMgd2hlbiB1 c2luZyB0aGUgbW9kdWxlCj4+Pj4+Pj4+PiA+ICJyYWRlb24iIHdpdGggYW4gaW50ZXJsYWNlZCBy ZXNvbHV0aW9uLgo+Pj4+Pj4+Pj4gPgo+Pj4+Pj4+Pj4gPiBFYXNpZXIgdG8gdHJpZ2dlciBieSBw bGF5aW5nIGEgdmlkZW8gb24gRmlyZWZveCwgYXQgbGVhc3Qgb24ga3dpbl94MTEuCj4+Pj4+Pj4+ PiA+IFdheWxhbmQgZGlkbid0IGV4aGliaXQgdGhlIHByb2JsZW0uCj4+Pj4+Pj4+PiA+Cj4+Pj4+ Pj4+PiA+IE90aGVyIGRpc3BsYXkgZHJpdmVycywgZnJvbSBkaWZmZXJlbnQgY29tcHV0ZXJzIEkg aGF2ZSB0cmllZCwgZGlkbid0Cj4+Pj4+Pj4+PiA+IGFsbG93IHRob3NlIGludGVybGFjZWQgcmVz b2x1dGlvbnMgYWxsIHRvZ2V0aGVyLiBJdCBzZWVtcyB0aGV5IGtub3cKPj4+Pj4+Pj4+ID4gdGhl cmUgd2lsbCBiZSBwcm9ibGVtcy4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4+Pj4+IGFtZC1nZngg bWFpbGluZyBsaXN0Cj4+Pj4+Pj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4+ Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eAo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pgo+Pj4+Cj4+Pgo+Pgo+Cj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBhbWQtZ2Z4 IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0 CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=