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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 4A6F2C433EF for ; Mon, 21 Feb 2022 04:36:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=GFIBYz9KFE8sJqpqMQADjBNLnD+KsBMo/WwaaoNUrnk=; b=HW/vQnnZk4eQRG W7AfEYh6pUb9mAdIDGDoigtMTlYZLpAGHhZ0FsZ62EVyqa3FFqDsRf6jxgv7LE91va4pm5DypWvmY 82whUPN4C0Z1fGWoPJkKhOAGyylM3/OB5KL1hvnBZHY1qZzOpxbtUTd1oYKYOV0iAMVXovuLgGtjg M8ZoDsjL/YPKLK/wv8+xgNAM5f5FUO4sJAZL8hEQVqImGi2SOGL/nxAuh/pbJONcADP4X51uBzV7S +kG0QsBoHe46tG14E7heK79Rp7OAv9ycse3zynG/w5d6MGndVROOBKa7WzD09ABJFX9O8wyKHacnx zfKfpIcOFf3+ZB7cRI9g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nM0PX-003Qfk-Fm; Mon, 21 Feb 2022 04:34:55 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nM0PR-003QeS-W8; Mon, 21 Feb 2022 04:34:52 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 76B6F611B6; Mon, 21 Feb 2022 04:34:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 56DCFC340F7; Mon, 21 Feb 2022 04:34:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1645418088; bh=C/nB/E0piAZGYQQYp2cV4LFsLeiH3pqTgoIEL6E+3hQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=rM23tV35JywzlZV+mU/o4lt0Dk6gDdp4TeZQ49qjHo6PDSuUOBoMGndz4BDvQ4vDT Ah5OsxbiZjqFQLeDC32Fxw6klGnQu5OLJuPnadnyZTEsSJDQuv9VUDhynJNt6JI4mY bkwlOntmhSYZ4W38T/zccFJwFwlKiij3mLuEnCCRrbHKZ1CDvQlArsXpWJDAWMPH5d RazWNlkzJ6wQcwurYsApx1puSjfuaCKQsQGEopturK8kQESx+k47Qbb/NlcFxCQCKb wGp3MSDt/Tb5i5D1WOmz3gFFN93b2lLL9fYyxFnlMQyDH5q978pqQSIf1+A5dtvW9r 90eqcZzOzVNMA== Received: by mail-ed1-f54.google.com with SMTP id cm8so17129477edb.3; Sun, 20 Feb 2022 20:34:48 -0800 (PST) X-Gm-Message-State: AOAM533LxNIhtl72zs3wMN62xvp9qsDNmG63h32du8DYz6qVLpwYyi2G GW2+hzG8kOyRdvQDqZS9fqCbmKQIm3+qkfKO9g== X-Google-Smtp-Source: ABdhPJx8oTS5v5LNdZ9qmsaBpdp7Ht+mdjtSUFNlrFS0s9Rwpt/Lr80iK0bS3pTKa24uc4xlEQl6LWXw16D6/vRCIM0= X-Received: by 2002:aa7:c391:0:b0:410:83fb:abab with SMTP id k17-20020aa7c391000000b0041083fbababmr19652501edq.435.1645418086329; Sun, 20 Feb 2022 20:34:46 -0800 (PST) MIME-Version: 1.0 References: <20220218145437.18563-1-granquet@baylibre.com> <20220218145437.18563-14-granquet@baylibre.com> In-Reply-To: <20220218145437.18563-14-granquet@baylibre.com> From: Chun-Kuang Hu Date: Mon, 21 Feb 2022 12:34:33 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v8 13/19] drm/mediatek: dpi: Add dpintf support To: Guillaume Ranquet Cc: Chun-Kuang Hu , Philipp Zabel , David Airlie , Daniel Vetter , Rob Herring , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Matthias Brugger , Chunfeng Yun , Kishon Vijay Abraham I , Vinod Koul , deller@gmx.de, CK Hu , Jitao Shi , AngeloGioacchino Del Regno , DRI Development , "moderated list:ARM/Mediatek SoC support" , DTML , linux-kernel , Linux ARM , linux-phy@lists.infradead.org, linux-fbdev@vger.kernel.org, Markus Schneider-Pargmann X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220220_203450_168389_FBAF2E6C X-CRM114-Status: GOOD ( 37.47 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Jy5IaSwgR3VpbGxhdW1lOgoKR3VpbGxhdW1lIFJhbnF1ZXQgPGdyYW5xdWV0QGJheWxpYnJlLmNv bT4g5pa8IDIwMjLlubQy5pyIMTjml6Ug6YCx5LqUIOS4i+WNiDEwOjU25a+r6YGT77yaCj4KPiBk cGludGYgaXMgdGhlIGRpc3BsYXlwb3J0IGludGVyZmFjZSBoYXJkd2FyZSB1bml0LiBUaGlzIHVu aXQgaXMgc2ltaWxhcgo+IHRvIGRwaSBhbmQgY2FuIHJldXNlIG1vc3Qgb2YgdGhlIGNvZGUuCj4K PiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgbXQ4MTk1LWRwaW50ZiB0byB0aGlzIGRwaSBk cml2ZXIuIE1haW4KPiBkaWZmZXJlbmNlcyBhcmU6Cj4gIC0gU29tZSBmZWF0dXJlcy9mdW5jdGlv bmFsIGNvbXBvbmVudHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIGRwaW50Zgo+ICAgIHdoaWNoIGFy ZSBub3cgZXhjbHVkZWQgZnJvbSBjb2RlIGV4ZWN1dGlvbiBvbmNlIGlzX2RwaW50ZiBpcyBzZXQK PiAgLSBkcGludGYgY2FuIGFuZCBuZWVkcyB0byBjaG9vc2UgYmV0d2VlbiBkaWZmZXJlbnQgY2xv Y2tkaXZpZGVycyBiYXNlZAo+ICAgIG9uIHRoZSBjbG9ja3NwZWVkLiBUaGlzIGlzIGRvbmUgYnkg Y2hvb3NpbmcgYSBkaWZmZXJlbnQgY2xvY2sgcGFyZW50Lgo+ICAtIFRoZXJlIGFyZSB0d28gYWRk aXRpb25hbCBjbG9ja3MgdGhhdCBuZWVkIHRvIGJlIG1hbmFnZWQuIFRoZXNlIGFyZQo+ICAgIG9u bHkgc2V0IGZvciBkcGludGYgYW5kIHdpbGwgYmUgc2V0IHRvIE5VTEwgaWYgbm90IHN1cHBsaWVk LiBUaGUKPiAgICBjbGtfKiBjYWxscyBoYW5kbGUgdGhlc2UgYXMgbm9ybWFsIGNsb2NrcyB0aGVu Lgo+ICAtIFNvbWUgcmVnaXN0ZXIgY29udGVudHMgZGlmZmVyIHNsaWdodGx5IGJldHdlZW4gdGhl IHR3byBjb21wb25lbnRzLiBUbwo+ICAgIHdvcmsgYXJvdW5kIHRoaXMgSSBhZGRlZCByZWdpc3Rl ciBiaXRzL21hc2tzIHdpdGggYSBEUElOVEZfIHByZWZpeAo+ICAgIGFuZCB1c2UgdGhlbSB3aGVy ZSBkaWZmZXJlbnQuCj4KPiBCYXNlZCBvbiBhIHNlcGFyYXRlIGRyaXZlciBmb3IgZHBpbnRmIGNy ZWF0ZWQgYnkKPiBKYXNvbi1KSC5MaW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+Lgo+Cj4g U2lnbmVkLW9mZi1ieTogTWFya3VzIFNjaG5laWRlci1QYXJnbWFubiA8bXNwQGJheWxpYnJlLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgUmFucXVldCA8Z3JhbnF1ZXRAYmF5bGlicmUu Y29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jICAgICAgICAg IHwgMTY0ICsrKysrKysrKysrKysrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHBpX3JlZ3MuaCAgICAgfCAgMzggKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZGRwX2NvbXAuYyB8ICAgOCArCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2RkcF9jb21wLmggfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9kcnYuYyAgICAgIHwgICA1ICstCj4gIGluY2x1ZGUvbGludXgvc29jL21lZGlhdGVrL210 ay1tbXN5cy5oICAgICAgfCAgIDIgKwo+ICA2IGZpbGVzIGNoYW5nZWQsIDE5OCBpbnNlcnRpb25z KCspLCAyMCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RwaS5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYwo+IGlu ZGV4IGJlOTkzOTlmYWYxYmIuLmM1NjM5YWRhODY4ZjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHBpLmMKPiBAQCAtNjMsNiArNjMsMTQgQEAgZW51bSBtdGtfZHBpX291dF9jb2xvcl9m b3JtYXQgewo+ICAgICAgICAgTVRLX0RQSV9DT0xPUl9GT1JNQVRfWUNCQ1JfNDIyX0ZVTEwKPiAg fTsKPgo+ICtlbnVtIFRWRFBMTF9DTEsgewo+ICsgICAgICAgVFZEUExMX1BMTCA9IDAsCj4gKyAg ICAgICBUVkRQTExfRDIgPSAyLAo+ICsgICAgICAgVFZEUExMX0Q0ID0gNCwKPiArICAgICAgIFRW RFBMTF9EOCA9IDgsCj4gKyAgICAgICBUVkRQTExfRDE2ID0gMTYsCj4gK307Cj4gKwo+ICBzdHJ1 Y3QgbXRrX2RwaSB7Cj4gICAgICAgICBzdHJ1Y3QgZHJtX2VuY29kZXIgZW5jb2RlcjsKPiAgICAg ICAgIHN0cnVjdCBkcm1fYnJpZGdlIGJyaWRnZTsKPiBAQCAtNzEsOCArNzksMTAgQEAgc3RydWN0 IG10a19kcGkgewo+ICAgICAgICAgdm9pZCBfX2lvbWVtICpyZWdzOwo+ICAgICAgICAgc3RydWN0 IGRldmljZSAqZGV2Owo+ICAgICAgICAgc3RydWN0IGNsayAqZW5naW5lX2NsazsKPiArICAgICAg IHN0cnVjdCBjbGsgKmRwaV9ja19jZzsKPiAgICAgICAgIHN0cnVjdCBjbGsgKnBpeGVsX2NsazsK PiAgICAgICAgIHN0cnVjdCBjbGsgKnR2ZF9jbGs7Cj4gKyAgICAgICBzdHJ1Y3QgY2xrICpwY2xr X3NyY1s1XTsKPiAgICAgICAgIGludCBpcnE7Cj4gICAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSBtb2RlOwo+ICAgICAgICAgY29uc3Qgc3RydWN0IG10a19kcGlfY29uZiAqY29uZjsKPiBA QCAtMTI2LDYgKzEzNiw3IEBAIHN0cnVjdCBtdGtfZHBpX2NvbmYgewo+ICAgICAgICAgY29uc3Qg dTMyICpvdXRwdXRfZm10czsKPiAgICAgICAgIHUzMiBudW1fb3V0cHV0X2ZtdHM7Cj4gICAgICAg ICBib29sIGlzX2NrX2RlX3BvbDsKPiArICAgICAgIGJvb2wgaXNfZHBpbnRmOwo+ICAgICAgICAg Ym9vbCBzd2FwX2lucHV0X3N1cHBvcnQ7Cj4gICAgICAgICAvLyBNYXNrIHVzZWQgZm9yIEhXSURU SCwgSFBPUkNILCBWU1lOQ19XSURUSCBhbmQgVlNZTkNfUE9SQ0ggKG5vIHNoaWZ0KQo+ICAgICAg ICAgdTMyIGRpbWVuc2lvbl9tYXNrOwo+IEBAIC0zODQsNiArMzk1LDI1IEBAIHN0YXRpYyB2b2lk IG10a19kcGlfY29uZmlnX2Rpc2FibGVfZWRnZShzdHJ1Y3QgbXRrX2RwaSAqZHBpKQo+ICAgICAg ICAgICAgICAgICBtdGtfZHBpX21hc2soZHBpLCBkcGktPmNvbmYtPnJlZ19oX2ZyZV9jb24sIDAs IEVER0VfU0VMX0VOKTsKPiAgfQo+Cj4gK3N0YXRpYyB2b2lkIG10a19kcGlfbWF0cml4X3NlbChz dHJ1Y3QgbXRrX2RwaSAqZHBpLCBlbnVtIG10a19kcGlfb3V0X2NvbG9yX2Zvcm1hdCBmb3JtYXQp Cj4gK3sKPiArICAgICAgIHUzMiBtYXRyaXhfc2VsID0gMDsKPiArCj4gKyAgICAgICBzd2l0Y2gg KGZvcm1hdCkgewo+ICsgICAgICAgY2FzZSBNVEtfRFBJX0NPTE9SX0ZPUk1BVF9ZQ0JDUl80MjI6 Cj4gKyAgICAgICBjYXNlIE1US19EUElfQ09MT1JfRk9STUFUX1lDQkNSXzQyMl9GVUxMOgo+ICsg ICAgICAgY2FzZSBNVEtfRFBJX0NPTE9SX0ZPUk1BVF9ZQ0JDUl80NDQ6Cj4gKyAgICAgICBjYXNl IE1US19EUElfQ09MT1JfRk9STUFUX1lDQkNSXzQ0NF9GVUxMOgo+ICsgICAgICAgY2FzZSBNVEtf RFBJX0NPTE9SX0ZPUk1BVF9YVl9ZQ0M6Cj4gKyAgICAgICAgICAgICAgIGlmIChkcGktPm1vZGUu aGRpc3BsYXkgPD0gNzIwKQo+ICsgICAgICAgICAgICAgICAgICAgICAgIG1hdHJpeF9zZWwgPSAw eDI7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgZGVmYXVsdDoKPiArICAgICAg ICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBtdGtfZHBpX21hc2soZHBpLCBE UElfTUFUUklYX1NFVCwgbWF0cml4X3NlbCwgSU5UX01BVFJJWF9TRUxfTUFTSyk7Cj4gK30KPiAr Cj4gIHN0YXRpYyB2b2lkIG10a19kcGlfY29uZmlnX2NvbG9yX2Zvcm1hdChzdHJ1Y3QgbXRrX2Rw aSAqZHBpLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIG10 a19kcGlfb3V0X2NvbG9yX2Zvcm1hdCBmb3JtYXQpCj4gIHsKPiBAQCAtMzkxLDYgKzQyMSw3IEBA IHN0YXRpYyB2b2lkIG10a19kcGlfY29uZmlnX2NvbG9yX2Zvcm1hdChzdHJ1Y3QgbXRrX2RwaSAq ZHBpLAo+ICAgICAgICAgICAgIChmb3JtYXQgPT0gTVRLX0RQSV9DT0xPUl9GT1JNQVRfWUNCQ1Jf NDQ0X0ZVTEwpKSB7Cj4gICAgICAgICAgICAgICAgIG10a19kcGlfY29uZmlnX3l1djQyMl9lbmFi bGUoZHBpLCBmYWxzZSk7Cj4gICAgICAgICAgICAgICAgIG10a19kcGlfY29uZmlnX2NzY19lbmFi bGUoZHBpLCB0cnVlKTsKPiArICAgICAgICAgICAgICAgbXRrX2RwaV9tYXRyaXhfc2VsKGRwaSwg Zm9ybWF0KTsKPiAgICAgICAgICAgICAgICAgaWYgKGRwaS0+Y29uZi0+c3dhcF9pbnB1dF9zdXBw b3J0KQo+ICAgICAgICAgICAgICAgICAgICAgICAgIG10a19kcGlfY29uZmlnX3N3YXBfaW5wdXQo ZHBpLCBmYWxzZSk7Cj4gICAgICAgICAgICAgICAgIG10a19kcGlfY29uZmlnX2NoYW5uZWxfc3dh cChkcGksIE1US19EUElfT1VUX0NIQU5ORUxfU1dBUF9CR1IpOwo+IEBAIC0zOTgsNiArNDI5LDcg QEAgc3RhdGljIHZvaWQgbXRrX2RwaV9jb25maWdfY29sb3JfZm9ybWF0KHN0cnVjdCBtdGtfZHBp ICpkcGksCj4gICAgICAgICAgICAgICAgICAgIChmb3JtYXQgPT0gTVRLX0RQSV9DT0xPUl9GT1JN QVRfWUNCQ1JfNDIyX0ZVTEwpKSB7Cj4gICAgICAgICAgICAgICAgIG10a19kcGlfY29uZmlnX3l1 djQyMl9lbmFibGUoZHBpLCB0cnVlKTsKPiAgICAgICAgICAgICAgICAgbXRrX2RwaV9jb25maWdf Y3NjX2VuYWJsZShkcGksIHRydWUpOwo+ICsgICAgICAgICAgICAgICBtdGtfZHBpX21hdHJpeF9z ZWwoZHBpLCBmb3JtYXQpOwoKV2h5IGFkZCB0aGlzPyBJZiB0aGlzIGlzIG5lY2Vzc2FyeSwgc2Vw YXJhdGUgdGhpcyB0byBhbiBpbmRlcGVuZGVudCBwYXRjaC4KCj4gICAgICAgICAgICAgICAgIGlm IChkcGktPmNvbmYtPnN3YXBfaW5wdXRfc3VwcG9ydCkKPiAgICAgICAgICAgICAgICAgICAgICAg ICBtdGtfZHBpX2NvbmZpZ19zd2FwX2lucHV0KGRwaSwgdHJ1ZSk7Cj4gICAgICAgICAgICAgICAg IG10a19kcGlfY29uZmlnX2NoYW5uZWxfc3dhcChkcGksIE1US19EUElfT1VUX0NIQU5ORUxfU1dB UF9SR0IpOwo+IEBAIC00MzgsNiArNDcwLDggQEAgc3RhdGljIHZvaWQgbXRrX2RwaV9wb3dlcl9v ZmYoc3RydWN0IG10a19kcGkgKmRwaSkKPiAgICAgICAgIG10a19kcGlfZGlzYWJsZShkcGkpOwo+ ICAgICAgICAgY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGRwaS0+cGl4ZWxfY2xrKTsKPiAgICAgICAg IGNsa19kaXNhYmxlX3VucHJlcGFyZShkcGktPmVuZ2luZV9jbGspOwo+ICsgICAgICAgY2xrX2Rp c2FibGVfdW5wcmVwYXJlKGRwaS0+ZHBpX2NrX2NnKTsKPiArICAgICAgIGNsa19kaXNhYmxlX3Vu cHJlcGFyZShkcGktPnR2ZF9jbGspOwo+ICB9Cj4KPiAgc3RhdGljIGludCBtdGtfZHBpX3Bvd2Vy X29uKHN0cnVjdCBtdGtfZHBpICpkcGkpCj4gQEAgLTQ0NywxMiArNDgxLDI0IEBAIHN0YXRpYyBp bnQgbXRrX2RwaV9wb3dlcl9vbihzdHJ1Y3QgbXRrX2RwaSAqZHBpKQo+ICAgICAgICAgaWYgKCsr ZHBpLT5yZWZjb3VudCAhPSAxKQo+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKPgo+ICsgICAg ICAgcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGRwaS0+dHZkX2Nsayk7Cj4gKyAgICAgICBpZiAo cmV0KSB7Cj4gKyAgICAgICAgICAgICAgIGRldl9lcnIoZHBpLT5kZXYsICJGYWlsZWQgdG8gZW5h YmxlIHR2ZCBwbGw6ICVkXG4iLCByZXQpOwo+ICsgICAgICAgICAgICAgICBnb3RvIGVycl9waXhl bDsKPiArICAgICAgIH0KPiArCj4gICAgICAgICByZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZHBp LT5lbmdpbmVfY2xrKTsKPiAgICAgICAgIGlmIChyZXQpIHsKPiAgICAgICAgICAgICAgICAgZGV2 X2VycihkcGktPmRldiwgIkZhaWxlZCB0byBlbmFibGUgZW5naW5lIGNsb2NrOiAlZFxuIiwgcmV0 KTsKPiAgICAgICAgICAgICAgICAgZ290byBlcnJfcmVmY291bnQ7Cj4gICAgICAgICB9Cj4KPiAr ICAgICAgIHJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShkcGktPmRwaV9ja19jZyk7Cj4gKyAgICAg ICBpZiAocmV0KSB7Cj4gKyAgICAgICAgICAgICAgIGRldl9lcnIoZHBpLT5kZXYsICJGYWlsZWQg dG8gZW5hYmxlIGRwaV9ja19jZyBjbG9jazogJWRcbiIsIHJldCk7Cj4gKyAgICAgICAgICAgICAg IGdvdG8gZXJyX2NrX2NnOwo+ICsgICAgICAgfQo+ICsKPiAgICAgICAgIHJldCA9IGNsa19wcmVw YXJlX2VuYWJsZShkcGktPnBpeGVsX2Nsayk7Cj4gICAgICAgICBpZiAocmV0KSB7Cj4gICAgICAg ICAgICAgICAgIGRldl9lcnIoZHBpLT5kZXYsICJGYWlsZWQgdG8gZW5hYmxlIHBpeGVsIGNsb2Nr OiAlZFxuIiwgcmV0KTsKPiBAQCAtNDYyLDEwICs1MDgsMTEgQEAgc3RhdGljIGludCBtdGtfZHBp X3Bvd2VyX29uKHN0cnVjdCBtdGtfZHBpICpkcGkpCj4gICAgICAgICBpZiAoZHBpLT5waW5jdHJs ICYmIGRwaS0+cGluc19kcGkpCj4gICAgICAgICAgICAgICAgIHBpbmN0cmxfc2VsZWN0X3N0YXRl KGRwaS0+cGluY3RybCwgZHBpLT5waW5zX2RwaSk7Cj4KPiAtICAgICAgIG10a19kcGlfZW5hYmxl KGRwaSk7CgpXaHkgcmVtb3ZlIHRoaXMsIElmIHRoaXMgaXMgbmVjZXNzYXJ5LCBzZXBhcmF0ZSB0 aGlzIHRvIGFuIGluZGVwZW5kZW50IHBhdGNoLgoKPiAgICAgICAgIHJldHVybiAwOwo+Cj4gIGVy cl9waXhlbDoKPiArICAgICAgIGNsa19kaXNhYmxlX3VucHJlcGFyZShkcGktPmRwaV9ja19jZyk7 Cj4gK2Vycl9ja19jZzoKPiAgICAgICAgIGNsa19kaXNhYmxlX3VucHJlcGFyZShkcGktPmVuZ2lu ZV9jbGspOwo+ICBlcnJfcmVmY291bnQ6Cj4gICAgICAgICBkcGktPnJlZmNvdW50LS07Cj4gQEAg LTQ5NywxMiArNTQ0LDIxIEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9zZXRfZGlzcGxheV9tb2RlKHN0 cnVjdCBtdGtfZHBpICpkcGksCj4gICAgICAgICBwbGxfcmF0ZSA9IGNsa19nZXRfcmF0ZShkcGkt PnR2ZF9jbGspOwo+Cj4gICAgICAgICB2bS5waXhlbGNsb2NrID0gcGxsX3JhdGUgLyBmYWN0b3I7 Cj4gLSAgICAgICBpZiAoKGRwaS0+b3V0cHV0X2ZtdCA9PSBNRURJQV9CVVNfRk1UX1JHQjg4OF8y WDEyX0xFKSB8fAo+IC0gICAgICAgICAgIChkcGktPm91dHB1dF9mbXQgPT0gTUVESUFfQlVTX0ZN VF9SR0I4ODhfMlgxMl9CRSkpCj4gKyAgICAgICBpZiAoZHBpLT5jb25mLT5pc19kcGludGYpIHsK PiArICAgICAgICAgICAgICAgaWYgKGZhY3RvciA9PSAxKQo+ICsgICAgICAgICAgICAgICAgICAg ICAgIGNsa19zZXRfcGFyZW50KGRwaS0+cGl4ZWxfY2xrLCBkcGktPnBjbGtfc3JjWzJdKTsKPiAr ICAgICAgICAgICAgICAgZWxzZSBpZiAoZmFjdG9yID09IDIpCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgY2xrX3NldF9wYXJlbnQoZHBpLT5waXhlbF9jbGssIGRwaS0+cGNsa19zcmNbM10pOwo+ ICsgICAgICAgICAgICAgICBlbHNlIGlmIChmYWN0b3IgPT0gNCkKPiArICAgICAgICAgICAgICAg ICAgICAgICBjbGtfc2V0X3BhcmVudChkcGktPnBpeGVsX2NsaywgZHBpLT5wY2xrX3NyY1s0XSk7 Cj4gKyAgICAgICAgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAgICAgICAgICBjbGtfc2V0 X3BhcmVudChkcGktPnBpeGVsX2NsaywgZHBpLT5wY2xrX3NyY1syXSk7Cj4gKyAgICAgICB9IGVs c2UgaWYgKChkcGktPm91dHB1dF9mbXQgPT0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMlgxMl9MRSkg fHwKPiArICAgICAgICAgICAgICAgIChkcGktPm91dHB1dF9mbXQgPT0gTUVESUFfQlVTX0ZNVF9S R0I4ODhfMlgxMl9CRSkpIHsKPiAgICAgICAgICAgICAgICAgY2xrX3NldF9yYXRlKGRwaS0+cGl4 ZWxfY2xrLCB2bS5waXhlbGNsb2NrICogMik7Cj4gLSAgICAgICBlbHNlCj4gKyAgICAgICB9IGVs c2Ugewo+ICAgICAgICAgICAgICAgICBjbGtfc2V0X3JhdGUoZHBpLT5waXhlbF9jbGssIHZtLnBp eGVsY2xvY2spOwo+IC0KPiArICAgICAgIH0KPgo+ICAgICAgICAgdm0ucGl4ZWxjbG9jayA9IGNs a19nZXRfcmF0ZShkcGktPnBpeGVsX2Nsayk7Cj4KPiBAQCAtNTE1LDkgKzU3MSwxNSBAQCBzdGF0 aWMgaW50IG10a19kcGlfc2V0X2Rpc3BsYXlfbW9kZShzdHJ1Y3QgbXRrX2RwaSAqZHBpLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBNVEtfRFBJX1BPTEFSSVRZX0ZBTExJTkcgOiBNVEtf RFBJX1BPTEFSSVRZX1JJU0lORzsKPiAgICAgICAgIGRwaV9wb2wudnN5bmNfcG9sID0gdm0uZmxh Z3MgJiBESVNQTEFZX0ZMQUdTX1ZTWU5DX0hJR0ggPwo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNVEtfRFBJX1BPTEFSSVRZX0ZBTExJTkcgOiBNVEtfRFBJX1BPTEFSSVRZX1JJU0lORzsK PiAtICAgICAgIGhzeW5jLnN5bmNfd2lkdGggPSB2bS5oc3luY19sZW47Cj4gLSAgICAgICBoc3lu Yy5iYWNrX3BvcmNoID0gdm0uaGJhY2tfcG9yY2g7Cj4gLSAgICAgICBoc3luYy5mcm9udF9wb3Jj aCA9IHZtLmhmcm9udF9wb3JjaDsKPiArICAgICAgIGlmIChkcGktPmNvbmYtPmlzX2RwaW50Zikg ewoKVXNlIHRoZSBuYW1lIG9mIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiAnaXNfZHBpbnRmJy4K Cj4gKyAgICAgICAgICAgICAgIGhzeW5jLnN5bmNfd2lkdGggPSB2bS5oc3luY19sZW4gLyA0Owo+ ICsgICAgICAgICAgICAgICBoc3luYy5iYWNrX3BvcmNoID0gdm0uaGJhY2tfcG9yY2ggLyA0Owo+ ICsgICAgICAgICAgICAgICBoc3luYy5mcm9udF9wb3JjaCA9IHZtLmhmcm9udF9wb3JjaCAvIDQ7 Cj4gKyAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICAgICBoc3luYy5zeW5jX3dpZHRoID0g dm0uaHN5bmNfbGVuOwo+ICsgICAgICAgICAgICAgICBoc3luYy5iYWNrX3BvcmNoID0gdm0uaGJh Y2tfcG9yY2g7Cj4gKyAgICAgICAgICAgICAgIGhzeW5jLmZyb250X3BvcmNoID0gdm0uaGZyb250 X3BvcmNoOwo+ICsgICAgICAgfQo+ICAgICAgICAgaHN5bmMuc2hpZnRfaGFsZl9saW5lID0gZmFs c2U7Cj4gICAgICAgICB2c3luY19sb2RkLnN5bmNfd2lkdGggPSB2bS52c3luY19sZW47Cj4gICAg ICAgICB2c3luY19sb2RkLmJhY2tfcG9yY2ggPSB2bS52YmFja19wb3JjaDsKPiBAQCAtNTU5LDEz ICs2MjEsMjAgQEAgc3RhdGljIGludCBtdGtfZHBpX3NldF9kaXNwbGF5X21vZGUoc3RydWN0IG10 a19kcGkgKmRwaSwKPiAgICAgICAgIG10a19kcGlfY29uZmlnX2NoYW5uZWxfbGltaXQoZHBpKTsK PiAgICAgICAgIG10a19kcGlfY29uZmlnX2JpdF9udW0oZHBpLCBkcGktPmJpdF9udW0pOwo+ICAg ICAgICAgbXRrX2RwaV9jb25maWdfY2hhbm5lbF9zd2FwKGRwaSwgZHBpLT5jaGFubmVsX3N3YXAp Owo+IC0gICAgICAgbXRrX2RwaV9jb25maWdfeWNfbWFwKGRwaSwgZHBpLT55Y19tYXApOwo+ICAg ICAgICAgbXRrX2RwaV9jb25maWdfY29sb3JfZm9ybWF0KGRwaSwgZHBpLT5jb2xvcl9mb3JtYXQp Owo+IC0gICAgICAgbXRrX2RwaV9jb25maWdfMm5faF9mcmUoZHBpKTsKPiAtICAgICAgIG10a19k cGlfZHVhbF9lZGdlKGRwaSk7Cj4gLSAgICAgICBtdGtfZHBpX2NvbmZpZ19kaXNhYmxlX2VkZ2Uo ZHBpKTsKPiArICAgICAgIGlmIChkcGktPmNvbmYtPmlzX2RwaW50ZikgewoKVXNlIHRoZSBuYW1l IG9mIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiAnaXNfZHBpbnRmJy4KCj4gKyAgICAgICAgICAg ICAgIG10a19kcGlfbWFzayhkcGksIERQSV9DT04sIERQSU5URl9JTlBVVF8yUF9FTiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERQSU5URl9JTlBVVF8yUF9FTik7Cj4gKyAgICAgICB9 IGVsc2Ugewo+ICsgICAgICAgICAgICAgICBtdGtfZHBpX2NvbmZpZ195Y19tYXAoZHBpLCBkcGkt PnljX21hcCk7Cj4gKyAgICAgICAgICAgICAgIG10a19kcGlfY29uZmlnXzJuX2hfZnJlKGRwaSk7 Cj4gKyAgICAgICAgICAgICAgIG10a19kcGlfZHVhbF9lZGdlKGRwaSk7Cj4gKyAgICAgICAgICAg ICAgIG10a19kcGlfY29uZmlnX2Rpc2FibGVfZWRnZShkcGkpOwo+ICsgICAgICAgfQo+ICAgICAg ICAgbXRrX2RwaV9zd19yZXNldChkcGksIGZhbHNlKTsKPgo+ICsgICAgICAgbXRrX2RwaV9lbmFi bGUoZHBpKTsKCldoeSBhZGQgdGhpcz8gSWYgdGhpcyBpcyBuZWNlc3NhcnksIHNlcGFyYXRlIHRo aXMgdG8gYW4gaW5kZXBlbmRlbnQgcGF0Y2guCgo+ICsKPiAgICAgICAgIHJldHVybiAwOwo+ICB9 Cj4KPiBAQCAtNjA4LDcgKzY3Nyw2IEBAIHN0YXRpYyB1MzIgKm10a19kcGlfYnJpZGdlX2F0b21p Y19nZXRfaW5wdXRfYnVzX2ZtdHMoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiAgICAgICAg IHUzMiAqaW5wdXRfZm10czsKPgo+ICAgICAgICAgKm51bV9pbnB1dF9mbXRzID0gMDsKPiAtCj4g ICAgICAgICBpbnB1dF9mbXRzID0ga2NhbGxvYygxLCBzaXplb2YoKmlucHV0X2ZtdHMpLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0ZQX0tFUk5FTCk7Cj4gICAgICAgICBpZiAoIWlu cHV0X2ZtdHMpCj4gQEAgLTYzNCwxNSArNzAyLDE4IEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9icmlk Z2VfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gICAgICAgICAgICAg ICAgIGlmIChkcGktPmNvbmYtPm51bV9vdXRwdXRfZm10cykKPiAgICAgICAgICAgICAgICAgICAg ICAgICBvdXRfYnVzX2Zvcm1hdCA9IGRwaS0+Y29uZi0+b3V0cHV0X2ZtdHNbMF07Cj4KPiAtICAg ICAgIGRldl9kYmcoZHBpLT5kZXYsICJpbnB1dCBmb3JtYXQgMHglMDR4LCBvdXRwdXQgZm9ybWF0 IDB4JTA0eFxuIiwKPiAtICAgICAgICAgICAgICAgYnJpZGdlX3N0YXRlLT5pbnB1dF9idXNfY2Zn LmZvcm1hdCwKPiAtICAgICAgICAgICAgICAgYnJpZGdlX3N0YXRlLT5vdXRwdXRfYnVzX2NmZy5m b3JtYXQpOwo+ICsgICAgICAgZGV2X2luZm8oZHBpLT5kZXYsICJpbnB1dCBmb3JtYXQgMHglMDR4 LCBvdXRwdXQgZm9ybWF0IDB4JTA0eFxuIiwKPiArICAgICAgICAgICAgICAgIGJyaWRnZV9zdGF0 ZS0+aW5wdXRfYnVzX2NmZy5mb3JtYXQsCj4gKyAgICAgICAgICAgICAgICBicmlkZ2Vfc3RhdGUt Pm91dHB1dF9idXNfY2ZnLmZvcm1hdCk7CgpXaHkgY2hhbmdlIGRiZyB0byBpbmZvPyBpZiB0aGlz IGlzIG5lY2Vzc2FyeSwgc2VwYXJhdGUgdGhpcyB0byBhbgppbmRlcGVuZGVudCBwYXRjaC4KCj4K PiAgICAgICAgIGRwaS0+b3V0cHV0X2ZtdCA9IG91dF9idXNfZm9ybWF0Owo+ICAgICAgICAgZHBp LT5iaXRfbnVtID0gTVRLX0RQSV9PVVRfQklUX05VTV84QklUUzsKPiAgICAgICAgIGRwaS0+Y2hh bm5lbF9zd2FwID0gTVRLX0RQSV9PVVRfQ0hBTk5FTF9TV0FQX1JHQjsKPiAgICAgICAgIGRwaS0+ eWNfbWFwID0gTVRLX0RQSV9PVVRfWUNfTUFQX1JHQjsKPiAtICAgICAgIGRwaS0+Y29sb3JfZm9y bWF0ID0gTVRLX0RQSV9DT0xPUl9GT1JNQVRfUkdCOwo+ICsgICAgICAgaWYgKG91dF9idXNfZm9y bWF0ID09IE1FRElBX0JVU19GTVRfWVVZVjhfMVgxNikKPiArICAgICAgICAgICAgICAgZHBpLT5j b2xvcl9mb3JtYXQgPSBNVEtfRFBJX0NPTE9SX0ZPUk1BVF9ZQ0JDUl80MjJfRlVMTDsKPiArICAg ICAgIGVsc2UKPiArICAgICAgICAgICAgICAgZHBpLT5jb2xvcl9mb3JtYXQgPSBNVEtfRFBJX0NP TE9SX0ZPUk1BVF9SR0I7CgpTZXBhcmF0ZSB0aGlzIHRvIGFuIGluZGVwZW5kZW50IHBhdGNoLgoK Pgo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiBAQCAtNjg3LDcgKzc1OCw3IEBAIG10a19kcGlf YnJpZGdlX21vZGVfdmFsaWQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiAgewo+ICAgICAg ICAgc3RydWN0IG10a19kcGkgKmRwaSA9IGJyaWRnZV90b19kcGkoYnJpZGdlKTsKPgo+IC0gICAg ICAgaWYgKG1vZGUtPmNsb2NrID4gZHBpLT5jb25mLT5tYXhfY2xvY2tfa2h6KQo+ICsgICAgICAg aWYgKGRwaS0+Y29uZi0+bWF4X2Nsb2NrX2toeiAmJiBtb2RlLT5jbG9jayA+IGRwaS0+Y29uZi0+ bWF4X2Nsb2NrX2toeikKClNlcGFyYXRlIHRoaXMgdG8gYW4gaW5kZXBlbmRlbnQgcGF0Y2guCgo+ ICAgICAgICAgICAgICAgICByZXR1cm4gTU9ERV9DTE9DS19ISUdIOwo+Cj4gICAgICAgICByZXR1 cm4gTU9ERV9PSzsKPiBAQCAtODAxLDYgKzg3MiwxNiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IG10 ODE4M19jYWxjdWxhdGVfZmFjdG9yKGludCBjbG9jaykKPiAgICAgICAgICAgICAgICAgcmV0dXJu IDI7Cj4gIH0KPgo+ICtzdGF0aWMgdW5zaWduZWQgaW50IG10ODE5NV9kcGludGZfY2FsY3VsYXRl X2ZhY3RvcihpbnQgY2xvY2spCj4gK3sKPiArICAgICAgIGlmIChjbG9jayA8IDcwMDAwKQo+ICsg ICAgICAgICAgICAgICByZXR1cm4gNDsKPiArICAgICAgIGVsc2UgaWYgKGNsb2NrIDwgMjAwMDAw KQo+ICsgICAgICAgICAgICAgICByZXR1cm4gMjsKPiArICAgICAgIGVsc2UKPiArICAgICAgICAg ICAgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gIHN0YXRpYyBjb25zdCB1MzIgbXQ4MTczX291dHB1 dF9mbXRzW10gPSB7Cj4gICAgICAgICBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDI0LAo+ICB9Owo+ IEBAIC04MTAsNiArODkxLDEyIEBAIHN0YXRpYyBjb25zdCB1MzIgbXQ4MTgzX291dHB1dF9mbXRz W10gPSB7Cj4gICAgICAgICBNRURJQV9CVVNfRk1UX1JHQjg4OF8yWDEyX0JFLAo+ICB9Owo+Cj4g K3N0YXRpYyBjb25zdCB1MzIgbXQ4MTk1X291dHB1dF9mbXRzW10gPSB7Cj4gKyAgICAgICBNRURJ QV9CVVNfRk1UX1JHQjg4OF8xWDI0LAo+ICsgICAgICAgTUVESUFfQlVTX0ZNVF9ZVVY4XzFYMjQs Cj4gKyAgICAgICBNRURJQV9CVVNfRk1UX1lVWVY4XzFYMTYsCj4gK307Cj4gKwo+ICBzdGF0aWMg Y29uc3Qgc3RydWN0IG10a19kcGlfeWNfbGltaXQgbXRrX2RwaV9saW1pdCA9IHsKPiAgICAgICAg IC5jX2JvdHRvbSA9IDB4MDAxMCwKPiAgICAgICAgIC5jX3RvcCA9IDB4MEZFMCwKPiBAQCAtODE3 LDYgKzkwNCwxMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kcGlfeWNfbGltaXQgbXRrX2Rw aV9saW1pdCA9IHsKPiAgICAgICAgIC55X3RvcCA9IDB4MEZFMCwKPiAgfTsKPgo+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IG10a19kcGlfeWNfbGltaXQgbXRrX2RwaW50Zl9saW1pdCA9IHsKPiArICAg ICAgIC5jX2JvdHRvbSA9IDB4MDAwMCwKPiArICAgICAgIC5jX3RvcCA9IDB4RkZGLAo+ICsgICAg ICAgLnlfYm90dG9tID0gMHgwMDAwLAo+ICsgICAgICAgLnlfdG9wID0gMHhGRkYsCj4gK307Cj4g Kwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kcGlfY29uZiBtdDgxNzNfY29uZiA9IHsKPiAg ICAgICAgIC5jYWxfZmFjdG9yID0gbXQ4MTczX2NhbGN1bGF0ZV9mYWN0b3IsCj4gICAgICAgICAu cmVnX2hfZnJlX2NvbiA9IDB4ZTAsCj4gQEAgLTg4Miw2ICs5NzYsMTkgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBtdGtfZHBpX2NvbmYgbXQ4MTkyX2NvbmYgPSB7Cj4gICAgICAgICAubGltaXQgPSAm bXRrX2RwaV9saW1pdCwKPiAgfTsKPgo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kcGlfY29u ZiBtdDgxOTVfZHBpbnRmX2NvbmYgPSB7Cj4gKyAgICAgICAuY2FsX2ZhY3RvciA9IG10ODE5NV9k cGludGZfY2FsY3VsYXRlX2ZhY3RvciwKPiArICAgICAgIC5vdXRwdXRfZm10cyA9IG10ODE5NV9v dXRwdXRfZm10cywKPiArICAgICAgIC5udW1fb3V0cHV0X2ZtdHMgPSBBUlJBWV9TSVpFKG10ODE5 NV9vdXRwdXRfZm10cyksCj4gKyAgICAgICAuaXNfZHBpbnRmID0gdHJ1ZSwKPiArICAgICAgIC5k aW1lbnNpb25fbWFzayA9IERQSU5URl9IUFdfTUFTSywKPiArICAgICAgIC5odnNpemVfbWFzayA9 IERQSU5URl9IU0laRV9NQVNLLAo+ICsgICAgICAgLmNoYW5uZWxfc3dhcF9zaGlmdCA9IERQSU5U Rl9DSF9TV0FQLAo+ICsgICAgICAgLnl1djQyMl9lbl9iaXQgPSBEUElOVEZfWVVWNDIyX0VOLAo+ ICsgICAgICAgLmNzY19lbmFibGVfYml0ID0gRFBJTlRGX0NTQ19FTkFCTEUsCj4gKyAgICAgICAu bGltaXQgPSAmbXRrX2RwaW50Zl9saW1pdCwKPiArfTsKPiArCj4gIHN0YXRpYyBpbnQgbXRrX2Rw aV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICB7Cj4gICAgICAgICBzdHJ1 Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+IEBAIC05MjksNyArMTAzNiwxOCBAQCBzdGF0 aWMgaW50IG10a19kcGlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgICAg ICAgIGlmIChJU19FUlIoZHBpLT5lbmdpbmVfY2xrKSkgewo+ICAgICAgICAgICAgICAgICByZXQg PSBQVFJfRVJSKGRwaS0+ZW5naW5lX2Nsayk7Cj4gICAgICAgICAgICAgICAgIGlmIChyZXQgIT0g LUVQUk9CRV9ERUZFUikKPiAtICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZh aWxlZCB0byBnZXQgZW5naW5lIGNsb2NrOiAlZFxuIiwgcmV0KTsKPiArICAgICAgICAgICAgICAg ICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBnZXQgZW5naW5lIGNsb2NrOiAlZFxuIiwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCk7CgpXaHkgdHdvIGxpbmU/Cgo+ ICsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiArICAgICAgIH0KPiArCj4gKyAgICAg ICBkcGktPmRwaV9ja19jZyA9IGRldm1fY2xrX2dldF9vcHRpb25hbChkZXYsICJja19jZyIpOwoK Tm90IGRlZmluZWQgaW4gYmluZGluZyBkb2N1bWVudC4KCj4gKyAgICAgICBpZiAoSVNfRVJSKGRw aS0+ZHBpX2NrX2NnKSkgewo+ICsgICAgICAgICAgICAgICByZXQgPSBQVFJfRVJSKGRwaS0+ZHBp X2NrX2NnKTsKPiArICAgICAgICAgICAgICAgaWYgKHJldCAhPSAtRVBST0JFX0RFRkVSKQo+ICsg ICAgICAgICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGdldCBkcGkgY2sg Y2cgY2xvY2s6ICVkXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0KTsK Pgo+ICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICAgICAgICAgfQo+IEBAIC05NTIsNiAr MTA3MCwxMSBAQCBzdGF0aWMgaW50IG10a19kcGlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiAgICAgICAgIH0KPgo+ICsg ICAgICAgZHBpLT5wY2xrX3NyY1sxXSA9IGRldm1fY2xrX2dldChkZXYsICJUVkRQTExfRDIiKTsK PiArICAgICAgIGRwaS0+cGNsa19zcmNbMl0gPSBkZXZtX2Nsa19nZXQoZGV2LCAiVFZEUExMX0Q0 Iik7Cj4gKyAgICAgICBkcGktPnBjbGtfc3JjWzNdID0gZGV2bV9jbGtfZ2V0KGRldiwgIlRWRFBM TF9EOCIpOwo+ICsgICAgICAgZHBpLT5wY2xrX3NyY1s0XSA9IGRldm1fY2xrX2dldChkZXYsICJU VkRQTExfRDE2Iik7CgpOb3QgZGVmaW5lZCBpbiBiaW5kaW5nIGRvY3VtZW50LgoKPiArCj4gICAg ICAgICBkcGktPmlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7Cj4gICAgICAgICBpZiAo ZHBpLT5pcnEgPD0gMCkKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gQEAgLTEw MDQsNiArMTEyNyw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG10a19kcGlf b2ZfaWRzW10gPSB7Cj4gICAgICAgICB7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1k cGkiLAo+ICAgICAgICAgICAuZGF0YSA9ICZtdDgxOTJfY29uZiwKPiAgICAgICAgIH0sCj4gKyAg ICAgICB7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5NS1kcGludGYiLAo+ICsgICAgICAg ICAuZGF0YSA9ICZtdDgxOTVfZHBpbnRmX2NvbmYsCj4gKyAgICAgICB9LAo+ICAgICAgICAgeyB9 LAo+ICB9Owo+ICBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtdGtfZHBpX29mX2lkcyk7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpX3JlZ3MuaCBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpX3JlZ3MuaAo+IGluZGV4IDNhMDJmYWJlMTY2Mjcu LjkxYjMyZGZmZmNlZDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcGlfcmVncy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGlfcmVn cy5oCj4gQEAgLTQwLDEwICs0MCwxNSBAQAo+ICAjZGVmaW5lIEZBS0VfREVfTEVWRU4gICAgICAg ICAgICAgICAgICBCSVQoMjEpCj4gICNkZWZpbmUgRkFLRV9ERV9ST0REICAgICAgICAgICAgICAg ICAgIEJJVCgyMikKPiAgI2RlZmluZSBGQUtFX0RFX1JFVkVOICAgICAgICAgICAgICAgICAgQklU KDIzKQo+ICsjZGVmaW5lIERQSU5URl9ZVVY0MjJfRU4gICAgICAgICAgICAgICBCSVQoMjQpCj4g KyNkZWZpbmUgRFBJTlRGX0NTQ19FTkFCTEUgICAgICAgICAgICAgIEJJVCgyNikKPiArI2RlZmlu ZSBEUElOVEZfSU5QVVRfMlBfRU4gICAgICAgICAgICAgQklUKDI5KQo+Cj4gICNkZWZpbmUgRFBJ X09VVFBVVF9TRVRUSU5HICAgICAweDE0Cj4gICNkZWZpbmUgQ0hfU1dBUCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMAo+ICsjZGVmaW5lIERQSU5URl9DSF9TV0FQICAgICAgICAgICAg ICAgICBCSVQoMSkKPiAgI2RlZmluZSBDSF9TV0FQX01BU0sgICAgICAgICAgICAgICAgICAgKDB4 NyA8PCAwKQo+ICsjZGVmaW5lIERQSU5URl9DSF9TV0FQX01BU0sgICAgICAgICAgICAoMHg3IDw8 IDEpCj4gICNkZWZpbmUgU1dBUF9SR0IgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKPiAgI2Rl ZmluZSBTV0FQX0dCUiAgICAgICAgICAgICAgICAgICAgICAgMHgwMQo+ICAjZGVmaW5lIFNXQVBf QlJHICAgICAgICAgICAgICAgICAgICAgICAweDAyCj4gQEAgLTgwLDggKzg1LDEwIEBACj4gICNk ZWZpbmUgRFBJX1NJWkUgICAgICAgICAgICAgICAweDE4Cj4gICNkZWZpbmUgSFNJWkUgICAgICAg ICAgICAgICAgICAgICAgICAgIDAKPiAgI2RlZmluZSBIU0laRV9NQVNLICAgICAgICAgICAgICAg ICAgICAgKDB4MUZGRiA8PCAwKQo+ICsjZGVmaW5lIERQSU5URl9IU0laRV9NQVNLICAgICAgICAg ICAgICAoMHhGRkZGIDw8IDApCj4gICNkZWZpbmUgVlNJWkUgICAgICAgICAgICAgICAgICAgICAg ICAgIDE2Cj4gICNkZWZpbmUgVlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDFGRkYg PDwgMTYpCj4gKyNkZWZpbmUgRFBJTlRGX1ZTSVpFX01BU0sgICAgICAgICAgICAgICgweEZGRkYg PDwgMTYpCj4KPiAgI2RlZmluZSBEUElfRERSX1NFVFRJTkcgICAgICAgICAgICAgICAgMHgxQwo+ ICAjZGVmaW5lIEREUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMCkKPiBAQCAtOTMs MjQgKzEwMCwzMCBAQAo+ICAjZGVmaW5lIERQSV9UR0VOX0hXSURUSCAgICAgICAgICAgICAgICAw eDIwCj4gICNkZWZpbmUgSFBXICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKPiAgI2RlZmlu ZSBIUFdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGIDw8IDApCj4gKyNkZWZpbmUg RFBJTlRGX0hQV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRiA8PCAwKQo+Cj4g ICNkZWZpbmUgRFBJX1RHRU5fSFBPUkNIICAgICAgICAgICAgICAgIDB4MjQKPiAgI2RlZmluZSBI QlAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAo+ICAjZGVmaW5lIEhCUF9NQVNLICAgICAg ICAgICAgICAgICAgICAgICAoMHhGRkYgPDwgMCkKPiArI2RlZmluZSBEUElOVEZfSEJQX01BU0sg ICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGIDw8IDApCj4gICNkZWZpbmUgSEZQICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDE2Cj4gICNkZWZpbmUgSEZQX01BU0sgICAgICAgICAgICAg ICAgICAgICAgICgweEZGRiA8PCAxNikKPiArI2RlZmluZSBEUElOVEZfSEZQX01BU0sgICAgICAg ICAgICAgICAgICAgICAgICAoMHhGRkZGIDw8IDE2KQo+Cj4gICNkZWZpbmUgRFBJX1RHRU5fVldJ RFRIICAgICAgICAgICAgICAgIDB4MjgKPiAgI2RlZmluZSBEUElfVEdFTl9WUE9SQ0ggICAgICAg ICAgICAgICAgMHgyQwo+Cj4gICNkZWZpbmUgVlNZTkNfV0lEVEhfU0hJRlQgICAgICAgICAgICAg IDAKPiAgI2RlZmluZSBWU1lOQ19XSURUSF9NQVNLICAgICAgICAgICAgICAgKDB4RkZGIDw8IDAp Cj4gKyNkZWZpbmUgRFBJTlRGX1ZTWU5DX1dJRFRIX01BU0sgICAgICAgICAgICAgICAgKDB4RkZG RiA8PCAwKQo+ICAjZGVmaW5lIFZTWU5DX0hBTEZfTElORV9TSElGVCAgICAgICAgICAxNgo+ICAj ZGVmaW5lIFZTWU5DX0hBTEZfTElORV9NQVNLICAgICAgICAgICBCSVQoMTYpCj4gICNkZWZpbmUg VlNZTkNfQkFDS19QT1JDSF9TSElGVCAgICAgICAgIDAKPiAgI2RlZmluZSBWU1lOQ19CQUNLX1BP UkNIX01BU0sgICAgICAgICAgKDB4RkZGIDw8IDApCj4gKyNkZWZpbmUgRFBJTlRGX1ZTWU5DX0JB Q0tfUE9SQ0hfTUFTSyAgICgweEZGRkYgPDwgMCkKPiAgI2RlZmluZSBWU1lOQ19GUk9OVF9QT1JD SF9TSElGVCAgICAgICAgICAgICAgICAxNgo+ICAjZGVmaW5lIFZTWU5DX0ZST05UX1BPUkNIX01B U0sgICAgICAgICAoMHhGRkYgPDwgMTYpCj4gKyNkZWZpbmUgRFBJTlRGX1ZTWU5DX0ZST05UX1BP UkNIX01BU0sgICgweEZGRkYgPDwgMTYpCj4KPiAgI2RlZmluZSBEUElfQkdfSENOVEwgICAgICAg ICAgIDB4MzAKPiAgI2RlZmluZSBCR19SSUdIVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZG RiA8PCAwKQo+IEBAIC0yMTcsNCArMjMwLDI5IEBACj4KPiAgI2RlZmluZSBFREdFX1NFTF9FTiAg ICAgICAgICAgICAgICAgICAgQklUKDUpCj4gICNkZWZpbmUgSF9GUkVfMk4gICAgICAgICAgICAg ICAgICAgICAgIEJJVCgyNSkKPiArCj4gKyNkZWZpbmUgRFBJX01BVFJJWF9TRVQgMHhCNAo+ICsj ZGVmaW5lIElOVF9NQVRSSVhfU0VMICAgICAgICAgICAgICAgICBCSVQoMCkKPiArI2RlZmluZSBJ TlRfTUFUUklYX1NFTF9NQVNLICAgICAgICAgICAgKDB4MUYgPDwgMCkKPiArI2RlZmluZSBSR0Jf VE9fSlBFRyAgICAgICAgICAgICAgICAgICAgMHgwMAo+ICsjZGVmaW5lIFJHQl9UT19GVUxMNzA5 ICAgICAgICAgICAgICAgICAweDAxCj4gKyNkZWZpbmUgUkdCX1RPX0JUNjAxICAgICAgICAgICAg ICAgICAgIDB4MDIKPiArI2RlZmluZSBSR0JfVE9fQlQ3MDkgICAgICAgICAgICAgICAgICAgMHgw Mwo+ICsjZGVmaW5lIEpQRUdfVE9fUkdCICAgICAgICAgICAgICAgICAgICAweDA0Cj4gKyNkZWZp bmUgRlVMTDcwOV9UT19SR0IgICAgICAgICAgICAgICAgIDB4MDUKPiArI2RlZmluZSBCVDYwMV9U T19SR0IgICAgICAgICAgICAgICAgICAgMHgwNgo+ICsjZGVmaW5lIEJUNzA5X1RPX1JHQiAgICAg ICAgICAgICAgICAgICAweDA3Cj4gKyNkZWZpbmUgSlBFR19UT19CVDYwMSAgICAgICAgICAgICAg ICAgIDB4MDgKPiArI2RlZmluZSBKUEVHX1RPX0JUNzA5ICAgICAgICAgICAgICAgICAgMHgwOQo+ ICsjZGVmaW5lIEJUNjAxX1RPX0pQRUcgICAgICAgICAgICAgICAgICAweEEKPiArI2RlZmluZSBC VDcwOV9UT19KUEVHICAgICAgICAgICAgICAgICAgMHhCCj4gKyNkZWZpbmUgQlQ3MDlfVE9fQlQ2 MDEgICAgICAgICAgICAgICAgIDB4Qwo+ICsjZGVmaW5lIEJUNjAxX1RPX0JUNzA5ICAgICAgICAg ICAgICAgICAweEQKPiArI2RlZmluZSBKUEVHX1RPX0NFUkdCICAgICAgICAgICAgICAgICAgMHgx NAo+ICsjZGVmaW5lIEZVTEw3MDlfVE9fQ0VSR0IgICAgICAgICAgICAgICAweDE1Cj4gKyNkZWZp bmUgQlQ2MDFfVE9fQ0VSR0IgICAgICAgICAgICAgICAgIDB4MTYKPiArI2RlZmluZSBCVDcwOV9U T19DRVJHQiAgICAgICAgICAgICAgICAgMHgxNwo+ICsjZGVmaW5lIFJHQl9UT19DRVJHQiAgICAg ICAgICAgICAgICAgICAweDFDCj4gKyNkZWZpbmUgTUFUUklYX0JJVCAgICAgICAgICAgICAgICAg ICAgIEJJVCg4KQo+ICsjZGVmaW5lIEVYVF9NQVRSSVhfRU4gICAgICAgICAgICAgICAgICBCSVQo MTIpCj4gICNlbmRpZiAvKiBfX01US19EUElfUkVHU19IICovCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMgYi9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCj4gaW5kZXggYjRiNjgyYmMxOTkxMy4uZThiZDZm ZDRhNjNkOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k ZHBfY29tcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2Nv bXAuYwo+IEBAIC0zNTEsNiArMzUxLDExIEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbXRr X2RkcF9jb21wX3N0ZW1bTVRLX0REUF9DT01QX1RZUEVfTUFYXSA9IHsKPiAgICAgICAgIFtNVEtf RElTUF9XRE1BXSA9ICJ3ZG1hIiwKPiAgICAgICAgIFtNVEtfRFBJXSA9ICJkcGkiLAo+ICAgICAg ICAgW01US19EU0ldID0gImRzaSIsCj4gKyAgICAgICBbTVRLX0RQX0lOVEZdID0gImRwLWludGYi LAo+ICsgICAgICAgW01US19ESVNQX1BXTV0gPSAicHdtIiwKPiArICAgICAgIFtNVEtfRElTUF9N VVRFWF0gPSAibXV0ZXgiLAo+ICsgICAgICAgW01US19ESVNQX09EXSA9ICJvZCIsCj4gKyAgICAg ICBbTVRLX0RJU1BfQkxTXSA9ICJibHMiLAoKUmVtb3ZlIG1vZGlmaWNhdGlvbiB3aGljaCBpcyBu b3QgcmVsYXRlZCB0byBkcGludGYuCgoKPiAgfTsKPgo+ICBzdHJ1Y3QgbXRrX2RkcF9jb21wX21h dGNoIHsKPiBAQCAtMzY5LDYgKzM3NCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9j b21wX21hdGNoIG10a19kZHBfbWF0Y2hlc1tERFBfQ09NUE9ORU5UX0lEX01BWF0gPSB7Cj4gICAg ICAgICBbRERQX0NPTVBPTkVOVF9ESVRIRVJdICAgICAgICAgID0geyBNVEtfRElTUF9ESVRIRVIs ICAgIDAsICZkZHBfZGl0aGVyIH0sCj4gICAgICAgICBbRERQX0NPTVBPTkVOVF9EUEkwXSAgICAg ICAgICAgID0geyBNVEtfRFBJLCAgICAgICAgICAgIDAsICZkZHBfZHBpIH0sCj4gICAgICAgICBb RERQX0NPTVBPTkVOVF9EUEkxXSAgICAgICAgICAgID0geyBNVEtfRFBJLCAgICAgICAgICAgIDEs ICZkZHBfZHBpIH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9EUF9JTlRGMF0gICAgICAgID0g eyBNVEtfRFBfSU5URiwgICAgICAgIDAsICZkZHBfZHBpIH0sCj4gKyAgICAgICBbRERQX0NPTVBP TkVOVF9EUF9JTlRGMV0gICAgICAgID0geyBNVEtfRFBfSU5URiwgICAgICAgIDEsICZkZHBfZHBp IH0sCj4gICAgICAgICBbRERQX0NPTVBPTkVOVF9EU0kwXSAgICAgICAgICAgID0geyBNVEtfRFNJ LCAgICAgICAgICAgIDAsICZkZHBfZHNpIH0sCj4gICAgICAgICBbRERQX0NPTVBPTkVOVF9EU0kx XSAgICAgICAgICAgID0geyBNVEtfRFNJLCAgICAgICAgICAgIDEsICZkZHBfZHNpIH0sCj4gICAg ICAgICBbRERQX0NPTVBPTkVOVF9EU0kyXSAgICAgICAgICAgID0geyBNVEtfRFNJLCAgICAgICAg ICAgIDIsICZkZHBfZHNpIH0sCj4gQEAgLTUxMyw2ICs1MjAsNyBAQCBpbnQgbXRrX2RkcF9jb21w X2luaXQoc3RydWN0IGRldmljZV9ub2RlICpub2RlLCBzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21w LAo+ICAgICAgICAgICAgIHR5cGUgPT0gTVRLX0RJU1BfUFdNIHx8Cj4gICAgICAgICAgICAgdHlw ZSA9PSBNVEtfRElTUF9SRE1BIHx8Cj4gICAgICAgICAgICAgdHlwZSA9PSBNVEtfRFBJIHx8Cj4g KyAgICAgICAgICAgdHlwZSA9PSBNVEtfRFBfSU5URiB8fAo+ICAgICAgICAgICAgIHR5cGUgPT0g TVRLX0RTSSkKPiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmgKPiBpbmRleCA0YzZhOTg2NjIzMDUxLi5kZWRh NzBkZjFkNmQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2RkcF9jb21wLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBf Y29tcC5oCj4gQEAgLTM0LDYgKzM0LDcgQEAgZW51bSBtdGtfZGRwX2NvbXBfdHlwZSB7Cj4gICAg ICAgICBNVEtfRElTUF9VRk9FLAo+ICAgICAgICAgTVRLX0RJU1BfV0RNQSwKPiAgICAgICAgIE1U S19EUEksCj4gKyAgICAgICBNVEtfRFBfSU5URiwKPiAgICAgICAgIE1US19EU0ksCj4gICAgICAg ICBNVEtfRERQX0NPTVBfVFlQRV9NQVgsCj4gIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMKPiBpbmRleCA1NmZmOGM1N2VmOGZkLi5lMDBhYjY0MTBkYjc0IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMKPiBAQCAtNTExLDYgKzUxMSw4IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG10a19kZHBfY29tcF9kdF9pZHNbXSA9 IHsKPiAgICAgICAgICAgLmRhdGEgPSAodm9pZCAqKU1US19EUEkgfSwKPiAgICAgICAgIHsgLmNv bXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLWRwaSIsCj4gICAgICAgICAgIC5kYXRhID0gKHZv aWQgKilNVEtfRFBJIH0sCj4gKyAgICAgICB7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5 NS1kcGludGYiLAo+ICsgICAgICAgICAuZGF0YSA9ICh2b2lkICopTVRLX0RQX0lOVEYgfSwKPiAg ICAgICAgIHsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWRzaSIsCj4gICAgICAgICAg IC5kYXRhID0gKHZvaWQgKilNVEtfRFNJIH0sCj4gICAgICAgICB7IC5jb21wYXRpYmxlID0gIm1l ZGlhdGVrLG10ODE3My1kc2kiLAo+IEBAIC02MTEsNyArNjEzLDggQEAgc3RhdGljIGludCBtdGtf ZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gICAgICAgICAgICAgICAg ICAgICBjb21wX3R5cGUgPT0gTVRLX0RJU1BfT1ZMXzJMIHx8Cj4gICAgICAgICAgICAgICAgICAg ICBjb21wX3R5cGUgPT0gTVRLX0RJU1BfUkRNQSB8fAo+ICAgICAgICAgICAgICAgICAgICAgY29t cF90eXBlID09IE1US19EUEkgfHwKPiAtICAgICAgICAgICAgICAgICAgIGNvbXBfdHlwZSA9PSBN VEtfRFNJKSB7Cj4gKyAgICAgICAgICAgICAgICAgICBjb21wX3R5cGUgPT0gTVRLX0RQSSB8fAo+ ICsgICAgICAgICAgICAgICAgICAgY29tcF90eXBlID09IE1US19EUF9JTlRGKSB7Cj4gICAgICAg ICAgICAgICAgICAgICAgICAgZGV2X2luZm8oZGV2LCAiQWRkaW5nIGNvbXBvbmVudCBtYXRjaCBm b3IgJXBPRlxuIiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlKTsKPiAg ICAgICAgICAgICAgICAgICAgICAgICBkcm1fb2ZfY29tcG9uZW50X21hdGNoX2FkZChkZXYsICZt YXRjaCwgY29tcGFyZV9vZiwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zb2MvbWVkaWF0 ZWsvbXRrLW1tc3lzLmggYi9pbmNsdWRlL2xpbnV4L3NvYy9tZWRpYXRlay9tdGstbW1zeXMuaAo+ IGluZGV4IDRiYmEyNzVlMjM1YWMuLjU2ZWQyZmE1ZjU5ZTggMTAwNjQ0Cj4gLS0tIGEvaW5jbHVk ZS9saW51eC9zb2MvbWVkaWF0ZWsvbXRrLW1tc3lzLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L3Nv Yy9tZWRpYXRlay9tdGstbW1zeXMuaAo+IEBAIC0xOSw2ICsxOSw4IEBAIGVudW0gbXRrX2RkcF9j b21wX2lkIHsKPiAgICAgICAgIEREUF9DT01QT05FTlRfRElUSEVSLAo+ICAgICAgICAgRERQX0NP TVBPTkVOVF9EUEkwLAo+ICAgICAgICAgRERQX0NPTVBPTkVOVF9EUEkxLAo+ICsgICAgICAgRERQ X0NPTVBPTkVOVF9EUF9JTlRGMCwKPiArICAgICAgIEREUF9DT01QT05FTlRfRFBfSU5URjEsCj4g ICAgICAgICBERFBfQ09NUE9ORU5UX0RTSTAsCj4gICAgICAgICBERFBfQ09NUE9ORU5UX0RTSTEs Cj4gICAgICAgICBERFBfQ09NUE9ORU5UX0RTSTIsCj4gLS0KPiAyLjM0LjEKPgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=