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=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C58C6C4646F for ; Sat, 4 Aug 2018 06:37:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 513D021775 for ; Sat, 4 Aug 2018 06:37:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=cadence.com header.i=@cadence.com header.b="F38y7Hr6" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 513D021775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=cadence.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727096AbeHDIg4 (ORCPT ); Sat, 4 Aug 2018 04:36:56 -0400 Received: from mail-eopbgr690068.outbound.protection.outlook.com ([40.107.69.68]:22842 "EHLO NAM04-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726396AbeHDIg4 (ORCPT ); Sat, 4 Aug 2018 04:36:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9cgo2LOYTGpCsBe0psFvvaAxptWbFm2Bt9AODrsbYdk=; b=F38y7Hr61vprinmgbKNVfrToyshiyxuJ0VXXbuAXzwX/NdHg5E73eBKErJM11BGm0eT0b9js61Q7dmEDJyP5PplvGh20HvVq5GwhJqS94Hvqaa5Ajw3WUG4NWpM0qNpFp0hWrGjK8cNwQqFvgzOLw2ZC/7RM05uLVCLfwN/dd00= Received: from BYAPR07MB4709.namprd07.prod.outlook.com (52.135.204.159) by BYAPR07MB4839.namprd07.prod.outlook.com (52.135.204.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.15; Sat, 4 Aug 2018 06:37:12 +0000 Received: from BYAPR07MB4709.namprd07.prod.outlook.com ([fe80::6cda:d8eb:38e2:9ecb]) by BYAPR07MB4709.namprd07.prod.outlook.com ([fe80::6cda:d8eb:38e2:9ecb%5]) with mapi id 15.20.1017.018; Sat, 4 Aug 2018 06:37:10 +0000 From: Pawel Laszczak To: Roger Quadros CC: Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , Felipe Balbi , "linux-kernel@vger.kernel.org" , Lukasz Tyrala , Alan Douglas Subject: RE: [PATCH 06/31] usb: usbssp: added template functions used by upper layer. Thread-Topic: [PATCH 06/31] usb: usbssp: added template functions used by upper layer. Thread-Index: AQHUH4o9M8MWayi1P0elUVAKIHY+KaSt7j6AgAEs3vA= Date: Sat, 4 Aug 2018 06:37:09 +0000 Message-ID: References: <1532023084-28083-1-git-send-email-pawell@cadence.com> <1532023084-28083-7-git-send-email-pawell@cadence.com> <0aad2e70-c630-feac-24a9-35d66360e4b2@ti.com> In-Reply-To: <0aad2e70-c630-feac-24a9-35d66360e4b2@ti.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-tag-bcast: x-dg-ref: PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNccGF3ZWxsXGFwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0YmEyOWUzNWJcbXNnc1xtc2ctZDVlZjVkOTYtOTdiMC0xMWU4LTg3MTQtMWM0ZDcwMWRmYmE0XGFtZS10ZXN0XGQ1ZWY1ZDk3LTk3YjAtMTFlOC04NzE0LTFjNGQ3MDFkZmJhNGJvZHkudHh0IiBzej0iMTc4ODciIHQ9IjEzMTc3ODM4MjQwNDYwNjQ5OCIgaD0iekNNS3FJODVFVHR0UExhMDUwaXI1Skd0S21ZPSIgaWQ9IiIgYmw9IjAiIGJvPSIxIi8+PC9tZXRhPg== x-dg-paste: x-dg-rorf: authentication-results: spf=none (sender IP is ) smtp.mailfrom=pawell@cadence.com; x-originating-ip: [185.217.253.59] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BYAPR07MB4839;20:Kgyc9drAcHUqlNvfeaVzyWtF1UGDbPp4qJAmz76ZIyTHyocOidsU24HFKa7r/kQmuwA7ol06Z87+NCUCfknKd/ErmNILcXSF5GsJSxFkN8RUsAL/xtMk58TA7hzqG3EZ1SYULA4Zhl6hJcpdqhf3c9++7opbeDbjl8qawHnn/rMQcDULg0MGBy7qV+kau64uAjinN1TqAII+NrgRrbrWpNgeGiyiEvaiJLms5vgAgv/6ol7QeSD/eW7vqznbKIKm x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-forefront-antispam-report: SFV:SKI;SCL:-1;SFV:NSPM;SFS:(10009020)(376002)(396003)(346002)(366004)(39860400002)(136003)(36092001)(189003)(199004)(97736004)(4326008)(478600001)(256004)(2906002)(86362001)(575784001)(476003)(14444005)(446003)(11346002)(5660300001)(6916009)(486006)(316002)(107886003)(6246003)(2900100001)(25786009)(3846002)(6116002)(81156014)(81166006)(66066001)(14454004)(54906003)(99286004)(7736002)(8676002)(7696005)(76176011)(186003)(6506007)(26005)(102836004)(74316002)(305945005)(33656002)(6436002)(106356001)(105586002)(8936002)(5250100002)(9686003)(53936002)(68736007)(53946003)(229853002)(55016002);DIR:OUT;SFP:1101;SCL:1;SRVR:BYAPR07MB4839;H:BYAPR07MB4709.namprd07.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; x-ms-office365-filtering-correlation-id: 5b8bbdfd-f0ce-4c95-7ebe-08d5f9d4b4de x-microsoft-antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020);SRVR:BYAPR07MB4839; x-ms-traffictypediagnostic: BYAPR07MB4839: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(131327999870524)(72806322054110); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231311)(944501410)(52105095)(10201501046)(93006095)(93001095)(3002001)(149027)(150027)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016);SRVR:BYAPR07MB4839;BCL:0;PCL:0;RULEID:;SRVR:BYAPR07MB4839; x-forefront-prvs: 0754F7E325 received-spf: None (protection.outlook.com: cadence.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: PqEyUVk+yTJNmLyCoKx7qLmGblYR4T7h6fyHJGaiNO+ihYLvXHUFp+p0nwf1nGbehJfSO6kp+ETTb8mqXazX6Iv/50M83bdKOborpGcLPWX91jp5HMsTthsgL3Jc3AEe2Ys0aprwYEd6vun1bYCJZadIT8FHLq6ZoigU9t1ay6YveOMy5aHkks3BAIq0CaJEJiqixWRBDkFoGitjabcaDkGbz9ouA6ZPKOhu/I5cJXid47BiOkJTsxt+kaAlK4SGhL8DnsBbgui1wQ9DgSc8TfT70U6wu20cdYfupxLZs4xzko2nlqsVcxmwgo5+tc9gCrHEWY/PCNutGqbhMSvpnrDGRCG+4vFDvo3jTgGa1jI= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b8bbdfd-f0ce-4c95-7ebe-08d5f9d4b4de X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2018 06:37:10.0542 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR07MB4839 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiA+IFBhdGNoIGFkZHMgc29tZSBmdW5jdGlvbmFsaXR5IGZvciBpbml0aWFsaXphdGlvbiBwcm9j ZXNzLg0KPiA+IEl0IGFkZHMgdG8gZHJpdmVyIHVzYnNzcF9yZXNldCBhbmQgdXNic3NwX3N0YXJ0 IGZ1bmN0aW9uLg0KPiA+DQo+ID4gTmV4dCBlbGVtZW50cyBhZGRlZCBhcmUgb2JqZWN0cyB1c2Jz c3BfZ2FkZ2V0X2VwMF9vcHMsDQo+ID4gdXNic3NwX2dhZGdldF9lcF9vcHMgYW5kIHVzYnNzcF9n YWRnZXRfb3BzLiBUaGVzZSBvYmplY3RzDQo+ID4gY29uc3RpdHV0ZSB0aGUgaW50ZXJmYWNlIHVz ZWQgYnkgZ2FkZ2V0IHN1YnN5c3RlbS4NCj4gPiBBdCB0aGlzIG1vbWVudCBmdW5jdGlvbnMgcmVs YXRlZCB0byB0aGVzZSBvYmplY3RzIGFyZSBlbXB0eQ0KPiA+IGFuZCBkbyBub3RoaW5nLg0KPiA+ DQo+ID4gVGhpcyBwYXRjaCBhbHNvIGltcGxlbWVudHMgdXNic3NwX2dhZGdldF9pbml0X2VuZHBv aW50IGFuZA0KPiA+IHVzYnNzcF9nYWRnZXRfZnJlZV9lbmRwb2ludCB1c2VkIGR1cmluZyBpbml0 aWFsaXphdGlvbi4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBhd2VsIExhc3pjemFrIDxwYXdl bGxAY2FkZW5jZS5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvdXNiL3VzYnNzcC9nYWRnZXQt ZXh0LWNhcHMuaCB8ICAgMyArDQo+ID4gIGRyaXZlcnMvdXNiL3VzYnNzcC9nYWRnZXQtaWYuYyAg ICAgICB8IDI2OSArKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPiAgZHJpdmVycy91c2Iv dXNic3NwL2dhZGdldC5jICAgICAgICAgIHwgIDg0ICsrKysrKysrLQ0KPiA+ICAzIGZpbGVzIGNo YW5nZWQsIDM1MCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvdXNiL3VzYnNzcC9nYWRnZXQtZXh0LWNhcHMuaCBiL2RyaXZlcnMvdXNi L3VzYnNzcC9nYWRnZXQtZXh0LWNhcHMuaA0KPiA+IGluZGV4IDJiZjMyNzA0NjM3Ni4uODZjMGNl MzMxMDM3IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvdXNiL3VzYnNzcC9nYWRnZXQtZXh0LWNh cHMuaA0KPiA+ICsrKyBiL2RyaXZlcnMvdXNiL3VzYnNzcC9nYWRnZXQtZXh0LWNhcHMuaA0KPiA+ IEBAIC01MSwzICs1MSw2IEBADQo+ID4gICNkZWZpbmUgVVNCU1NQX0NNRF9FV0UJCQlCSVQoMTAp DQo+ID4NCj4gPiAgI2RlZmluZSBVU0JTU1BfSVJRUwkoVVNCU1NQX0NNRF9FSUUgfCBVU0JTU1Bf Q01EX0hTRUlFIHwgVVNCU1NQX0NNRF9FV0UpDQo+ID4gKw0KPiA+ICsvKiB0cnVlOiBDb250cm9s bGVyIE5vdCBSZWFkeSB0byBhY2NlcHQgZG9vcmJlbGwgb3Igb3AgcmVnIHdyaXRlcyBhZnRlciBy ZXNldCAqLw0KPiA+ICsjZGVmaW5lIFVTQlNTUF9TVFNfQ05SCQkJQklUKDExKQ0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi91c2Jzc3AvZ2FkZ2V0LWlmLmMgYi9kcml2ZXJzL3VzYi91c2Jz c3AvZ2FkZ2V0LWlmLmMNCj4gPiBpbmRleCBkNTNlMGZiNjUyOTkuLjcwZGVmOTc4YjA4NSAxMDA2 NDQNCj4gPiAtLS0gYS9kcml2ZXJzL3VzYi91c2Jzc3AvZ2FkZ2V0LWlmLmMNCj4gPiArKysgYi9k cml2ZXJzL3VzYi91c2Jzc3AvZ2FkZ2V0LWlmLmMNCj4gPiBAQCAtMTIsMTMgKzEyLDI3OCBAQA0K PiA+ICAjaW5jbHVkZSA8bGludXgvdXNiL2NvbXBvc2l0ZS5oPg0KPiA+ICAjaW5jbHVkZSAiZ2Fk Z2V0LmgiDQo+ID4NCj4gPiArc3RhdGljIGludCB1c2Jzc3BfZ2FkZ2V0X2VwX2VuYWJsZShzdHJ1 Y3QgdXNiX2VwICplcCwNCj4gPiArCQkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZW5kcG9pbnRfZGVz Y3JpcHRvciAqZGVzYykNCj4gPiArew0KPiA+ICsJc3RydWN0IHVzYnNzcF9lcCAqZXBfcHJpdiA9 IHRvX3VzYnNzcF9lcChlcCk7DQo+ID4gKwlpbnQgcmV0ID0gMDsNCj4gPiArDQo+ID4gKwlpZiAo IWVwX3ByaXYpDQo+ID4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gKw0KPiA+ICsJLypUT0RPOiBp bXBsZW1lbnRzIHRoaXMgZnVuY3Rpb24qLw0KPiA+ICsJcmV0dXJuIHJldDsNCj4gPiArfQ0KPiA+ ICsNCj4gPiAraW50IHVzYnNzcF9nYWRnZXRfZXBfZGlzYWJsZShzdHJ1Y3QgdXNiX2VwICplcCkN Cj4gPiArew0KPiA+ICsJc3RydWN0IHVzYnNzcF9lcCAqZXBfcHJpdiA9IHRvX3VzYnNzcF9lcChl cCk7DQo+ID4gKwlpbnQgcmV0ID0gMDsNCj4gPiArDQo+ID4gKwlpZiAoIWVwX3ByaXYpDQo+ID4g KwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gKw0KPiA+ICsJLypUT0RPOiBpbXBsZW1lbnRzIHRoaXMg ZnVuY3Rpb24qLw0KPiA+ICsJcmV0dXJuIHJldDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGlj IHN0cnVjdCB1c2JfcmVxdWVzdCAqdXNic3NwX2dhZGdldF9lcF9hbGxvY19yZXF1ZXN0KHN0cnVj dCB1c2JfZXAgKmVwLA0KPiA+ICsJCQkJCQkJICBnZnBfdCBnZnBfZmxhZ3MpDQo+ID4gK3sNCj4g PiArCXN0cnVjdCB1c2Jzc3BfZXAgKmVwX3ByaXYgPSB0b191c2Jzc3BfZXAoZXApOw0KPiA+ICsN Cj4gPiArCWlmICghZXBfcHJpdikNCj4gPiArCQlyZXR1cm4gTlVMTDsNCj4gPiArDQo+ID4gKwkv KlRPRE86IGltcGxlbWVudHMgdGhpcyBmdW5jdGlvbiovDQo+ID4gKwlyZXR1cm4gTlVMTDsNCj4g PiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHZvaWQgdXNic3NwX2dhZGdldF9lcF9mcmVlX3JlcXVl c3Qoc3RydWN0IHVzYl9lcCAqZXAsDQo+ID4gKwkJCQkJICBzdHJ1Y3QgdXNiX3JlcXVlc3QgKnJl cXVlc3QpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCB1c2Jzc3BfZXAgKmVwX3ByaXYgPSB0b191c2Jz c3BfZXAoZXApOw0KPiA+ICsNCj4gPiArCWlmICghZXBfcHJpdikNCj4gPiArCQlyZXR1cm47DQo+ ID4gKw0KPiA+ICsJLypUT0RPOiBpbXBsZW1lbnRzIHRoaXMgZnVuY3Rpb24qLw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICtzdGF0aWMgaW50IHVzYnNzcF9nYWRnZXRfZXBfcXVldWUoc3RydWN0IHVzYl9l cCAqZXAsDQo+ID4gKwkJCQkgIHN0cnVjdCB1c2JfcmVxdWVzdCAqcmVxdWVzdCwNCj4gPiArCQkJ CSAgZ2ZwX3QgZ2ZwX2ZsYWdzKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgdXNic3NwX2VwICplcF9w cml2ID0gdG9fdXNic3NwX2VwKGVwKTsNCj4gPiArCWludCByZXQgPSAwOw0KPiA+ICsNCj4gPiAr CWlmICghZXBfcHJpdikNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gKwkvKlRP RE86IGltcGxlbWVudHMgdGhpcyBmdW5jdGlvbiovDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9 DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IHVzYnNzcF9nYWRnZXRfZXBfZGVxdWV1ZShzdHJ1Y3Qg dXNiX2VwICplcCwNCj4gPiArCQkJCSAgICBzdHJ1Y3QgdXNiX3JlcXVlc3QgKnJlcXVlc3QpDQo+ ID4gK3sNCj4gPiArCXN0cnVjdCB1c2Jzc3BfZXAgKmVwX3ByaXYgPSB0b191c2Jzc3BfZXAoZXAp Ow0KPiA+ICsJaW50IHJldCA9IDA7DQo+ID4gKw0KPiA+ICsJaWYgKCFlcF9wcml2KQ0KPiA+ICsJ CXJldHVybiAtRUlOVkFMOw0KPiA+ICsNCj4gPiArCS8qVE9ETzogaW1wbGVtZW50cyB0aGlzIGZ1 bmN0aW9uKi8NCj4gPiArCXJldHVybiByZXQ7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBp bnQgdXNic3NwX2dhZGdldF9lcF9zZXRfaGFsdChzdHJ1Y3QgdXNiX2VwICplcCwgaW50IHZhbHVl KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgdXNic3NwX2VwICplcF9wcml2ID0gdG9fdXNic3NwX2Vw KGVwKTsNCj4gPiArCWludCByZXQgPSAwOw0KPiA+ICsNCj4gPiArCWlmICghZXBfcHJpdikNCj4g PiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gKwkvKlRPRE86IGltcGxlbWVudHMgdGhp cyBmdW5jdGlvbiovDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0 aWMgaW50IHVzYnNzcF9nYWRnZXRfZXBfc2V0X3dlZGdlKHN0cnVjdCB1c2JfZXAgKmVwKQ0KPiA+ ICt7DQo+ID4gKwlzdHJ1Y3QgdXNic3NwX2VwICplcF9wcml2ID0gdG9fdXNic3NwX2VwKGVwKTsN Cj4gPiArCWludCByZXQgPSAwOw0KPiA+ICsNCj4gPiArCWlmICghZXBfcHJpdikNCj4gPiArCQly ZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gKwkvKlRPRE86IGltcGxlbWVudHMgdGhpcyBmdW5j dGlvbiovDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29u c3Qgc3RydWN0IHVzYl9lcF9vcHMgdXNic3NwX2dhZGdldF9lcDBfb3BzID0gew0KPiA+ICsJLmVu YWJsZQkJPSB1c2Jzc3BfZ2FkZ2V0X2VwX2VuYWJsZSwNCj4gPiArCS5kaXNhYmxlCT0gdXNic3Nw X2dhZGdldF9lcF9kaXNhYmxlLA0KPiA+ICsJLmFsbG9jX3JlcXVlc3QJPSB1c2Jzc3BfZ2FkZ2V0 X2VwX2FsbG9jX3JlcXVlc3QsDQo+ID4gKwkuZnJlZV9yZXF1ZXN0CT0gdXNic3NwX2dhZGdldF9l cF9mcmVlX3JlcXVlc3QsDQo+ID4gKwkucXVldWUJCT0gdXNic3NwX2dhZGdldF9lcF9xdWV1ZSwN Cj4gPiArCS5kZXF1ZXVlCT0gdXNic3NwX2dhZGdldF9lcF9kZXF1ZXVlLA0KPiA+ICsJLnNldF9o YWx0CT0gdXNic3NwX2dhZGdldF9lcF9zZXRfaGFsdCwNCj4gPiArCS5zZXRfd2VkZ2UJPSB1c2Jz c3BfZ2FkZ2V0X2VwX3NldF93ZWRnZSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgdXNiX2VwX29wcyB1c2Jzc3BfZ2FkZ2V0X2VwX29wcyA9IHsNCj4gPiArCS5lbmFi bGUJCT0gdXNic3NwX2dhZGdldF9lcF9lbmFibGUsDQo+ID4gKwkuZGlzYWJsZQk9IHVzYnNzcF9n YWRnZXRfZXBfZGlzYWJsZSwNCj4gPiArCS5hbGxvY19yZXF1ZXN0CT0gdXNic3NwX2dhZGdldF9l cF9hbGxvY19yZXF1ZXN0LA0KPiA+ICsJLmZyZWVfcmVxdWVzdAk9IHVzYnNzcF9nYWRnZXRfZXBf ZnJlZV9yZXF1ZXN0LA0KPiA+ICsJLnF1ZXVlCQk9IHVzYnNzcF9nYWRnZXRfZXBfcXVldWUsDQo+ ID4gKwkuZGVxdWV1ZQk9IHVzYnNzcF9nYWRnZXRfZXBfZGVxdWV1ZSwNCj4gPiArCS5zZXRfaGFs dAk9IHVzYnNzcF9nYWRnZXRfZXBfc2V0X2hhbHQsDQo+ID4gKwkuc2V0X3dlZGdlCT0gdXNic3Nw X2dhZGdldF9lcF9zZXRfd2VkZ2UsDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgc3RydWN0 IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yIHVzYnNzcF9nYWRnZXRfZXAwX2Rlc2MgPSB7DQo+ID4g KwkuYkxlbmd0aCA9CQlVU0JfRFRfRU5EUE9JTlRfU0laRSwNCj4gPiArCS5iRGVzY3JpcHRvclR5 cGUgPQlVU0JfRFRfRU5EUE9JTlQsDQo+ID4gKwkuYm1BdHRyaWJ1dGVzID0JCVVTQl9FTkRQT0lO VF9YRkVSX0NPTlRST0wsDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IHVzYnNzcF9n YWRnZXRfc3RhcnQoc3RydWN0IHVzYl9nYWRnZXQgKmcsDQo+ID4gKwkJCSAgICAgICBzdHJ1Y3Qg dXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikNCj4gPiArew0KPiA+ICsJc3RydWN0IHVzYnNzcF91 ZGMgKnVzYnNzcF9kYXRhID0gZ2FkZ2V0X3RvX3VzYnNzcChnKTsNCj4gPiArCWludCByZXQgPSAw Ow0KPiA+ICsNCj4gPiArCWlmICh1c2Jzc3BfZGF0YS0+Z2FkZ2V0X2RyaXZlcikgew0KPiA+ICsJ CWRldl9lcnIodXNic3NwX2RhdGEtPmRldiwgIiVzIGlzIGFscmVhZHkgYm91bmQgdG8gJXNcbiIs DQo+ID4gKwkJCQl1c2Jzc3BfZGF0YS0+Z2FkZ2V0Lm5hbWUsDQo+ID4gKwkJCQl1c2Jzc3BfZGF0 YS0+Z2FkZ2V0X2RyaXZlci0+ZHJpdmVyLm5hbWUpOw0KPiA+ICsJCXJldCA9IC1FQlVTWTsNCj4g PiArCX0NCj4gPiArDQo+ID4gKwkvKlRPRE86IGFkZCBpbXBsZW1lbnRhdGlvbiovDQo+ID4gKwly ZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IHVzYnNzcF9nYWRnZXRf c3RvcChzdHJ1Y3QgdXNiX2dhZGdldCAqZykNCj4gPiArew0KPiA+ICsJc3RydWN0IHVzYnNzcF91 ZGMgKnVzYnNzcF9kYXRhID0gZ2FkZ2V0X3RvX3VzYnNzcChnKTsNCj4gPiArDQo+ID4gKwlpZiAo IXVzYnNzcF9kYXRhKQ0KPiA+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+ICsJLypUT0RPOiBhZGQg aW1wbGVtZW50YXRpb24qLw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0 YXRpYyBpbnQgdXNic3NwX2dhZGdldF9nZXRfZnJhbWUoc3RydWN0IHVzYl9nYWRnZXQgKmcpDQo+ ID4gK3sNCj4gPiArCXN0cnVjdCB1c2Jzc3BfdWRjICp1c2Jzc3BfZGF0YSA9IGdhZGdldF90b191 c2Jzc3AoZyk7DQo+ID4gKw0KPiA+ICsJaWYgKCF1c2Jzc3BfZGF0YSkNCj4gPiArCQlyZXR1cm4g LUVJTlZBTDsNCj4gPiArDQo+ID4gKwkvKlRPRE86IGFkZCBpbXBsZW1lbnRhdGlvbiovDQo+ID4g KwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludCB1c2Jzc3BfZ2FkZ2V0 X3dha2V1cChzdHJ1Y3QgdXNiX2dhZGdldCAqZykNCj4gPiArew0KPiA+ICsJc3RydWN0IHVzYnNz cF91ZGMgKnVzYnNzcF9kYXRhID0gZ2FkZ2V0X3RvX3VzYnNzcChnKTsNCj4gPiArDQo+ID4gKwlp ZiAoIXVzYnNzcF9kYXRhKQ0KPiA+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+ICsNCj4gPiArCS8q VE9ETzogYWRkIGltcGxlbWVudGF0aW9uKi8NCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICtzdGF0aWMgaW50IHVzYnNzcF9nYWRnZXRfc2V0X3NlbGZwb3dlcmVkKHN0cnVjdCB1 c2JfZ2FkZ2V0ICpnLA0KPiA+ICsJCQkJCSBpbnQgaXNfc2VsZnBvd2VyZWQpDQo+ID4gK3sNCj4g PiArCXN0cnVjdCB1c2Jzc3BfdWRjICp1c2Jzc3BfZGF0YSA9IGdhZGdldF90b191c2Jzc3AoZyk7 DQo+ID4gKw0KPiA+ICsJaWYgKCF1c2Jzc3BfZGF0YSkNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsN Cj4gPiArDQo+ID4gKwkvKlRPRE86IGFkZCBpbXBsZW1lbnRhdGlvbiovDQo+ID4gKwlyZXR1cm4g MDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZ2FkZ2V0X29w cyB1c2Jzc3BfZ2FkZ2V0X29wcyA9IHsNCj4gPiArCS5nZXRfZnJhbWUJCT0gdXNic3NwX2dhZGdl dF9nZXRfZnJhbWUsDQo+ID4gKwkud2FrZXVwCQkJPSB1c2Jzc3BfZ2FkZ2V0X3dha2V1cCwNCj4g PiArCS5zZXRfc2VsZnBvd2VyZWQJPSB1c2Jzc3BfZ2FkZ2V0X3NldF9zZWxmcG93ZXJlZCwNCj4g PiArCS51ZGNfc3RhcnQJCT0gdXNic3NwX2dhZGdldF9zdGFydCwNCj4gPiArCS51ZGNfc3RvcAkJ PSB1c2Jzc3BfZ2FkZ2V0X3N0b3AsDQo+ID4gK307DQo+ID4gKw0KPiA+ICBpbnQgdXNic3NwX2dh ZGdldF9pbml0X2VuZHBvaW50KHN0cnVjdCB1c2Jzc3BfdWRjICp1c2Jzc3BfZGF0YSkNCj4gDQo+ IFNpbmNlIHdlJ3JlIGluaXRpYWxpemluZyBhbGwgZW5kcG9pbnRzIHRoaXMgZnVuY3Rpb24gc2hv dWxkIGJlIG5hbWVkIHVzYnNzcF9nYWRnZXRfaW5pdF9lbmRwb2ludHMoKS4NCj4gDQo+ID4gIHsN Cj4gPiAtCS8qVE9ETzogaXQgaGFzIHRvIGJlIGltcGxlbWVudGVkKi8NCj4gPiArCWludCBpID0g MDsNCj4gPiArCXN0cnVjdCB1c2Jzc3BfZXAgKmVwX3ByaXY7DQo+ID4gKw0KPiA+ICsJdXNic3Nw X2RhdGEtPm51bV9lbmRwb2ludHMgPSBVU0JTU1BfRU5EUE9JTlRTX05VTTsNCj4gPiArCUlOSVRf TElTVF9IRUFEKCZ1c2Jzc3BfZGF0YS0+Z2FkZ2V0LmVwX2xpc3QpOw0KPiA+ICsNCj4gPiArCWZv ciAoaSA9IDE7IGkgPCB1c2Jzc3BfZGF0YS0+bnVtX2VuZHBvaW50czsgaSsrKSB7DQo+ID4gKwkJ Ym9vbCBkaXJlY3Rpb24gPSBpICYgMTsgLypzdGFydCBmcm9tIE9VVCBlbmRwb2ludCovDQo+ID4g KwkJdTggZXBudW0gPSAoaSA+PiAxKTsNCj4gPiArDQo+ID4gKwkJZXBfcHJpdiA9ICZ1c2Jzc3Bf ZGF0YS0+ZGV2cy5lcHNbaS0xXTsNCj4gPiArCQllcF9wcml2LT51c2Jzc3BfZGF0YSA9IHVzYnNz cF9kYXRhOw0KPiA+ICsJCWVwX3ByaXYtPm51bWJlciA9IGVwbnVtOw0KPiA+ICsJCWVwX3ByaXYt PmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsgLyowIGZvciBPVVQsIDEgZm9yIElOKi8NCj4gPiArDQo+ ID4gKwkJc25wcmludGYoZXBfcHJpdi0+bmFtZSwgc2l6ZW9mKGVwX3ByaXYtPm5hbWUpLCAiZXAl ZCVzIiwgZXBudW0sDQo+ID4gKwkJCQkoZXBfcHJpdi0+ZGlyZWN0aW9uKSA/ICJpbiIgOiAib3V0 Iik7DQo+ID4gKw0KPiA+ICsJCWVwX3ByaXYtPmVuZHBvaW50Lm5hbWUgPSBlcF9wcml2LT5uYW1l Ow0KPiA+ICsNCj4gPiArCQlpZiAoZXBfcHJpdi0+bnVtYmVyIDwgMikgew0KPiA+ICsJCQllcF9w cml2LT5lbmRwb2ludC5kZXNjID0gJnVzYnNzcF9nYWRnZXRfZXAwX2Rlc2M7DQo+ID4gKwkJCWVw X3ByaXYtPmVuZHBvaW50LmNvbXBfZGVzYyA9IE5VTEw7DQo+ID4gKwkJfQ0KPiA+ICsNCj4gPiAr CQlpZiAoZXBudW0gPT0gMCkgew0KPiA+ICsJCQkvKkVQMCBpcyBiaWRpcmVjdGlvbmFsIGVuZHBv aW50Ki8NCj4gPiArCQkJdXNiX2VwX3NldF9tYXhwYWNrZXRfbGltaXQoJmVwX3ByaXYtPmVuZHBv aW50LCA1MTIpOw0KPiA+ICsJCQlkZXZfZGJnKHVzYnNzcF9kYXRhLT5kZXYsDQo+ID4gKwkJCQki SW5pdGlhbGl6aW5nICVzLCBNYXhQYWNrOiAlMDR4IFR5cGU6IEN0cmxcbiIsDQo+ID4gKwkJCQll cF9wcml2LT5uYW1lLCA1MTIpOw0KPiA+ICsJCQllcF9wcml2LT5lbmRwb2ludC5tYXhidXJzdCA9 IDE7DQo+ID4gKwkJCWVwX3ByaXYtPmVuZHBvaW50Lm9wcyA9ICZ1c2Jzc3BfZ2FkZ2V0X2VwMF9v cHM7DQo+ID4gKwkJCWVwX3ByaXYtPmVuZHBvaW50LmNhcHMudHlwZV9jb250cm9sID0gdHJ1ZTsN Cj4gPiArDQo+ID4gKwkJCXVzYnNzcF9kYXRhLT51c2JfcmVxX2VwMF9pbi5lcG51bSA9IGVwX3By aXYtPm51bWJlcjsNCj4gPiArCQkJdXNic3NwX2RhdGEtPnVzYl9yZXFfZXAwX2luLmRlcCA9IGVw X3ByaXY7DQo+ID4gKw0KPiA+ICsJCQlpZiAoIWVwbnVtKQ0KPiA+ICsJCQkJdXNic3NwX2RhdGEt PmdhZGdldC5lcDAgPSAmZXBfcHJpdi0+ZW5kcG9pbnQ7DQo+ID4gKwkJfSBlbHNlIHsNCj4gPiAr CQkJdXNiX2VwX3NldF9tYXhwYWNrZXRfbGltaXQoJmVwX3ByaXYtPmVuZHBvaW50LCAxMDI0KTsN Cj4gPiArCQkJZXBfcHJpdi0+ZW5kcG9pbnQubWF4YnVyc3QgPSAxNTsNCj4gPiArCQkJZXBfcHJp di0+ZW5kcG9pbnQub3BzID0gJnVzYnNzcF9nYWRnZXRfZXBfb3BzOw0KPiA+ICsJCQlsaXN0X2Fk ZF90YWlsKCZlcF9wcml2LT5lbmRwb2ludC5lcF9saXN0LA0KPiA+ICsJCQkJCSZ1c2Jzc3BfZGF0 YS0+Z2FkZ2V0LmVwX2xpc3QpOw0KPiA+ICsJCQllcF9wcml2LT5lbmRwb2ludC5jYXBzLnR5cGVf aXNvID0gdHJ1ZTsNCj4gPiArCQkJZXBfcHJpdi0+ZW5kcG9pbnQuY2Fwcy50eXBlX2J1bGsgPSB0 cnVlOw0KPiA+ICsJCQllcF9wcml2LT5lbmRwb2ludC5jYXBzLnR5cGVfaW50ID0gdHJ1ZTsNCj4g PiArDQo+ID4gKwkJfQ0KPiA+ICsNCj4gPiArCQllcF9wcml2LT5lbmRwb2ludC5jYXBzLmRpcl9p biA9IGRpcmVjdGlvbjsNCj4gPiArCQllcF9wcml2LT5lbmRwb2ludC5jYXBzLmRpcl9vdXQgPSAh ZGlyZWN0aW9uOw0KPiANCj4gU2luY2UgeW91IHN0YXJ0IGZyb20gMSwgZXAwIHdpbGwgb25seSBi ZSBpbml0aWFsaXplZCBhcyBkaXJfaW4uDQo+IElzIGl0IGJldHRlciB0byByZXByZXNlbnQgRVAw aW4gYW5kIEVQMG91dCBzZXBhcmF0ZWx5Pw0KPiBJZiBzbyB5b3UgY2FuIHN0YXJ0IGkgZnJvbSAw IGFuZCB1c2UNCj4gCWVwX3ByaXYgPSAmdXNic3NwX2RhdGEtPmRldnMuZXBzW2ldOw0KPiANCj4g VGhpcyBzaG91bGQgZml4IHRoZSBkaXJlY3Rpb24uIGVwc1swXSB3aWxsIGJlIGVwMG91dCBhbmQg ZXBzWzFdIHdpbGwgYmUgZXAwaW4uDQoNCkkgd2FudGVkIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBE ZXZpY2UgQ29udGV4dCBEYXRhIFN0cnVjdHVyZSBmcm9tIA0KWEhDSSBzcGVjaWZpY2F0aW9uIChF UCBDb250ZXh0IDAgQmlEaXIsIEVQIENvbnRleHQgMSBPVVQsIEVQIENvbnRleHQgMSBJTiAuLi4p Lg0KDQpJIGxpdHRsZSBjaGFuZ2UgdGhpcyBmdW5jdGlvbiwgYW5kIG5vdyBpdCBsb29rIGxpa2Ug dGhpczoNCmludCB1c2Jzc3BfZ2FkZ2V0X2luaXRfZW5kcG9pbnRzKHN0cnVjdCB1c2Jzc3BfdWRj ICp1c2Jzc3BfZGF0YSkNCnsNCglpbnQgaSA9IDA7DQoJc3RydWN0IHVzYnNzcF9lcCAqZXBfcHJp djsNCg0KCXVzYnNzcF9kYXRhLT5udW1fZW5kcG9pbnRzID0gVVNCU1NQX0VORFBPSU5UU19OVU07 DQoJSU5JVF9MSVNUX0hFQUQoJnVzYnNzcF9kYXRhLT5nYWRnZXQuZXBfbGlzdCk7DQoNCglmb3Ig KGkgPSAwOyBpIDwgdXNic3NwX2RhdGEtPm51bV9lbmRwb2ludHM7IGkrKykgew0KCQlib29sIGRp cmVjdGlvbiA9IGkgJiAxOyAvKnN0YXJ0IGZyb20gT1VUIGVuZHBvaW50Ki8NCgkJdTggZXBudW0g PSAoKGkgKyAxKSA+PiAxKTsNCg0KCQllcF9wcml2ID0gJnVzYnNzcF9kYXRhLT5kZXZzLmVwc1tp XTsNCgkJZXBfcHJpdi0+dXNic3NwX2RhdGEgPSB1c2Jzc3BfZGF0YTsNCgkJZXBfcHJpdi0+bnVt YmVyID0gZXBudW07DQoJCWVwX3ByaXYtPmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsgLyowIGZvciBP VVQsIDEgZm9yIElOKi8NCg0KCQkvKg0KCQkgKkVwMCBpcyBiaWRpcmVjdGlvbmFsIHNvIEVwMElu IGFuZCBFcDBPdXQgaXMgcmVwcmVzZW50ZWQgYnkNCgkJICogdXNic3NwX2RhdGEtPmRldnMuZXBz WzBdDQoJCSAqLw0KCQlpZiAoZXBudW0gPT0gMCkgew0KCQkJc25wcmludGYoZXBfcHJpdi0+bmFt ZSwgc2l6ZW9mKGVwX3ByaXYtPm5hbWUpLCAiZXAlZCVzIiwNCgkJCQllcG51bSwgIkJpRGlyIik7 DQoNCgkJCXVzYl9lcF9zZXRfbWF4cGFja2V0X2xpbWl0KCZlcF9wcml2LT5lbmRwb2ludCwgNTEy KTsNCgkJCWVwX3ByaXYtPmVuZHBvaW50Lm1heGJ1cnN0ID0gMTsNCgkJCWVwX3ByaXYtPmVuZHBv aW50Lm9wcyA9ICZ1c2Jzc3BfZ2FkZ2V0X2VwMF9vcHM7DQoJCQllcF9wcml2LT5lbmRwb2ludC5k ZXNjID0gJnVzYnNzcF9nYWRnZXRfZXAwX2Rlc2M7DQoNCgkJCWVwX3ByaXYtPmVuZHBvaW50LmNv bXBfZGVzYyA9IE5VTEw7DQoJCQllcF9wcml2LT5lbmRwb2ludC5jYXBzLnR5cGVfY29udHJvbCA9 IHRydWU7DQoJCQllcF9wcml2LT5lbmRwb2ludC5jYXBzLmRpcl9pbiA9IHRydWU7DQoJCQllcF9w cml2LT5lbmRwb2ludC5jYXBzLmRpcl9vdXQgPSB0cnVlOw0KDQoJCQl1c2Jzc3BfZGF0YS0+dXNi X3JlcV9lcDBfaW4uZXBudW0gPSBlcF9wcml2LT5udW1iZXI7DQoJCQl1c2Jzc3BfZGF0YS0+dXNi X3JlcV9lcDBfaW4uZGVwID0gZXBfcHJpdjsNCgkJCXVzYnNzcF9kYXRhLT5nYWRnZXQuZXAwID0g JmVwX3ByaXYtPmVuZHBvaW50Ow0KDQoJCX0gZWxzZSB7DQoJCQlzbnByaW50ZihlcF9wcml2LT5u YW1lLCBzaXplb2YoZXBfcHJpdi0+bmFtZSksICJlcCVkJXMiLA0KCQkJCWVwbnVtLCAoZXBfcHJp di0+ZGlyZWN0aW9uKSA/ICJpbiIgIDogIm91dCIpOw0KDQoJCQl1c2JfZXBfc2V0X21heHBhY2tl dF9saW1pdCgmZXBfcHJpdi0+ZW5kcG9pbnQsIDEwMjQpOw0KCQkJZXBfcHJpdi0+ZW5kcG9pbnQu bWF4YnVyc3QgPSAxNTsNCgkJCWVwX3ByaXYtPmVuZHBvaW50Lm9wcyA9ICZ1c2Jzc3BfZ2FkZ2V0 X2VwX29wczsNCgkJCWxpc3RfYWRkX3RhaWwoJmVwX3ByaXYtPmVuZHBvaW50LmVwX2xpc3QsDQoJ CQkJCSZ1c2Jzc3BfZGF0YS0+Z2FkZ2V0LmVwX2xpc3QpOw0KDQoJCQllcF9wcml2LT5lbmRwb2lu dC5jYXBzLnR5cGVfaXNvID0gdHJ1ZTsNCgkJCWVwX3ByaXYtPmVuZHBvaW50LmNhcHMudHlwZV9i dWxrID0gdHJ1ZTsNCgkJCWVwX3ByaXYtPmVuZHBvaW50LmNhcHMudHlwZV9pbnQgPSB0cnVlOw0K DQoJCQllcF9wcml2LT5lbmRwb2ludC5jYXBzLmRpcl9pbiA9IGRpcmVjdGlvbjsNCgkJCWVwX3By aXYtPmVuZHBvaW50LmNhcHMuZGlyX291dCA9ICFkaXJlY3Rpb247DQoJCX0NCg0KCQllcF9wcml2 LT5lbmRwb2ludC5uYW1lID0gZXBfcHJpdi0+bmFtZTsNCg0KCQlkZXZfZGJnKHVzYnNzcF9kYXRh LT5kZXYsICJJbml0ICVzLCBNYXhQYWNrOiAlMDR4IFN1cFR5cGU6ICINCgkJCSJDVFJMOiAlcywg SU5UOiAlcywgQlVMSzogJXMsIElTT0MgJXMsICINCgkJCSJTdXBEaXIgSU46ICVzLCBPVVQ6ICVz XG4iLA0KCQkJZXBfcHJpdi0+bmFtZSwgMTAyNCwNCgkJCShlcF9wcml2LT5lbmRwb2ludC5jYXBz LnR5cGVfY29udHJvbCkgPyAieWVzIiA6ICJubyIsDQoJCQkoZXBfcHJpdi0+ZW5kcG9pbnQuY2Fw cy50eXBlX2ludCkgPyAieWVzIiA6ICJubyIsDQoJCQkoZXBfcHJpdi0+ZW5kcG9pbnQuY2Fwcy50 eXBlX2J1bGspID8gInllcyIgOiAibm8iLA0KCQkJKGVwX3ByaXYtPmVuZHBvaW50LmNhcHMudHlw ZV9pc28pID8gInllcyIgOiAibm8iLA0KCQkJKGVwX3ByaXYtPmVuZHBvaW50LmNhcHMuZGlyX2lu KSA/ICJ5ZXMiIDogIm5vIiwNCgkJCShlcF9wcml2LT5lbmRwb2ludC5jYXBzLmRpcl9vdXQpID8g InllcyIgOiAibm8iKTsNCg0KCQlJTklUX0xJU1RfSEVBRCgmZXBfcHJpdi0+cGVuZGluZ19saXN0 KTsNCgl9DQoNCglyZXR1cm4gMDsNCn0NCg0KPiA+ICsNCj4gPiArCQlkZXZfZGJnKHVzYnNzcF9k YXRhLT5kZXYsICJJbml0ICVzLCBNYXhQYWNrOiAlMDR4IFN1cFR5cGU6Ig0KPiA+ICsJCQkJIiBJ TlQvQlVMSy9JU09DICwgU3VwRGlyICVzXG4iLA0KPiA+ICsJCQkJZXBfcHJpdi0+bmFtZSwgMTAy NCwNCj4gPiArCQkJCShlcF9wcml2LT5lbmRwb2ludC5jYXBzLmRpcl9pbikgPyAiSU4iIDogIk9V VCIpOw0KPiA+ICsNCj4gPiArCQlJTklUX0xJU1RfSEVBRCgmZXBfcHJpdi0+cGVuZGluZ19saXN0 KTsNCj4gPiArCX0NCj4gPiAgCXJldHVybiAwOw0KPiA+ICB9DQo+ID4NCj4gPiAgdm9pZCB1c2Jz c3BfZ2FkZ2V0X2ZyZWVfZW5kcG9pbnQoc3RydWN0IHVzYnNzcF91ZGMgKnVzYnNzcF9kYXRhKQ0K PiA+ICB7DQo+ID4gLQkvKlRPRE86IGl0IGhhcyB0byBiZSBpbXBsZW1lbnRlZCovDQo+ID4gKwlp bnQgaTsNCj4gPiArCXN0cnVjdCB1c2Jzc3BfZXAgKmVwX3ByaXY7DQo+ID4gKw0KPiA+ICsJZm9y IChpID0gMDsgaSA8IHVzYnNzcF9kYXRhLT5udW1fZW5kcG9pbnRzOyBpKyspIHsNCj4gPiArCQll cF9wcml2ID0gJnVzYnNzcF9kYXRhLT5kZXZzLmVwc1tpXTsNCj4gPiArDQo+IA0KPiBpZiB5b3Ug c3RhcnQgaSBmcm9tIDEgdGhlbiB5b3UgY2FuIHNraXAgdGhlIGlmKCkuDQo+IA0KPiA+ICsJCWlm IChlcF9wcml2LT5udW1iZXIgIT0gMCkNCj4gPiArCQkJbGlzdF9kZWwoJmVwX3ByaXYtPmVuZHBv aW50LmVwX2xpc3QpOw0KPiA+ICsJfQ0KPiA+ICB9DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv dXNiL3VzYnNzcC9nYWRnZXQuYyBiL2RyaXZlcnMvdXNiL3VzYnNzcC9nYWRnZXQuYw0KPiA+IGlu ZGV4IDMzOGVjMmVjMThiMS4uMTk1ZjU3NzdjZjhhIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMv dXNiL3VzYnNzcC9nYWRnZXQuYw0KPiA+ICsrKyBiL2RyaXZlcnMvdXNiL3VzYnNzcC9nYWRnZXQu Yw0KPiA+IEBAIC0xMDMsNiArMTAzLDgzIEBAIGludCB1c2Jzc3BfaGFsdChzdHJ1Y3QgdXNic3Nw X3VkYyAqdXNic3NwX2RhdGEpDQo+ID4gIAlyZXR1cm4gcmV0Ow0KPiA+ICB9DQo+ID4NCj4gPiAr LyoNCj4gPiArICogU2V0IHRoZSBydW4gYml0IGFuZCB3YWl0IGZvciB0aGUgZGV2aWNlIHRvIGJl IHJ1bm5pbmcuDQo+ID4gKyAqLw0KPiA+ICtpbnQgdXNic3NwX3N0YXJ0KHN0cnVjdCB1c2Jzc3Bf dWRjICp1c2Jzc3BfZGF0YSkNCj4gPiArew0KPiA+ICsJdTMyIHRlbXA7DQo+ID4gKwlpbnQgcmV0 Ow0KPiA+ICsNCj4gPiArCXRlbXAgPSByZWFkbCgmdXNic3NwX2RhdGEtPm9wX3JlZ3MtPmNvbW1h bmQpOw0KPiA+ICsJdGVtcCB8PSAoQ01EX1JVTiB8IENNRF9ERVZFTik7DQo+ID4gKwl1c2Jzc3Bf ZGJnX3RyYWNlKHVzYnNzcF9kYXRhLCB0cmFjZV91c2Jzc3BfZGJnX2luaXQsDQo+ID4gKwkJCSIv LyBUdXJuIG9uIFVTQlNTUCwgY21kID0gMHgleC4iLCB0ZW1wKTsNCj4gPiArCXdyaXRlbCh0ZW1w LCAmdXNic3NwX2RhdGEtPm9wX3JlZ3MtPmNvbW1hbmQpOw0KPiA+ICsNCj4gPiArCS8qDQo+ID4g KwkgKiBXYWl0IGZvciB0aGUgSENIYWx0ZWQgU3RhdXMgYml0IHRvIGJlIDAgdG8gaW5kaWNhdGUg dGhlIGRldmljZSBpcw0KPiA+ICsJICogcnVubmluZy4NCj4gPiArCSAqLw0KPiA+ICsJcmV0ID0g dXNic3NwX2hhbmRzaGFrZSgmdXNic3NwX2RhdGEtPm9wX3JlZ3MtPnN0YXR1cywNCj4gPiArCQkJ U1RTX0hBTFQsIDAsIFVTQlNTUF9NQVhfSEFMVF9VU0VDKTsNCj4gPiArDQo+ID4gKwlpZiAocmV0 ID09IC1FVElNRURPVVQpDQo+ID4gKwkJZGV2X2Vycih1c2Jzc3BfZGF0YS0+ZGV2LCAiRGV2aWNl IHRvb2sgdG9vIGxvbmcgdG8gc3RhcnQsIHdhaXRlZCAldSBtaWNyb3NlY29uZHMuXG4iLA0KPiA+ ICsJCQlVU0JTU1BfTUFYX0hBTFRfVVNFQyk7DQo+ID4gKwlpZiAoIXJldCkNCj4gPiArCQkvKiBj bGVhciBzdGF0ZSBmbGFncy4gSW5jbHVkaW5nIGR5aW5nLCBoYWx0ZWQgb3IgcmVtb3ZpbmcgKi8N Cj4gPiArCQl1c2Jzc3BfZGF0YS0+dXNic3NwX3N0YXRlID0gMDsNCj4gPiArDQo+ID4gKwlyZXR1 cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKg0KPiA+ICsgKiBSZXNldCBhIGhhbHRlZCBE Qy4NCj4gPiArICoNCj4gPiArICogVGhpcyByZXNldHMgcGlwZWxpbmVzLCB0aW1lcnMsIGNvdW50 ZXJzLCBzdGF0ZSBtYWNoaW5lcywgZXRjLg0KPiA+ICsgKiBUcmFuc2FjdGlvbnMgd2lsbCBiZSB0 ZXJtaW5hdGVkIGltbWVkaWF0ZWx5LCBhbmQgb3BlcmF0aW9uYWwgcmVnaXN0ZXJzDQo+ID4gKyAq IHdpbGwgYmUgc2V0IHRvIHRoZWlyIGRlZmF1bHRzLg0KPiA+ICsgKi8NCj4gPiAraW50IHVzYnNz cF9yZXNldChzdHJ1Y3QgdXNic3NwX3VkYyAqdXNic3NwX2RhdGEpDQo+ID4gK3sNCj4gPiArCXUz MiBjb21tYW5kOw0KPiA+ICsJdTMyIHN0YXRlOw0KPiA+ICsJaW50IHJldDsNCj4gPiArDQo+ID4g KwlzdGF0ZSA9IHJlYWRsKCZ1c2Jzc3BfZGF0YS0+b3BfcmVncy0+c3RhdHVzKTsNCj4gPiArDQo+ ID4gKwlpZiAoc3RhdGUgPT0gfih1MzIpMCkgew0KPiA+ICsJCWRldl93YXJuKHVzYnNzcF9kYXRh LT5kZXYsICJEZXZpY2Ugbm90IGFjY2Vzc2libGUsIHJlc2V0IGZhaWxlZC5cbiIpOw0KPiA+ICsJ CXJldHVybiAtRU5PREVWOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlmICgoc3RhdGUgJiBTVFNf SEFMVCkgPT0gMCkgew0KPiA+ICsJCWRldl93YXJuKHVzYnNzcF9kYXRhLT5kZXYsICJEQyBub3Qg aGFsdGVkLCBhYm9ydGluZyByZXNldC5cbiIpOw0KPiANCj4gREMgaXMgbm90IGEgZmFtaWxpYXIg YWJicmV2aWF0aW9uLiBNYWJlIGp1c3QgdXNlIENvbnRyb2xsZXI/IG9yIERldmljZSBjb250cm9s bGVyLg0KDQpJbiB4aGNpIGRyaXZlciBpcyBvZnRlbiB1c2VkIEhDIGZvciBob3N0IGNvbnRyb2xs ZXIuIEluIGRldmljZSBkcml2ZXIgSSBjaGFuZ2UgdGhpcyBhYmJyZXZpYXRpb24gDQp0byAgREMu IEkgd2lsbCByZXZpZXcgdGhlIHBhdGNoZXMgYW5kIGNoYW5nZSB0aGlzIHRvIENvbnRyb2xsZXIu ICANCg0KPiANCj4gPiArCQlyZXR1cm4gMDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwl1c2Jzc3Bf ZGJnX3RyYWNlKHVzYnNzcF9kYXRhLCB0cmFjZV91c2Jzc3BfZGJnX2luaXQsICIvLyBSZXNldCB0 aGUgREMiKTsNCj4gPiArCWNvbW1hbmQgPSByZWFkbCgmdXNic3NwX2RhdGEtPm9wX3JlZ3MtPmNv bW1hbmQpOw0KPiA+ICsJY29tbWFuZCB8PSBDTURfUkVTRVQ7DQo+ID4gKwl3cml0ZWwoY29tbWFu ZCwgJnVzYnNzcF9kYXRhLT5vcF9yZWdzLT5jb21tYW5kKTsNCj4gPiArDQo+ID4gKwlyZXQgPSB1 c2Jzc3BfaGFuZHNoYWtlKCZ1c2Jzc3BfZGF0YS0+b3BfcmVncy0+Y29tbWFuZCwNCj4gPiArCQkJ Q01EX1JFU0VULCAwLCAxMCAqIDEwMDAgKiAxMDAwKTsNCj4gPiArDQo+ID4gKwlpZiAocmV0KQ0K PiA+ICsJCXJldHVybiByZXQ7DQo+ID4gKwl1c2Jzc3BfZGJnX3RyYWNlKHVzYnNzcF9kYXRhLCB0 cmFjZV91c2Jzc3BfZGJnX2luaXQsDQo+ID4gKwkJIldhaXQgZm9yIGNvbnRyb2xsZXIgdG8gYmUg cmVhZHkgZm9yIGRvb3JiZWxsIHJpbmdzIik7DQo+ID4gKwkvKg0KPiA+ICsJICogVVNCU1NQIGNh bm5vdCB3cml0ZSB0byBhbnkgZG9vcmJlbGxzIG9yIG9wZXJhdGlvbmFsIHJlZ2lzdGVycyBvdGhl cg0KPiA+ICsJICogdGhhbiBzdGF0dXMgdW50aWwgdGhlICJDb250cm9sbGVyIE5vdCBSZWFkeSIg ZmxhZyBpcyBjbGVhcmVkLg0KPiA+ICsJICovDQo+ID4gKwlyZXQgPSB1c2Jzc3BfaGFuZHNoYWtl KCZ1c2Jzc3BfZGF0YS0+b3BfcmVncy0+c3RhdHVzLA0KPiA+ICsJCQlTVFNfQ05SLCAwLCAxMCAq IDEwMDAgKiAxMDAwKTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4NCj4g PiAgLyoNCj4gPiAgICogSW5pdGlhbGl6ZSBtZW1vcnkgZm9yIGdhZGdldCBkcml2ZXIgYW5kIFVT QlNTUCAob25lLXRpbWUgaW5pdCkuDQo+ID4gQEAgLTE3OSw4ICsyNTYsNyBAQCBpbnQgdXNic3Nw X2dlbl9zZXR1cChzdHJ1Y3QgdXNic3NwX3VkYyAqdXNic3NwX2RhdGEpDQo+ID4NCj4gPiAgCWRl dl9kYmcodXNic3NwX2RhdGEtPmRldiwgIlJlc2V0dGluZyBEZXZpY2UgQ29udHJvbGxlclxuIik7 DQo+ID4gIAkvKiBSZXNldCB0aGUgaW50ZXJuYWwgREMgbWVtb3J5IHN0YXRlIGFuZCByZWdpc3Rl cnMuICovDQo+ID4gLQkvKlRPRE86IGFkZCBpbXBsZW1lbnRhdGlvbiBvZiB1c2Jzc3BfcmVzZXQg ZnVuY3Rpb24qLw0KPiA+IC0JLy9yZXR2YWwgPSB1c2Jzc3BfcmVzZXQodXNic3NwX2RhdGEpOw0K PiA+ICsJcmV0dmFsID0gdXNic3NwX3Jlc2V0KHVzYnNzcF9kYXRhKTsNCj4gPiAgCWlmIChyZXR2 YWwpDQo+ID4gIAkJcmV0dXJuIHJldHZhbDsNCj4gPiAgCWRldl9kYmcodXNic3NwX2RhdGEtPmRl diwgIlJlc2V0IGNvbXBsZXRlXG4iKTsNCj4gPiBAQCAtMjQ0LDggKzMyMCw3IEBAIGludCB1c2Jz c3BfZ2FkZ2V0X2luaXQoc3RydWN0IHVzYnNzcF91ZGMgKnVzYnNzcF9kYXRhKQ0KPiA+ICAJQlVJ TERfQlVHX09OKHNpemVvZihzdHJ1Y3QgdXNic3NwX3J1bl9yZWdzKSAhPSAoOCs4KjEyOCkqMzIv OCk7DQo+ID4NCj4gPiAgCS8qIGZpbGwgZ2FkZ2V0IGZpZWxkcyAqLw0KPiA+IC0JLypUT0RPOiBp bXBsZW1lbnRzIHVzYnNzcF9nYWRnZXRfb3BzIG9iamVjdCovDQo+ID4gLQkvL3VzYnNzcF9kYXRh LT5nYWRnZXQub3BzID0gJnVzYnNzcF9nYWRnZXRfb3BzOw0KPiA+ICsJdXNic3NwX2RhdGEtPmdh ZGdldC5vcHMgPSAmdXNic3NwX2dhZGdldF9vcHM7DQo+ID4gIAl1c2Jzc3BfZGF0YS0+Z2FkZ2V0 Lm5hbWUgPSAidXNic3NwLWdhZGdldCI7DQo+ID4gIAl1c2Jzc3BfZGF0YS0+Z2FkZ2V0Lm1heF9z cGVlZCA9IFVTQl9TUEVFRF9TVVBFUl9QTFVTOw0KPiA+ICAJdXNic3NwX2RhdGEtPmdhZGdldC5z cGVlZCA9IFVTQl9TUEVFRF9VTktOT1dOOw0KPiA+IEBAIC0yODgsNiArMzYzLDcgQEAgaW50IHVz YnNzcF9nYWRnZXRfaW5pdChzdHJ1Y3QgdXNic3NwX3VkYyAqdXNic3NwX2RhdGEpDQo+ID4gIAl1 c2Jzc3BfaGFsdCh1c2Jzc3BfZGF0YSk7DQo+ID4gIAkvKlRPRE8gYWRkIGltcGxlbWVudGF0aW9u IG9mIHVzYnNzcF9yZXNldCBmdW5jdGlvbiovDQo+ID4gIAkvL3VzYnNzcF9yZXNldCh1c2Jzc3Bf ZGF0YSk7DQo+ID4gKwl1c2Jzc3BfcmVzZXQodXNic3NwX2RhdGEpOw0KPiA+ICAJLypUT0RPIGFk ZCBpbXBsZW1lbnRhdGlvbiBvZiBmcmVlaW5nIG1lbW9yeSovDQo+ID4gIAkvL3VzYnNzcF9tZW1f Y2xlYW51cCh1c2Jzc3BfZGF0YSk7DQo+ID4gIGVycjM6DQo+ID4NCj4gDQo+IC0tDQo+IGNoZWVy cywNCj4gLXJvZ2VyDQo+IA0KPiBUZXhhcyBJbnN0cnVtZW50cyBGaW5sYW5kIE95LCBQb3Jra2Fs YW5rYXR1IDIyLCAwMDE4MCBIZWxzaW5raS4NCj4gWS10dW5udXMvQnVzaW5lc3MgSUQ6IDA2MTU1 MjEtNC4gS290aXBhaWtrYS9Eb21pY2lsZTogSGVsc2lua2kNCg0KQ2hlZXJzDQpQYXdlbA0K From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [06/31] usb: usbssp: added template functions used by upper layer. From: Pawel Laszczak Message-Id: Date: Sat, 4 Aug 2018 06:37:09 +0000 To: Roger Quadros Cc: Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , Felipe Balbi , "linux-kernel@vger.kernel.org" , Lukasz Tyrala , Alan Douglas List-ID: UGlBK0lGQmhkR05vSUdGa1pITWdjMjl0WlNCbWRXNWpkR2x2Ym1Gc2FYUjVJR1p2Y2lCcGJtbDBh V0ZzYVhwaGRHbHZiaUJ3Y205agpaWE56TGcwS1BpQStJRWwwSUdGa1pITWdkRzhnWkhKcGRtVnlJ SFZ6WW5OemNGOXlaWE5sZENCaGJtUWdkWE5pYzNOd1gzTjBZWEowCklHWjFibU4wYVc5dUxnMEtQ aUErRFFvK0lENGdUbVY0ZENCbGJHVnRaVzUwY3lCaFpHUmxaQ0JoY21VZ2IySnFaV04wY3lCMWMy SnoKYzNCZloyRmtaMlYwWDJWd01GOXZjSE1zRFFvK0lENGdkWE5pYzNOd1gyZGhaR2RsZEY5bGNG OXZjSE1nWVc1a0lIVnpZbk56Y0Y5bgpZV1JuWlhSZmIzQnpMaUJVYUdWelpTQnZZbXBsWTNSekRR bytJRDRnWTI5dWMzUnBkSFYwWlNCMGFHVWdhVzUwWlhKbVlXTmxJSFZ6ClpXUWdZbmtnWjJGa1oy VjBJSE4xWW5ONWMzUmxiUzROQ2o0Z1BpQkJkQ0IwYUdseklHMXZiV1Z1ZENCbWRXNWpkR2x2Ym5N Z2NtVnMKWVhSbFpDQjBieUIwYUdWelpTQnZZbXBsWTNSeklHRnlaU0JsYlhCMGVRMEtQaUErSUdG dVpDQmtieUJ1YjNSb2FXNW5MZzBLUGlBKwpEUW8rSUQ0Z1ZHaHBjeUJ3WVhSamFDQmhiSE52SUds dGNHeGxiV1Z1ZEhNZ2RYTmljM053WDJkaFpHZGxkRjlwYm1sMFgyVnVaSEJ2CmFXNTBJR0Z1WkEw S1BpQStJSFZ6WW5OemNGOW5ZV1JuWlhSZlpuSmxaVjlsYm1Sd2IybHVkQ0IxYzJWa0lHUjFjbWx1 WnlCcGJtbDAKYVdGc2FYcGhkR2x2Ymk0TkNqNGdQZzBLUGlBK0lGTnBaMjVsWkMxdlptWXRZbms2 SUZCaGQyVnNJRXhoYzNwamVtRnJJRHh3WVhkbApiR3hBWTJGa1pXNWpaUzVqYjIwK0RRbytJRDRn TFMwdERRbytJRDRnSUdSeWFYWmxjbk12ZFhOaUwzVnpZbk56Y0M5bllXUm5aWFF0ClpYaDBMV05o Y0hNdWFDQjhJQ0FnTXlBckRRbytJRDRnSUdSeWFYWmxjbk12ZFhOaUwzVnpZbk56Y0M5bllXUm5a WFF0YVdZdVl5QWcKSUNBZ0lDQjhJREkyT1NBckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JL eXNyS3kwTkNqNGdQaUFnWkhKcGRtVnljeTkxYzJJdgpkWE5pYzNOd0wyZGhaR2RsZEM1aklDQWdJ Q0FnSUNBZ0lId2dJRGcwSUNzckt5c3JLeXNyTFEwS1BpQStJQ0F6SUdacGJHVnpJR05vCllXNW5a V1FzSURNMU1DQnBibk5sY25ScGIyNXpLQ3NwTENBMklHUmxiR1YwYVc5dWN5Z3RLUTBLUGlBK0RR bytJRDRnWkdsbVppQXQKTFdkcGRDQmhMMlJ5YVhabGNuTXZkWE5pTDNWelluTnpjQzluWVdSblpY UXRaWGgwTFdOaGNITXVhQ0JpTDJSeWFYWmxjbk12ZFhOaQpMM1Z6WW5OemNDOW5ZV1JuWlhRdFpY aDBMV05oY0hNdWFBMEtQaUErSUdsdVpHVjRJREppWmpNeU56QTBOak0zTmk0dU9EWmpNR05sCk16 TXhNRE0zSURFd01EWTBOQTBLUGlBK0lDMHRMU0JoTDJSeWFYWmxjbk12ZFhOaUwzVnpZbk56Y0M5 bllXUm5aWFF0WlhoMExXTmgKY0hNdWFBMEtQaUErSUNzckt5QmlMMlJ5YVhabGNuTXZkWE5pTDNW elluTnpjQzluWVdSblpYUXRaWGgwTFdOaGNITXVhQTBLUGlBKwpJRUJBSUMwMU1Td3pJQ3MxTVN3 MklFQkFEUW8rSUQ0Z0lDTmtaV1pwYm1VZ1ZWTkNVMU5RWDBOTlJGOUZWMFVKQ1FsQ1NWUW9NVEFw CkRRbytJRDROQ2o0Z1BpQWdJMlJsWm1sdVpTQlZVMEpUVTFCZlNWSlJVd2tvVlZOQ1UxTlFYME5O UkY5RlNVVWdmQ0JWVTBKVFUxQmYKUTAxRVgwaFRSVWxGSUh3Z1ZWTkNVMU5RWDBOTlJGOUZWMFVw RFFvK0lENGdLdzBLUGlBK0lDc3ZLaUIwY25WbE9pQkRiMjUwY205cwpiR1Z5SUU1dmRDQlNaV0Zr ZVNCMGJ5QmhZMk5sY0hRZ1pHOXZjbUpsYkd3Z2IzSWdiM0FnY21WbklIZHlhWFJsY3lCaFpuUmxj aUJ5ClpYTmxkQ0FxTHcwS1BpQStJQ3NqWkdWbWFXNWxJRlZUUWxOVFVGOVRWRk5mUTA1U0NRa0pR a2xVS0RFeEtRMEtQaUErSUdScFptWWcKTFMxbmFYUWdZUzlrY21sMlpYSnpMM1Z6WWk5MWMySnpj M0F2WjJGa1oyVjBMV2xtTG1NZ1lpOWtjbWwyWlhKekwzVnpZaTkxYzJKegpjM0F2WjJGa1oyVjBM V2xtTG1NTkNqNGdQaUJwYm1SbGVDQmtOVE5sTUdaaU5qVXlPVGt1TGpjd1pHVm1PVGM0WWpBNE5T QXhNREEyCk5EUU5DajRnUGlBdExTMGdZUzlrY21sMlpYSnpMM1Z6WWk5MWMySnpjM0F2WjJGa1oy VjBMV2xtTG1NTkNqNGdQaUFyS3lzZ1lpOWsKY21sMlpYSnpMM1Z6WWk5MWMySnpjM0F2WjJGa1oy VjBMV2xtTG1NTkNqNGdQaUJBUUNBdE1USXNNVE1nS3pFeUxESTNPQ0JBUUEwSwpQaUErSUNBamFX NWpiSFZrWlNBOGJHbHVkWGd2ZFhOaUwyTnZiWEJ2YzJsMFpTNW9QZzBLUGlBK0lDQWphVzVqYkhW a1pTQWlaMkZrCloyVjBMbWdpRFFvK0lENE5DajRnUGlBcmMzUmhkR2xqSUdsdWRDQjFjMkp6YzNC ZloyRmtaMlYwWDJWd1gyVnVZV0pzWlNoemRISjEKWTNRZ2RYTmlYMlZ3SUNwbGNDd05DajRnUGlB ckNRa0pDU0FnSUdOdmJuTjBJSE4wY25WamRDQjFjMkpmWlc1a2NHOXBiblJmWkdWegpZM0pwY0hS dmNpQXFaR1Z6WXlrTkNqNGdQaUFyZXcwS1BpQStJQ3NKYzNSeWRXTjBJSFZ6WW5OemNGOWxjQ0Fx WlhCZmNISnBkaUE5CklIUnZYM1Z6WW5OemNGOWxjQ2hsY0NrN0RRbytJRDRnS3dscGJuUWdjbVYw SUQwZ01Ec05DajRnUGlBckRRbytJRDRnS3dscFppQW8KSVdWd1gzQnlhWFlwRFFvK0lENGdLd2tK Y21WMGRYSnVJQzFGU1U1V1FVdzdEUW8rSUQ0Z0t3MEtQaUErSUNzSkx5cFVUMFJQT2lCcApiWEJz WlcxbGJuUnpJSFJvYVhNZ1puVnVZM1JwYjI0cUx3MEtQaUErSUNzSmNtVjBkWEp1SUhKbGREc05D ajRnUGlBcmZRMEtQaUErCklDc05DajRnUGlBcmFXNTBJSFZ6WW5OemNGOW5ZV1JuWlhSZlpYQmZa R2x6WVdKc1pTaHpkSEoxWTNRZ2RYTmlYMlZ3SUNwbGNDa04KQ2o0Z1BpQXJldzBLUGlBK0lDc0pj M1J5ZFdOMElIVnpZbk56Y0Y5bGNDQXFaWEJmY0hKcGRpQTlJSFJ2WDNWelluTnpjRjlsY0NobApj Q2s3RFFvK0lENGdLd2xwYm5RZ2NtVjBJRDBnTURzTkNqNGdQaUFyRFFvK0lENGdLd2xwWmlBb0lX VndYM0J5YVhZcERRbytJRDRnCkt3a0pjbVYwZFhKdUlDMUZTVTVXUVV3N0RRbytJRDRnS3cwS1Bp QStJQ3NKTHlwVVQwUlBPaUJwYlhCc1pXMWxiblJ6SUhSb2FYTWcKWm5WdVkzUnBiMjRxTHcwS1Bp QStJQ3NKY21WMGRYSnVJSEpsZERzTkNqNGdQaUFyZlEwS1BpQStJQ3NOQ2o0Z1BpQXJjM1JoZEds agpJSE4wY25WamRDQjFjMkpmY21WeGRXVnpkQ0FxZFhOaWMzTndYMmRoWkdkbGRGOWxjRjloYkd4 dlkxOXlaWEYxWlhOMEtITjBjblZqCmRDQjFjMkpmWlhBZ0ttVndMQTBLUGlBK0lDc0pDUWtKQ1Fr SklDQm5abkJmZENCblpuQmZabXhoWjNNcERRbytJRDRnSzNzTkNqNGcKUGlBckNYTjBjblZqZENC MWMySnpjM0JmWlhBZ0ttVndYM0J5YVhZZ1BTQjBiMTkxYzJKemMzQmZaWEFvWlhBcE93MEtQaUEr SUNzTgpDajRnUGlBckNXbG1JQ2doWlhCZmNISnBkaWtOQ2o0Z1BpQXJDUWx5WlhSMWNtNGdUbFZN VERzTkNqNGdQaUFyRFFvK0lENGdLd2t2CktsUlBSRTg2SUdsdGNHeGxiV1Z1ZEhNZ2RHaHBjeUJt ZFc1amRHbHZiaW92RFFvK0lENGdLd2x5WlhSMWNtNGdUbFZNVERzTkNqNGcKUGlBcmZRMEtQaUEr SUNzTkNqNGdQaUFyYzNSaGRHbGpJSFp2YVdRZ2RYTmljM053WDJkaFpHZGxkRjlsY0Y5bWNtVmxY M0psY1hWbApjM1FvYzNSeWRXTjBJSFZ6WWw5bGNDQXFaWEFzRFFvK0lENGdLd2tKQ1FrSklDQnpk SEoxWTNRZ2RYTmlYM0psY1hWbGMzUWdLbkpsCmNYVmxjM1FwRFFvK0lENGdLM3NOQ2o0Z1BpQXJD WE4wY25WamRDQjFjMkp6YzNCZlpYQWdLbVZ3WDNCeWFYWWdQU0IwYjE5MWMySnoKYzNCZlpYQW9a WEFwT3cwS1BpQStJQ3NOQ2o0Z1BpQXJDV2xtSUNnaFpYQmZjSEpwZGlrTkNqNGdQaUFyQ1FseVpY UjFjbTQ3RFFvKwpJRDRnS3cwS1BpQStJQ3NKTHlwVVQwUlBPaUJwYlhCc1pXMWxiblJ6SUhSb2FY TWdablZ1WTNScGIyNHFMdzBLUGlBK0lDdDlEUW8rCklENGdLdzBLUGlBK0lDdHpkR0YwYVdNZ2FX NTBJSFZ6WW5OemNGOW5ZV1JuWlhSZlpYQmZjWFZsZFdVb2MzUnlkV04wSUhWellsOWwKY0NBcVpY QXNEUW8rSUQ0Z0t3a0pDUWtnSUhOMGNuVmpkQ0IxYzJKZmNtVnhkV1Z6ZENBcWNtVnhkV1Z6ZEN3 TkNqNGdQaUFyQ1FrSgpDU0FnWjJad1gzUWdaMlp3WDJac1lXZHpLUTBLUGlBK0lDdDdEUW8rSUQ0 Z0t3bHpkSEoxWTNRZ2RYTmljM053WDJWd0lDcGxjRjl3CmNtbDJJRDBnZEc5ZmRYTmljM053WDJW d0tHVndLVHNOQ2o0Z1BpQXJDV2x1ZENCeVpYUWdQU0F3T3cwS1BpQStJQ3NOQ2o0Z1BpQXIKQ1ds bUlDZ2haWEJmY0hKcGRpa05DajRnUGlBckNRbHlaWFIxY200Z0xVVkpUbFpCVERzTkNqNGdQaUFy RFFvK0lENGdLd2t2S2xSUApSRTg2SUdsdGNHeGxiV1Z1ZEhNZ2RHaHBjeUJtZFc1amRHbHZiaW92 RFFvK0lENGdLd2x5WlhSMWNtNGdjbVYwT3cwS1BpQStJQ3Q5CkRRbytJRDRnS3cwS1BpQStJQ3R6 ZEdGMGFXTWdhVzUwSUhWelluTnpjRjluWVdSblpYUmZaWEJmWkdWeGRXVjFaU2h6ZEhKMVkzUWcK ZFhOaVgyVndJQ3BsY0N3TkNqNGdQaUFyQ1FrSkNTQWdJQ0J6ZEhKMVkzUWdkWE5pWDNKbGNYVmxj M1FnS25KbGNYVmxjM1FwRFFvKwpJRDRnSzNzTkNqNGdQaUFyQ1hOMGNuVmpkQ0IxYzJKemMzQmZa WEFnS21Wd1gzQnlhWFlnUFNCMGIxOTFjMkp6YzNCZlpYQW9aWEFwCk93MEtQaUErSUNzSmFXNTBJ SEpsZENBOUlEQTdEUW8rSUQ0Z0t3MEtQaUErSUNzSmFXWWdLQ0ZsY0Y5d2NtbDJLUTBLUGlBK0lD c0oKQ1hKbGRIVnliaUF0UlVsT1ZrRk1PdzBLUGlBK0lDc05DajRnUGlBckNTOHFWRTlFVHpvZ2FX MXdiR1Z0Wlc1MGN5QjBhR2x6SUdaMQpibU4wYVc5dUtpOE5DajRnUGlBckNYSmxkSFZ5YmlCeVpY UTdEUW8rSUQ0Z0szME5DajRnUGlBckRRbytJRDRnSzNOMFlYUnBZeUJwCmJuUWdkWE5pYzNOd1gy ZGhaR2RsZEY5bGNGOXpaWFJmYUdGc2RDaHpkSEoxWTNRZ2RYTmlYMlZ3SUNwbGNDd2dhVzUwSUha aGJIVmwKS1EwS1BpQStJQ3Q3RFFvK0lENGdLd2x6ZEhKMVkzUWdkWE5pYzNOd1gyVndJQ3BsY0Y5 d2NtbDJJRDBnZEc5ZmRYTmljM053WDJWdwpLR1Z3S1RzTkNqNGdQaUFyQ1dsdWRDQnlaWFFnUFNB d093MEtQaUErSUNzTkNqNGdQaUFyQ1dsbUlDZ2haWEJmY0hKcGRpa05DajRnClBpQXJDUWx5WlhS MWNtNGdMVVZKVGxaQlREc05DajRnUGlBckRRbytJRDRnS3drdktsUlBSRTg2SUdsdGNHeGxiV1Z1 ZEhNZ2RHaHAKY3lCbWRXNWpkR2x2YmlvdkRRbytJRDRnS3dseVpYUjFjbTRnY21WME93MEtQaUEr SUN0OURRbytJRDRnS3cwS1BpQStJQ3R6ZEdGMAphV01nYVc1MElIVnpZbk56Y0Y5bllXUm5aWFJm WlhCZmMyVjBYM2RsWkdkbEtITjBjblZqZENCMWMySmZaWEFnS21Wd0tRMEtQaUErCklDdDdEUW8r SUQ0Z0t3bHpkSEoxWTNRZ2RYTmljM053WDJWd0lDcGxjRjl3Y21sMklEMGdkRzlmZFhOaWMzTndY MlZ3S0dWd0tUc04KQ2o0Z1BpQXJDV2x1ZENCeVpYUWdQU0F3T3cwS1BpQStJQ3NOQ2o0Z1BpQXJD V2xtSUNnaFpYQmZjSEpwZGlrTkNqNGdQaUFyQ1FseQpaWFIxY200Z0xVVkpUbFpCVERzTkNqNGdQ aUFyRFFvK0lENGdLd2t2S2xSUFJFODZJR2x0Y0d4bGJXVnVkSE1nZEdocGN5Qm1kVzVqCmRHbHZi aW92RFFvK0lENGdLd2x5WlhSMWNtNGdjbVYwT3cwS1BpQStJQ3Q5RFFvK0lENGdLdzBLUGlBK0lD dHpkR0YwYVdNZ1kyOXUKYzNRZ2MzUnlkV04wSUhWellsOWxjRjl2Y0hNZ2RYTmljM053WDJkaFpH ZGxkRjlsY0RCZmIzQnpJRDBnZXcwS1BpQStJQ3NKTG1WdQpZV0pzWlFrSlBTQjFjMkp6YzNCZloy RmtaMlYwWDJWd1gyVnVZV0pzWlN3TkNqNGdQaUFyQ1M1a2FYTmhZbXhsQ1QwZ2RYTmljM053Clgy ZGhaR2RsZEY5bGNGOWthWE5oWW14bExBMEtQaUErSUNzSkxtRnNiRzlqWDNKbGNYVmxjM1FKUFNC MWMySnpjM0JmWjJGa1oyVjAKWDJWd1gyRnNiRzlqWDNKbGNYVmxjM1FzRFFvK0lENGdLd2t1Wm5K bFpWOXlaWEYxWlhOMENUMGdkWE5pYzNOd1gyZGhaR2RsZEY5bApjRjltY21WbFgzSmxjWFZsYzNR c0RRbytJRDRnS3drdWNYVmxkV1VKQ1QwZ2RYTmljM053WDJkaFpHZGxkRjlsY0Y5eGRXVjFaU3dO CkNqNGdQaUFyQ1M1a1pYRjFaWFZsQ1QwZ2RYTmljM053WDJkaFpHZGxkRjlsY0Y5a1pYRjFaWFZs TEEwS1BpQStJQ3NKTG5ObGRGOW8KWVd4MENUMGdkWE5pYzNOd1gyZGhaR2RsZEY5bGNGOXpaWFJm YUdGc2RDd05DajRnUGlBckNTNXpaWFJmZDJWa1oyVUpQU0IxYzJKegpjM0JmWjJGa1oyVjBYMlZ3 WDNObGRGOTNaV1JuWlN3TkNqNGdQaUFyZlRzTkNqNGdQaUFyRFFvK0lENGdLM04wWVhScFl5Qmpi MjV6CmRDQnpkSEoxWTNRZ2RYTmlYMlZ3WDI5d2N5QjFjMkp6YzNCZloyRmtaMlYwWDJWd1gyOXdj eUE5SUhzTkNqNGdQaUFyQ1M1bGJtRmkKYkdVSkNUMGdkWE5pYzNOd1gyZGhaR2RsZEY5bGNGOWxi bUZpYkdVc0RRbytJRDRnS3drdVpHbHpZV0pzWlFrOUlIVnpZbk56Y0Y5bgpZV1JuWlhSZlpYQmZa R2x6WVdKc1pTd05DajRnUGlBckNTNWhiR3h2WTE5eVpYRjFaWE4wQ1QwZ2RYTmljM053WDJkaFpH ZGxkRjlsCmNGOWhiR3h2WTE5eVpYRjFaWE4wTEEwS1BpQStJQ3NKTG1aeVpXVmZjbVZ4ZFdWemRB azlJSFZ6WW5OemNGOW5ZV1JuWlhSZlpYQmYKWm5KbFpWOXlaWEYxWlhOMExBMEtQaUErSUNzSkxu RjFaWFZsQ1FrOUlIVnpZbk56Y0Y5bllXUm5aWFJmWlhCZmNYVmxkV1VzRFFvKwpJRDRnS3drdVpH VnhkV1YxWlFrOUlIVnpZbk56Y0Y5bllXUm5aWFJmWlhCZlpHVnhkV1YxWlN3TkNqNGdQaUFyQ1M1 elpYUmZhR0ZzCmRBazlJSFZ6WW5OemNGOW5ZV1JuWlhSZlpYQmZjMlYwWDJoaGJIUXNEUW8rSUQ0 Z0t3a3VjMlYwWDNkbFpHZGxDVDBnZFhOaWMzTncKWDJkaFpHZGxkRjlsY0Y5elpYUmZkMlZrWjJV c0RRbytJRDRnSzMwN0RRbytJRDRnS3cwS1BpQStJQ3R6ZEdGMGFXTWdjM1J5ZFdOMApJSFZ6WWw5 bGJtUndiMmx1ZEY5a1pYTmpjbWx3ZEc5eUlIVnpZbk56Y0Y5bllXUm5aWFJmWlhBd1gyUmxjMk1n UFNCN0RRbytJRDRnCkt3a3VZa3hsYm1kMGFDQTlDUWxWVTBKZlJGUmZSVTVFVUU5SlRsUmZVMGxh UlN3TkNqNGdQaUFyQ1M1aVJHVnpZM0pwY0hSdmNsUjUKY0dVZ1BRbFZVMEpmUkZSZlJVNUVVRTlK VGxRc0RRbytJRDRnS3drdVltMUJkSFJ5YVdKMWRHVnpJRDBKQ1ZWVFFsOUZUa1JRVDBsTwpWRjlZ UmtWU1gwTlBUbFJTVDB3c0RRbytJRDRnSzMwN0RRbytJRDRnS3cwS1BpQStJQ3R6ZEdGMGFXTWdh VzUwSUhWelluTnpjRjluCllXUm5aWFJmYzNSaGNuUW9jM1J5ZFdOMElIVnpZbDluWVdSblpYUWdL bWNzRFFvK0lENGdLd2tKQ1NBZ0lDQWdJQ0J6ZEhKMVkzUWcKZFhOaVgyZGhaR2RsZEY5a2NtbDJa WElnS21SeWFYWmxjaWtOQ2o0Z1BpQXJldzBLUGlBK0lDc0pjM1J5ZFdOMElIVnpZbk56Y0Y5MQpa R01nS25WelluTnpjRjlrWVhSaElEMGdaMkZrWjJWMFgzUnZYM1Z6WW5OemNDaG5LVHNOQ2o0Z1Bp QXJDV2x1ZENCeVpYUWdQU0F3Ck93MEtQaUErSUNzTkNqNGdQaUFyQ1dsbUlDaDFjMkp6YzNCZlpH RjBZUzArWjJGa1oyVjBYMlJ5YVhabGNpa2dldzBLUGlBK0lDc0oKQ1dSbGRsOWxjbklvZFhOaWMz TndYMlJoZEdFdFBtUmxkaXdnSWlWeklHbHpJR0ZzY21WaFpIa2dZbTkxYm1RZ2RHOGdKWE5jYmlJ cwpEUW8rSUQ0Z0t3a0pDUWwxYzJKemMzQmZaR0YwWVMwK1oyRmtaMlYwTG01aGJXVXNEUW8rSUQ0 Z0t3a0pDUWwxYzJKemMzQmZaR0YwCllTMCtaMkZrWjJWMFgyUnlhWFpsY2kwK1pISnBkbVZ5TG01 aGJXVXBPdzBLUGlBK0lDc0pDWEpsZENBOUlDMUZRbFZUV1RzTkNqNGcKUGlBckNYME5DajRnUGlB ckRRbytJRDRnS3drdktsUlBSRTg2SUdGa1pDQnBiWEJzWlcxbGJuUmhkR2x2YmlvdkRRbytJRDRn S3dseQpaWFIxY200Z2NtVjBPdzBLUGlBK0lDdDlEUW8rSUQ0Z0t3MEtQaUErSUN0emRHRjBhV01n YVc1MElIVnpZbk56Y0Y5bllXUm5aWFJmCmMzUnZjQ2h6ZEhKMVkzUWdkWE5pWDJkaFpHZGxkQ0Fx WnlrTkNqNGdQaUFyZXcwS1BpQStJQ3NKYzNSeWRXTjBJSFZ6WW5OemNGOTEKWkdNZ0tuVnpZbk56 Y0Y5a1lYUmhJRDBnWjJGa1oyVjBYM1J2WDNWelluTnpjQ2huS1RzTkNqNGdQaUFyRFFvK0lENGdL d2xwWmlBbwpJWFZ6WW5OemNGOWtZWFJoS1EwS1BpQStJQ3NKQ1hKbGRIVnliaUF0UlVsT1ZrRk1P dzBLUGlBK0lDc0pMeXBVVDBSUE9pQmhaR1FnCmFXMXdiR1Z0Wlc1MFlYUnBiMjRxTHcwS1BpQStJ Q3NKY21WMGRYSnVJREE3RFFvK0lENGdLMzBOQ2o0Z1BpQXJEUW8rSUQ0Z0szTjAKWVhScFl5QnBi blFnZFhOaWMzTndYMmRoWkdkbGRGOW5aWFJmWm5KaGJXVW9jM1J5ZFdOMElIVnpZbDluWVdSblpY UWdLbWNwRFFvKwpJRDRnSzNzTkNqNGdQaUFyQ1hOMGNuVmpkQ0IxYzJKemMzQmZkV1JqSUNwMWMy SnpjM0JmWkdGMFlTQTlJR2RoWkdkbGRGOTBiMTkxCmMySnpjM0FvWnlrN0RRbytJRDRnS3cwS1Bp QStJQ3NKYVdZZ0tDRjFjMkp6YzNCZlpHRjBZU2tOQ2o0Z1BpQXJDUWx5WlhSMWNtNGcKTFVWSlRs WkJURHNOQ2o0Z1BpQXJEUW8rSUQ0Z0t3a3ZLbFJQUkU4NklHRmtaQ0JwYlhCc1pXMWxiblJoZEds dmJpb3ZEUW8rSUQ0ZwpLd2x5WlhSMWNtNGdNRHNOQ2o0Z1BpQXJmUTBLUGlBK0lDc05DajRnUGlB cmMzUmhkR2xqSUdsdWRDQjFjMkp6YzNCZloyRmtaMlYwClgzZGhhMlYxY0NoemRISjFZM1FnZFhO aVgyZGhaR2RsZENBcVp5a05DajRnUGlBcmV3MEtQaUErSUNzSmMzUnlkV04wSUhWelluTnoKY0Y5 MVpHTWdLblZ6WW5OemNGOWtZWFJoSUQwZ1oyRmtaMlYwWDNSdlgzVnpZbk56Y0NobktUc05DajRn UGlBckRRbytJRDRnS3dscApaaUFvSVhWelluTnpjRjlrWVhSaEtRMEtQaUErSUNzSkNYSmxkSFZ5 YmlBdFJVbE9Wa0ZNT3cwS1BpQStJQ3NOQ2o0Z1BpQXJDUzhxClZFOUVUem9nWVdSa0lHbHRjR3hs YldWdWRHRjBhVzl1S2k4TkNqNGdQaUFyQ1hKbGRIVnliaUF3T3cwS1BpQStJQ3Q5RFFvK0lENGcK S3cwS1BpQStJQ3R6ZEdGMGFXTWdhVzUwSUhWelluTnpjRjluWVdSblpYUmZjMlYwWDNObGJHWndi M2RsY21Wa0tITjBjblZqZENCMQpjMkpmWjJGa1oyVjBJQ3BuTEEwS1BpQStJQ3NKQ1FrSkNTQnBi blFnYVhOZmMyVnNabkJ2ZDJWeVpXUXBEUW8rSUQ0Z0szc05DajRnClBpQXJDWE4wY25WamRDQjFj Mkp6YzNCZmRXUmpJQ3AxYzJKemMzQmZaR0YwWVNBOUlHZGhaR2RsZEY5MGIxOTFjMkp6YzNBb1p5 azcKRFFvK0lENGdLdzBLUGlBK0lDc0phV1lnS0NGMWMySnpjM0JmWkdGMFlTa05DajRnUGlBckNR bHlaWFIxY200Z0xVVkpUbFpCVERzTgpDajRnUGlBckRRbytJRDRnS3drdktsUlBSRTg2SUdGa1pD QnBiWEJzWlcxbGJuUmhkR2x2YmlvdkRRbytJRDRnS3dseVpYUjFjbTRnCk1Ec05DajRnUGlBcmZR MEtQaUErSUNzTkNqNGdQaUFyYzNSaGRHbGpJR052Ym5OMElITjBjblZqZENCMWMySmZaMkZrWjJW MFgyOXcKY3lCMWMySnpjM0JmWjJGa1oyVjBYMjl3Y3lBOUlIc05DajRnUGlBckNTNW5aWFJmWm5K aGJXVUpDVDBnZFhOaWMzTndYMmRoWkdkbApkRjluWlhSZlpuSmhiV1VzRFFvK0lENGdLd2t1ZDJG clpYVndDUWtKUFNCMWMySnpjM0JmWjJGa1oyVjBYM2RoYTJWMWNDd05DajRnClBpQXJDUzV6WlhS ZmMyVnNabkJ2ZDJWeVpXUUpQU0IxYzJKemMzQmZaMkZrWjJWMFgzTmxkRjl6Wld4bWNHOTNaWEps WkN3TkNqNGcKUGlBckNTNTFaR05mYzNSaGNuUUpDVDBnZFhOaWMzTndYMmRoWkdkbGRGOXpkR0Z5 ZEN3TkNqNGdQaUFyQ1M1MVpHTmZjM1J2Y0FrSgpQU0IxYzJKemMzQmZaMkZrWjJWMFgzTjBiM0Fz RFFvK0lENGdLMzA3RFFvK0lENGdLdzBLUGlBK0lDQnBiblFnZFhOaWMzTndYMmRoClpHZGxkRjlw Ym1sMFgyVnVaSEJ2YVc1MEtITjBjblZqZENCMWMySnpjM0JmZFdSaklDcDFjMkp6YzNCZlpHRjBZ U2tOQ2o0Z0RRbysKSUZOcGJtTmxJSGRsSjNKbElHbHVhWFJwWVd4cGVtbHVaeUJoYkd3Z1pXNWtj RzlwYm5SeklIUm9hWE1nWm5WdVkzUnBiMjRnYzJodgpkV3hrSUdKbElHNWhiV1ZrSUhWelluTnpj RjluWVdSblpYUmZhVzVwZEY5bGJtUndiMmx1ZEhNb0tTNE5DajRnRFFvK0lENGdJSHNOCkNqNGdQ aUF0Q1M4cVZFOUVUem9nYVhRZ2FHRnpJSFJ2SUdKbElHbHRjR3hsYldWdWRHVmtLaThOQ2o0Z1Bp QXJDV2x1ZENCcElEMGcKTURzTkNqNGdQaUFyQ1hOMGNuVmpkQ0IxYzJKemMzQmZaWEFnS21Wd1gz QnlhWFk3RFFvK0lENGdLdzBLUGlBK0lDc0pkWE5pYzNOdwpYMlJoZEdFdFBtNTFiVjlsYm1Sd2Iy bHVkSE1nUFNCVlUwSlRVMUJmUlU1RVVFOUpUbFJUWDA1VlRUc05DajRnUGlBckNVbE9TVlJmClRF bFRWRjlJUlVGRUtDWjFjMkp6YzNCZlpHRjBZUzArWjJGa1oyVjBMbVZ3WDJ4cGMzUXBPdzBLUGlB K0lDc05DajRnUGlBckNXWnYKY2lBb2FTQTlJREU3SUdrZ1BDQjFjMkp6YzNCZlpHRjBZUzArYm5W dFgyVnVaSEJ2YVc1MGN6c2dhU3NyS1NCN0RRbytJRDRnS3drSgpZbTl2YkNCa2FYSmxZM1JwYjI0 Z1BTQnBJQ1lnTVRzZ0x5cHpkR0Z5ZENCbWNtOXRJRTlWVkNCbGJtUndiMmx1ZENvdkRRbytJRDRn Ckt3a0pkVGdnWlhCdWRXMGdQU0FvYVNBK1BpQXhLVHNOQ2o0Z1BpQXJEUW8rSUQ0Z0t3a0paWEJm Y0hKcGRpQTlJQ1oxYzJKemMzQmYKWkdGMFlTMCtaR1YyY3k1bGNITmJhUzB4WFRzTkNqNGdQaUFy Q1FsbGNGOXdjbWwyTFQ1MWMySnpjM0JmWkdGMFlTQTlJSFZ6WW5OegpjRjlrWVhSaE93MEtQaUEr SUNzSkNXVndYM0J5YVhZdFBtNTFiV0psY2lBOUlHVndiblZ0T3cwS1BpQStJQ3NKQ1dWd1gzQnlh WFl0ClBtUnBjbVZqZEdsdmJpQTlJR1JwY21WamRHbHZianNnTHlvd0lHWnZjaUJQVlZRc0lERWda bTl5SUVsT0tpOE5DajRnUGlBckRRbysKSUQ0Z0t3a0pjMjV3Y21sdWRHWW9aWEJmY0hKcGRpMCti bUZ0WlN3Z2MybDZaVzltS0dWd1gzQnlhWFl0UG01aGJXVXBMQ0FpWlhBbApaQ1Z6SWl3Z1pYQnVk VzBzRFFvK0lENGdLd2tKQ1Frb1pYQmZjSEpwZGkwK1pHbHlaV04wYVc5dUtTQS9JQ0pwYmlJZ09p QWliM1YwCklpazdEUW8rSUQ0Z0t3MEtQaUErSUNzSkNXVndYM0J5YVhZdFBtVnVaSEJ2YVc1MExt NWhiV1VnUFNCbGNGOXdjbWwyTFQ1dVlXMWwKT3cwS1BpQStJQ3NOQ2o0Z1BpQXJDUWxwWmlBb1pY QmZjSEpwZGkwK2JuVnRZbVZ5SUR3Z01pa2dldzBLUGlBK0lDc0pDUWxsY0Y5dwpjbWwyTFQ1bGJt UndiMmx1ZEM1a1pYTmpJRDBnSm5WelluTnpjRjluWVdSblpYUmZaWEF3WDJSbGMyTTdEUW8rSUQ0 Z0t3a0pDV1Z3ClgzQnlhWFl0UG1WdVpIQnZhVzUwTG1OdmJYQmZaR1Z6WXlBOUlFNVZURXc3RFFv K0lENGdLd2tKZlEwS1BpQStJQ3NOQ2o0Z1BpQXIKQ1FscFppQW9aWEJ1ZFcwZ1BUMGdNQ2tnZXcw S1BpQStJQ3NKQ1FrdktrVlFNQ0JwY3lCaWFXUnBjbVZqZEdsdmJtRnNJR1Z1WkhCdgphVzUwS2k4 TkNqNGdQaUFyQ1FrSmRYTmlYMlZ3WDNObGRGOXRZWGh3WVdOclpYUmZiR2x0YVhRb0ptVndYM0J5 YVhZdFBtVnVaSEJ2CmFXNTBMQ0ExTVRJcE93MEtQaUErSUNzSkNRbGtaWFpmWkdKbktIVnpZbk56 Y0Y5a1lYUmhMVDVrWlhZc0RRbytJRDRnS3drSkNRa2kKU1c1cGRHbGhiR2w2YVc1bklDVnpMQ0JO WVhoUVlXTnJPaUFsTURSNElGUjVjR1U2SUVOMGNteGNiaUlzRFFvK0lENGdLd2tKQ1FsbApjRjl3 Y21sMkxUNXVZVzFsTENBMU1USXBPdzBLUGlBK0lDc0pDUWxsY0Y5d2NtbDJMVDVsYm1Sd2IybHVk QzV0WVhoaWRYSnpkQ0E5CklERTdEUW8rSUQ0Z0t3a0pDV1Z3WDNCeWFYWXRQbVZ1WkhCdmFXNTBM bTl3Y3lBOUlDWjFjMkp6YzNCZloyRmtaMlYwWDJWd01GOXYKY0hNN0RRbytJRDRnS3drSkNXVndY M0J5YVhZdFBtVnVaSEJ2YVc1MExtTmhjSE11ZEhsd1pWOWpiMjUwY205c0lEMGdkSEoxWlRzTgpD ajRnUGlBckRRbytJRDRnS3drSkNYVnpZbk56Y0Y5a1lYUmhMVDUxYzJKZmNtVnhYMlZ3TUY5cGJp NWxjRzUxYlNBOUlHVndYM0J5CmFYWXRQbTUxYldKbGNqc05DajRnUGlBckNRa0pkWE5pYzNOd1gy UmhkR0V0UG5WellsOXlaWEZmWlhBd1gybHVMbVJsY0NBOUlHVncKWDNCeWFYWTdEUW8rSUQ0Z0t3 MEtQaUErSUNzSkNRbHBaaUFvSVdWd2JuVnRLUTBLUGlBK0lDc0pDUWtKZFhOaWMzTndYMlJoZEdF dApQbWRoWkdkbGRDNWxjREFnUFNBbVpYQmZjSEpwZGkwK1pXNWtjRzlwYm5RN0RRbytJRDRnS3dr SmZTQmxiSE5sSUhzTkNqNGdQaUFyCkNRa0pkWE5pWDJWd1gzTmxkRjl0WVhod1lXTnJaWFJmYkds dGFYUW9KbVZ3WDNCeWFYWXRQbVZ1WkhCdmFXNTBMQ0F4TURJMEtUc04KQ2o0Z1BpQXJDUWtKWlhC ZmNISnBkaTArWlc1a2NHOXBiblF1YldGNFluVnljM1FnUFNBeE5Uc05DajRnUGlBckNRa0paWEJm Y0hKcApkaTArWlc1a2NHOXBiblF1YjNCeklEMGdKblZ6WW5OemNGOW5ZV1JuWlhSZlpYQmZiM0J6 T3cwS1BpQStJQ3NKQ1Fsc2FYTjBYMkZrClpGOTBZV2xzS0NabGNGOXdjbWwyTFQ1bGJtUndiMmx1 ZEM1bGNGOXNhWE4wTEEwS1BpQStJQ3NKQ1FrSkNTWjFjMkp6YzNCZlpHRjAKWVMwK1oyRmtaMlYw TG1Wd1gyeHBjM1FwT3cwS1BpQStJQ3NKQ1FsbGNGOXdjbWwyTFQ1bGJtUndiMmx1ZEM1allYQnpM blI1Y0dWZgphWE52SUQwZ2RISjFaVHNOQ2o0Z1BpQXJDUWtKWlhCZmNISnBkaTArWlc1a2NHOXBi blF1WTJGd2N5NTBlWEJsWDJKMWJHc2dQU0IwCmNuVmxPdzBLUGlBK0lDc0pDUWxsY0Y5d2NtbDJM VDVsYm1Sd2IybHVkQzVqWVhCekxuUjVjR1ZmYVc1MElEMGdkSEoxWlRzTkNqNGcKUGlBckRRbytJ RDRnS3drSmZRMEtQaUErSUNzTkNqNGdQaUFyQ1FsbGNGOXdjbWwyTFQ1bGJtUndiMmx1ZEM1allY QnpMbVJwY2w5cApiaUE5SUdScGNtVmpkR2x2YmpzTkNqNGdQaUFyQ1FsbGNGOXdjbWwyTFQ1bGJt UndiMmx1ZEM1allYQnpMbVJwY2w5dmRYUWdQU0FoClpHbHlaV04wYVc5dU93MEtQaUFOQ2o0Z1Uy bHVZMlVnZVc5MUlITjBZWEowSUdaeWIyMGdNU3dnWlhBd0lIZHBiR3dnYjI1c2VTQmkKWlNCcGJt bDBhV0ZzYVhwbFpDQmhjeUJrYVhKZmFXNHVEUW8rSUVseklHbDBJR0psZEhSbGNpQjBieUJ5WlhC eVpYTmxiblFnUlZBdwphVzRnWVc1a0lFVlFNRzkxZENCelpYQmhjbUYwWld4NVB3MEtQaUJKWmlC emJ5QjViM1VnWTJGdUlITjBZWEowSUdrZ1puSnZiU0F3CklHRnVaQ0IxYzJVTkNqNGdDV1Z3WDNC eWFYWWdQU0FtZFhOaWMzTndYMlJoZEdFdFBtUmxkbk11WlhCelcybGRPdzBLUGlBTkNqNGcKVkdo cGN5QnphRzkxYkdRZ1ptbDRJSFJvWlNCa2FYSmxZM1JwYjI0dUlHVndjMXN3WFNCM2FXeHNJR0ps SUdWd01HOTFkQ0JoYm1RZwpaWEJ6V3pGZElIZHBiR3dnWW1VZ1pYQXdhVzR1RFFvTkNra2dkMkZ1 ZEdWa0lIUnZJR0psSUdOdmJuTnBjM1JsYm5RZ2QybDBhQ0JFClpYWnBZMlVnUTI5dWRHVjRkQ0JF WVhSaElGTjBjblZqZEhWeVpTQm1jbTl0SUEwS1dFaERTU0J6Y0dWamFXWnBZMkYwYVc5dUlDaEYK VUNCRGIyNTBaWGgwSURBZ1FtbEVhWElzSUVWUUlFTnZiblJsZUhRZ01TQlBWVlFzSUVWUUlFTnZi blJsZUhRZ01TQkpUaUF1TGk0cApMZzBLRFFwSklHeHBkSFJzWlNCamFHRnVaMlVnZEdocGN5Qm1k VzVqZEdsdmJpd2dZVzVrSUc1dmR5QnBkQ0JzYjI5cklHeHBhMlVnCmRHaHBjem9OQ21sdWRDQjFj Mkp6YzNCZloyRmtaMlYwWDJsdWFYUmZaVzVrY0c5cGJuUnpLSE4wY25WamRDQjFjMkp6YzNCZmRX UmoKSUNwMWMySnpjM0JmWkdGMFlTa05DbnNOQ2dscGJuUWdhU0E5SURBN0RRb0pjM1J5ZFdOMElI VnpZbk56Y0Y5bGNDQXFaWEJmY0hKcApkanNOQ2cwS0NYVnpZbk56Y0Y5a1lYUmhMVDV1ZFcxZlpX NWtjRzlwYm5SeklEMGdWVk5DVTFOUVgwVk9SRkJQU1U1VVUxOU9WVTA3CkRRb0pTVTVKVkY5TVNW TlVYMGhGUVVRb0puVnpZbk56Y0Y5a1lYUmhMVDVuWVdSblpYUXVaWEJmYkdsemRDazdEUW9OQ2ds bWIzSWcKS0drZ1BTQXdPeUJwSUR3Z2RYTmljM053WDJSaGRHRXRQbTUxYlY5bGJtUndiMmx1ZEhN N0lHa3JLeWtnZXcwS0NRbGliMjlzSUdScApjbVZqZEdsdmJpQTlJR2tnSmlBeE95QXZLbk4wWVhK MElHWnliMjBnVDFWVUlHVnVaSEJ2YVc1MEtpOE5DZ2tKZFRnZ1pYQnVkVzBnClBTQW9LR2tnS3lB eEtTQStQaUF4S1RzTkNnMEtDUWxsY0Y5d2NtbDJJRDBnSm5WelluTnpjRjlrWVhSaExUNWtaWFp6 TG1Wd2MxdHAKWFRzTkNna0paWEJmY0hKcGRpMCtkWE5pYzNOd1gyUmhkR0VnUFNCMWMySnpjM0Jm WkdGMFlUc05DZ2tKWlhCZmNISnBkaTArYm5WdApZbVZ5SUQwZ1pYQnVkVzA3RFFvSkNXVndYM0J5 YVhZdFBtUnBjbVZqZEdsdmJpQTlJR1JwY21WamRHbHZianNnTHlvd0lHWnZjaUJQClZWUXNJREVn Wm05eUlFbE9LaThOQ2cwS0NRa3ZLZzBLQ1FrZ0trVndNQ0JwY3lCaWFXUnBjbVZqZEdsdmJtRnNJ SE52SUVWd01FbHUKSUdGdVpDQkZjREJQZFhRZ2FYTWdjbVZ3Y21WelpXNTBaV1FnWW5rTkNna0pJ Q29nZFhOaWMzTndYMlJoZEdFdFBtUmxkbk11WlhCegpXekJkRFFvSkNTQXFMdzBLQ1FscFppQW9a WEJ1ZFcwZ1BUMGdNQ2tnZXcwS0NRa0pjMjV3Y21sdWRHWW9aWEJmY0hKcGRpMCtibUZ0ClpTd2dj Mmw2Wlc5bUtHVndYM0J5YVhZdFBtNWhiV1VwTENBaVpYQWxaQ1Z6SWl3TkNna0pDUWxsY0c1MWJT d2dJa0pwUkdseUlpazcKRFFvTkNna0pDWFZ6WWw5bGNGOXpaWFJmYldGNGNHRmphMlYwWDJ4cGJX bDBLQ1psY0Y5d2NtbDJMVDVsYm1Sd2IybHVkQ3dnTlRFeQpLVHNOQ2drSkNXVndYM0J5YVhZdFBt VnVaSEJ2YVc1MExtMWhlR0oxY25OMElEMGdNVHNOQ2drSkNXVndYM0J5YVhZdFBtVnVaSEJ2CmFX NTBMbTl3Y3lBOUlDWjFjMkp6YzNCZloyRmtaMlYwWDJWd01GOXZjSE03RFFvSkNRbGxjRjl3Y21s MkxUNWxibVJ3YjJsdWRDNWsKWlhOaklEMGdKblZ6WW5OemNGOW5ZV1JuWlhSZlpYQXdYMlJsYzJN N0RRb05DZ2tKQ1dWd1gzQnlhWFl0UG1WdVpIQnZhVzUwTG1OdgpiWEJmWkdWell5QTlJRTVWVEV3 N0RRb0pDUWxsY0Y5d2NtbDJMVDVsYm1Sd2IybHVkQzVqWVhCekxuUjVjR1ZmWTI5dWRISnZiQ0E5 CklIUnlkV1U3RFFvSkNRbGxjRjl3Y21sMkxUNWxibVJ3YjJsdWRDNWpZWEJ6TG1ScGNsOXBiaUE5 SUhSeWRXVTdEUW9KQ1FsbGNGOXcKY21sMkxUNWxibVJ3YjJsdWRDNWpZWEJ6TG1ScGNsOXZkWFFn UFNCMGNuVmxPdzBLRFFvSkNRbDFjMkp6YzNCZlpHRjBZUzArZFhOaQpYM0psY1Y5bGNEQmZhVzR1 WlhCdWRXMGdQU0JsY0Y5d2NtbDJMVDV1ZFcxaVpYSTdEUW9KQ1FsMWMySnpjM0JmWkdGMFlTMCtk WE5pClgzSmxjVjlsY0RCZmFXNHVaR1Z3SUQwZ1pYQmZjSEpwZGpzTkNna0pDWFZ6WW5OemNGOWtZ WFJoTFQ1bllXUm5aWFF1WlhBd0lEMGcKSm1Wd1gzQnlhWFl0UG1WdVpIQnZhVzUwT3cwS0RRb0pD WDBnWld4elpTQjdEUW9KQ1FsemJuQnlhVzUwWmlobGNGOXdjbWwyTFQ1dQpZVzFsTENCemFYcGxi MllvWlhCZmNISnBkaTArYm1GdFpTa3NJQ0psY0NWa0pYTWlMQTBLQ1FrSkNXVndiblZ0TENBb1pY QmZjSEpwCmRpMCtaR2x5WldOMGFXOXVLU0EvSUNKcGJpSWdJRG9nSW05MWRDSXBPdzBLRFFvSkNR bDFjMkpmWlhCZmMyVjBYMjFoZUhCaFkydGwKZEY5c2FXMXBkQ2dtWlhCZmNISnBkaTArWlc1a2NH OXBiblFzSURFd01qUXBPdzBLQ1FrSlpYQmZjSEpwZGkwK1pXNWtjRzlwYm5RdQpiV0Y0WW5WeWMz UWdQU0F4TlRzTkNna0pDV1Z3WDNCeWFYWXRQbVZ1WkhCdmFXNTBMbTl3Y3lBOUlDWjFjMkp6YzNC ZloyRmtaMlYwClgyVndYMjl3Y3pzTkNna0pDV3hwYzNSZllXUmtYM1JoYVd3b0ptVndYM0J5YVhZ dFBtVnVaSEJ2YVc1MExtVndYMnhwYzNRc0RRb0oKQ1FrSkNTWjFjMkp6YzNCZlpHRjBZUzArWjJG a1oyVjBMbVZ3WDJ4cGMzUXBPdzBLRFFvSkNRbGxjRjl3Y21sMkxUNWxibVJ3YjJsdQpkQzVqWVhC ekxuUjVjR1ZmYVhOdklEMGdkSEoxWlRzTkNna0pDV1Z3WDNCeWFYWXRQbVZ1WkhCdmFXNTBMbU5o Y0hNdWRIbHdaVjlpCmRXeHJJRDBnZEhKMVpUc05DZ2tKQ1dWd1gzQnlhWFl0UG1WdVpIQnZhVzUw TG1OaGNITXVkSGx3WlY5cGJuUWdQU0IwY25WbE93MEsKRFFvSkNRbGxjRjl3Y21sMkxUNWxibVJ3 YjJsdWRDNWpZWEJ6TG1ScGNsOXBiaUE5SUdScGNtVmpkR2x2YmpzTkNna0pDV1Z3WDNCeQphWFl0 UG1WdVpIQnZhVzUwTG1OaGNITXVaR2x5WDI5MWRDQTlJQ0ZrYVhKbFkzUnBiMjQ3RFFvSkNYME5D ZzBLQ1FsbGNGOXdjbWwyCkxUNWxibVJ3YjJsdWRDNXVZVzFsSUQwZ1pYQmZjSEpwZGkwK2JtRnRa VHNOQ2cwS0NRbGtaWFpmWkdKbktIVnpZbk56Y0Y5a1lYUmgKTFQ1a1pYWXNJQ0pKYm1sMElDVnpM Q0JOWVhoUVlXTnJPaUFsTURSNElGTjFjRlI1Y0dVNklDSU5DZ2tKQ1NKRFZGSk1PaUFsY3l3ZwpT VTVVT2lBbGN5d2dRbFZNU3pvZ0pYTXNJRWxUVDBNZ0pYTXNJQ0lOQ2drSkNTSlRkWEJFYVhJZ1NV NDZJQ1Z6TENCUFZWUTZJQ1Z6ClhHNGlMQTBLQ1FrSlpYQmZjSEpwZGkwK2JtRnRaU3dnTVRBeU5D d05DZ2tKQ1NobGNGOXdjbWwyTFQ1bGJtUndiMmx1ZEM1allYQnoKTG5SNWNHVmZZMjl1ZEhKdmJD a2dQeUFpZVdWeklpQTZJQ0p1YnlJc0RRb0pDUWtvWlhCZmNISnBkaTArWlc1a2NHOXBiblF1WTJG dwpjeTUwZVhCbFgybHVkQ2tnUHlBaWVXVnpJaUE2SUNKdWJ5SXNEUW9KQ1Frb1pYQmZjSEpwZGkw K1pXNWtjRzlwYm5RdVkyRndjeTUwCmVYQmxYMkoxYkdzcElEOGdJbmxsY3lJZ09pQWlibThpTEEw S0NRa0pLR1Z3WDNCeWFYWXRQbVZ1WkhCdmFXNTBMbU5oY0hNdWRIbHcKWlY5cGMyOHBJRDhnSW5s bGN5SWdPaUFpYm04aUxBMEtDUWtKS0dWd1gzQnlhWFl0UG1WdVpIQnZhVzUwTG1OaGNITXVaR2x5 WDJsdQpLU0EvSUNKNVpYTWlJRG9nSW01dklpd05DZ2tKQ1NobGNGOXdjbWwyTFQ1bGJtUndiMmx1 ZEM1allYQnpMbVJwY2w5dmRYUXBJRDhnCklubGxjeUlnT2lBaWJtOGlLVHNOQ2cwS0NRbEpUa2xV WDB4SlUxUmZTRVZCUkNnbVpYQmZjSEpwZGkwK2NHVnVaR2x1WjE5c2FYTjAKS1RzTkNnbDlEUW9O Q2dseVpYUjFjbTRnTURzTkNuME5DZzBLUGlBK0lDc05DajRnUGlBckNRbGtaWFpmWkdKbktIVnpZ bk56Y0Y5awpZWFJoTFQ1a1pYWXNJQ0pKYm1sMElDVnpMQ0JOWVhoUVlXTnJPaUFsTURSNElGTjFj RlI1Y0dVNklnMEtQaUErSUNzSkNRa0pJaUJKClRsUXZRbFZNU3k5SlUwOURJQ3dnVTNWd1JHbHlJ Q1Z6WEc0aUxBMEtQaUErSUNzSkNRa0paWEJmY0hKcGRpMCtibUZ0WlN3Z01UQXkKTkN3TkNqNGdQ aUFyQ1FrSkNTaGxjRjl3Y21sMkxUNWxibVJ3YjJsdWRDNWpZWEJ6TG1ScGNsOXBiaWtnUHlBaVNV NGlJRG9nSWs5VgpWQ0lwT3cwS1BpQStJQ3NOQ2o0Z1BpQXJDUWxKVGtsVVgweEpVMVJmU0VWQlJD Z21aWEJmY0hKcGRpMCtjR1Z1WkdsdVoxOXNhWE4wCktUc05DajRnUGlBckNYME5DajRnUGlBZ0NY SmxkSFZ5YmlBd093MEtQaUErSUNCOURRbytJRDROQ2o0Z1BpQWdkbTlwWkNCMWMySnoKYzNCZloy RmtaMlYwWDJaeVpXVmZaVzVrY0c5cGJuUW9jM1J5ZFdOMElIVnpZbk56Y0Y5MVpHTWdLblZ6WW5O emNGOWtZWFJoS1EwSwpQaUErSUNCN0RRbytJRDRnTFFrdktsUlBSRTg2SUdsMElHaGhjeUIwYnlC aVpTQnBiWEJzWlcxbGJuUmxaQ292RFFvK0lENGdLd2xwCmJuUWdhVHNOQ2o0Z1BpQXJDWE4wY25W amRDQjFjMkp6YzNCZlpYQWdLbVZ3WDNCeWFYWTdEUW8rSUQ0Z0t3MEtQaUErSUNzSlptOXkKSUNo cElEMGdNRHNnYVNBOElIVnpZbk56Y0Y5a1lYUmhMVDV1ZFcxZlpXNWtjRzlwYm5Sek95QnBLeXNw SUhzTkNqNGdQaUFyQ1FsbApjRjl3Y21sMklEMGdKblZ6WW5OemNGOWtZWFJoTFQ1a1pYWnpMbVZ3 YzF0cFhUc05DajRnUGlBckRRbytJQTBLUGlCcFppQjViM1VnCmMzUmhjblFnYVNCbWNtOXRJREVn ZEdobGJpQjViM1VnWTJGdUlITnJhWEFnZEdobElHbG1LQ2t1RFFvK0lBMEtQaUErSUNzSkNXbG0K SUNobGNGOXdjbWwyTFQ1dWRXMWlaWElnSVQwZ01Da05DajRnUGlBckNRa0piR2x6ZEY5a1pXd29K bVZ3WDNCeWFYWXRQbVZ1WkhCdgphVzUwTG1Wd1gyeHBjM1FwT3cwS1BpQStJQ3NKZlEwS1BpQStJ Q0I5RFFvK0lENGdaR2xtWmlBdExXZHBkQ0JoTDJSeWFYWmxjbk12CmRYTmlMM1Z6WW5OemNDOW5Z V1JuWlhRdVl5QmlMMlJ5YVhabGNuTXZkWE5pTDNWelluTnpjQzluWVdSblpYUXVZdzBLUGlBK0lH bHUKWkdWNElETXpPR1ZqTW1Wak1UaGlNUzR1TVRrMVpqVTNOemRqWmpoaElERXdNRFkwTkEwS1Bp QStJQzB0TFNCaEwyUnlhWFpsY25NdgpkWE5pTDNWelluTnpjQzluWVdSblpYUXVZdzBLUGlBK0lD c3JLeUJpTDJSeWFYWmxjbk12ZFhOaUwzVnpZbk56Y0M5bllXUm5aWFF1Cll3MEtQaUErSUVCQUlD MHhNRE1zTmlBck1UQXpMRGd6SUVCQUlHbHVkQ0IxYzJKemMzQmZhR0ZzZENoemRISjFZM1FnZFhO aWMzTncKWDNWa1l5QXFkWE5pYzNOd1gyUmhkR0VwRFFvK0lENGdJQWx5WlhSMWNtNGdjbVYwT3cw S1BpQStJQ0I5RFFvK0lENE5DajRnUGlBcgpMeW9OQ2o0Z1BpQXJJQ29nVTJWMElIUm9aU0J5ZFc0 Z1ltbDBJR0Z1WkNCM1lXbDBJR1p2Y2lCMGFHVWdaR1YyYVdObElIUnZJR0psCklISjFibTVwYm1j dURRbytJRDRnS3lBcUx3MEtQaUErSUN0cGJuUWdkWE5pYzNOd1gzTjBZWEowS0hOMGNuVmpkQ0Ix YzJKemMzQmYKZFdSaklDcDFjMkp6YzNCZlpHRjBZU2tOQ2o0Z1BpQXJldzBLUGlBK0lDc0pkVE15 SUhSbGJYQTdEUW8rSUQ0Z0t3bHBiblFnY21WMApPdzBLUGlBK0lDc05DajRnUGlBckNYUmxiWEFn UFNCeVpXRmtiQ2dtZFhOaWMzTndYMlJoZEdFdFBtOXdYM0psWjNNdFBtTnZiVzFoCmJtUXBPdzBL UGlBK0lDc0pkR1Z0Y0NCOFBTQW9RMDFFWDFKVlRpQjhJRU5OUkY5RVJWWkZUaWs3RFFvK0lENGdL d2wxYzJKemMzQmYKWkdKblgzUnlZV05sS0hWelluTnpjRjlrWVhSaExDQjBjbUZqWlY5MWMySnpj M0JmWkdKblgybHVhWFFzRFFvK0lENGdLd2tKQ1NJdgpMeUJVZFhKdUlHOXVJRlZUUWxOVFVDd2dZ MjFrSUQwZ01IZ2xlQzRpTENCMFpXMXdLVHNOQ2o0Z1BpQXJDWGR5YVhSbGJDaDBaVzF3CkxDQW1k WE5pYzNOd1gyUmhkR0V0UG05d1gzSmxaM010UG1OdmJXMWhibVFwT3cwS1BpQStJQ3NOQ2o0Z1Bp QXJDUzhxRFFvK0lENGcKS3drZ0tpQlhZV2wwSUdadmNpQjBhR1VnU0VOSVlXeDBaV1FnVTNSaGRY TWdZbWwwSUhSdklHSmxJREFnZEc4Z2FXNWthV05oZEdVZwpkR2hsSUdSbGRtbGpaU0JwY3cwS1Bp QStJQ3NKSUNvZ2NuVnVibWx1Wnk0TkNqNGdQaUFyQ1NBcUx3MEtQaUErSUNzSmNtVjBJRDBnCmRY TmljM053WDJoaGJtUnphR0ZyWlNnbWRYTmljM053WDJSaGRHRXRQbTl3WDNKbFozTXRQbk4wWVhS MWN5d05DajRnUGlBckNRa0oKVTFSVFgwaEJURlFzSURBc0lGVlRRbE5UVUY5TlFWaGZTRUZNVkY5 VlUwVkRLVHNOQ2o0Z1BpQXJEUW8rSUQ0Z0t3bHBaaUFvY21WMApJRDA5SUMxRlZFbE5SVVJQVlZR cERRbytJRDRnS3drSlpHVjJYMlZ5Y2loMWMySnpjM0JmWkdGMFlTMCtaR1YyTENBaVJHVjJhV05s CklIUnZiMnNnZEc5dklHeHZibWNnZEc4Z2MzUmhjblFzSUhkaGFYUmxaQ0FsZFNCdGFXTnliM05s WTI5dVpITXVYRzRpTEEwS1BpQSsKSUNzSkNRbFZVMEpUVTFCZlRVRllYMGhCVEZSZlZWTkZReWs3 RFFvK0lENGdLd2xwWmlBb0lYSmxkQ2tOQ2o0Z1BpQXJDUWt2S2lCagpiR1ZoY2lCemRHRjBaU0Jt YkdGbmN5NGdTVzVqYkhWa2FXNW5JR1I1YVc1bkxDQm9ZV3gwWldRZ2IzSWdjbVZ0YjNacGJtY2dL aThOCkNqNGdQaUFyQ1FsMWMySnpjM0JmWkdGMFlTMCtkWE5pYzNOd1gzTjBZWFJsSUQwZ01Ec05D ajRnUGlBckRRbytJRDRnS3dseVpYUjEKY200Z2NtVjBPdzBLUGlBK0lDdDlEUW8rSUQ0Z0t3MEtQ aUErSUNzdktnMEtQaUErSUNzZ0tpQlNaWE5sZENCaElHaGhiSFJsWkNCRQpReTROQ2o0Z1BpQXJJ Q29OQ2o0Z1BpQXJJQ29nVkdocGN5QnlaWE5sZEhNZ2NHbHdaV3hwYm1WekxDQjBhVzFsY25Nc0lH TnZkVzUwClpYSnpMQ0J6ZEdGMFpTQnRZV05vYVc1bGN5d2daWFJqTGcwS1BpQStJQ3NnS2lCVWNt RnVjMkZqZEdsdmJuTWdkMmxzYkNCaVpTQjAKWlhKdGFXNWhkR1ZrSUdsdGJXVmthV0YwWld4NUxD QmhibVFnYjNCbGNtRjBhVzl1WVd3Z2NtVm5hWE4wWlhKekRRbytJRDRnS3lBcQpJSGRwYkd3Z1lt VWdjMlYwSUhSdklIUm9aV2x5SUdSbFptRjFiSFJ6TGcwS1BpQStJQ3NnS2k4TkNqNGdQaUFyYVc1 MElIVnpZbk56CmNGOXlaWE5sZENoemRISjFZM1FnZFhOaWMzTndYM1ZrWXlBcWRYTmljM053WDJS aGRHRXBEUW8rSUQ0Z0szc05DajRnUGlBckNYVXoKTWlCamIyMXRZVzVrT3cwS1BpQStJQ3NKZFRN eUlITjBZWFJsT3cwS1BpQStJQ3NKYVc1MElISmxkRHNOQ2o0Z1BpQXJEUW8rSUQ0ZwpLd2x6ZEdG MFpTQTlJSEpsWVdSc0tDWjFjMkp6YzNCZlpHRjBZUzArYjNCZmNtVm5jeTArYzNSaGRIVnpLVHNO Q2o0Z1BpQXJEUW8rCklENGdLd2xwWmlBb2MzUmhkR1VnUFQwZ2ZpaDFNeklwTUNrZ2V3MEtQaUEr SUNzSkNXUmxkbDkzWVhKdUtIVnpZbk56Y0Y5a1lYUmgKTFQ1a1pYWXNJQ0pFWlhacFkyVWdibTkw SUdGalkyVnpjMmxpYkdVc0lISmxjMlYwSUdaaGFXeGxaQzVjYmlJcE93MEtQaUErSUNzSgpDWEps ZEhWeWJpQXRSVTVQUkVWV093MEtQaUErSUNzSmZRMEtQaUErSUNzTkNqNGdQaUFyQ1dsbUlDZ29j M1JoZEdVZ0ppQlRWRk5mClNFRk1WQ2tnUFQwZ01Da2dldzBLUGlBK0lDc0pDV1JsZGw5M1lYSnVL SFZ6WW5OemNGOWtZWFJoTFQ1a1pYWXNJQ0pFUXlCdWIzUWcKYUdGc2RHVmtMQ0JoWW05eWRHbHVa eUJ5WlhObGRDNWNiaUlwT3cwS1BpQU5DajRnUkVNZ2FYTWdibTkwSUdFZ1ptRnRhV3hwWVhJZwpZ V0ppY21WMmFXRjBhVzl1TGlCTllXSmxJR3AxYzNRZ2RYTmxJRU52Ym5SeWIyeHNaWEkvSUc5eUlF UmxkbWxqWlNCamIyNTBjbTlzCmJHVnlMZzBLRFFwSmJpQjRhR05wSUdSeWFYWmxjaUJwY3lCdlpu UmxiaUIxYzJWa0lFaERJR1p2Y2lCb2IzTjBJR052Ym5SeWIyeHMKWlhJdUlFbHVJR1JsZG1salpT QmtjbWwyWlhJZ1NTQmphR0Z1WjJVZ2RHaHBjeUJoWW1KeVpYWnBZWFJwYjI0Z0RRcDBieUFnUkVN dQpJRWtnZDJsc2JDQnlaWFpwWlhjZ2RHaGxJSEJoZEdOb1pYTWdZVzVrSUdOb1lXNW5aU0IwYUds eklIUnZJRU52Ym5SeWIyeHNaWEl1CklDQU5DZzBLUGlBTkNqNGdQaUFyQ1FseVpYUjFjbTRnTURz TkNqNGdQaUFyQ1gwTkNqNGdQaUFyRFFvK0lENGdLd2wxYzJKemMzQmYKWkdKblgzUnlZV05sS0hW elluTnpjRjlrWVhSaExDQjBjbUZqWlY5MWMySnpjM0JmWkdKblgybHVhWFFzSUNJdkx5QlNaWE5s ZENCMAphR1VnUkVNaUtUc05DajRnUGlBckNXTnZiVzFoYm1RZ1BTQnlaV0ZrYkNnbWRYTmljM053 WDJSaGRHRXRQbTl3WDNKbFozTXRQbU52CmJXMWhibVFwT3cwS1BpQStJQ3NKWTI5dGJXRnVaQ0I4 UFNCRFRVUmZVa1ZUUlZRN0RRbytJRDRnS3dsM2NtbDBaV3dvWTI5dGJXRnUKWkN3Z0puVnpZbk56 Y0Y5a1lYUmhMVDV2Y0Y5eVpXZHpMVDVqYjIxdFlXNWtLVHNOQ2o0Z1BpQXJEUW8rSUQ0Z0t3bHla WFFnUFNCMQpjMkp6YzNCZmFHRnVaSE5vWVd0bEtDWjFjMkp6YzNCZlpHRjBZUzArYjNCZmNtVm5j eTArWTI5dGJXRnVaQ3dOQ2o0Z1BpQXJDUWtKClEwMUVYMUpGVTBWVUxDQXdMQ0F4TUNBcUlERXdN REFnS2lBeE1EQXdLVHNOQ2o0Z1BpQXJEUW8rSUQ0Z0t3bHBaaUFvY21WMEtRMEsKUGlBK0lDc0pD WEpsZEhWeWJpQnlaWFE3RFFvK0lENGdLd2wxYzJKemMzQmZaR0puWDNSeVlXTmxLSFZ6WW5OemNG OWtZWFJoTENCMApjbUZqWlY5MWMySnpjM0JmWkdKblgybHVhWFFzRFFvK0lENGdLd2tKSWxkaGFY UWdabTl5SUdOdmJuUnliMnhzWlhJZ2RHOGdZbVVnCmNtVmhaSGtnWm05eUlHUnZiM0ppWld4c0lI SnBibWR6SWlrN0RRbytJRDRnS3drdktnMEtQaUErSUNzSklDb2dWVk5DVTFOUUlHTmgKYm01dmRD QjNjbWwwWlNCMGJ5QmhibmtnWkc5dmNtSmxiR3h6SUc5eUlHOXdaWEpoZEdsdmJtRnNJSEpsWjJs emRHVnljeUJ2ZEdobApjZzBLUGlBK0lDc0pJQ29nZEdoaGJpQnpkR0YwZFhNZ2RXNTBhV3dnZEdo bElDSkRiMjUwY205c2JHVnlJRTV2ZENCU1pXRmtlU0lnClpteGhaeUJwY3lCamJHVmhjbVZrTGcw S1BpQStJQ3NKSUNvdkRRbytJRDRnS3dseVpYUWdQU0IxYzJKemMzQmZhR0Z1WkhOb1lXdGwKS0Na MWMySnpjM0JmWkdGMFlTMCtiM0JmY21WbmN5MCtjM1JoZEhWekxBMEtQaUErSUNzSkNRbFRWRk5m UTA1U0xDQXdMQ0F4TUNBcQpJREV3TURBZ0tpQXhNREF3S1RzTkNqNGdQaUFyRFFvK0lENGdLd2x5 WlhSMWNtNGdjbVYwT3cwS1BpQStJQ3Q5RFFvK0lENE5DajRnClBpQWdMeW9OQ2o0Z1BpQWdJQ29n U1c1cGRHbGhiR2w2WlNCdFpXMXZjbmtnWm05eUlHZGhaR2RsZENCa2NtbDJaWElnWVc1a0lGVlQK UWxOVFVDQW9iMjVsTFhScGJXVWdhVzVwZENrdURRbytJRDRnUUVBZ0xURTNPU3c0SUNzeU5UWXNO eUJBUUNCcGJuUWdkWE5pYzNOdwpYMmRsYmw5elpYUjFjQ2h6ZEhKMVkzUWdkWE5pYzNOd1gzVmtZ eUFxZFhOaWMzTndYMlJoZEdFcERRbytJRDROQ2o0Z1BpQWdDV1JsCmRsOWtZbWNvZFhOaWMzTndY MlJoZEdFdFBtUmxkaXdnSWxKbGMyVjBkR2x1WnlCRVpYWnBZMlVnUTI5dWRISnZiR3hsY2x4dUlp azcKRFFvK0lENGdJQWt2S2lCU1pYTmxkQ0IwYUdVZ2FXNTBaWEp1WVd3Z1JFTWdiV1Z0YjNKNUlI TjBZWFJsSUdGdVpDQnlaV2RwYzNSbApjbk11SUNvdkRRbytJRDRnTFFrdktsUlBSRTg2SUdGa1pD QnBiWEJzWlcxbGJuUmhkR2x2YmlCdlppQjFjMkp6YzNCZmNtVnpaWFFnClpuVnVZM1JwYjI0cUx3 MEtQaUErSUMwSkx5OXlaWFIyWVd3Z1BTQjFjMkp6YzNCZmNtVnpaWFFvZFhOaWMzTndYMlJoZEdF cE93MEsKUGlBK0lDc0pjbVYwZG1Gc0lEMGdkWE5pYzNOd1gzSmxjMlYwS0hWelluTnpjRjlrWVhS aEtUc05DajRnUGlBZ0NXbG1JQ2h5WlhSMgpZV3dwRFFvK0lENGdJQWtKY21WMGRYSnVJSEpsZEha aGJEc05DajRnUGlBZ0NXUmxkbDlrWW1jb2RYTmljM053WDJSaGRHRXRQbVJsCmRpd2dJbEpsYzJW MElHTnZiWEJzWlhSbFhHNGlLVHNOQ2o0Z1BpQkFRQ0F0TWpRMExEZ2dLek15TUN3M0lFQkFJR2x1 ZENCMWMySnoKYzNCZloyRmtaMlYwWDJsdWFYUW9jM1J5ZFdOMElIVnpZbk56Y0Y5MVpHTWdLblZ6 WW5OemNGOWtZWFJoS1EwS1BpQStJQ0FKUWxWSgpURVJmUWxWSFgwOU9LSE5wZW1WdlppaHpkSEox WTNRZ2RYTmljM053WDNKMWJsOXlaV2R6S1NBaFBTQW9PQ3M0S2pFeU9Da3FNekl2Ck9DazdEUW8r SUQ0TkNqNGdQaUFnQ1M4cUlHWnBiR3dnWjJGa1oyVjBJR1pwWld4a2N5QXFMdzBLUGlBK0lDMEpM eXBVVDBSUE9pQnAKYlhCc1pXMWxiblJ6SUhWelluTnpjRjluWVdSblpYUmZiM0J6SUc5aWFtVmpk Q292RFFvK0lENGdMUWt2TDNWelluTnpjRjlrWVhSaApMVDVuWVdSblpYUXViM0J6SUQwZ0puVnpZ bk56Y0Y5bllXUm5aWFJmYjNCek93MEtQaUErSUNzSmRYTmljM053WDJSaGRHRXRQbWRoClpHZGxk QzV2Y0hNZ1BTQW1kWE5pYzNOd1gyZGhaR2RsZEY5dmNITTdEUW8rSUQ0Z0lBbDFjMkp6YzNCZlpH RjBZUzArWjJGa1oyVjAKTG01aGJXVWdQU0FpZFhOaWMzTndMV2RoWkdkbGRDSTdEUW8rSUQ0Z0lB bDFjMkp6YzNCZlpHRjBZUzArWjJGa1oyVjBMbTFoZUY5egpjR1ZsWkNBOUlGVlRRbDlUVUVWRlJG OVRWVkJGVWw5UVRGVlRPdzBLUGlBK0lDQUpkWE5pYzNOd1gyUmhkR0V0UG1kaFpHZGxkQzV6CmNH VmxaQ0E5SUZWVFFsOVRVRVZGUkY5VlRrdE9UMWRPT3cwS1BpQStJRUJBSUMweU9EZ3NOaUFyTXpZ ekxEY2dRRUFnYVc1MElIVnoKWW5OemNGOW5ZV1JuWlhSZmFXNXBkQ2h6ZEhKMVkzUWdkWE5pYzNO d1gzVmtZeUFxZFhOaWMzTndYMlJoZEdFcERRbytJRDRnSUFsMQpjMkp6YzNCZmFHRnNkQ2gxYzJK emMzQmZaR0YwWVNrN0RRbytJRDRnSUFrdktsUlBSRThnWVdSa0lHbHRjR3hsYldWdWRHRjBhVzl1 CklHOW1JSFZ6WW5OemNGOXlaWE5sZENCbWRXNWpkR2x2YmlvdkRRbytJRDRnSUFrdkwzVnpZbk56 Y0Y5eVpYTmxkQ2gxYzJKemMzQmYKWkdGMFlTazdEUW8rSUQ0Z0t3bDFjMkp6YzNCZmNtVnpaWFFv ZFhOaWMzTndYMlJoZEdFcE93MEtQaUErSUNBSkx5cFVUMFJQSUdGawpaQ0JwYlhCc1pXMWxiblJo ZEdsdmJpQnZaaUJtY21WbGFXNW5JRzFsYlc5eWVTb3ZEUW8rSUQ0Z0lBa3ZMM1Z6WW5OemNGOXRa VzFmClkyeGxZVzUxY0NoMWMySnpjM0JmWkdGMFlTazdEUW8rSUQ0Z0lHVnljak02RFFvK0lENE5D ajRnRFFvK0lDMHREUW8rSUdOb1pXVnkKY3l3TkNqNGdMWEp2WjJWeURRbytJQTBLUGlCVVpYaGhj eUJKYm5OMGNuVnRaVzUwY3lCR2FXNXNZVzVrSUU5NUxDQlFiM0pyYTJGcwpZVzVyWVhSMUlESXlM Q0F3TURFNE1DQklaV3h6YVc1cmFTNE5DajRnV1MxMGRXNXVkWE12UW5WemFXNWxjM01nU1VRNklE QTJNVFUxCk1qRXROQzRnUzI5MGFYQmhhV3RyWVM5RWIyMXBZMmxzWlRvZ1NHVnNjMmx1YTJrTkNn MEtRMmhsWlhKekRRcFFZWGRsYkEwSwotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6 IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBt ZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBh dCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==