From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0088.outbound.protection.outlook.com [104.47.38.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 1683421967BC1 for ; Tue, 6 Jun 2017 08:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=q/SpS8uxiMxO3xcTpE0iHBjf3M6BnjUs+nYAS/tUy48=; b=Kb6ibjFZFV4z23WgfbPI0wdqLouYOWJbeKp3VzePfehct193sm7jVZpus+uypynJErSpiKSSzhqtk6MYhHCX9k9zkMEQsOSnHvvPsHkqRgnDWEa9WeWhox1bVPLGp9e3KiAo+EApekQ3UyyBXbrV41QFR1VwsS2QRVrjwUuQhuU= Received: from DM5PR12MB1243.namprd12.prod.outlook.com (10.168.237.22) by DM5PR12MB1145.namprd12.prod.outlook.com (10.168.236.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.10; Tue, 6 Jun 2017 15:54:25 +0000 Received: from DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) by DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) with mapi id 15.01.1143.018; Tue, 6 Jun 2017 15:54:23 +0000 From: "Duran, Leo" To: "'Yao, Jiewen'" , "afish@apple.com" CC: "Singh, Brijesh" , "Zeng, Star" , "Justen, Jordan L" , "Laszlo Ersek" , "edk2-devel@lists.01.org" , "Dong, Eric" , "Lendacky, Thomas" , "Fan, Jeff" , "Gao, Liming" Thread-Topic: [edk2] [PATCH v6 00/17] x86: Secure Encrypted Virtualization (AMD) Thread-Index: AQHS1i6U3/oib+mTnUqFRoKwjvO/2aIHG0sAgAQSUICAAJ0DgIAAFskAgAPHAoCAABkkAIAHHyMAgAA22QCAAA+rgIAAHKOAgAC5SwCAAAiGAIAABTWAgAAC7sA= Date: Tue, 6 Jun 2017 15:54:23 +0000 Message-ID: References: <1495809845-32472-1-git-send-email-brijesh.singh@amd.com> <149583274037.25973.13062338567511386932@jljusten-skl> <6ecd0138-454e-6a6e-d034-beaf63466120@redhat.com> <149609029319.5770.13917390389219314003@jljusten-skl> <14301d64-9fa3-8231-42c1-52c2dcd9f96f@amd.com> <149630284935.10663.16670660897918560882@jljusten-skl> <661e46af-5e1c-733a-d027-1ae2e3052a28@amd.com> <149671154262.11907.18297341281786344033@jljusten-skl> <0C09AFA07DD0434D9E2A0C6AEB0483103B8E3C1D@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503A964542@shsmsx102.ccr.corp.intel.com> <89CEBE18-D16B-4D1E-8E51-263C4375FDB2@apple.com> <74D8A39837DF1E4DA445A8C0B3885C503A9645DB@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503A9645DB@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=amd.com; x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM5PR12MB1145; 7:qKU9eR0AwLjUUYzjydy2I77K4mpthl4maXipbShBX4UfonkDznE8oQzlu88770fJ69pGZO2n8md6CwfRS2YwLuj+ptu+EOwMPDhEU8Q9C3Fa2XRXKc8DJ5z5/3MIf0zsRtD/A/qv7SnaMaBSUClvG7l9+eT0NvS3MHGx1dBS4ZHaj5dRU6aV3qHx5D1Fm6QbStoBcxuQLJ6Zb+BnkK1Cv4g9jZewozouqjpjvZ0xNF+9M/w4R8H8rGgIZITg/anFh6DfAexC9i7H0JjoWwGP0LbsJ4ua7+Wiy7uWybWhTeM0UVCBiY3grDhTU2aXGOrC4ft3HR+KkrLvV2YERq6HHw==; 20:jT7efAfBU7cSs9qkthHJZK3gZ7eVKMICVS6fLMI2L0W/7bgJ0hUkWkyh/m56HizAE5qnliyUcM8aG23V6ZE8F1DrKxgvhf4eLjOBK86Tmww9hD6MP4NTWQYGRM/jQdDaHnnbgNRBmXgtlU6pUSkhe2kw0eAsGi/OU5WazYcmZGBiiSsTV/ZZaIvpJbaYtDGgRlIQpN98lTcHlOrZlDJs1xV7xUiUTdMnzQdTXeQi9YiXL1uY5uXjl5dIrH8wcCW0 x-forefront-antispam-report: SFV:SKI; SCL:-1SFV:NSPM; SFS:(10009020)(39450400003)(39860400002)(39840400002)(39400400002)(39850400002)(39410400002)(24454002)(13464003)(377454003)(377424004)(50986999)(6436002)(54356999)(606005)(76176999)(478600001)(77096006)(6506006)(229853002)(99286003)(55016002)(54906002)(86362001)(8666007)(33656002)(2950100002)(6306002)(54896002)(14454004)(53946003)(2501003)(9686003)(236005)(966005)(7696004)(66066001)(53936002)(102836003)(8676002)(6246003)(81166006)(2906002)(93886004)(189998001)(5660300001)(25786009)(53546009)(790700001)(3846002)(122556002)(8936002)(38730400002)(74316002)(7736002)(4326008)(7906003)(3660700001)(3280700002)(2900100001)(6116002)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1145; H:DM5PR12MB1243.namprd12.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; x-ms-traffictypediagnostic: DM5PR12MB1145: x-ms-office365-filtering-correlation-id: df716207-7b32-4f85-79ce-08d4acf44d99 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081); SRVR:DM5PR12MB1145; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(166708455590820)(767451399110)(162533806227266)(21748063052155)(31960201722614)(228905959029699)(17755550239193); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123555025)(20161123558100)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR12MB1145; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR12MB1145; x-forefront-prvs: 033054F29A spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2017 15:54:23.8265 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1145 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH v6 00/17] x86: Secure Encrypted Virtualization (AMD) X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 15:53:20 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IGFsbCBmb3IgdGhlIGZlZWRiYWNr4oCmIFRoZSBzdW1tYXJ5IG9mIHdoYXQgSeKA mW0gaGVhcmluZyBpczoNCg0KMSkgICAgICBGb3Igbm93LCB1c2UgQVBSSU9SSSBpbiB0aGUgc3Rh bmQtYWxvbmUgKFNFVikgZHJpdmVyIGluIE92bWZQa2cgKGFsYmVpdCBub3QgYXMgY2xlYW4gYXMg ZGVzaXJlZCwgYnV0IGxlYXN0IGludHJ1c2l2ZSBzb2x1dGlvbi4pLg0KDQoyKSAgICAgIExldOKA mXMgcmV2aXNpdCB0aGUgZXhpc3RpbmcgR0NEIGltcGxlbWVudGF0aW9uIHRvIGFsbG93IGZvciBj bGVhbmVyIG9mIGZlYXR1cmVzIGxpa2UgdGhpcy4NCg0KTGVvLg0KDQoNCkZyb206IFlhbywgSmll d2VuIFttYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb21dDQpTZW50OiBUdWVzZGF5LCBKdW5lIDA2 LCAyMDE3IDEwOjQzIEFNDQpUbzogYWZpc2hAYXBwbGUuY29tDQpDYzogU2luZ2gsIEJyaWplc2gg PGJyaWplc2guc2luZ2hAYW1kLmNvbT47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+ OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgTGFzemxvIEVy c2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBEb25nLCBF cmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTGVuZGFja3ksIFRob21hcyA8VGhvbWFzLkxlbmRh Y2t5QGFtZC5jb20+OyBEdXJhbiwgTGVvIDxsZW8uZHVyYW5AYW1kLmNvbT47IEZhbiwgSmVmZiA8 amVmZi5mYW5AaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsg WWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyXSBb UEFUQ0ggdjYgMDAvMTddIHg4NjogU2VjdXJlIEVuY3J5cHRlZCBWaXJ0dWFsaXphdGlvbiAoQU1E KQ0KDQpIaSBBbmRyZXcNClllcywgSSBhZ3JlZS4gSWYgd2UgY291bGQgZmlndXJlIG91dCBhIGNs ZWFuZXIgd2F5IHRvIHJlc29sdmUgdGhlIHByb2JsZW0sIHdlIHNob3VsZCB1c2UgdGhlIGNsZWFu ZXIgd2F5Lg0KDQoNCg0KSWYgd2UgcmVhbGx5IHJlYWxseSBkbyBub3Qgd2FudCB0byB1c2UgYSBw cmlvcmkgZm9yIEFtZFNlYywgd2UgY2FuIGxldCBBbWRTZWMgdG8gcHVibGlzaCBhIHNwZWNpYWwg cHJvdG9jb2wsIGFuZCBsZXQgdGhlIGRyaXZlciBkZXBlbmQgdGhhdCBwcm90b2NvbCwgaWYgdGhp cyBkcml2ZXIgbmVlZCBhZGQgTU1JTyByZWdpb24uDQpCZWNhdXNlIEFtZFNlYyBpcyBpbnNpZGUg b2YgT3ZtZlBrZywgdGhpcyBzcGVjaWFsIHByb3RvY29sIGNhbiBiZSBpbiBPdm1mUGtnLg0KDQpU aGF0IGlzIGp1c3QgYW5vdGhlciBvcHRpb24uDQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQpG cm9tOiBhZmlzaEBhcHBsZS5jb208bWFpbHRvOmFmaXNoQGFwcGxlLmNvbT4gW21haWx0bzphZmlz aEBhcHBsZS5jb21dDQpTZW50OiBUdWVzZGF5LCBKdW5lIDYsIDIwMTcgMTE6MjUgUE0NClRvOiBZ YW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwu Y29tPj4NCkNjOiBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb208bWFpbHRvOmJy aWplc2guc2luZ2hAYW1kLmNvbT4+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPG1h aWx0bzpzdGFyLnplbmdAaW50ZWwuY29tPj47IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1 c3RlbkBpbnRlbC5jb208bWFpbHRvOmpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+PjsgTGFzemxv IEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbTxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+PjsgZWRr Mi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPjsgRG9u ZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+ OyBUaG9tYXMuTGVuZGFja3lAYW1kLmNvbTxtYWlsdG86VGhvbWFzLkxlbmRhY2t5QGFtZC5jb20+ OyBsZW8uZHVyYW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1cmFuQGFtZC5jb20+OyBGYW4sIEplZmYg PGplZmYuZmFuQGludGVsLmNvbTxtYWlsdG86amVmZi5mYW5AaW50ZWwuY29tPj47IEdhbywgTGlt aW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbTxtYWlsdG86bGltaW5nLmdhb0BpbnRlbC5jb20+Pg0K U3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggdjYgMDAvMTddIHg4NjogU2VjdXJlIEVuY3J5cHRl ZCBWaXJ0dWFsaXphdGlvbiAoQU1EKQ0KDQoNCj4gT24gSnVuIDYsIDIwMTcsIGF0IDc6NTQgQU0s IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRl bC5jb20+PiB3cm90ZToNCj4NCj4gSGkNCj4gSXQgdGFrZXMgbWUgc29tZSB0aW1lIHRvIHJlYWQg YWxsIGVtYWlsIGJlbG93LiBJIGJlbGlldmUgYWxsIG9mIHVzIGhhdmUgYSBjbGVhbiB1bmRlcnN0 YW5kaW5nIG9uIHdoYXQgcHJvYmxlbSB3ZSBoYXZlIG5vdyBhbmQgdGhlIHBvc3NpYmxlIHNvbHV0 aW9ucyB0byBjbGVhciBDIGJpdCBhcmUgYmVsb3cNCj4NCj4gMSkgICAgICAgSW4gRHhlSXBsLCB3 aGVuIGl0IGJ1aWxkcyBwYWdlIHRhYmxlLg0KPg0KPiAyKSAgICAgICBJbiBEeGVDb3JlDQo+DQo+ IGEpICAgICAgICAgQnkgdXNlIENwdUFyY2gNCj4NCj4gYikgICAgICAgICBCeSB1c2UgcGFnZSB0 YWJsZSBsaWINCj4NCj4gYykgICAgICAgICBCeSB1c2UgYSBHQ0QgdXBkYXRlIGNhbGxiYWNrDQo+ DQo+IGQpICAgICAgICAgQnkgdXNlIFBsYXRmb3JtSG9vayBsaWINCj4NCj4gMykgICAgICAgSW4g YSBzdGFuZGFsb25lIEFtZFNldiBkcml2ZXIuDQo+DQo+IEhlcmUgaXMgbXkgdGhvdWdodDoNCj4g Mi5hKSBpcyBub3QgcG9zc2libGUsIHBlciBMZW/igJlzIGludmVzdGlnYXRpb24uDQo+IDIuYikg aXMgbm90IGEgZ29vZCBkZXNpZ24sIGJlY2F1c2Ugd2UgZG8gbm90IGludHJvZHVjZSBhbnkgQ3B1 IFNwZWNpZmljIHRoaW5nIHRvIER4ZUNvcmUgc28gZmFyLg0KPiAyLmMpIGFuZCAyLmQpIGFyZSBz YW1lLiBJIGRvIG5vdCBzdWdnZXN0IHdlIGFkZCBhIHByaXZhdGUgaW50ZXJmYWNlIHRvIHRoZSBj b3JlIGp1c3QgdG8gc3VwcG9ydCBvbmUgc3BlY2lmaWMgZmVhdHVyZS4NCj4NCj4gMSkgaXMgb25l IHBvc3NpYmxlIHNvbHV0aW9uLCBJIHN1Z2dlc3RlZCBiZWZvcmUuIEJ1dCBpZiBMZW8vTGFzemxv IHRoaW5rIGl0IGlzIHRvbyBoYXJkIHRvIGltcGxlbWVudCwgSSBhbSBPSy4NCj4NCj4gSWYgMSkg Y2Fubm90IGJlIGNob3NlbiwgSSBzdGlsbCB0aGluayAzKSBpcyB0aGUgYmVzdCBpZGVhLg0KPiBJ dCBtYWtlcyB0aGUgY29kZSB2ZXJ5IGNsZWFuIGJ5IGludHJvZHVjaW5nIGEgc3RhbmRhbG9uZSBk cml2ZXIgdG8gcmVzb2x2ZSB0aGUgcHJvYmxlbS4NCj4gWmVybyBpbXBhY3Qgb24gZXhpc3Rpbmcg cGxhdGZvcm0uDQo+IElmIHRoaXMgZmVhdHVyZSBpcyBub3QgbmVlZGVkLCBqdXN0IHJlbW92ZSB0 aGUgZHJpdmVyLg0KPg0KPiBJIGRvIG5vdCBzZWUgYW55IGlzc3VlIG9uIHVzaW5nIGEgcHJpb3Jp LCBiZWNhdXNlOiBBKSDigJxhIHByaW9yaeKAnSBpcyBjbGVhcmx5IGRlZmluZWQgaW4gUEkgc3Bl YywgQikg4oCcYSBwcmlvcmnigJ0gaGFzIGFscmVhZHkgYmVlbiB3aWRlbHkgdXNlZCBpbiBjdXJy ZW50IHBsYXRmb3JtIGluIEVES0lJIG9wZW4gc291cmNlLCBhcyB3ZWxsIGFzIGNsb3NlIHNvdXJj ZSBwbGF0Zm9ybS4NCj4NCg0KSmlld2VuLA0KDQpJIGFncmVlIHRoYXQgImEgcHJpb3JpIiBpcyBw YXJ0IG9mIHRoZSBhcmNoaXRlY3R1cmUgc28gaXQgaXMgT0sgdG8gdXNlIGl0LCBidXQgImEgcHJp b3JpIiB3YXMgbmV2ZXIgcmVhbGx5IGludGVuZGVkIGFzIGEgd2F5IHRvIGFkZCBiYXNpYyBmZWF0 dXJlcy4gaXQgd2FzIG1vcmUgZm9yIGRlYnVnZ2luZyBhbmQgd29yayBhcm91bmRzLiBJdCBzZWVt cyBsaWtlIGEgZmVhdHVyZSBsaWtlIHRoaXMgc2hvdWxkIG5vdCByZXF1aXJlIGEgd29yayBhcm91 bmQuLi4uDQoNCidTbyBJIHRoaW5rIGl0IGlzIE9LIHRvIGFjY2VwdCB0aGlzIHBhdGNoIHRvIGdl dCB0aGUgZmVhdHVyZSBlbmFibGVkLCBidXQgd2UgbmVlZCB0byBsb29rIGF0IHRoZSBHQ0QgaW1w bGVtZW50YXRpb24gYW5kIFBJIGFyY2hpdGVjdHVyZSB0byBmaWd1cmUgb3V0IHdoeSB0aGVyZSBp cyBub3QgYSBjbGVhbmVyIHdheSB0byBhZGQgdGhpcyBmZWF0dXJlLiBNYXliZSB3ZSBuZWVkIHRv IGNoYW5nZSB0aGUgaW1wbGVtZW50YXRpb24sIGFuZC9vciB0aGUgUEkgU3BlYz8NCg0KVGhhbmtz LA0KDQpBbmRyZXcgRmlzaA0KDQo+IFRoYW5rIHlvdQ0KPiBZYW8gSmlld2VuDQo+DQo+DQo+DQo+ IEZyb206IEJyaWplc2ggU2luZ2ggW21haWx0bzpicmlqZXNoLnNpbmdoQGFtZC5jb21dDQo+IFNl bnQ6IFR1ZXNkYXksIEp1bmUgNiwgMjAxNyAxMTo1MSBBTQ0KPiBUbzogWmVuZywgU3RhciA8c3Rh ci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4+OyBKdXN0ZW4sIEpv cmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5A aW50ZWwuY29tPj47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb208bWFpbHRvOmxlcnNl a0ByZWRoYXQuY29tPj47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVs QGxpc3RzLjAxLm9yZz47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVy aWMuZG9uZ0BpbnRlbC5jb20+PjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPG1h aWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+DQo+IENjOiBUaG9tYXMuTGVuZGFja3lAYW1kLmNv bTxtYWlsdG86VGhvbWFzLkxlbmRhY2t5QGFtZC5jb20+OyBHYW8sIExpbWluZyA8bGltaW5nLmdh b0BpbnRlbC5jb208bWFpbHRvOmxpbWluZy5nYW9AaW50ZWwuY29tPj47IGxlby5kdXJhbkBhbWQu Y29tPG1haWx0bzpsZW8uZHVyYW5AYW1kLmNvbT47IEZhbiwgSmVmZiA8amVmZi5mYW5AaW50ZWwu Y29tPG1haWx0bzpqZWZmLmZhbkBpbnRlbC5jb20+Pg0KPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQ QVRDSCB2NiAwMC8xN10geDg2OiBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChBTUQp DQo+DQo+IEhpIEpvcmRhbiwNCj4NCj4NCj4gT24gNi81LzE3IDk6MDggUE0sIFplbmcsIFN0YXIg d3JvdGU6DQo+PiBJIHdhcyBub3QgdHJhY2tpbmcgdGhpcyB0aHJlYWQuDQo+PiBKaWV3ZW4gd2ls bCBoZWxwIGdpdmUgY29tbWVudHMgYWJvdXQgdGhlIHBvdGVudGlhbCBjaGFuZ2UgaW4gTWRlTW9k dWxlUGtnLg0KPj4NCj4+IFRoYW5rcywNCj4+IFN0YXINCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+PiBGcm9tOiBKdXN0ZW4sIEpvcmRhbiBMDQo+PiBTZW50OiBUdWVzZGF5LCBKdW5l IDYsIDIwMTcgOToxMiBBTQ0KPj4gVG86IEJyaWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1k LmNvbTxtYWlsdG86YnJpamVzaC5zaW5naEBhbWQuY29tPG1haWx0bzpicmlqZXNoLnNpbmdoQGFt ZC5jb20lM2NtYWlsdG86YnJpamVzaC5zaW5naEBhbWQuY29tPj4+OyBMYXN6bG8gRXJzZWsgPGxl cnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbTxtYWlsdG86bGVyc2VrQHJl ZGhhdC5jb20lM2NtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+Pj47IGVkazItZGV2ZWxAbGlzdHMu MDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmclM2NtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+PjsgWmVuZywgU3Rh ciA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86 c3Rhci56ZW5nQGludGVsLmNvbSUzY21haWx0bzpzdGFyLnplbmdAaW50ZWwuY29tPj4+OyBEb25n LCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPG1h aWx0bzplcmljLmRvbmdAaW50ZWwuY29tJTNjbWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+Pj4N Cj4+IENjOiBUaG9tYXMuTGVuZGFja3lAYW1kLmNvbTxtYWlsdG86VGhvbWFzLkxlbmRhY2t5QGFt ZC5jb208bWFpbHRvOlRob21hcy5MZW5kYWNreUBhbWQuY29tJTNjbWFpbHRvOlRob21hcy5MZW5k YWNreUBhbWQuY29tPj47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbTxtYWlsdG86 bGltaW5nLmdhb0BpbnRlbC5jb208bWFpbHRvOmxpbWluZy5nYW9AaW50ZWwuY29tJTNjbWFpbHRv OmxpbWluZy5nYW9AaW50ZWwuY29tPj4+OyBsZW8uZHVyYW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1 cmFuQGFtZC5jb208bWFpbHRvOmxlby5kdXJhbkBhbWQuY29tJTNjbWFpbHRvOmxlby5kdXJhbkBh bWQuY29tPj47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2Vu Lnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tJTNjbWFpbHRvOmppZXdl bi55YW9AaW50ZWwuY29tPj4+OyBGYW4sIEplZmYgPGplZmYuZmFuQGludGVsLmNvbTxtYWlsdG86 amVmZi5mYW5AaW50ZWwuY29tPG1haWx0bzpqZWZmLmZhbkBpbnRlbC5jb20lM2NtYWlsdG86amVm Zi5mYW5AaW50ZWwuY29tPj4+DQo+PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCB2NiAwMC8x N10geDg2OiBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChBTUQpDQo+Pg0KPj4gT24g MjAxNy0wNi0wNSAxNDo1NjowNCwgQnJpamVzaCBTaW5naCB3cm90ZToNCj4+PiBPbiAwNi8wMS8y MDE3IDA0OjEwIEFNLCBMYXN6bG8gRXJzZWsgd3JvdGU6DQo+Pj4+IE9uIDA2LzAxLzE3IDA5OjQw LCBKb3JkYW4gSnVzdGVuIHdyb3RlOg0KPj4+Pj4gSW4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvcGlw ZXJtYWlsL2VkazItZGV2ZWwvMjAxNy1BcHJpbC8wMDk4ODMuaHRtbA0KPj4+Pj4gTGVvIHNhaWQg dGhhdCBEeGVJcGwgd29uJ3Qgd29yayBiZWNhdXNlIG5ldyBJL08gcmFuZ2VzIG1pZ2h0IGJlIGFk ZGVkLg0KPj4+Pj4gSSBkb24ndCB1bmRlcnN0YW5kIHRoaXMsIGJlY2F1c2UgaXNuJ3QgRHhlSXBs IGFuZCBhbiBlYXJseSBBUFJJT1JJDQo+Pj4+PiBlbnRyeSBhcmUgcm91Z2hseSBlcXVpdmFsZW50 IGluIHRoZSBib290IHNlcXVlbmNlPw0KPj4+PiBJIHRoaW5rIHlvdSBhcmUgcmlnaHQuIEkgYmVs aWV2ZSBhIHBhdGNoIGZvciB0aGlzIGV4YWN0IGlkZWEgaGFzbid0DQo+Pj4+IGJlZW4gcG9zdGVk IHlldC4gSmlld2VuJ3MgbWVzc2FnZSB0aGF0IHlvdSBsaW5rZWQgYWJvdmUgY29udGFpbnMgdGhl DQo+Pj4+IGV4cHJlc3Npb24NCj4+Pj4NCj4+Pj4gICAgIGFsd2F5cyBjbGVhciBTRVYgbWFzayBm b3IgTU1JTyAqYW5kIGFsbCByZXN0Kg0KPj4+Pg0KPj4+PiAoZW1waGFzaXMgbWluZSksIHdoaWNo IEkgdGhpbmsgd2UgbWF5IGhhdmUgbWlzc2VkICppbiBjb21iaW5hdGlvbg0KPj4+PiB3aXRoKiB0 aGUgRHhlSXBsLg0KPj4+Pg0KPj4+PiBTbyB0aGUgaWRlYSB3b3VsZCBiZSB0byBpdGVyYXRlIG92 ZXIgYWxsIHRoZSBIT0JzIGluIHRoZSBEeGVJcGwgUEVJTS4NCj4+Pj4gS2VlcCB0aGUgQyBiaXQg c2V0IGZvciBzeXN0ZW0gbWVtb3J5IHJlZ2lvbnMuIENsZWFyIHRoZSBDIGJpdCBmb3INCj4+Pj4g TU1JTyByZWdpb25zIHRoYXQgYXJlIGtub3duIGZyb20gdGhlIEhPQiBsaXN0LiBBbHNvIGNsZWFy IHRoZSBDIGJpdA0KPj4+PiBldmVyeXdoZXJlIGVsc2UgaW4gdGhlIGFkZHJlc3Mgc3BhY2UgKGtu b3duIGZyb20gdGhlIENQVSBIT0IpIHdoZXJlDQo+Pj4+IG5vIGNvdmVyYWdlIGlzIHByb3ZpZGVk IGJ5IGFueSBtZW1vcnkgcmVzb3VyY2UgZGVzY3JpcHRvciBIT0IuDQo+Pj4+DQo+Pj4+IFRoaXMg aXMgZ29pbmcgdG8gYmUgaGFyZGVyIHRoYW4gdGhlIGN1cnJlbnQgYXBwcm9hY2gsIGJlY2F1c2U6 DQo+Pj4+DQo+Pj4+IC0gVGhlIGN1cnJlbnQgYXBwcm9hY2ggY2FuIHdvcmsgb2ZmIG9mIHRoZSBH Q0QgbWVtb3J5IHNwYWNlIG1hcCwNCj4+Pj4gd2hpY2ggcHJvdmlkZXMgZXhwbGljaXQgTm9uRXhp c3RlbnQgZW50cmllcywgY292ZXJpbmcgdGhlIGVudGlyZQ0KPj4+PiBhZGRyZXNzIHNwYWNlIChh Y2NvcmRpbmcgdG8gdGhlIENQVSBIT0IpLg0KPj4+Pg0KPj4+PiAtIEhvd2V2ZXIsIHRoZSBEeGVJ cGwgbWV0aG9kIHdvdWxkIHRha2UgcGxhY2UgYmVmb3JlIGVudGVyaW5nIERYRSwNCj4+Pj4gc28g bm8gR0NEIG1lbW9yeSBzcGFjZSBtYXAgd291bGQgYmUgYXZhaWxhYmxlIC0tIHRoZSAiTm9uRXhp c3RlbnQiDQo+Pj4+IGVudHJpZXMgd291bGQgaGF2ZSB0byBiZSBzeW50aGVzaXplZCBtYW51YWxs eSBmcm9tIHRoZSBhZGRyZXNzIHNwYWNlDQo+Pj4+IHNpemUgKGtub3duIGZyb20gdGhlIENQVSBI T0IpIGFuZCB0aGUgbGFjayBvZiBjb3ZlcmFnZSBieSBtZW1vcnkNCj4+Pj4gcmVzb3VyY2UgZGVz Y3JpcHRvciBIT0JzLg0KPj4+Pg0KPj4+PiBCYXNpY2FsbHksIGluIG9yZGVyIHRvIG1vdmUgdGhl IGN1cnJlbnQgR0NEIG1lbW9yeSBzcGFjZSBtYXANCj4+Pj4gdHJhdmVyc2FsIGZyb20gZWFybHkg RFhFIHRvIGxhdGUgUEVJLCB0aGUgbWVtb3J5IHNwYWNlIG1hcCBidWlsZGluZw0KPj4+PiBsb2dp YyBvZiB0aGUgRFhFIENvcmUgd291bGQgaGF2ZSB0byBiZSBkdXBsaWNhdGVkIGluIHRoZSBEeGVJ cGwNCj4+Pj4gUEVJTS4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseS4gKFRoZSBEeGVJcGwgUEVJ TSBtYXkgYWxyZWFkeQ0KPj4+PiBjb250YWluIHZlcnkgc2ltaWxhciBjb2RlLCBmb3IgdGhlIHBh Z2UgdGFibGUgYnVpbGRpbmcsIHdoaWNoIG1pZ2h0DQo+Pj4+IG5vdCBiZSBkaWZmaWN1bHQgdG8g ZXh0ZW5kIGxpa2UgdGhpcyAtLSBJIGhhdmVuJ3QgbG9va2VkLikNCj4+Pj4NCj4+Pj4gSXMgdGhp cyB3aGF0IHlvdSBoYXZlIGluIG1pbmQ/DQo+Pj4+DQo+Pj4gRG8geW91IGhhdmUgYW55IGZ1cnRo ZXIgdGhvdWdodCBvbiB0aGlzPw0KPj4gUmVnYXJkaW5nIExhc3psbydzIGZlZWRiYWNrLCBJJ20g bm90IGNvbnZpbmNlZCB0aGF0IGl0IHdvdWxkIGJlIGV4Y2Vzc2l2ZWx5IGRpZmZpY3VsdCB0byBh Y2NvbXBsaXNoIHRoaXMgaW4gRHhlSXBsLiAoSSdtIG5vdCBzYXlpbmcgdGhhdCBJIGNvdWxkbid0 IGJlIGNvbnZpbmNlZC4gOikNCj4+DQo+PiBBcyBmYXIgYXMgSSBjYW4gc2VlLCB0aGlzIGlzIGFu IGFyY2hpdGVjdHVyYWxseSBkZWZpbmVkIEFNRCBmZWF0dXJlLg0KPj4gKElzIHRoaXMgdHJ1ZSwg b3IgaXMgQmFzZU1lbWNyeXB0U2V2TGliIGFjdHVhbGx5IE9WTUYgc3BlY2lmaWM/KQ0KPg0KPiBZ ZXMsIFNFViBpcyBBTUQtViBhcmNoaXRlY3R1cmUgZXh0ZW5zaW9uIGFuZCBpdHMgYXBwbGljYWJs ZSB0bw0KPiB2aXJ0dWFsaXphdGlvbiBwbGF0Zm9ybSBvbmx5ICh3ZSBjYW4gc2F5cyBCYXNlTWVt RW5jcnlwdFNldkxpYiBpcyBPVk1GDQo+IHNwZWNpZmljKS4NCj4+IFlvdSd2ZSBhc3NlcnRlZCB0 aGF0IGl0IHNob3VsZCB3b3JrIChTRVYgd291bGQgbm90IGJlIGRldGVjdGVkKSB3aXRoIGFueSBJ bnRlbCBwcm9jZXNzb3IgYXMgd2VsbC4gVGhlcmVmb3JlLCBJIGRvbid0IHNlZSBhIGdvb2QgcmVh c29uIHRoYXQgd2Ugc2hvdWxkbid0IGJlIGFibGUgdG8gc3VwcG9ydCBpdCBpbiBtb2R1bGVzIHRo YXQgYWxyZWFkeSBoYXZlDQo+PiBJQTMyL1g2NCBzcGVjaWZpYyBjb2RlLiAoSSdtIHJlY2FsbGlu Zw0KPj4gODgxODEzZDdhOTNkOTAwOWM4NzM1MTViMDQzYzQxYzQ1NTQ3NzllNC4pDQo+Pg0KPj4g U2luY2UgRHhlSXBsIGJ1aWxkcyB0aGUgSUEzMi9YNjQgcGFnZSB0YWJsZXMsIGFuZCB5b3UgbmVl ZCB0byBtb2RpZnkgdGhlIHBhZ2UgdGFibGVzIGZvciB0aGlzIGZlYXR1cmUgKGNvcnJlY3Q/KSwg SSB0aGluayB3ZSBzaG91bGQgdHJ5IHRvIHN1cHBvcnQgdGhlIGZlYXR1cmUgdGhlcmUgaWYgaXQg aXMgZmVhc2libGUuIEkgY2FuIHVuZGVyc3RhbmQgdGhlIGFyZ3VtZW50IHRoYXQgdGhpcyBkb2Vz bid0IGFwcGx5IHRvIGFsbCBub24tVk0gcGxhdGZvcm1zLCBzbyBJIHRoaW5rIHdlIGNvdWxkIGFk ZCBhIFBDRCB3aGljaCBkaXNhYmxlcyB0aGlzIHN1cHBvcnQgYnkgZGVmYXVsdC4NCj4+DQo+PiBJ IGRvbid0IGtub3cgdGhhdCB0aGUgb3duZXJzIG9mIE1kZU1vZHVsZVBrZyBhbmQgVWVmaUNwdVBr ZyB3aWxsIGFncmVlIHdpdGggbWUgdGhvdWdoLg0KPg0KPiBJIGFtIGZsZXhpYmxlIHRvIGltcGxl bWVudCBBUFJJT1JJIG9yIFBsYXRmb3JtIGhvb2tzIExpYi4gQnV0IG9uZSB0aGluZw0KPiBJIHdh bnQgdG8gaGlnaGxpZ2h0IGlzOiBJJ2xsIHByZWZlciBjbGVhcmluZyBDLWJpdCAgdGhyb3VnaA0K PiBCYXNlTWVtRW5jcnlwdFNldkxpYiBmdW5jdGlvbnMuIE9uZSBvZiB0aGUgbWFpbiByZWFzb24g Zm9yIGRvaW5nIHNvIC0gSW4NCj4gZnV0dXJlIHdoZW4gd2UgYWRkIG1pZ3JhdGlvbiBzdXBwb3J0 IGZvciB0aGUgU0VWIGd1ZXN0IHRoZW4gd2Ugd2lsbCBiZQ0KPiByZXF1aXJlZCB0byBub3RpZnkg dGhlIHVuZW5jcnlwdGVkIHBhZ2UgcmFuZ2UgdG8gaHlwZXZpc29yICggdGhyb3VnaA0KPiBoeXBl cmNhbGwpLiBEdXJpbmcgbWlncmF0aW9uIHBoYXNlLCBIeXBlcnZpc29yIHdpbGwgdXNlIHRoaXMg aW5mb3JtYXRpb24NCj4gdG8gbWFrZSBkZWNpc2lvbiBvbiB3aGV0aGVyIHRvIGludm9rZSB0aGUg U0VWIGZpcm13YXJlIHRvIGVuY3J5cHQgdGhlDQo+IG1lbW9yeSByZWdpb24gZm9yIHRyYW5zcG9y dCBwdXJwb3Nlcy4gSWYgY2xlYXJpbmcgQy1iaXQgbG9naWMgaXMNCj4gY29udGFpbmVkIGluc2lk ZSBCYXNlTWVtRW5jcnlwdFNldkxpYiB0aGVuIGl0IHdpbGwgbWFrZSBsaWZlIG11Y2ggZWFzaWVy Lg0KPg0KPj4+IEluIG1lYW50aW1lLCBJIGhhdmUgYmVlbiBsb29raW5nIGludG8gTWRlTW9kdWxl L0NvcmUvRHhlL0R4ZU1haW4gdG8NCj4+PiBzZWUgaWYgSSBjYW4gaW52b2tlIGEgcGxhdGZvcm0g ZGVwZW5kZW50IGxpYnJhcnkgdG8gY2xlYXIgQy1iaXQgYmVmb3JlDQo+Pj4gRHhlTWFpbiBmaW5p c2hlcyBpdHMgZXhlY3V0aW9uLiBBcyBMYXN6bG8gcG9pbnRlZCwgY3VycmVudCBhcHByb2FjaCBp cw0KPj4+IHVzaW5nIEdDRCBtZW1vcnkgc3BhY2UgbWFwIHRvIGdldCBNTUlPIGFuZCBOb25FeGlz dGVudCBlbnRyaWVzLiBJIGhhdmUNCj4+PiBwdXNoZWQgdHdvIHBhdGNoZXMgaW4gbXkgZGV2ZWxv cG1lbnQgYnJhbmNoIHRvIHNob3cgd2hhdCBJIGhhdmUgYmVlbiBkb2luZzoNCj4+Pg0KPj4+IDEp IGFkZCBhIG5ldyBudWxsIER4ZUdjZENvcmVQbGF0Zm9ybUhvb2tMaWINCj4+Pg0KPj4+IGh0dHBz Oi8vZ2l0aHViLmNvbS9jb2RvbWFuaWEvZWRrMi9jb21taXQvMTcxZjgxNjM3NmIzYjA2NzdjYmZi OTAyNzFhOTQNCj4+PiBhOTIwZDdhZDcyZA0KPj4+DQo+Pj4gVGhlIGxpYnJhcnkgcHJvdmlkZXMg YSBmdW5jdGlvbiAiRHhlR2NkQ29yZVBsYXRmb3JtSG9va1JlYWR5IiB3aGljaA0KPj4+IGNhbiBi ZSBjYWxsZWQgYnkgRHhlTWFpbiBqdXN0IGFmdGVyIGl0IGluaXRpYWxpemVzIHRoZSBHY2RTZXJ2 aWNlcw0KPj4+ICh3aGljaCB3aWxsIGd1YXJhbnRlZSB0aGF0IEdjZCBtZW1vcnkgc3BhY2UgbWFw IGlzIGF2YWlsYWJsZSkuDQo+PiBSZWdhcmRpbmcgaG9va2luZyBpbnRvIER4ZUNvcmUsIEkgZG9u J3QgdGhpbmsgaXQgaXMgdGhlIGJlc3QgYXBwcm9hY2gsIGJ1dCBpdCBpcyBiZXR0ZXIgdGhhbiBB UFJJT1JJLiBJIHdvbmRlciBpZiB0aGUgTWRlTW9kdWxlUGtnIG93bmVycyBjb3VsZCBqdW1wIGlu IHdpdGggYW4gb3Bpbmlvbi4gKEhvcGVmdWxseSBiZXNpZGVzIGp1c3QgcHVzaGluZyB0aGUgcHJv YmxlbSBhd2F5IHZpYSBBUFJJT1JJLikNCj4NCj4gSmlld2VuLCBhbnkgY29tbWVudHMgPw0KPg0K Pj4gLUpvcmRhbg0KPj4NCj4+PiAyKSBvdmVycmlkZSBEeGVHY2RDb3JlUGxhdGZvcm1Ib29rTGli IGluc2lkZSB0aGUgT3ZtZiB0byBjbGVhciB0aGUgQy1iaXQgd2hlbg0KPj4+ICBTRVYgaXMgZGV0 ZWN0ZWQuDQo+Pj4NCj4+PiBodHRwczovL2dpdGh1Yi5jb20vY29kb21hbmlhL2VkazIvY29tbWl0 LzkxNGNlOTA0Y2ExYjc2NDdjOTY2NTYyNTk2YmE1DQo+Pj4gM2M5NTk0OWY2NTkNCj4+Pg0KPj4+ IEkndmUgdGVzdGVkIHRoZSBhcHByb2FjaCBhbmQgaXQgc2VlbXMgdG8gd29yay4gSXMgdGhpcyBz b21ldGhpbmcNCj4+PiBhbGlnbmVkIHdpdGggeW91ciB0aGlua2luZz8NCj4+Pg0KPj4+DQo+Pj4+ IFRoYW5rcw0KPj4+PiBMYXN6bG8NCj4+Pj4NCj4+Pj4+IC1Kb3JkYW4NCj4+Pj4+DQo+Pj4+Pj4g SW4gc2Vjb25kIHBhdGNoDQo+Pj4+Pj4gWzJdLCBMZW8gdHJpZWQgdG8gaW50cm9kdWNlIGEgbmV3 IG5vdGlmeSBwcm90b2NvbCB0byBnZXQgTU1JTw0KPj4+Pj4+IGFkZC9yZW1vdmUgZXZlbnRzLiBE dXJpbmcgZGlzY3Vzc2lvbiBKaWV3ZW4gc3VnZ2VzdGVkIHRvIGxvb2sgaW50bw0KPj4+Pj4+IGFk ZGluZyBhIG5ldyBwbGF0Zm9ybSBkcml2ZXIgaW50byBBUFJJT1JJIHRvIGF2b2lkIHRoZSBuZWVk IGZvcg0KPj4+Pj4+IGFueSBtb2RpZmljYXRpb25zIGluc2lkZSB0aGUgR2NkY29yZSAtIHRoaXMg c2VlbXMgd29ya2FibGUNCj4+Pj4+PiBzb2x1dGlvbiB3aGljaCBkaWQgbm90IHJlcXVpcmUgYWRk aW5nIGFueSBDUFUgc3BlY2lmaWMgY29kZSBpbnNpZGUgdGhlIEdjZC4NCj4+Pj4+Pg0KPj4+Pj4+ IFsxXQ0KPj4+Pj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL3BpcGVybWFpbC9lZGsyLWRldmVsLzIw MTctTWFyY2gvMDA4OTc0Lmh0bWwNCj4+Pj4+PiBbMl0NCj4+Pj4+PiBodHRwczovL2xpc3RzLjAx Lm9yZy9waXBlcm1haWwvZWRrMi1kZXZlbC8yMDE3LUFwcmlsLzAwOTg1Mi5odG1sDQo+Pj4+Pj4N Cj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+ IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+Pj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFp bHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9y ZyUzY21haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4+DQo+Pj4gaHR0cHM6Ly9saXN0cy4w MS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4N Cj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=