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=-8.3 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,USER_AGENT_SANE_1 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 182CFC43331 for ; Wed, 13 Nov 2019 14:21:25 +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 A5C57207FC for ; Wed, 13 Nov 2019 14:21:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="gY5Y1PWH" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A5C57207FC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amlogic.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-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=JYyBmP34PG8VIG9on/TXrUXSo/qrXz8i/4ZgCozxw2s=; b=gY5Y1PWHMbKeB6oQ87Fh5LPaV QVpZa7xiNRSvkPLzFarhtUFVwxe0ZrLpnP71CIBFAfx7Ybg/aU9+Nn+md8Li8j2aPW8g2iH9g8r3Z BVfRejP1klebR0B1jW5kolyOnmvfMc88Co9WgSVfglyDCxspc+iCbsTNSQETqvZBWFagBLzSDaydM ZTwSV9cS7zpNvEirqgXMqtV2I5q0N4UpgQMiyjsWIJbYjBiJaecSYHcxH+OHnmBT303RM033v0vq7 A73GNWf1xaNpyR6y/ZFDmBD15ZHSq6BI9jW2WIoJKgxmhYdDZdzNtHevdyG4DptmZHk7JLZgdSrlF 4idJcCrJQ==; 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 1iUtWF-0002Lh-Kg; Wed, 13 Nov 2019 14:21:15 +0000 Received: from mail-sz.amlogic.com ([211.162.65.117]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iUtW9-0002Kx-EJ; Wed, 13 Nov 2019 14:21:13 +0000 Received: from [10.28.39.99] (10.28.39.99) by mail-sz.amlogic.com (10.28.11.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Wed, 13 Nov 2019 22:21:18 +0800 Subject: Re: [PATCH v2 3/3] clk: meson: a1: add support for Amlogic A1 clock driver To: Jerome Brunet , Neil Armstrong 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> <1jblts3v7e.fsf@starbuckisacylon.baylibre.com> <1jh839f2ue.fsf@starbuckisacylon.baylibre.com> From: Jian Hu Message-ID: <20d04452-fc63-9e9e-220f-146b493a860f@amlogic.com> Date: Wed, 13 Nov 2019 22:21:17 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: <1jh839f2ue.fsf@starbuckisacylon.baylibre.com> Content-Language: en-US X-Originating-IP: [10.28.39.99] X-ClientProxiedBy: mail-sz.amlogic.com (10.28.11.5) To mail-sz.amlogic.com (10.28.11.5) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191113_062109_734053_0BD99CE9 X-CRM114-Status: GOOD ( 29.96 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIDIwMTkvMTEvMTMgMDo1OSwgSmVyb21lIEJydW5ldCB3cm90ZToKPiAKPiBPbiBTYXQgMDkg Tm92IDIwMTkgYXQgMTI6MTYsIEppYW4gSHUgPGppYW4uaHVAYW1sb2dpYy5jb20+IHdyb3RlOgo+ IAo+PiBIaSwgSmVyb21lCj4+Cj4+IFNvcnJ5IGZvciBsYXRlIHJlbHkKPj4KPj4gT24gMjAxOS8x MS80IDE2OjI0LCBKZXJvbWUgQnJ1bmV0IHdyb3RlOgo+Pj4KPj4+IE9uIEZyaSAyNSBPY3QgMjAx OSBhdCAxMzozMiwgSmlhbiBIdSA8amlhbi5odUBhbWxvZ2ljLmNvbT4gd3JvdGU6Cj4+Pgo+Pj4+ IEhpLCBKZXJvbWUKPj4+Pgo+Pj4+IFRoYW5rcyBmb3IgeW91ciByZXZpZXcKPj4+Pgo+Pj4+IE9u IDIwMTkvMTAvMjEgMTk6NDEsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4+Pj4+Cj4+Pj4+IE9uIEZy aSAxOCBPY3QgMjAxOSBhdCAwOToxNCwgSmlhbiBIdSA8amlhbi5odUBhbWxvZ2ljLmNvbT4gd3Jv dGU6Cj4+Pj4+Cj4+Pj4+PiBUaGUgQW1sb2dpYyBBMSBjbG9jayBpbmNsdWRlcyB0aHJlZSBkcml2 ZXJzOgo+Pj4+Pj4gcGVyaXBoZXJhbCBjbG9ja3MsIHBsbCBjbG9ja3MsIENQVSBjbG9ja3MuCj4+ Pj4+PiBzeXMgcGxsIGFuZCBDUFUgY2xvY2tzIHdpbGwgYmUgc2VudCBpbiBuZXh0IHBhdGNoLgo+ Pj4+Pj4KPj4+Pj4+IFVubGlrZSB0aGUgcHJldmlvdXMgc2VyaWVzLCB0aGVyZSBpcyBubyBFRS9B TyBkb21haW4KPj4+Pj4+IGluIEExIENMSyBjb250cm9sbGVycy4KPj4+Pj4+Cj4+Pj4+PiBTaWdu ZWQtb2ZmLWJ5OiBKaWFuIEh1IDxqaWFuLmh1QGFtbG9naWMuY29tPgo+Pj4+Pj4gLS0tCj4+Pj4+ PiAgICAgZHJpdmVycy9jbGsvbWVzb24vS2NvbmZpZyAgfCAgIDEwICsKPj4+Pj4+ICAgICBkcml2 ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZSB8ICAgIDEgKwo+Pj4+Pj4gICAgIGRyaXZlcnMvY2xrL21l c29uL2ExLXBsbC5jIHwgIDM0NSArKysrKysrCj4+Pj4+PiAgICAgZHJpdmVycy9jbGsvbWVzb24v YTEtcGxsLmggfCAgIDU2ICsrCj4+Pj4+PiAgICAgZHJpdmVycy9jbGsvbWVzb24vYTEuYyAgICAg fCAyMjY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+Pj4+ PiAgICAgZHJpdmVycy9jbGsvbWVzb24vYTEuaCAgICAgfCAgMTIwICsrKwo+Pj4+Pj4gICAgIDYg ZmlsZXMgY2hhbmdlZCwgMjc5NiBpbnNlcnRpb25zKCspCj4+Pj4+PiAgICAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5jCj4+Pj4+PiAgICAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5oCj4+Pj4+PiAgICAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvY2xrL21lc29uL2ExLmMKPj4+Pj4+ICAgICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9jbGsvbWVzb24vYTEuaAo+Pj4+Pgo+Pj4+PiBJbiB0aGUgbmV4dCB2ZXJzaW9u LCBvbmUKPj4+PiBPSywgSSB3aWxsIHNlbmQgYTEgcGVyaXBoZXJhbCBhbmQgcGxsIGRyaXZlciBp biB0d28gcGF0Y2guCj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xr L21lc29uL0tjb25maWcgYi9kcml2ZXJzL2Nsay9tZXNvbi9LY29uZmlnCj4+Pj4+PiBpbmRleCBk YWJlYjQzLi5jMjgwOWIyIDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9jbGsvbWVzb24vS2Nv bmZpZwo+Pj4+Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vS2NvbmZpZwo+Pj4+Pj4gQEAgLTkz LDYgKzkzLDE2IEBAIGNvbmZpZyBDT01NT05fQ0xLX0FYR19BVURJTwo+Pj4+Pj4gICAgIAkgIFN1 cHBvcnQgZm9yIHRoZSBhdWRpbyBjbG9jayBjb250cm9sbGVyIG9uIEFtTG9naWMgQTExM0QgZGV2 aWNlcywKPj4+Pj4+ICAgICAJICBha2EgYXhnLCBTYXkgWSBpZiB5b3Ugd2FudCBhdWRpbyBzdWJz eXN0ZW0gdG8gd29yay4KPj4+Pj4+ICAgICArY29uZmlnIENPTU1PTl9DTEtfQTEKPj4+Pj4+ICsJ Ym9vbAo+Pj4+Pj4gKwlkZXBlbmRzIG9uIEFSQ0hfTUVTT04KPj4+Pj4+ICsJc2VsZWN0IENPTU1P Tl9DTEtfTUVTT05fUkVHTUFQCj4+Pj4+PiArCXNlbGVjdCBDT01NT05fQ0xLX01FU09OX0RVQUxE SVYKPj4+Pj4+ICsJc2VsZWN0IENPTU1PTl9DTEtfTUVTT05fUExMCj4+Pj4+PiArCWhlbHAKPj4+ Pj4+ICsJICBTdXBwb3J0IGZvciB0aGUgY2xvY2sgY29udHJvbGxlciBvbiBBbWxvZ2ljIEExMTNM IGRldmljZSwKPj4+Pj4+ICsJICBha2EgYTEuIFNheSBZIGlmIHlvdSB3YW50IHBlcmlwaGVyYWxz IHRvIHdvcmsuCj4+Pj4+PiArCj4+Pj4+PiAgICAgY29uZmlnIENPTU1PTl9DTEtfRzEyQQo+Pj4+ Pj4gICAgIAlib29sCj4+Pj4+PiAgICAgCWRlcGVuZHMgb24gQVJDSF9NRVNPTgo+Pj4+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lc29uL01ha2VmaWxlIGIvZHJpdmVycy9jbGsvbWVzb24v TWFrZWZpbGUKPj4+Pj4+IGluZGV4IDM5MzlmMjEuLjI4Y2JhZTEgMTAwNjQ0Cj4+Pj4+PiAtLS0g YS9kcml2ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZQo+Pj4+Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVz b24vTWFrZWZpbGUKPj4+Pj4+IEBAIC0xNiw2ICsxNiw3IEBAIG9iai0kKENPTkZJR19DT01NT05f Q0xLX01FU09OX1ZJRF9QTExfRElWKSArPSB2aWQtcGxsLWRpdi5vCj4+Pj4+PiAgICAgICBvYmot JChDT05GSUdfQ09NTU9OX0NMS19BWEcpICs9IGF4Zy5vIGF4Zy1hb2Nsay5vCj4+Pj4+PiAgICAg b2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfQVhHX0FVRElPKSArPSBheGctYXVkaW8ubwo+Pj4+Pj4g K29iai0kKENPTkZJR19DT01NT05fQ0xLX0ExKSArPSBhMS1wbGwubyBhMS5vCj4+Pj4+Cj4+Pj4+ IFNvIGZhciwgYWxsIHRoZSBjb250cm9sbGVyIGhhZCB0aGVyZSBvd24gb3B0aW9uLCBJIGRvbid0 IHNlZSB3aHkgaXQKPj4+Pj4gc2hvdWxkIGJlIGRpZmZlcmVudCBoZXJlLgo+Pj4+Pgo+Pj4+IE9L LCBJIHdpbGwgYWRkIHRoZSBvdGhlciBvcHRpb24gQ09ORklHX0NPTU1PTl9DTEtfQTFfUExMIGZv ciBwbGwgZHJpdmVyCj4+Pj4+PiAgICAgb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfR1hCQikgKz0g Z3hiYi5vIGd4YmItYW9jbGsubwo+Pj4+Pj4gICAgIG9iai0kKENPTkZJR19DT01NT05fQ0xLX0cx MkEpICs9IGcxMmEubyBnMTJhLWFvY2xrLm8KPj4+Pj4+ICAgICBvYmotJChDT05GSUdfQ09NTU9O X0NMS19NRVNPTjhCKSArPSBtZXNvbjhiLm8KPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Ns ay9tZXNvbi9hMS1wbGwuYyBiL2RyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5jCj4+Pj4+PiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+Pj4+Pj4gaW5kZXggMDAwMDAwMC4uNDg2ZDk2NAo+Pj4+Pj4gLS0t IC9kZXYvbnVsbAo+Pj4+Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vYTEtcGxsLmMKPj4+Pj4+ IEBAIC0wLDAgKzEsMzQ1IEBACj4+Pj4+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChH UEwtMi4wKyBPUiBNSVQpCj4+Pj4+PiArLyoKPj4+Pj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkg QW1sb2dpYywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+Pj4+Pj4gKyAqIEF1dGhvcjogSmlh biBIdSA8amlhbi5odUBhbWxvZ2ljLmNvbT4KPj4+Pj4+ICsgKi8KPj4+Pj4+ICsKPj4+Pj4+ICsj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4+Pj4+Cj4+Pj4+IEh1bSAuLi4gbG9v a3MgbGlrZSBzb21lIHRoaW5ncyBhcmUgbWlzc2luZyBoZXJlCj4+Pj4+Cj4+Pj4+ICNpbmNsdWRl IDxsaW51eC9vZl9kZXZpY2UuaD4KPj4+Pj4gI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5o Pgo+Pj4+Pgo+Pj4+PiA/Cj4+Pj4gIzEKPj4+PiBUaGVyZSBpcyA8bGludXgvY2xrLXByb3ZpZGVy Lmg+IGluIG1lc29uLWVlY2xrLmggZmlsZSwKPj4+Pgo+Pj4+IGFuZCBmb3IgQTEgZHJpdmVyKGEx LmMvYTEtcGxsLmMpIHRoZSBoZWFkIGZpbGUgaXMgbm90IHJlcXVpZWQuCj4+Pj4KPj4+PiAjMgo+ Pj4+IEZvciBBMSBkcml2ZXIsIHRoZSBmaWxlICJsaW51eC9vZl9kZXZpY2UuaCIgaXMgbm90IHJl cXVpcmVkLgo+Pj4+IEl0IGlzIHJlcXVpcmVkIGJ5IG1lc29uLWVlY2xrLmMgaW4gZmFjdC4KPj4+ Cj4+PiBZb3UgYXJlIHVzaW5nIHdoYXQgaXMgcHJvdmlkZWQgYnkgdGhlc2UgaGVhZGVycyBkaXJl Y3RseSBpbiB0aGlzIGZpbGUKPj4+IElmIG1lc29uLWVlY2xrIGV2ZXIgY2hhbmdlcywgeW91ciBk cml2ZXIgYnJlYWtzCj4+Pgo+PiBPSywgSSB3aWxsIGFkZCB0aGUgdHdvIGhlYWRlciBmaWxlLgo+ Pj4+Pgo+Pj4+Pj4gKyNpbmNsdWRlICJjbGstcGxsLmgiCj4+Pj4+PiArI2luY2x1ZGUgIm1lc29u LWVlY2xrLmgiCj4+Pj4+PiArI2luY2x1ZGUgImExLXBsbC5oIgo+Pj4+Pgo+Pj4+PiBBbHBoYW51 bWVyaWMgb3JkZXIgcGxlYXNlCj4+Pj4+Cj4+Pj4gT0ssIEkgd2lsbCBjaGFuZ2UgaXQgaW4gdGhl IG5leHQgdmVyc2lvbi4KPj4+Pgo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV9maXhlZF9wbGxfZGNvID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IG1lc29u X2Nsa19wbGxfZGF0YSl7Cj4+Pj4+PiArCQkuZW4gPSB7Cj4+Pj4+PiArCQkJLnJlZ19vZmYgPSBB TkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+Pj4+ICsJCQkuc2hpZnQgICA9IDI4LAo+Pj4+Pj4gKwkJ CS53aWR0aCAgID0gMSwKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubSA9IHsKPj4+Pj4+ICsJCQku cmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4+Pj4gKwkJCS5zaGlmdCAgID0gMCwK Pj4+Pj4+ICsJCQkud2lkdGggICA9IDgsCj4+Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLm4gPSB7Cj4+ Pj4+PiArCQkJLnJlZ19vZmYgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+Pj4+ICsJCQkuc2hp ZnQgICA9IDEwLAo+Pj4+Pj4gKwkJCS53aWR0aCAgID0gNSwKPj4+Pj4+ICsJCX0sCj4+Pj4+PiAr CQkuZnJhYyA9IHsKPj4+Pj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NUUkwxLAo+ Pj4+Pj4gKwkJCS5zaGlmdCAgID0gMCwKPj4+Pj4+ICsJCQkud2lkdGggICA9IDE5LAo+Pj4+Pj4g KwkJfSwKPj4+Pj4+ICsJCS5sID0gewo+Pj4+Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQ TExfQ1RSTDAsCj4+Pj4+PiArCQkJLnNoaWZ0ICAgPSAzMSwKPj4+Pj4+ICsJCQkud2lkdGggICA9 IDEsCj4+Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLnJzdCA9IHsKPj4+Pj4+ICsJCQkucmVnX29mZiA9 IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4+Pj4gKwkJCS5zaGlmdCAgID0gMjksCj4+Pj4+PiAr CQkJLndpZHRoICAgPSAxLAo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3Lmlu aXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gImZpeGVkX3Bs bF9kY28iLAo+Pj4+Pj4gKwkJLm9wcyA9ICZtZXNvbl9jbGtfcGxsX3JvX29wcywKPj4+Pj4+ICsJ CS5wYXJlbnRfZGF0YSA9ICYoY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSl7Cj4+Pj4+PiAr CQkJLmZ3X25hbWUgPSAieHRhbF9maXhwbGwiLAo+Pj4+Pj4gKwkJCS5uYW1lID0gInh0YWxfZml4 cGxsIiwKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwl9 LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx X2ZpeGVkX3BsbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVf ZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+Pj4+PiAr CQkuYml0X2lkeCA9IDIwLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0 IGNsa19pbml0X2RhdGEpIHsKPj4+Pj4+ICsJCS5uYW1lID0gImZpeGVkX3BsbCIsCj4+Pj4+PiAr CQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChj b25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9maXhlZF9wbGxfZGNvLmh3 Cj4+Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS8qCj4+ Pj4+PiArCQkgKiBUaGlzIGNsb2NrIGlzIGZjbGtfZGl2Mi8zLzQncyBwYXJlbnQsCj4+Pj4+PiAr CQkgKiBIb3dldmVyLCBmY2xrX2RpdjIvMy81IGZlZWRzIEFYSS9BUEIvRERSLgo+Pj4+Pgo+Pj4+ PiBpcyBpdCBmY2xrX2RpdjIvMy80IG9yIGZjbGtfZGl2Mi8zLzUgPwo+Pj4+Pgo+Pj4+Pj4gKwkJ ICogSXQgaXMgcmVxdWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJhdGUgY29ycmVjdGx5Lgo+ Pj4+Pj4gKwkJICogVW50aWwgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gYXJlIG1ldCwgd2UgbmVl ZCB0aGlzIGNsb2NrIHRvCj4+Pj4+PiArCQkgKiBiZSBtYXJrZWQgYXMgY3JpdGljYWw6Cj4+Pj4+ PiArCQkgKiBhKSBNYXJrIHRoZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVzb3VyY2UsIGlm IHBvc3NpYmxlCj4+Pj4+PiArCQkgKiBiKSBDQ0YgaGFzIGEgY2xvY2sgaGFuZC1vZmYgbWVjaGFu aXNtIHRvIG1ha2UgdGhlIHN1cmUgdGhlCj4+Pj4+PiArCQkgKiAgICBjbG9jayBzdGF5cyBvbiB1 bnRpbCB0aGUgcHJvcGVyIGRyaXZlciBjb21lcyBhbG9uZwo+Pj4+Pj4gKwkJICovCj4+Pj4+Cj4+ Pj4+IERvbid0IGJsaW5kbHkgY29weS9wYXN0ZSBjb21tZW50cyBmcm9tIG90aGVyIGRyaXZlcnMu IFRoZXJlIGlzIG5vIGRyaXZlcgo+Pj4+PiBmb3IgdGhlIGRldmljZXMgeW91IGFyZSBtZW50aW9u bmluZyBzbyB0aGUgZW5kIG9mIHRoZSBjb21tZW50IGlzCj4+Pj4+IGNvbmZ1c2luZy4gVGhlIDMg Zmlyc3QgbGluZXMgd2VyZSBlbm91Z2gKPj4+Pj4KPj4+PiBPSywgSSB3aWxsIHJlbW92ZSB0aGUg Y29uZnVzaW5nIGNvbW1lbnRzCj4+Pj4KPj4+Pj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNB TCwKPj4+Pj4KPj4+Pj4gPkZyb20geW91ciBjb21tZW50LCBJIHVuZGVyc3RhbmQgdGhhdCBzb21l IGNoaWxkIGFyZSBjcml0aWNhbCwgbm90IHRoaXMKPj4+Pj4gcGFydGljdWxhciAob3IgYXQgbGVh c3QsIG5vdCBkaXJlY3RseSkuIFNvIHRoaXMgY2FuIGJlIHJlbW92ZWQgQUZBSUNUCj4+Pj4+Cj4+ Pj4+IFlvdSBzaG91bGQgZXZlbiBuZWVkIENMS19JR05PUkVfVU5VU0VEIGZvciB0aGlzIG9uZSBz aW5jZSB0aGUgY2xvY2sgd2lsbAo+Pj4+PiBhbHJlYWR5IGJlIGVuYWJsZWQgYmVmb3JlIHRoZSBs YXRlX2luaXQoKSBraWNrcyBpbgo+Pj4+Pgo+Pj4+IE9LLCBJIHdpbGwgcmVwbGFjZSBpdCBhcyBD TEtfSUdOT1JFX1VOVVNFRC4KPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4g K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGxsX211bHRfcmFuZ2UgYTFfaGlmaV9wbGxfbXVsdF9yYW5n ZSA9IHsKPj4+Pj4+ICsJLm1pbiA9IDMyLAo+Pj4+Pj4gKwkubWF4ID0gNjQsCj4+Pj4+PiArfTsK Pj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ19zZXF1ZW5jZSBhMV9oaWZp X2luaXRfcmVnc1tdID0gewo+Pj4+Pj4gKwl7IC5yZWcgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDEs IC5kZWYgPSAweDAxODAwMDAwIH0sCj4+Pj4+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9D VFJMMiwgLmRlZiA9IDB4MDAwMDExMDAgfSwKPj4+Pj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJ UExMX0NUUkwzLCAuZGVmID0gMHgxMDBhMTEwMCB9LAo+Pj4+Pj4gKwl7IC5yZWcgPSBBTkFDVFJM X0hJRklQTExfQ1RSTDQsIC5kZWYgPSAweDAwMzAyMDAwIH0sCj4+Pj4+PiArCXsgLnJlZyA9IEFO QUNUUkxfSElGSVBMTF9DVFJMMCwgLmRlZiA9IDB4MDFmMTg0NDAgfSwKPj4+Pj4+ICsJeyAucmVn ID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwwLCAuZGVmID0gMHgxMWYxODQ0MCwgLmRlbGF5X3VzID0g MTAgfSwKPj4+Pj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwwLCAuZGVmID0gMHgx NWYxODQ0MCwgLmRlbGF5X3VzID0gNDAgfSwKPj4+Pj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJ UExMX0NUUkwyLCAuZGVmID0gMHgwMDAwMTE0MCB9LAo+Pj4+Pj4gKwl7IC5yZWcgPSBBTkFDVFJM X0hJRklQTExfQ1RSTDIsIC5kZWYgPSAweDAwMDAxMTAwIH0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsK Pj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfaGlmaV9wbGwgPSB7Cj4+Pj4+PiAr CS5kYXRhID0gJihzdHJ1Y3QgbWVzb25fY2xrX3BsbF9kYXRhKXsKPj4+Pj4+ICsJCS5lbiA9IHsK Pj4+Pj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwKPj4+Pj4+ICsJCQku c2hpZnQgICA9IDI4LAo+Pj4+Pj4gKwkJCS53aWR0aCAgID0gMSwKPj4+Pj4+ICsJCX0sCj4+Pj4+ PiArCQkubSA9IHsKPj4+Pj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwK Pj4+Pj4+ICsJCQkuc2hpZnQgICA9IDAsCj4+Pj4+PiArCQkJLndpZHRoICAgPSA4LAo+Pj4+Pj4g KwkJfSwKPj4+Pj4+ICsJCS5uID0gewo+Pj4+Pj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9ISUZJ UExMX0NUUkwwLAo+Pj4+Pj4gKwkJCS5zaGlmdCAgID0gMTAsCj4+Pj4+PiArCQkJLndpZHRoICAg PSA1LAo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5mcmFjID0gewo+Pj4+Pj4gKwkJCS5yZWdfb2Zm ID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwxLAo+Pj4+Pj4gKwkJCS5zaGlmdCAgID0gMCwKPj4+Pj4+ ICsJCQkud2lkdGggICA9IDE5LAo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5sID0gewo+Pj4+Pj4g KwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9ISUZJUExMX1NUUywKPj4+Pj4+ICsJCQkuc2hpZnQgICA9 IDMxLAo+Pj4+Pj4gKwkJCS53aWR0aCAgID0gMSwKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkucmFu Z2UgPSAmYTFfaGlmaV9wbGxfbXVsdF9yYW5nZSwKPj4+Pj4+ICsJCS5pbml0X3JlZ3MgPSBhMV9o aWZpX2luaXRfcmVncywKPj4+Pj4+ICsJCS5pbml0X2NvdW50ID0gQVJSQVlfU0laRShhMV9oaWZp X2luaXRfcmVncyksCj4+Pj4+PiArCQkuc3RyaWN0X3NlcXVlbmNlID0gdHJ1ZSwKPj4+Pj4+ICsJ fSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJ CS5uYW1lID0gImhpZmlfcGxsIiwKPj4+Pj4+ICsJCS5vcHMgPSAmbWVzb25fY2xrX3BsbF9vcHMs Cj4+Pj4+PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEp ewo+Pj4+Pj4gKwkJCS5md19uYW1lID0gInh0YWxfZml4cGxsIiwKPj4+Pj4+ICsJCQkubmFtZSA9 ICJ4dGFsX2ZpeHBsbCIsCj4+Pj4+Cj4+Pj4+IEJvdGggc2hvdWxkIHByb3ZpZGVkIHdoZW4gYSBj b250cm9sbGVyIHRyYW5zaXRpb24gZnJvbSB0aGUgb2xkIHdheSBvZgo+Pj4+PiBkZXNjcmliaW5n IHBhcmVudCB0byB0aGUgbmV3IHdheS4gVGhpcyBpcyBhIG5ldyBjb250cm9sbGVyIHNvIGl0IGRv ZXMKPj4+Pj4gbm90IGFwcGx5Lgo+Pj4+IEkgZG8gbm90IHVuZGVyc3RhbmQgd2h5IGl0IGRvZXMg bm90IGFwcGx5LCBjb3VsZCB5b3UgZXhwbGFpbiBtb3JlPwo+Pj4KPj4+IFlvdXIgZHJpdmVyIGlz IG5ldywgaXQgaXMgbm90IHNvbWV0aGluZyBvbGQgdHJhbnNpdGlvbmluZyBmcm9tIGdsb2JhbAo+ Pj4gbmFtZSB0byBjbG9jayBpbiBEVCAhCj4+Pgo+Pj4+Cj4+Pj4gVGhlIHh0YWxfZml4cGxsIGNs b2NrIGlzIHJlZ2lzdGVyZWQgaW4gYW5vdGhlciBwZXJpcGhlcmFsIGRyaXZlciwgSWYgZG8gbm90 Cj4+Pj4gZGVzcmliZSB0aGUgIm5hbWUiIG1lbWJlciBpbiBwYXJlbnRfZGF0YSwgImZ3X25hbWUi IGRvZXMgbm90IHdvcmsgYmVjYXVzZQo+Pj4+IGl0IGhhcyBub3QgYmVlbiByZWdpc3RlcmVkLiB0 aGUgaGlmaV9wbGwgcGFyZW50IHdpbGwgYmUgbnVsbCBpbgo+Pj4+IC9zeXMva2VybmVsL2RlYnVn L2Nsay9oaWZpX3BsbC9jbGtfcGFyZW50Lgo+Pj4+Cj4+Pj4gSElGSSBQTEwgd2lsbCBiZSBhIG9y cGhhbiBjbG9jaywgYnV0IGl0cyBwYXJlbnQgc2hvdWxkIGJlIHh0YWxfZml4cGxsLgo+Pj4KPj4+ IFRoZXJlIHdpbGwgYmUgYW4gb3JwaGFuIHllcywgdGVtcG9yYXJpbHksIHVudGlsIGJvdGggY29u dHJvbGxlcnMgYXJlIHVwLgo+Pj4gT25jZSBib3RoIGNvbnRyb2xsZXIgYXJlIHVwLCB0aGUgY2xv Y2sgd2lsbCBiZSByZXBhcmVudGVkIGlmIG5lY2Vzc2FyeS4KPj4+Cj4+Pj4KPj4+PiBTbyBib3Ro IG9mICJmd19uYW1lIiBvZiAibmFtZSIgc2hvdWxkIGJlIGRlc2NyaWJlZC4KPj4+Cj4+PiBObwo+ Pj4KPj4KPj4gIzEKPj4KPj4gSGVyZSwgSSBhbSBzdGlsbCBjb25mdXNlZC4KPj4gIEZyb20gdGhl IHBvaW50IG9mIHZpZXcgb2YgdGhlIHBoZW5vbWVub27vvIwgdGhlIG5hbWUgaW4gcGFyZW50X2Rh dGEgaXMKPj4gcmVxdWlyZWQuCj4+Cj4+Cj4+IEhJRkkgUExMIGlzIGRlc2NyaWJlZCBsaWtlIHRo aXM6Cj4+Cj4+IAkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEp ewo+PiAJCS5md19uYW1lID0gInh0YWxfaGlmaXBsbCIsCj4+IAkJLm5hbWUgPSAieHRhbF9oaWZp cGxsIgo+PiAJfQo+Pgo+PiBGaXhlZCBQTEwgaXMgZGVzY3JpYmVkIGxpa2UgdGhpczoKPj4KPj4g CS5wYXJlbnRfZGF0YSA9ICYoY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSl7Cj4+IAkJLmZ3 X25hbWUgPSAieHRhbF9maXhwbGwiLAo+PiAJfSwKPj4KPj4gQWZ0ZXIgdGhlIHN5c3RlbSBib290 IGNvbXBsZXRlbHnvvIwgcnVuIGNhdAo+PiAvc3lzL2tlcm5lbC9kZWJ1Zy9jbGsvY2xrX3N1bW1h cnksIEhlcmUgaXMgdGhlIHJlc3VsdDoKPj4KPj4gIyBjYXQgL3N5cy9rZXJuZWwvZGVidWcvY2xr L2Nsa19zdW1tYXJ5Cj4+ICAgICAgICAgICAgICAgICAgIGVuYWJsZSAgcHJlcGFyZSAgcHJvdGVj dCAgICAgICAgICAgICAgICAgICAgZHV0eQo+PiAgICAgY2xvY2sgICAgICAgICBjb3VudCAgIGNv dW50ICAgIGNvdW50ICByYXRlIGFjY3VyYWN5IHBoYXNlIGN5Y2xlCj4+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ ICAgeHRhbCAgICAgICAgICAgIDUgICAgICAgIDUgICAgICAgIDAgICAgMjQwMDAwMDAgICAgMCAg ICAgMCAgNTAwMDAKPj4gICAgICB0c19kaXYgICAgICAgMCAgICAgICAgMCAgICAgICAgMCAgICAy NDAwMDAwMCAgICAwICAgICAwICA1MDAwMAo+PiAgICAgICAgIHRzICAgICAgICAwICAgICAgICAw ICAgICAgICAwICAgIDI0MDAwMDAwICAgIDAgICAgIDAgIDUwMDAwCj4+ICAgICAgcHdtX2Zfc2Vs ICAgIDAgICAgICAgIDAgICAgICAgIDAgICAgMjQwMDAwMDAgICAgMCAgICAgMCAgNTAwMDAKPj4g ICAgICAgICBwd21fZl9kaXYgMCAgICAgICAgMCAgICAgICAgMCAgICAyNDAwMDAwMCAgICAwICAg ICAwICA1MDAwMAo+PiAgICAgICAgICAgIHB3bV9mICAwICAgICAgICAwICAgICAgICAwICAgIDI0 MDAwMDAwICAgIDAgICAgIDAgIDUwMDAwCj4+IC4uLi4uLgo+PiAgICAgIHh0YWxfc3lzcGxsICAw ICAgICAgICAwICAgICAgICAwICAgIDI0MDAwMDAwICAgIDAgICAgIDAgIDUwMDAwCj4+ICAgICAg eHRhbF9oaWZpcGxsIDAgICAgICAgIDAgICAgICAgIDAgICAgMjQwMDAwMDAgICAgMCAgICAgMCAg NTAwMDAKPj4gICAgICAgICBoaWZpX3BsbCAgMCAgICAgICAgMCAgICAgICAgMCAgMTUzNjAwMDAw MCAgICAwICAgICAwICA1MDAwMAo+PiAgICAgIHh0YWxfdXNiX2N0cmwgMCAgICAgICAgMCAgICAg ICAgMCAgICAyNDAwMDAwMCAgIDAgICAgIDAgIDUwMDAwCj4+ICAgICAgeHRhbF91c2JfcGh5ICAw ICAgICAgICAwICAgICAgICAwICAgIDI0MDAwMDAwICAgMCAgICAgMCAgNTAwMDAKPj4gICAgICB4 dGFsX2ZpeHBsbCAgIDAgICAgICAgIDAgICAgICAgIDAgICAgMjQwMDAwMDAgICAwICAgICAwICA1 MDAwMAo+PiAgICAgIHh0YWxfY2xrdHJlZSAgMCAgICAgICAgMCAgICAgICAgMCAgICAyNDAwMDAw MCAgIDAgICAgIDAgIDUwMDAwCj4+ICAgZml4ZWRfcGxsX2RjbyAgICAxICAgICAgICAxICAgICAg ICAwICAgICAgICAgMCAgIDAgICAgIDAgIDUwMDAwCj4gCj4gVGhpcyBtZWFucyB0aGF0IENDRiB3 aGF0IG5vdCBhYmxlIHRvIHJlc29sdmUgdGhlIHBhcmVudC4KPiBFaXRoZXI6Cj4gKiB5b3UndmUg bWFkZSBhIG1pc3Rha2Ugc29tZXdoZXJlCj4gKiBUaGVyZSBpcyBidWcgaW4gQ0NGIHdoZW4gdGhl IHBhcmVudCBkZXZpY2UgaXMgbm90IGF2YWlsYWJsZSBhdCBwcm9iZQo+IHRpbWUsIHRoZSBjbG9j ayBpcyBub3QgcHJvcGVybHkgcmVwYXJlbnRlZAo+IAoKIzEgQWRkIERUIGRlc2NyaWJ0aW9uCgpE VCBkZXNjcmlwdGlvbjoKCmNsa2NfcGxsOiBwbGwtY2xvY2stY29udHJvbGxlciB7CiAgICAgICBj b21wYXRpYmxlID0gImFtbG9naWMsYTEtcGxsLWNsa2MiOwogICAgICAgI2Nsb2NrLWNlbGxzID0g PDE+OwogICAgICAgcmVnID0gPDAgMHg3YzgwIDAgMHgyMWM+OwogICAgICAgY2xvY2tzID0gPCZj bGtjX3BlcmlwaHMgQ0xLSURfWFRBTF9GSVhQTEw+LAogICAgICAgICAgICAgPCZjbGtjX3Blcmlw aHMgQ0xLSURfWFRBTF9ISUZJUExMPjsKICAgICAgIGNsb2NrLW5hbWVzID0gInh0YWxfZml4cGxs IiwgInh0YWxfaGlmaXBsbCI7Cn07CgpjbGtjX3BlcmlwaHM6IHBlcmlwaHMtY2xvY2stY29udHJv bGxlciB7CiAgICAgICBjb21wYXRpYmxlID0gImFtbG9naWMsYTEtcGVyaXBocy1jbGtjIjsKICAg ICAgICNjbG9jay1jZWxscyA9IDwxPjsKICAgICAgIHJlZyA9IDwwIDB4ODAwIDAgMHgxMDQ+Owog ICAgICAgY2xvY2tzID0gPCZjbGtjX3BsbCBDTEtJRF9GQ0xLX0RJVjI+LAogICAgICAgICAgICAg ICAgPCZjbGtjX3BsbCBDTEtJRF9GQ0xLX0RJVjM+LAogICAgICAgICAgICAgICAgPCZjbGtjX3Bs bCBDTEtJRF9GQ0xLX0RJVjU+LAogICAgICAgICAgICAgICAgPCZjbGtjX3BsbCBDTEtJRF9GQ0xL X0RJVjc+LAogICAgICAgICAgICAgICAgPCZjbGtjX3BsbCBDTEtJRF9ISUZJX1BMTD4sCiAgICAg ICAgICAgICAgICA8Jnh0YWw+OwogICAgICAgY2xvY2stbmFtZXMgPSAiZmNsa19kaXYyIiwgImZj bGtfZGl2MyIsICJmY2xrX2RpdjUiLAogICAgICAgICAgICAgICAgICAgICAiZmNsa19kaXY3Iiwg ImhpZmlfcGxsIiwgInh0YWwiOwp9OwoKQW5kIFBMTCBjbG9jayBkcml2ZXIgcHJvYmUgZmlyc3Qu CgpXaGVuIHJlZ2lzdGVyIHh0YWxfZml4cGxsIGNsb2NrIGluIHBlcmlwaHMgZHJpdmVyCgppdCB3 aWxsIHdhbGsgdGhlIGxpc3Qgb2Ygb3JwaGFuIGNsb2NrcywgaXQgd2lsbCB0cnkgdG8gZ2V0IHRo ZSBvcnBoYW4gCnBhcmVudC4KCnRoZSBjb2RlIHBhdGggaXMgOgoKc3RydWN0IGNsa19jb3JlICpw YXJlbnQgPSBfX2Nsa19pbml0X3BhcmVudChvcnBoYW4pCgogICAtPiBjbGtfY29yZV9nZXRfcGFy ZW50X2J5X2luZGV4KGNvcmUsIGluZGV4KQoKICAgIC0+Y2xrX2NvcmVfZmlsbF9wYXJlbnRfaW5k ZXgKCiAgICAgLT5jbGtfY29yZV9nZXQKCiAgICAgIC0+b2ZfY2xrX2dldF9od19mcm9tX2Nsa3Nw ZWMKCkluIG9mX2Nsa19nZXRfaHdfZnJvbV9jbGtzcGVjIGZ1bmN0aW9uLCBpdCB3aWxsIGdldCBo d19jbGsgZnJvbSAKY2xrX3Byb3ZpZGVyLCBIb3dldmVyIHRoZSBwZXJpcGhlcmFsIGNsb2NrIHBy b3ZpZGVyIGhhcyBub3QgYmVlbgphZGRlZCB0byAib2ZfY2xrX3Byb3ZpZGVycyIgTElTVCwgSW4g b3RoZXIgd29yZHMsIHRoZSBwZXJpcGhlcmFsIGNsb2NrCnByb3ZpZGVyIGRvZXMgbm90IGV4aXN0 IGF0IHRoaXMgdGltZS4gKGRldm1fb2ZfY2xrX2FkZF9od19wcm92aWRlciBoYXMgCm5vdCBydW4p CgpTbyBJdCB3aWxsIGdldCBwYXJlbnQgZmFpbGVkIGZyb20gRFQuCgpldmVuIGlmIG5hbWUgaXMg YWRkZWQgaW4gcGFyZW50X2RhdGEsIFBUUl9FUlIocGFyZW50KSBpcyBub3QgZXF1YWwgCi1FTk9F TlQsIGl0IHdpbGwgbm90IHJ1biBjbGtfY29yZV9sb29rdXAsIHRoZSBmaXhlZF9wbGxfZGNvIGlz IHN0aWxsIGEgCm9ycGhhbiBjbG9jay4KCiMyIE5vdCBhZGQgRFQgZGVzY3JpYnRpb24KCnRoZSBj b2RlIHBhdGggaXMgOgoKc3RydWN0IGNsa19jb3JlICpwYXJlbnQgPSBfX2Nsa19pbml0X3BhcmVu dChvcnBoYW4pCgogICAtPiBjbGtfY29yZV9nZXRfcGFyZW50X2J5X2luZGV4KGNvcmUsIGluZGV4 KQoKICAgIC0+Y2xrX2NvcmVfZmlsbF9wYXJlbnRfaW5kZXgKCiAgICAgLT5jbGtfY29yZV9nZXQK CiAgICAgIC0+Y2xrX2ZpbmRfaHcKCmNsa19maW5kX2h3IGlzIHVzZWQgd2hlbiB0aGUgY2xvY2sg aXMgcmVnaXN0ZXJlZCBieSBjbGtfcmVnaXN0ZXJfY2xrZGV2CgpTbyBpdCB3bGxsIGdldCBwYXJl bnRlZCBmYWlsZWQgYnkgY2xrX2ZpbmRfaHcuCgpXaGVuIG5hbWUgaXMgZGVzY3JpYmVkIGluIHBh cmVudF9kYXRhLCB0aGUgcGFyZW50IHdpbGwgYmUgZm91bmQgYnkKCmNsa19jb3JlX2xvb2t1cC4K CgpJbiB0aGlzIHNjZW5l77yMT25seSBmd19uYW1lIGluIHBhcmVudF9kYXRhLCB0aGUgb3JwaGFu IGNsb2NrJ3MgcGFyZW50IGNhbiAKbm90IGJlIGZvdW5kLCBCdXQgYWRkIHRoZSBsZWdhY3kgbmFt ZSwgdGhlIHBhcmVudCB3aWxsIGJlIGZvdW5kLgoKIzMKV2hlbiB0aGUgcHJvdmlkZXIgaGFzIG5v dCBiZWVuIGFkZGVkIHRvIHRoZSBDQ0YsIEFuZCBmd19uYW1lIGlzIGFsb25lIGluIApwYXJlbnRf ZGF0YSBpbiBhIG9ycGhhbiBjbG9jayAsIEhvdyB0byBnZXQgdGhlIG9ycGhhbiBjbG9jaydwYXJl bnQgPwpJdCBzZWVtcyBub3Qgc3VwcG9ydGVkLgoKPiBFaXRoZXIgd2F5LCB5b3UnbGwgaGF2ZSB0 byBkZWJ1ZyBhIGJpdCBtb3JlCj4gCj4+ICAgICAgZml4ZWRfcGxsICAgICAzICAgICAgICAzICAg ICAgICAwICAgICAgICAgMCAgIDAgICAgIDAgIDUwMDAwCj4+ICAgICAgICAgZmNsa19kaXY3X2Rp diAwICAgICAwICAgICAgICAwICAgICAgICAgMCAgIDAgICAgIDAgIDUwMDAwCj4+IC4uLi4KPj4K Pj4gdGhlIGhpZmlfcGxsJ3MgcGFyZW50IGlzIHh0YWxfaGlmaSwgQW5kIHRoZSBoaWZpX3BsbCBk ZWZhdWx0IHJhdGUgaXMgcmlnaHQuCj4+Cj4+IGJ1dCB0aGUgZml4ZWRfcGxsX2RjbyBpcyBhIG9y cGhhbiBjbG9jaywgaXRzIHBhcmVudCBpcyBOVUxMLkFuZCBpdHMgcmF0ZQo+PiBpcyB6ZXJvLldo ZW4gdGhlIG5hbWUgaW4gcGFyZW50X2RhdGEgaXMgYWRkZWQsIGl0cyBwYXJlbnQgaXMgeHRhbF9m aXhwbGwuCj4+Cj4+ICMgY2F0IC9zeXMva2VybmVsL2RlYnVnL2Nsay9maXhlZF9wbGxfZGNvL2Ns a19wYXJlbnQKPj4gIwo+PiAjIGNhdCAvc3lzL2tlcm5lbC9kZWJ1Zy9jbGsvZml4ZWRfcGxsX2Rj by9jbGtfcmF0ZQo+PiAwCj4+Cj4+Cj4+ICMyCj4+IEluICAuL2RyaXZlcnMvY2xrL3Fjb20vZ2Nj LXNtODE1MC5jCj4+IEZvciBzb21lIGNsb2NrcywgQm90aCBmd19uYW1lIGFuZCBuYW1lIGFyZSBk ZXNjcmliZWQgaW4gcGFyZW50X2RhdGEKPj4gc3RydWN0Lgo+IAo+IFRob3NlIGFyZSBiZWluZyBt aWdyYXRlZCB0byBEVCBkZXNjcmlwdGlvbiB3aGljaCBtZWFucyB0aGF0IHdlIGRvbid0Cj4ga25v dyBpZiB0aGUgRFQgd2lsbCB0aGUgY29ycmVjdCBkZXNjcmlwdGlvbgo+IAo+IEluIHRoaXMgY2Fz ZSB0aGUgY2xvY2sgZnJhbWV3b3JrIHdpbGwgZmlyc3QgdHJ5IERUIGFuZCBpZiBEVCBkb2VzCj4g cHJvdmlkZSB0aGlzIGZ3X25hbWUsIGl0IHdpbGwgZmFsbGJhY2sgdG8gdGhlIGxlZ2FjeSBuYW1l Lgo+IAo+IFRoaXMgaXMgbm90IHlvdXIgY2FzZSBhcyB0aGlzIGlzIGEgbmV3IHBsYXRmb3JtIGZv ciB3aGljaCB3ZSBrbm93IHRoZSBEVAo+IG5hbWUgZXhpc3QuCj4gCkl0IHdpbGwgZ2V0IHBhcmVu dCBmYWlsZWQgZnJvbSBEVCBhcyB0aGUgcHJldmlvdXMgc2F5cy4KPj4KPj4+Pgo+Pj4+Pgo+Pj4+ PiBTYW1lIGZvciB0aGUgb3RoZXIgb2NjdXJlbmNlcy4KPj4+Pj4KPj4+Pj4gQWxzbywgSSB0aGlu ayB5b3UgbWVhbnQgeHRhbF9oaWZpcGxsCj4+Pj4gWWVzLEkgd2lsbCBjb3JyZWN0IGl0Lgo+Pj4+ Pgo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCX0sCj4+ Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19maXhlZF9mYWN0b3Ig YTFfZmNsa19kaXYyX2RpdiA9IHsKPj4+Pj4+ICsJLm11bHQgPSAxLAo+Pj4+Pj4gKwkuZGl2ID0g MiwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJ CS5uYW1lID0gImZjbGtfZGl2Ml9kaXYiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfZml4ZWRfZmFj dG9yX29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltd KSB7Cj4+Pj4+PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5u dW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtz dGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZmNsa19kaXYyID0gewo+Pj4+Pj4gKwkuZGF0YSA9 ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBBTkFD VFJMX0ZJWFBMTF9DVFJMMCwKPj4+Pj4+ICsJCS5iaXRfaWR4ID0gMjEsCj4+Pj4+PiArCX0sCj4+ Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4+PiArCQkubmFt ZSA9ICJmY2xrX2RpdjIiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+ Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ ICsJCQkmYTFfZmNsa19kaXYyX2Rpdi5odwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFy ZW50cyA9IDEsCj4+Pj4+PiArCQkvKgo+Pj4+Pj4gKwkJICogVGhpcyBjbG9jayBpcyB1c2VkIGJ5 IEREUiBjbG9jayBpbiBCTDIgZmlybXdhcmUKPj4+Pj4+ICsJCSAqIGFuZCBpcyByZXF1aXJlZCBi eSB0aGUgcGxhdGZvcm0gdG8gb3BlcmF0ZSBjb3JyZWN0bHkuCj4+Pj4+PiArCQkgKiBVbnRpbCB0 aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMgY2xvY2sgdG8KPj4+ Pj4+ICsJCSAqIGJlIG1hcmtlZCBhcyBjcml0aWNhbDoKPj4+Pj4+ICsJCSAqIGEpIE1hcmsgdGhl IGNsb2NrIHVzZWQgYnkgYSBmaXJtd2FyZSByZXNvdXJjZSwgaWYgcG9zc2libGUKPj4+Pj4+ICsJ CSAqIGIpIENDRiBoYXMgYSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3Vy ZSB0aGUKPj4+Pj4+ICsJCSAqICAgIGNsb2NrIHN0YXlzIG9uIHVudGlsIHRoZSBwcm9wZXIgZHJp dmVyIGNvbWVzIGFsb25nCj4+Pj4+PiArCQkgKi8KPj4+Pj4+ICsJCS5mbGFncyA9IENMS19JU19D UklUSUNBTCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBz dHJ1Y3QgY2xrX2ZpeGVkX2ZhY3RvciBhMV9mY2xrX2RpdjNfZGl2ID0gewo+Pj4+Pj4gKwkubXVs dCA9IDEsCj4+Pj4+PiArCS5kaXYgPSAzLAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNs a19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZmNsa19kaXYzX2RpdiIsCj4+Pj4+PiAr CQkub3BzID0gJmNsa19maXhlZF9mYWN0b3Jfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfZml4ZWRfcGxsLmh3Cj4+ Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJfSwKPj4+Pj4+ ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9mY2xrX2Rp djMgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+ Pj4+Pj4gKwkJLm9mZnNldCA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4+Pj4gKwkJLmJpdF9p ZHggPSAyMiwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5p dF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gImZjbGtfZGl2MyIsCj4+Pj4+PiArCQkub3BzID0g JmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1 Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9mY2xrX2RpdjNfZGl2Lmh3Cj4+Pj4+PiAr CQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS8qCj4+Pj4+PiArCQkg KiBUaGlzIGNsb2NrIGlzIHVzZWQgYnkgQVBCIGJ1cyB3aGljaCBzZXR0ZWQgaW4gUm9tY29kZQo+ Pj4+Pj4gKwkJICogYW5kIGlzIHJlcXVpcmVkIGJ5IHRoZSBwbGF0Zm9ybSB0byBvcGVyYXRlIGNv cnJlY3RseS4KPj4+Pj4+ICsJCSAqIFVudGlsIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGFyZSBt ZXQsIHdlIG5lZWQgdGhpcyBjbG9jayB0bwo+Pj4+Pj4gKwkJICogYmUgbWFya2VkIGFzIGNyaXRp Y2FsOgo+Pj4+Pj4gKwkJICogYSkgTWFyayB0aGUgY2xvY2sgdXNlZCBieSBhIGZpcm13YXJlIHJl c291cmNlLCBpZiBwb3NzaWJsZQo+Pj4+Pj4gKwkJICogYikgQ0NGIGhhcyBhIGNsb2NrIGhhbmQt b2ZmIG1lY2hhbmlzbSB0byBtYWtlIHRoZSBzdXJlIHRoZQo+Pj4+Pj4gKwkJICogICAgY2xvY2sg c3RheXMgb24gdW50aWwgdGhlIHByb3BlciBkcml2ZXIgY29tZXMgYWxvbmcKPj4+Pj4+ICsJCSAq Lwo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4g K307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIGExX2Zj bGtfZGl2NV9kaXYgPSB7Cj4+Pj4+PiArCS5tdWx0ID0gMSwKPj4+Pj4+ICsJLmRpdiA9IDUsCj4+ Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4+PiArCQkubmFt ZSA9ICJmY2xrX2RpdjVfZGl2IiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX2ZpeGVkX2ZhY3Rvcl9v cHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+ Pj4+Pj4gKwkJCSZhMV9maXhlZF9wbGwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3Bh cmVudHMgPSAxLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGlj IHN0cnVjdCBjbGtfcmVnbWFwIGExX2ZjbGtfZGl2NSA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0 cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gQU5BQ1RSTF9G SVhQTExfQ1RSTDAsCj4+Pj4+PiArCQkuYml0X2lkeCA9IDIzLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4g KwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAi ZmNsa19kaXY1IiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+Pj4+ ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+PiArCQkJ JmExX2ZjbGtfZGl2NV9kaXYuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMg PSAxLAo+Pj4+Pj4gKwkJLyoKPj4+Pj4+ICsJCSAqIFRoaXMgY2xvY2sgaXMgdXNlZCBieSBBWEkg YnVzIHdoaWNoIHNldHRlZCBpbiBSb21jb2RlCj4+Pj4+PiArCQkgKiBhbmQgaXMgcmVxdWlyZWQg YnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJhdGUgY29ycmVjdGx5Lgo+Pj4+Pj4gKwkJICogVW50aWwg dGhlIGZvbGxvd2luZyBjb25kaXRpb24gYXJlIG1ldCwgd2UgbmVlZCB0aGlzIGNsb2NrIHRvCj4+ Pj4+PiArCQkgKiBiZSBtYXJrZWQgYXMgY3JpdGljYWw6Cj4+Pj4+PiArCQkgKiBhKSBNYXJrIHRo ZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVzb3VyY2UsIGlmIHBvc3NpYmxlCj4+Pj4+PiAr CQkgKiBiKSBDQ0YgaGFzIGEgY2xvY2sgaGFuZC1vZmYgbWVjaGFuaXNtIHRvIG1ha2UgdGhlIHN1 cmUgdGhlCj4+Pj4+PiArCQkgKiAgICBjbG9jayBzdGF5cyBvbiB1bnRpbCB0aGUgcHJvcGVyIGRy aXZlciBjb21lcyBhbG9uZwo+Pj4+Pj4gKwkJICovCj4+Pj4+PiArCQkuZmxhZ3MgPSBDTEtfSVNf Q1JJVElDQUwsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMg c3RydWN0IGNsa19maXhlZF9mYWN0b3IgYTFfZmNsa19kaXY3X2RpdiA9IHsKPj4+Pj4+ICsJLm11 bHQgPSAxLAo+Pj4+Pj4gKwkuZGl2ID0gNywKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBj bGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gImZjbGtfZGl2N19kaXYiLAo+Pj4+Pj4g KwkJLm9wcyA9ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0g KGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+ Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCX0sCj4+Pj4+ PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZmNsa19k aXY3ID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsK Pj4+Pj4+ICsJCS5vZmZzZXQgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+Pj4+ICsJCS5iaXRf aWR4ID0gMjQsCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2lu aXRfZGF0YSl7Cj4+Pj4+PiArCQkubmFtZSA9ICJmY2xrX2RpdjciLAo+Pj4+Pj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3Ry dWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfZmNsa19kaXY3X2Rpdi5odwo+Pj4+Pj4g KwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsK Pj4+Pj4+ICsKPj4+Pj4+ICsvKiBBcnJheSBvZiBhbGwgY2xvY2tzIHByb3ZpZGVkIGJ5IHRoaXMg cHJvdmlkZXIgKi8KPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19od19vbmVjZWxsX2RhdGEgYTFf cGxsX2h3X29uZWNlbGxfZGF0YSA9IHsKPj4+Pj4+ICsJLmh3cyA9IHsKPj4+Pj4+ICsJCVtDTEtJ RF9GSVhFRF9QTExfRENPXQkJPSAmYTFfZml4ZWRfcGxsX2Rjby5odywKPj4+Pj4+ICsJCVtDTEtJ RF9GSVhFRF9QTExdCQk9ICZhMV9maXhlZF9wbGwuaHcsCj4+Pj4+PiArCQlbQ0xLSURfSElGSV9Q TExdCQk9ICZhMV9oaWZpX3BsbC5odywKPj4+Pj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjJdCQk9ICZh MV9mY2xrX2RpdjIuaHcsCj4+Pj4+PiArCQlbQ0xLSURfRkNMS19ESVYzXQkJPSAmYTFfZmNsa19k aXYzLmh3LAo+Pj4+Pj4gKwkJW0NMS0lEX0ZDTEtfRElWNV0JCT0gJmExX2ZjbGtfZGl2NS5odywK Pj4+Pj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjddCQk9ICZhMV9mY2xrX2RpdjcuaHcsCj4+Pj4+PiAr CQlbQ0xLSURfRkNMS19ESVYyX0RJVl0JCT0gJmExX2ZjbGtfZGl2Ml9kaXYuaHcsCj4+Pj4+PiAr CQlbQ0xLSURfRkNMS19ESVYzX0RJVl0JCT0gJmExX2ZjbGtfZGl2M19kaXYuaHcsCj4+Pj4+PiAr CQlbQ0xLSURfRkNMS19ESVY1X0RJVl0JCT0gJmExX2ZjbGtfZGl2NV9kaXYuaHcsCj4+Pj4+PiAr CQlbQ0xLSURfRkNMS19ESVY3X0RJVl0JCT0gJmExX2ZjbGtfZGl2N19kaXYuaHcsCj4+Pj4+PiAr CQlbTlJfUExMX0NMS1NdCQkJPSBOVUxMLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkubnVtID0gTlJf UExMX0NMS1MsCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19y ZWdtYXAgKmNvbnN0IGExX3BsbF9yZWdtYXBzW10gPSB7Cj4+Pj4+PiArCSZhMV9maXhlZF9wbGxf ZGNvLAo+Pj4+Pj4gKwkmYTFfZml4ZWRfcGxsLAo+Pj4+Pj4gKwkmYTFfaGlmaV9wbGwsCj4+Pj4+ PiArCSZhMV9mY2xrX2RpdjIsCj4+Pj4+PiArCSZhMV9mY2xrX2RpdjMsCj4+Pj4+PiArCSZhMV9m Y2xrX2RpdjUsCj4+Pj4+PiArCSZhMV9mY2xrX2RpdjcsCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+ Pj4+ICtzdGF0aWMgaW50IG1lc29uX2ExX3BsbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQo+Pj4+Pj4gK3sKPj4+Pj4+ICsJaW50IHJldDsKPj4+Pj4+ICsKPj4+Pj4+ICsJcmV0 ID0gbWVzb25fZWVjbGtjX3Byb2JlKHBkZXYpOwo+Pj4+Pj4gKwlpZiAocmV0KQo+Pj4+Pj4gKwkJ cmV0dXJuIHJldDsKPj4+Pj4+ICsKPj4+Pj4+ICsJcmV0dXJuIDA7Cj4+Pj4+PiArfQo+Pj4+Pgo+ Pj4+PiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWxlc3MuCj4+Pj4+Cj4+Pj4gT0ssIEkgd2lsbCB1c2Ug bWVzb25fZWVjbGtjX3Byb2JlIGRlcmVjdGx5Lgo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbWVzb25fZWVjbGtjX2RhdGEgYTFfcGxsX2RhdGEgPSB7Cj4+Pj4+PiArCQkucmVn bWFwX2Nsa3MgPSBhMV9wbGxfcmVnbWFwcywKPj4+Pj4+ICsJCS5yZWdtYXBfY2xrX251bSA9IEFS UkFZX1NJWkUoYTFfcGxsX3JlZ21hcHMpLAo+Pj4+Pj4gKwkJLmh3X29uZWNlbGxfZGF0YSA9ICZh MV9wbGxfaHdfb25lY2VsbF9kYXRhLAo+Pj4+Pj4gK307Cj4+Pj4+PiArc3RhdGljIGNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgY2xrY19tYXRjaF90YWJsZVtdID0gewo+Pj4+Pj4gKwl7Cj4+Pj4+ PiArCQkuY29tcGF0aWJsZSA9ICJhbWxvZ2ljLGExLXBsbC1jbGtjIiwKPj4+Pj4+ICsJCS5kYXRh ID0gJmExX3BsbF9kYXRhCj4+Pj4+PiArCX0sCj4+Pj4+PiArCXsgLyogc2VudGluZWwgKi8gfQo+ Pj4+Pgo+Pj4+PiBOaXRwaWNrOiBkb24ndCBuZWVkIHRvIHdyaXRlIHRoaXMsIGp1c3Qgd3JpdGUg dGhlIGxpbmUgbGlrZSB0aGlzCj4+Pj4+Cj4+Pj4gT0ssIHJlbW92ZSBpdC4KPj4+Pj4gJyB9LCB7 fScKPj4+Pj4KPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZv cm1fZHJpdmVyIGExX2RyaXZlciA9IHsKPj4+Pj4+ICsJLnByb2JlCQk9IG1lc29uX2ExX3BsbF9w cm9iZSwKPj4+Pj4+ICsJLmRyaXZlcgkJPSB7Cj4+Pj4+PiArCQkubmFtZQk9ICJhMS1wbGwtY2xr YyIsCj4+Pj4+PiArCQkub2ZfbWF0Y2hfdGFibGUgPSBjbGtjX21hdGNoX3RhYmxlLAo+Pj4+Pj4g Kwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIo YTFfZHJpdmVyKTsKPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwu aCBiL2RyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5oCj4+Pj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+Pj4+Pj4gaW5kZXggMDAwMDAwMC4uOTllZTJhOQo+Pj4+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4+ Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vYTEtcGxsLmgKPj4+Pj4+IEBAIC0wLDAgKzEsNTYg QEAKPj4+Pj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjArIE9SIE1JVCkg Ki8KPj4+Pj4+ICsvKgo+Pj4+Pj4gKyAqIENvcHlyaWdodCAoYykgMjAxOSBBbWxvZ2ljLCBJbmMu IEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4+Pj4+PiArICovCj4+Pj4+PiArCj4+Pj4+PiArI2lmbmRl ZiBfX0ExX1BMTF9ICj4+Pj4+PiArI2RlZmluZSBfX0ExX1BMTF9ICj4+Pj4+PiArCj4+Pj4+PiAr LyogUExMIHJlZ2lzdGVyIG9mZnNldCAqLwo+Pj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9GSVhQTExf Q1RSTDAJCTB4ODAKPj4+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExMX0NUUkwxCQkweDg0Cj4+ Pj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBMTF9DVFJMMgkJMHg4OAo+Pj4+Pj4gKyNkZWZpbmUg QU5BQ1RSTF9GSVhQTExfQ1RSTDMJCTB4OGMKPj4+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExM X0NUUkw0CQkweDkwCj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBMTF9TVFMJCTB4OTQKPj4+ Pj4+ICsjZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkwwCQkweDEwMAo+Pj4+Pj4gKyNkZWZpbmUg QU5BQ1RSTF9TWVNQTExfQ1RSTDEJCTB4MTA0Cj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX1NZU1BM TF9DVFJMMgkJMHgxMDgKPj4+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkwzCQkweDEw Ywo+Pj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9TWVNQTExfQ1RSTDQJCTB4MTEwCj4+Pj4+PiArI2Rl ZmluZSBBTkFDVFJMX1NZU1BMTF9TVFMJCTB4MTE0Cj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX0hJ RklQTExfQ1RSTDAJCTB4MTQwCj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDEJ CTB4MTQ0Cj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDIJCTB4MTQ4Cj4+Pj4+ PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDMJCTB4MTRjCj4+Pj4+PiArI2RlZmluZSBB TkFDVFJMX0hJRklQTExfQ1RSTDQJCTB4MTUwCj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQ TExfU1RTCQkweDE1NAo+Pj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNfQ1RSTDAJCTB4MTgw Cj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX0FVREREU19DVFJMMQkJMHgxODQKPj4+Pj4+ICsjZGVm aW5lIEFOQUNUUkxfQVVERERTX0NUUkwyCQkweDE4OAo+Pj4+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9B VURERFNfQ1RSTDMJCTB4MThjCj4+Pj4+PiArI2RlZmluZSBBTkFDVFJMX0FVREREU19DVFJMNAkJ MHgxOTAKPj4+Pj4+ICsjZGVmaW5lIEFOQUNUUkxfQVVERERTX1NUUwkJMHgxOTQKPj4+Pj4+ICsj ZGVmaW5lIEFOQUNUUkxfTUlTQ1RPUF9DVFJMMAkJMHgxYzAKPj4+Pj4+ICsjZGVmaW5lIEFOQUNU UkxfUE9SX0NOVEwJCTB4MjA4Cj4+Pj4+PiArCj4+Pj4+PiArLyoKPj4+Pj4+ICsgKiBDTEtJRCBp bmRleCB2YWx1ZXMKPj4+Pj4+ICsgKgo+Pj4+Pj4gKyAqIFRoZXNlIGluZGljZXMgYXJlIGVudGly ZWx5IGNvbnRyaXZlZCBhbmQgZG8gbm90IG1hcCBvbnRvIHRoZSBoYXJkd2FyZS4KPj4+Pj4+ICsg KiBJdCBoYXMgbm93IGJlZW4gZGVjaWRlZCB0byBleHBvc2UgZXZlcnl0aGluZyBieSBkZWZhdWx0 IGluIHRoZSBEVCBoZWFkZXI6Cj4+Pj4+PiArICogaW5jbHVkZS9kdC1iaW5kaW5ncy9jbG9jay9h MS1wbGwtY2xrYy5oLiBPbmx5IHRoZSBjbG9ja3MgaWRzIHdlIGRvbid0IHdhbnQKPj4+Pj4+ICsg KiB0byBleHBvc2UsIHN1Y2ggYXMgdGhlIGludGVybmFsIG11eGVzIGFuZCBkaXZpZGVycyBvZiBj b21wb3NpdGUgY2xvY2tzLAo+Pj4+Pj4gKyAqIHdpbGwgcmVtYWluIGRlZmluZWQgaGVyZS4KPj4+ Pj4+ICsgKi8KPj4+Pj4+ICsjZGVmaW5lIENMS0lEX0ZJWEVEX1BMTF9EQ08JCTAKPj4+Pj4+ICsj ZGVmaW5lIENMS0lEX0ZDTEtfRElWMl9ESVYJCTIKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX0ZDTEtf RElWM19ESVYJCTMKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX0ZDTEtfRElWNV9ESVYJCTQKPj4+Pj4+ ICsjZGVmaW5lIENMS0lEX0ZDTEtfRElWN19ESVYJCTUKPj4+Pj4+ICsjZGVmaW5lIE5SX1BMTF9D TEtTCQkJMTEKPj4+Pj4+ICsKPj4+Pj4+ICsvKiBpbmNsdWRlIHRoZSBDTEtJRHMgdGhhdCBoYXZl IGJlZW4gbWFkZSBwYXJ0IG9mIHRoZSBEVCBiaW5kaW5nICovCj4+Pj4+PiArI2luY2x1ZGUgPGR0 LWJpbmRpbmdzL2Nsb2NrL2ExLXBsbC1jbGtjLmg+Cj4+Pj4+PiArCj4+Pj4+PiArI2VuZGlmIC8q IF9fQTFfUExMX0ggKi8KPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZXNvbi9hMS5j IGIvZHJpdmVycy9jbGsvbWVzb24vYTEuYwo+Pj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4+ Pj4+IGluZGV4IDAwMDAwMDAuLjg2YTQ3MzMKPj4+Pj4+IC0tLSAvZGV2L251bGwKPj4+Pj4+ICsr KyBiL2RyaXZlcnMvY2xrL21lc29uL2ExLmMKPj4+Pj4+IEBAIC0wLDAgKzEsMjI2NCBAQAo+Pj4+ Pj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlUKQo+Pj4+Pj4g Ky8qCj4+Pj4+PiArICogQ29weXJpZ2h0IChjKSAyMDE5IEFtbG9naWMsIEluYy4gQWxsIHJpZ2h0 cyByZXNlcnZlZC4KPj4+Pj4+ICsgKiBBdXRob3I6IEppYW4gSHUgPGppYW4uaHVAYW1sb2dpYy5j b20+Cj4+Pj4+PiArICovCj4+Pj4+PiArCj4+Pj4+PiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3Jt X2RldmljZS5oPgo+Pj4+Pj4gKyNpbmNsdWRlICJjbGstcGxsLmgiCj4+Pj4+PiArI2luY2x1ZGUg ImNsay1kdWFsZGl2LmgiCj4+Pj4+PiArI2luY2x1ZGUgIm1lc29uLWVlY2xrLmgiCj4+Pj4+PiAr I2luY2x1ZGUgImExLmgiCj4+Pj4+Cj4+Pj4+IFNhbWUgYXMgYWJvdmUKPj4+PiBPSywgSSB3aWxs IGNoYW5nZSB0aGUgb3JkZXIuCj4+Pj4gSW4gZmFjdCwgdGhlIGNsay1wbGwuaCBpcyBub3QgdXNl ZCBpbiB0aGUgY3VycmVudCBkcml2ZXIuCj4+Pj4gSSB3aWxsIHJlbW92ZSBpdC4KPj4+Pj4KPj4+ Pj4+ICsKPj4+Pj4+ICsvKiBQTExzIGNsb2NrIGluIGdhdGVzLCBpdHMgcGFyZW50IGlzIHh0YWwg Ki8KPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfeHRhbF9jbGt0cmVlID0gewo+ Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+Pj4+ICsJ CS5vZmZzZXQgPSBTWVNfT1NDSU5fQ1RSTCwKPj4+Pj4+ICsJCS5iaXRfaWR4ID0gMCwKPj4+Pj4+ ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4+ PiArCQkubmFtZSA9ICJ4dGFsX2Nsa3RyZWUiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFw X2dhdGVfcm9fb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gJihjb25zdCBzdHJ1Y3QgY2xr X3BhcmVudF9kYXRhKSB7Cj4+Pj4+PiArCQkJLmZ3X25hbWUgPSAieHRhbCIsCj4+Pj4+PiArCQl9 LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS8qCj4+Pj4+PiArCQkgKiBz d2l0Y2ggZm9yIHh0YWwgY2xvY2sKPj4+Pj4+ICsJCSAqIExpbnV4IHNob3VsZCBub3QgY2hhbmdl IGl0IGF0IHJ1bnRpbWUKPj4+Pj4+ICsJCSAqLwo+Pj4+Pgo+Pj4+PiBDb21tZW50IG5vdCB1c2Vm dWw6IGl0IHVzZXMgdGhlIFJvIG9wcwo+Pj4+Pgo+Pj4+IE9LLCAgcmVtb3ZlIHRoZSBjb21tZW50 cwo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX3h0YWxfZml4cGxsID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNs a19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBTWVNfT1NDSU5fQ1RSTCwK Pj4+Pj4+ICsJCS5iaXRfaWR4ID0gMSwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4+PiArCQkubmFtZSA9ICJ4dGFsX2ZpeHBsbCIs Cj4+Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4+PiArCQkucGFyZW50 X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEpIHsKPj4+Pj4+ICsJCQkuZndf bmFtZSA9ICJ4dGFsIiwKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+ Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX0lTX0NSSVRJQ0FMLAo+Pj4+Pj4gKwkJLyoKPj4+Pj4+ICsJ CSAqIGl0IGZlZWRzIEREUixBWEksQVBCIGJ1cwo+Pj4+Pj4gKwkJICogTGludXggc2hvdWxkIG5v dCBjaGFuZ2UgaXQgYXQgcnVudGltZQo+Pj4+Pj4gKwkJICovCj4+Pj4+Cj4+Pj4+IEFnYWluLCB0 aGUgY2hpbGQgYXJlIGNyaXRpY2FsLCBub3QgZGlyZWN0bHkgdGhpcyBjbG9jayBmcm9tIHlvdXIK Pj4+Pj4gY29tbWVudC4KPj4+Pj4KPj4+Pj4gUmVtb3ZlIENSSVRJQ0FMLCBwdXQgUk8gaXMgbGlu dXggaXMgbm90IHN1cHBvc2VkIHRvIHRvdWNoIGl0Lgo+Pj4+Pgo+Pj4+IHJlcGFjZSBhcyBjbGtf cmVnbWFwX2dhdGVfcm9fb3BzCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pgo+ Pj4+IFsgLi4uIF0KPj4+Pgo+Pj4+Pj4gKwo+Pj4+Pj4gKy8qIGRzcCBhIGNsayAqLwo+Pj4+Pj4g K3N0YXRpYyB1MzIgbXV4X3RhYmxlX2RzcF9hYltdID0geyAwLCAxLCAyLCAzLCA0LCA3IH07Cj4+ Pj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgZHNwX2FiX2Nsa19wYXJl bnRfZGF0YVtdID0gewo+Pj4+Pj4gKwl7IC5md19uYW1lID0gInh0YWwiLCB9LAo+Pj4+Pj4gKwl7 IC5md19uYW1lID0gImZjbGtfZGl2MiIsIH0sCj4+Pj4+PiArCXsgLmZ3X25hbWUgPSAiZmNsa19k aXYzIiwgfSwKPj4+Pj4+ICsJeyAuZndfbmFtZSA9ICJmY2xrX2RpdjUiLCB9LAo+Pj4+Pj4gKwl7 IC5md19uYW1lID0gImhpZmlfcGxsIiwgfSwKPj4+Pj4+ICsJeyAuaHcgPSAmYTFfcnRjX2Nsay5o dyB9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFw IGExX2RzcGFfYV9zZWwgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9t dXhfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gRFNQQV9DTEtfQ1RSTDAsCj4+Pj4+PiArCQku bWFzayA9IDB4NywKPj4+Pj4+ICsJCS5zaGlmdCA9IDEwLAo+Pj4+Pj4gKwkJLnRhYmxlID0gbXV4 X3RhYmxlX2RzcF9hYiwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBj bGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gImRzcGFfYV9zZWwiLAo+Pj4+Pj4gKwkJ Lm9wcyA9ICZjbGtfcmVnbWFwX211eF9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2RhdGEgPSBkc3Bf YWJfY2xrX3BhcmVudF9kYXRhLAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShk c3BfYWJfY2xrX3BhcmVudF9kYXRhKSwKPj4+Pj4KPj4+Pj4gLmZsYWdzID0gQ0xLX1NFVF9SQVRF X1BBUkVOVCA/Cj4+Pj4gWWVzLCBJIG1pc3MgdGhlIGZsYWcuCj4+Pj4+Cj4+Pj4+PiArCX0sCj4+ Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNw YV9hX2RpdiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRh KXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4+Pj4+ICsJCS5zaGlmdCA9 IDAsCj4+Pj4+PiArCQkud2lkdGggPSAxMCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQg PSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gImRzcGFfYV9kaXYi LAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4+Pj4gKwkJLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfZHNw YV9hX3NlbC5odwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+ PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307 Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFfYSA9IHsK Pj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4+PiAr CQkub2Zmc2V0ID0gRFNQQV9DTEtfQ1RSTDAsCj4+Pj4+PiArCQkuYml0X2lkeCA9IDEzLAo+Pj4+ Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+ Pj4+ICsJCS5uYW1lID0gImRzcGFfYSIsCj4+Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0 ZV9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkg ewo+Pj4+Pj4gKwkJCSZhMV9kc3BhX2FfZGl2Lmh3Cj4+Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLm51 bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+ Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19y ZWdtYXAgYTFfZHNwYV9iX3NlbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX211eF9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4+Pj4+ ICsJCS5tYXNrID0gMHg3LAo+Pj4+Pj4gKwkJLnNoaWZ0ID0gMjYsCj4+Pj4+PiArCQkudGFibGUg PSBtdXhfdGFibGVfZHNwX2FiLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZHNwYV9iX3NlbCIsCj4+Pj4+ PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9 IGRzcF9hYl9jbGtfcGFyZW50X2RhdGEsCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9T SVpFKGRzcF9hYl9jbGtfcGFyZW50X2RhdGEpLAo+Pj4+Pgo+Pj4+PiAuZmxhZ3MgPSBDTEtfU0VU X1JBVEVfUEFSRU5UID8KPj4+Pj4KPj4+PiBZZXMsIEkgd2lsbCBhZGQgaXQuCj4+Pj4+PiArCX0s Cj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFf ZHNwYV9iX2RpdiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9k YXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4+Pj4+ICsJCS5zaGlm dCA9IDE2LAo+Pj4+Pj4gKwkJLndpZHRoID0gMTAsCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4+PiArCQkubmFtZSA9ICJkc3BhX2Jf ZGl2IiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4+Pj4+ICsJ CS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+PiArCQkJJmEx X2RzcGFfYl9zZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+ Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2Ig PSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+ Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4+Pj4gKwkJLmJpdF9pZHggPSAyOSwK Pj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7 Cj4+Pj4+PiArCQkubmFtZSA9ICJkc3BhX2IiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFw X2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAq W10pIHsKPj4+Pj4+ICsJCQkmYTFfZHNwYV9iX2Rpdi5odwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJ CS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5U LAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX2RzcGFfc2VsID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19y ZWdtYXBfbXV4X2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+Pj4+ Pj4gKwkJLm1hc2sgPSAweDEsCj4+Pj4+PiArCQkuc2hpZnQgPSAxNSwKPj4+Pj4+ICsJfSwKPj4+ Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1l ID0gImRzcGFfc2VsIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ Pj4gKwkJLnBhcmVudF9kYXRhID0gKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgW10pIHsK Pj4+Pj4+ICsJCQl7IC5odyA9ICZhMV9kc3BhX2EuaHcgfSwKPj4+Pj4+ICsJCQl7IC5odyA9ICZh MV9kc3BhX2IuaHcgfSwKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAyLAo+ Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2Vu X2RzcGEgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEp ewo+Pj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0VOLAo+Pj4+Pj4gKwkJLmJpdF9pZHggPSAx LAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEp IHsKPj4+Pj4+ICsJCS5uYW1lID0gImRzcGFfZW5fZHNwYSIsCj4+Pj4+PiArCQkub3BzID0gJmNs a19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3Qg Y2xrX2h3ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9kc3BhX3NlbC5odwo+Pj4+Pj4gKwkJfSwKPj4+ Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVf UEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4+Cj4+Pj4+IFdoeSBkbyB5b3UgbmVlZCBD TEtfSUdOT1JFX1VOVVNFRCA/Cj4+Pj4+Cj4+Pj4gSSBzaG91bGQgcmVtb3ZlIGl0Cj4+Pj4+PiAr CX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAg YTFfZHNwYV9lbl9uaWMgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9n YXRlX2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0VOLAo+Pj4+Pj4gKwkJLmJp dF9pZHggPSAwLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19p bml0X2RhdGEpIHsKPj4+Pj4+ICsJCS5uYW1lID0gImRzcGFfZW5fbmljIiwKPj4+Pj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0 IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+PiArCQkJJmExX2RzcGFfc2VsLmh3Cj4+Pj4+PiAr CQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS5mbGFncyA9IENMS19T RVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4+Pj4KPj4+Pj4gV2h5IGRvIHlv dSBuZWVkIENMS19JR05PUkVfVU5VU0VEID8KPj4+Pj4KPj4+PiBJIHNob3VsZCByZW1vdmUgaXQK Pj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pgo+Pj4+PiBTYW1lIHF1ZXN0aW9u IGFuZCByZW1hcmtzIGFwcGxpZXMgdG8gRFNQIEIKPj4+Pj4KPj4+PiBnb3QgaXQKPj4+Pj4+ICsv KiBkc3AgYiBjbGsgKi8KPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9h X3NlbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsK Pj4+Pj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19DVFJMMCwKPj4+Pj4+ICsJCS5tYXNrID0gMHg3 LAo+Pj4+Pj4gKwkJLnNoaWZ0ID0gMTAsCj4+Pj4+PiArCQkudGFibGUgPSBtdXhfdGFibGVfZHNw X2FiLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9hX3NlbCIsCj4+Pj4+PiArCQkub3BzID0gJmNs a19yZWdtYXBfbXV4X29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IGRzcF9hYl9jbGtfcGFy ZW50X2RhdGEsCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKGRzcF9hYl9jbGtf cGFyZW50X2RhdGEpLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJfYV9kaXYgPSB7Cj4+Pj4+PiArCS5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gRFNQQl9D TEtfQ1RSTDAsCj4+Pj4+PiArCQkuc2hpZnQgPSAwLAo+Pj4+Pj4gKwkJLndpZHRoID0gMTAsCj4+ Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ Pj4+PiArCQkubmFtZSA9ICJkc3BiX2FfZGl2IiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21h cF9kaXZpZGVyX29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtf aHcgKltdKSB7Cj4+Pj4+PiArCQkJJmExX2RzcGJfYV9zZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BB UkVOVCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1 Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2EgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+ Pj4+Pj4gKwkJLmJpdF9pZHggPSAxMywKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4+PiArCQkubmFtZSA9ICJkc3BiX2EiLAo+Pj4+ Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3Mg PSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfZHNwYl9hX2Rpdi5o dwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCQkuZmxh Z3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4+PiArCX0s Cj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFf ZHNwYl9iX3NlbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9k YXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19DVFJMMCwKPj4+Pj4+ICsJCS5tYXNr ID0gMHg3LAo+Pj4+Pj4gKwkJLnNoaWZ0ID0gMjYsCj4+Pj4+PiArCQkudGFibGUgPSBtdXhfdGFi bGVfZHNwX2FiLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19p bml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9iX3NlbCIsCj4+Pj4+PiArCQkub3Bz ID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IGRzcF9hYl9j bGtfcGFyZW50X2RhdGEsCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKGRzcF9h Yl9jbGtfcGFyZW50X2RhdGEpLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+ PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJfYl9kaXYgPSB7Cj4+Pj4+PiArCS5k YXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0g RFNQQl9DTEtfQ1RSTDAsCj4+Pj4+PiArCQkuc2hpZnQgPSAxNiwKPj4+Pj4+ICsJCS53aWR0aCA9 IDEwLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2Rh dGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9iX2RpdiIsCj4+Pj4+PiArCQkub3BzID0gJmNs a19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1 Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9kc3BiX2Jfc2VsLmh3Cj4+Pj4+PiArCQl9 LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRf UkFURV9QQVJFTlQsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0 aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9iID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3Ry dWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19D VFJMMCwKPj4+Pj4+ICsJCS5iaXRfaWR4ID0gMjksCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9i IiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+Pj4+ICsJCS5wYXJl bnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+PiArCQkJJmExX2RzcGJf Yl9kaXYuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4g KwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENMS19JR05PUkVfVU5VU0VELAo+Pj4+ Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVn bWFwIGExX2RzcGJfc2VsID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBf bXV4X2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkwwLAo+Pj4+Pj4gKwkJ Lm1hc2sgPSAweDEsCj4+Pj4+PiArCQkuc2hpZnQgPSAxNSwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJ Lmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gImRz cGJfc2VsIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+Pj4gKwkJ LnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFf ZHNwYl9hLmh3LCAmYTFfZHNwYl9iLmh3LAo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFy ZW50cyA9IDIsCj4+Pj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+Pj4g Kwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFw IGExX2RzcGJfZW5fZHNwYiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFw X2dhdGVfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfRU4sCj4+Pj4+PiArCQku Yml0X2lkeCA9IDEsCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xr X2luaXRfZGF0YSkgewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9lbl9kc3BiIiwKPj4+Pj4+ICsJ CS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNv bnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+PiArCQkJJmExX2RzcGJfc2VsLmh3Cj4+Pj4+ PiArCQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS5mbGFncyA9IENM S19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2Vu X25pYyA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7 Cj4+Pj4+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfRU4sCj4+Pj4+PiArCQkuYml0X2lkeCA9IDAs Cj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkg ewo+Pj4+Pj4gKwkJLm5hbWUgPSAiZHNwYl9lbl9uaWMiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtf cmVnbWFwX2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNs a19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfZHNwYl9zZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BB UkVOVCB8IENMS19JR05PUkVfVU5VU0VELAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiAr Cj4+Pj4+PiArLyogMTJNLzI0TSBjbG9jayAqLwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV8yNG0gPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRl X2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IENMSzEyXzI0X0NUUkwsCj4+Pj4+PiArCQkuYml0 X2lkeCA9IDExLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19p bml0X2RhdGEpIHsKPj4+Pj4+ICsJCS5uYW1lID0gIjI0bSIsCj4+Pj4+PiArCQkub3BzID0gJmNs a19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVj dCBjbGtfcGFyZW50X2RhdGEpIHsKPj4+Pj4+ICsJCQkuZndfbmFtZSA9ICJ4dGFsIiwKPj4+Pj4+ ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307 Cj4+Pj4+PiArCj4+Pj4KPj4+PiBbIC4uLiBdCj4+Pj4KPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNs a19yZWdtYXAgYTFfc2FyYWRjX3NlbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtf cmVnbWFwX211eF9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBTQVJfQURDX0NMS19DVFJMLAo+ Pj4+Pj4gKwkJLm1hc2sgPSAweDEsCj4+Pj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+Pj4gKwl9LAo+ Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5h bWUgPSAic2FyYWRjX3NlbCIsCj4+Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywK Pj4+Pj4+ICsJCS5wYXJlbnRfZGF0YSA9IChjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIFtd KSB7Cj4+Pj4+PiArCQkJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+Pj4+ICsJCQl7IC5odyA9 ICZhMV9zeXNfY2xrLmh3LCB9LAo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9 IDIsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfc2FyYWRjX2RpdiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBj bGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBTQVJfQURDX0NMS19DVFJM LAo+Pj4+Pj4gKwkJLnNoaWZ0ID0gMCwKPj4+Pj4+ICsJCS53aWR0aCA9IDgsCj4+Pj4+PiArCX0s Cj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4+PiArCQku bmFtZSA9ICJzYXJhZGNfZGl2IiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVy X29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7 Cj4+Pj4+PiArCQkJJmExX3NhcmFkY19zZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVt X3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV9zYXJhZGNfY2xrID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfZ2F0ZV9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBTQVJfQURDX0NMS19DVFJMLAo+Pj4+ Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpIHsKPj4+Pj4+ICsJCS5uYW1lID0gInNhcmFkY19jbGsiLAo+Pj4+ Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3Mg PSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfc2FyYWRjX2Rpdi5o dwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCQkuZmxh Z3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiAr Cj4+Pj4+PiArLyogcHdtIGEvYi9jL2QgcGFyZW50IGRhdGEgKi8KPj4+Pj4+ICtzdGF0aWMgY29u c3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSBwd21fcGFyZW50X2RhdGFbXSA9IHsKPj4+Pj4+ICsJ eyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+Pj4+ICsJeyAuaHcgPSAmYTFfc3lzX2Nsay5odyB9 LAo+Pj4+Pj4gK307Cj4+Pj4+Cj4+Pj4+IExvb2tzIGxpa2UgdGhlIHNhbWUgYXMgU0FSIEFEQwo+ Pj4+Pgo+Pj4+IE9LLCBJIHdpbGwgZGVzY3JpYmUgaXQgbGlrZSBTQVIgQURDIGZvciBwd20gYS9i L2MvZAo+Pj4+Pj4gKwo+Pj4+Pj4gKy8qIHB3bSBhIGNsayAqLwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1 Y3QgY2xrX3JlZ21hcCBhMV9wd21fYV9zZWwgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3Qg Y2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19BQl9DVFJM LAo+Pj4+Pj4gKwkJLm1hc2sgPSAweDEsCj4+Pj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+Pj4gKwl9 LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJ Lm5hbWUgPSAicHdtX2Ffc2VsIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3Bz LAo+Pj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gcHdtX3BhcmVudF9kYXRhLAo+Pj4+Pj4gKwkJLm51 bV9wYXJlbnRzID0gQVJSQVlfU0laRShwd21fcGFyZW50X2RhdGEpLAo+Pj4+Pj4gKwl9LAo+Pj4+ Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9h X2RpdiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsK Pj4+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0FCX0NUUkwsCj4+Pj4+PiArCQkuc2hpZnQgPSAw LAo+Pj4+Pj4gKwkJLndpZHRoID0gOCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gInB3bV9hX2RpdiIsCj4+ Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4+PiArCQkucGFyZW50 X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9wd21fYV9z ZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJ LmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+ Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fYSA9IHsKPj4+Pj4+ ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4+PiArCQkub2Zm c2V0ID0gUFdNX0NMS19BQl9DVFJMLAo+Pj4+Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+Pj4gKwl9 LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+Pj4+ICsJ CS5uYW1lID0gInB3bV9hIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywK Pj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+ PiArCQkJJmExX3B3bV9hX2Rpdi5odwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50 cyA9IDEsCj4+Pj4+PiArCQkvKgo+Pj4+Pj4gKwkJICogVGhlIENQVSB3b3JraW5nIHZvbHRhZ2Ug aXMgY29udHJvbGxlZCBieSBwd21fYQo+Pj4+Pj4gKwkJICogaW4gQkwyIGZpcm13YXJlLiBhZGQg dGhlIENMS19JR05PUkVfVU5VU0VEIGZsYWcKPj4+Pj4+ICsJCSAqIHRvIGF2b2lkIGNoYW5naW5n IGF0IHJ1bnRpbWUuCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4gaXQKPj4+Pj4KPj4+Pj4+ICsJCSAqIGFuZCBpcyByZXF1aXJlZCBieSB0aGUgcGxhdGZvcm0g dG8gb3BlcmF0ZSBjb3JyZWN0bHkuCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAiYmxhYmxh LiBBbmQiIGlzIHN0cmFuZ2UKPj4+Pj4KPj4+Pj4+ICsJCSAqIFVudGlsIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uIGFyZSBtZXQsIHdlIG5lZWQgdGhpcyBjbG9jayB0bwo+Pj4+Pj4gKwkJICogYmUg bWFya2VkIGFzIGNyaXRpY2FsOgo+Pj4+Pj4gKwkJICogYSkgTWFyayB0aGUgY2xvY2sgdXNlZCBi eSBhIGZpcm13YXJlIHJlc291cmNlLCBpZiBwb3NzaWJsZQo+Pj4+Pj4gKwkJICogYikgQ0NGIGhh cyBhIGNsb2NrIGhhbmQtb2ZmIG1lY2hhbmlzbSB0byBtYWtlIHRoZSBzdXJlIHRoZQo+Pj4+Pj4g KwkJICogICAgY2xvY2sgc3RheXMgb24gdW50aWwgdGhlIHByb3BlciBkcml2ZXIgY29tZXMgYWxv bmcKPj4+Pj4+ICsJCSAqLwo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8 IENMS19JR05PUkVfVU5VU0VELAo+Pj4+Pgo+Pj4+PiBUaGlzIG9ubHkgc2tpcHMgdGhlIGxhdGVf aW5pdCgpIGRpc2FibGUgb2YgdW51c2VkIGNsb2Nrcwo+Pj4+Pgo+Pj4+PiBCZSBhd2FyZSB0aGF0 IHRoaXMgaXMgbm90IGZvb2wtcHJvb2YuIElmIGF0IGFueSB0aW1lIGEgZHJpdmVyIGVuYWJsZQo+ Pj4+PiB0aGVuIGRpc2FibGUgdGhlIGNsb2NrLCB0aGUgY2xvY2sgd2lsbCBiZSBkaXNhYmxlIGFu ZCBJIGd1ZXNzIHlvdXIKPj4+Pj4gcGxhdGZvcm0gd2lsbCBkaWUgaWYgdGhpcyBwcm92aWRlcyB0 aGUgQ1BVIHZvbHRhZ2UuCj4+Pj4gT0ssIENMS19JU19DUklUSUNBTCBpcyBiZXR0ZXIuCj4+Pj4+ Cj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICsvKiBwd20gYiBjbGsgKi8K Pj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2Jfc2VsID0gewo+Pj4+Pj4g KwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNl dCA9IFBXTV9DTEtfQUJfQ1RSTCwKPj4+Pj4+ICsJCS5tYXNrID0gMHgxLAo+Pj4+Pj4gKwkJLnNo aWZ0ID0gMjUsCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2lu aXRfZGF0YSl7Cj4+Pj4+PiArCQkubmFtZSA9ICJwd21fYl9zZWwiLAo+Pj4+Pj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX211eF9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2RhdGEgPSBwd21fcGFyZW50 X2RhdGEsCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKHB3bV9wYXJlbnRfZGF0 YSksCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfcHdtX2JfZGl2ID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNs a19yZWdtYXBfZGl2X2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQUJfQ1RSTCwK Pj4+Pj4+ICsJCS5zaGlmdCA9IDE2LAo+Pj4+Pj4gKwkJLndpZHRoID0gOCwKPj4+Pj4+ICsJfSwK Pj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5u YW1lID0gInB3bV9iX2RpdiIsCj4+Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9v cHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+ Pj4+Pj4gKwkJCSZhMV9wd21fYl9zZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3Bh cmVudHMgPSAxLAo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+Pj4+ ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21h cCBhMV9wd21fYiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVf ZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19BQl9DVFJMLAo+Pj4+Pj4gKwkJLmJp dF9pZHggPSAyNCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtf aW5pdF9kYXRhKSB7Cj4+Pj4+PiArCQkubmFtZSA9ICJwd21fYiIsCj4+Pj4+PiArCQkub3BzID0g JmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1 Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9wd21fYl9kaXYuaHcKPj4+Pj4+ICsJCX0s Cj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9S QVRFX1BBUkVOVCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gKy8qIHB3 bSBjIGNsayAqLwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fY19zZWwg PSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+Pj4+ PiArCQkub2Zmc2V0ID0gUFdNX0NMS19DRF9DVFJMLAo+Pj4+Pj4gKwkJLm1hc2sgPSAweDEsCj4+ Pj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAicHdtX2Nfc2VsIiwKPj4+Pj4+ ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9kYXRhID0g cHdtX3BhcmVudF9kYXRhLAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShwd21f cGFyZW50X2RhdGEpLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9jX2RpdiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAm KHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xL X0NEX0NUUkwsCj4+Pj4+PiArCQkuc2hpZnQgPSAwLAo+Pj4+Pj4gKwkJLndpZHRoID0gOCwKPj4+ Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ Pj4+ICsJCS5uYW1lID0gInB3bV9jX2RpdiIsCj4+Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBf ZGl2aWRlcl9vcHMsCj4+Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3 ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9wd21fY19zZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiAr CQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVO VCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qg Y2xrX3JlZ21hcCBhMV9wd21fYyA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX2dhdGVfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19DRF9DVFJMLAo+Pj4+ Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpIHsKPj4+Pj4+ICsJCS5uYW1lID0gInB3bV9jIiwKPj4+Pj4+ICsJ CS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNv bnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+PiArCQkJJmExX3B3bV9jX2Rpdi5odwo+Pj4+ Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+Pj4+PiArCQkuZmxhZ3MgPSBD TEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+ PiArLyogcHdtIGQgY2xrICovCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3 bV9kX3NlbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRh KXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0NEX0NUUkwsCj4+Pj4+PiArCQkubWFzayA9 IDB4MSwKPj4+Pj4+ICsJCS5zaGlmdCA9IDI1LAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5p dCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUgPSAicHdtX2Rfc2Vs IiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVu dF9kYXRhID0gcHdtX3BhcmVudF9kYXRhLAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlf U0laRShwd21fcGFyZW50X2RhdGEpLAo+Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+ Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9kX2RpdiA9IHsKPj4+Pj4+ICsJ LmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQg PSBQV01fQ0xLX0NEX0NUUkwsCj4+Pj4+PiArCQkuc2hpZnQgPSAxNiwKPj4+Pj4+ICsJCS53aWR0 aCA9IDgsCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRf ZGF0YSl7Cj4+Pj4+PiArCQkubmFtZSA9ICJwd21fZF9kaXYiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZj bGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3Ry dWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfcHdtX2Rfc2VsLmh3Cj4+Pj4+PiArCQl9 LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRf UkFURV9QQVJFTlQsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0 aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2QgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1 Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQ0Rf Q1RSTCwKPj4+Pj4+ICsJCS5iaXRfaWR4ID0gMjQsCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+Pj4+Pj4gKwkJLm5hbWUgPSAicHdtX2Qi LAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVu dF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfcHdtX2Rf ZGl2Lmh3Cj4+Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJ CS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+ Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSBwd21fZWZf cGFyZW50X2RhdGFbXSA9IHsKPj4+Pj4+ICsJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+Pj4+ ICsJeyAuaHcgPSAmYTFfc3lzX2Nsay5odyB9LAo+Pj4+Pj4gKwl7IC5md19uYW1lID0gImZjbGtf ZGl2NSIsIH0sCj4+Pj4+PiArCXsgLmh3ID0gJmExX3J0Y19jbGsuaHcgfSwKPj4+Pj4+ICt9Owo+ Pj4+Pj4gKwo+Pj4+Pj4gKy8qIHB3bSBlIGNsayAqLwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xr X3JlZ21hcCBhMV9wd21fZV9zZWwgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3Jl Z21hcF9tdXhfZGF0YSl7Cj4+Pj4+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+Pj4+ Pj4gKwkJLm1hc2sgPSAweDMsCj4+Pj4+PiArCQkuc2hpZnQgPSA5LAo+Pj4+Pj4gKwl9LAo+Pj4+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUg PSAicHdtX2Vfc2VsIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+ Pj4gKwkJLnBhcmVudF9kYXRhID0gcHdtX2VmX3BhcmVudF9kYXRhLAo+Pj4+Pj4gKwkJLm51bV9w YXJlbnRzID0gQVJSQVlfU0laRShwd21fZWZfcGFyZW50X2RhdGEpLAo+Pj4+Pj4gKwl9LAo+Pj4+ Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9l X2RpdiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsK Pj4+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0VGX0NUUkwsCj4+Pj4+PiArCQkuc2hpZnQgPSAw LAo+Pj4+Pj4gKwkJLndpZHRoID0gOCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gInB3bV9lX2RpdiIsCj4+ Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+Pj4+PiArCQkucGFyZW50 X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4gKwkJCSZhMV9wd21fZV9z ZWwuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJ LmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+ Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZSA9IHsKPj4+Pj4+ ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+Pj4+PiArCQkub2Zm c2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+Pj4+Pj4gKwkJLmJpdF9pZHggPSA4LAo+Pj4+Pj4gKwl9 LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4+Pj4+ICsJ CS5uYW1lID0gInB3bV9lIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywK Pj4+Pj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+Pj4+ PiArCQkJJmExX3B3bV9lX2Rpdi5odwo+Pj4+Pj4gKwkJfSwKPj4+Pj4+ICsJCS5udW1fcGFyZW50 cyA9IDEsCj4+Pj4+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4+Pj4gKwl9 LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArLyogcHdtIGYgY2xrICovCj4+Pj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9mX3NlbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAm KHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xL X0VGX0NUUkwsCj4+Pj4+PiArCQkubWFzayA9IDB4MywKPj4+Pj4+ICsJCS5zaGlmdCA9IDI1LAo+ Pj4+Pj4gKwl9LAo+Pj4+Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+ Pj4+Pj4gKwkJLm5hbWUgPSAicHdtX2Zfc2VsIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21h cF9tdXhfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9kYXRhID0gcHdtX2VmX3BhcmVudF9kYXRhLAo+ Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShwd21fZWZfcGFyZW50X2RhdGEpLAo+ Pj4+Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIHN0cnVjdCBjbGtf cmVnbWFwIGExX3B3bV9mX2RpdiA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVn bWFwX2Rpdl9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0VGX0NUUkwsCj4+Pj4+ PiArCQkuc2hpZnQgPSAxNiwKPj4+Pj4+ICsJCS53aWR0aCA9IDgsCj4+Pj4+PiArCX0sCj4+Pj4+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4+PiArCQkubmFtZSA9 ICJwd21fZl9kaXYiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+ Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ ICsJCQkmYTFfcHdtX2Zfc2VsLmh3Cj4+Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRz ID0gMSwKPj4+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4+PiArCX0s Cj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFf cHdtX2YgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEp ewo+Pj4+Pj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfRUZfQ1RSTCwKPj4+Pj4+ICsJCS5iaXRfaWR4 ID0gMjQsCj4+Pj4+PiArCX0sCj4+Pj4+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRf ZGF0YSkgewo+Pj4+Pj4gKwkJLm5hbWUgPSAicHdtX2YiLAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtf cmVnbWFwX2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNs a19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfcHdtX2ZfZGl2Lmh3Cj4+Pj4+PiArCQl9LAo+Pj4+ Pj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9Q QVJFTlQsCj4+Pj4+PiArCX0sCj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pgo+Pj4+IFsgLi4uIF0K Pj4+Pgo+Pj4+Pj4gKwo+Pj4+Pj4gKy8qIGRtYyBjbGsgKi8KPj4+Pj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfZG1jX3NlbCA9IHsKPj4+Pj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtf cmVnbWFwX211eF9kYXRhKXsKPj4+Pj4+ICsJCS5vZmZzZXQgPSBETUNfQ0xLX0NUUkwsCj4+Pj4+ PiArCQkubWFzayA9IDB4MywKPj4+Pj4+ICsJCS5zaGlmdCA9IDksCj4+Pj4+PiArCX0sCj4+Pj4+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+Pj4+PiArCQkubmFtZSA9 ICJkbWNfc2VsIiwKPj4+Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+Pj4g KwkJLnBhcmVudF9kYXRhID0gc2RfZW1tY19wYXJlbnRzLAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRz ID0gNCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBzdHJ1 Y3QgY2xrX3JlZ21hcCBhMV9kbWNfZGl2ID0gewo+Pj4+Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNs a19yZWdtYXBfZGl2X2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IERNQ19DTEtfQ1RSTCwKPj4+ Pj4+ICsJCS5zaGlmdCA9IDAsCj4+Pj4+PiArCQkud2lkdGggPSA4LAo+Pj4+Pj4gKwl9LAo+Pj4+ Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4+Pj4gKwkJLm5hbWUg PSAiZG1jX2RpdiIsCj4+Pj4+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+ Pj4+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4+Pj4g KwkJCSZhMV9kbWNfc2VsLmh3Cj4+Pj4+PiArCQl9LAo+Pj4+Pj4gKwkJLm51bV9wYXJlbnRzID0g MSwKPj4+Pj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+Pj4+PiArCX0sCj4+ Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZG1j X3NlbDIgPSB7Cj4+Pj4+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7 Cj4+Pj4+PiArCQkub2Zmc2V0ID0gRE1DX0NMS19DVFJMLAo+Pj4+Pj4gKwkJLm1hc2sgPSAweDEs Cj4+Pj4+PiArCQkuc2hpZnQgPSAxNSwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+Pj4+ICsJCS5uYW1lID0gImRtY19zZWwyIiwKPj4+ Pj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVudF9kYXRh ID0gKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgW10pIHsKPj4+Pj4+ICsJCQl7IC5odyA9 ICZhMV9kbWNfZGl2Lmh3IH0sCj4+Pj4+PiArCQkJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4+ Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAyLAo+Pj4+Pj4gKwkJLmZsYWdzID0g Q0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pj4gKwo+Pj4+ Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kbWMgPSB7Cj4+Pj4+PiArCS5kYXRhID0g JihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4+Pj4gKwkJLm9mZnNldCA9IERNQ19D TEtfQ1RSTCwKPj4+Pj4+ICsJCS5iaXRfaWR4ID0gOCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJLmh3 LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+Pj4+PiArCQkubmFtZSA9ICJkbWMi LAo+Pj4+Pj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+Pj4+Pj4gKwkJLnBhcmVu dF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+Pj4+ICsJCQkmYTFfZG1jX3Nl bDIuaHcKPj4+Pj4+ICsJCX0sCj4+Pj4+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+Pj4+Pj4gKwkJ LyoKPj4+Pj4+ICsJCSAqIFRoaXMgY2xvY2sgaXMgdXNlZCBieSBERFIgY2xvY2sgd2hpY2ggc2V0 dGVkIGluIEJMMgo+Pj4+Pj4gKwkJICogYW5kIGlzIHJlcXVpcmVkIGJ5IHRoZSBwbGF0Zm9ybSB0 byBvcGVyYXRlIGNvcnJlY3RseS4KPj4+Pj4+ICsJCSAqIFVudGlsIHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uIGFyZSBtZXQsIHdlIG5lZWQgdGhpcyBjbG9jayB0bwo+Pj4+Pj4gKwkJICogYmUgbWFy a2VkIGFzIGNyaXRpY2FsOgo+Pj4+Pj4gKwkJICogYSkgTWFyayB0aGUgY2xvY2sgdXNlZCBieSBh IGZpcm13YXJlIHJlc291cmNlLCBpZiBwb3NzaWJsZQo+Pj4+Pj4gKwkJICogYikgQ0NGIGhhcyBh IGNsb2NrIGhhbmQtb2ZmIG1lY2hhbmlzbSB0byBtYWtlIHRoZSBzdXJlIHRoZQo+Pj4+Pj4gKwkJ ICogICAgY2xvY2sgc3RheXMgb24gdW50aWwgdGhlIHByb3BlciBkcml2ZXIgY29tZXMgYWxvbmcK Pj4+Pj4+ICsJCSAqLwo+Pj4+Pj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCB8IENM S19JU19DUklUSUNBTCwKPj4+Pj4+ICsJfSwKPj4+Pj4+ICt9Owo+Pj4+Pgo+Pj4+PiBTaG91bGQg eW91IHB1dCBhbGwgdGhpcyBETUMgc3R1ZmYgaW4gUk8gdW50aWwgeW91IGdvdCBhIGRyaXZlciBm b3IgaXQgPwo+Pj4+IE9LLCByZXBsYWNlIGFzIGNsa19yZWdtYXBfZ2F0ZV9yb19vcHMKPj4+Pj4K Pj4+PiBbIC4uLiBdCj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIGludCBtZXNvbl9hMV9wZXJpcGhz X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+Pj4+PiArewo+Pj4+Pj4gKwlp bnQgcmV0Owo+Pj4+Pj4gKwo+Pj4+Pj4gKwlyZXQgPSBtZXNvbl9lZWNsa2NfcHJvYmUocGRldik7 Cj4+Pj4+PiArCWlmIChyZXQpCj4+Pj4+PiArCQlyZXR1cm4gcmV0Owo+Pj4+Pj4gKwo+Pj4+Pj4g KwlyZXR1cm4gMDsKPj4+Pj4+ICt9Cj4+Pj4+Cj4+Pj4+IEFnYWluIHRoaXMgZnVuY3Rpb24gaXMg ZnVuY3Rpb24gaXMgdXNlbGVzcyBhbmQgaXQgbWFrZXMgbWUgd29uZGVyIGlmIHlvdQo+Pj4+PiBz aG91bGQgcmVhbGx5IGJlIHVzaW5nIG1lc29uX2VlY2xrY19wcm9iZSgpCj4+Pj4+Cj4+Pj4+IFRo aXMgbWFrZXMgeW91IHVzZSBzeXNjb24gd2hpY2ggaXMgbm90IGNvcnJlY3QgdW5sZXNzIHlvdSBo YXZlIGEgZ29vZAo+Pj4+PiByZWFzb24gPwo+Pj4+Pgo+Pj4+IElmIGl0IGNhbiBub3QgdXNlIHRo ZSBtZXNvbl9lZWNsa2NfcHJvYmUoKSwgSSB3aWxsIHJlYWxpemUgYSBwcm9iZSBmdW5jdGlvbgo+ Pj4+IHdoaWNoIGlzIG1vc3RseSBkdXBsaWNhdGUgd2l0aCBtZXNvbl9lZWNsa2NfcHJvYmUoKSBl eGNlcHQKPj4+PiAic3lzY29uX25vZGVfdG9fcmVnbWFwIgo+Pj4+Cj4+Pj4gTWF5YmUgYW5vdGhl ciBjb21tb24gcHJvYmUgZnVuY3Rpb24gYW5kIGEgbmV3IGZpbGUgYXJlIHJlcXVpcmVkIGZvciBB MQo+Pj4+IHRocmVlIGRyaXZlcnM/IO+8iGluY2x1ZGUgdGhlIENQVSBjbG9jayBkcml2ZXLvvIkK Pj4+Cj4+PiBNYXliZQo+Pj4KPj4gSSB3aWxsIGFkZCBhIG5ldyBmdW5jdGlvbiBiYXNlIG9uIG1l c29uLWVlY2xrLmMKPj4+Pgo+Pj4+IE9yIHVzaW5nIG1lc29uX2VlY2xrY19wcm9iZSBpcyBtb3Jl IGVhc2llcj8KPj4+Cj4+PiBJdCBpcyBub3QgcXVlc3Rpb24gb2YgZWFzaW5lc3MsIGJ1dCBjb3Jy ZWN0bmVzcy4KPj4+Cj4+Pj4KPj4+Pj4gSXMgdGhlcmUgYW55dGhpbmcgYnV0IGNsb2NrcyBhbmQg cmVzZXRzIGluIHRoZXNlIHJlZ2lzdGVyIHJlZ2lvbiA/Cj4+Pj4gTm8sIHRoZXJlIGlzIG9ubHkg Y2xvY2tzIGluIHRoZSByZWdpc3RlciByZWdpb24uCj4+Pj4gdGhlIHNhbWUgZG9lcyB0aGUgUExM IHJlZ2lzdGVyIHJlZ2lvbi4KPj4+Cj4+PiBUaGVuIHRoZXJlIGlzIG5vIHJlYXNvbiB0byB1c2Ug c3lzY29uIGZvciB0aG9zZSBkcml2ZXJzCj4+PiBBZGQgYSBuZXcgcHJvYmUgZnVuY3Rpb24gZm9y IEExCj4+Pj4+Cj4+Pj4+PiArCj4+Pj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBtZXNvbl9lZWNs a2NfZGF0YSBhMV9wZXJpcGhzX2RhdGEgPSB7Cj4+Pj4+PiArCQkucmVnbWFwX2Nsa3MgPSBhMV9w ZXJpcGhzX3JlZ21hcHMsCj4+Pj4+PiArCQkucmVnbWFwX2Nsa19udW0gPSBBUlJBWV9TSVpFKGEx X3BlcmlwaHNfcmVnbWFwcyksCj4+Pj4+PiArCQkuaHdfb25lY2VsbF9kYXRhID0gJmExX3Blcmlw aHNfaHdfb25lY2VsbF9kYXRhLAo+Pj4+Pj4gK307Cj4+Pj4+PiArc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgY2xrY19tYXRjaF90YWJsZVtdID0gewo+Pj4+Pj4gKwl7Cj4+Pj4+PiAr CQkuY29tcGF0aWJsZSA9ICJhbWxvZ2ljLGExLXBlcmlwaHMtY2xrYyIsCj4+Pj4+PiArCQkuZGF0 YSA9ICZhMV9wZXJpcGhzX2RhdGEKPj4+Pj4+ICsJfSwKPj4+Pj4+ICsJeyAvKiBzZW50aW5lbCAq LyB9Cj4+Pj4+PiArfTsKPj4+Pj4+ICsKPj4+Pj4+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2Ry aXZlciBhMV9kcml2ZXIgPSB7Cj4+Pj4+PiArCS5wcm9iZQkJPSBtZXNvbl9hMV9wZXJpcGhzX3By b2JlLAo+Pj4+Pj4gKwkuZHJpdmVyCQk9IHsKPj4+Pj4+ICsJCS5uYW1lCT0gImExLXBlcmlwaHMt Y2xrYyIsCj4+Pj4+PiArCQkub2ZfbWF0Y2hfdGFibGUgPSBjbGtjX21hdGNoX3RhYmxlLAo+Pj4+ Pj4gKwl9LAo+Pj4+Pj4gK307Cj4+Pj4+PiArCj4+Pj4+PiArYnVpbHRpbl9wbGF0Zm9ybV9kcml2 ZXIoYTFfZHJpdmVyKTsKPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZXNvbi9hMS5o IGIvZHJpdmVycy9jbGsvbWVzb24vYTEuaAo+Pj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4+ Pj4+IGluZGV4IDAwMDAwMDAuLjFhZTVlMDQKPj4+Pj4+IC0tLSAvZGV2L251bGwKPj4+Pj4+ICsr KyBiL2RyaXZlcnMvY2xrL21lc29uL2ExLmgKPj4+Pj4+IEBAIC0wLDAgKzEsMTIwIEBACj4+Pj4+ PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wKyBPUiBNSVQpICovCj4+Pj4+ PiArLyoKPj4+Pj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkgQW1sb2dpYywgSW5jLiBBbGwgcmln aHRzIHJlc2VydmVkLgo+Pj4+Pj4gKyAqLwo+Pj4+Pj4gKwo+Pj4+Pj4gKyNpZm5kZWYgX19BMV9I Cj4+Pj4+PiArI2RlZmluZSBfX0ExX0gKPj4+Pj4+ICsKPj4+Pj4+ICsvKiBwZXJpcGhlcmFsIGNs b2NrIGNvbnRyb2xsZXIgcmVnaXN0ZXIgb2Zmc2V0ICovCj4+Pj4+PiArI2RlZmluZSBTWVNfT1ND SU5fQ1RSTAkJCTB4MAo+Pj4+Pj4gKyNkZWZpbmUgUlRDX0JZX09TQ0lOX0NUUkwwCQkweDQKPj4+ Pj4+ICsjZGVmaW5lIFJUQ19CWV9PU0NJTl9DVFJMMQkJMHg4Cj4+Pj4+PiArI2RlZmluZSBSVENf Q1RSTAkJCTB4Ywo+Pj4+Pj4gKyNkZWZpbmUgU1lTX0NMS19DVFJMMAkJCTB4MTAKPj4+Pj4+ICsj ZGVmaW5lIEFYSV9DTEtfQ1RSTDAJCQkweDE0Cj4+Pj4+PiArI2RlZmluZSBTWVNfQ0xLX0VOMAkJ CTB4MWMKPj4+Pj4+ICsjZGVmaW5lIFNZU19DTEtfRU4xCQkJMHgyMAo+Pj4+Pj4gKyNkZWZpbmUg QVhJX0NMS19FTgkJCTB4MjQKPj4+Pj4+ICsjZGVmaW5lIERTUEFfQ0xLX0VOCQkJMHgyOAo+Pj4+ Pj4gKyNkZWZpbmUgRFNQQl9DTEtfRU4JCQkweDJjCj4+Pj4+PiArI2RlZmluZSBEU1BBX0NMS19D VFJMMAkJCTB4MzAKPj4+Pj4+ICsjZGVmaW5lIERTUEJfQ0xLX0NUUkwwCQkJMHgzNAo+Pj4+Pj4g KyNkZWZpbmUgQ0xLMTJfMjRfQ1RSTAkJCTB4MzgKPj4+Pj4+ICsjZGVmaW5lIEdFTl9DTEtfQ1RS TAkJCTB4M2MKPj4+Pj4+ICsjZGVmaW5lIFRJTUVTVEFNUF9DVFJMMAkJCTB4NDAKPj4+Pj4+ICsj ZGVmaW5lIFRJTUVTVEFNUF9DVFJMMQkJCTB4NDQKPj4+Pj4+ICsjZGVmaW5lIFRJTUVTVEFNUF9D VFJMMgkJCTB4NDgKPj4+Pj4+ICsjZGVmaW5lIFRJTUVTVEFNUF9WQUwwCQkJMHg0Ywo+Pj4+Pj4g KyNkZWZpbmUgVElNRVNUQU1QX1ZBTDEJCQkweDUwCj4+Pj4+PiArI2RlZmluZSBUSU1FQkFTRV9D VFJMMAkJCTB4NTQKPj4+Pj4+ICsjZGVmaW5lIFRJTUVCQVNFX0NUUkwxCQkJMHg1OAo+Pj4+Pj4g KyNkZWZpbmUgU0FSX0FEQ19DTEtfQ1RSTAkJMHhjMAo+Pj4+Pj4gKyNkZWZpbmUgUFdNX0NMS19B Ql9DVFJMCQkJMHhjNAo+Pj4+Pj4gKyNkZWZpbmUgUFdNX0NMS19DRF9DVFJMCQkJMHhjOAo+Pj4+ Pj4gKyNkZWZpbmUgUFdNX0NMS19FRl9DVFJMCQkJMHhjYwo+Pj4+Pj4gKyNkZWZpbmUgU1BJQ0Nf Q0xLX0NUUkwJCQkweGQwCj4+Pj4+PiArI2RlZmluZSBUU19DTEtfQ1RSTAkJCTB4ZDQKPj4+Pj4+ ICsjZGVmaW5lIFNQSUZDX0NMS19DVFJMCQkJMHhkOAo+Pj4+Pj4gKyNkZWZpbmUgVVNCX0JVU0NM S19DVFJMCQkJMHhkYwo+Pj4+Pj4gKyNkZWZpbmUgU0RfRU1NQ19DTEtfQ1RSTAkJMHhlMAo+Pj4+ Pj4gKyNkZWZpbmUgQ0VDQV9DTEtfQ1RSTDAJCQkweGU0Cj4+Pj4+PiArI2RlZmluZSBDRUNBX0NM S19DVFJMMQkJCTB4ZTgKPj4+Pj4+ICsjZGVmaW5lIENFQ0JfQ0xLX0NUUkwwCQkJMHhlYwo+Pj4+ Pj4gKyNkZWZpbmUgQ0VDQl9DTEtfQ1RSTDEJCQkweGYwCj4+Pj4+PiArI2RlZmluZSBQU1JBTV9D TEtfQ1RSTAkJCTB4ZjQKPj4+Pj4+ICsjZGVmaW5lIERNQ19DTEtfQ1RSTAkJCTB4ZjgKPj4+Pj4+ ICsjZGVmaW5lIEZDTEtfRElWMV9TRUwJCQkweGZjCj4+Pj4+PiArI2RlZmluZSBUU1RfQ1RSTAkJ CTB4MTAwCj4+Pj4+PiArCj4+Pj4+PiArI2RlZmluZSBDTEtJRF9YVEFMX0NMS1RSRUUJCTAKPj4+ Pj4+ICsjZGVmaW5lIENMS0lEX1NZU19BX1NFTAkJCTg5Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9T WVNfQV9ESVYJCQk5MAo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1lTX0EJCQk5MQo+Pj4+Pj4gKyNk ZWZpbmUgQ0xLSURfU1lTX0JfU0VMCQkJOTIKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1NZU19CX0RJ VgkJCTkzCj4+Pj4+PiArI2RlZmluZSBDTEtJRF9TWVNfQgkJCTk0Cj4+Pj4+PiArI2RlZmluZSBD TEtJRF9EU1BBX0FfU0VMCQk5NQo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9BX0RJVgkJOTYK Pj4+Pj4+ICsjZGVmaW5lIENMS0lEX0RTUEFfQQkJCTk3Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9E U1BBX0JfU0VMCQk5OAo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9CX0RJVgkJOTkKPj4+Pj4+ ICsjZGVmaW5lIENMS0lEX0RTUEFfQgkJCTEwMAo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9B X1NFTAkJMTAxCj4+Pj4+PiArI2RlZmluZSBDTEtJRF9EU1BCX0FfRElWCQkxMDIKPj4+Pj4+ICsj ZGVmaW5lIENMS0lEX0RTUEJfQQkJCTEwMwo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9CX1NF TAkJMTA0Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9EU1BCX0JfRElWCQkxMDUKPj4+Pj4+ICsjZGVm aW5lIENMS0lEX0RTUEJfQgkJCTEwNgo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfUlRDXzMyS19DTEtJ TgkJMTA3Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9SVENfMzJLX0RJVgkJMTA4Cj4+Pj4+PiArI2Rl ZmluZSBDTEtJRF9SVENfMzJLX1hUQUwJCTEwOQo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfUlRDXzMy S19TRUwJCTExMAo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfQ0VDQl8zMktfQ0xLSU4JCTExMQo+Pj4+ Pj4gKyNkZWZpbmUgQ0xLSURfQ0VDQl8zMktfRElWCQkxMTIKPj4+Pj4+ICsjZGVmaW5lIENMS0lE X0NFQ0JfMzJLX1NFTF9QUkUJCTExMwo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfQ0VDQl8zMktfU0VM CQkxMTQKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX0NFQ0FfMzJLX0NMS0lOCQkxMTUKPj4+Pj4+ICsj ZGVmaW5lIENMS0lEX0NFQ0FfMzJLX0RJVgkJMTE2Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9DRUNB XzMyS19TRUxfUFJFCQkxMTcKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX0NFQ0FfMzJLX1NFTAkJMTE4 Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9ESVYyX1BSRQkJCTExOQo+Pj4+Pj4gKyNkZWZpbmUgQ0xL SURfMjRNX0RJVjIJCQkxMjAKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX0dFTl9TRUwJCQkxMjEKPj4+ Pj4+ICsjZGVmaW5lIENMS0lEX0dFTl9ESVYJCQkxMjIKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1NB UkFEQ19ESVYJCTEyMwo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0FfU0VMCQkJMTI0Cj4+Pj4+ PiArI2RlZmluZSBDTEtJRF9QV01fQV9ESVYJCQkxMjUKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1BX TV9CX1NFTAkJCTEyNgo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0JfRElWCQkJMTI3Cj4+Pj4+ PiArI2RlZmluZSBDTEtJRF9QV01fQ19TRUwJCQkxMjgKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1BX TV9DX0RJVgkJCTEyOQo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0RfU0VMCQkJMTMwCj4+Pj4+ PiArI2RlZmluZSBDTEtJRF9QV01fRF9ESVYJCQkxMzEKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1BX TV9FX1NFTAkJCTEzMgo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFdNX0VfRElWCQkJMTMzCj4+Pj4+ PiArI2RlZmluZSBDTEtJRF9QV01fRl9TRUwJCQkxMzQKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1BX TV9GX0RJVgkJCTEzNQo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1BJQ0NfU0VMCQkJMTM2Cj4+Pj4+ PiArI2RlZmluZSBDTEtJRF9TUElDQ19ESVYJCQkxMzcKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1NQ SUNDX1NFTDIJCTEzOAo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfVFNfRElWCQkJMTM5Cj4+Pj4+PiAr I2RlZmluZSBDTEtJRF9TUElGQ19TRUwJCQkxNDAKPj4+Pj4+ICsjZGVmaW5lIENMS0lEX1NQSUZD X0RJVgkJCTE0MQo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfU1BJRkNfU0VMMgkJMTQyCj4+Pj4+PiAr I2RlZmluZSBDTEtJRF9VU0JfQlVTX1NFTAkJMTQzCj4+Pj4+PiArI2RlZmluZSBDTEtJRF9VU0Jf QlVTX0RJVgkJMTQ0Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9TRF9FTU1DX1NFTAkJMTQ1Cj4+Pj4+ PiArI2RlZmluZSBDTEtJRF9TRF9FTU1DX0RJVgkJMTQ2Cj4+Pj4+PiArI2RlZmluZSBDTEtJRF9T RF9FTU1DX1NFTDIJCTE0Nwo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfUFNSQU1fU0VMCQkJMTQ4Cj4+ Pj4+PiArI2RlZmluZSBDTEtJRF9QU1JBTV9ESVYJCQkxNDkKPj4+Pj4+ICsjZGVmaW5lIENMS0lE X1BTUkFNX1NFTDIJCTE1MAo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfRE1DX1NFTAkJCTE1MQo+Pj4+ Pj4gKyNkZWZpbmUgQ0xLSURfRE1DX0RJVgkJCTE1Mgo+Pj4+Pj4gKyNkZWZpbmUgQ0xLSURfRE1D X1NFTDIJCQkxNTMKPj4+Pj4+ICsjZGVmaW5lIE5SX0NMS1MJCQkJMTU0Cj4+Pj4+PiArCj4+Pj4+ PiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL2ExLWNsa2MuaD4KPj4+Pj4+ICsKPj4+Pj4+ ICsjZW5kaWYgLyogX19BMV9IICovCj4+Pj4+Cj4+Pj4+IC4KPj4+Pj4KPj4+Cj4+PiAuCj4+Pgo+ IAo+IC4KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK