From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web09.2384.1604430972242811115 for ; Tue, 03 Nov 2020 11:16:12 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=fXTfkOIL; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: christopher.j.zurcher@intel.com) IronPort-SDR: NyVfw7rYpZNw8DmJhFYrczDnOq5yoQdxG15zgYiBLjrBHp8B9koYLQ1JZpxl/tGdPcbUtJVjEd Jr78CIJw1QCw== X-IronPort-AV: E=McAfee;i="6000,8403,9794"; a="148964257" X-IronPort-AV: E=Sophos;i="5.77,448,1596524400"; d="scan'208";a="148964257" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Nov 2020 11:16:01 -0800 IronPort-SDR: C6EqKjv6TG7YMedOGqlVjUgHE+gsp58WjPPX3ybBCeWEUnv9GBa7DOPSKZeTgihJYUiXzZNg83 Wnlif/XhjUvQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,448,1596524400"; d="scan'208";a="363140110" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 03 Nov 2020 11:16:00 -0800 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 3 Nov 2020 11:16:00 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 3 Nov 2020 11:16:00 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 3 Nov 2020 11:16:00 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 3 Nov 2020 11:15:59 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DFXVzpFX7E5xSs1ytnVJuUpiZD6ERKMF1iK/O5+JI3bBm9P7neVNFN9lQE319OVfVHPjGsM7brAuR9cWYInpE4jhznTGcy1Wr2zph4Ps9d/0eEjG8yX8NbVWCj4vljk0KYSKI7OJBdbKmUUhgIFafW4aZGmSNpGzpjdoOGiealIRcPoyOSn8rhCVjZhkgvUxmgvBsYYIBGs64rOMeJsXWn3eJzPLuYFl0EdDYi30MCj7SMQDd2CfCpZ2HHO1Fnvimm/lZZTpj5VevtBKhzbVKb2Z5uoEGnGZsSV1weiHrryIxGZBfhmvWLVezVDv89gkiravSSfSlh+OmnQij69ULA== 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=tBAg8gEonLjUeYGDgc7zfxLOjbRfPZmvd+mj9muwCRY=; b=Bnyr5/JQ9T7abQQaHEsSmsxyeVj7XrKWlD+C+Vrj+BMtp39lBNE6izz+PsP02avVuJ3EyMQW1kFOca0P8gBjwd3vMyoXk4s3FUacRZxtZx2mXg+kKeKeyoD5+d9/+dzUS7WDIw1rYwUeuPCHMuUJZGqs7PVRZYIjwug22805Pb/fhK/3ez5M5ZWBGbyjs9SPrEJaa0J5NP7oA8YeseT7HjiXq1x/nEpo3XIGs9ZHgpjnbSVFjkBSLrpMdGGT/BPSMcrESDemo/t0C1wbSpOfXfVdolZLeTFl/sUHzw+BIySh1yZFagCYzsZfjVEq0nP6C7G9HnDGFL61Yb1DbXhlLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tBAg8gEonLjUeYGDgc7zfxLOjbRfPZmvd+mj9muwCRY=; b=fXTfkOILGOafj+JeRgdOprTaLBj0jPNXIN/iwbyLw2gquLOJdsFKmnLrspVioQkEKJlGsqjd3K9Al51ZlAa2VUFdOvVCjYBU2BmWi2hhp/nZo1T3Kc+qpCK4vsAQGSM6O7hNVjBioZJcYwj9y+NDBSf24l4lI3+PpCkdRvToDz4= Received: from MWHPR1101MB2125.namprd11.prod.outlook.com (2603:10b6:301:4d::10) by MW3PR11MB4636.namprd11.prod.outlook.com (2603:10b6:303:5a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.27; Tue, 3 Nov 2020 19:15:58 +0000 Received: from MWHPR1101MB2125.namprd11.prod.outlook.com ([fe80::f88d:c4b1:1f6d:7a73]) by MWHPR1101MB2125.namprd11.prod.outlook.com ([fe80::f88d:c4b1:1f6d:7a73%4]) with mapi id 15.20.3499.032; Tue, 3 Nov 2020 19:15:58 +0000 From: "Zurcher, Christopher J" To: Ard Biesheuvel , "Yao, Jiewen" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Lu, XiaoyuX" , "Jiang, Guomin" , Sung-Uk Bin , Laszlo Ersek Subject: Re: [PATCH 0/1] CryptoPkg/BaseCryptLib: Add EVP implementation for CryptAes.c Thread-Topic: [PATCH 0/1] CryptoPkg/BaseCryptLib: Add EVP implementation for CryptAes.c Thread-Index: AQHWrVo1s+HCwcbLE0KI4UNqtIO/mKmw6OKwgASJkdCAAJ8fgIAAuZ+g Date: Tue, 3 Nov 2020 19:15:58 +0000 Message-ID: References: <20201028184254.6923-1-christopher.j.zurcher@intel.com> <2f4cafab-9748-a898-2e78-f00907ffc348@arm.com> In-Reply-To: <2f4cafab-9748-a898-2e78-f00907ffc348@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [50.53.185.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aee7295e-697c-4843-9bf5-08d8802ce576 x-ms-traffictypediagnostic: MW3PR11MB4636: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: z+2mIWvlmeW2dMdNEZDgXhp2/KGH9B5Uibij5Wzvc9aiNGNzA71UNjkzEXRB/94PYpwQnw/mc2k2xUnUeZVVHv7m2Em3iP9m9M5icBU95/bG5odqO2h6cLa+iX0vgrS8LV0ElHYTBr31IYzN8Z4CUGmjru+vt7KNZquplEY3SrLwsZEEOamBx01nFyErA1sQy2knyja+t825ytsCPmUEnImhZMqG3Dofk7M0sQkuKc6r7vqqUWTU6vB29iz2NebK40yLnWyQFXgQ2OZ0ypnuNlTOKK0By40stXJUdUc42nWnkSprRut2Rr1NVjn8cq0hvpyYAKDg264glj2FG1jzC3xZzjIdDlqGn18bxw8koImIwukAo97s4lfHw6zXzBidTd6uATIARX19LyFlr8NG9A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1101MB2125.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8936002)(7696005)(76116006)(55016002)(83380400001)(2906002)(66946007)(53546011)(64756008)(66556008)(9686003)(66476007)(71200400001)(26005)(66446008)(4326008)(110136005)(8676002)(498600001)(54906003)(966005)(33656002)(52536014)(186003)(5660300002)(86362001)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: FQJHezJqIkwV490DBmP1go4rMOb4M9Gg9Am/u8WWDdtDiwxglAtDHrCSlBRQWuwbTN1i+xaYXILHYDbRGznoTi9c34uYobU2vLGTr4+xKkOkEsg1J5ibYVN5bFvaDa5ye/xv+BTHyL5eHxhmaIEBh0j9ja7Hhafe8oQ9RkMWqWUIVZExp+Ggq2zZk9ElGUQrvXwG+rYNmwa7qbOMXD7wOpx6UDv+aC7RTWigQ39n4eS+n1cJ7pkXgYQt8akCKfmCsn5QxzTIKxNQcAX620XhlLllGSPGRfvsfn4K1zVo3Z8p2GMHHwqjjaAI92Uh6E6AIMuJTQvJD+J4qN6DuLKLdPbQdZFLH2xL3D4aeLFywsi3XXhsu9JXuDZuYpX7lmNHaOucM/hHPOfWB1CU66b5NhZmxsGF8pegl4629iP6wDBWzexUDmdflySvuFJu63B1QAHNX5Ung5rKLEee+K51b3+SLs73ZIM2AcA163lYOYuizMhvj6qAfwVl72tprXCwAgu4eFWBz60+8hIMVu8nGox/oneFQ+qk2VuzOLDA/f1w+vjYDX4KcX4smleOMt5vWgMdKpPP2Q0L+h6t1tfhQ78ELa4QBkGUgFF5IN1JOAAJLEFipswtIv/fj2Se2lK0K1A+cknNod6iA8Ax60plTw== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1101MB2125.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aee7295e-697c-4843-9bf5-08d8802ce576 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2020 19:15:58.8177 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OHRsY9JMpcGk0czXo5VO8GiY64mRwGGBYgOaCC3G9B9xBOQN4RTISJnM+TpAW6r9w5NxoRT3Wtc8sAdFsApa5dmWxsJYmcSwa6jrJqXc5mc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4636 Return-Path: christopher.j.zurcher@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlIEhNQUMgZnVuY3Rpb25zIGRvIG5vdCBuZWVkIEFFUzsgbXkgcG9pbnQgd2FzIHRoYXQgdGhl IEhNQUMgZnVuY3Rpb25zIGFzIHdlIGhhdmUgdGhlbSB0b2RheSBhcmUgYWxyZWFkeSBhIHdyYXBw ZXIgZm9yIHRoZSBFVlAgaW50ZXJmYWNlICh0aGlzIGlzIGEgZnVuY3Rpb24gb2YgT3BlblNTTCB0 aGF0IHdlIGNhbm5vdCBjaGFuZ2UpLiBTbyBpZiBhIG1vZHVsZSBhbHJlYWR5IGluY2x1ZGVzIHRo ZSBhZGRpdGlvbmFsIH4xOTJLQiBFVlAgaW50ZXJmYWNlIHRocm91Z2ggdGhlIEhNQUMgZnVuY3Rp b25zLCBpdCB3b3VsZCBub3Qgc2VlIGFueSBzaXplIGhpdCBieSBhbHNvIGluY2x1ZGluZyB0aGUg dXBkYXRlZCBBRVMgaW50ZXJmYWNlLg0KDQpUaGUgc3BlZWQgaW1wcm92ZW1lbnQgZm9yIHRoZSBB RVMgZnVuY3Rpb25zIGFyZSBub3QgaW50ZW5kZWQgdG8gaW1wcm92ZSBib290IHNwZWVkIGZvciBt b3N0IHN0YW5kYXJkIHBsYXRmb3Jtcy4gSW4gZmFjdCBtb3N0IHBsYXRmb3JtcyB0b2RheSBhcmVu J3QgZXZlbiBjYWxsaW5nIGFueSBBRVMgZnVuY3Rpb25zLg0KVGhlIG9ubHkgcmVhc29uIGZvciB0 aGlzIHBhdGNoIGlzIHRvIHNhdGlzZnkgQlogMjUwNywgd2hpY2ggd2FzIGZpbGVkIGJ5IEV1Z2Vu ZSBhdCBIUCAoYW5kIG5vdyBvd25lZCBieSBCaW4pIGZvciB3aGF0IEkgYXNzdW1lIGlzIGEgcGxh dGZvcm0tc3BlY2lmaWMgbmVlZCBmb3IgaW1wcm92ZWQgQUVTIHNwZWVkLiBJIHdhcyBhbHJlYWR5 IHdvcmtpbmcgb24gbXkgb3RoZXIgcGF0Y2ggdG8gZW5hYmxlIHRoZSBhcmNoaXRlY3R1cmUtc3Bl Y2lmaWMgYWxnb3JpdGhtcyBmb3IgU0hBIHNwZWVkIGltcHJvdmVtZW50IChyZXF1aXJlZCBmb3Ig YSBXaW5kb3dzIHByb3Zpc2lvbmluZyBmZWF0dXJlKSBhbmQgdGhhdCBwYXRjaCB3YXMgYWxzbyBz YXRpc2Z5aW5nIG1vc3Qgb2YgdGhlIG5lZWRzIG9mIEJaIDI1MDcsIHdpdGggdGhlIGV4Y2VwdGlv biBvZiB0aGUgZmlsZSBpbiB0aGlzIHBhdGNoIHdoaWNoIHByb3ZpZGVzIHRoZSBwYXRoIGZvciBB RVMgdG8gYWNjZXNzIHRoZSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYWxnb3JpdGhtcy4NCg0KVGhh bmtzLA0KQ2hyaXN0b3BoZXIgWnVyY2hlcg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiBTZW50 OiBNb25kYXksIE5vdmVtYmVyIDIsIDIwMjAgMjM6NTENCj4gVG86IFp1cmNoZXIsIENocmlzdG9w aGVyIEogPGNocmlzdG9waGVyLmouenVyY2hlckBpbnRlbC5jb20+OyBZYW8sIEppZXdlbg0KPiA8 amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogV2FuZywg SmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1WCA8eGlhb3l1eC5sdUBp bnRlbC5jb20+Ow0KPiBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgU3Vu Zy1VayBCaW4gPHN1bmd1ay1iaW5AaHAuY29tPjsNCj4gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVk aGF0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCAwLzFdIENyeXB0b1BrZy9CYXNlQ3J5cHRM aWI6IEFkZCBFVlAgaW1wbGVtZW50YXRpb24gZm9yDQo+IENyeXB0QWVzLmMNCj4gDQo+IE9uIDEx LzIvMjAgMTE6MzYgUE0sIFp1cmNoZXIsIENocmlzdG9waGVyIEogd3JvdGU6DQo+ID4gVGhlIHNp emUgaW5jcmVhc2UgZnJvbSBhZGRpbmcgdGhlIEVWUCBpbnRlcmZhY2UgdG8gYSBtb2R1bGUgdGhh dCBkb2VzIG5vdA0KPiBhbHJlYWR5IGluY2x1ZGUgaXQgKHRocm91Z2ggdGhlIEhNQUMgZnVuY3Rp b25zKSBpcyB+MTkyS0IuDQo+IA0KPiBXaGljaCBITUFDIGZ1bmN0aW9uIGRvIHdlIHVzZSBpbiBV RUZJIHRoYXQgbmVlZHMgQUVTPyBBZGRpbmcgMTkyIEtCIGZvcg0KPiBBRVMgdG8gZWFjaCBtb2R1 bGUgdGhhdCBvbmx5IHVzZXMgSE1BQy1TSEF4eHggc2VlbXMgbGlrZSBhIHJlYWxseSBiYWQNCj4g aWRlYSB0byBtZS4gTWF5YmUgdGhlIElFRUUgODAyLjExIGRyaXZlcnMgaGF2ZSBzb21lIGRlcGVu ZGVuY2llcyBvbg0KPiBDQkMtTUFDIGZvciBDQ01QLCBidXQgSSBkb24ndCB0aGluayBhbnkgd2lm aSBoYXJkd2FyZSBleGlzdHMgdG9kYXkgdGhhdA0KPiByZWxpZXMgb24gc29mdHdhcmUgc3VwcG9y dCBmb3IgdGhpcywgc28gdXNpbmcgb3B0aW1pemVkIGNvZGUgaGVyZSBtYWtlcw0KPiBsaXR0bGUg c2Vuc2UuDQo+IA0KPiBBbHNvLCBob3cgZG9lcyB0aGUgMzIlIHRvIDQ3JSBzcGVlZCBpbXByb3Zl bWVudCB0cmFuc2xhdGUgdG8gYWN0dWFsIGJvb3QNCj4gc3BlZWQgaW1wcm92ZW1lbnRzPyBBIGxv dCBvZiB0aGUgY3J5cHRvIGlzIG9ubHkgYXBwbGllZCB0byBzbWFsbA0KPiBxdWFudGl0aWVzIG9m IGRhdGEsIGFuZCBvbmx5IHRoZSBhbGdvcml0aG1zIHRoYXQgYXJlIGFwcGxpZWQgdG8NCj4gYXJi aXRyYXJ5IHNpemUgY2h1bmtzIHNob3VsZCBiZSBvcHRpbWl6ZWQgaW4gdGhpcyB3YXksIGltby4N Cj4gDQo+IE5vdGUgdGhhdCwgd2hpbGUgd2lkZWx5IHJlZ2FyZGVkIGFzIHRoZSBmYXN0ZXN0LCB0 aGUgT3BlblNTTCBhc20NCj4gaW1wbGVtZW50YXRpb25zIGFyZSBub3QgYXMgcm9idXN0IGFzIHlv dSBtaWdodCB0aGluaywgYW5kIHRoZXkgZG9uJ3Qgc2VlDQo+IGEgbG90IG9mIHRlc3QgY292ZXJh Z2UgcnVubmluZyBpbiBhIGJhcmUgbWV0YWwgY29udGV4dCB3aXRoIGVsZXZhdGVkDQo+IHByaXZp bGVnZXMgbGlrZSB3ZSBkbyBpbiBFREsyLg0KPiANCj4gKEkgbWF5IGhhdmUgYnJvdWdodCB1cCBz b21lIG9mIHRoZXNlIHBvaW50cyBiZWZvcmUgLSBhcG9sb2dpZXMgaWYNCj4gYW55dGhpbmcgSSBz YXkgc291bmRzIHJlZHVuZGFudCkuDQo+IA0KPiANCj4gDQo+ID4gSW50ZWwgZG9jdW1lbnRhdGlv biBvbiB0aGUgSUEgdmVyc2lvbiBvZiB0aGUgZmVhdHVyZSBsaXN0cyBzcGVlZA0KPiBpbXByb3Zl bWVudCBvZiB+MzIlIHRvIH40NyUgZGVwZW5kaW5nIG9uIHRoZSBvcGVyYXRpb24gYW5kIGtleSBz aXplLiBPdGhlcg0KPiBhcmNoaXRlY3R1cmVzIG1heSBzZWUgZGlmZmVyZW50IHNwZWVkIGltcHJv dmVtZW50cy4gSSBoYXZlIG9ubHkgdGVzdGVkIHRoaXMNCj4gZmlsZSB3aXRoIE92bWZQa2cgdGhy b3VnaCBRRU1VLg0KPiA+DQo+ID4gSSBkaWQgbm90IGFkZCB0aGlzIC5jIGZpbGUgdG8gYW55IElO RiBmaWxlIGJlY2F1c2UgaXQgd2lsbCBhZGQgfjE5MktCIHRvDQo+IGFueSBtb2R1bGUgdGhhdCBp bmNsdWRlcyBBRVMgZnVuY3Rpb25hbGl0eSBhbmQgaXQgc2hvdWxkIGJlIHVwIHRvIHRoZSBlbmQN Cj4gdXNlciBpZiB0aGV5IHdhbnQgdG8gaW5jbHVkZSB0aGlzIGZpbGUgZm9yIHRoZSBzaXplIHRy YWRlb2ZmIHZzLiB0aGUgc3BlZWQNCj4gZ2FpbiBmb3IgdGhlaXIgcGFydGljdWxhciBhcmNoaXRl Y3R1cmUuIEFkZGl0aW9uYWxseSBhcyB0aGUgb25seSBuYXRpdmUNCj4gT3BlbnNzbExpYiBpbXBs ZW1lbnRhdGlvbiBhdmFpbGFibGUgY3VycmVudGx5IGlzIGZvciBYNjQgYXJjaGl0ZWN0dXJlLCBh bnkNCj4gb3RoZXIgYXJjaGl0ZWN0dXJlIHdvdWxkIGhhdmUgYSBzaXplIGluY3JlYXNlIHdpdGgg bm8gc3BlZWQgaW1wcm92ZW1lbnQuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gQ2hyaXN0b3BoZXIg WnVyY2hlcg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206 IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPj4gU2VudDogRnJpZGF5LCBP Y3RvYmVyIDMwLCAyMDIwIDE4OjEwDQo+ID4+IFRvOiBadXJjaGVyLCBDaHJpc3RvcGhlciBKIDxj aHJpc3RvcGhlci5qLnp1cmNoZXJAaW50ZWwuY29tPjsNCj4gPj4gZGV2ZWxAZWRrMi5ncm91cHMu aW8NCj4gPj4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTHUsIFhp YW95dVgNCj4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsNCj4gPj4gSmlhbmcsIEd1b21pbiA8Z3Vv bWluLmppYW5nQGludGVsLmNvbT47IFN1bmctVWsgQmluIDxzdW5ndWstYmluQGhwLmNvbT47DQo+ IEFyZA0KPiA+PiBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiA+PiBTdWJq ZWN0OiBSRTogW1BBVENIIDAvMV0gQ3J5cHRvUGtnL0Jhc2VDcnlwdExpYjogQWRkIEVWUCBpbXBs ZW1lbnRhdGlvbg0KPiBmb3INCj4gPj4gQ3J5cHRBZXMuYw0KPiA+Pg0KPiA+PiBISSBadWNoZXIN Cj4gPj4gSSBhbSBub3Qgc3VyZSB3aHkgeW91IG9ubHkgYWRkIGEgLmMgZmlsZSwgYnV0IGRvIG5v dCBhZGQgdGhpcyBjIHRvIGFueSBJTkYNCj4gPj4gZmlsZS4gVGhpcyBzZWVtcyBhIGR1bW15IEMg ZmlsZS4NCj4gPj4gSSByZWNvbW1lbmQgeW91IGRyb3AgdGhpcyBhbmQgY3JlYXRlIGEgZnVsbCBw YXRjaCB0byBhZGQgQyBhbmQgdXBkYXRlIElORg0KPiA+PiBmaWxlLg0KPiA+Pg0KPiA+PiBTaW5j ZSB5b3UgYXJlIHRhbGtpbmcgcGVyZm9ybWFuY2UgYW5kIHNpemUsIGRvIHlvdSBoYXZlIGFueSBk YXRhPw0KPiA+PiBGb3IgZXhhbXBsZSwgaG93IGZhc3QgeW91IGhhdmUgZ290PyBXaGF0IGlzIHRo ZSBzaXplIGRpZmZlcmVuY2UgYmVmb3JlIGFuZA0KPiA+PiBhZnRlcj8NCj4gPj4gVGhpcyBjYW4g aGVscCBvdGhlciBwZW9wbGUgbWFrZSBkZWNpc2lvbiB0byBjaG9vc2Ugd2hpY2ggdmVyc2lvbi4N Cj4gPj4NCj4gPj4NCj4gPj4gVGhhbmsgeW91DQo+ID4+IFlhbyBKaWV3ZW4NCj4gPj4NCj4gPj4N Cj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBDaHJpc3RvcGhl ciBKIFp1cmNoZXIgPGNocmlzdG9waGVyLmouenVyY2hlckBpbnRlbC5jb20+DQo+ID4+PiBTZW50 OiBUaHVyc2RheSwgT2N0b2JlciAyOSwgMjAyMCAyOjQzIEFNDQo+ID4+PiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gPj4+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+ OyBXYW5nLCBKaWFuIEoNCj4gPj4+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1 WCA8eGlhb3l1eC5sdUBpbnRlbC5jb20+OyBKaWFuZywNCj4gR3VvbWluDQo+ID4+PiA8Z3VvbWlu LmppYW5nQGludGVsLmNvbT47IFN1bmctVWsgQmluIDxzdW5ndWstYmluQGhwLmNvbT47IEFyZA0K PiA+Pj4gQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT4NCj4gPj4+IFN1YmplY3Q6 IFtQQVRDSCAwLzFdIENyeXB0b1BrZy9CYXNlQ3J5cHRMaWI6IEFkZCBFVlAgaW1wbGVtZW50YXRp b24gZm9yDQo+ID4+PiBDcnlwdEFlcy5jDQo+ID4+Pg0KPiA+Pj4gQlo6IGh0dHBzOi8vYnVnemls bGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUwNw0KPiA+Pj4NCj4gPj4+IFRoaXMg cGF0Y2ggcHJvdmlkZXMgYSBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBDcnlwdEFlcy5jIHdoaWNo IHV0aWxpemVzDQo+ID4+PiB0aGUgRVZQIGludGVyZmFjZSB0byBPcGVuU1NMLiBUaGlzIGVuYWJs ZXMgYWNjZXNzIHRvIHRoZSBhc3NlbWJseS0NCj4gb3B0aW1pemVkDQo+ID4+PiBhbGdvcml0aG1z Lg0KPiA+Pj4NCj4gPj4+IFRoaXMgcGF0Y2ggaGFzIGJlZW4gdW5pdC10ZXN0ZWQgaW4gYm90aCBW UyBhbmQgQ0xBTkcgYnVpbGQgZW52aXJvbm1lbnRzDQo+ID4+PiB1c2luZyBib3RoIGFuIFg2NCBh c3NlbWJseS1vcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gb2YgT3BlbnNzbExpYiBhbmQNCj4gPj4+ IHRoZQ0KPiA+Pj4gc3RhbmRhcmQgaW1wbGVtZW50YXRpb24uDQo+ID4+Pg0KPiA+Pj4gVXNhZ2Ug b2YgdGhpcyBmaWxlIGRvZXMgbm90IHJlcXVpcmUgYW4gYXNzZW1ibHktb3B0aW1pemVkIGltcGxl bWVudGF0aW9uDQo+IG9mDQo+ID4+PiBPcGVuc3NsTGliIHRvIGZ1bmN0aW9uOyBpdCBkb2VzIGhv d2V2ZXIgcmVxdWlyZSBvbmUgdG8gcHJvdmlkZSBhIHNwZWVkDQo+ID4+PiBpbXByb3ZlbWVudC4N Cj4gPj4+DQo+ID4+PiBUaGUgQy1vbmx5IEFFUyBpbXBsZW1lbnRhdGlvbiBpbmNsdWRlZCBieSBD cnlwdEFlcy5jIGlzIGV4dHJlbWVseSBzbWFsbCwNCj4gPj4+IGFuZCBzaW5jZSB0aGlzIGZpbGUg aW5jbHVkZXMgdGhlIEVWUCBpbnRlcmZhY2UsIGl0IHdpbGwgc2lnbmlmaWNhbnRseQ0KPiA+Pj4g aW5jcmVhc2UgdGhlIHNpemUgb2YgYW55IG1vZHVsZSB0aGF0IGluY2x1ZGVzIGl0LiBBcyBhIHJl c3VsdCwgSSBoYXZlIG5vdA0KPiA+Pj4gcmVwbGFjZWQgdGhlIG9yaWdpbmFsIENyeXB0QWVzLmMg YXMgYSBkZWZhdWx0IGluIGFueSBvZiB0aGUgQ3J5cHRMaWINCj4gPj4+IGltcGxlbWVudGF0aW9u cy4NCj4gPj4+DQo+ID4+PiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ ID4+PiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPj4+IENjOiBY aWFveXUgTHUgPHhpYW95dXgubHVAaW50ZWwuY29tPg0KPiA+Pj4gQ2M6IEd1b21pbiBKaWFuZyA8 Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4gPj4+IENjOiBTdW5nLVVrIEJpbiA8c3VuZ3VrLWJp bkBocC5jb20+DQo+ID4+PiBDYzogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGFybS5j b20+DQo+ID4+Pg0KPiA+Pj4gQ2hyaXN0b3BoZXIgSiBadXJjaGVyICgxKToNCj4gPj4+ICAgIENy eXB0b1BrZy9CYXNlQ3J5cHRMaWI6IEFkZCBFVlAgaW1wbGVtZW50YXRpb24gZm9yIENyeXB0QWVz LmMNCj4gPj4+DQo+ID4+PiAgIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIv Q3J5cHRBZXNFdnAuYyB8IDI2Mg0KPiA+Pj4gKysrKysrKysrKysrKysrKysrKysNCj4gPj4+ICAg MSBmaWxlIGNoYW5nZWQsIDI2MiBpbnNlcnRpb25zKCspDQo+ID4+PiAgIGNyZWF0ZSBtb2RlIDEw MDY0NCBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0QWVzRXZwLmMN Cj4gPj4+DQo+ID4+PiAtLQ0KPiA+Pj4gMi4yOC4wLndpbmRvd3MuMQ0KPiA+DQoNCg==