From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.6038.1597108372074564579 for ; Mon, 10 Aug 2020 18:12:52 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=w/MNh9R6; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: liming.gao@intel.com) IronPort-SDR: yAtPd+ZOKCZP8Xn12KnNAaQDYqKyEP1Wpa7EGtZZ77emQHNJS7EZB7X9GaK6pyO4HCjDJJ4ffc OgOtci9YIhkA== X-IronPort-AV: E=McAfee;i="6000,8403,9709"; a="154766777" X-IronPort-AV: E=Sophos;i="5.75,458,1589266800"; d="scan'208";a="154766777" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2020 18:12:51 -0700 IronPort-SDR: 6WiMqdUS4VtTNOFALrSr1IUfTqWPiYfKVxm71r3X0J3fneZRSFhq+V6/5jrfjUaBvfO/qqL8QK xtv/Ct1XrAeg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,458,1589266800"; d="scan'208";a="334410664" Received: from orsmsx603-2.jf.intel.com (HELO ORSMSX603.amr.corp.intel.com) ([10.22.229.83]) by orsmga007.jf.intel.com with ESMTP; 10 Aug 2020 18:12:51 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) 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; Mon, 10 Aug 2020 18:12:50 -0700 Received: from orsmsx102.amr.corp.intel.com (10.22.225.129) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 10 Aug 2020 18:12:50 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 10 Aug 2020 18:12:50 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 10 Aug 2020 18:12:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MKs4oeRvx9z/1etAKxMZqsExTMAHLcoUiMXCOhUd5ikUrEAvzVD0G14gFU9uEZPj5Kv8bZIsDxyQXmgSvhKgsePqQ29dFD6IXgMXwNrHRP76R4PLluQH5aqwK6IW1u76awNmLudvIVn1HiccRMRqkZ556EScfGGfRUdXljrjhMqc8v36oGv4ppi02s4yyzylCuY+aRxuhD9mbQ/gRkwDFtLDg1zgkrgkVpuwP9fqkSrcJp4pQSe2mNhg/PBr4NFMKBuY9HPHv+4nKGGmVc8bQ7263D0YM5kaksVqv1SxizBSneAY9rk+awAqLE5Qt3booZglzniqWmOYxTSlI8AvFA== 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=JNBHdn1nUC22k7jCx4ULsCj9PNYdMiHapW95I5GayJE=; b=RWtFrOPXzQB1U5euRF9JYg/iYAKwU47sBPh5fYKUcofVgiFBuFpSC1B+a5kKyycNZueiDRDYEZtR64httM+xAaqjqkUhqL3sakWLihlZCtJx/YQ42TUjJ7z9abLUNPUiRturWFL+dbaeHUMfNq5NKGFtzMuhY5Z7LxGgbbxW3EIh0A7q0YgZpzceGNwHjFV4bKfCfdGEo3GjVOo+x5+1MzMF9215J9Q5jbz3wdxDFBaIG70W1y4gXc3hB6zMyits43cpMbiZ+51QzyVqPyICWKdNEqSjV9+cNa6wymqYzOrEBcKP+QFs/3XUqW2Fae2PrB/XyZwMR92g25EI/arQpA== 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=JNBHdn1nUC22k7jCx4ULsCj9PNYdMiHapW95I5GayJE=; b=w/MNh9R6g/8hc4DlbD3kPvlwyLSM4Rmk9P0vgi0vtFQ3FCdGSodPFziyclev/L9A0UtUDuFVwySZYpf3419ShF5bccDMgwj5dMbF8fW7rADZSbdnZuJ3h6JFynmDuBSxxmXx06hFYfFiW4SEY47dVw9SguMf3NmOj/naLDXvKpc= Received: from CY4PR11MB1526.namprd11.prod.outlook.com (2603:10b6:910:7::10) by CY4PR11MB1832.namprd11.prod.outlook.com (2603:10b6:903:127::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.15; Tue, 11 Aug 2020 01:12:48 +0000 Received: from CY4PR11MB1526.namprd11.prod.outlook.com ([fe80::f8c4:711:84e3:4c97]) by CY4PR11MB1526.namprd11.prod.outlook.com ([fe80::f8c4:711:84e3:4c97%4]) with mapi id 15.20.3261.024; Tue, 11 Aug 2020 01:12:48 +0000 From: "Liming Gao" To: Laszlo Ersek , "devel@edk2.groups.io" , "thomas.lendacky@amd.com" CC: Brijesh Singh , Ard Biesheuvel , "Dong, Eric" , "Justen, Jordan L" , "Kinney, Michael D" , "Ni, Ray" , Andrew Fish , Anthony Perard , "You, Benjamin" , "Bi, Dandan" , "Dong, Guo" , "Wu, Hao A" , "Wang, Jian J" , Julien Grall , Leif Lindholm , "Ma, Maurice" Subject: Re: [edk2-devel] [PATCH v14 00/46] SEV-ES guest support Thread-Topic: [edk2-devel] [PATCH v14 00/46] SEV-ES guest support Thread-Index: AQHWbPKJvxvZb90OYUmPwELe9qUR86kxwRMAgABIhPA= Date: Tue, 11 Aug 2020 01:12:48 +0000 Message-ID: References: <4fa19934-008b-f8e5-6db8-0c39fe9875de@redhat.com> In-Reply-To: <4fa19934-008b-f8e5-6db8-0c39fe9875de@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d1d9941b-1ff6-4f95-2d4b-08d83d93a948 x-ms-traffictypediagnostic: CY4PR11MB1832: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1284; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cXw+RXrD4J6j2dX1jkvyZkS3QrKPZmg/wAhOlRGxNebHbcbaY5kYl0JMkPjYC21TMFRSAFVvEwYvbZzm2DEACqze0xeCG9g/XwKsNfsyAvlquOqYm/5EGxnrM5WnJazh7Ug52rFLllbaG3ldEU60muva7UOv0Www3T2AZg6unrf9GkilcY03u9DKWbGuvTgg1zSXgtrBmdM7tjs/u/AEL9RlrHDme0av1M3B9Chunj4lAHNdNvTZTq63bweamepKNwlUDBSJrVnVuAE0Teg5zsoGq+Sivuj/y6C2tLsoQp3Y0hENIiyFnKzn5nnk+X1m8iXkdDyKhOeKZByTNZ++C0iVYKJh+Nir4DM5a0o+uWY5WibFQ+seX0pZCEQkmsi+3ADXfCOiZJkZdbSD1S0tng== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1526.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(396003)(136003)(376002)(39860400002)(346002)(366004)(186003)(8936002)(478600001)(53546011)(19627235002)(55016002)(6506007)(7696005)(33656002)(5660300002)(66476007)(966005)(64756008)(66556008)(66446008)(52536014)(76116006)(66946007)(86362001)(83380400001)(26005)(30864003)(316002)(110136005)(54906003)(2906002)(9686003)(4326008)(107886003)(8676002)(71200400001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: uMacNjdKNXHVXZp63L42EBmI/iWjYugF69NXNNPa1EMJ11HWw91ylJ3fSUVdxAX0MP9s1I9h8CIyQsP2EnJufCcz2KYavbMXOXUfEoU04EZjtgIv5+99Kbg9mj8b09ECO3hA8BZCXaFCWpXeff2hmrpw0Po5pGPvV4BdrFCWpRKQQvhVHY0v2fTtkUJ/AtgwhG88I5eVv1Z7v8pE40Fb3n9wpFtTLmkV20EKcCLAwwuEY4VKwSVL0i5qYLfBqqTSnIXp1O8uDB1ThULQUBYeWlvlJfedwFZyffuf+IEFR0p8L+SqELsKFLVrhETpK9Ox8/LYL56dmkKz5fvgL7Uy3bU03hacLYk6qykBASP1hpCIijURMDjrZONWq1cM75yy25h85me1AF4M/yOJRkWINmZfGndUDjdUjmRIy55y4zrOcUivX/dgLz+frS9htG6yCOinKJwHs5pqBoVBo+o2dbwxV9ZBtqjr8HGq1MrPLqhUXXB/fhzzdFROzqLmxN+ZR1OP2ltaIJw5yjLR3L7BCRlyscfmwpMVaJlj3oZvlLmXpR1HjE1/5vyRjS3JZfF5eRbIzWNkBe6+KXj9hNKunBSP+wrTz9asAc043RNt2IkEnv3sLqdt9Hwt9Jh11zpYeYnEDcXY6Eh0IB3kIrNNkQ== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1526.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1d9941b-1ff6-4f95-2d4b-08d83d93a948 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2020 01:12:48.1382 (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: HmZPoYIiWxlRWXhctTmU8aucJoHcwSOhFlBeFuuT9SUgV8eG7f7ucZQb7av0gUahsAkazk7lsSuQ9KuqYk0BTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1832 Return-Path: liming.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VG9tOg0KICBJIHJ1biBFQ0MgcGx1Z2luIChodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwv bWVzc2FnZS82MzI3MSkgaW4gbXkgbG9jYWwgbWFjaGluZS4gSXQgcmVwb3J0cyBiZWxvdyBpc3N1 ZXMuIENhbiB5b3UgaGVscCB1cGRhdGUgdGhlIHBhdGNoZXMgdG8gZml4IHRoZW0/DQogIEkgdXNl IHRoZSBzdGFuZGFsb25lIEVjY0NoZWNrIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3NoZW5nbGVp MTAvZWRrMi90cmVlL2VjY19zY3JpcHQuIA0KDQpFRkkgY29kaW5nIHN0eWxlIGVycm9yDQogICpF cnJvciBjb2RlOiA4MDA1DQogICpWYXJpYWJsZSBuYW1lIGRvZXMgbm90IGZvbGxvdyB0aGUgcnVs ZXM6IDEuIEZpcnN0IGNoYXJhY3RlciBzaG91bGQgYmUgdXBwZXIgY2FzZSAyLiBNdXN0IGNvbnRh aW4gbG93ZXIgY2FzZSBjaGFyYWN0ZXJzIDMuIE5vIHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMgNC4g R2xvYmFsIHZhcmlhYmxlIG5hbWUgbXVzdCBzdGFydCB3aXRoIGEgJ2cnDQogICpmaWxlOiBEOlxB bGxQa2dcZWRrMlxPdm1mUGtnXFNlY1xTZWNNYWluLmMNCiAgKkxpbmUgbnVtYmVyOiA4NjcNCiAg KlRoZSB2YXJpYWJsZSBuYW1lIFsqRHNdIGRvZXMgbm90IGZvbGxvdyB0aGUgcnVsZXMNCkVGSSBj b2Rpbmcgc3R5bGUgZXJyb3INCiAgKkVycm9yIGNvZGU6IDkwMDMNCiAgKlRoZSBmaXJzdCBsaW5l IG9mIHRleHQgaW4gYSBjb21tZW50IGJsb2NrIHNob3VsZCBiZSBhIGJyaWVmIGRlc2NyaXB0aW9u IG9mIHRoZSBlbGVtZW50IGJlaW5nIGRvY3VtZW50ZWQgYW5kIHRoZSBicmllZiBkZXNjcmlwdGlv biBtdXN0IGVuZCB3aXRoIGEgcGVyaW9kLg0KICAqZmlsZTogRDpcQWxsUGtnXGVkazJcT3ZtZlBr Z1xMaWJyYXJ5XEJhc2VNZW1FbmNyeXB0U2V2TGliXE1lbUVuY3J5cHRTZXZMaWJJbnRlcm5hbC5j DQogICpMaW5lIG51bWJlcjogNzINCiAgKkNvbW1lbnQgZGVzY3JpcHRpb24gc2hvdWxkIGVuZCB3 aXRoIHBlcmlvZCAnLicgDQpFRkkgY29kaW5nIHN0eWxlIGVycm9yDQogICpFcnJvciBjb2RlOiAz MDAyDQogICpOb24tQm9vbGVhbiBjb21wYXJpc29ucyBzaG91bGQgdXNlIGEgY29tcGFyZSBvcGVy YXRvciAoPT0sICE9LCA+LCA8ID49LCA8PSkNCiAgKmZpbGU6IEQ6XEFsbFBrZ1xlZGsyXE92bWZQ a2dcTGlicmFyeVxWbWdFeGl0TGliXFZtZ0V4aXRWY0hhbmRsZXIuYw0KICAqTGluZSBudW1iZXI6 IDEyODANCiAgKlByZWRpY2F0ZSBFeHByZXNzaW9uOiBPcENvdW50IA0KRUZJIGNvZGluZyBzdHls ZSBlcnJvcg0KICAqRXJyb3IgY29kZTogNTAwNw0KICAqVGhlcmUgc2hvdWxkIGJlIG5vIGluaXRp YWxpemF0aW9uIG9mIGEgdmFyaWFibGUgYXMgcGFydCBvZiBpdHMgZGVjbGFyYXRpb24NCiAgKmZp bGU6IEQ6XEFsbFBrZ1xlZGsyXE92bWZQa2dcTGlicmFyeVxWbWdFeGl0TGliXFZtZ0V4aXRWY0hh bmRsZXIuYw0KICAqTGluZSBudW1iZXI6IDg0NQ0KICAqVmFyaWFibGUgTmFtZTogRGF0YSANCkVG SSBjb2Rpbmcgc3R5bGUgZXJyb3INCiAgKkVycm9yIGNvZGU6IDUwMDcNCiAgKlRoZXJlIHNob3Vs ZCBiZSBubyBpbml0aWFsaXphdGlvbiBvZiBhIHZhcmlhYmxlIGFzIHBhcnQgb2YgaXRzIGRlY2xh cmF0aW9uDQogICpmaWxlOiBEOlxBbGxQa2dcZWRrMlxPdm1mUGtnXExpYnJhcnlcVm1nRXhpdExp YlxWbWdFeGl0VmNIYW5kbGVyLmMNCiAgKkxpbmUgbnVtYmVyOiA4NDkNCiAgKlZhcmlhYmxlIE5h bWU6IERhdGENCg0KVGhhbmtzDQpMaW1pbmcNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpG cm9tOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPiANClNlbnQ6IDIwMjDlubQ45pyI MTHml6UgMzozNg0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyB0aG9tYXMubGVuZGFja3lAYW1k LmNvbQ0KQ2M6IEJyaWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT47IEFyZCBCaWVz aGV1dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGlu dGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgQW5k cmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT47IEFudGhvbnkgUGVyYXJkIDxhbnRob255LnBlcmFy ZEBjaXRyaXguY29tPjsgWW91LCBCZW5qYW1pbiA8YmVuamFtaW4ueW91QGludGVsLmNvbT47IEJp LCBEYW5kYW4gPGRhbmRhbi5iaUBpbnRlbC5jb20+OyBEb25nLCBHdW8gPGd1by5kb25nQGludGVs LmNvbT47IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFu Lmoud2FuZ0BpbnRlbC5jb20+OyBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgTGVpZiBM aW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+OyBNYSwgTWF1cmljZSA8bWF1cmljZS5tYUBpbnRl bC5jb20+DQpTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MTQgMDAvNDZdIFNFVi1F UyBndWVzdCBzdXBwb3J0DQoNCk9uIDA4LzA3LzIwIDIxOjM4LCBMZW5kYWNreSwgVGhvbWFzIHdy b3RlOg0KPiBGcm9tOiBUb20gTGVuZGFja3kgPHRob21hcy5sZW5kYWNreUBhbWQuY29tPg0KPiAN Cj4gVGhpcyBwYXRjaCBzZXJpZXMgcHJvdmlkZXMgc3VwcG9ydCBmb3IgcnVubmluZyBFREsyL09W TUYgdW5kZXIgU0VWLUVTLg0KPiANCj4gU2VjdXJlIEVuY3J5cHRlZCBWaXJ0dWFsaXphdGlvbiAt IEVuY3J5cHRlZCBTdGF0ZSAoU0VWLUVTKSBleHBhbmRzIG9uIA0KPiB0aGUgU0VWIHN1cHBvcnQg dG8gcHJvdGVjdCB0aGUgZ3Vlc3QgcmVnaXN0ZXIgc3RhdGUgZnJvbSB0aGUgDQo+IGh5cGVydmlz b3IuIFNlZQ0KPiAiQU1ENjQgQXJjaGl0ZWN0dXJlIFByb2dyYW1tZXIncyBNYW51YWwgVm9sdW1l IDI6IFN5c3RlbSBQcm9ncmFtbWluZyIsIA0KPiBzZWN0aW9uICIxNS4zNSBFbmNyeXB0ZWQgU3Rh dGUgKFNFVi1FUykiIFsxXS4NCj4gDQo+IEluIG9yZGVyIHRvIGFsbG93IGEgaHlwZXJ2aXNvciB0 byBwZXJmb3JtIGZ1bmN0aW9ucyBvbiBiZWhhbGYgb2YgYSANCj4gZ3Vlc3QsIHRoZXJlIGlzIGFy Y2hpdGVjdHVyYWwgc3VwcG9ydCBmb3Igbm90aWZ5aW5nIGEgZ3Vlc3QncyANCj4gb3BlcmF0aW5n IHN5c3RlbSB3aGVuIGNlcnRhaW4gdHlwZXMgb2YgVk1FWElUcyBhcmUgYWJvdXQgdG8gb2NjdXIu IA0KPiBUaGlzIGFsbG93cyB0aGUgZ3Vlc3QgdG8gc2VsZWN0aXZlbHkgc2hhcmUgaW5mb3JtYXRp b24gd2l0aCB0aGUgDQo+IGh5cGVydmlzb3IgdG8gc2F0aXNmeSB0aGUgcmVxdWVzdGVkIGZ1bmN0 aW9uLiBUaGUgbm90aWZpY2F0aW9uIGlzIA0KPiBwZXJmb3JtZWQgdXNpbmcgYSBuZXcgZXhjZXB0 aW9uLCB0aGUgVk1NIENvbW11bmljYXRpb24gZXhjZXB0aW9uIA0KPiAoI1ZDKS4gVGhlIGluZm9y bWF0aW9uIGlzIHNoYXJlZCB0aHJvdWdoIHRoZSBHdWVzdC1IeXBlcnZpc29yIENvbW11bmljYXRp b24gQmxvY2sgKEdIQ0IpIHVzaW5nIHRoZSBWTUdFWElUIGluc3RydWN0aW9uLg0KPiBUaGUgR0hD QiBmb3JtYXQgYW5kIHRoZSBwcm90b2NvbCBmb3IgdXNpbmcgaXQgaXMgZG9jdW1lbnRlZCBpbiAi U0VWLUVTIA0KPiBHdWVzdC1IeXBlcnZpc29yIENvbW11bmljYXRpb24gQmxvY2sgU3RhbmRhcmRp emF0aW9uIiBbMl0uDQo+IA0KPiBUaGUgbWFpbiBhcmVhcyBvZiB0aGUgRURLMiBjb2RlIHRoYXQg YXJlIHVwZGF0ZWQgdG8gc3VwcG9ydCBTRVYtRVMgYXJlIA0KPiBhcm91bmQgdGhlIGV4Y2VwdGlv biBoYW5kbGluZyBzdXBwb3J0IGFuZCB0aGUgQVAgYm9vdCBzdXBwb3J0Lg0KPiANCj4gRXhjZXB0 aW9uIHN1cHBvcnQgaXMgcmVxdWlyZWQgc3RhcnRpbmcgaW4gU2VjLCBjb250aW51aW5nIHRocm91 Z2ggUGVpIA0KPiBhbmQgaW50byBEeGUgaW4gb3JkZXIgdG8gaGFuZGxlICNWQyBleGNlcHRpb25z IHRoYXQgYXJlIGdlbmVyYXRlZC4gIA0KPiBFYWNoIEFQIHJlcXVpcmVzIGl0J3Mgb3duIEdIQ0Ig cGFnZSBhcyB3ZWxsIGFzIGEgcGFnZSB0byBob2xkIHZhbHVlcyANCj4gc3BlY2lmaWMgdG8gdGhh dCBBUC4NCj4gDQo+IEFQIGJvb3RpbmcgcG9zZXMgc29tZSBpbnRlcmVzdGluZyBjaGFsbGVuZ2Vz LiBUaGUgSU5JVC1TSVBJLVNJUEkgDQo+IHNlcXVlbmNlIGlzIHR5cGljYWxseSB1c2VkIHRvIGJv b3QgdGhlIEFQcy4gSG93ZXZlciwgdGhlIGh5cGVydmlzb3IgaXMgDQo+IG5vdCBhbGxvd2VkIHRv IHVwZGF0ZSB0aGUgZ3Vlc3QgcmVnaXN0ZXJzLiBUaGUgR0hDQiBkb2N1bWVudCBbMl0gdGFsa3Mg DQo+IGFib3V0IGhvdyBTTVAgYm9vdGluZyB1bmRlciBTRVYtRVMgaXMgcGVyZm9ybWVkLg0KPiAN Cj4gU2luY2UgdGhlIEdIQ0IgcGFnZSBtdXN0IGJlIGEgc2hhcmVkICh1bmVuY3J5cHRlZCkgcGFn ZSwgdGhlIHByb2Nlc3NvciANCj4gbXVzdCBiZSBydW5uaW5nIGluIGxvbmcgbW9kZSBpbiBvcmRl ciBmb3IgdGhlIGd1ZXN0IGFuZCBoeXBlcnZpc29yIHRvIA0KPiBjb21tdW5pY2F0ZSB3aXRoIGVh Y2ggb3RoZXIuIEFzIGEgcmVzdWx0LCBTRVYtRVMgaXMgb25seSBzdXBwb3J0ZWQgDQo+IHVuZGVy IHRoZSBYNjQgYXJjaGl0ZWN0dXJlLg0KPiANCj4gVGhpcyBzZXJpZXMgYWRkcyBhIG5ldyBsaWJy YXJ5IHJlcXVpcmVtZW50IGZvciB0aGUgVm1nRXhpdExpYiBsaWJyYXJ5IA0KPiBhZ2FpbnN0IHRo ZSBVZWZpQ3B1UGtnIENwdUV4Y2VwdGlvbkhhbmRsZXJMaWIgbGlicmFyeSBhbmQgdGhlIA0KPiBV ZWZpQ3B1UGtnIE1wSW5pdExpYiBsaWJyYXJ5LiBUaGUgZWRrMi1wbGF0Zm9ybXMgcmVwbyByZXF1 aXJlcyANCj4gdXBkYXRlcy9wYXRjaGVzIHRvIGFkZCB0aGUgbmV3IGxpYnJhcnkgcmVxdWlyZW1l bnQuIFRvIGFjY29tb2RhdGUgDQo+IHRoYXQsIHRoaXMgc2VyaWVzIGNvdWxkIGJlIHNwbGl0IGJl dHdlZW46DQo+IA0KPiBwYXRjaCBudW1iZXIgMTA6DQo+ICAgVWVmaVBheWxvYWRQa2c6IFByZXBh cmUgVWVmaVBheWxvYWRQa2cgdG8gdXNlIHRoZSBWbWdFeGl0TGliIGxpYnJhcnkNCj4gDQo+IGFu ZCBwYXRjaCBudW1iZXIgMTE6DQo+ICAgVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5kbGVyOiBB ZGQgYmFzZSBzdXBwb3J0IGZvciB0aGUgI1ZDIA0KPiBleGNlcHRpb24NCj4gDQo+IFRoZSB1cGRh dGVzIHRvIGVkazItcGxhdGZvcm1zIGNhbiBiZSBhcHBsaWVkIGF0IHRoZSBzcGxpdC4NCj4gDQo+ IFsxXSBodHRwczovL3d3dy5hbWQuY29tL3N5c3RlbS9maWxlcy9UZWNoRG9jcy8yNDU5My5wZGYN Cj4gWzJdIGh0dHBzOi8vZGV2ZWxvcGVyLmFtZC5jb20vd3AtY29udGVudC9yZXNvdXJjZXMvNTY0 MjEucGRmDQo+IA0KPiAtLS0NCj4gDQo+IFRoZXNlIHBhdGNoZXMgYXJlIGJhc2VkIG9uIGNvbW1p dDoNCj4gOTU2NWFiNjdjMjA5ICgiU2hlbGxQa2c6IHNtYmlvc3ZpZXcgLSBDaGFuZ2Ugc29tZSB0 eXBlIDE3IGZpZWxkIHZhbHVlcyANCj4gZm9ybWF0IikNCj4gDQo+IEEgdmVyc2lvbiBvZiB0aGUg dHJlZSBjYW4gYmUgZm91bmQgYXQ6DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9BTURFU0Uvb3ZtZi90 cmVlL3Nldi1lcy12MjINCj4gDQo+IENjOiBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPg0K PiBDYzogQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+DQo+IENjOiBB cmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT4NCj4gQ2M6IEJlbmphbWluIFlv dSA8YmVuamFtaW4ueW91QGludGVsLmNvbT4NCj4gQ2M6IERhbmRhbiBCaSA8ZGFuZGFuLmJpQGlu dGVsLmNvbT4NCj4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gQ2M6IEd1 byBEb25nIDxndW8uZG9uZ0BpbnRlbC5jb20+DQo+IENjOiBIYW8gQSBXdSA8aGFvLmEud3VAaW50 ZWwuY29tPg0KPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gQ2M6 IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+DQo+IENjOiBKdWxpZW4g R3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0 LmNvbT4NCj4gQ2M6IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tPg0KPiBDYzogTGlt aW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+IENjOiBNYXVyaWNlIE1hIDxtYXVyaWNl Lm1hQGludGVsLmNvbT4NCj4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPg0KPiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KPiANCj4gQ2hhbmdl cyBzaW5jZSB2MTM6DQo+IC0gRml4dXAgdGhlIEFzbVJlbG9jYXRlQXBMb29wKCkgY2FsbCBzaXRl IHNvIElBMzIgc3VjY2Vzc2Z1bGx5IGJvb3RzIEFQcy4NCj4gICBEbyB0aGlzIGJ5IGFwcGVuZGlu ZyB0aGUgdGhyZWUgbmV3IHBhcmFtZXRlcnMgd2l0aG91dCBhbHRlcmluZyB0aGUNCj4gICBvcmln aW5hbCBwYXJhbWV0ZXIgcGFzc2luZyBvcmRlci4NCj4gLSBNaW5vciB1cGRhdGVzIHRvIGRlc2Ny aXB0aW9uIHRleHQgYW5kIGhlbHAgdGV4dCB0byBleHBhbmQgdGhlIEdIQ0INCj4gICBhY3Jvbnlt Lg0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2MTI6DQo+IC0gQ2hhbmdlIElBMzIgVk1HRVhJVCAubmFz bSBmaWxlIHRvIGlzc3VlIGFuIGludCAzLiBEZXBlbmRpbmcgb24gdGhlDQo+ICAgdmVyc2lvbiBv ZiBOQVNNLCB0aGUgIkJJVFMgNjQiIHRyaWNrIHRvIGdldCBOQVNNIHRvIHJlY29nbml6ZSB0aGUN Cj4gICBWTU1DQUxMIGluc3RydWN0aW9uIChWTUdFWElUIGlzIGEgUkVQIFZNTUNBTEwpIGNhdXNl ZCBhbiBlcnJvci4gU2luY2UNCj4gICBTRVYtRVMgaXMgWDY0IG9ubHksIFZNR0VYSVQgc2hvdWxk IG5ldmVyIGJlIGNhbGxlZCBpbiBJQTMyLg0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2MTE6DQo+IC0g TWFrZSB0aGUgWEdFVEJWIGFuZCBWTUdFWElUIC5uYXNtIGZpbGVzIGJ1aWxkYWJsZSBmb3IgYWxs IGVudmlyb25tZW50cw0KPiAgIGFuZCByZW1vdmUgdGhlIHVwZGF0ZXMgdGhhdCBhZGQgdGhlc2Ug aW5zdHJ1Y3Rpb25zIHRvIEdjY0lubGluZS5jDQo+IA0KPiBDaGFuZ2VzIHNpbmNlIHYxMDoNCj4g LSBGaXggY29uZmxpY3RzIGFyb3VuZCBHY2NJbmxpbmUuYyBmaWxlIGFmdGVyIG1vdmluZyB0byBs YXRlc3QgY29tbWl0DQo+IC0gRml4IGNvbmZsaWN0cyB3aXRoIE9WTUYgUENEIHZhbHVlcyBhZnRl ciBtb3ZpbmcgdG8gbGF0ZXN0IGNvbW1pdA0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2OToNCj4gLSBG aXhlZCBiaXQgZmllbGQgZGVjbGFyYXRpb25zIGluIHRoZSBHSENCIHN0cnVjdHVyZSB0byB1c2Ug VUlOVDMyDQo+ICAgYW5kIG5vdCBVSU5UNjQuDQo+IC0gRml4ZWQgYSB3YXJuaW5nIHByb2R1Y2Vk IGJ5IFZTMjAxOSBpbiB0aGUgaW5zdHJ1Y3Rpb24gcGFyc2luZyBjb2RlDQo+ICAgYnkgZXhwbGlj aXRpbmcgY2FzdGluZyBhIGJpdCBzaGlmdCB0byBhbiBJTlQ2NC4NCj4gLSBTb3J0ZWQgc2VjdGlv biBlbnRyaWVzIGluIHRoZSBPVk1GIFZtZ0V4aXRMaWIgSU5GIGZpbGUuDQo+IC0gTW92ZWQgdGhl IG5ldyBNYWludGFpbmVycy50eHQgZW50cnkgc28gZW50cmllcyByZW1haW4gc29ydGVkLg0KPiAt IERvY3VtZW50YXRpb24gc3R5bGUgZml4ZXMgZm9yIHJldHVybiB2YWx1ZXMuDQo+IC0gTWlzY2Vs bGFuZW91cyBjb2RlIHN0eWxlIGZpeGVzLg0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2ODoNCj4gLSBN b3ZlIElPSU8gZXhpdCBpbmZvIGRlZmluaXRpb25zIGludG8gR2hjYi5oIGZpbGUNCj4gICAtIEFk ZCBhIG1hY3JvIGZvciBjYWxjdWxhdGluZyBJTyBpbnN0cnVjdGlvbiBieXRlcyAoSU9JT19EQVRB X0JZVEVTKQ0KPiAtIEV4Y2VwdGlvbiBoYW5kbGVyIHN1cHBvcnQgZm9yIGRlYnVnIHJlZ2lzdGVy cw0KPiAgIC0gTW92ZWQgdGhlIERSeCByZWdpc3RlciBzYXZpbmcgY2hhbmdlcyBpbnRvIHRoZSBV ZWZpQ3B1UGtnIHBhdGNoIGZvcg0KPiAgICAgYmFzZSAjVkMgc3VwcG9ydCBpbiBDcHVFeGNlcHRp b25IYW5kbGVyTGliLg0KPiAtIE92bWZQa2cgVm1nRXhpdExpYg0KPiAgIC0gUmVtb3ZlIHRoZSAu dW5pIGZpbGUNCj4gICAtIFVwZGF0ZSAuaW5mIGZpbGU6DQo+ICAgICAtIE5ldyBmaWxlIGxvY2F0 aW9uIGZvciBWbWdFeGl0VmNIYW5kbGVyLmMNCj4gICAgIC0gQWRkIGFkZGl0aW9uYWwgUGFja2Fn ZXMgYW5kIExpYnJhcnlDbGFzc2VzDQo+IC0gSW50cm9kdWNlIGEgaGVhZGVyIGZpbGUgdG8gaG9s ZCB0aGUgI1ZDIGluc3RydWN0aW9uIHBhcnNpbmcgcmVsYXRlZA0KPiAgIGRlZmluaXRpb25zDQo+ ICAgLSBJbmNsdWRlIGFkZGl0aW9uYWwgI2RlZmluZXMgZm9yIGluc3RydWN0aW9uIGRlY29kaW5n IHRvIHJlcGxhY2UNCj4gICAgIGhhcmQgY29kZWQgdmFsdWVzIGZvciB0aGluZ3MgbGlrZSBpbnN0 cnVjdGlvbiBwcmVmaXhlcyBhbmQgZXNjYXBlcy4NCj4gLSBSZXBsYWNlIGhhcmRjb2RlZCBDUFVJ RCB2YWx1ZXMgd2l0aCB2YWx1ZXMgZnJvbSBleGlzdGluZyBoZWFkZXIgZmlsZXMNCj4gICBhbmQg dXNlIGV4aXN0aW5nIENSNCBkZWZpbml0aW9uIGZvciBhY2Nlc3NpbmcgQ1I0IGRhdGEuDQo+IC0g Q2hhbmdlIHRoZSB0eXBlIHVzZWQgZm9yIG9idGFpbmluZyBkYXRhIGFkZHJlc3NlcyBpbiB0aGUg aW5zdHJ1Y3Rpb24NCj4gICBwYXJzaW5nDQo+ICAgLSBTd2l0Y2ggZnJvbSBJTlROIHRvIFVJTlQ2 NCBhbmQgdXNlIGNvbXBpbGVyIGNvbnZlcnNpb25zIGFuZCBjYXN0aW5nDQo+ICAgICB0byBwZXJm b3JtIHRoZSBjb3JyZWN0IGFkZHJlc3MgY2FsY3VsYXRpb24NCj4gLSBSZXNldFZlY3RvciBjb2Rl Og0KPiAgIC0gUmV2ZXJ0IHNvbWUgaW5hZHZlcnRhbnQgY2hhbmdlcyBpbnRyb2R1Y2VkIGluIHY3 IGZvciByZXNlcnZpbmcgdGhlDQo+ICAgICBTRVYtRVMgd29yayBhcmVhIG1lbW9yeSBhbmQgZm9y IGNoZWNraW5nIHRoZSBzdGF0dXMgb2YgU0VWLUVTLg0KPiAtIEFQIEJvb3RpbmcNCj4gICAtIFBy b3ZpZGUgc3VwcG9ydCBmb3Igbm9uLWJyb2FkY2FzdCBJTklULVNJUEktU0lQSSBBUCBib290ICht aW5pbWl6ZQ0KPiAgICAgY29kZSBkdXBsaWNhdGlvbiBieSBjcmVhdGluZyBhIGZ1bmN0aW9uIHRv IHNldCB0aGUgQVAganVtcCB0YWJsZQ0KPiAgICAgdmVjdG9yIGFkZHJlc3MpLg0KPiAtIEZpeCBm aWxlL2RpcmVjdG9yeSBlbnRyeSBpbiBtYWludGFpbmVyIGNoYW5nZXMuDQo+IC0gVmFyaW91cyBj b2Rpbmcgc3R5bGUgZml4ZXMNCj4gICAtIENvbW1lbnRpbmcsIGlmIHN0YXRlbWVudHMsIGV0Yy4N Cj4gLSBWYXJpb3VzIGRvY3VtZW50YXRpb24gc3R5bGUgZml4ZXMNCj4gDQo+IENoYW5nZXMgc2lu Y2Ugdjc6DQo+IC0gUmVzZXJ2ZSB0aGUgU0VWLUVTIHdvcmthcmVhIHdoZW4gUzMgaXMgZW5hYmxl ZA0KPiAtIEZpeCB3YXJuaW5ncyBpc3N1ZWQgYnkgdGhlIFZpc3VhbCBTdHVkaW8gY29tcGlsZXIN Cj4gLSBDcmVhdGUgYSBOVUxMIFZtZ0V4aXRMaWIgaW5zdGFuY2UgdGhhdCBpcyB1c2VkIGZvciBW TUdFWElUDQo+ICAgcmVsYXRlZCBvcGVyYXRpb25zIGFzIHdlbGwgYXMgI1ZDIGhhbmRsaW5nLiBU aGVuIGNyZWF0ZSB0aGUgZnVsbA0KPiAgIFZtZ0V4aXRMaWIgc3VwcG9ydCBvbmx5IGluIE92bWZQ a2cgLSB3aGVyZSBpdCB3aWxsIGJlIHVzZWQuIFRoaXMNCj4gICByZW1vdmVzIGEgYnVuY2ggb2Yg aW1wbGVtZW50YXRpb24gY29kZSBmcm9tIHBsYXRmb3JtcyB0aGF0IHdpbGwNCj4gICBub3QgYmUg dXNpbmcgdGhlIGZ1bmN0aW9uYWxpdHkuDQo+IC0gUmVtb3ZlIHNpbmdsZSB1c2UgaW50ZXJmYWNl cyBmcm9tIHRoZSBWbWdFeGl0TGliIChWbWdNbWlvV3JpdGUNCj4gICBhbmQgVm1nU2V0QXBKdW1w VGFibGUpDQo+IA0KPiBDaGFuZ2VzIHNpbmNlIHY2Og0KPiAtIEFkZCBmdW5jdGlvbiBjb21tZW50 cyB0byBhbGwgZnVuY3Rpb25zLCBpbmNsdWRpbmcgbG9jYWwgZnVuY3Rpb25zDQo+IC0gQWRkIGZ1 bmN0aW9uIHBhcmFtZXRlciBkaXJlY3Rpb24gdG8gYWxsIGZ1bmN0aW9ucyAoaW4vb3V0KQ0KPiAt IEFkZCBzdXBwb3J0IGZvciBNTUlPIE1PVlpYL01PVlNYIGluc3RydWN0aW9ucw0KPiAtIEVuc3Vy ZSB0aGUgcGVyLUNQVSB2YXJpYWJsZSBwYWdlIHJlbWFpbnMgZW5jcnlwdGVkDQo+IC0gQ29kaW5n LXN0eWxlIGZpeGVzIGFzIGlkZW50aWZpZWQgYnkgRWNjDQo+IA0KPiBDaGFuZ2VzIHNpbmNlIHY1 Og0KPiAtIFJlbW92ZSBleHRyYW5lb3VzIFZtZ0V4aXRMaWIgdXNhZ2UNCj4gLSBNaXNjZWxsYW5l b3VzIGNoYW5nZXMgdG8gYWRkcmVzcyBmZWVkYmFjayAoY29kaW5nIHN0eWxlLCBldGMuKQ0KPiAN Cj4gQ2hhbmdlcyBzaW5jZSB2NDoNCj4gLSBNb3ZlIHRoZSBTRVYtRVMgcHJvdG9jb2wgbmVnb3Rp YXRpb24gb3V0IG9mIHRoZSBTRUMgZXhjZXB0aW9uIGhhbmRsZXINCj4gICBhbmQgaW50byB0aGUg U2VjTWFpbi5jIGZpbGUuIEFzIGEgcmVzdWx0Og0KPiAgIC0gTW92ZSB0aGUgU2VjR2hjYiByZWxh dGVkIFBDRHMgb3V0IG9mIFVlZmlDcHVQa2cgYW5kIGludG8gT3ZtZlBrZw0KPiAgIC0gQ29tYmlu ZSBTZWNBTURTZXZWY0hhbmRsZXIuYyBhbmQgUGVpRHhlQU1EU2V2VmNIYW5kbGVyLmMgaW50byBh DQo+ICAgICBzaW5nbGUgQU1EU2V2VmNIYW5kbGVyLmMNCj4gLSBDb25zb2xpZGF0ZSBWbWdFeGl0 TGliIHVzYWdlIGludG8gY29tbW9uIExpYnJhcnlDbGFzc2VzIHNlY3Rpb25zDQo+IC0gQWRkIGRv Y3VtZW50YXRpb24gY29tbWVudHMgdG8gdGhlIFZtZ0V4aXRMaWIgZnVuY3Rpb25zDQo+IA0KPiBD aGFuZ2VzIHNpbmNlIHYzOg0KPiAtIFJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIE1QIGxpYnJhcnkg ZmluYWxpemF0aW9uIHJvdXRpbmUuIFRoZSBBUA0KPiAgIGp1bXAgdGFibGUgYWRkcmVzcyB3aWxs IGJlIGhlbGQgYnkgdGhlIGh5cGVydmlzb3IgcmF0aGVyIHRoYW4NCj4gICBjb21tdW5pY2F0ZWQg dmlhIHRoZSBHSENCIE1TUi4gVGhpcyByZW1vdmVzIHNvbWUgZnJhZ2lsaXR5IGFyb3VuZA0KPiAg IHRoZSBVRUZJIHRvIE9TIHRyYW5zaXRpb24uDQo+IC0gUmVuYW1lIHRoZSBTRVYtRVMgUklQIHJl c2V0IGFyZWEgdG8gU0VWLUVTIHdvcmthcmVhIGFuZCB1c2UgaXQgdG8NCj4gICBjb21tdW5pY2F0 ZSB0aGUgU0VWLUVTIHN0YXR1cywgc28gdGhhdCBTRUMgQ1BVIGV4Y2VwdGlvbiBoYW5kbGluZyBp cw0KPiAgIG9ubHkgZXN0YWJsaXNoZWQgZm9yIGFuIFNFVi1FUyBndWVzdC4NCj4gLSBGaXggU01N IGJ1aWxkIGJyZWFrYWdlQWRkIGFyb3VuZCBRZW11Rmxhc2hQdHJXcml0ZSgpLg0KPiAtIEZpeCBT TU0gYnVpbGQgYnJlYWthZ2UgYnkgYWRkaW5nIFZDIGV4Y2VwdGlvbiBzdXBwb3J0IHRoZSBTTU0g Q1BVDQo+ICAgZXhjZXB0aW9uIGhhbmRsaW5nLg0KPiAtIEFkZCBtZW1vcnkgZmVuY2luZyBhcm91 bmQgdGhlIGludm9jYXRpb24gb2YgQXNtVm1nRXhpdCgpLg0KPiAtIENsYXJpZnkgY29tbWVudHMg YXJvdW5kIHRoZSBTRVYtRVMgQVAgcmVzZXQgUklQIHZhbHVlcyBhbmQgdXNhZ2UuDQo+IC0gTW92 ZSBzb21lIFBDRCBkZWZpbml0aW9ucyBmcm9tIE1kZU1vZHVsZVBrZyB0byBVZWZpQ3B1UGtnLg0K PiAtIFJlbW92ZSB0aGUgMTYtYml0IGNvZGUgc2VsZWN0b3IgZGVmaW5pdGlvbiBmcm9tIE1kZU1v ZHVsZVBrZw0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2MjoNCj4gLSBBZGRlZCBhIHdheSB0byBsb2Nh dGUgdGhlIFNFVi1FUyBmaXhlZCBBUCBSSVAgYWRkcmVzcyBmb3Igc3RhcnRpbmcNCj4gICBBUCdz IHRvIGF2b2lkIHVwZGF0aW5nIHRoZSBhY3R1YWwgZmxhc2ggaW1hZ2UgKGJ1aWxkIHRpbWUgbG9j YXRpb24NCj4gICB0aGF0IGlzIGlkZW50aWZpZWQgd2l0aCBhIEdVSUQgdmFsdWUpLg0KPiAtIENy ZWF0ZSBhIFZtZ0V4aXQgbGlicmFyeSB0byByZXBsYWNlIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25z Lg0KPiAtIE1vdmUgc29tZSBQQ0RzIHRvIHRoZSBhcHByb3ByaWF0ZSBwYWNrYWdlcw0KPiAtIEFk ZCBzdXBwb3J0IGZvciB3cml0aW5nIHRvIFFFTVUgZmxhc2ggdW5kZXIgU0VWLUVTDQo+IC0gQWRk IGFkZGl0aW9uYWwgTU1JTyBvcGNvZGUgc3VwcG9ydA0KPiAtIENsZWFuZWQgdXAgdGhlIEdIQ0Ig TVNSIENQVUlEIHByb3RvY29sIHN1cHBvcnQNCj4gDQo+IENoYW5nZXMgc2luY2UgdjE6DQo+IC0g UGF0Y2hlcyByZXdvcmtlZCB0byBiZSBtb3JlIHNwZWNpZmljIHRvIHRoZSBjb21wb25lbnQvYXJl YSBiZWluZyB1cGRhdGVkDQo+ICAgYW5kIG9yZGVyIG9mIGRlZmluaXRpb24vdXNhZ2UNCj4gLSBD cmVhdGVkIGEgbGlicmFyeSBmb3IgVk1HRVhJVC1yZWxhdGVkIGZ1bmN0aW9ucyB0byByZXBsYWNl IHVzZSBvZiBpbmxpbmUNCj4gICBmdW5jdGlvbnMNCj4gLSBBbGxvY2F0aW9uIG1ldGhvZCBmb3Ig R0RUIGNoYW5nZWQgZnJvbSBBbGxvY2F0ZVBvb2wgdG8gQWxsb2NhdGVQYWdlcw0KPiAtIEVhcmx5 IGNhY2hpbmcgb25seSBlbmFibGVkIGZvciBTRVYtRVMgZ3Vlc3RzDQo+IC0gRW5zdXJlIEFQIGxv b3AgbW9kZSBzZXQgdG8gaGFsdCBsb29wIG1vZGUgZm9yIFNFVi1FUyBndWVzdHMNCj4gLSBSZXNl cnZlZCBTRUMgR0hDQi1yZWxhdGVkIG1lbW9yeSBhcmVhcyB3aGVuIFMzIGlzIGVuYWJsZWQNCj4g DQo+IFRvbSBMZW5kYWNreSAoNDYpOg0KPiAgIE1kZU1vZHVsZVBrZzogQ3JlYXRlIFBDRHMgdG8g YmUgdXNlZCBpbiBzdXBwb3J0IG9mIFNFVi1FUw0KPiAgIFVlZmlDcHVQa2c6IENyZWF0ZSBQQ0Qg dG8gYmUgdXNlZCBpbiBzdXBwb3J0IG9mIFNFVi1FUw0KPiAgIE1kZVBrZzogQWRkIHRoZSBNU1Ig ZGVmaW5pdGlvbiBmb3IgdGhlIEdIQ0IgcmVnaXN0ZXINCj4gICBNZGVQa2c6IEFkZCBhIHN0cnVj dHVyZSBkZWZpbml0aW9uIGZvciB0aGUgR0hDQg0KPiAgIE1kZU1vZHVsZVBrZy9EeGVJcGxQZWlt OiBTdXBwb3J0IEdIQ0IgcGFnZXMgd2hlbiBjcmVhdGluZyBwYWdlIHRhYmxlcw0KPiAgIE1kZVBr Zy9CYXNlTGliOiBBZGQgc3VwcG9ydCBmb3IgdGhlIFhHRVRCViBpbnN0cnVjdGlvbg0KPiAgIE1k ZVBrZy9CYXNlTGliOiBBZGQgc3VwcG9ydCBmb3IgdGhlIFZNR0VYSVQgaW5zdHJ1Y3Rpb24NCj4g ICBVZWZpQ3B1UGtnOiBJbXBsZW1lbnQgbGlicmFyeSBzdXBwb3J0IGZvciBWTUdFWElUDQo+ICAg T3ZtZlBrZzogUHJlcGFyZSBPdm1mUGtnIHRvIHVzZSB0aGUgVm1nRXhpdExpYiBsaWJyYXJ5DQo+ ICAgVWVmaVBheWxvYWRQa2c6IFByZXBhcmUgVWVmaVBheWxvYWRQa2cgdG8gdXNlIHRoZSBWbWdF eGl0TGliIGxpYnJhcnkNCj4gICBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXI6IEFkZCBi YXNlIHN1cHBvcnQgZm9yIHRoZSAjVkMgZXhjZXB0aW9uDQo+ICAgT3ZtZlBrZy9WbWdFeGl0TGli OiBJbXBsZW1lbnQgbGlicmFyeSBzdXBwb3J0IGZvciBWbWdFeGl0TGliIGluIE9WTUYNCj4gICBP dm1mUGtnL1ZtZ0V4aXRMaWI6IEFkZCBzdXBwb3J0IGZvciBJT0lPX1BST1QgTkFFIGV2ZW50cw0K PiAgIE92bWZQa2cvVm1nRXhpdExpYjogU3VwcG9ydCBzdHJpbmcgSU8gZm9yIElPSU9fUFJPVCBO QUUgZXZlbnRzDQo+ICAgT3ZtZlBrZy9WbWdFeGl0TGliOiBBZGQgc3VwcG9ydCBmb3IgQ1BVSUQg TkFFIGV2ZW50cw0KPiAgIE92bWZQa2cvVm1nRXhpdExpYjogQWRkIHN1cHBvcnQgZm9yIE1TUl9Q Uk9UIE5BRSBldmVudHMNCj4gICBPdm1mUGtnL1ZtZ0V4aXRMaWI6IEFkZCBzdXBwb3J0IGZvciBO UEYgTkFFIGV2ZW50cyAoTU1JTykNCj4gICBPdm1mUGtnL1ZtZ0V4aXRMaWI6IEFkZCBzdXBwb3J0 IGZvciBXQklOVkQgTkFFIGV2ZW50cw0KPiAgIE92bWZQa2cvVm1nRXhpdExpYjogQWRkIHN1cHBv cnQgZm9yIFJEVFNDIE5BRSBldmVudHMNCj4gICBPdm1mUGtnL1ZtZ0V4aXRMaWI6IEFkZCBzdXBw b3J0IGZvciBSRFBNQyBOQUUgZXZlbnRzDQo+ICAgT3ZtZlBrZy9WbWdFeGl0TGliOiBBZGQgc3Vw cG9ydCBmb3IgSU5WRCBOQUUgZXZlbnRzDQo+ICAgT3ZtZlBrZy9WbWdFeGl0TGliOiBBZGQgc3Vw cG9ydCBmb3IgVk1NQ0FMTCBOQUUgZXZlbnRzDQo+ICAgT3ZtZlBrZy9WbWdFeGl0TGliOiBBZGQg c3VwcG9ydCBmb3IgUkRUU0NQIE5BRSBldmVudHMNCj4gICBPdm1mUGtnL1ZtZ0V4aXRMaWI6IEFk ZCBzdXBwb3J0IGZvciBNT05JVE9SL01PTklUT1JYIE5BRSBldmVudHMNCj4gICBPdm1mUGtnL1Zt Z0V4aXRMaWI6IEFkZCBzdXBwb3J0IGZvciBNV0FJVC9NV0FJVFggTkFFIGV2ZW50cw0KPiAgIE92 bWZQa2cvVm1nRXhpdExpYjogQWRkIHN1cHBvcnQgZm9yIERSNyBSZWFkL1dyaXRlIE5BRSBldmVu dHMNCj4gICBPdm1mUGtnL01lbUVuY3J5cHRTZXZMaWI6IEFkZCBhbiBTRVYtRVMgZ3Vlc3QgaW5k aWNhdG9yIGZ1bmN0aW9uDQo+ICAgT3ZtZlBrZzogQWRkIHN1cHBvcnQgdG8gcGVyZm9ybSBTRVYt RVMgaW5pdGlhbGl6YXRpb24NCj4gICBPdm1mUGtnOiBDcmVhdGUgYSBHSENCIHBhZ2UgZm9yIHVz ZSBkdXJpbmcgU2VjIHBoYXNlDQo+ICAgT3ZtZlBrZy9QbGF0Zm9ybVBlaTogUmVzZXJ2ZSBHSENC LXJlbGF0ZWQgYXJlYXMgaWYgUzMgaXMgc3VwcG9ydGVkDQo+ICAgT3ZtZlBrZzogQ3JlYXRlIEdI Q0IgcGFnZXMgZm9yIHVzZSBkdXJpbmcgUGVpIGFuZCBEeGUgcGhhc2UNCj4gICBPdm1mUGtnL1Bs YXRmb3JtUGVpOiBNb3ZlIGVhcmx5IEdEVCBpbnRvIHJhbSB3aGVuIFNFVi1FUyBpcyBlbmFibGVk DQo+ICAgVWVmaUNwdVBrZzogQ3JlYXRlIGFuIFNFVi1FUyB3b3JrYXJlYSBQQ0QNCj4gICBPdm1m UGtnOiBSZXNlcnZlIGEgcGFnZSBpbiBtZW1vcnkgZm9yIHRoZSBTRVYtRVMgdXNhZ2UNCj4gICBP dm1mUGtnL1BsYXRmb3JtUGVpOiBSZXNlcnZlIFNFVi1FUyB3b3JrIGFyZWEgaWYgUzMgaXMgc3Vw cG9ydGVkDQo+ICAgT3ZtZlBrZy9SZXNldFZlY3RvcjogQWRkIHN1cHBvcnQgZm9yIGEgMzItYml0 IFNFViBjaGVjaw0KPiAgIE92bWZQa2cvU2VjOiBBZGQgI1ZDIGV4Y2VwdGlvbiBoYW5kbGluZyBm b3IgU2VjIHBoYXNlDQo+ICAgT3ZtZlBrZy9TZWM6IEVuYWJsZSBjYWNoZSBlYXJseSB0byBzcGVl ZCB1cCBib290aW5nDQo+ICAgT3ZtZlBrZy9RZW11Rmxhc2hGdmJTZXJ2aWNlc1J1bnRpbWVEeGU6 IEJ5cGFzcyBmbGFzaCBkZXRlY3Rpb24gd2l0aA0KPiAgICAgU0VWLUVTDQo+ICAgVWVmaUNwdVBr ZzogQWRkIGEgMTYtYml0IHByb3RlY3RlZCBtb2RlIGNvZGUgc2VnbWVudCBkZXNjcmlwdG9yDQo+ ICAgVWVmaUNwdVBrZy9NcEluaXRMaWI6IEFkZCBDUFUgTVAgZGF0YSBmbGFnIHRvIGluZGljYXRl IGlmIFNFVi1FUyBpcw0KPiAgICAgZW5hYmxlZA0KPiAgIFVlZmlDcHVQa2c6IEFsbG93IEFQIGJv b3RpbmcgdW5kZXIgU0VWLUVTDQo+ICAgT3ZtZlBrZzogVXNlIHRoZSBTRVYtRVMgd29yayBhcmVh IGZvciB0aGUgU0VWLUVTIEFQIHJlc2V0IHZlY3Rvcg0KPiAgIE92bWZQa2c6IE1vdmUgdGhlIEdI Q0IgYWxsb2NhdGlvbnMgaW50byByZXNlcnZlZCBtZW1vcnkNCj4gICBVZWZpQ3B1UGtnL01wSW5p dExpYjogUHJlcGFyZSBTRVYtRVMgZ3Vlc3QgQVBzIGZvciBPUyB1c2UNCj4gICBNYWludGFpbmVy cy50eHQ6IEFkZCByZXZpZXdlcnMgZm9yIHRoZSBPdm1mUGtnIFNFVi1yZWxhdGVkIGZpbGVzDQo+ IA0KPiAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMgICAgICAgICAgICAgICAgIHwgICAg OSArDQo+ICBPdm1mUGtnL092bWZQa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICA5ICsNCj4gIFVlZmlDcHVQa2cvVWVmaUNwdVBrZy5kZWMgICAgICAgICAgICAgICAgICAgICB8 ICAgMTcgKw0KPiAgT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2MgICAgICAgICAgICAgICAgICAgICAg IHwgICAgNiArDQo+ICBPdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYyAgICAgICAgICAgICAgICAg ICAgfCAgICA2ICsNCj4gIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2MgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDYgKw0KPiAgT3ZtZlBrZy9Pdm1mWGVuLmRzYyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgMSArDQo+ICBVZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZHNjICAgICAgICAgICAg ICAgICAgICAgfCAgICAyICsNCj4gIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnSWEzMi5k c2MgICAgICAgICB8ICAgIDIgKw0KPiAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2dJYTMy WDY0LmRzYyAgICAgIHwgICAgMiArDQo+ICBPdm1mUGtnL092bWZQa2dYNjQuZmRmICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICA5ICsNCj4gIE1kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0v RHhlSXBsLmluZiAgICAgICB8ICAgIDIgKw0KPiAgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNl TGliLmluZiAgICAgICAgICAgIHwgICAgNCArDQo+ICBPdm1mUGtnL0xpYnJhcnkvVm1nRXhpdExp Yi9WbWdFeGl0TGliLmluZiAgICAgfCAgIDM2ICsNCj4gIE92bWZQa2cvUGxhdGZvcm1QZWkvUGxh dGZvcm1QZWkuaW5mICAgICAgICAgICB8ICAgIDkgKw0KPiAgLi4uL0Z2YlNlcnZpY2VzUnVudGlt ZUR4ZS5pbmYgICAgICAgICAgICAgICAgIHwgICAgMiArDQo+ICBPdm1mUGtnL1Jlc2V0VmVjdG9y L1Jlc2V0VmVjdG9yLmluZiAgICAgICAgICAgfCAgICA4ICsNCj4gIE92bWZQa2cvU2VjL1NlY01h aW4uaW5mICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKw0KPiAgLi4uL0R4ZUNwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIuaW5mICAgICAgICAgICAgIHwgICAgMSArDQo+ICAuLi4vUGVpQ3B1RXhj ZXB0aW9uSGFuZGxlckxpYi5pbmYgICAgICAgICAgICAgfCAgICAxICsNCj4gIC4uLi9TZWNQZWlD cHVFeGNlcHRpb25IYW5kbGVyTGliLmluZiAgICAgICAgICB8ICAgIDEgKw0KPiAgLi4uL1NtbUNw dUV4Y2VwdGlvbkhhbmRsZXJMaWIuaW5mICAgICAgICAgICAgIHwgICAgMSArDQo+ICAuLi4vWGNv ZGU1U2VjUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYgICAgfCAgICAxICsNCj4gIFVlZmlD cHVQa2cvTGlicmFyeS9NcEluaXRMaWIvRHhlTXBJbml0TGliLmluZiB8ICAgIDQgKw0KPiAgVWVm aUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9QZWlNcEluaXRMaWIuaW5mIHwgICAgNCArDQo+ICAu Li4vTGlicmFyeS9WbWdFeGl0TGliTnVsbC9WbWdFeGl0TGliTnVsbC5pbmYgfCAgIDI3ICsNCj4g IC4uLi9Db3JlL0R4ZUlwbFBlaW0vWDY0L1ZpcnR1YWxNZW1vcnkuaCAgICAgICB8ICAgMTIgKy0N Cj4gIE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZUxpYi5oICAgICAgICAgICAgICB8ICAgMzEg Kw0KPiAgTWRlUGtnL0luY2x1ZGUvUmVnaXN0ZXIvQW1kL0ZhbTE3TXNyLmggICAgICAgIHwgICA0 NiArDQo+ICBNZGVQa2cvSW5jbHVkZS9SZWdpc3Rlci9BbWQvR2hjYi5oICAgICAgICAgICAgfCAg MTY2ICsrDQo+ICAuLi4vSW5kdXN0cnlTdGFuZGFyZC9JbnN0cnVjdGlvblBhcnNpbmcuaCAgICAg fCAgIDgzICsNCj4gIE92bWZQa2cvSW5jbHVkZS9MaWJyYXJ5L01lbUVuY3J5cHRTZXZMaWIuaCAg ICB8ICAgMTIgKw0KPiAgLi4uL1FlbXVGbGFzaC5oICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAxMyArDQo+ICBVZWZpQ3B1UGtnL0NwdUR4ZS9DcHVHZHQuaCAgICAgICAgICAgICAg ICAgICAgfCAgICA0ICstDQo+ICBVZWZpQ3B1UGtnL0luY2x1ZGUvTGlicmFyeS9WbWdFeGl0TGli LmggICAgICAgfCAgMTAzICsNCj4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIu aCAgICAgICAgICB8ICAgNjggKy0NCj4gIC4uLi9Db3JlL0R4ZUlwbFBlaW0vSWEzMi9EeGVMb2Fk RnVuYy5jICAgICAgICB8ICAgIDQgKy0NCj4gIC4uLi9Db3JlL0R4ZUlwbFBlaW0vWDY0L0R4ZUxv YWRGdW5jLmMgICAgICAgICB8ICAgMTEgKy0NCj4gIC4uLi9Db3JlL0R4ZUlwbFBlaW0vWDY0L1Zp cnR1YWxNZW1vcnkuYyAgICAgICB8ICAgNTcgKy0NCj4gIC4uLi9NZW1FbmNyeXB0U2V2TGliSW50 ZXJuYWwuYyAgICAgICAgICAgICAgICB8ICAgNzUgKy0NCj4gIE92bWZQa2cvTGlicmFyeS9WbWdF eGl0TGliL1ZtZ0V4aXRMaWIuYyAgICAgICB8ICAxNTkgKysNCj4gIE92bWZQa2cvTGlicmFyeS9W bWdFeGl0TGliL1ZtZ0V4aXRWY0hhbmRsZXIuYyB8IDE3MTYgKysrKysrKysrKysrKysrKysNCj4g IE92bWZQa2cvUGxhdGZvcm1QZWkvQW1kU2V2LmMgICAgICAgICAgICAgICAgICB8ICAgODkgKw0K PiAgT3ZtZlBrZy9QbGF0Zm9ybVBlaS9NZW1EZXRlY3QuYyAgICAgICAgICAgICAgIHwgICA0MyAr DQo+ICAuLi4vUWVtdUZsYXNoLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIz ICstDQo+ICAuLi4vUWVtdUZsYXNoRHhlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDQwICsNCj4gIC4uLi9RZW11Rmxhc2hTbW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMTYgKw0KPiAgT3ZtZlBrZy9TZWMvU2VjTWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDE4OCArLQ0KPiAgVWVmaUNwdVBrZy9DcHVEeGUvQ3B1R2R0LmMgICAgICAgICAgICAgICAg ICAgIHwgICAgOCArLQ0KPiAgLi4uL0NwdUV4Y2VwdGlvbkNvbW1vbi5jICAgICAgICAgICAgICAg ICAgICAgIHwgICAxMCArLQ0KPiAgLi4uL1BlaUR4ZVNtbUNwdUV4Y2VwdGlvbi5jICAgICAgICAg ICAgICAgICAgIHwgICAyMCArLQ0KPiAgLi4uL1NlY1BlaUNwdUV4Y2VwdGlvbi5jICAgICAgICAg ICAgICAgICAgICAgIHwgICAxOSArDQo+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4 ZU1wTGliLmMgICAgICAgfCAgMTIwICstDQo+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGli L01wTGliLmMgICAgICAgICAgfCAgMzM3ICsrKy0NCj4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcElu aXRMaWIvUGVpTXBMaWIuYyAgICAgICB8ICAgMTkgKw0KPiAgLi4uL0xpYnJhcnkvVm1nRXhpdExp Yk51bGwvVm1nRXhpdExpYk51bGwuYyAgIHwgIDEyMSArKw0KPiAgVWVmaUNwdVBrZy9QaVNtbUNw dUR4ZVNtbS9YNjQvU21tRnVuY3NBcmNoLmMgIHwgICAgMiArLQ0KPiAgTWFpbnRhaW5lcnMudHh0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArDQo+ICBNZGVNb2R1bGVQa2cv TWRlTW9kdWxlUGtnLnVuaSAgICAgICAgICAgICAgICAgfCAgICA4ICsNCj4gIE1kZVBrZy9MaWJy YXJ5L0Jhc2VMaWIvSWEzMi9WbWdFeGl0Lm5hc20gICAgICB8ICAgMzggKw0KPiAgTWRlUGtnL0xp YnJhcnkvQmFzZUxpYi9JYTMyL1hHZXRCdi5uYXNtICAgICAgIHwgICAzMSArDQo+ICBNZGVQa2cv TGlicmFyeS9CYXNlTGliL1g2NC9WbWdFeGl0Lm5hc20gICAgICAgfCAgIDMyICsNCj4gIE1kZVBr Zy9MaWJyYXJ5L0Jhc2VMaWIvWDY0L1hHZXRCdi5uYXNtICAgICAgICB8ICAgMzQgKw0KPiAgT3Zt ZlBrZy9SZXNldFZlY3Rvci9JYTE2L1Jlc2V0VmVjdG9yVnRmMC5hc20gIHwgIDEwMCArDQo+ICBP dm1mUGtnL1Jlc2V0VmVjdG9yL0lhMzIvUGFnZVRhYmxlczY0LmFzbSAgICAgfCAgMzUxICsrKy0N Cj4gIE92bWZQa2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IubmFzbWIgICAgICAgICB8ICAgMjAg Kw0KPiAgLi4uL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLm5hc20gICAgICAgICAgICAgIHwgICAx NyArDQo+ICAuLi4vWDY0L1hjb2RlNUV4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbSAgICAgICAgfCAg IDE3ICsNCj4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvSWEzMi9NcEVxdS5pbmMgICB8 ICAgIDIgKy0NCj4gIC4uLi9MaWJyYXJ5L01wSW5pdExpYi9JYTMyL01wRnVuY3MubmFzbSAgICAg ICB8ICAgMjAgKy0NCj4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvWDY0L01wRXF1Lmlu YyAgICB8ICAgIDQgKy0NCj4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvWDY0L01wRnVu Y3MubmFzbSB8ICAzNjkgKysrLQ0KPiAgLi4uL0xpYnJhcnkvVm1nRXhpdExpYk51bGwvVm1nRXhp dExpYk51bGwudW5pIHwgICAxNSArDQo+ICAuLi4vUmVzZXRWZWN0b3IvVnRmMC9JYTE2L1JlYWwx NlRvRmxhdDMyLmFzbSAgfCAgICA5ICsNCj4gIFVlZmlDcHVQa2cvVWVmaUNwdVBrZy51bmkgICAg ICAgICAgICAgICAgICAgICB8ICAgMTEgKw0KPiAgNzUgZmlsZXMgY2hhbmdlZCwgNDc3NyBpbnNl cnRpb25zKCspLCAxMDAgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9kZSANCj4gMTAwNjQ0IE92bWZQ a2cvTGlicmFyeS9WbWdFeGl0TGliL1ZtZ0V4aXRMaWIuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgDQo+IFVlZmlDcHVQa2cvTGlicmFyeS9WbWdFeGl0TGliTnVsbC9WbWdFeGl0TGliTnVsbC5p bmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNZGVQa2cvSW5jbHVkZS9SZWdpc3Rlci9BbWQvR2hj Yi5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgDQo+IE92bWZQa2cvSW5jbHVkZS9JbmR1c3RyeVN0 YW5kYXJkL0luc3RydWN0aW9uUGFyc2luZy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgVWVmaUNw dVBrZy9JbmNsdWRlL0xpYnJhcnkvVm1nRXhpdExpYi5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg T3ZtZlBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWIvVm1nRXhpdExpYi5jDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgT3ZtZlBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWIvVm1nRXhpdFZjSGFuZGxlci5jDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQgVWVmaUNwdVBrZy9MaWJyYXJ5L1ZtZ0V4aXRMaWJOdWxsL1ZtZ0V4 aXRMaWJOdWxsLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNZGVQa2cvTGlicmFyeS9CYXNlTGli L0lhMzIvVm1nRXhpdC5uYXNtDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0xpYnJhcnkv QmFzZUxpYi9JYTMyL1hHZXRCdi5uYXNtDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0xp YnJhcnkvQmFzZUxpYi9YNjQvVm1nRXhpdC5uYXNtDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRl UGtnL0xpYnJhcnkvQmFzZUxpYi9YNjQvWEdldEJ2Lm5hc20NCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBPdm1mUGtnL1Jlc2V0VmVjdG9yL0lhMTYvUmVzZXRWZWN0b3JWdGYwLmFzbQ0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IA0KPiBVZWZpQ3B1UGtnL0xpYnJhcnkvVm1nRXhpdExpYk51bGwvVm1nRXhp dExpYk51bGwudW5pDQo+IA0KDQpGb3IgYWxsIHBhdGNoZXMgZXhjZXB0ICMxMCAoIlVlZmlQYXls b2FkUGtnOiBQcmVwYXJlIFVlZmlQYXlsb2FkUGtnIHRvIHVzZSB0aGUgVm1nRXhpdExpYiBsaWJy YXJ5IikgYW5kICM0NiAoIk1haW50YWluZXJzLnR4dDogQWRkIHJldmlld2VycyBmb3IgdGhlIE92 bWZQa2cgU0VWLXJlbGF0ZWQgZmlsZXMiKToNCg0KUmVncmVzc2lvbi10ZXN0ZWQtYnk6IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQoNClRoYW5rcw0KTGFzemxvDQoNCg==