Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp873194pxf; Wed, 7 Apr 2021 13:50:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyrmPJ4NKD5HjUJz/Qha4W1U8Ep1eYM5GpkfvDOood59WvT7Vkn56EXvgt8MnIOUk13GLAD X-Received: by 2002:a17:906:a3c5:: with SMTP id ca5mr5930194ejb.160.1617828649544; Wed, 07 Apr 2021 13:50:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1617828649; cv=pass; d=google.com; s=arc-20160816; b=bAi+QxZpDcslK33SOYjbAuFZa0TB6bZTxryrrUlKMv6+cHQ0SczDc6+lceBpZHRrN6 abHa/t4UYKy1ztwC/RthwP8Rz25htFoOTbhXKy/ZSVyEMQDUzxerqarZ/CH0K7K2587T BfZ9p5SaiLQsBahURyXaBcmmKSt04Hm69S1Kl+/BO5+WCXQFgoijdq0LEUVewWw+zq5a LSGyPkVq0Eab2XBXKxA7fc7EArWBVvNV5D+9lMWeMJFyhktcyy0+1j0eHizPPpFkwJRJ PvZsQV0HNieNokizygUtwpgx01AbOsUxXqcJxF/7Joh+o4OwcVmDWgedE8vazkw3s6me 51Fw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=RJDSmjB33+sJt/Xq9lsqgyE3JcjiQsIPBoy7JSHVX7I=; b=GlW8eiRYzIqWGUk0mJj8Xpdsa7zOEIJ2UMCGSIYxdMx9hsLgs6sA3JjkZI3P1+iVpD fbmEbSb577IvgqiWKcIi28GFiwhTrNBuJTkRurrksuI8C0U8CWRzqUtjbxzG70m1Thv4 4vLlnolG4VQEWWzg4fQrLR6Ib0/MRgDMsVzSarYGVTQodZKwAq1eS88ppEAJV5v5BDK+ 6wFG7MxA3ua/EbOYhe5bGdCpDtVypToo0XfT+LGkCum3tNNUfQWwecAfQEPIcC9y859e mUG1vm3a4MdVZ7+w7HQn1o6C8zPxU0TFaaJ6YrBj637PlNsLbKG/rnDQYO87e6WKmoaY VFPQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=q5K58k0n; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dt15si22957316ejc.66.2021.04.07.13.50.25; Wed, 07 Apr 2021 13:50:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=q5K58k0n; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351149AbhDGKin (ORCPT + 99 others); Wed, 7 Apr 2021 06:38:43 -0400 Received: from mail-vi1eur05on2052.outbound.protection.outlook.com ([40.107.21.52]:44448 "EHLO EUR05-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1351092AbhDGKik (ORCPT ); Wed, 7 Apr 2021 06:38:40 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NcQAhR/NJxHBnknSJVLJ/Rqi7KBau/GEgzwfXQ6ivUvTUQWHrTG/iv7l0v+pFJudlwauJ3Et0/za990O79RXNowNnnfSH6P1np6LCRFlQnrcDWG7oJj2qsxxeYhT3Ln/K7heuUA1aHVF0jZ/25PQ9T0EpcPBZqA1qQc+BayMPUA0kiguhPiHtUehPbSZXUTifHvD74I+cxRSfNQSgXLynxfrQ/ZLBIXj2cW2m1wBcNsgynVrUv+uHSGW003h7qfGQF4i6FMf0O/2wY1zbriv9oehSdGlNofG3jlTpntCQuShC9YvdXTgtoOF0pCO7IGmmmscycXhNyv0s8kHPq/McA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RJDSmjB33+sJt/Xq9lsqgyE3JcjiQsIPBoy7JSHVX7I=; b=CwcHCqRKlhMJ/amMbgwoXOCeXv5rYMLG/zAKWEzG3h22Q8+00Jg3d7pQO5MrtF0jhpgN3KwaeCMMMxDedghjuibsNnLFnZ5QrA/0KQPumF+R7ecldMC3V6Fl7J8GYJrTt1mwpoSrg63nPNSC2o1GLFIzQwOXvR5JVqp7JnoVjcVCryWNHLgaklHWbmgECMSTuoKB3LUzzb04qMQhIBGd65aZgSmp9ooDaPGKgAzo+Wpy2nxp1wMnyxJ9Kn4meAdJ7XS+Vabvd7F32hx5lJC4FVj82iSqdC/GV6SUxVGBW8DfL5yj/36fxZ/uUXCClcrpSD1UUWNj+L9ZtDP/7Tu5Qw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RJDSmjB33+sJt/Xq9lsqgyE3JcjiQsIPBoy7JSHVX7I=; b=q5K58k0nW4UxhrFU35tsd25XOatxwvvZjTaeHwuBZAURV6ymb2ziaGmhBl6caFyBbI/3WvclgUUOhxjfP5GbJ3oiNxcduoAV04A5l7n5trMfUgZ2iyGSpcz+FIZQzOutsldCy0NPwjjb6p8t11td4KpvdGbRtf/oku+Ks/IBSCc= Received: from DB8PR04MB6795.eurprd04.prod.outlook.com (2603:10a6:10:fa::15) by DBBPR04MB8027.eurprd04.prod.outlook.com (2603:10a6:10:1e6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.27; Wed, 7 Apr 2021 10:38:26 +0000 Received: from DB8PR04MB6795.eurprd04.prod.outlook.com ([fe80::9598:ace0:4417:d1d5]) by DB8PR04MB6795.eurprd04.prod.outlook.com ([fe80::9598:ace0:4417:d1d5%6]) with mapi id 15.20.4020.017; Wed, 7 Apr 2021 10:38:26 +0000 From: Joakim Zhang To: Heiner Kallweit , "christian.melki@t2data.com" , "andrew@lunn.ch" , "linux@armlinux.org.uk" , "davem@davemloft.net" , "kuba@kernel.org" CC: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , dl-linux-imx , Florian Fainelli Subject: RE: [PATCH] net: phy: fix PHY possibly unwork after MDIO bus resume back Thread-Topic: [PATCH] net: phy: fix PHY possibly unwork after MDIO bus resume back Thread-Index: AQHXKTprONOHGtpeU0eiVA3RKY2nOaqkZbwAgACRNACAAKY/gIAAOYWAgADmYJCAAEy0AIAAFnKQgABBIoCAAG+hgIAAdpUQgABglgCAAAhYwIAAJwRQgAAFpACAAALWYA== Date: Wed, 7 Apr 2021 10:38:26 +0000 Message-ID: References: <20210404100701.6366-1-qiangqing.zhang@nxp.com> <97e486f8-372a-896f-6549-67b8fb34e623@gmail.com> <010f896e-befb-4238-5219-01969f3581e3@gmail.com> <0e6bd756-f46c-7caf-d45b-a19e7fb80b67@gmail.com> <902bd022-a135-a481-1a7f-2781998b2ee8@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nxp.com; x-originating-ip: [119.31.174.71] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e36c71c2-54d2-4db7-ee98-08d8f9b146e9 x-ms-traffictypediagnostic: DBBPR04MB8027: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BTcykBXmkFatGclCRtuf1heqglkXjvNPLzHyKVGvskiI/86G0U26lrHMD9ST8wYtWuz/eXuD9FoUy4v/42NuvG4YrSjtnhRLglIS8Oqxuuk9fYACFcgXG+0BUjTK6m/XJg+lubQf1xJNFEU9/d9/d3T0CVag9TBdUXF0oD03T+j2QgDC3oqikVXIe3XodgF/0k8mbKyviDjFQqZ7TwiQ9BU+LriKxUHn71VhOzA6asO6R4omUIkGMfvX2ok7KAI6CwjQrpz99FVZ4v8/gSKFQLldiv9BXUtPHI78pACxYlf93pkBeZpu0l64E1m3EHHVvtXbN2TOgeZBq62cfHgHQVsWlQ1CXYv/MhkN8VRXWyFrUMgo+VSdzSVpt856mYeWsyrsaZDDYwuMnZLb4cXp3pLXXJG/hHnXrwvOeowL+1rvH/d+QHYca+2ovaS2esQE8cInQMmM2NH3ofbNWfKhVn8EJtLPwcHpwSKfnhmumeIHFPt9VnGH6LMJaA9HKXQR3p6dTjXCRUBncgBNe4zO2DFPBlXxRy4aCLgJZenpQEY8wjhV+w+07z2TWkZslWsM3wAQyr69Fbus2rXb/K/8OVhWLZOmSJFxxDRhSr+y6GIqddUu+Ne4jx8Lu3xYL221YVFpfXrtqaz8pJVgoHDJld2BP2cYKweVv6vpmYUXtCM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6795.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(136003)(376002)(396003)(39860400002)(7696005)(110136005)(66556008)(64756008)(66446008)(33656002)(478600001)(66946007)(55016002)(38100700001)(66476007)(186003)(9686003)(76116006)(83380400001)(52536014)(6506007)(316002)(86362001)(8676002)(5660300002)(71200400001)(30864003)(26005)(54906003)(8936002)(2906002)(53546011)(4326008)(559001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?WVFvV2xac0xmb1hJOWEzMURadmcydVRiQjhjNVVMbGk1YXlKbTd2S2hNaEtW?= =?utf-8?B?ejFvcmMxQ29oT2JrZzZLOGxXUlVNVm9sOUZNbzlyc1dzKyttNzlqUVRuU3BQ?= =?utf-8?B?UnU3bjhvUGh6eTFxVlNIb1c4V0o1QUNWZFpETnFmRVRORFFvMmdaQUR4Tjg5?= =?utf-8?B?UkthR3ZaYzJkRUtVYUlhaVpZa1Jyc3JyRGpwbjIvVnRwLzQvWkFkVmdGS3NN?= =?utf-8?B?ZUZ6SS81d3Q0ZDdKWUgxUTgwM2NPK2NrbHpJOTBkMHJqcHBaa2RFZ3JqeXB3?= =?utf-8?B?cmJYb0hwNE9ZRGN0emJYeW81WGxKYjB4V2V4UDBJeFdtb2ljNDNHb1ZmYU5i?= =?utf-8?B?VWV6aWh4UzlkdEQzeHV2NDBCNDVqdSt2WmJ2NmIzTVJZMkVNNkU5cHNoWXNR?= =?utf-8?B?aWg5Y0ZicXNEYSsrbWRRdTRUWlB3di80ZDZPcDBBSDY1Z0VYR2h4V3VqcGhX?= =?utf-8?B?SEw0OUlJdnV5QXAwdUJIcVYydXViVkVsNGdqMWh6RjVwajNmYmFwcGJVK2xC?= =?utf-8?B?NklHd3dwZmJYTXhOeWdlNW1NYnhIK0xFTWIxaUdkSGJDQWpoRklQVzh2SDJa?= =?utf-8?B?ajNkd0E0VTNNN2FWeDNvY3BzdG5lK2xSMndmSE9SS2Fnd1RBNW9DWlB0VlFp?= =?utf-8?B?RVFzdFFTYVNhbWlPaDR3ZTNBdjdidEw1SW4xd0FDVzJvbmhLQUx0djQvbHgr?= =?utf-8?B?YnA4V2pCR2t5L3FhbjJkallkbnVWb0pOU1MvcFFpb2I1b1p2OUNSYTNlWXlp?= =?utf-8?B?aHBDbU01eEhBZmNLY3lMTE5KbnBuMDZXcExyN3llTk1jZm1sMFBzY2tPajVi?= =?utf-8?B?RHNidjJwV2hWelZmZWFwN1htdDE1UHczL0lnS3BpZElXMzQvM2kvQ01OT3hv?= =?utf-8?B?MTJiampFQXBKaTJ4SHhYeWkvMmtOVzFKN0FCMkNaL1FSb1ZYTmJReUdVY1Vs?= =?utf-8?B?NytxWHBYcmgxeUVyVVpTUFhIL01nWFZkSjNQZDN5eHN6UjgxWkk4Z1BmSzhw?= =?utf-8?B?anI0Z0lEbTlmM0ZUWUwrVUZjT0JvODBVT1FhbVpjckNpMUliUGxPNXRmNjQ1?= =?utf-8?B?UFo4NXYrRVkvTjlENVVsZiswVVllaEhCVmdCOGErK2NEZEVGbHhBWkZyMHMw?= =?utf-8?B?VHpENmRncTBWbkUvWUhkWS9uWjNqNmprNTFFTTVnMVQyMDhkZ2hDa25UaE5Y?= =?utf-8?B?ODlHM0pHOXRiS0lUMXppd0pMWmZ1ZU93bXFIOXNuRXRsc2tLSnRaeXdqcGZF?= =?utf-8?B?U1FRSmVCNjgvNUdIMStjVllOakdQNURVTDdIZWRpZy9GOGQ3ZktxUUxRWUFh?= =?utf-8?B?VXYzN01zTmVDeDJGSnQyQjlaOS90empNS1htSWNKSElGeGQ2WXIzSDN3VjZt?= =?utf-8?B?M1Mva0JITmdmUUplYnFRMUp1N2V0UjdZQkZXZHVxOU1XMWVWMURwS21oMUFO?= =?utf-8?B?M1B1ZXJrbzdqVWpQOGFqMW8xb09jb29sLytWNWNwN1hxU21QdFBwbmhKSDlQ?= =?utf-8?B?NkQ2b0FYL1dvc3RsZlBqUmRWS1hndllPdlozSjFYYUFYOXlNMlhwZjFDd0Nj?= =?utf-8?B?aEZXMFlLaDVpQWVMS0ticXZUcEp2MGsvZzJPUkFGL2oxcXZmNER1UUNVS1dU?= =?utf-8?B?QytxenVvNmdkdzZ5U3pGdmo3SCtoTytEVlB4U1BITTVrVWwrOUgyMUhTTEYy?= =?utf-8?B?OGxadkJaWVhOUml5YXAwTTNKVWRQKzNjY2hGNkVka3UvRC95Z3NXdzh4Ry9u?= =?utf-8?Q?0o0VbDZQqqB/EArFR9JfUGkzY/ogl+0Q92P6TFm?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6795.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e36c71c2-54d2-4db7-ee98-08d8f9b146e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2021 10:38:26.5456 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Wrt9uOH+lSXuhbsA/CfV5jC+xKOzC5eeYyfZlsYxxC4HA3s8dhFVKsRv8HScKlUpWWw3NiD2DhjUyBWQhBN1PQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8027 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEhlaW5lciBLYWxsd2VpdCA8 aGthbGx3ZWl0MUBnbWFpbC5jb20+DQo+IFNlbnQ6IDIwMjHlubQ05pyIN+aXpSAxODoyMg0KPiBU bzogSm9ha2ltIFpoYW5nIDxxaWFuZ3FpbmcuemhhbmdAbnhwLmNvbT47IGNocmlzdGlhbi5tZWxr aUB0MmRhdGEuY29tOw0KPiBhbmRyZXdAbHVubi5jaDsgbGludXhAYXJtbGludXgub3JnLnVrOyBk YXZlbUBkYXZlbWxvZnQubmV0Ow0KPiBrdWJhQGtlcm5lbC5vcmcNCj4gQ2M6IG5ldGRldkB2Z2Vy Lmtlcm5lbC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGRsLWxpbnV4LWlteA0K PiA8bGludXgtaW14QG54cC5jb20+OyBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWls LmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gbmV0OiBwaHk6IGZpeCBQSFkgcG9zc2libHkg dW53b3JrIGFmdGVyIE1ESU8gYnVzIHJlc3VtZQ0KPiBiYWNrDQo+IA0KPiBPbiAwNy4wNC4yMDIx IDEyOjA1LCBKb2FraW0gWmhhbmcgd3JvdGU6DQo+ID4NCj4gPiBIaSBIZWluZXIsDQo+ID4NCj4g Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogSm9ha2ltIFpoYW5nIDxx aWFuZ3FpbmcuemhhbmdAbnhwLmNvbT4NCj4gPj4gU2VudDogMjAyMeW5tDTmnIg35pelIDE1OjQ2 DQo+ID4+IFRvOiBIZWluZXIgS2FsbHdlaXQgPGhrYWxsd2VpdDFAZ21haWwuY29tPjsNCj4gPj4g Y2hyaXN0aWFuLm1lbGtpQHQyZGF0YS5jb207IGFuZHJld0BsdW5uLmNoOyBsaW51eEBhcm1saW51 eC5vcmcudWs7DQo+ID4+IGRhdmVtQGRhdmVtbG9mdC5uZXQ7IGt1YmFAa2VybmVsLm9yZw0KPiA+ PiBDYzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9y ZzsNCj4gPj4gZGwtbGludXgtaW14IDxsaW51eC1pbXhAbnhwLmNvbT47IEZsb3JpYW4gRmFpbmVs bGkNCj4gPj4gPGYuZmFpbmVsbGlAZ21haWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSRTogW1BBVENI XSBuZXQ6IHBoeTogZml4IFBIWSBwb3NzaWJseSB1bndvcmsgYWZ0ZXIgTURJTyBidXMNCj4gPj4g cmVzdW1lIGJhY2sNCj4gPj4NCj4gPj4NCj4gPj4gSGkgSGVpbmVyLA0KPiA+Pg0KPiA+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+IEZyb206IEhlaW5lciBLYWxsd2VpdCA8aGth bGx3ZWl0MUBnbWFpbC5jb20+DQo+ID4+PiBTZW50OiAyMDIx5bm0NOaciDfml6UgMTU6MTINCj4g Pj4+IFRvOiBKb2FraW0gWmhhbmcgPHFpYW5ncWluZy56aGFuZ0BueHAuY29tPjsNCj4gPj4+IGNo cmlzdGlhbi5tZWxraUB0MmRhdGEuY29tOyBhbmRyZXdAbHVubi5jaDsgbGludXhAYXJtbGludXgu b3JnLnVrOw0KPiA+Pj4gZGF2ZW1AZGF2ZW1sb2Z0Lm5ldDsga3ViYUBrZXJuZWwub3JnDQo+ID4+ PiBDYzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9y ZzsNCj4gPj4+IGRsLWxpbnV4LWlteCA8bGludXgtaW14QG54cC5jb20+OyBGbG9yaWFuIEZhaW5l bGxpDQo+ID4+PiA8Zi5mYWluZWxsaUBnbWFpbC5jb20+DQo+ID4+PiBTdWJqZWN0OiBSZTogW1BB VENIXSBuZXQ6IHBoeTogZml4IFBIWSBwb3NzaWJseSB1bndvcmsgYWZ0ZXIgTURJTw0KPiA+Pj4g YnVzIHJlc3VtZSBiYWNrDQo+ID4+Pg0KPiA+Pj4gT24gMDcuMDQuMjAyMSAwMzo0MywgSm9ha2lt IFpoYW5nIHdyb3RlOg0KPiA+Pj4+DQo+ID4+Pj4gSGkgSGVpbmVyLA0KPiA+Pj4+DQo+ID4+Pj4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+IEZyb206IEhlaW5lciBLYWxsd2Vp dCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+DQo+ID4+Pj4+IFNlbnQ6IDIwMjHlubQ05pyIN+aXpSAy OjIyDQo+ID4+Pj4+IFRvOiBKb2FraW0gWmhhbmcgPHFpYW5ncWluZy56aGFuZ0BueHAuY29tPjsN Cj4gPj4+Pj4gY2hyaXN0aWFuLm1lbGtpQHQyZGF0YS5jb207IGFuZHJld0BsdW5uLmNoOyBsaW51 eEBhcm1saW51eC5vcmcudWs7DQo+ID4+Pj4+IGRhdmVtQGRhdmVtbG9mdC5uZXQ7IGt1YmFAa2Vy bmVsLm9yZzsgUnVzc2VsbCBLaW5nIC0gQVJNIExpbnV4DQo+ID4+Pj4+IDxsaW51eEBhcm1saW51 eC5vcmcudWs+DQo+ID4+Pj4+IENjOiBuZXRkZXZAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJu ZWxAdmdlci5rZXJuZWwub3JnOw0KPiA+Pj4+PiBkbC1saW51eC1pbXggPGxpbnV4LWlteEBueHAu Y29tPjsgRmxvcmlhbiBGYWluZWxsaQ0KPiA+Pj4+PiA8Zi5mYWluZWxsaUBnbWFpbC5jb20+DQo+ ID4+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIG5ldDogcGh5OiBmaXggUEhZIHBvc3NpYmx5IHVu d29yayBhZnRlciBNRElPDQo+ID4+Pj4+IGJ1cyByZXN1bWUgYmFjaw0KPiA+Pj4+Pg0KPiA+Pj4+ PiBPbiAwNi4wNC4yMDIxIDEzOjQyLCBIZWluZXIgS2FsbHdlaXQgd3JvdGU6DQo+ID4+Pj4+PiBP biAwNi4wNC4yMDIxIDEyOjA3LCBKb2FraW0gWmhhbmcgd3JvdGU6DQo+ID4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+Pj4gRnJvbTogSGVpbmVy IEthbGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNvbT4NCj4gPj4+Pj4+Pj4gU2VudDogMjAyMeW5 tDTmnIg25pelIDE0OjI5DQo+ID4+Pj4+Pj4+IFRvOiBKb2FraW0gWmhhbmcgPHFpYW5ncWluZy56 aGFuZ0BueHAuY29tPjsNCj4gPj4+Pj4+Pj4gY2hyaXN0aWFuLm1lbGtpQHQyZGF0YS5jb207IGFu ZHJld0BsdW5uLmNoOw0KPiA+Pj4+Pj4+PiBsaW51eEBhcm1saW51eC5vcmcudWs7IGRhdmVtQGRh dmVtbG9mdC5uZXQ7IGt1YmFAa2VybmVsLm9yZw0KPiA+Pj4+Pj4+PiBDYzogbmV0ZGV2QHZnZXIu a2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsNCj4gPj4+Pj4+Pj4gZGwt bGludXgtaW14IDxsaW51eC1pbXhAbnhwLmNvbT4NCj4gPj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtQ QVRDSF0gbmV0OiBwaHk6IGZpeCBQSFkgcG9zc2libHkgdW53b3JrIGFmdGVyDQo+ID4+Pj4+Pj4+ IE1ESU8gYnVzIHJlc3VtZSBiYWNrDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IE9uIDA2LjA0LjIw MjEgMDQ6MDcsIEpvYWtpbSBaaGFuZyB3cm90ZToNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBI aSBIZWluZXIsDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4+Pj4+Pj4+Pj4gRnJvbTogSGVpbmVyIEthbGx3ZWl0IDxoa2FsbHdlaXQxQGdt YWlsLmNvbT4NCj4gPj4+Pj4+Pj4+PiBTZW50OiAyMDIx5bm0NOaciDXml6UgMjA6MTANCj4gPj4+ Pj4+Pj4+PiBUbzogY2hyaXN0aWFuLm1lbGtpQHQyZGF0YS5jb207IEpvYWtpbSBaaGFuZw0KPiA+ Pj4+Pj4+Pj4+IDxxaWFuZ3FpbmcuemhhbmdAbnhwLmNvbT47IGFuZHJld0BsdW5uLmNoOw0KPiA+ Pj4+Pj4+Pj4+IGxpbnV4QGFybWxpbnV4Lm9yZy51azsgZGF2ZW1AZGF2ZW1sb2Z0Lm5ldDsga3Vi YUBrZXJuZWwub3JnDQo+ID4+Pj4+Pj4+Pj4gQ2M6IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmc7IGxp bnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7DQo+ID4+Pj4+Pj4+Pj4gZGwtbGludXgtaW14IDxs aW51eC1pbXhAbnhwLmNvbT4NCj4gPj4+Pj4+Pj4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBuZXQ6 IHBoeTogZml4IFBIWSBwb3NzaWJseSB1bndvcmsgYWZ0ZXINCj4gPj4+Pj4+Pj4+PiBNRElPIGJ1 cyByZXN1bWUgYmFjaw0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gT24gMDUuMDQuMjAyMSAx MDo0MywgQ2hyaXN0aWFuIE1lbGtpIHdyb3RlOg0KPiA+Pj4+Pj4+Pj4+PiBPbiA0LzUvMjEgMTI6 NDggQU0sIEhlaW5lciBLYWxsd2VpdCB3cm90ZToNCj4gPj4+Pj4+Pj4+Pj4+IE9uIDA0LjA0LjIw MjEgMTY6MDksIEhlaW5lciBLYWxsd2VpdCB3cm90ZToNCj4gPj4+Pj4+Pj4+Pj4+PiBPbiAwNC4w NC4yMDIxIDEyOjA3LCBKb2FraW0gWmhhbmcgd3JvdGU6DQo+ID4+Pj4+Pj4+Pj4+Pj4+IGNvbW1p dCA0YzBkMmU5NmJhMDU1ICgibmV0OiBwaHk6IGNvbnNpZGVyIHRoYXQNCj4gPj4+Pj4+Pj4+Pj4+ Pj4gc3VzcGVuZDJyYW0NCj4gPj4+Pj4gbWF5DQo+ID4+Pj4+Pj4+Pj4+Pj4+IGN1dCBvZmYgUEhZ IHBvd2VyIikgaW52b2tlcyBwaHlfaW5pdF9odygpIHdoZW4gTURJTyBidXMNCj4gPj4+Pj4+Pj4+ Pj4+Pj4gcmVzdW1lLCBpdCB3aWxsIHNvZnQgcmVzZXQgUEhZIGlmIFBIWSBkcml2ZXIgaW1wbGVt ZW50cw0KPiA+Pj4+Pj4+Pj4+Pj4+PiBzb2Z0X3Jlc2V0DQo+ID4+Pj4+IGNhbGxiYWNrLg0KPiA+ Pj4+Pj4+Pj4+Pj4+PiBjb21taXQgNzY0ZDMxY2FjZmU0ICgibmV0OiBwaHk6IG1pY3JlbDogc2V0 IHNvZnRfcmVzZXQNCj4gPj4+Pj4+Pj4+Pj4+Pj4gY2FsbGJhY2sgdG8gZ2VucGh5X3NvZnRfcmVz ZXQgZm9yIEtTWjgwODEiKSBhZGRzDQo+ID4+Pj4+Pj4+Pj4+Pj4+IHNvZnRfcmVzZXQgZm9yDQo+ ID4+Pj4+IEtTWjgwODEuDQo+ID4+Pj4+Pj4+Pj4+Pj4+IEFmdGVyIHRoZXNlIHR3byBwYXRjaGVz LCBJIGZvdW5kIGkuTVg2VUwgMTR4MTQgRVZLIHdoaWNoDQo+ID4+Pj4+Pj4+Pj4+Pj4+IGNvbm5l Y3RlZCB0byBLU1o4MDgxUk5CIGRvZXNuJ3Qgd29yayBhbnkgbW9yZSB3aGVuDQo+ID4+IHN5c3Rl bQ0KPiA+Pj4+Pj4+PiByZXN1bWUNCj4gPj4+Pj4+Pj4+Pj4+Pj4gYmFjaywgTUFDDQo+ID4+Pj4+ Pj4+Pj4gZHJpdmVyIGlzIGZlY19tYWluLmMuDQo+ID4+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ Pj4+Pj4+IEl0J3Mgb2J2aW91cyB0aGF0IGluaXRpYWxpemluZyBQSFkgaGFyZHdhcmUgd2hlbiBN RElPIGJ1cw0KPiA+Pj4+Pj4+Pj4+Pj4+PiByZXN1bWUgYmFjayB3b3VsZCBpbnRyb2R1Y2Ugc29t ZSByZWdyZXNzaW9uIHdoZW4gUEhZDQo+ID4+Pj4+Pj4+Pj4+Pj4+IGltcGxlbWVudHMgc29mdF9y ZXNldC4gV2hlbiBJDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiBXaHkgaXMgdGhp cyBvYnZpb3VzPyBQbGVhc2UgZWxhYm9yYXRlIG9uIHdoeSBhIHNvZnQgcmVzZXQNCj4gPj4+Pj4+ Pj4+Pj4+PiBzaG91bGQgYnJlYWsgc29tZXRoaW5nLg0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+Pj4+IGFtIGRlYnVnZ2luZywgSSBmb3VuZCBQSFkgd29ya3MgZmluZSBpZiBNQUMgZG9l c24ndA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBzdXBwb3J0IHN1c3BlbmQvcmVzdW1lIG9yIHBoeV9zdG9w KCkvcGh5X3N0YXJ0KCkgZG9lc24ndA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBiZWVuIGNhbGxlZCBkdXJp bmcgc3VzcGVuZC9yZXN1bWUuIFRoaXMgbGV0IG1lIHJlYWxpemUsDQo+ID4+Pj4+Pj4+Pj4+Pj4+ IFBIWSBzdGF0ZSBtYWNoaW5lDQo+ID4+Pj4+Pj4+Pj4+Pj4+IHBoeV9zdGF0ZV9tYWNoaW5lKCkg Y291bGQgZG8gc29tZXRoaW5nIGJyZWFrcyB0aGUgUEhZLg0KPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+Pj4+Pj4+PiBBcyB3ZSBrbm93biwgTUFDIHJlc3VtZSBmaXJzdCBhbmQgdGhlbiBNRElP IGJ1cyByZXN1bWUNCj4gPj4+IHdoZW4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gc3lzdGVtIHJlc3VtZSBi YWNrIGZyb20gc3VzcGVuZC4gV2hlbiBNQUMgcmVzdW1lLA0KPiB1c3VhbGx5DQo+ID4+PiBpdA0K PiA+Pj4+Pj4+Pj4+Pj4+PiB3aWxsIGludm9rZQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiBwaHlfc3RhcnQo KSB3aGVyZSB0byBjaGFuZ2UgUEhZIHN0YXRlIHRvIFBIWV9VUCwgdGhlbg0KPiA+Pj4+Pj4+Pj4+ Pj4+PiB0cmlnZ2VyIHRoZQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiBzdGF0PiBtYWNoaW5lIHRvIHJ1biBu b3cuIEluIHBoeV9zdGF0ZV9tYWNoaW5lKCksIGl0IHdpbGwNCj4gPj4+Pj4+Pj4+Pj4+Pj4gc3Rh cnQvY29uZmlnIGF1dG8tbmVnbywgdGhlbiBjaGFuZ2UgUEhZIHN0YXRlIHRvDQo+ID4+Pj4+Pj4+ Pj4+Pj4+IFBIWV9OT0xJTkssIHdoYXQgdG8gbmV4dCBpcyBwZXJpb2RpY2FsbHkgY2hlY2sgUEhZ IGxpbmsNCj4gPj4+Pj4+Pj4+Pj4+Pj4gc3RhdHVzLiBXaGVuIE1ESU8gYnVzIHJlc3VtZSwgaXQg d2lsbCBpbml0aWFsaXplIFBIWQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiBoYXJkd2FyZSwgaW5jbHVkaW5n IHNvZnRfcmVzZXQsIHdoYXQgd291bGQgc29mdF9yZXNldA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBhZmZl Y3Qgc2VlbXMgdmFyaW91cyBmcm9tDQo+ID4+Pj4+IGRpZmZlcmVudCBQSFlzLg0KPiA+Pj4+Pj4+ Pj4+Pj4+PiBGb3IgS1NaODA4MVJOQiwgd2hlbiBpdCBpbiBQSFlfTk9MSU5LIHN0YXRlIGFuZCB0 aGVuDQo+ID4+Pj4+Pj4+Pj4+Pj4+IHBlcmZvcm0gYSBzb2Z0IHJlc2V0LA0KPiA+Pj4+Pj4+Pj4+ IGl0IHdpbGwgbmV2ZXIgY29tcGxldGUgYXV0by1uZWdvLg0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pj4+Pj4gV2h5PyBUaGF0IHdvdWxkIG5lZWQgdG8gYmUgY2hlY2tlZCBpbiBkZXRhaWwu IE1heWJlIGNoaXANCj4gPj4+Pj4+Pj4+Pj4+PiBlcnJhdGEgZG9jdW1lbnRhdGlvbiBwcm92aWRl cyBhIGhpbnQuDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+ PiBUaGUgS1NaODA4MSBzcGVjIHNheXMgdGhlIGZvbGxvd2luZyBhYm91dCBiaXQgQk1DUl9QRE9X TjoNCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBJZiBzb2Z0d2FyZSByZXNldCAoUmVn aXN0ZXIgMC4xNSkgaXMgdXNlZCB0byBleGl0DQo+ID4+Pj4+Pj4+Pj4+PiBwb3dlci1kb3duIG1v ZGUgKFJlZ2lzdGVyIDAuMTEgPSAxKSwgdHdvIHNvZnR3YXJlIHJlc2V0DQo+ID4+Pj4+Pj4+Pj4+ PiB3cml0ZXMgKFJlZ2lzdGVyDQo+ID4+Pj4+Pj4+Pj4+PiAwLjE1ID0gMSkgYXJlIHJlcXVpcmVk LiBUaGUgZmlyc3Qgd3JpdGUgY2xlYXJzIHBvd2VyLWRvd24NCj4gPj4+Pj4+Pj4+Pj4+IG1vZGU7 IHRoZSBzZWNvbmQgd3JpdGUgcmVzZXRzIHRoZSBjaGlwIGFuZCByZS1sYXRjaGVzIHRoZQ0KPiA+ Pj4+Pj4+Pj4+Pj4gcGluIHN0cmFwcGluZyBwaW4NCj4gPj4+Pj4gdmFsdWVzLg0KPiA+Pj4+Pj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IE1heWJlIHRoaXMgY2F1c2VzIHRoZSBpc3N1ZSB5b3Ugc2Vl IGFuZCBnZW5waHlfc29mdF9yZXNldCgpDQo+ID4+Pj4+Pj4+Pj4+PiBpc24ndCBhcHByb3ByaWF0 ZSBmb3IgdGhpcyBQSFkuIFBsZWFzZSByZS10ZXN0IHdpdGggdGhlDQo+ID4+Pj4+Pj4+Pj4+PiBL U1o4MDgxIHNvZnQgcmVzZXQgZm9sbG93aW5nIHRoZSBzcGVjIGNvbW1lbnQuDQo+ID4+Pj4+Pj4+ Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+PiBJbnRlcmVzdGluZy4gTmV2ZXIgZXhw ZWN0ZWQgdGhhdCBiZWhhdmlvci4NCj4gPj4+Pj4+Pj4+Pj4gVGhhbmtzIGZvciBjYXRjaGluZyBp dC4gU2tpbW1lZCB0aHJvdWdoIHRoZSBkYXRhc2hlZXRzL2VycmF0YXMuDQo+ID4+Pj4+Pj4+Pj4+ IFRoaXMgaXMgd2hhdCBJIGZvdW5kIChtaWNyZWwuYyk6DQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+IDEwLzEwMDoNCj4gPj4+Pj4+Pj4+Pj4gODAwMSAtIFVuYWZmZWN0ZWQ/DQo+ID4+Pj4+ Pj4+Pj4+IDgwMjEvODAzMSAtIERvdWJsZSByZXNldCBhZnRlciBQRE9XTi4NCj4gPj4+Pj4+Pj4+ Pj4gODA0MSAtIEVycmF0YS4gUERPV04gYnJva2VuLiBSZWNvbW1lbmRlZCBkbyBub3QgdXNlLg0K PiBVbmNsZWFyDQo+ID4+Pj4+Pj4+Pj4+IGlmIHJlc2V0IHNvbHZlcyB0aGUgaXNzdWUgc2luY2Ug ZXJyYXRhIHNheXMgbm8gZXJyb3IgYWZ0ZXINCj4gPj4+Pj4+Pj4+Pj4gcmVzZXQgYnV0IGlzIGFs c28gY2xhaW1pbmcgdGhhdCBvbmx5IHRvZ2dsaW5nIFBET1dOIChtYXkpIG9yDQo+ID4+Pj4+Pj4+ Pj4+IHBvd2VyIHdpbGwNCj4gPj4+IGhlbHAuDQo+ID4+Pj4+Pj4+Pj4+IDgwNTEgLSBEb3VibGUg cmVzZXQgYWZ0ZXIgUERPV04uDQo+ID4+Pj4+Pj4+Pj4+IDgwNjEgLSBEb3VibGUgcmVzZXQgYWZ0 ZXIgUERPV04uDQo+ID4+Pj4+Pj4+Pj4+IDgwODEgLSBEb3VibGUgcmVzZXQgYWZ0ZXIgUERPV04u DQo+ID4+Pj4+Pj4+Pj4+IDgwOTEgLSBEb3VibGUgcmVzZXQgYWZ0ZXIgUERPV04uDQo+ID4+Pj4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+IDEwLzEwMC8xMDAwOg0KPiA+Pj4+Pj4+Pj4+PiBOb3RoaW5n IGluIGdpZ2FiaXQgYWZhaWNzLg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+PiBTd2l0Y2hl czoNCj4gPj4+Pj4+Pj4+Pj4gODg2MiAtIE5vdCBhZmZlY3RlZD8NCj4gPj4+Pj4+Pj4+Pj4gODg2 MyAtIEVycmF0YS4gUERPV04gYnJva2VuLiBSZXNldCB3aWxsIG5vdCBoZWxwLiBXb3JrYXJvdW5k DQo+ID4+PiBleGlzdHMuDQo+ID4+Pj4+Pj4+Pj4+IDg4NjQgLSBOb3QgYWZmZWN0ZWQ/DQo+ID4+ Pj4+Pj4+Pj4+IDg4NzMgLSBFcnJhdGEuIFBET1dOIGJyb2tlbi4gUmVzZXQgd2lsbCBub3QgaGVs cC4gV29ya2Fyb3VuZA0KPiA+Pj4gZXhpc3RzLg0KPiA+Pj4+Pj4+Pj4+PiA5NDc3IC0gRXJyYXRh LiBQRE9XTiBicm9rZW4uIFdpbGwgcmFuZG9tbHkgY2F1c2UgbGluaw0KPiA+Pj4+Pj4+Pj4+PiBm YWlsdXJlIG9uIGFkamFjZW50IGxpbmtzLiBEbyBub3QgdXNlLg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+Pj4+PiBUaGlzIGNlcnRhaW5seSBleHBsYWlucyBhIGxvdC4NCj4gPj4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gVGhpcyBwYXRjaCBjaGFuZ2VzIFBI WSBzdGF0ZSB0byBQSFlfVVAgd2hlbiBNRElPIGJ1cw0KPiA+Pj4gcmVzdW1lDQo+ID4+Pj4+Pj4+ Pj4+Pj4+IGJhY2ssIGl0IHNob3VsZCBiZSByZWFzb25hYmxlIGFmdGVyIFBIWSBoYXJkd2FyZQ0K PiA+Pj4+Pj4+Pj4+Pj4+PiByZS1pbml0aWFsaXplZC4gQWxzbyBnaXZlIHN0YXRlIG1hY2hpbmUg YSBjaGFuY2UgdG8NCj4gPj4+Pj4+Pj4+Pj4+Pj4gc3RhcnQvY29uZmlnDQo+ID4+Pj4+IGF1dG8t bmVnbyBhZ2Fpbi4NCj4gPj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+ Pj4+Pj4+IElmIHRoZSBNQUMgZHJpdmVyIGNhbGxzIHBoeV9zdG9wKCkgb24gc3VzcGVuZCwgdGhl bg0KPiA+Pj4+Pj4+Pj4+Pj4+IHBoeWRldi0+c3VzcGVuZGVkIGlzIHRydWUgYW5kIG1kaW9fYnVz X3BoeV9tYXlfc3VzcGVuZCgpDQo+ID4+Pj4+Pj4+Pj4+Pj4gcGh5ZGV2LT5yZXR1cm5zDQo+ID4+ Pj4+Pj4+Pj4+Pj4gZmFsc2UuIEFzIGEgY29uc2VxdWVuY2UNCj4gPj4+Pj4+Pj4+Pj4+PiBwaHlk ZXYtPnN1c3BlbmRlZF9ieV9tZGlvX2J1cyBpcyBmYWxzZSBhbmQNCj4gPj4+Pj4+Pj4+Pj4+PiBw aHlkZXYtPm1kaW9fYnVzX3BoeV9yZXN1bWUoKQ0KPiA+Pj4+Pj4+Pj4+Pj4+IHNraXBzIHRoZSBQ SFkgaHcgaW5pdGlhbGl6YXRpb24uDQo+ID4+Pj4+Pj4+Pj4+Pj4gUGxlYXNlIGFsc28gbm90ZSB0 aGF0IG1kaW9fYnVzX3BoeV9zdXNwZW5kKCkgY2FsbHMNCj4gPj4+Pj4+Pj4+Pj4+PiBwaHlfc3Rv cF9tYWNoaW5lKCkgdGhhdCBzZXRzIHRoZSBzdGF0ZSB0byBQSFlfVVAuDQo+ID4+Pj4+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBGb3Jnb3QgdGhhdCBNRElPIGJ1cyBz dXNwZW5kIGlzIGRvbmUgYmVmb3JlIE1BQyBkcml2ZXINCj4gPj4gc3VzcGVuZC4NCj4gPj4+Pj4+ Pj4+Pj4+IFRoZXJlZm9yZSBkaXNyZWdhcmQgdGhpcyBwYXJ0IGZvciBub3cuDQo+ID4+Pj4+Pj4+ Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IEhhdmluZyBzYWlkIHRoYXQgdGhlIGN1cnJlbnQgYXJndW1l bnRhdGlvbiBpc24ndCBjb252aW5jaW5nLg0KPiA+Pj4+Pj4+Pj4+Pj4+IEknbSBub3QgYXdhcmUg b2Ygc3VjaCBpc3N1ZXMgb24gb3RoZXIgc3lzdGVtcywgdGhlcmVmb3JlDQo+ID4+Pj4+Pj4+Pj4+ Pj4gaXQncyBsaWtlbHkgdGhhdCBzb21ldGhpbmcgaXMgc3lzdGVtLWRlcGVuZGVudC4NCj4gPj4+ Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IFBsZWFzZSBjaGVjayB0aGUgZXhhY3QgY2FsbCBz ZXF1ZW5jZSBvbiB5b3VyIHN5c3RlbSwgbWF5YmUNCj4gPj4+Pj4+Pj4+Pj4+PiBpdCBwcm92aWRl cyBhIGhpbnQuDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1i eTogSm9ha2ltIFpoYW5nIDxxaWFuZ3FpbmcuemhhbmdAbnhwLmNvbT4NCj4gPj4+Pj4+Pj4+Pj4+ Pj4gLS0tDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICBkcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jIHwg NyArKysrKysrDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25z KCspDQo+ID4+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9waHkvcGh5X2RldmljZS5jDQo+ID4+Pj4+Pj4+Pj4+Pj4+IGIvZHJpdmVycy9uZXQv cGh5L3BoeV9kZXZpY2UuYyBpbmRleA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBjYzM4ZTMyNjQwNWEuLjMx MmE2ZjY2MjQ4MQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiAxMDA2NDQNCj4gPj4+Pj4+Pj4+Pj4+Pj4gLS0t IGEvZHJpdmVycy9uZXQvcGh5L3BoeV9kZXZpY2UuYw0KPiA+Pj4+Pj4+Pj4+Pj4+PiArKysgYi9k cml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jDQo+ID4+Pj4+Pj4+Pj4+Pj4+IEBAIC0zMDYsNiAr MzA2LDEzIEBAIHN0YXRpYyBfX21heWJlX3VudXNlZCBpbnQNCj4gPj4+Pj4+Pj4+PiBtZGlvX2J1 c19waHlfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gPj4+Pj4+Pj4+Pj4+Pj4gIAlyZXQg PSBwaHlfcmVzdW1lKHBoeWRldik7DQo+ID4+Pj4+Pj4+Pj4+Pj4+ICAJaWYgKHJldCA8IDApDQo+ ID4+Pj4+Pj4+Pj4+Pj4+ICAJCXJldHVybiByZXQ7DQo+ID4+Pj4+Pj4+Pj4+Pj4+ICsNCj4gPj4+ Pj4+Pj4+Pj4+Pj4gKwkvKiBQSFkgc3RhdGUgY291bGQgYmUgY2hhbmdlZCB0byBQSFlfTk9MSU5L IGZyb20gTUFDDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICtjb250cm9sbGVyDQo+ID4+Pj4+Pj4+Pj4gcmVz dW1lDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICsJICogcm91bnRlIHdpdGggcGh5X3N0YXJ0KCksIGhlcmUg Y2hhbmdlIHRvIFBIWV9VUCBhZnRlcg0KPiA+Pj4+Pj4+Pj4+IHJlLWluaXRpYWxpemluZw0KPiA+ Pj4+Pj4+Pj4+Pj4+PiArCSAqIFBIWSBoYXJkd2FyZSwgbGV0IFBIWSBzdGF0ZSBtYWNoaW5lIHRv IHN0YXJ0L2NvbmZpZw0KPiA+Pj4+Pj4+Pj4+Pj4+PiArYXV0by1uZWdvDQo+ID4+Pj4+Pj4+Pj4g YWdhaW4uDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICsJICovDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICsJcGh5ZGV2 LT5zdGF0ZSA9IFBIWV9VUDsNCj4gPj4+Pj4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4+Pj4+PiAg bm9fcmVzdW1lOg0KPiA+Pj4+Pj4+Pj4+Pj4+PiAgCWlmIChwaHlkZXYtPmF0dGFjaGVkX2RldiAm JiBwaHlkZXYtPmFkanVzdF9saW5rKQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiAgCQlwaHlfc3RhcnRfbWFj aGluZShwaHlkZXYpOw0KPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gVGhpcyBp cyBhIHF1aWNrIGRyYWZ0IG9mIHRoZSBtb2RpZmllZCBzb2Z0IHJlc2V0IGZvciBLU1o4MDgxLg0K PiA+Pj4+Pj4+Pj4+IFNvbWUgdGVzdHMgd291bGQgYmUgYXBwcmVjaWF0ZWQuDQo+ID4+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBJIHRlc3QgdGhpcyBwYXRjaCBhdCBteSBzaWRl LCB1bmZvcnR1bmF0ZWx5LCBpdCBzdGlsbCBjYW4ndCB3b3JrLg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4+IEkgaGF2ZSBub3QgZm91bmQgd2hhdCBzb2Z0IHJlc2V0IHdvdWxkIGFmZmVjdCBpbiA4 MDgxIHNwZWMsIGlzDQo+ID4+Pj4+Pj4+PiB0aGVyZSBhbmcgY29tbW9uIERlc2NyaXB0aW9uIGZv ciBkaWZmZXJlbnQgUEhZcz8NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IFlv dSBjYW4gY2hlY2sgdGhlIGNsYXVzZSAyMiBzcGVjOiA4MDIuMyAyMi4yLjQuMS4xDQo+ID4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+IEFwYXJ0IGZyb20gdGhhdCB5b3UgY2FuIGNoZWNrIEJNQ1IgdmFsdWUg YW5kIHdoaWNoIG1vZGVzIHlvdXINCj4gPj4+Pj4+Pj4gUEhZIGFkdmVydGlzZXMgYWZ0ZXIgYSBz b2Z0IHJlc2V0LiBJZiB0aGUgUEhZIGluZGVlZCB3b3VsZG4ndA0KPiA+Pj4+Pj4+PiByZXN0YXJ0 IGFuZWcgYWZ0ZXIgYSBzb2Z0IHJlc2V0LCB0aGVuIGl0IHdvdWxkIGJlIHRoZSBvbmx5IG9uZQ0K PiA+Pj4+Pj4+PiB3aXRoIHRoaXMgYmVoYXZpb3IgSSBrbm93LiBBbmQgSSdkIHdvbmRlciB3aHkg dGhlcmUgYXJlbid0IG1vcmUNCj4gPj4+Pj4+Pj4gc3VjaA0KPiA+PiByZXBvcnRzLg0KPiA+Pj4+ Pj4+DQo+ID4+Pj4+Pj4gSGkgSGVpbmVyLA0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gV2UgaGF2ZSBy ZWFzb25zIHRvIGJlbGlldmUgaXQgaXMgYSB3ZWlyZCBiZWhhdmlvciBvZiBLU1o4MDgxLiBJDQo+ ID4+Pj4+Pj4gaGF2ZSBhbm90aGVyIHR3byBQSFlzIGF0IG15IHNpZGUsIEFSODAzMSBhbmQgUlRM ODIxMUZELCB0aGV5IGNhbg0KPiA+Pj4+Pj4+IHdvcmsgZmluZSBpZg0KPiA+Pj4+PiBzb2Z0X3Jl c2V0IGltcGxlbWVudGVkLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gQXMgY29tbWl0IG1lc3NhZ2Ug ZGVzY3JpYmVkLCBwaHlfc3RhcnQoKSB3b3VsZCBjaGFuZ2UgUEhZIHN0YXRlDQo+ID4+Pj4+Pj4g dG8NCj4gPj4+Pj4gUEhZX1VQIGZpbmFsbHkgdG8gUEhZX05PTElOSyB3aGVuIE1BQyByZXN1bWUu DQo+ID4+Pj4+Pj4gQWZ0ZXIgTURJTyBidXMgcmVzdW1lIGJhY2ssIGl0IHdpbGwgcGVyaW9kaWNh bGx5IGNoZWNrIGxpbmsgc3RhdHVzLg0KPiA+Pj4+Pj4+IEkgZGlkIGJlbG93DQo+ID4+Pj4+IGNv ZGUgY2hhbmdlIHRvIGR1bXAgYWxsIFBIWSByZWdpc3RlcnMuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+ PiAtLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5LmMNCj4gPj4+Pj4+PiArKysgYi9kcml2ZXJzL25l dC9waHkvcGh5LmMNCj4gPj4+Pj4+PiBAQCAtMzUsNyArMzUsNyBAQA0KPiA+Pj4+Pj4+ICAjaW5j bHVkZSA8bmV0L2dlbmV0bGluay5oPg0KPiA+Pj4+Pj4+ICAjaW5jbHVkZSA8bmV0L3NvY2suaD4N Cj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IC0jZGVmaW5lIFBIWV9TVEFURV9USU1FIEhaDQo+ID4+Pj4+ Pj4gKyNkZWZpbmUgUEhZX1NUQVRFX1RJTUUgKDEwICogSFopDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+ PiAgI2RlZmluZSBQSFlfU1RBVEVfU1RSKF9zdGF0ZSkgICAgICAgICAgICAgICAgICBcDQo+ID4+ Pj4+Pj4gICAgICAgICBjYXNlIFBIWV8jI19zdGF0ZTogICAgICAgICAgICAgICAgICAgICAgXA0K PiA+Pj4+Pj4+IEBAIC03MzgsNiArNzM4LDI4IEBAIHN0YXRpYyBpbnQgcGh5X2NoZWNrX2xpbmtf c3RhdHVzKHN0cnVjdA0KPiA+Pj4+Pj4+IHBoeV9kZXZpY2UNCj4gPj4+Pj4gKnBoeWRldikNCj4g Pj4+Pj4+PiAgICAgICAgIGlmIChlcnIpDQo+ID4+Pj4+Pj4gICAgICAgICAgICAgICAgIHJldHVy biBlcnI7DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiArICAgICAgIHByaW50aygib2Zmc2V0IDB4MDAg ZGF0YSA9ICUweFxuIiwgcGh5X3JlYWQocGh5ZGV2LCAweDAwKSk7DQo+ID4+Pj4+Pj4gKyAgICAg ICBwcmludGsoIm9mZnNldCAweDAxIGRhdGEgPSAlMHhcbiIsIHBoeV9yZWFkKHBoeWRldiwgMHgw MSkpOw0KPiA+Pj4+Pj4+ICsgICAgICAgcHJpbnRrKCJvZmZzZXQgMHgwMiBkYXRhID0gJTB4XG4i LCBwaHlfcmVhZChwaHlkZXYsIDB4MDIpKTsNCj4gPj4+Pj4+PiArICAgICAgIHByaW50aygib2Zm c2V0IDB4MDMgZGF0YSA9ICUweFxuIiwgcGh5X3JlYWQocGh5ZGV2LCAweDAzKSk7DQo+ID4+Pj4+ Pj4gKyAgICAgICBwcmludGsoIm9mZnNldCAweDA0IGRhdGEgPSAlMHhcbiIsIHBoeV9yZWFkKHBo eWRldiwgMHgwNCkpOw0KPiA+Pj4+Pj4+ICsgICAgICAgcHJpbnRrKCJvZmZzZXQgMHgwNSBkYXRh ID0gJTB4XG4iLCBwaHlfcmVhZChwaHlkZXYsIDB4MDUpKTsNCj4gPj4+Pj4+PiArICAgICAgIHBy aW50aygib2Zmc2V0IDB4MDYgZGF0YSA9ICUweFxuIiwgcGh5X3JlYWQocGh5ZGV2LCAweDA2KSk7 DQo+ID4+Pj4+Pj4gKyAgICAgICBwcmludGsoIm9mZnNldCAweDA3IGRhdGEgPSAlMHhcbiIsIHBo eV9yZWFkKHBoeWRldiwgMHgwNykpOw0KPiA+Pj4+Pj4+ICsgICAgICAgcHJpbnRrKCJvZmZzZXQg MHgwOCBkYXRhID0gJTB4XG4iLCBwaHlfcmVhZChwaHlkZXYsIDB4MDgpKTsNCj4gPj4+Pj4+PiAr ICAgICAgIHByaW50aygib2Zmc2V0IDB4MDkgZGF0YSA9ICUweFxuIiwgcGh5X3JlYWQocGh5ZGV2 LCAweDA5KSk7DQo+ID4+Pj4+Pj4gKyAgICAgICBwcmludGsoIm9mZnNldCAweDEwIGRhdGEgPSAl MHhcbiIsIHBoeV9yZWFkKHBoeWRldiwgMHgxMCkpOw0KPiA+Pj4+Pj4+ICsgICAgICAgcHJpbnRr KCJvZmZzZXQgMHgxMSBkYXRhID0gJTB4XG4iLCBwaHlfcmVhZChwaHlkZXYsIDB4MTEpKTsNCj4g Pj4+Pj4+PiArICAgICAgIHByaW50aygib2Zmc2V0IDB4MTUgZGF0YSA9ICUweFxuIiwgcGh5X3Jl YWQocGh5ZGV2LCAweDE1KSk7DQo+ID4+Pj4+Pj4gKyAgICAgICBwcmludGsoIm9mZnNldCAweDE2 IGRhdGEgPSAlMHhcbiIsIHBoeV9yZWFkKHBoeWRldiwgMHgxNikpOw0KPiA+Pj4+Pj4+ICsgICAg ICAgcHJpbnRrKCJvZmZzZXQgMHgxNyBkYXRhID0gJTB4XG4iLCBwaHlfcmVhZChwaHlkZXYsIDB4 MTcpKTsNCj4gPj4+Pj4+PiArICAgICAgIHByaW50aygib2Zmc2V0IDB4MTggZGF0YSA9ICUweFxu IiwgcGh5X3JlYWQocGh5ZGV2LCAweDE4KSk7DQo+ID4+Pj4+Pj4gKyAgICAgICBwcmludGsoIm9m ZnNldCAweDFiIGRhdGEgPSAlMHhcbiIsIHBoeV9yZWFkKHBoeWRldiwgMHgxYikpOw0KPiA+Pj4+ Pj4+ICsgICAgICAgcHJpbnRrKCJvZmZzZXQgMHgxYyBkYXRhID0gJTB4XG4iLCBwaHlfcmVhZChw aHlkZXYsIDB4MWMpKTsNCj4gPj4+Pj4+PiArICAgICAgIHByaW50aygib2Zmc2V0IDB4MWQgZGF0 YSA9ICUweFxuIiwgcGh5X3JlYWQocGh5ZGV2LCAweDFkKSk7DQo+ID4+Pj4+Pj4gKyAgICAgICBw cmludGsoIm9mZnNldCAweDFlIGRhdGEgPSAlMHhcbiIsIHBoeV9yZWFkKHBoeWRldiwgMHgxZSkp Ow0KPiA+Pj4+Pj4+ICsgICAgICAgcHJpbnRrKCJvZmZzZXQgMHgxZiBkYXRhID0gJTB4XG4iLCBw aHlfcmVhZChwaHlkZXYsIDB4MWYpKTsNCj4gPj4+Pj4+PiArICAgICAgIHByaW50aygiXG5cbiIp Ow0KPiA+Pj4+Pj4+ICAgICAgICAgaWYgKHBoeWRldi0+bGluayAmJiBwaHlkZXYtPnN0YXRlICE9 IFBIWV9SVU5OSU5HKSB7DQo+ID4+Pj4+Pj4gICAgICAgICAgICAgICAgIHBoeV9jaGVja19kb3du c2hpZnQocGh5ZGV2KTsNCj4gPj4+Pj4+PiAgICAgICAgICAgICAgICAgcGh5ZGV2LT5zdGF0ZSA9 IFBIWV9SVU5OSU5HOw0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gQWZ0ZXIgTURJTyBidXMgcmVzdW1l IGJhY2ssIHJlc3VsdHMgYXMgYmVsb3c6DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBbICAxMTkuNTQ1 MzgzXSBvZmZzZXQgMHgwMCBkYXRhID0gMTEwMCBbICAxMTkuNTQ5MjM3XSBvZmZzZXQNCj4gPj4+ Pj4+PiAweDAxIGRhdGEgPSA3ODQ5IFsgIDExOS41NjMxMjVdIG9mZnNldCAweDAyIGRhdGEgPSAy MiBbDQo+ID4+Pj4+Pj4gMTE5LjU2NjgxMF0gb2Zmc2V0IDB4MDMgZGF0YSA9IDE1NjAgWyAgMTE5 LjU3MDU5N10gb2Zmc2V0IDB4MDQNCj4gPj4+Pj4+PiBkYXRhID0gODVlMSBbIDExOS41ODgwMTZd IG9mZnNldCAweDA1IGRhdGEgPSAwIFsgIDExOS41OTI4OTFdDQo+ID4+Pj4+Pj4gb2Zmc2V0IDB4 MDYgZGF0YSA9DQo+ID4+Pj4+Pj4gNCBbICAxMTkuNTk2NDUyXSBvZmZzZXQgMHgwNyBkYXRhID0g MjAwMSBbICAxMTkuNjAwMjMzXSBvZmZzZXQNCj4gPj4+Pj4+PiAweDA4IGRhdGEgPSAwIFsgIDEx OS42MTc4NjRdIG9mZnNldCAweDA5IGRhdGEgPSAwIFsgIDExOS42MjU5OTBdDQo+ID4+Pj4+Pj4g b2Zmc2V0DQo+ID4+Pj4+Pj4gMHgxMCBkYXRhID0gMCBbICAxMTkuNjI5NTc2XSBvZmZzZXQgMHgx MSBkYXRhID0gMCBbICAxMTkuNjQyNzM1XQ0KPiA+Pj4+Pj4+IG9mZnNldCAweDE1IGRhdGEgPSAw IFsgIDExOS42NDYzMzJdIG9mZnNldCAweDE2IGRhdGEgPSAyMDIgWw0KPiA+Pj4+Pj4+IDExOS42 NTAwMzBdIG9mZnNldCAweDE3IGRhdGEgPSA1YzAyIFsgIDExOS42NjgwNTRdIG9mZnNldCAweDE4 DQo+ID4+Pj4+Pj4gZGF0YSA9DQo+ID4+Pj4+Pj4gODAxIFsgIDExOS42NzI5OTddIG9mZnNldCAw eDFiIGRhdGEgPSAwIFsgIDExOS42NzY1NjVdIG9mZnNldA0KPiA+Pj4+Pj4+IDB4MWMgZGF0YSA9 IDAgWyAgMTE5LjY4MDA4NF0gb2Zmc2V0IDB4MWQgZGF0YSA9IDAgWyAgMTE5LjY5ODAzMV0NCj4g Pj4+Pj4+PiBvZmZzZXQgMHgxZSBkYXRhID0gMjAgWyAgMTE5LjcwNjI0Nl0gb2Zmc2V0IDB4MWYg ZGF0YSA9IDgxOTAgWw0KPiA+Pj4+Pj4+IDExOS43MDk5ODRdIFsgIDExOS43MDk5ODRdIFsgIDEy MC4xODIxMjBdIG9mZnNldCAweDAwIGRhdGEgPSAxMDANCj4gPj4+Pj4+PiBbIDEyMC4xODU4OTRd IG9mZnNldCAweDAxIGRhdGEgPSA3ODRkIFsgIDEyMC4xODk2ODFdIG9mZnNldCAweDAyDQo+ID4+ Pj4+Pj4gZGF0YSA9IDIyIFsgMTIwLjIwNjMxOV0gb2Zmc2V0IDB4MDMgZGF0YSA9IDE1NjAgWyAg MTIwLjIxMDE3MV0NCj4gPj4+Pj4+PiBvZmZzZXQNCj4gPj4+Pj4+PiAweDA0IGRhdGEgPQ0KPiA+ Pj4+Pj4+IDgwNjEgWyAgMTIwLjIyNTM1M10gb2Zmc2V0IDB4MDUgZGF0YSA9IDAgWyAgMTIwLjIy ODk0OF0gb2Zmc2V0DQo+ID4+Pj4+Pj4gMHgwNiBkYXRhID0gNCBbICAxMjAuMjQyOTM2XSBvZmZz ZXQgMHgwNyBkYXRhID0gMjAwMSBbDQo+ID4+Pj4+Pj4gMTIwLjI0Njc5Ml0gb2Zmc2V0DQo+ID4+ Pj4+Pj4gMHgwOCBkYXRhID0gMCBbICAxMjAuMjUwMzEzXSBvZmZzZXQgMHgwOSBkYXRhID0gMCBb ICAxMjAuMjY2NzQ4XQ0KPiA+Pj4+Pj4+IG9mZnNldCAweDEwIGRhdGEgPSAwIFsgIDEyMC4yNzAz MzVdIG9mZnNldCAweDExIGRhdGEgPSAwIFsNCj4gPj4+Pj4+PiAxMjAuMjg0MTY3XSBvZmZzZXQg MHgxNSBkYXRhID0gMCBbICAxMjAuMjg3NzYwXSBvZmZzZXQgMHgxNiBkYXRhDQo+ID4+Pj4+Pj4g PQ0KPiA+Pj4+Pj4+IDIwMiBbICAxMjAuMzAxMDMxXSBvZmZzZXQgMHgxNyBkYXRhID0gM2MwMiBb ICAxMjAuMzEzMjA5XSBvZmZzZXQNCj4gPj4+Pj4+PiAweDE4IGRhdGEgPSA4MDEgWyAgMTIwLjMx Njk4M10gb2Zmc2V0IDB4MWIgZGF0YSA9IDAgWw0KPiA+Pj4+Pj4+IDEyMC4zMjA1MTNdIG9mZnNl dCAweDFjIGRhdGEgPSAxIFsgIDEyMC4zMzY1ODldIG9mZnNldCAweDFkIGRhdGENCj4gPj4+Pj4+ PiA9IDAgWyAxMjAuMzQwMTg0XSBvZmZzZXQgMHgxZSBkYXRhID0gMTE1IFsgIDEyMC4zNTUzNTdd IG9mZnNldA0KPiA+Pj4+Pj4+IDB4MWYgZGF0YSA9IDgxOTAgWyAxMjAuMzU5MTEyXSBbICAxMjAu MzU5MTEyXSBbICAxMjkuNzg1Mzk2XQ0KPiA+Pj4+Pj4+IG9mZnNldCAweDAwIGRhdGEgPSAxMTAw IFsgMTI5Ljc4OTI1Ml0gb2Zmc2V0IDB4MDEgZGF0YSA9IDc4NDkgWw0KPiA+Pj4+Pj4+IDEyOS44 MDk5NTFdIG9mZnNldA0KPiA+Pj4+Pj4+IDB4MDIgZGF0YSA9DQo+ID4+Pj4+Pj4gMjIgWyAgMTI5 LjgxNTAxOF0gb2Zmc2V0IDB4MDMgZGF0YSA9IDE1NjAgWyAgMTI5LjgxODg0NV0gb2Zmc2V0DQo+ ID4+Pj4+Pj4gMHgwNCBkYXRhID0gODVlMSBbICAxMjkuODM1ODA4XSBvZmZzZXQgMHgwNSBkYXRh ID0gMCBbDQo+ID4+Pj4+Pj4gMTI5LjgzOTM5OF0gb2Zmc2V0DQo+ID4+Pj4+Pj4gMHgwNiBkYXRh ID0gNCBbICAxMjkuODU0NTE0XSBvZmZzZXQgMHgwNyBkYXRhID0gMjAwMSBbDQo+ID4+Pj4+Pj4g MTI5Ljg1ODM3MV0gb2Zmc2V0IDB4MDggZGF0YSA9IDAgWyAgMTI5Ljg3MzM1N10gb2Zmc2V0IDB4 MDkgZGF0YQ0KPiA+Pj4+Pj4+ID0gMCBbIDEyOS44NzY5NTRdIG9mZnNldCAweDEwIGRhdGEgPSAw IFsgIDEyOS44ODA0NzJdIG9mZnNldA0KPiA+Pj4+Pj4+IDB4MTEgZGF0YSA9DQo+ID4+Pj4+Pj4g MCBbICAxMjkuODk2NDUwXSBvZmZzZXQgMHgxNSBkYXRhID0gMCBbICAxMjkuOTAwMDM4XSBvZmZz ZXQgMHgxNg0KPiA+Pj4+Pj4+IGRhdGEgPQ0KPiA+Pj4+Pj4+IDIwMiBbICAxMjkuOTE1MDQxXSBv ZmZzZXQgMHgxNyBkYXRhID0gNWMwMiBbICAxMjkuOTE4ODg5XSBvZmZzZXQNCj4gPj4+Pj4+PiAw eDE4IGRhdGEgPSA4MDEgWyAgMTI5LjkzMjczNV0gb2Zmc2V0IDB4MWIgZGF0YSA9IDAgWw0KPiA+ Pj4+Pj4+IDEyOS45NDY4MzBdIG9mZnNldCAweDFjIGRhdGEgPSAwIFsgIDEyOS45NTA0MjRdIG9m ZnNldCAweDFkIGRhdGENCj4gPj4+Pj4+PiA9IDAgWyAxMjkuOTY0NTg1XSBvZmZzZXQgMHgxZSBk YXRhID0gMCBbICAxMjkuOTY4MTkyXSBvZmZzZXQNCj4gPj4+Pj4+PiAweDFmIGRhdGEgPQ0KPiA+ Pj4+Pj4+IDgxOTAgWyAxMjkuOTcyOTM4XSBbICAxMjkuOTcyOTM4XSBbICAxMzAuNDI1MTI1XSBv ZmZzZXQgMHgwMA0KPiA+Pj4+Pj4+IGRhdGEgPQ0KPiA+Pj4+Pj4+IDEwMCBbIDEzMC40Mjg4ODld IG9mZnNldCAweDAxIGRhdGEgPSA3ODRkIFsgIDEzMC40NDI2NzFdIG9mZnNldA0KPiA+Pj4+Pj4+ IDB4MDIgZGF0YSA9DQo+ID4+Pj4+Pj4gMjIgWyAgMTMwLjQ0NjM2MF0gb2Zmc2V0IDB4MDMgZGF0 YSA9IDE1NjAgWyAgMTMwLjQ1MDE0Ml0gb2Zmc2V0DQo+ID4+Pj4+Pj4gMHgwNCBkYXRhID0gODA2 MSBbICAxMzAuNDY3MjA3XSBvZmZzZXQgMHgwNSBkYXRhID0gMCBbDQo+ID4+Pj4+Pj4gMTMwLjQ3 MDc4OV0gb2Zmc2V0DQo+ID4+Pj4+Pj4gMHgwNiBkYXRhID0gNCBbICAxMzAuNDg1MDcxXSBvZmZz ZXQgMHgwNyBkYXRhID0gMjAwMSBbDQo+ID4+Pj4+Pj4gMTMwLjQ4ODkzNF0gb2Zmc2V0IDB4MDgg ZGF0YSA9IDAgWyAgMTMwLjUwNDMyMF0gb2Zmc2V0IDB4MDkgZGF0YQ0KPiA+Pj4+Pj4+ID0gMCBb IDEzMC41MDc5MTFdIG9mZnNldCAweDEwIGRhdGEgPSAwIFsgIDEzMC41MjA5NTBdIG9mZnNldA0K PiA+Pj4+Pj4+IDB4MTEgZGF0YSA9DQo+ID4+Pj4+Pj4gMCBbICAxMzAuNTMyODY1XSBvZmZzZXQg MHgxNSBkYXRhID0gMCBbICAxMzAuNTM2NDYxXSBvZmZzZXQgMHgxNg0KPiA+Pj4+Pj4+IGRhdGEg PQ0KPiA+Pj4+Pj4+IDIwMiBbICAxMzAuNTQwMTU2XSBvZmZzZXQgMHgxNyBkYXRhID0gM2MwMiBb ICAxMzAuNTU3MjE4XSBvZmZzZXQNCj4gPj4+Pj4+PiAweDE4IGRhdGEgPSA4MDEgWyAgMTMwLjU2 MDk4N10gb2Zmc2V0IDB4MWIgZGF0YSA9IDAgWw0KPiA+Pj4+Pj4+IDEzMC41NzUxNThdIG9mZnNl dCAweDFjIGRhdGEgPSAxIFsgIDEzMC41Nzg3NTRdIG9mZnNldCAweDFkIGRhdGENCj4gPj4+Pj4+ PiA9IDAgWyAxMzAuNTkzNTQzXSBvZmZzZXQgMHgxZSBkYXRhID0gMTE1IFsgIDEzMC41OTczMTJd IG9mZnNldA0KPiA+Pj4+Pj4+IDB4MWYgZGF0YSA9IDgxOTANCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ IFdlIGNhbiBzZWUgdGhhdCBCTUNSIGFuZCBCTVNSIGNoYW5nZXMgZnJvbSAweDExMDAsMHg3ODQ5 IHRvDQo+ID4+Pj4+IDB4MTAwLDB4Nzg0ZCAoQk1DUlsxMl0gYml0IGFuZCBCTVNSWzJdKSwgYW5k IGxvb3AgaXQuDQo+ID4+Pj4+Pj4gQWJvdmUgcHJvY2VzcyBpcyBhdXRvLW5lZ28gZW5hYmxlZCwg bGluayBpcyBkb3duLCBhdXRvLW5lZ28gaXMNCj4gPj4+Pj4+PiBkaXNhYmxlZCwgbGluaw0KPiA+ Pj4+PiBpcyB1cC4gQW5kIGF1dG8tbmVnbyBjb21wbGV0ZSBiaXQgaXMgYWx3YXlzIDAuDQo+ID4+ Pj4+Pj4NCj4gPj4+Pj4+PiBQSFkgc2VlbXMgYmVjb21lIHVuc3RhYmxlIGlmIHNvZnQgcmVzZXQg YWZ0ZXIgc3RhcnQvY29uZmlnDQo+ID4+Pj4+Pj4gYXV0by1uZWdvLiBJIGFsc28NCj4gPj4+Pj4g d2FudCB0byBmaXggaXQgaW4gbWljcmVsIGRyaXZlciwgYnV0IGZhaWxlZC4NCj4gPj4+Pj4+Pg0K PiA+Pj4+Pj4NCj4gPj4+Pj4+IFdhaXRpbmcgZm9yIEFORUdfQ09NUExFVEUgdG8gYmUgc2V0IHdv dWxkbid0IGJlIGEgZ29vZCBvcHRpb24uDQo+ID4+Pj4+PiBBbmVnIG1heSBuZXZlciBjb21wbGV0 ZSBmb3IgZGlmZmVyZW50IHJlYXNvbnMsIGUuZy4gbm8gcGh5c2ljYWwNCj4gPj4+Pj4+IGxpbmsu IEFuZCBldmVuIGlmIHdlIHVzZSBhIHRpbWVvdXQgdGhpcyBtYXkgYWRkIHVud2FudGVkIGRlbGF5 cy4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4gRG8geW91IGhhdmUgYW55IG90aGVyIGluc2lnaHRzIHRo YXQgY2FuIGhlbHAgbWUgZnVydGhlciBsb2NhdGUNCj4gPj4+Pj4+PiB0aGUNCj4gPj4gaXNzdWU/ DQo+ID4+Pj4+IFRoYW5rcy4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEkgdGhpbmsg Y3VycmVudCBNQUMvUEhZIFBNIGhhbmRsaW5nIGlzbid0IHBlcmZlY3QuIE9mdGVuIHdlIGhhdmUN Cj4gPj4+Pj4+IHRoZSBmb2xsb3dpbmcNCj4gPj4+Pj4+IHNjZW5hcmlvOg0KPiA+Pj4+Pj4NCj4g Pj4+Pj4+ICpzdXNwZW5kKg0KPiA+Pj4+Pj4gMS4gUEhZIGlzIHN1c3BlbmRlZCAobWRpb19idXNf cGh5X3N1c3BlbmQpIDIuIE1BQyBzdXNwZW5kDQo+ID4+Pj4+PiBjYWxsYmFjayAodHlwaWNhbGx5 IGludm9sdmluZyBwaHlfc3RvcCgpKQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ICpyZXN1bWUqDQo+ID4+ Pj4+PiAxLiBNQUMgcmVzdW1lIGNhbGxiYWNrICh0eXBpY2FsbHkgaW52b2x2aW5nIHBoeV9zdGFy dCgpKSAyLiBQSFkNCj4gPj4+Pj4+IGlzIHJlc3VtZWQgKG1kaW9fYnVzX3BoeV9yZXN1bWUpLCBp bmNsLiBjYWxsaW5nIHBoeV9pbml0X2h3KCkNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBDYWxsaW5nIHBo eV9pbml0X2h3KCkgYWZ0ZXIgcGh5X3N0YXJ0KCkgZG9lc24ndCBsb29rIHJpZ2h0Lg0KPiA+Pj4+ Pj4gSXQgc2VlbXMgdG8gd29yayBpbiBtb3N0IGNhc2VzLCBidXQgdGhlcmUncyBhIGNlcnRhaW4g cmlzayB0aGF0DQo+ID4+Pj4+PiBwaHlfaW5pdF9odygpIG92ZXJ3cml0ZXMgc29tZXRoaW5nLCBl LmcuIHRoZSBhZHZlcnRpc2VkIG1vZGVzLg0KPiA+Pj4+Pj4gSSB0aGluayB3ZSBoYXZlIHR3byB2 YWxpZCBzY2VuYXJpb3M6DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gMS4gcGh5bGliIFBNIGNhbGxiYWNr cyBhcmUgdXNlZCwgdGhlbiB0aGUgTUFDIGRyaXZlciBzaG91bGRuJ3QNCj4gPj4+Pj4+ICAgIHRv dWNoIHRoZSBQSFkgaW4gaXRzIFBNIGNhbGxiYWNrcywgZXNwZWNpYWxseSBub3QgY2FsbA0KPiA+ Pj4+Pj4gICAgcGh5X3N0b3AvcGh5X3N0YXJ0Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IDIuIE1BQyBQ TSBjYWxsYmFja3MgdGFrZSBjYXJlIGFsc28gb2YgdGhlIFBIWS4gVGhlbiBJIHRoaW5rIHdlIHdv dWxkDQo+ID4+Pj4+PiAgICBuZWVkIGEgZmxhZyBhdCB0aGUgcGh5X2RldmljZSB0ZWxsaW5nIGl0 IHRvIG1ha2UgdGhlIFBIWSBQTQ0KPiA+Pj4+Pj4gICAgY2FsbGJhY2tzIGEgbm8tb3AuDQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gQW5kcmV3LCBSdXNzZWxsOiBXaGF0IGRvIHlvdSB0aGluaz8NCj4gPj4+ Pj4+DQo+ID4+Pj4+Pj4gQmVzdCBSZWdhcmRzLA0KPiA+Pj4+Pj4+IEpvYWtpbSBaaGFuZw0KPiA+ Pj4+Pj4+DQo+ID4+Pj4+Pj4gWy4uLl0NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4gSGVpbmVyDQo+ID4+ Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiBCYXNlZCBvbiBzY2VuYXJpbyAxIHlvdSBjYW4gYWxzbyB0 cnkgdGhlIGZvbGxvd2luZy4NCj4gPj4+Pj4NCj4gPj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mZWNfbWFpbi5jDQo+ID4+Pj4+IGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvZnJlZXNjYWxlL2ZlY19tYWluLmMNCj4gPj4+Pj4gaW5kZXggM2RiODgyMzIyLi5j ZGY5MTYwZmMgMTAwNjQ0DQo+ID4+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVz Y2FsZS9mZWNfbWFpbi5jDQo+ID4+Pj4+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVz Y2FsZS9mZWNfbWFpbi5jDQo+ID4+Pj4+IEBAIC0zODA1LDcgKzM4MDUsNiBAQCBzdGF0aWMgaW50 IF9fbWF5YmVfdW51c2VkDQo+IGZlY19zdXNwZW5kKHN0cnVjdA0KPiA+Pj4+PiBkZXZpY2UgKmRl dikNCj4gPj4+Pj4gIAlpZiAobmV0aWZfcnVubmluZyhuZGV2KSkgew0KPiA+Pj4+PiAgCQlpZiAo ZmVwLT53b2xfZmxhZyAmIEZFQ19XT0xfRkxBR19FTkFCTEUpDQo+ID4+Pj4+ICAJCQlmZXAtPndv bF9mbGFnIHw9IEZFQ19XT0xfRkxBR19TTEVFUF9PTjsNCj4gPj4+Pj4gLQkJcGh5X3N0b3AobmRl di0+cGh5ZGV2KTsNCj4gPj4+Pj4gIAkJbmFwaV9kaXNhYmxlKCZmZXAtPm5hcGkpOw0KPiA+Pj4+ PiAgCQluZXRpZl90eF9sb2NrX2JoKG5kZXYpOw0KPiA+Pj4+PiAgCQluZXRpZl9kZXZpY2VfZGV0 YWNoKG5kZXYpOw0KPiA+Pj4+PiBAQCAtMzg2NCw3ICszODYzLDYgQEAgc3RhdGljIGludCBfX21h eWJlX3VudXNlZA0KPiBmZWNfcmVzdW1lKHN0cnVjdA0KPiA+Pj4+PiBkZXZpY2UgKmRldikNCj4g Pj4+Pj4gIAkJbmV0aWZfZGV2aWNlX2F0dGFjaChuZGV2KTsNCj4gPj4+Pj4gIAkJbmV0aWZfdHhf dW5sb2NrX2JoKG5kZXYpOw0KPiA+Pj4+PiAgCQluYXBpX2VuYWJsZSgmZmVwLT5uYXBpKTsNCj4g Pj4+Pj4gLQkJcGh5X3N0YXJ0KG5kZXYtPnBoeWRldik7DQo+ID4+Pj4+ICAJfQ0KPiA+Pj4+PiAg CXJ0bmxfdW5sb2NrKCk7DQo+ID4+Pj4NCj4gPj4+PiBBcyBJIGRlc2NyaWJlZCBpbiBjb21taXQg bWVzc2FnZToNCj4gPj4+Pg0KPiA+Pj4+ICJXaGVuIEkgYW0gZGVidWdnaW5nLCBJIGZvdW5kIFBI WSB3b3JrcyBmaW5lIGlmIE1BQyBkb2Vzbid0IHN1cHBvcnQNCj4gPj4+IHN1c3BlbmQvcmVzdW1l IG9yIHBoeV9zdG9wKCkvcGh5X3N0YXJ0KCkgZG9lc24ndCBiZWVuIGNhbGxlZCBkdXJpbmcNCj4g Pj4+IHN1c3BlbmQvcmVzdW1lLiBUaGlzIGxldCBtZSByZWFsaXplLCBQSFkgc3RhdGUgbWFjaGlu ZQ0KPiA+Pj4gcGh5X3N0YXRlX21hY2hpbmUoKSBjb3VsZCBkbyBzb21ldGhpbmcgYnJlYWtzIHRo ZSBQSFkuIg0KPiA+Pj4+DQo+ID4+Pj4gU28gSSBoYXZlIHRyaWVkIHlvdXIgYWJvdmUgY29kZSBj aGFuZ2UgYmVmb3JlLCBhbmQgaXQgd29ya3MuIEJ1dCBpdA0KPiA+Pj4+IGlzIGEgdmVyeQ0KPiA+ Pj4gY29tbW9uIHBoZW5vbWVub24gdGhhdCBNQUMgc3VzcGVuZC9yZXN1bWUgaW52b2tlcyBwaHlf c3RvcC9zdGFydA0KPiBvcg0KPiA+Pj4gcGh5bGlua19zdG9wL3N0YXJ0LCBhbmQgaXQncyBiZWVu IGFyb3VuZCBmb3IgYSBsb25nIHRpbWUuDQo+ID4+Pj4NCj4gPj4+PiBBcyB0aGUgc2NlbmFyaW9z IHlvdSBsaXN0LCBpdCBpcyBpbmRlZWQgdW5yZWFzb25hYmxlIHRvIHNvZnQgcmVzZXQNCj4gPj4+ PiBvciBjb25maWcgUEhZDQo+ID4+PiBhZnRlciBjYWxsaW5nIHBoeV9zdGFydF9hbmVnKCkgaW4g c3RhdGUgbWFjaGluZS4gUEhZIHN0YXRlIHNob3VsZCBiZQ0KPiA+Pj4gUEhZX1VQIGFmdGVyIGNh bGxpbmcgcGh5X2luaXRfaHcoKSwgSXQgc2VlbXMgbW9yZSByZWFzb25hYmxlLg0KPiA+Pj4+DQo+ ID4+Pj4gQmVzdCBSZWdhcmRzLA0KPiA+Pj4+IEpvYWtpbSBaaGFuZw0KPiA+Pj4+PiAtLQ0KPiA+ Pj4+PiAyLjMxLjENCj4gPj4+Pj4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IEZvbGxvd2luZyBpcyBh IGRyYWZ0IHBhdGNoIGZvciBzY2VuYXJpbyAxOg0KPiA+Pj4gTWFrZSBQSFkgUE0gYSBuby1vcCBp ZiBNQUMgbWFuYWdlcyBQSFkgUE0uDQo+ID4+PiBDYW4geW91IGdpdmUgaXQgYSB0cnk/DQo+ID4+ Pg0KPiA+Pg0KPiA+PiBJdCBjYW4gd29yayBmb3IgbXkgY2FzZS4gVGhhbmtzLg0KPiA+DQo+ID4g SSBoYXZlIGFub3RoZXIgcXVlc3Rpb24sIGlmIGl0IGlzIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUg c3VzcGVuZC9yZXN1bWUNCj4gc2VxdWVuY2U/DQo+ID4gTUFDIHNob3VsZCBzdXNwZW5kIGJlZm9y ZSBNRElPIGJ1cywgYW5kIE1ESU8gYnVzIHNob3VsZCByZXN1bWUgYmVmb3JlDQo+IE1BQy4gRm9y IHNvbWUgTUFDcywgdGhleSBuZWVkIFBIWSBmZWVkIGNsb2Nrcy4gSXQgc2VlbXMgbW9yZSByZWFz b25hYmxlLg0KPiA+DQo+IA0KPiBPbiB0aGUgb3RoZXIgaGFuZCB3ZSBoYXZlIGNhc2VzIHdoZXJl IHRoZSBQSFkgZGVwZW5kcyBvbiB0aGUgTUFDLg0KPiBJZiB0aGUgTUFDIHN1c3BlbmRzIGZpcnN0 LCB0aGUgTURJTyBidXMgKGFuZCB0aGVyZWZvcmUgdGhlIFBIWSkgbWF5IG5vdCBiZQ0KPiBhY2Nl c3NpYmxlIGFueSBsb25nZXIuIFRoZXJlZm9yZSBpdCdzIG5vdCB0aGF0IGVhc3kuDQpZZXMsIHJp Z2h0Lg0KDQo+IFRoaXMgc3BlYWtzIGZvciBteSBwcm9wb3NhbCB0byBiZSBhYmxlIHRvIG1ha2Ug dGhlIFBIWSBQTSBvcHMgbm8tb3BzLg0KPiBUaGVuIHdlIGNhbiBoYW5kbGUgTUFDICsgUEhZIFBN IGluIHRoZSBNQUMgUE0gY2FsbGJhY2tzIGFuZCBjb25zaWRlciBhbnkNCj4gc3VjaCBkZXBlbmRl bmN5Lg0KWWVzLCB0aGlzIGNhbiBjb3ZlciBkaWZmZXJlbnQgY2FzZXMuDQoNCj4gSSBkb24ndCB0 aGluayB3ZSBjYW4gY2hhbmdlIHRoZSBQTSBvcmRlcmluZywgQUZBSUsgdGhlIFBNIGNvcmUgZG9l cyBpdCBiYXNlZA0KPiBvbiByZWdpc3RyYXRpb24gb3JkZXIgb2YgZGV2aWNlcy4NCkxlYXJuIG1v cmUuIFRoYW5rcy4NCg0KRG8geW91IHBsYW4gdG8gc2VuZCBhIGZvcm1hbCBwYXRjaCBmb3IgdGhp cz8NCg0KQmVzdCBSZWdhcmRzLA0KSm9ha2ltIFpoYW5nDQo+IA0KPiA+IEJlc3QgUmVnYXJkcywN Cj4gPiBKb2FraW0gWmhhbmcNCj4gPj4gQmVzdCBSZWdhcmRzLA0KPiA+PiBKb2FraW0gWmhhbmcN Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jDQo+ID4+PiBi L2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMgaW5kZXggYTAwOWQxNzY5Li43M2QyOWZkNWUg MTAwNjQ0DQo+ID4+PiAtLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jDQo+ID4+PiAr KysgYi9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jDQo+ID4+PiBAQCAtMjczLDYgKzI3Myw5 IEBAIHN0YXRpYyBfX21heWJlX3VudXNlZCBpbnQNCj4gPj4+IG1kaW9fYnVzX3BoeV9zdXNwZW5k KHN0cnVjdCBkZXZpY2UgKmRldikgIHsNCj4gPj4+ICAJc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRl diA9IHRvX3BoeV9kZXZpY2UoZGV2KTsNCj4gPj4+DQo+ID4+PiArCWlmIChwaHlkZXYtPm1hY19t YW5hZ2VkX3BtKQ0KPiA+Pj4gKwkJcmV0dXJuIDA7DQo+ID4+PiArDQo+ID4+PiAgCS8qIFdlIG11 c3Qgc3RvcCB0aGUgc3RhdGUgbWFjaGluZSBtYW51YWxseSwgb3RoZXJ3aXNlIGl0IHN0b3BzIG91 dA0KPiBvZg0KPiA+Pj4gIAkgKiBjb250cm9sLCBwb3NzaWJseSB3aXRoIHRoZSBwaHlkZXYtPmxv Y2sgaGVsZC4gVXBvbiByZXN1bWUsIG5ldGRldg0KPiA+Pj4gIAkgKiBtYXkgY2FsbCBwaHkgcm91 dGluZXMgdGhhdCB0cnkgdG8gZ3JhYiB0aGUgc2FtZSBsb2NrLCBhbmQgdGhhdA0KPiA+Pj4gbWF5 IEBADQo+ID4+PiAtMjk0LDYgKzI5Nyw5IEBAIHN0YXRpYyBfX21heWJlX3VudXNlZCBpbnQNCj4g Pj4+IG1kaW9fYnVzX3BoeV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+Pj4gIAlzdHJ1 Y3QgcGh5X2RldmljZSAqcGh5ZGV2ID0gdG9fcGh5X2RldmljZShkZXYpOw0KPiA+Pj4gIAlpbnQg cmV0Ow0KPiA+Pj4NCj4gPj4+ICsJaWYgKHBoeWRldi0+bWFjX21hbmFnZWRfcG0pDQo+ID4+PiAr CQlyZXR1cm4gMDsNCj4gPj4+ICsNCj4gPj4+ICAJaWYgKCFwaHlkZXYtPnN1c3BlbmRlZF9ieV9t ZGlvX2J1cykNCj4gPj4+ICAJCWdvdG8gbm9fcmVzdW1lOw0KPiA+Pj4NCj4gPj4+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L3BoeS5oIGIvaW5jbHVkZS9saW51eC9waHkuaCBpbmRleA0KPiA+ Pj4gOGUyY2Y4NGIyLi40NjcwMmFmMTggMTAwNjQ0DQo+ID4+PiAtLS0gYS9pbmNsdWRlL2xpbnV4 L3BoeS5oDQo+ID4+PiArKysgYi9pbmNsdWRlL2xpbnV4L3BoeS5oDQo+ID4+PiBAQCAtNTY3LDYg KzU2Nyw3IEBAIHN0cnVjdCBwaHlfZGV2aWNlIHsNCj4gPj4+ICAJdW5zaWduZWQgbG9vcGJhY2tf ZW5hYmxlZDoxOw0KPiA+Pj4gIAl1bnNpZ25lZCBkb3duc2hpZnRlZF9yYXRlOjE7DQo+ID4+PiAg CXVuc2lnbmVkIGlzX29uX3NmcF9tb2R1bGU6MTsNCj4gPj4+ICsJdW5zaWduZWQgbWFjX21hbmFn ZWRfcG06MTsNCj4gPj4+DQo+ID4+PiAgCXVuc2lnbmVkIGF1dG9uZWc6MTsNCj4gPj4+ICAJLyog VGhlIG1vc3QgcmVjZW50bHkgcmVhZCBsaW5rIHN0YXRlICovDQo+ID4+PiAtLQ0KPiA+Pj4gMi4z MS4xDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvZnJlZXNjYWxlL2ZlY19tYWluLmMNCj4gPj4+IGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvZnJlZXNjYWxlL2ZlY19tYWluLmMNCj4gPj4+IGluZGV4IDNkYjg4MjMyMi4uNzBhZWE5YzI3 IDEwMDY0NA0KPiA+Pj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2ZlY19t YWluLmMNCj4gPj4+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mZWNfbWFp bi5jDQo+ID4+PiBAQCAtMjA0OCw2ICsyMDQ4LDggQEAgc3RhdGljIGludCBmZWNfZW5ldF9taWlf cHJvYmUoc3RydWN0DQo+ID4+PiBuZXRfZGV2aWNlDQo+ID4+PiAqbmRldikNCj4gPj4+ICAJZmVw LT5saW5rID0gMDsNCj4gPj4+ICAJZmVwLT5mdWxsX2R1cGxleCA9IDA7DQo+ID4+Pg0KPiA+Pj4g KwlwaHlfZGV2LT5tYWNfbWFuYWdlZF9wbSA9IDE7DQo+ID4+PiArDQo+ID4+PiAgCXBoeV9hdHRh Y2hlZF9pbmZvKHBoeV9kZXYpOw0KPiA+Pj4NCj4gPj4+ICAJcmV0dXJuIDA7DQo+ID4+PiBAQCAt Mzg2NCw2ICszODY2LDcgQEAgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBmZWNfcmVzdW1lKHN0 cnVjdA0KPiA+Pj4gZGV2aWNlICpkZXYpDQo+ID4+PiAgCQluZXRpZl9kZXZpY2VfYXR0YWNoKG5k ZXYpOw0KPiA+Pj4gIAkJbmV0aWZfdHhfdW5sb2NrX2JoKG5kZXYpOw0KPiA+Pj4gIAkJbmFwaV9l bmFibGUoJmZlcC0+bmFwaSk7DQo+ID4+PiArCQlwaHlfaW5pdF9odyhuZGV2LT5waHlkZXYpOw0K PiA+Pj4gIAkJcGh5X3N0YXJ0KG5kZXYtPnBoeWRldik7DQo+ID4+PiAgCX0NCj4gPj4+ICAJcnRu bF91bmxvY2soKTsNCj4gPj4+IC0tDQo+ID4+PiAyLjMxLjENCj4gPg0KDQo=