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=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, 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 912AECA9ED4 for ; Mon, 4 Nov 2019 08:24:50 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 5D83B2190F for ; Mon, 4 Nov 2019 08:24:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="IkexnrtA"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=baylibre-com.20150623.gappssmtp.com header.i=@baylibre-com.20150623.gappssmtp.com header.b="dCPds5HB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D83B2190F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date: In-reply-to:Subject:To:From:References:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=4FMlnBnAapx7//Vnqn1MGlTpzOBWs73gdTGJ7D42Mqo=; b=IkexnrtAfDs5KT/LxPfNkBXAN6 TUhKg0VW5Lwm5CHv4UAIYv/YtFQxuDeFfRBCHmFOPxuddTSRdmiATUOUj1mJe9PGxhm3U9xSZfvgM n0U5Vq3b7pIAxdqMpIbEAU118Vx35MluHKfvmrowetkJ8hOWUIVDn5Vg8KoouP6EMuvPPgIWKCFkf OJwtbX4NemjjJFNnswafcqLzrDg/Apn7fqlMiA/oglKOEt7FTnNAvxDIPyXPg5zsQpMiyOmQn82/L FdkpW5q9kcBWG54j7BXQ7OjgqUuqWliNMhdwrqX3KWCrjB5mn5tVX7psraXuOU76h92Ez0986hwtR GsROfEoA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iRXfM-0000iW-M5; Mon, 04 Nov 2019 08:24:48 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iRXfE-0000gQ-NC for linux-arm-kernel@lists.infradead.org; Mon, 04 Nov 2019 08:24:45 +0000 Received: by mail-wr1-x441.google.com with SMTP id q13so15909835wrs.12 for ; Mon, 04 Nov 2019 00:24:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=HbCKMBfKUr8ei9f80RshE008kEv1rpM+1JLqgt8YSf0=; b=dCPds5HB+pwaHxspm3lwvwRTGUvMTV2LRV8fdw8n9+M3eDYr/kb4WY0ssDX19CbaQZ aFKXxGJVIYqHNGZOdzC2JXBFgN6PI296B0s7J8pm5W+JfSOTwg8ntyHmeUwZnj3Qe2Sd ZhF251l+152eAwojPgjY0E2GgfnmCaZ/yOtdzwJhMflqHtGJbj7+5BDqhzWh2hMV2Rl2 uPQJl7beR85srn+FIdWvY9DguzLjA2RqjhBwbjCFh5kVGTTxfKTxgKsrLDKy1z7qI6vm 4vWmqYjOWwZ94dJUPlpqimHrO8FvgwX1psbOC2Xda6OhVDrErWw6O4NYTpUqgTHqR8NP SxqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=HbCKMBfKUr8ei9f80RshE008kEv1rpM+1JLqgt8YSf0=; b=iFvykML9u1rMhAHaIV5opUtG9IhiaEwZbKXm8bCIHtHejyTQfJrbMUBl1oKpadeu2i 6nHMCLL34R6/v2MgsnlOQ0duW5MhkvcALSY/IZO22AMjzF0e5DCaVRyfCKlEFpUkFAOS tXpt7R8AnzjGS0RVmysSLbsGKrydyUikcWdglvmldwyUs3rn4k0V3SE+NNm2XIAMsdnC RhRXOjxUcoMjLVagtqTbylFPd1mzCq1E99Uk6+JzzQhYEtY/Zf2Ib/mV6bA+XnqO0pE8 zGyQ7KF6Jnoi3LDXYhxYBmG1IptlGwstAhwPeAnCSP3sca0rbrNaM6Cgpv/3IMBCAeKI Qnrw== X-Gm-Message-State: APjAAAVO3q0YnsNazcwekaIp9vyL+Gd9YX8tHf99k+3NnGVutG+qCYSn 8pugUwdSBO+ekwoqq9JQLyJGZQ== X-Google-Smtp-Source: APXvYqyaZdMm10JTLwp6Z7FxbUbKxgpuvceoigXFMxHGSlV0Uyc7AXOzHDCyo6MLRVa3WuuPUmZ0pg== X-Received: by 2002:adf:e78d:: with SMTP id n13mr4902576wrm.59.1572855878844; Mon, 04 Nov 2019 00:24:38 -0800 (PST) Received: from localhost (laubervilliers-658-1-213-31.w90-63.abo.wanadoo.fr. [90.63.244.31]) by smtp.gmail.com with ESMTPSA id t5sm5059946wro.76.2019.11.04.00.24.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Nov 2019 00:24:38 -0800 (PST) References: <1571382865-41978-1-git-send-email-jian.hu@amlogic.com> <1571382865-41978-4-git-send-email-jian.hu@amlogic.com> <1jsgnmba1a.fsf@starbuckisacylon.baylibre.com> <49b33e94-910b-3fd9-4da1-050742d07e93@amlogic.com> User-agent: mu4e 1.3.3; emacs 26.2 From: Jerome Brunet To: Jian Hu , Neil Armstrong Subject: Re: [PATCH v2 3/3] clk: meson: a1: add support for Amlogic A1 clock driver In-reply-to: <49b33e94-910b-3fd9-4da1-050742d07e93@amlogic.com> Date: Mon, 04 Nov 2019 09:24:37 +0100 Message-ID: <1jblts3v7e.fsf@starbuckisacylon.baylibre.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191104_002440_965002_B12B6905 X-CRM114-Status: GOOD ( 30.56 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rob Herring , Victor Wan , Jianxin Pan , Martin Blumenstingl , Kevin Hilman , Michael Turquette , linux-kernel@vger.kernel.org, Stephen Boyd , Qiufang Dai , Chandle Zou , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIEZyaSAyNSBPY3QgMjAxOSBhdCAxMzozMiwgSmlhbiBIdSA8amlhbi5odUBhbWxvZ2ljLmNv bT4gd3JvdGU6Cgo+IEhpLCBKZXJvbWUKPgo+IFRoYW5rcyBmb3IgeW91ciByZXZpZXcKPgo+IE9u IDIwMTkvMTAvMjEgMTk6NDEsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4+Cj4+IE9uIEZyaSAxOCBP Y3QgMjAxOSBhdCAwOToxNCwgSmlhbiBIdSA8amlhbi5odUBhbWxvZ2ljLmNvbT4gd3JvdGU6Cj4+ Cj4+PiBUaGUgQW1sb2dpYyBBMSBjbG9jayBpbmNsdWRlcyB0aHJlZSBkcml2ZXJzOgo+Pj4gcGVy aXBoZXJhbCBjbG9ja3MsIHBsbCBjbG9ja3MsIENQVSBjbG9ja3MuCj4+PiBzeXMgcGxsIGFuZCBD UFUgY2xvY2tzIHdpbGwgYmUgc2VudCBpbiBuZXh0IHBhdGNoLgo+Pj4KPj4+IFVubGlrZSB0aGUg cHJldmlvdXMgc2VyaWVzLCB0aGVyZSBpcyBubyBFRS9BTyBkb21haW4KPj4+IGluIEExIENMSyBj b250cm9sbGVycy4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBKaWFuIEh1IDxqaWFuLmh1QGFtbG9n aWMuY29tPgo+Pj4gLS0tCj4+PiAgIGRyaXZlcnMvY2xrL21lc29uL0tjb25maWcgIHwgICAxMCAr Cj4+PiAgIGRyaXZlcnMvY2xrL21lc29uL01ha2VmaWxlIHwgICAgMSArCj4+PiAgIGRyaXZlcnMv Y2xrL21lc29uL2ExLXBsbC5jIHwgIDM0NSArKysrKysrCj4+PiAgIGRyaXZlcnMvY2xrL21lc29u L2ExLXBsbC5oIHwgICA1NiArKwo+Pj4gICBkcml2ZXJzL2Nsay9tZXNvbi9hMS5jICAgICB8IDIy NjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+ICAgZHJp dmVycy9jbGsvbWVzb24vYTEuaCAgICAgfCAgMTIwICsrKwo+Pj4gICA2IGZpbGVzIGNoYW5nZWQs IDI3OTYgaW5zZXJ0aW9ucygrKQo+Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsv bWVzb24vYTEtcGxsLmMKPj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lc29u L2ExLXBsbC5oCj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZXNvbi9hMS5j Cj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZXNvbi9hMS5oCj4+Cj4+IElu IHRoZSBuZXh0IHZlcnNpb24sIG9uZQo+IE9LLCBJIHdpbGwgc2VuZCBhMSBwZXJpcGhlcmFsIGFu ZCBwbGwgZHJpdmVyIGluIHR3byBwYXRjaC4KPj4KPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jbGsvbWVzb24vS2NvbmZpZyBiL2RyaXZlcnMvY2xrL21lc29uL0tjb25maWcKPj4+IGluZGV4 IGRhYmViNDMuLmMyODA5YjIgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2Nsay9tZXNvbi9LY29u ZmlnCj4+PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9LY29uZmlnCj4+PiBAQCAtOTMsNiArOTMs MTYgQEAgY29uZmlnIENPTU1PTl9DTEtfQVhHX0FVRElPCj4+PiAgIAkgIFN1cHBvcnQgZm9yIHRo ZSBhdWRpbyBjbG9jayBjb250cm9sbGVyIG9uIEFtTG9naWMgQTExM0QgZGV2aWNlcywKPj4+ICAg CSAgYWthIGF4ZywgU2F5IFkgaWYgeW91IHdhbnQgYXVkaW8gc3Vic3lzdGVtIHRvIHdvcmsuCj4+ PiAgICtjb25maWcgQ09NTU9OX0NMS19BMQo+Pj4gKwlib29sCj4+PiArCWRlcGVuZHMgb24gQVJD SF9NRVNPTgo+Pj4gKwlzZWxlY3QgQ09NTU9OX0NMS19NRVNPTl9SRUdNQVAKPj4+ICsJc2VsZWN0 IENPTU1PTl9DTEtfTUVTT05fRFVBTERJVgo+Pj4gKwlzZWxlY3QgQ09NTU9OX0NMS19NRVNPTl9Q TEwKPj4+ICsJaGVscAo+Pj4gKwkgIFN1cHBvcnQgZm9yIHRoZSBjbG9jayBjb250cm9sbGVyIG9u IEFtbG9naWMgQTExM0wgZGV2aWNlLAo+Pj4gKwkgIGFrYSBhMS4gU2F5IFkgaWYgeW91IHdhbnQg cGVyaXBoZXJhbHMgdG8gd29yay4KPj4+ICsKPj4+ICAgY29uZmlnIENPTU1PTl9DTEtfRzEyQQo+ Pj4gICAJYm9vbAo+Pj4gICAJZGVwZW5kcyBvbiBBUkNIX01FU09OCj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9jbGsvbWVzb24vTWFrZWZpbGUgYi9kcml2ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZQo+ Pj4gaW5kZXggMzkzOWYyMS4uMjhjYmFlMSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvY2xrL21l c29uL01ha2VmaWxlCj4+PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZQo+Pj4gQEAg LTE2LDYgKzE2LDcgQEAgb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTUVTT05fVklEX1BMTF9ESVYp ICs9IHZpZC1wbGwtZGl2Lm8KPj4+ICAgICBvYmotJChDT05GSUdfQ09NTU9OX0NMS19BWEcpICs9 IGF4Zy5vIGF4Zy1hb2Nsay5vCj4+PiAgIG9iai0kKENPTkZJR19DT01NT05fQ0xLX0FYR19BVURJ TykgKz0gYXhnLWF1ZGlvLm8KPj4+ICtvYmotJChDT05GSUdfQ09NTU9OX0NMS19BMSkgKz0gYTEt cGxsLm8gYTEubwo+Pgo+PiBTbyBmYXIsIGFsbCB0aGUgY29udHJvbGxlciBoYWQgdGhlcmUgb3du IG9wdGlvbiwgSSBkb24ndCBzZWUgd2h5IGl0Cj4+IHNob3VsZCBiZSBkaWZmZXJlbnQgaGVyZS4K Pj4KPiBPSywgSSB3aWxsIGFkZCB0aGUgb3RoZXIgb3B0aW9uIENPTkZJR19DT01NT05fQ0xLX0Ex X1BMTCBmb3IgcGxsIGRyaXZlcgo+Pj4gICBvYmotJChDT05GSUdfQ09NTU9OX0NMS19HWEJCKSAr PSBneGJiLm8gZ3hiYi1hb2Nsay5vCj4+PiAgIG9iai0kKENPTkZJR19DT01NT05fQ0xLX0cxMkEp ICs9IGcxMmEubyBnMTJhLWFvY2xrLm8KPj4+ICAgb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTUVT T044QikgKz0gbWVzb244Yi5vCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVzb24vYTEt cGxsLmMgYi9kcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwuYwo+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPj4+IGluZGV4IDAwMDAwMDAuLjQ4NmQ5NjQKPj4+IC0tLSAvZGV2L251bGwKPj4+ICsrKyBi L2RyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5jCj4+PiBAQCAtMCwwICsxLDM0NSBAQAo+Pj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlUKQo+Pj4gKy8qCj4+PiAr ICogQ29weXJpZ2h0IChjKSAyMDE5IEFtbG9naWMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K Pj4+ICsgKiBBdXRob3I6IEppYW4gSHUgPGppYW4uaHVAYW1sb2dpYy5jb20+Cj4+PiArICovCj4+ PiArCj4+PiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+Pgo+PiBIdW0gLi4u IGxvb2tzIGxpa2Ugc29tZSB0aGluZ3MgYXJlIG1pc3NpbmcgaGVyZQo+Pgo+PiAjaW5jbHVkZSA8 bGludXgvb2ZfZGV2aWNlLmg+Cj4+ICNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4KPj4K Pj4gPwo+ICMxCj4gVGhlcmUgaXMgPGxpbnV4L2Nsay1wcm92aWRlci5oPiBpbiBtZXNvbi1lZWNs ay5oIGZpbGUsCj4KPiBhbmQgZm9yIEExIGRyaXZlcihhMS5jL2ExLXBsbC5jKSB0aGUgaGVhZCBm aWxlIGlzIG5vdCByZXF1aWVkLgo+Cj4gIzIKPiBGb3IgQTEgZHJpdmVyLCB0aGUgZmlsZSAibGlu dXgvb2ZfZGV2aWNlLmgiIGlzIG5vdCByZXF1aXJlZC4KPiBJdCBpcyByZXF1aXJlZCBieSBtZXNv bi1lZWNsay5jIGluIGZhY3QuCgpZb3UgYXJlIHVzaW5nIHdoYXQgaXMgcHJvdmlkZWQgYnkgdGhl c2UgaGVhZGVycyBkaXJlY3RseSBpbiB0aGlzIGZpbGUKSWYgbWVzb24tZWVjbGsgZXZlciBjaGFu Z2VzLCB5b3VyIGRyaXZlciBicmVha3MKCj4+Cj4+PiArI2luY2x1ZGUgImNsay1wbGwuaCIKPj4+ ICsjaW5jbHVkZSAibWVzb24tZWVjbGsuaCIKPj4+ICsjaW5jbHVkZSAiYTEtcGxsLmgiCj4+Cj4+ IEFscGhhbnVtZXJpYyBvcmRlciBwbGVhc2UKPj4KPiBPSywgSSB3aWxsIGNoYW5nZSBpdCBpbiB0 aGUgbmV4dCB2ZXJzaW9uLgo+Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx X2ZpeGVkX3BsbF9kY28gPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgbWVzb25fY2xrX3BsbF9k YXRhKXsKPj4+ICsJCS5lbiA9IHsKPj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NU UkwwLAo+Pj4gKwkJCS5zaGlmdCAgID0gMjgsCj4+PiArCQkJLndpZHRoICAgPSAxLAo+Pj4gKwkJ fSwKPj4+ICsJCS5tID0gewo+Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAs Cj4+PiArCQkJLnNoaWZ0ICAgPSAwLAo+Pj4gKwkJCS53aWR0aCAgID0gOCwKPj4+ICsJCX0sCj4+ PiArCQkubiA9IHsKPj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4g KwkJCS5zaGlmdCAgID0gMTAsCj4+PiArCQkJLndpZHRoICAgPSA1LAo+Pj4gKwkJfSwKPj4+ICsJ CS5mcmFjID0gewo+Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDEsCj4+PiAr CQkJLnNoaWZ0ICAgPSAwLAo+Pj4gKwkJCS53aWR0aCAgID0gMTksCj4+PiArCQl9LAo+Pj4gKwkJ LmwgPSB7Cj4+PiArCQkJLnJlZ19vZmYgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+ICsJCQku c2hpZnQgICA9IDMxLAo+Pj4gKwkJCS53aWR0aCAgID0gMSwKPj4+ICsJCX0sCj4+PiArCQkucnN0 ID0gewo+Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+PiArCQkJLnNo aWZ0ICAgPSAyOSwKPj4+ICsJCQkud2lkdGggICA9IDEsCj4+PiArCQl9LAo+Pj4gKwl9LAo+Pj4g KwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5hbWUgPSAiZml4 ZWRfcGxsX2RjbyIsCj4+PiArCQkub3BzID0gJm1lc29uX2Nsa19wbGxfcm9fb3BzLAo+Pj4gKwkJ LnBhcmVudF9kYXRhID0gJihjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKXsKPj4+ICsJCQku ZndfbmFtZSA9ICJ4dGFsX2ZpeHBsbCIsCj4+PiArCQkJLm5hbWUgPSAieHRhbF9maXhwbGwiLAo+ Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsK Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZml4ZWRfcGxsID0gewo+Pj4gKwkuZGF0 YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBBTkFD VFJMX0ZJWFBMTF9DVFJMMCwKPj4+ICsJCS5iaXRfaWR4ID0gMjAsCj4+PiArCX0sCj4+PiArCS5o dy5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4gKwkJLm5hbWUgPSAiZml4ZWRf cGxsIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICsJCS5wYXJlbnRf aHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+PiArCQkJJmExX2ZpeGVkX3BsbF9k Y28uaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4gKwkJLyoKPj4+ICsJ CSAqIFRoaXMgY2xvY2sgaXMgZmNsa19kaXYyLzMvNCdzIHBhcmVudCwKPj4+ICsJCSAqIEhvd2V2 ZXIsIGZjbGtfZGl2Mi8zLzUgZmVlZHMgQVhJL0FQQi9ERFIuCj4+Cj4+IGlzIGl0IGZjbGtfZGl2 Mi8zLzQgb3IgZmNsa19kaXYyLzMvNSA/Cj4+Cj4+PiArCQkgKiBJdCBpcyByZXF1aXJlZCBieSB0 aGUgcGxhdGZvcm0gdG8gb3BlcmF0ZSBjb3JyZWN0bHkuCj4+PiArCQkgKiBVbnRpbCB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMgY2xvY2sgdG8KPj4+ICsJCSAq IGJlIG1hcmtlZCBhcyBjcml0aWNhbDoKPj4+ICsJCSAqIGEpIE1hcmsgdGhlIGNsb2NrIHVzZWQg YnkgYSBmaXJtd2FyZSByZXNvdXJjZSwgaWYgcG9zc2libGUKPj4+ICsJCSAqIGIpIENDRiBoYXMg YSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3VyZSB0aGUKPj4+ICsJCSAq ICAgIGNsb2NrIHN0YXlzIG9uIHVudGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+ PiArCQkgKi8KPj4KPj4gRG9uJ3QgYmxpbmRseSBjb3B5L3Bhc3RlIGNvbW1lbnRzIGZyb20gb3Ro ZXIgZHJpdmVycy4gVGhlcmUgaXMgbm8gZHJpdmVyCj4+IGZvciB0aGUgZGV2aWNlcyB5b3UgYXJl IG1lbnRpb25uaW5nIHNvIHRoZSBlbmQgb2YgdGhlIGNvbW1lbnQgaXMKPj4gY29uZnVzaW5nLiBU aGUgMyBmaXJzdCBsaW5lcyB3ZXJlIGVub3VnaAo+Pgo+IE9LLCBJIHdpbGwgcmVtb3ZlIHRoZSBj b25mdXNpbmcgY29tbWVudHMKPgo+Pj4gKwkJLmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+Pgo+ Pj5Gcm9tIHlvdXIgY29tbWVudCwgSSB1bmRlcnN0YW5kIHRoYXQgc29tZSBjaGlsZCBhcmUgY3Jp dGljYWwsIG5vdCB0aGlzCj4+IHBhcnRpY3VsYXIgKG9yIGF0IGxlYXN0LCBub3QgZGlyZWN0bHkp LiBTbyB0aGlzIGNhbiBiZSByZW1vdmVkIEFGQUlDVAo+Pgo+PiBZb3Ugc2hvdWxkIGV2ZW4gbmVl ZCBDTEtfSUdOT1JFX1VOVVNFRCBmb3IgdGhpcyBvbmUgc2luY2UgdGhlIGNsb2NrIHdpbGwKPj4g YWxyZWFkeSBiZSBlbmFibGVkIGJlZm9yZSB0aGUgbGF0ZV9pbml0KCkga2lja3MgaW4KPj4KPiBP SywgSSB3aWxsIHJlcGxhY2UgaXQgYXMgQ0xLX0lHTk9SRV9VTlVTRUQuCj4+PiArCX0sCj4+PiAr fTsKPj4+ICsKPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHBsbF9tdWx0X3JhbmdlIGExX2hpZmlf cGxsX211bHRfcmFuZ2UgPSB7Cj4+PiArCS5taW4gPSAzMiwKPj4+ICsJLm1heCA9IDY0LAo+Pj4g K307Cj4+PiArCj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdfc2VxdWVuY2UgYTFfaGlmaV9p bml0X3JlZ3NbXSA9IHsKPj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwxLCAuZGVm ID0gMHgwMTgwMDAwMCB9LAo+Pj4gKwl7IC5yZWcgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDIsIC5k ZWYgPSAweDAwMDAxMTAwIH0sCj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMywg LmRlZiA9IDB4MTAwYTExMDAgfSwKPj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkw0 LCAuZGVmID0gMHgwMDMwMjAwMCB9LAo+Pj4gKwl7IC5yZWcgPSBBTkFDVFJMX0hJRklQTExfQ1RS TDAsIC5kZWYgPSAweDAxZjE4NDQwIH0sCj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9D VFJMMCwgLmRlZiA9IDB4MTFmMTg0NDAsIC5kZWxheV91cyA9IDEwIH0sCj4+PiArCXsgLnJlZyA9 IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwgLmRlZiA9IDB4MTVmMTg0NDAsIC5kZWxheV91cyA9IDQw IH0sCj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMiwgLmRlZiA9IDB4MDAwMDEx NDAgfSwKPj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwyLCAuZGVmID0gMHgwMDAw MTEwMCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2hp ZmlfcGxsID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IG1lc29uX2Nsa19wbGxfZGF0YSl7Cj4+ PiArCQkuZW4gPSB7Cj4+PiArCQkJLnJlZ19vZmYgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDAsCj4+ PiArCQkJLnNoaWZ0ICAgPSAyOCwKPj4+ICsJCQkud2lkdGggICA9IDEsCj4+PiArCQl9LAo+Pj4g KwkJLm0gPSB7Cj4+PiArCQkJLnJlZ19vZmYgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDAsCj4+PiAr CQkJLnNoaWZ0ICAgPSAwLAo+Pj4gKwkJCS53aWR0aCAgID0gOCwKPj4+ICsJCX0sCj4+PiArCQku biA9IHsKPj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwKPj4+ICsJCQku c2hpZnQgICA9IDEwLAo+Pj4gKwkJCS53aWR0aCAgID0gNSwKPj4+ICsJCX0sCj4+PiArCQkuZnJh YyA9IHsKPj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMSwKPj4+ICsJCQku c2hpZnQgICA9IDAsCj4+PiArCQkJLndpZHRoICAgPSAxOSwKPj4+ICsJCX0sCj4+PiArCQkubCA9 IHsKPj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9TVFMsCj4+PiArCQkJLnNoaWZ0 ICAgPSAzMSwKPj4+ICsJCQkud2lkdGggICA9IDEsCj4+PiArCQl9LAo+Pj4gKwkJLnJhbmdlID0g JmExX2hpZmlfcGxsX211bHRfcmFuZ2UsCj4+PiArCQkuaW5pdF9yZWdzID0gYTFfaGlmaV9pbml0 X3JlZ3MsCj4+PiArCQkuaW5pdF9jb3VudCA9IEFSUkFZX1NJWkUoYTFfaGlmaV9pbml0X3JlZ3Mp LAo+Pj4gKwkJLnN0cmljdF9zZXF1ZW5jZSA9IHRydWUsCj4+PiArCX0sCj4+PiArCS5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJoaWZpX3BsbCIsCj4+ PiArCQkub3BzID0gJm1lc29uX2Nsa19wbGxfb3BzLAo+Pj4gKwkJLnBhcmVudF9kYXRhID0gJihj b25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKXsKPj4+ICsJCQkuZndfbmFtZSA9ICJ4dGFsX2Zp eHBsbCIsCj4+PiArCQkJLm5hbWUgPSAieHRhbF9maXhwbGwiLAo+Pgo+PiBCb3RoIHNob3VsZCBw cm92aWRlZCB3aGVuIGEgY29udHJvbGxlciB0cmFuc2l0aW9uIGZyb20gdGhlIG9sZCB3YXkgb2YK Pj4gZGVzY3JpYmluZyBwYXJlbnQgdG8gdGhlIG5ldyB3YXkuIFRoaXMgaXMgYSBuZXcgY29udHJv bGxlciBzbyBpdCBkb2VzCj4+IG5vdCBhcHBseS4KPiBJIGRvIG5vdCB1bmRlcnN0YW5kIHdoeSBp dCBkb2VzIG5vdCBhcHBseSwgY291bGQgeW91IGV4cGxhaW4gbW9yZT8KCllvdXIgZHJpdmVyIGlz IG5ldywgaXQgaXMgbm90IHNvbWV0aGluZyBvbGQgdHJhbnNpdGlvbmluZyBmcm9tIGdsb2JhbApu YW1lIHRvIGNsb2NrIGluIERUICEKCj4KPiBUaGUgeHRhbF9maXhwbGwgY2xvY2sgaXMgcmVnaXN0 ZXJlZCBpbiBhbm90aGVyIHBlcmlwaGVyYWwgZHJpdmVyLCBJZiBkbyBub3QKPiBkZXNyaWJlIHRo ZSAibmFtZSIgbWVtYmVyIGluIHBhcmVudF9kYXRhLCAiZndfbmFtZSIgZG9lcyBub3Qgd29yayBi ZWNhdXNlCj4gaXQgaGFzIG5vdCBiZWVuIHJlZ2lzdGVyZWQuIHRoZSBoaWZpX3BsbCBwYXJlbnQg d2lsbCBiZSBudWxsIGluCj4gL3N5cy9rZXJuZWwvZGVidWcvY2xrL2hpZmlfcGxsL2Nsa19wYXJl bnQuCj4KPiBISUZJIFBMTCB3aWxsIGJlIGEgb3JwaGFuIGNsb2NrLCBidXQgaXRzIHBhcmVudCBz aG91bGQgYmUgeHRhbF9maXhwbGwuCgpUaGVyZSB3aWxsIGJlIGFuIG9ycGhhbiB5ZXMsIHRlbXBv cmFyaWx5LCB1bnRpbCBib3RoIGNvbnRyb2xsZXJzIGFyZSB1cC4KT25jZSBib3RoIGNvbnRyb2xs ZXIgYXJlIHVwLCB0aGUgY2xvY2sgd2lsbCBiZSByZXBhcmVudGVkIGlmIG5lY2Vzc2FyeS4KCj4K PiBTbyBib3RoIG9mICJmd19uYW1lIiBvZiAibmFtZSIgc2hvdWxkIGJlIGRlc2NyaWJlZC4KCk5v Cgo+Cj4+Cj4+IFNhbWUgZm9yIHRoZSBvdGhlciBvY2N1cmVuY2VzLgo+Pgo+PiBBbHNvLCBJIHRo aW5rIHlvdSBtZWFudCB4dGFsX2hpZmlwbGwKPiBZZXMsSSB3aWxsIGNvcnJlY3QgaXQuCj4+Cj4+ PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+ Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2ZpeGVkX2ZhY3RvciBhMV9mY2xrX2RpdjJfZGl2ID0gewo+ Pj4gKwkubXVsdCA9IDEsCj4+PiArCS5kaXYgPSAyLAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0 IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXYyX2RpdiIsCj4+PiArCQku b3BzID0gJmNsa19maXhlZF9mYWN0b3Jfb3BzLAo+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qg c3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfZml4ZWRfcGxsLmh3Cj4+PiArCQl9LAo+ Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRp YyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9mY2xrX2RpdjIgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1 Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IEFOQUNUUkxfRklYUExM X0NUUkwwLAo+Pj4gKwkJLmJpdF9pZHggPSAyMSwKPj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5uYW1lID0gImZjbGtfZGl2MiIsCj4+PiAr CQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+PiArCQkucGFyZW50X2h3cyA9IChjb25z dCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9mY2xrX2RpdjJfZGl2Lmh3Cj4+PiAr CQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS8qCj4+PiArCQkgKiBUaGlzIGNs b2NrIGlzIHVzZWQgYnkgRERSIGNsb2NrIGluIEJMMiBmaXJtd2FyZQo+Pj4gKwkJICogYW5kIGlz IHJlcXVpcmVkIGJ5IHRoZSBwbGF0Zm9ybSB0byBvcGVyYXRlIGNvcnJlY3RseS4KPj4+ICsJCSAq IFVudGlsIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGFyZSBtZXQsIHdlIG5lZWQgdGhpcyBjbG9j ayB0bwo+Pj4gKwkJICogYmUgbWFya2VkIGFzIGNyaXRpY2FsOgo+Pj4gKwkJICogYSkgTWFyayB0 aGUgY2xvY2sgdXNlZCBieSBhIGZpcm13YXJlIHJlc291cmNlLCBpZiBwb3NzaWJsZQo+Pj4gKwkJ ICogYikgQ0NGIGhhcyBhIGNsb2NrIGhhbmQtb2ZmIG1lY2hhbmlzbSB0byBtYWtlIHRoZSBzdXJl IHRoZQo+Pj4gKwkJICogICAgY2xvY2sgc3RheXMgb24gdW50aWwgdGhlIHByb3BlciBkcml2ZXIg Y29tZXMgYWxvbmcKPj4+ICsJCSAqLwo+Pj4gKwkJLmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+ Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9y IGExX2ZjbGtfZGl2M19kaXYgPSB7Cj4+PiArCS5tdWx0ID0gMSwKPj4+ICsJLmRpdiA9IDMsCj4+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJm Y2xrX2RpdjNfZGl2IiwKPj4+ICsJCS5vcHMgPSAmY2xrX2ZpeGVkX2ZhY3Rvcl9vcHMsCj4+PiAr CQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9m aXhlZF9wbGwuaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4gKwl9LAo+ Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2ZjbGtfZGl2MyA9 IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+PiArCQku b2Zmc2V0ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+PiArCQkuYml0X2lkeCA9IDIyLAo+Pj4g Kwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5h bWUgPSAiZmNsa19kaXYzIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+PiArCQkJJmEx X2ZjbGtfZGl2M19kaXYuaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4g KwkJLyoKPj4+ICsJCSAqIFRoaXMgY2xvY2sgaXMgdXNlZCBieSBBUEIgYnVzIHdoaWNoIHNldHRl ZCBpbiBSb21jb2RlCj4+PiArCQkgKiBhbmQgaXMgcmVxdWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRv IG9wZXJhdGUgY29ycmVjdGx5Lgo+Pj4gKwkJICogVW50aWwgdGhlIGZvbGxvd2luZyBjb25kaXRp b24gYXJlIG1ldCwgd2UgbmVlZCB0aGlzIGNsb2NrIHRvCj4+PiArCQkgKiBiZSBtYXJrZWQgYXMg Y3JpdGljYWw6Cj4+PiArCQkgKiBhKSBNYXJrIHRoZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUg cmVzb3VyY2UsIGlmIHBvc3NpYmxlCj4+PiArCQkgKiBiKSBDQ0YgaGFzIGEgY2xvY2sgaGFuZC1v ZmYgbWVjaGFuaXNtIHRvIG1ha2UgdGhlIHN1cmUgdGhlCj4+PiArCQkgKiAgICBjbG9jayBzdGF5 cyBvbiB1bnRpbCB0aGUgcHJvcGVyIGRyaXZlciBjb21lcyBhbG9uZwo+Pj4gKwkJICovCj4+PiAr CQkuZmxhZ3MgPSBDTEtfSVNfQ1JJVElDQUwsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtz dGF0aWMgc3RydWN0IGNsa19maXhlZF9mYWN0b3IgYTFfZmNsa19kaXY1X2RpdiA9IHsKPj4+ICsJ Lm11bHQgPSAxLAo+Pj4gKwkuZGl2ID0gNSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtf aW5pdF9kYXRhKXsKPj4+ICsJCS5uYW1lID0gImZjbGtfZGl2NV9kaXYiLAo+Pj4gKwkJLm9wcyA9 ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVj dCBjbGtfaHcgKltdKSB7Cj4+PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+Pj4gKwkJfSwKPj4+ICsJ CS5udW1fcGFyZW50cyA9IDEsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3Ry dWN0IGNsa19yZWdtYXAgYTFfZmNsa19kaXY1ID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNs a19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBBTkFDVFJMX0ZJWFBMTF9DVFJM MCwKPj4+ICsJCS5iaXRfaWR4ID0gMjMsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1 Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJmY2xrX2RpdjUiLAo+Pj4gKwkJLm9w cyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3Ry dWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfZmNsa19kaXY1X2Rpdi5odwo+Pj4gKwkJfSwK Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkvKgo+Pj4gKwkJICogVGhpcyBjbG9jayBp cyB1c2VkIGJ5IEFYSSBidXMgd2hpY2ggc2V0dGVkIGluIFJvbWNvZGUKPj4+ICsJCSAqIGFuZCBp cyByZXF1aXJlZCBieSB0aGUgcGxhdGZvcm0gdG8gb3BlcmF0ZSBjb3JyZWN0bHkuCj4+PiArCQkg KiBVbnRpbCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMgY2xv Y2sgdG8KPj4+ICsJCSAqIGJlIG1hcmtlZCBhcyBjcml0aWNhbDoKPj4+ICsJCSAqIGEpIE1hcmsg dGhlIGNsb2NrIHVzZWQgYnkgYSBmaXJtd2FyZSByZXNvdXJjZSwgaWYgcG9zc2libGUKPj4+ICsJ CSAqIGIpIENDRiBoYXMgYSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3Vy ZSB0aGUKPj4+ICsJCSAqICAgIGNsb2NrIHN0YXlzIG9uIHVudGlsIHRoZSBwcm9wZXIgZHJpdmVy IGNvbWVzIGFsb25nCj4+PiArCQkgKi8KPj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwK Pj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2ZpeGVkX2ZhY3Rv ciBhMV9mY2xrX2RpdjdfZGl2ID0gewo+Pj4gKwkubXVsdCA9IDEsCj4+PiArCS5kaXYgPSA3LAo+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5hbWUgPSAi ZmNsa19kaXY3X2RpdiIsCj4+PiArCQkub3BzID0gJmNsa19maXhlZF9mYWN0b3Jfb3BzLAo+Pj4g KwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFf Zml4ZWRfcGxsLmh3Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJfSwK Pj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9mY2xrX2Rpdjcg PSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gKwkJ Lm9mZnNldCA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4gKwkJLmJpdF9pZHggPSAyNCwKPj4+ ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5u YW1lID0gImZjbGtfZGl2NyIsCj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZh MV9mY2xrX2RpdjdfZGl2Lmh3Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gKy8qIEFycmF5IG9mIGFsbCBjbG9ja3MgcHJvdmlkZWQg YnkgdGhpcyBwcm92aWRlciAqLwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2h3X29uZWNlbGxfZGF0 YSBhMV9wbGxfaHdfb25lY2VsbF9kYXRhID0gewo+Pj4gKwkuaHdzID0gewo+Pj4gKwkJW0NMS0lE X0ZJWEVEX1BMTF9EQ09dCQk9ICZhMV9maXhlZF9wbGxfZGNvLmh3LAo+Pj4gKwkJW0NMS0lEX0ZJ WEVEX1BMTF0JCT0gJmExX2ZpeGVkX3BsbC5odywKPj4+ICsJCVtDTEtJRF9ISUZJX1BMTF0JCT0g JmExX2hpZmlfcGxsLmh3LAo+Pj4gKwkJW0NMS0lEX0ZDTEtfRElWMl0JCT0gJmExX2ZjbGtfZGl2 Mi5odywKPj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjNdCQk9ICZhMV9mY2xrX2RpdjMuaHcsCj4+PiAr CQlbQ0xLSURfRkNMS19ESVY1XQkJPSAmYTFfZmNsa19kaXY1Lmh3LAo+Pj4gKwkJW0NMS0lEX0ZD TEtfRElWN10JCT0gJmExX2ZjbGtfZGl2Ny5odywKPj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjJfRElW XQkJPSAmYTFfZmNsa19kaXYyX2Rpdi5odywKPj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjNfRElWXQkJ PSAmYTFfZmNsa19kaXYzX2Rpdi5odywKPj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjVfRElWXQkJPSAm YTFfZmNsa19kaXY1X2Rpdi5odywKPj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjdfRElWXQkJPSAmYTFf ZmNsa19kaXY3X2Rpdi5odywKPj4+ICsJCVtOUl9QTExfQ0xLU10JCQk9IE5VTEwsCj4+PiArCX0s Cj4+PiArCS5udW0gPSBOUl9QTExfQ0xLUywKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1 Y3QgY2xrX3JlZ21hcCAqY29uc3QgYTFfcGxsX3JlZ21hcHNbXSA9IHsKPj4+ICsJJmExX2ZpeGVk X3BsbF9kY28sCj4+PiArCSZhMV9maXhlZF9wbGwsCj4+PiArCSZhMV9oaWZpX3BsbCwKPj4+ICsJ JmExX2ZjbGtfZGl2MiwKPj4+ICsJJmExX2ZjbGtfZGl2MywKPj4+ICsJJmExX2ZjbGtfZGl2NSwK Pj4+ICsJJmExX2ZjbGtfZGl2NywKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBpbnQgbWVzb25f YTFfcGxsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+PiArewo+Pj4gKwlp bnQgcmV0Owo+Pj4gKwo+Pj4gKwlyZXQgPSBtZXNvbl9lZWNsa2NfcHJvYmUocGRldik7Cj4+PiAr CWlmIChyZXQpCj4+PiArCQlyZXR1cm4gcmV0Owo+Pj4gKwo+Pj4gKwlyZXR1cm4gMDsKPj4+ICt9 Cj4+Cj4+IFRoaXMgZnVuY3Rpb24gaXMgdXNlbGVzcy4KPj4KPiBPSywgSSB3aWxsIHVzZSBtZXNv bl9lZWNsa2NfcHJvYmUgZGVyZWN0bHkuCj4+PiArCj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBt ZXNvbl9lZWNsa2NfZGF0YSBhMV9wbGxfZGF0YSA9IHsKPj4+ICsJCS5yZWdtYXBfY2xrcyA9IGEx X3BsbF9yZWdtYXBzLAo+Pj4gKwkJLnJlZ21hcF9jbGtfbnVtID0gQVJSQVlfU0laRShhMV9wbGxf cmVnbWFwcyksCj4+PiArCQkuaHdfb25lY2VsbF9kYXRhID0gJmExX3BsbF9od19vbmVjZWxsX2Rh dGEsCj4+PiArfTsKPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBjbGtjX21h dGNoX3RhYmxlW10gPSB7Cj4+PiArCXsKPj4+ICsJCS5jb21wYXRpYmxlID0gImFtbG9naWMsYTEt cGxsLWNsa2MiLAo+Pj4gKwkJLmRhdGEgPSAmYTFfcGxsX2RhdGEKPj4+ICsJfSwKPj4+ICsJeyAv KiBzZW50aW5lbCAqLyB9Cj4+Cj4+IE5pdHBpY2s6IGRvbid0IG5lZWQgdG8gd3JpdGUgdGhpcywg anVzdCB3cml0ZSB0aGUgbGluZSBsaWtlIHRoaXMKPj4KPiBPSywgcmVtb3ZlIGl0Lgo+PiAnIH0s IHt9Jwo+Pgo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg YTFfZHJpdmVyID0gewo+Pj4gKwkucHJvYmUJCT0gbWVzb25fYTFfcGxsX3Byb2JlLAo+Pj4gKwku ZHJpdmVyCQk9IHsKPj4+ICsJCS5uYW1lCT0gImExLXBsbC1jbGtjIiwKPj4+ICsJCS5vZl9tYXRj aF90YWJsZSA9IGNsa2NfbWF0Y2hfdGFibGUsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICti dWlsdGluX3BsYXRmb3JtX2RyaXZlcihhMV9kcml2ZXIpOwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvY2xrL21lc29uL2ExLXBsbC5oIGIvZHJpdmVycy9jbGsvbWVzb24vYTEtcGxsLmgKPj4+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0Cj4+PiBpbmRleCAwMDAwMDAwLi45OWVlMmE5Cj4+PiAtLS0gL2Rl di9udWxsCj4+PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwuaAo+Pj4gQEAgLTAsMCAr MSw1NiBAQAo+Pj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlU KSAqLwo+Pj4gKy8qCj4+PiArICogQ29weXJpZ2h0IChjKSAyMDE5IEFtbG9naWMsIEluYy4gQWxs IHJpZ2h0cyByZXNlcnZlZC4KPj4+ICsgKi8KPj4+ICsKPj4+ICsjaWZuZGVmIF9fQTFfUExMX0gK Pj4+ICsjZGVmaW5lIF9fQTFfUExMX0gKPj4+ICsKPj4+ICsvKiBQTEwgcmVnaXN0ZXIgb2Zmc2V0 ICovCj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBMTF9DVFJMMAkJMHg4MAo+Pj4gKyNkZWZpbmUg QU5BQ1RSTF9GSVhQTExfQ1RSTDEJCTB4ODQKPj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExMX0NU UkwyCQkweDg4Cj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBMTF9DVFJMMwkJMHg4Ywo+Pj4gKyNk ZWZpbmUgQU5BQ1RSTF9GSVhQTExfQ1RSTDQJCTB4OTAKPj4+ICsjZGVmaW5lIEFOQUNUUkxfRklY UExMX1NUUwkJMHg5NAo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9TWVNQTExfQ1RSTDAJCTB4MTAwCj4+ PiArI2RlZmluZSBBTkFDVFJMX1NZU1BMTF9DVFJMMQkJMHgxMDQKPj4+ICsjZGVmaW5lIEFOQUNU UkxfU1lTUExMX0NUUkwyCQkweDEwOAo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9TWVNQTExfQ1RSTDMJ CTB4MTBjCj4+PiArI2RlZmluZSBBTkFDVFJMX1NZU1BMTF9DVFJMNAkJMHgxMTAKPj4+ICsjZGVm aW5lIEFOQUNUUkxfU1lTUExMX1NUUwkJMHgxMTQKPj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBM TF9DVFJMMAkJMHgxNDAKPj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMMQkJMHgxNDQK Pj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMMgkJMHgxNDgKPj4+ICsjZGVmaW5lIEFO QUNUUkxfSElGSVBMTF9DVFJMMwkJMHgxNGMKPj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9D VFJMNAkJMHgxNTAKPj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9TVFMJCTB4MTU0Cj4+PiAr I2RlZmluZSBBTkFDVFJMX0FVREREU19DVFJMMAkJMHgxODAKPj4+ICsjZGVmaW5lIEFOQUNUUkxf QVVERERTX0NUUkwxCQkweDE4NAo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNfQ1RSTDIJCTB4 MTg4Cj4+PiArI2RlZmluZSBBTkFDVFJMX0FVREREU19DVFJMMwkJMHgxOGMKPj4+ICsjZGVmaW5l IEFOQUNUUkxfQVVERERTX0NUUkw0CQkweDE5MAo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNf U1RTCQkweDE5NAo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9NSVNDVE9QX0NUUkwwCQkweDFjMAo+Pj4g KyNkZWZpbmUgQU5BQ1RSTF9QT1JfQ05UTAkJMHgyMDgKPj4+ICsKPj4+ICsvKgo+Pj4gKyAqIENM S0lEIGluZGV4IHZhbHVlcwo+Pj4gKyAqCj4+PiArICogVGhlc2UgaW5kaWNlcyBhcmUgZW50aXJl bHkgY29udHJpdmVkIGFuZCBkbyBub3QgbWFwIG9udG8gdGhlIGhhcmR3YXJlLgo+Pj4gKyAqIEl0 IGhhcyBub3cgYmVlbiBkZWNpZGVkIHRvIGV4cG9zZSBldmVyeXRoaW5nIGJ5IGRlZmF1bHQgaW4g dGhlIERUIGhlYWRlcjoKPj4+ICsgKiBpbmNsdWRlL2R0LWJpbmRpbmdzL2Nsb2NrL2ExLXBsbC1j bGtjLmguIE9ubHkgdGhlIGNsb2NrcyBpZHMgd2UgZG9uJ3Qgd2FudAo+Pj4gKyAqIHRvIGV4cG9z ZSwgc3VjaCBhcyB0aGUgaW50ZXJuYWwgbXV4ZXMgYW5kIGRpdmlkZXJzIG9mIGNvbXBvc2l0ZSBj bG9ja3MsCj4+PiArICogd2lsbCByZW1haW4gZGVmaW5lZCBoZXJlLgo+Pj4gKyAqLwo+Pj4gKyNk ZWZpbmUgQ0xLSURfRklYRURfUExMX0RDTwkJMAo+Pj4gKyNkZWZpbmUgQ0xLSURfRkNMS19ESVYy X0RJVgkJMgo+Pj4gKyNkZWZpbmUgQ0xLSURfRkNMS19ESVYzX0RJVgkJMwo+Pj4gKyNkZWZpbmUg Q0xLSURfRkNMS19ESVY1X0RJVgkJNAo+Pj4gKyNkZWZpbmUgQ0xLSURfRkNMS19ESVY3X0RJVgkJ NQo+Pj4gKyNkZWZpbmUgTlJfUExMX0NMS1MJCQkxMQo+Pj4gKwo+Pj4gKy8qIGluY2x1ZGUgdGhl IENMS0lEcyB0aGF0IGhhdmUgYmVlbiBtYWRlIHBhcnQgb2YgdGhlIERUIGJpbmRpbmcgKi8KPj4+ ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svYTEtcGxsLWNsa2MuaD4KPj4+ICsKPj4+ICsj ZW5kaWYgLyogX19BMV9QTExfSCAqLwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lc29u L2ExLmMgYi9kcml2ZXJzL2Nsay9tZXNvbi9hMS5jCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ Pj4gaW5kZXggMDAwMDAwMC4uODZhNDczMwo+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4gKysrIGIvZHJp dmVycy9jbGsvbWVzb24vYTEuYwo+Pj4gQEAgLTAsMCArMSwyMjY0IEBACj4+PiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wKyBPUiBNSVQpCj4+PiArLyoKPj4+ICsgKiBDb3B5 cmlnaHQgKGMpIDIwMTkgQW1sb2dpYywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+Pj4gKyAq IEF1dGhvcjogSmlhbiBIdSA8amlhbi5odUBhbWxvZ2ljLmNvbT4KPj4+ICsgKi8KPj4+ICsKPj4+ ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4+PiArI2luY2x1ZGUgImNsay1w bGwuaCIKPj4+ICsjaW5jbHVkZSAiY2xrLWR1YWxkaXYuaCIKPj4+ICsjaW5jbHVkZSAibWVzb24t ZWVjbGsuaCIKPj4+ICsjaW5jbHVkZSAiYTEuaCIKPj4KPj4gU2FtZSBhcyBhYm92ZQo+IE9LLCBJ IHdpbGwgY2hhbmdlIHRoZSBvcmRlci4KPiBJbiBmYWN0LCB0aGUgY2xrLXBsbC5oIGlzIG5vdCB1 c2VkIGluIHRoZSBjdXJyZW50IGRyaXZlci4KPiBJIHdpbGwgcmVtb3ZlIGl0Lgo+Pgo+Pj4gKwo+ Pj4gKy8qIFBMTHMgY2xvY2sgaW4gZ2F0ZXMsIGl0cyBwYXJlbnQgaXMgeHRhbCAqLwo+Pj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV94dGFsX2Nsa3RyZWUgPSB7Cj4+PiArCS5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IFNZU19PU0NJ Tl9DVFJMLAo+Pj4gKwkJLmJpdF9pZHggPSAwLAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYo c3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+ICsJCS5uYW1lID0gInh0YWxfY2xrdHJlZSIsCj4+ PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9yb19vcHMsCj4+PiArCQkucGFyZW50X2RhdGEg PSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpIHsKPj4+ICsJCQkuZndfbmFtZSA9ICJ4 dGFsIiwKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4gKwkJLyoKPj4+ICsJ CSAqIHN3aXRjaCBmb3IgeHRhbCBjbG9jawo+Pj4gKwkJICogTGludXggc2hvdWxkIG5vdCBjaGFu Z2UgaXQgYXQgcnVudGltZQo+Pj4gKwkJICovCj4+Cj4+IENvbW1lbnQgbm90IHVzZWZ1bDogaXQg dXNlcyB0aGUgUm8gb3BzCj4+Cj4gT0ssICByZW1vdmUgdGhlIGNvbW1lbnRzCj4+PiArCX0sCj4+ PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfeHRhbF9maXhwbGwg PSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gKwkJ Lm9mZnNldCA9IFNZU19PU0NJTl9DVFJMLAo+Pj4gKwkJLmJpdF9pZHggPSAxLAo+Pj4gKwl9LAo+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+ICsJCS5uYW1lID0g Inh0YWxfZml4cGxsIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICsJ CS5wYXJlbnRfZGF0YSA9ICYoY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSkgewo+Pj4gKwkJ CS5md19uYW1lID0gInh0YWwiLAo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ PiArCQkuZmxhZ3MgPSBDTEtfSVNfQ1JJVElDQUwsCj4+PiArCQkvKgo+Pj4gKwkJICogaXQgZmVl ZHMgRERSLEFYSSxBUEIgYnVzCj4+PiArCQkgKiBMaW51eCBzaG91bGQgbm90IGNoYW5nZSBpdCBh dCBydW50aW1lCj4+PiArCQkgKi8KPj4KPj4gQWdhaW4sIHRoZSBjaGlsZCBhcmUgY3JpdGljYWws IG5vdCBkaXJlY3RseSB0aGlzIGNsb2NrIGZyb20geW91cgo+PiBjb21tZW50Lgo+Pgo+PiBSZW1v dmUgQ1JJVElDQUwsIHB1dCBSTyBpcyBsaW51eCBpcyBub3Qgc3VwcG9zZWQgdG8gdG91Y2ggaXQu Cj4+Cj4gcmVwYWNlIGFzIGNsa19yZWdtYXBfZ2F0ZV9yb19vcHMKPj4+ICsJfSwKPj4+ICt9Owo+ Pj4gKwo+Cj4gWyAuLi4gXQo+Cj4+PiArCj4+PiArLyogZHNwIGEgY2xrICovCj4+PiArc3RhdGlj IHUzMiBtdXhfdGFibGVfZHNwX2FiW10gPSB7IDAsIDEsIDIsIDMsIDQsIDcgfTsKPj4+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSBkc3BfYWJfY2xrX3BhcmVudF9kYXRhW10g PSB7Cj4+PiArCXsgLmZ3X25hbWUgPSAieHRhbCIsIH0sCj4+PiArCXsgLmZ3X25hbWUgPSAiZmNs a19kaXYyIiwgfSwKPj4+ICsJeyAuZndfbmFtZSA9ICJmY2xrX2RpdjMiLCB9LAo+Pj4gKwl7IC5m d19uYW1lID0gImZjbGtfZGl2NSIsIH0sCj4+PiArCXsgLmZ3X25hbWUgPSAiaGlmaV9wbGwiLCB9 LAo+Pj4gKwl7IC5odyA9ICZhMV9ydGNfY2xrLmh3IH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0 aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9hX3NlbCA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0 cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJM MCwKPj4+ICsJCS5tYXNrID0gMHg3LAo+Pj4gKwkJLnNoaWZ0ID0gMTAsCj4+PiArCQkudGFibGUg PSBtdXhfdGFibGVfZHNwX2FiLAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNs a19pbml0X2RhdGEpewo+Pj4gKwkJLm5hbWUgPSAiZHNwYV9hX3NlbCIsCj4+PiArCQkub3BzID0g JmNsa19yZWdtYXBfbXV4X29wcywKPj4+ICsJCS5wYXJlbnRfZGF0YSA9IGRzcF9hYl9jbGtfcGFy ZW50X2RhdGEsCj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKGRzcF9hYl9jbGtfcGFy ZW50X2RhdGEpLAo+Pgo+PiAuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UID8KPiBZZXMsIEkg bWlzcyB0aGUgZmxhZy4KPj4KPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1 Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2FfZGl2ID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNs a19yZWdtYXBfZGl2X2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4g KwkJLnNoaWZ0ID0gMCwKPj4+ICsJCS53aWR0aCA9IDEwLAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5p dCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5hbWUgPSAiZHNwYV9hX2RpdiIs Cj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+PiArCQkucGFyZW50X2h3 cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9kc3BhX2Ffc2VsLmh3 Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS5mbGFncyA9IENMS19T RVRfUkFURV9QQVJFTlQsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfZHNwYV9hID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4+ICsJCS5i aXRfaWR4ID0gMTMsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRf ZGF0YSkgewo+Pj4gKwkJLm5hbWUgPSAiZHNwYV9hIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21h cF9nYXRlX29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltd KSB7Cj4+PiArCQkJJmExX2RzcGFfYV9kaXYuaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVu dHMgPSAxLAo+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ICsJfSwKPj4+ ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2Jfc2VsID0g ewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4gKwkJLm9m ZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4gKwkJLm1hc2sgPSAweDcsCj4+PiArCQkuc2hpZnQg PSAyNiwKPj4+ICsJCS50YWJsZSA9IG11eF90YWJsZV9kc3BfYWIsCj4+PiArCX0sCj4+PiArCS5o dy5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJkc3BhX2Jf c2VsIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4gKwkJLnBhcmVudF9k YXRhID0gZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZ X1NJWkUoZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSksCj4+Cj4+IC5mbGFncyA9IENMS19TRVRfUkFU RV9QQVJFTlQgPwo+Pgo+IFllcywgSSB3aWxsIGFkZCBpdC4KPj4+ICsJfSwKPj4+ICt9Owo+Pj4g Kwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2JfZGl2ID0gewo+Pj4gKwku ZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IERT UEFfQ0xLX0NUUkwwLAo+Pj4gKwkJLnNoaWZ0ID0gMTYsCj4+PiArCQkud2lkdGggPSAxMCwKPj4+ ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5u YW1lID0gImRzcGFfYl9kaXYiLAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3Bz LAo+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJ CQkmYTFfZHNwYV9iX3NlbC5odwo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiAr Cj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFfYiA9IHsKPj4+ICsJLmRhdGEg PSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+PiArCQkub2Zmc2V0ID0gRFNQQV9D TEtfQ1RSTDAsCj4+PiArCQkuYml0X2lkeCA9IDI5LAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9 ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+ICsJCS5uYW1lID0gImRzcGFfYiIsCj4+PiAr CQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+PiArCQkucGFyZW50X2h3cyA9IChjb25z dCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9kc3BhX2JfZGl2Lmh3Cj4+PiArCQl9 LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9Q QVJFTlQsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdt YXAgYTFfZHNwYV9zZWwgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhf ZGF0YSl7Cj4+PiArCQkub2Zmc2V0ID0gRFNQQV9DTEtfQ1RSTDAsCj4+PiArCQkubWFzayA9IDB4 MSwKPj4+ICsJCS5zaGlmdCA9IDE1LAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0 IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5hbWUgPSAiZHNwYV9zZWwiLAo+Pj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX211eF9vcHMsCj4+PiArCQkucGFyZW50X2RhdGEgPSAoY29uc3Qgc3RydWN0 IGNsa19wYXJlbnRfZGF0YSBbXSkgewo+Pj4gKwkJCXsgLmh3ID0gJmExX2RzcGFfYS5odyB9LAo+ Pj4gKwkJCXsgLmh3ID0gJmExX2RzcGFfYi5odyB9LAo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFy ZW50cyA9IDIsCj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4gKwl9LAo+ Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFfZW5fZHNw YSA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+PiAr CQkub2Zmc2V0ID0gRFNQQV9DTEtfRU4sCj4+PiArCQkuYml0X2lkeCA9IDEsCj4+PiArCX0sCj4+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4gKwkJLm5hbWUgPSAi ZHNwYV9lbl9kc3BhIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICsJ CS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+PiArCQkJJmExX2Rz cGFfc2VsLmh3Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS5mbGFn cyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4KPj4gV2h5IGRv IHlvdSBuZWVkIENMS19JR05PUkVfVU5VU0VEID8KPj4KPiBJIHNob3VsZCByZW1vdmUgaXQKPj4+ ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3Bh X2VuX25pYyA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7 Cj4+PiArCQkub2Zmc2V0ID0gRFNQQV9DTEtfRU4sCj4+PiArCQkuYml0X2lkeCA9IDAsCj4+PiAr CX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4gKwkJLm5h bWUgPSAiZHNwYV9lbl9uaWMiLAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+ Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkm YTFfZHNwYV9zZWwuaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4gKwkJ LmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENMS19JR05PUkVfVU5VU0VELAo+Pgo+PiBX aHkgZG8geW91IG5lZWQgQ0xLX0lHTk9SRV9VTlVTRUQgPwo+Pgo+IEkgc2hvdWxkIHJlbW92ZSBp dAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+Cj4+IFNhbWUgcXVlc3Rpb24gYW5kIHJlbWFya3Mg YXBwbGllcyB0byBEU1AgQgo+Pgo+IGdvdCBpdAo+Pj4gKy8qIGRzcCBiIGNsayAqLwo+Pj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2Ffc2VsID0gewo+Pj4gKwkuZGF0YSA9ICYo c3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NU UkwwLAo+Pj4gKwkJLm1hc2sgPSAweDcsCj4+PiArCQkuc2hpZnQgPSAxMCwKPj4+ICsJCS50YWJs ZSA9IG11eF90YWJsZV9kc3BfYWIsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJkc3BiX2Ffc2VsIiwKPj4+ICsJCS5vcHMg PSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4gKwkJLnBhcmVudF9kYXRhID0gZHNwX2FiX2Nsa19w YXJlbnRfZGF0YSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUoZHNwX2FiX2Nsa19w YXJlbnRfZGF0YSksCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNs a19yZWdtYXAgYTFfZHNwYl9hX2RpdiA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX2Rpdl9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19DVFJMMCwKPj4+ICsJCS5z aGlmdCA9IDAsCj4+PiArCQkud2lkdGggPSAxMCwKPj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5uYW1lID0gImRzcGJfYV9kaXYiLAo+Pj4g KwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfZHNwYl9hX3NlbC5odwo+Pj4g KwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JB VEVfUEFSRU5ULAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtf cmVnbWFwIGExX2RzcGJfYSA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dh dGVfZGF0YSl7Cj4+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfQ1RSTDAsCj4+PiArCQkuYml0X2lk eCA9IDEzLAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEp IHsKPj4+ICsJCS5uYW1lID0gImRzcGJfYSIsCj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0 ZV9vcHMsCj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+ Pj4gKwkJCSZhMV9kc3BiX2FfZGl2Lmh3Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0g MSwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNF RCwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBh MV9kc3BiX2Jfc2VsID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2Rh dGEpewo+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4gKwkJLm1hc2sgPSAweDcs Cj4+PiArCQkuc2hpZnQgPSAyNiwKPj4+ICsJCS50YWJsZSA9IG11eF90YWJsZV9kc3BfYWIsCj4+ PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQku bmFtZSA9ICJkc3BiX2Jfc2VsIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+ Pj4gKwkJLnBhcmVudF9kYXRhID0gZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSwKPj4+ICsJCS5udW1f cGFyZW50cyA9IEFSUkFZX1NJWkUoZHNwX2FiX2Nsa19wYXJlbnRfZGF0YSksCj4+PiArCX0sCj4+ PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9iX2RpdiA9 IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+ICsJCS5v ZmZzZXQgPSBEU1BCX0NMS19DVFJMMCwKPj4+ICsJCS5zaGlmdCA9IDE2LAo+Pj4gKwkJLndpZHRo ID0gMTAsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7 Cj4+PiArCQkubmFtZSA9ICJkc3BiX2JfZGl2IiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9k aXZpZGVyX29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltd KSB7Cj4+PiArCQkJJmExX2RzcGJfYl9zZWwuaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVu dHMgPSAxLAo+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ICsJfSwKPj4+ ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2IgPSB7Cj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gKwkJLm9mZnNl dCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4gKwkJLmJpdF9pZHggPSAyOSwKPj4+ICsJfSwKPj4+ICsJ Lmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+PiArCQkubmFtZSA9ICJkc3Bi X2IiLAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4gKwkJLnBhcmVudF9o d3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfZHNwYl9iX2Rpdi5o dwo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtf U0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+PiArCX0sCj4+PiArfTsKPj4+ ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9zZWwgPSB7Cj4+PiArCS5k YXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+PiArCQkub2Zmc2V0ID0gRFNQ Ql9DTEtfQ1RSTDAsCj4+PiArCQkubWFzayA9IDB4MSwKPj4+ICsJCS5zaGlmdCA9IDE1LAo+Pj4g Kwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5h bWUgPSAiZHNwYl9zZWwiLAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX211eF9vcHMsCj4+PiAr CQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9k c3BiX2EuaHcsICZhMV9kc3BiX2IuaHcsCj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0g MiwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+PiArCX0sCj4+PiArfTsK Pj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9lbl9kc3BiID0gewo+ Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZz ZXQgPSBEU1BCX0NMS19FTiwKPj4+ICsJCS5iaXRfaWR4ID0gMSwKPj4+ICsJfSwKPj4+ICsJLmh3 LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+PiArCQkubmFtZSA9ICJkc3BiX2Vu X2RzcGIiLAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4gKwkJLnBhcmVu dF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfZHNwYl9zZWwu aHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4gKwkJLmZsYWdzID0gQ0xL X1NFVF9SQVRFX1BBUkVOVCB8IENMS19JR05PUkVfVU5VU0VELAo+Pj4gKwl9LAo+Pj4gK307Cj4+ PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJfZW5fbmljID0gewo+Pj4g KwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZzZXQg PSBEU1BCX0NMS19FTiwKPj4+ICsJCS5iaXRfaWR4ID0gMCwKPj4+ICsJfSwKPj4+ICsJLmh3Lmlu aXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+PiArCQkubmFtZSA9ICJkc3BiX2VuX25p YyIsCj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+PiArCQkucGFyZW50X2h3 cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9kc3BiX3NlbC5odwo+ Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VU X1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsK Pj4+ICsvKiAxMk0vMjRNIGNsb2NrICovCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx XzI0bSA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+ PiArCQkub2Zmc2V0ID0gQ0xLMTJfMjRfQ1RSTCwKPj4+ICsJCS5iaXRfaWR4ID0gMTEsCj4+PiAr CX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4gKwkJLm5h bWUgPSAiMjRtIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICsJCS5w YXJlbnRfZGF0YSA9ICYoY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSkgewo+Pj4gKwkJCS5m d19uYW1lID0gInh0YWwiLAo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiAr CX0sCj4+PiArfTsKPj4+ICsKPgo+IFsgLi4uIF0KPgo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV9zYXJhZGNfc2VsID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBf bXV4X2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IFNBUl9BRENfQ0xLX0NUUkwsCj4+PiArCQkubWFz ayA9IDB4MSwKPj4+ICsJCS5zaGlmdCA9IDksCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJzYXJhZGNfc2VsIiwKPj4+ICsJ CS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4gKwkJLnBhcmVudF9kYXRhID0gKGNvbnN0 IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgW10pIHsKPj4+ICsJCQl7IC5md19uYW1lID0gInh0YWwi LCB9LAo+Pj4gKwkJCXsgLmh3ID0gJmExX3N5c19jbGsuaHcsIH0sCj4+PiArCQl9LAo+Pj4gKwkJ Lm51bV9wYXJlbnRzID0gMiwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1 Y3QgY2xrX3JlZ21hcCBhMV9zYXJhZGNfZGl2ID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNs a19yZWdtYXBfZGl2X2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IFNBUl9BRENfQ0xLX0NUUkwsCj4+ PiArCQkuc2hpZnQgPSAwLAo+Pj4gKwkJLndpZHRoID0gOCwKPj4+ICsJfSwKPj4+ICsJLmh3Lmlu aXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5uYW1lID0gInNhcmFkY19kaXYi LAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4gKwkJLnBhcmVudF9o d3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfc2FyYWRjX3NlbC5o dwo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtf U0VUX1JBVEVfUEFSRU5ULAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVj dCBjbGtfcmVnbWFwIGExX3NhcmFkY19jbGsgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IFNBUl9BRENfQ0xLX0NUUkwsCj4+ PiArCQkuYml0X2lkeCA9IDgsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xr X2luaXRfZGF0YSkgewo+Pj4gKwkJLm5hbWUgPSAic2FyYWRjX2NsayIsCj4+PiArCQkub3BzID0g JmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3Qg Y2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9zYXJhZGNfZGl2Lmh3Cj4+PiArCQl9LAo+Pj4gKwkJ Lm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+ PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICsvKiBwd20gYS9iL2MvZCBwYXJlbnQgZGF0YSAqLwo+ Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIHB3bV9wYXJlbnRfZGF0YVtd ID0gewo+Pj4gKwl7IC5md19uYW1lID0gInh0YWwiLCB9LAo+Pj4gKwl7IC5odyA9ICZhMV9zeXNf Y2xrLmh3IH0sCj4+PiArfTsKPj4KPj4gTG9va3MgbGlrZSB0aGUgc2FtZSBhcyBTQVIgQURDCj4+ Cj4gT0ssIEkgd2lsbCBkZXNjcmliZSBpdCBsaWtlIFNBUiBBREMgZm9yIHB3bSBhL2IvYy9kCj4+ PiArCj4+PiArLyogcHdtIGEgY2xrICovCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx X3B3bV9hX3NlbCA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRh KXsKPj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0FCX0NUUkwsCj4+PiArCQkubWFzayA9IDB4MSwK Pj4+ICsJCS5zaGlmdCA9IDksCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xr X2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJwd21fYV9zZWwiLAo+Pj4gKwkJLm9wcyA9ICZj bGtfcmVnbWFwX211eF9vcHMsCj4+PiArCQkucGFyZW50X2RhdGEgPSBwd21fcGFyZW50X2RhdGEs Cj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKHB3bV9wYXJlbnRfZGF0YSksCj4+PiAr CX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2Ff ZGl2ID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4g KwkJLm9mZnNldCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+ICsJCS5zaGlmdCA9IDAsCj4+PiArCQku d2lkdGggPSA4LAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpewo+Pj4gKwkJLm5hbWUgPSAicHdtX2FfZGl2IiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21h cF9kaXZpZGVyX29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7Cj4+PiArCQkJJmExX3B3bV9hX3NlbC5odwo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFy ZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4gKwl9LAo+ Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9hID0gewo+ Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZz ZXQgPSBQV01fQ0xLX0FCX0NUUkwsCj4+PiArCQkuYml0X2lkeCA9IDgsCj4+PiArCX0sCj4+PiAr CS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4gKwkJLm5hbWUgPSAicHdt X2EiLAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4gKwkJLnBhcmVudF9o d3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfcHdtX2FfZGl2Lmh3 Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS8qCj4+PiArCQkgKiBU aGUgQ1BVIHdvcmtpbmcgdm9sdGFnZSBpcyBjb250cm9sbGVkIGJ5IHB3bV9hCj4+PiArCQkgKiBp biBCTDIgZmlybXdhcmUuIGFkZCB0aGUgQ0xLX0lHTk9SRV9VTlVTRUQgZmxhZwo+Pj4gKwkJICog dG8gYXZvaWQgY2hhbmdpbmcgYXQgcnVudGltZS4KPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4gaXQKPj4KPj4+ICsJCSAqIGFuZCBpcyByZXF1aXJlZCBieSB0aGUgcGxh dGZvcm0gdG8gb3BlcmF0ZSBjb3JyZWN0bHkuCj4+ICAgICAgICAgICAgICAgICAgICAgImJsYWJs YS4gQW5kIiBpcyBzdHJhbmdlCj4+Cj4+PiArCQkgKiBVbnRpbCB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMgY2xvY2sgdG8KPj4+ICsJCSAqIGJlIG1hcmtlZCBh cyBjcml0aWNhbDoKPj4+ICsJCSAqIGEpIE1hcmsgdGhlIGNsb2NrIHVzZWQgYnkgYSBmaXJtd2Fy ZSByZXNvdXJjZSwgaWYgcG9zc2libGUKPj4+ICsJCSAqIGIpIENDRiBoYXMgYSBjbG9jayBoYW5k LW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3VyZSB0aGUKPj4+ICsJCSAqICAgIGNsb2NrIHN0 YXlzIG9uIHVudGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+PiArCQkgKi8KPj4+ ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4K Pj4gVGhpcyBvbmx5IHNraXBzIHRoZSBsYXRlX2luaXQoKSBkaXNhYmxlIG9mIHVudXNlZCBjbG9j a3MKPj4KPj4gQmUgYXdhcmUgdGhhdCB0aGlzIGlzIG5vdCBmb29sLXByb29mLiBJZiBhdCBhbnkg dGltZSBhIGRyaXZlciBlbmFibGUKPj4gdGhlbiBkaXNhYmxlIHRoZSBjbG9jaywgdGhlIGNsb2Nr IHdpbGwgYmUgZGlzYWJsZSBhbmQgSSBndWVzcyB5b3VyCj4+IHBsYXRmb3JtIHdpbGwgZGllIGlm IHRoaXMgcHJvdmlkZXMgdGhlIENQVSB2b2x0YWdlLgo+IE9LLCBDTEtfSVNfQ1JJVElDQUwgaXMg YmV0dGVyLgo+Pgo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+PiArLyogcHdtIGIgY2xrICovCj4+ PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9iX3NlbCA9IHsKPj4+ICsJLmRhdGEg PSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xL X0FCX0NUUkwsCj4+PiArCQkubWFzayA9IDB4MSwKPj4+ICsJCS5zaGlmdCA9IDI1LAo+Pj4gKwl9 LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gKwkJLm5hbWUg PSAicHdtX2Jfc2VsIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4gKwkJ LnBhcmVudF9kYXRhID0gcHdtX3BhcmVudF9kYXRhLAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJS QVlfU0laRShwd21fcGFyZW50X2RhdGEpLAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9iX2RpdiA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0 cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0FCX0NU UkwsCj4+PiArCQkuc2hpZnQgPSAxNiwKPj4+ICsJCS53aWR0aCA9IDgsCj4+PiArCX0sCj4+PiAr CS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJwd21f Yl9kaXYiLAo+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4gKwkJLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfcHdtX2Jf c2VsLmh3Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS5mbGFncyA9 IENMS19TRVRfUkFURV9QQVJFTlQsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMg c3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2IgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+ ICsJCS5iaXRfaWR4ID0gMjQsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xr X2luaXRfZGF0YSkgewo+Pj4gKwkJLm5hbWUgPSAicHdtX2IiLAo+Pj4gKwkJLm9wcyA9ICZjbGtf cmVnbWFwX2dhdGVfb3BzLAo+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19o dyAqW10pIHsKPj4+ICsJCQkmYTFfcHdtX2JfZGl2Lmh3Cj4+PiArCQl9LAo+Pj4gKwkJLm51bV9w YXJlbnRzID0gMSwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+PiArCX0s Cj4+PiArfTsKPj4+ICsKPj4+ICsvKiBwd20gYyBjbGsgKi8KPj4+ICtzdGF0aWMgc3RydWN0IGNs a19yZWdtYXAgYTFfcHdtX2Nfc2VsID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfbXV4X2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQ0RfQ1RSTCwKPj4+ICsJCS5t YXNrID0gMHgxLAo+Pj4gKwkJLnNoaWZ0ID0gOSwKPj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5uYW1lID0gInB3bV9jX3NlbCIsCj4+PiAr CQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+ICsJCS5wYXJlbnRfZGF0YSA9IHB3bV9w YXJlbnRfZGF0YSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUocHdtX3BhcmVudF9k YXRhKSwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21h cCBhMV9wd21fY19kaXYgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZf ZGF0YSl7Cj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19DRF9DVFJMLAo+Pj4gKwkJLnNoaWZ0ID0g MCwKPj4+ICsJCS53aWR0aCA9IDgsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJwd21fY19kaXYiLAo+Pj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3Ry dWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfcHdtX2Nfc2VsLmh3Cj4+PiArCQl9LAo+Pj4g KwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQs Cj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFf cHdtX2MgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+ Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQ0RfQ1RSTCwKPj4+ICsJCS5iaXRfaWR4ID0gOCwKPj4+ ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+PiArCQku bmFtZSA9ICJwd21fYyIsCj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+PiAr CQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZhMV9w d21fY19kaXYuaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4gKwkJLmZs YWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gKy8q IHB3bSBkIGNsayAqLwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZF9zZWwg PSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+PiArCQku b2Zmc2V0ID0gUFdNX0NMS19DRF9DVFJMLAo+Pj4gKwkJLm1hc2sgPSAweDEsCj4+PiArCQkuc2hp ZnQgPSAyNSwKPj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRh KXsKPj4+ICsJCS5uYW1lID0gInB3bV9kX3NlbCIsCj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBf bXV4X29wcywKPj4+ICsJCS5wYXJlbnRfZGF0YSA9IHB3bV9wYXJlbnRfZGF0YSwKPj4+ICsJCS5u dW1fcGFyZW50cyA9IEFSUkFZX1NJWkUocHdtX3BhcmVudF9kYXRhKSwKPj4+ICsJfSwKPj4+ICt9 Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZF9kaXYgPSB7Cj4+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+PiArCQkub2Zmc2V0 ID0gUFdNX0NMS19DRF9DVFJMLAo+Pj4gKwkJLnNoaWZ0ID0gMTYsCj4+PiArCQkud2lkdGggPSA4 LAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4g KwkJLm5hbWUgPSAicHdtX2RfZGl2IiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVy X29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ PiArCQkJJmExX3B3bV9kX3NlbC5odwo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEs Cj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4gKwl9LAo+Pj4gK307Cj4+ PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9kID0gewo+Pj4gKwkuZGF0 YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBQV01f Q0xLX0NEX0NUUkwsCj4+PiArCQkuYml0X2lkeCA9IDI0LAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5p dCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+ICsJCS5uYW1lID0gInB3bV9kIiwKPj4+ ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNv bnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+PiArCQkJJmExX3B3bV9kX2Rpdi5odwo+Pj4gKwkJ fSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVf UEFSRU5ULAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBj bGtfcGFyZW50X2RhdGEgcHdtX2VmX3BhcmVudF9kYXRhW10gPSB7Cj4+PiArCXsgLmZ3X25hbWUg PSAieHRhbCIsIH0sCj4+PiArCXsgLmh3ID0gJmExX3N5c19jbGsuaHcgfSwKPj4+ICsJeyAuZndf bmFtZSA9ICJmY2xrX2RpdjUiLCB9LAo+Pj4gKwl7IC5odyA9ICZhMV9ydGNfY2xrLmh3IH0sCj4+ PiArfTsKPj4+ICsKPj4+ICsvKiBwd20gZSBjbGsgKi8KPj4+ICtzdGF0aWMgc3RydWN0IGNsa19y ZWdtYXAgYTFfcHdtX2Vfc2VsID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBf bXV4X2RhdGEpewo+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfRUZfQ1RSTCwKPj4+ICsJCS5tYXNr ID0gMHgzLAo+Pj4gKwkJLnNoaWZ0ID0gOSwKPj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0 cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5uYW1lID0gInB3bV9lX3NlbCIsCj4+PiArCQku b3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+ICsJCS5wYXJlbnRfZGF0YSA9IHB3bV9lZl9w YXJlbnRfZGF0YSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUocHdtX2VmX3BhcmVu dF9kYXRhKSwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV9wd21fZV9kaXYgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9k aXZfZGF0YSl7Cj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+Pj4gKwkJLnNoaWZ0 ID0gMCwKPj4+ICsJCS53aWR0aCA9IDgsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1 Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJwd21fZV9kaXYiLAo+Pj4gKwkJLm9w cyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qg c3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfcHdtX2Vfc2VsLmh3Cj4+PiArCQl9LAo+ Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJF TlQsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAg YTFfcHdtX2UgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEp ewo+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfRUZfQ1RSTCwKPj4+ICsJCS5iaXRfaWR4ID0gOCwK Pj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+PiAr CQkubmFtZSA9ICJwd21fZSIsCj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gKwkJCSZh MV9wd21fZV9kaXYuaHcKPj4+ICsJCX0sCj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4gKwkJ LmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ICsJfSwKPj4+ICt9Owo+Pj4gKwo+Pj4g Ky8qIHB3bSBmIGNsayAqLwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZl9z ZWwgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+PiAr CQkub2Zmc2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+Pj4gKwkJLm1hc2sgPSAweDMsCj4+PiArCQku c2hpZnQgPSAyNSwKPj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9k YXRhKXsKPj4+ICsJCS5uYW1lID0gInB3bV9mX3NlbCIsCj4+PiArCQkub3BzID0gJmNsa19yZWdt YXBfbXV4X29wcywKPj4+ICsJCS5wYXJlbnRfZGF0YSA9IHB3bV9lZl9wYXJlbnRfZGF0YSwKPj4+ ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUocHdtX2VmX3BhcmVudF9kYXRhKSwKPj4+ICsJ fSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZl9k aXYgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+PiAr CQkub2Zmc2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+Pj4gKwkJLnNoaWZ0ID0gMTYsCj4+PiArCQku d2lkdGggPSA4LAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpewo+Pj4gKwkJLm5hbWUgPSAicHdtX2ZfZGl2IiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21h cF9kaXZpZGVyX29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7Cj4+PiArCQkJJmExX3B3bV9mX3NlbC5odwo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFy ZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4gKwl9LAo+ Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9mID0gewo+ Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZz ZXQgPSBQV01fQ0xLX0VGX0NUUkwsCj4+PiArCQkuYml0X2lkeCA9IDI0LAo+Pj4gKwl9LAo+Pj4g KwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+ICsJCS5uYW1lID0gInB3 bV9mIiwKPj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICsJCS5wYXJlbnRf aHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+PiArCQkJJmExX3B3bV9mX2Rpdi5o dwo+Pj4gKwkJfSwKPj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtf U0VUX1JBVEVfUEFSRU5ULAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4KPiBbIC4uLiBdCj4KPj4+ ICsKPj4+ICsvKiBkbWMgY2xrICovCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2Rt Y19zZWwgPSB7Cj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+ PiArCQkub2Zmc2V0ID0gRE1DX0NMS19DVFJMLAo+Pj4gKwkJLm1hc2sgPSAweDMsCj4+PiArCQku c2hpZnQgPSA5LAo+Pj4gKwl9LAo+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpewo+Pj4gKwkJLm5hbWUgPSAiZG1jX3NlbCIsCj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBf bXV4X29wcywKPj4+ICsJCS5wYXJlbnRfZGF0YSA9IHNkX2VtbWNfcGFyZW50cywKPj4+ICsJCS5u dW1fcGFyZW50cyA9IDQsCj4+PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfZG1jX2RpdiA9IHsKPj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX2Rpdl9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBETUNfQ0xLX0NUUkwsCj4+PiArCQkuc2hp ZnQgPSAwLAo+Pj4gKwkJLndpZHRoID0gOCwKPj4+ICsJfSwKPj4+ICsJLmh3LmluaXQgPSAmKHN0 cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICsJCS5uYW1lID0gImRtY19kaXYiLAo+Pj4gKwkJLm9w cyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qg c3RydWN0IGNsa19odyAqW10pIHsKPj4+ICsJCQkmYTFfZG1jX3NlbC5odwo+Pj4gKwkJfSwKPj4+ ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5U LAo+Pj4gKwl9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx X2RtY19zZWwyID0gewo+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEp ewo+Pj4gKwkJLm9mZnNldCA9IERNQ19DTEtfQ1RSTCwKPj4+ICsJCS5tYXNrID0gMHgxLAo+Pj4g KwkJLnNoaWZ0ID0gMTUsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2lu aXRfZGF0YSl7Cj4+PiArCQkubmFtZSA9ICJkbWNfc2VsMiIsCj4+PiArCQkub3BzID0gJmNsa19y ZWdtYXBfbXV4X29wcywKPj4+ICsJCS5wYXJlbnRfZGF0YSA9IChjb25zdCBzdHJ1Y3QgY2xrX3Bh cmVudF9kYXRhIFtdKSB7Cj4+PiArCQkJeyAuaHcgPSAmYTFfZG1jX2Rpdi5odyB9LAo+Pj4gKwkJ CXsgLmZ3X25hbWUgPSAieHRhbCIsIH0sCj4+PiArCQl9LAo+Pj4gKwkJLm51bV9wYXJlbnRzID0g MiwKPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+PiArCX0sCj4+PiArfTsK Pj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZG1jID0gewo+Pj4gKwkuZGF0 YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICsJCS5vZmZzZXQgPSBETUNf Q0xLX0NUUkwsCj4+PiArCQkuYml0X2lkeCA9IDgsCj4+PiArCX0sCj4+PiArCS5ody5pbml0ID0g JihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4gKwkJLm5hbWUgPSAiZG1jIiwKPj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0 cnVjdCBjbGtfaHcgKltdKSB7Cj4+PiArCQkJJmExX2RtY19zZWwyLmh3Cj4+PiArCQl9LAo+Pj4g KwkJLm51bV9wYXJlbnRzID0gMSwKPj4+ICsJCS8qCj4+PiArCQkgKiBUaGlzIGNsb2NrIGlzIHVz ZWQgYnkgRERSIGNsb2NrIHdoaWNoIHNldHRlZCBpbiBCTDIKPj4+ICsJCSAqIGFuZCBpcyByZXF1 aXJlZCBieSB0aGUgcGxhdGZvcm0gdG8gb3BlcmF0ZSBjb3JyZWN0bHkuCj4+PiArCQkgKiBVbnRp bCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMgY2xvY2sgdG8K Pj4+ICsJCSAqIGJlIG1hcmtlZCBhcyBjcml0aWNhbDoKPj4+ICsJCSAqIGEpIE1hcmsgdGhlIGNs b2NrIHVzZWQgYnkgYSBmaXJtd2FyZSByZXNvdXJjZSwgaWYgcG9zc2libGUKPj4+ICsJCSAqIGIp IENDRiBoYXMgYSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3VyZSB0aGUK Pj4+ICsJCSAqICAgIGNsb2NrIHN0YXlzIG9uIHVudGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVz IGFsb25nCj4+PiArCQkgKi8KPj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBD TEtfSVNfQ1JJVElDQUwsCj4+PiArCX0sCj4+PiArfTsKPj4KPj4gU2hvdWxkIHlvdSBwdXQgYWxs IHRoaXMgRE1DIHN0dWZmIGluIFJPIHVudGlsIHlvdSBnb3QgYSBkcml2ZXIgZm9yIGl0ID8KPiBP SywgcmVwbGFjZSBhcyBjbGtfcmVnbWFwX2dhdGVfcm9fb3BzCj4+Cj4gWyAuLi4gXQo+Pj4gKwo+ Pj4gK3N0YXRpYyBpbnQgbWVzb25fYTFfcGVyaXBoc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+Pj4gK3sKPj4+ICsJaW50IHJldDsKPj4+ICsKPj4+ICsJcmV0ID0gbWVzb25f ZWVjbGtjX3Byb2JlKHBkZXYpOwo+Pj4gKwlpZiAocmV0KQo+Pj4gKwkJcmV0dXJuIHJldDsKPj4+ ICsKPj4+ICsJcmV0dXJuIDA7Cj4+PiArfQo+Pgo+PiBBZ2FpbiB0aGlzIGZ1bmN0aW9uIGlzIGZ1 bmN0aW9uIGlzIHVzZWxlc3MgYW5kIGl0IG1ha2VzIG1lIHdvbmRlciBpZiB5b3UKPj4gc2hvdWxk IHJlYWxseSBiZSB1c2luZyBtZXNvbl9lZWNsa2NfcHJvYmUoKQo+Pgo+PiBUaGlzIG1ha2VzIHlv dSB1c2Ugc3lzY29uIHdoaWNoIGlzIG5vdCBjb3JyZWN0IHVubGVzcyB5b3UgaGF2ZSBhIGdvb2QK Pj4gcmVhc29uID8KPj4KPiBJZiBpdCBjYW4gbm90IHVzZSB0aGUgbWVzb25fZWVjbGtjX3Byb2Jl KCksIEkgd2lsbCByZWFsaXplIGEgcHJvYmUgZnVuY3Rpb24KPiB3aGljaCBpcyBtb3N0bHkgZHVw bGljYXRlIHdpdGggbWVzb25fZWVjbGtjX3Byb2JlKCkgZXhjZXB0Cj4gInN5c2Nvbl9ub2RlX3Rv X3JlZ21hcCIKPgo+IE1heWJlIGFub3RoZXIgY29tbW9uIHByb2JlIGZ1bmN0aW9uIGFuZCBhIG5l dyBmaWxlIGFyZSByZXF1aXJlZCBmb3IgQTEKPiB0aHJlZSBkcml2ZXJzPyDvvIhpbmNsdWRlIHRo ZSBDUFUgY2xvY2sgZHJpdmVy77yJCgpNYXliZQoKPgo+IE9yIHVzaW5nIG1lc29uX2VlY2xrY19w cm9iZSBpcyBtb3JlIGVhc2llcj8KCkl0IGlzIG5vdCBxdWVzdGlvbiBvZiBlYXNpbmVzcywgYnV0 IGNvcnJlY3RuZXNzLgoKPgo+PiBJcyB0aGVyZSBhbnl0aGluZyBidXQgY2xvY2tzIGFuZCByZXNl dHMgaW4gdGhlc2UgcmVnaXN0ZXIgcmVnaW9uID8KPiBObywgdGhlcmUgaXMgb25seSBjbG9ja3Mg aW4gdGhlIHJlZ2lzdGVyIHJlZ2lvbi4KPiB0aGUgc2FtZSBkb2VzIHRoZSBQTEwgcmVnaXN0ZXIg cmVnaW9uLgoKVGhlbiB0aGVyZSBpcyBubyByZWFzb24gdG8gdXNlIHN5c2NvbiBmb3IgdGhvc2Ug ZHJpdmVycwoKPj4KPj4+ICsKPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1lc29uX2VlY2xrY19k YXRhIGExX3BlcmlwaHNfZGF0YSA9IHsKPj4+ICsJCS5yZWdtYXBfY2xrcyA9IGExX3BlcmlwaHNf cmVnbWFwcywKPj4+ICsJCS5yZWdtYXBfY2xrX251bSA9IEFSUkFZX1NJWkUoYTFfcGVyaXBoc19y ZWdtYXBzKSwKPj4+ICsJCS5od19vbmVjZWxsX2RhdGEgPSAmYTFfcGVyaXBoc19od19vbmVjZWxs X2RhdGEsCj4+PiArfTsKPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBjbGtj X21hdGNoX3RhYmxlW10gPSB7Cj4+PiArCXsKPj4+ICsJCS5jb21wYXRpYmxlID0gImFtbG9naWMs YTEtcGVyaXBocy1jbGtjIiwKPj4+ICsJCS5kYXRhID0gJmExX3BlcmlwaHNfZGF0YQo+Pj4gKwl9 LAo+Pj4gKwl7IC8qIHNlbnRpbmVsICovIH0KPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1 Y3QgcGxhdGZvcm1fZHJpdmVyIGExX2RyaXZlciA9IHsKPj4+ICsJLnByb2JlCQk9IG1lc29uX2Ex X3BlcmlwaHNfcHJvYmUsCj4+PiArCS5kcml2ZXIJCT0gewo+Pj4gKwkJLm5hbWUJPSAiYTEtcGVy aXBocy1jbGtjIiwKPj4+ICsJCS5vZl9tYXRjaF90YWJsZSA9IGNsa2NfbWF0Y2hfdGFibGUsCj4+ PiArCX0sCj4+PiArfTsKPj4+ICsKPj4+ICtidWlsdGluX3BsYXRmb3JtX2RyaXZlcihhMV9kcml2 ZXIpOwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lc29uL2ExLmggYi9kcml2ZXJzL2Ns ay9tZXNvbi9hMS5oCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+Pj4gaW5kZXggMDAwMDAwMC4u MWFlNWUwNAo+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vYTEu aAo+Pj4gQEAgLTAsMCArMSwxMjAgQEAKPj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog KEdQTC0yLjArIE9SIE1JVCkgKi8KPj4+ICsvKgo+Pj4gKyAqIENvcHlyaWdodCAoYykgMjAxOSBB bWxvZ2ljLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4+PiArICovCj4+PiArCj4+PiArI2lm bmRlZiBfX0ExX0gKPj4+ICsjZGVmaW5lIF9fQTFfSAo+Pj4gKwo+Pj4gKy8qIHBlcmlwaGVyYWwg Y2xvY2sgY29udHJvbGxlciByZWdpc3RlciBvZmZzZXQgKi8KPj4+ICsjZGVmaW5lIFNZU19PU0NJ Tl9DVFJMCQkJMHgwCj4+PiArI2RlZmluZSBSVENfQllfT1NDSU5fQ1RSTDAJCTB4NAo+Pj4gKyNk ZWZpbmUgUlRDX0JZX09TQ0lOX0NUUkwxCQkweDgKPj4+ICsjZGVmaW5lIFJUQ19DVFJMCQkJMHhj Cj4+PiArI2RlZmluZSBTWVNfQ0xLX0NUUkwwCQkJMHgxMAo+Pj4gKyNkZWZpbmUgQVhJX0NMS19D VFJMMAkJCTB4MTQKPj4+ICsjZGVmaW5lIFNZU19DTEtfRU4wCQkJMHgxYwo+Pj4gKyNkZWZpbmUg U1lTX0NMS19FTjEJCQkweDIwCj4+PiArI2RlZmluZSBBWElfQ0xLX0VOCQkJMHgyNAo+Pj4gKyNk ZWZpbmUgRFNQQV9DTEtfRU4JCQkweDI4Cj4+PiArI2RlZmluZSBEU1BCX0NMS19FTgkJCTB4MmMK Pj4+ICsjZGVmaW5lIERTUEFfQ0xLX0NUUkwwCQkJMHgzMAo+Pj4gKyNkZWZpbmUgRFNQQl9DTEtf Q1RSTDAJCQkweDM0Cj4+PiArI2RlZmluZSBDTEsxMl8yNF9DVFJMCQkJMHgzOAo+Pj4gKyNkZWZp bmUgR0VOX0NMS19DVFJMCQkJMHgzYwo+Pj4gKyNkZWZpbmUgVElNRVNUQU1QX0NUUkwwCQkJMHg0 MAo+Pj4gKyNkZWZpbmUgVElNRVNUQU1QX0NUUkwxCQkJMHg0NAo+Pj4gKyNkZWZpbmUgVElNRVNU QU1QX0NUUkwyCQkJMHg0OAo+Pj4gKyNkZWZpbmUgVElNRVNUQU1QX1ZBTDAJCQkweDRjCj4+PiAr I2RlZmluZSBUSU1FU1RBTVBfVkFMMQkJCTB4NTAKPj4+ICsjZGVmaW5lIFRJTUVCQVNFX0NUUkww CQkJMHg1NAo+Pj4gKyNkZWZpbmUgVElNRUJBU0VfQ1RSTDEJCQkweDU4Cj4+PiArI2RlZmluZSBT QVJfQURDX0NMS19DVFJMCQkweGMwCj4+PiArI2RlZmluZSBQV01fQ0xLX0FCX0NUUkwJCQkweGM0 Cj4+PiArI2RlZmluZSBQV01fQ0xLX0NEX0NUUkwJCQkweGM4Cj4+PiArI2RlZmluZSBQV01fQ0xL X0VGX0NUUkwJCQkweGNjCj4+PiArI2RlZmluZSBTUElDQ19DTEtfQ1RSTAkJCTB4ZDAKPj4+ICsj ZGVmaW5lIFRTX0NMS19DVFJMCQkJMHhkNAo+Pj4gKyNkZWZpbmUgU1BJRkNfQ0xLX0NUUkwJCQkw eGQ4Cj4+PiArI2RlZmluZSBVU0JfQlVTQ0xLX0NUUkwJCQkweGRjCj4+PiArI2RlZmluZSBTRF9F TU1DX0NMS19DVFJMCQkweGUwCj4+PiArI2RlZmluZSBDRUNBX0NMS19DVFJMMAkJCTB4ZTQKPj4+ ICsjZGVmaW5lIENFQ0FfQ0xLX0NUUkwxCQkJMHhlOAo+Pj4gKyNkZWZpbmUgQ0VDQl9DTEtfQ1RS TDAJCQkweGVjCj4+PiArI2RlZmluZSBDRUNCX0NMS19DVFJMMQkJCTB4ZjAKPj4+ICsjZGVmaW5l IFBTUkFNX0NMS19DVFJMCQkJMHhmNAo+Pj4gKyNkZWZpbmUgRE1DX0NMS19DVFJMCQkJMHhmOAo+ Pj4gKyNkZWZpbmUgRkNMS19ESVYxX1NFTAkJCTB4ZmMKPj4+ICsjZGVmaW5lIFRTVF9DVFJMCQkJ MHgxMDAKPj4+ICsKPj4+ICsjZGVmaW5lIENMS0lEX1hUQUxfQ0xLVFJFRQkJMAo+Pj4gKyNkZWZp bmUgQ0xLSURfU1lTX0FfU0VMCQkJODkKPj4+ICsjZGVmaW5lIENMS0lEX1NZU19BX0RJVgkJCTkw Cj4+PiArI2RlZmluZSBDTEtJRF9TWVNfQQkJCTkxCj4+PiArI2RlZmluZSBDTEtJRF9TWVNfQl9T RUwJCQk5Mgo+Pj4gKyNkZWZpbmUgQ0xLSURfU1lTX0JfRElWCQkJOTMKPj4+ICsjZGVmaW5lIENM S0lEX1NZU19CCQkJOTQKPj4+ICsjZGVmaW5lIENMS0lEX0RTUEFfQV9TRUwJCTk1Cj4+PiArI2Rl ZmluZSBDTEtJRF9EU1BBX0FfRElWCQk5Ngo+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9BCQkJOTcK Pj4+ICsjZGVmaW5lIENMS0lEX0RTUEFfQl9TRUwJCTk4Cj4+PiArI2RlZmluZSBDTEtJRF9EU1BB X0JfRElWCQk5OQo+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9CCQkJMTAwCj4+PiArI2RlZmluZSBD TEtJRF9EU1BCX0FfU0VMCQkxMDEKPj4+ICsjZGVmaW5lIENMS0lEX0RTUEJfQV9ESVYJCTEwMgo+ Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9BCQkJMTAzCj4+PiArI2RlZmluZSBDTEtJRF9EU1BCX0Jf U0VMCQkxMDQKPj4+ICsjZGVmaW5lIENMS0lEX0RTUEJfQl9ESVYJCTEwNQo+Pj4gKyNkZWZpbmUg Q0xLSURfRFNQQl9CCQkJMTA2Cj4+PiArI2RlZmluZSBDTEtJRF9SVENfMzJLX0NMS0lOCQkxMDcK Pj4+ICsjZGVmaW5lIENMS0lEX1JUQ18zMktfRElWCQkxMDgKPj4+ICsjZGVmaW5lIENMS0lEX1JU Q18zMktfWFRBTAkJMTA5Cj4+PiArI2RlZmluZSBDTEtJRF9SVENfMzJLX1NFTAkJMTEwCj4+PiAr I2RlZmluZSBDTEtJRF9DRUNCXzMyS19DTEtJTgkJMTExCj4+PiArI2RlZmluZSBDTEtJRF9DRUNC XzMyS19ESVYJCTExMgo+Pj4gKyNkZWZpbmUgQ0xLSURfQ0VDQl8zMktfU0VMX1BSRQkJMTEzCj4+ PiArI2RlZmluZSBDTEtJRF9DRUNCXzMyS19TRUwJCTExNAo+Pj4gKyNkZWZpbmUgQ0xLSURfQ0VD QV8zMktfQ0xLSU4JCTExNQo+Pj4gKyNkZWZpbmUgQ0xLSURfQ0VDQV8zMktfRElWCQkxMTYKPj4+ ICsjZGVmaW5lIENMS0lEX0NFQ0FfMzJLX1NFTF9QUkUJCTExNwo+Pj4gKyNkZWZpbmUgQ0xLSURf Q0VDQV8zMktfU0VMCQkxMTgKPj4+ICsjZGVmaW5lIENMS0lEX0RJVjJfUFJFCQkJMTE5Cj4+PiAr I2RlZmluZSBDTEtJRF8yNE1fRElWMgkJCTEyMAo+Pj4gKyNkZWZpbmUgQ0xLSURfR0VOX1NFTAkJ CTEyMQo+Pj4gKyNkZWZpbmUgQ0xLSURfR0VOX0RJVgkJCTEyMgo+Pj4gKyNkZWZpbmUgQ0xLSURf U0FSQURDX0RJVgkJMTIzCj4+PiArI2RlZmluZSBDTEtJRF9QV01fQV9TRUwJCQkxMjQKPj4+ICsj ZGVmaW5lIENMS0lEX1BXTV9BX0RJVgkJCTEyNQo+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0JfU0VM CQkJMTI2Cj4+PiArI2RlZmluZSBDTEtJRF9QV01fQl9ESVYJCQkxMjcKPj4+ICsjZGVmaW5lIENM S0lEX1BXTV9DX1NFTAkJCTEyOAo+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0NfRElWCQkJMTI5Cj4+ PiArI2RlZmluZSBDTEtJRF9QV01fRF9TRUwJCQkxMzAKPj4+ICsjZGVmaW5lIENMS0lEX1BXTV9E X0RJVgkJCTEzMQo+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0VfU0VMCQkJMTMyCj4+PiArI2RlZmlu ZSBDTEtJRF9QV01fRV9ESVYJCQkxMzMKPj4+ICsjZGVmaW5lIENMS0lEX1BXTV9GX1NFTAkJCTEz NAo+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0ZfRElWCQkJMTM1Cj4+PiArI2RlZmluZSBDTEtJRF9T UElDQ19TRUwJCQkxMzYKPj4+ICsjZGVmaW5lIENMS0lEX1NQSUNDX0RJVgkJCTEzNwo+Pj4gKyNk ZWZpbmUgQ0xLSURfU1BJQ0NfU0VMMgkJMTM4Cj4+PiArI2RlZmluZSBDTEtJRF9UU19ESVYJCQkx MzkKPj4+ICsjZGVmaW5lIENMS0lEX1NQSUZDX1NFTAkJCTE0MAo+Pj4gKyNkZWZpbmUgQ0xLSURf U1BJRkNfRElWCQkJMTQxCj4+PiArI2RlZmluZSBDTEtJRF9TUElGQ19TRUwyCQkxNDIKPj4+ICsj ZGVmaW5lIENMS0lEX1VTQl9CVVNfU0VMCQkxNDMKPj4+ICsjZGVmaW5lIENMS0lEX1VTQl9CVVNf RElWCQkxNDQKPj4+ICsjZGVmaW5lIENMS0lEX1NEX0VNTUNfU0VMCQkxNDUKPj4+ICsjZGVmaW5l IENMS0lEX1NEX0VNTUNfRElWCQkxNDYKPj4+ICsjZGVmaW5lIENMS0lEX1NEX0VNTUNfU0VMMgkJ MTQ3Cj4+PiArI2RlZmluZSBDTEtJRF9QU1JBTV9TRUwJCQkxNDgKPj4+ICsjZGVmaW5lIENMS0lE X1BTUkFNX0RJVgkJCTE0OQo+Pj4gKyNkZWZpbmUgQ0xLSURfUFNSQU1fU0VMMgkJMTUwCj4+PiAr I2RlZmluZSBDTEtJRF9ETUNfU0VMCQkJMTUxCj4+PiArI2RlZmluZSBDTEtJRF9ETUNfRElWCQkJ MTUyCj4+PiArI2RlZmluZSBDTEtJRF9ETUNfU0VMMgkJCTE1Mwo+Pj4gKyNkZWZpbmUgTlJfQ0xL UwkJCQkxNTQKPj4+ICsKPj4+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svYTEtY2xrYy5o Pgo+Pj4gKwo+Pj4gKyNlbmRpZiAvKiBfX0ExX0ggKi8KPj4KPj4gLgo+PgoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFp bGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK