From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.16074.1665540764907129043 for ; Tue, 11 Oct 2022 19:12:45 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=KlDmih7+; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665540764; x=1697076764; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hJTby4wu9lpjw81AkITCZhfZW8Vdh8VyMn5y6HS0qpg=; b=KlDmih7+hRQA6wUSnMFnFl92Yx0QGLbQxORySMhZC3s3V3daeaS8iiK8 A9dBP5BjiKwAXVYZx0S5IeNN9jMcD3ei3fZrCgeVWVThBaXwAE1SidAOx Yr2N2ou3/5yh0MW1bjCUvwLtP4lvlPIw9PR8E+s21cjeb9txEtkmj2737 0xhFTXF4IQOAlB/p7xVupXn9QBjEXftKqNGdRBfUQriHUVQiUcARNqjKk 9Gd2sEQPYDQ42VduW2VY5IZ9sNPttpH2Ksxq5OE2sEzzj84gL/n1jj8/R CslZeyByqvPGKpxnjVcMD26yio5Z1E3tRI3mUadt5nPbX+TZJh3lZ0hb3 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="302285720" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="302285720" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 19:12:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="769029465" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="769029465" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga001.fm.intel.com with ESMTP; 11 Oct 2022 19:12:44 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.2375.31; Tue, 11 Oct 2022 19:12:44 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 11 Oct 2022 19:12:43 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 11 Oct 2022 19:12:43 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.46) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 11 Oct 2022 19:12:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NDr0DL+XLjAG4vn5kf7IW++CjiYYqbwL4Rz9ptZ6lvr4As1RMPPZTqmjVjYkQmg9kwBS3ksyJPZqfXgBzNiek6ig3fqDTR6q7uHstsqBoKl3btDvQpqfL6COxl/BwXmvXfP8IrqdIS7tET8PCJf2G4Uf8vIpwAlXMGHtTunS2YyebdfrTVVr1jWt8S0CdeJ0m+LZIftaFPOz03x0kWMkIXJbVQc0M/QgUU1Vp1qCNofT1kvLNSEnKkTB3Ta9UQVcimbN++Apej9UpNSxbEOE/bF8/5/jerSwyfEwmv9XRe0vu8Vwip2yQnNR/WTPdY/hfaUWGZ23Cd/qzEvL2rs7Gg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hJTby4wu9lpjw81AkITCZhfZW8Vdh8VyMn5y6HS0qpg=; b=MHhJLg7jZ4XZlA8ERxNYum7HJ8283j1E+HUfQVCd9idz/GVv0RDBmYZ3EE8jdE5Du/+nHt1l7xZGhaPXQrg67EWOnCI643gvOh8lxxwZ1ZEKkmHQm4+pYbXt52UCzEqbS15lsa8nPOTDVUDu2mm644DrV0RjR7qG++eYTGfFlQJl9WQdPUmFPzhEThB0CgJScg9c//gP8T38Kizo4KNOwr52EvI8UsuHLvV7t6poDZFHjo2/leP12BOuQavlhbxpFKEYDoBTR05p9pMugPlcWFhjfH5U/6PU40hpZAJ/SGB+TSH+SwUr0t6V73LX9CK2cbFFKdbHu+Vfy+QW3pal9A== 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 Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by MN2PR11MB4598.namprd11.prod.outlook.com (2603:10b6:208:26f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Wed, 12 Oct 2022 02:12:39 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::76b0:750c:a322:5acf]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::76b0:750c:a322:5acf%6]) with mapi id 15.20.5709.015; Wed, 12 Oct 2022 02:12:39 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "Yao, Jiewen" , "Kinney, Michael D" CC: "Wang, Jian J" , "Lu, Xiaoyu1" , "Jiang, Guomin" , "Zurcher, Christopher" , Rebecca Cran , Ard Biesheuvel Subject: Re: [edk2-devel] [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Topic: [edk2-devel] [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Index: AQHY3YK7maCqct5DWES6ZOJNywNaya4J8HawgAAHRQCAAALH8IAABdKAgAAAO8CAAARqEA== Date: Wed, 12 Oct 2022 02:12:39 +0000 Message-ID: References: <20221011150358.1332-1-michael.d.kinney@intel.com> <171D30322FF3DC63.20882@groups.io> In-Reply-To: <171D30322FF3DC63.20882@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR11MB5872:EE_|MN2PR11MB4598:EE_ x-ms-office365-filtering-correlation-id: 2d09b192-0a07-49f7-2d08-08daabf73d2b x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Bz634rdBw5FQpFo0CCjbz86wG8XLaijHdR7VabggIumU1EyBlfYlWGiaP1k7iuNx3muDnlLOUcaMRgCaAbsAVAtkwKhv4+dvoMBxKo7r/41xYfHDJXvDuXg94O9B3M45ilYvP7MpZ8fxls8iYFYFkmuyuBQkbWWmCxX0ZgXMKdcmsXlwbSaK/HDlKW9hC+eGfNZSfVN2tDkENuA5exk3tZ2SZB1zt+1JuKyEI8FvNdUq0TOSzEOsoZwHxj8xdF1jVKWb4II2VgUa97O+Lx02sd8laVorQnr8k0GE/2hvFahwQZkqAuXkgXqtz3XWrXYkyhVwoLXiwKpkgTphLrVnoTmLgpnIMxFeZGJskKre6/Q2gwneO0+0O6n52zHp2Gay8/Jqd4/mUbWPbKFY8K2zV13Bnm5Resbds+nKv1Bx24Z3oVrh0Z0dClSd6tSD3gG+2WmnJDUsS7GIyP9mOMvBbJVP34Mwmy8vhwG7fQ3hTucSeVgZJVd/Aq73kduvbf0clivj8Rr4wy6RUVr8ab9xIJmrgDy5WGLKEvt8tcJOiVEsjKI743FldkzHGblV/93EfMISg2aUD/i6EiNuIb4en43ypE0H324Bq7IDCuvQyX9gK7fl1LJ5x6d1LtylHO8pCQbTOoLIB62OgiJv8pu2t4u4f8RqsnKkahzYJej8GATGU/KGMsN6p1yq+2DkB8NRZSRQzM5Yy33SFf7BugzSDGiG/j0ZDCpMsH8A3J0lkfZlCXhHhZ+9jlZ673UcVifCCNSfckfU0dQnPzFCMaj4ADPrEY6O+d+plCZuYmXpnCtVmNGJ6rkFWMCzCd5Lgvcu4GUOMYkyWKi7/z7JrsXHEw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(136003)(39860400002)(366004)(346002)(451199015)(33656002)(66899015)(55016003)(38100700002)(122000001)(82960400001)(38070700005)(83380400001)(966005)(71200400001)(186003)(7696005)(6506007)(9686003)(478600001)(19627235002)(54906003)(316002)(30864003)(86362001)(8676002)(4326008)(76116006)(66446008)(6636002)(66946007)(66556008)(66476007)(8936002)(64756008)(5660300002)(53546011)(52536014)(2906002)(26005)(110136005)(41300700001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZE9xd3Z6cmhMK0JjR25RMlV1a2cyRURKRkhuTHllVTV5WDVQcFQvdXpSaGsx?= =?utf-8?B?MVVSZFRaVE9YR2k0L3hYcWJjcEl3T3Y0OXFzSFl2S3VhamF3UG5jaHV4dzJx?= =?utf-8?B?Qkw1OW9kNlY2R0ZtZ0g4eG5maHZ2eXZZZjMycTFacW9SQzhmWkFwbUZKN0d4?= =?utf-8?B?d0RWZ0pWS3ZkY3VGTGc3T2gyMWVQRXJjRUtQQytLOStPV2dwblk2QTV4SlNL?= =?utf-8?B?bTdLempzaU53SlpMZlBlaks1SG1FVGo2KzI4bDE1dGxuUjVtUHdaMHh6YlBV?= =?utf-8?B?dXFUcmVRSEpqSktlWWdJYU80aVZVb2M1aDRqTkYrVlMveGJXd0xmNDBBUm9V?= =?utf-8?B?VlJqVUFkK0p6bzljbjF5dWdaVWZRSVlkVG9ZV29KRk1vOVdXSXB1ZHg0UlJO?= =?utf-8?B?Ums1UTBRYnFmaFR0RXQyNjhETDB2UU03dy80UExKMk8xaW5uWU9TeTJic1Nh?= =?utf-8?B?NnZCRnpScEd4cFg2MWVTTkRHQWRDQXZLUGJZSURyMDJqaTJLRkYvcTdsWXRU?= =?utf-8?B?RnhLZEw4NjFRM3lYRXpRZ3pHZmFVd2tKTlZybDVUYWVodlFXK3JuK1pGM3lQ?= =?utf-8?B?UkkrWGoxYVRUNzJURWIyRTl0cmpGcmZaRDNsd2tUSnRYT2tMS3l0VE10dVM5?= =?utf-8?B?d1dUWGp1QjRUWUY5N2ZJblVmN1BoaHczZTFPL1V2akRZV2o3OU1MMUZMSWNl?= =?utf-8?B?Z0JETzhGcFNjUm1QWVRqZG1TMGJ1bklGWS9sTnlqUFNnWWF1SUF0UXVtUDZp?= =?utf-8?B?OTlqRzF4VW1XQ2MreGV6YTVGbm9sWTR6eGdaMGRBakliNmRtYm4yYURaL2ZE?= =?utf-8?B?dC9CTVc1Q2N5Y0dGUkdkRm1PcGllZDJOd1pmNDNIcVJ4K2JoQTJtTGIyV1px?= =?utf-8?B?Z2FnbjlZTlVpNjJDRSt0WnJkNVVvN3BkanBMTjdEU2RaNmdkMlVWaU9WOTZj?= =?utf-8?B?ZzNMSXUvaE90Zno2d0JXejV2ek1wa1Z2SmhKUkg3bjFkZC9abHduOTFxQjI1?= =?utf-8?B?dm5PR0YvWTIzLzlDZkF2d2ZkbU1oTTBudExCRkUvdGRMdVIvRi9NaHo1cEdD?= =?utf-8?B?Z3hHUTBwTzZqclkvMkpBQTlydUpucnQyck5CN0F2RzNuc0xkb2liK21SS2p2?= =?utf-8?B?a2U2K2dISm52cm9qcTQrZkp1YnJZSFJleG1kRXBIWGhBV1AyeU9FWjN2RUdw?= =?utf-8?B?SUpLdTUzOXRhV0NLSHRBTjArOWE4N3BUUkcxTldPSEEyQmEvU3NIMnYxYnFi?= =?utf-8?B?WFRnY1lLcFYyc3Z0QWRmZm01aFpsWEVycFIwQnJPMzBCYSt5ekdYZUJQNElW?= =?utf-8?B?OVNPTlFBSURSNGZqZWFndXJvTGwzV05xdkoveVpucFlwYzVOR0tnMldoSDdu?= =?utf-8?B?T0Y4TDdBbmRDKzAyVHVjUFdobUZNSEM3RW1aQ2hMc3JzTEhRSU9wUlJXVmpR?= =?utf-8?B?TFZINmJmY09FdUVkSTNIaUlRK0FXblQvVCtHZnAvNlVKTjdNcWduSFdlUVJr?= =?utf-8?B?OUJFWjZ0TFFpandJMkxWcHpkQ0dHbnJNb0psYnBPeURZczJlQmpZZWtRZ01r?= =?utf-8?B?WURyRVp2a052UjZPOHBHZVpzdk9ZTUQ0eFRkUXF4SXNrWnFVbVp1ZGFVQ0N6?= =?utf-8?B?ZE9URFV5V29CbXk1ODJFSXRkcG9Ed2FoTklpd1VrNkdCTHh1bHdjWGFoczRM?= =?utf-8?B?YWRDczhVdGF6c1VNVDJaK2VFYTJuMUExaGdXN3JKSU5hMjFjVHZhQjluTG5Y?= =?utf-8?B?T09MSFNaSlB1SU9IODl3QllpNWp4WXdRVDZMbkEzQnJGbytpZHFVTjlobVpo?= =?utf-8?B?T3ROZUY1QWNmdGxuSFN6TStTdmwxNmFYcXZYV3F2Y2Zud0IyOVpBa0c4TlZm?= =?utf-8?B?N2FacVdlYTFkci9ncFQvOERzUWE3ajFzVVpDaFV4T2N2SEhaV2hSN2djMEZC?= =?utf-8?B?QjNhUldwRjJQR1RWV3RtQzJPWDQ3cklsYnYzdjk0S0drQTlYcWNubFFoMHVP?= =?utf-8?B?bTlLWHRNWVp4RU1vQnZIUXd6clZBVDl5dXlCakx2eVpIYWt3bHE0Z2MvVHNH?= =?utf-8?B?L0lhZUtNamc1U1ViYlo1VjFXMWJqVGVpNkhWMWZURlFZQ2t3Rnl2Wkk2S3Bu?= =?utf-8?Q?rkSn43rqqshgK6YZIHZpyv6md?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d09b192-0a07-49f7-2d08-08daabf73d2b X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 02:12:39.7233 (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: JBj+HUVCKQbVH4Yja9Hro2L26w0NsKZFYnEi7HO3Vl35R8VTt/F4+oRUR0GRsLktI95dIhlgaS1BnRY22MlgGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4598 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBqdXN0IHJlbWVtYmVyIHdlIGNhbm5vdCB1c2UgbWFjcm8gaW4gQmFzZUNyeXB0b0xpYi4gUGxl YXNlIGlnbm9yZSBteSBjb21tZW50IG9uIE5PX0VDIG1hY3JvLg0KDQoNCg0KPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRr Mi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBZYW8sDQo+IEppZXdlbg0KPiBTZW50OiBXZWRuZXNk YXksIE9jdG9iZXIgMTIsIDIwMjIgMTA6MDcgQU0NCj4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENj OiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+IDx4 aWFveXUxLmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5j b20+Ow0KPiBadXJjaGVyLCBDaHJpc3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3Nv ZnQuY29tPjsgUmViZWNjYSBDcmFuDQo+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJp ZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb UGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQNCj4gbWVyZ2UgcGVyZiBv cHQgT3BlbnNzbExpYnMNCj4gDQo+IE9LLiBUaGF0IG1lYW5zIHdlIG5lZWQgbWFudWFsIHdyaXRl IGEgd3JhcHBlciBmb3IgYWxsIEVDIEFQSXMgaW4gT3BlbnNzbA0KPiBMaWIgZm9yIGludGVybmFs IHVzYWdlLg0KPiBNb3JlIHByZWNpc2VseSwgYSB3cmFwcGVyIGZvciB0aGUgZGVsdGEgYmV0d2Vl biBPcGVuc3NsTGliIGFuZA0KPiBPcGVuc3NsTGliRnVsbCwgcmlnaHQ/DQo+IA0KPiBUaGVyZSB3 aWxsIGJlIHNpemUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRob3NlIHR3byBzb2x1dGlvbnMsIGJlY2F1 c2UgdGhlIGNvZGUNCj4gb3RoZXIgdGhhbiBFQyB3aWxsIGJlIGluY2x1ZGUgaW4gdGhlIGZ1bmN0 aW9uLg0KPiANCj4gV2h5IG5vdCB1c2UgTk9fRUMgbWFjcm8gZnJvbSBvcGVuc3NsIGRpcmVjdGx5 Pw0KPiANCj4gVGhhbmsgeW91DQo+IFlhbyBKaWV3ZW4NCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAxMiwgMjAyMiA5 OjU1IEFNDQo+ID4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGRldmVs QGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksDQo+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ OyBMdSwgWGlhb3l1MQ0KPiA+IDx4aWFveXUxLmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4g PGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiA+IFp1cmNoZXIsIENocmlzdG9waGVyIDxjaHJp c3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhDQo+IENyYW4NCj4gPiA8cXVp Y19yY3JhbkBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ ID4gU3ViamVjdDogUkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRvUGtnOiBSZW1vdmUgRUMgUENEIGFu ZCBtZXJnZSBwZXJmIG9wdA0KPiA+IE9wZW5zc2xMaWJzDQo+ID4NCj4gPiBKaWV3ZW4sDQo+ID4N Cj4gPiBUaGUgQktNIGlzIHRvIGp1c3QgY2FsbCB0aGUgRUMgc2VydmljZXMgZnJvbSB0aGUgbGF5 ZXJzIGFib3ZlIE9wZW5zc2xMaWIuDQo+ID4gVGhlIEVDIEFQSXMgd2lsbCBhbHdheXMgYmUgcHJl c2VudC4gIEVpdGhlciByZWFsIEVDIHNlcnZpY2Ugb3IgTnVsbCBFQw0KPiBzZXJ2aWNlLg0KPiA+ IFRoaXMgd2F5IHdlIGNhbiByZW1vdmUgYWxsIHRoZSAjaWZkZWYgb24gRUMgUENELg0KPiA+DQo+ ID4gUGxhdGZvcm0gZGV2ZWxvcGVycyBzZWxlY3QgdGhlIE9wZW5zc2xMaWIgaW5zdGFuY2Ugd2l0 aCBFQw0KPiA+IChPcGVuc3NsTGliRnVsbC5pbmYpIG9yDQo+ID4gd2l0aG91dCBFQyAoT3BlbnNz bExpYi5pbmYpLg0KPiA+DQo+ID4gTWlrZQ0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0K PiA+ID4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxMSwgMjAyMiA2OjM3IFBNDQo+ID4gPiBUbzog S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4gPiBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50 ZWwuY29tPjsgTHUsIFhpYW95dTENCj4gPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywg R3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsNCj4gPiBadXJjaGVyLA0KPiA+ID4gQ2hy aXN0b3BoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0LmNvbT47IFJlYmVjY2EgQ3Jh bg0KPiA+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2Vy bmVsLm9yZz4NCj4gPiA+IFN1YmplY3Q6IFJFOiBbUGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVt b3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZg0KPiBvcHQNCj4gPiBPcGVuc3NsTGlicw0KPiA+ID4N Cj4gPiA+IEhpIE1pa2UNCj4gPiA+IEZvciBQY2RPcGVuc3NsRWNFbmFibGVkLCBJIGFtIHNlZWlu ZyBvdGhlciB1c2FnZS4gRm9yIGV4YW1wbGU6DQo+ID4gPg0KPiA+DQo+IGh0dHBzOi8vZ2l0aHVi LmNvbS9xaXpoYW5nei9lZGsyL2Jsb2IvRUNfVXBzdHJlYW0vQ3J5cHRvUGtnL0xpYnJhcnkvDQo+ ID4gQmFzZUNyeXB0TGliL1BlbS9DcnlwdFBlbS5jI0wxNTYNCj4gPiA+DQo+ID4gPiBJIHRoaW5r IHdlIG1heSBuZWVkIEJLTSBvbiAiaG93IHRvIGRpc2FibGUgRUMiLg0KPiA+ID4NCj4gPiA+IFRo YW5rIHlvdQ0KPiA+ID4gWWFvLCBKaWV3ZW4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2Jl ciAxMiwgMjAyMiA5OjI1IEFNDQo+ID4gPiA+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0Bp bnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gS2lubmV5LA0KPiA+ID4gPiBNaWNo YWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiBDYzogV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA+ID4gPiA8eGlhb3l1 MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsN Cj4gPiA+ID4gWnVyY2hlciwgQ2hyaXN0b3BoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9z b2Z0LmNvbT47IFJlYmVjY2ENCj4gPiBDcmFuDQo+ID4gPiA+IDxxdWljX3JjcmFuQHF1aWNpbmMu Y29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gPiA+ID4gU3ViamVjdDog UkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRvUGtnOiBSZW1vdmUgRUMgUENEIGFuZCBtZXJnZSBwZXJm DQo+ID4gb3B0DQo+ID4gPiA+IE9wZW5zc2xMaWJzDQo+ID4gPiA+DQo+ID4gPiA+IEhpIEppZXdl biwNCj4gPiA+ID4NCj4gPiA+ID4gQ29tbWVudHMgYmVsb3cuDQo+ID4gPiA+DQo+ID4gPiA+IE1p a2UNCj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4g PiA+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ID4gPiBT ZW50OiBUdWVzZGF5LCBPY3RvYmVyIDExLCAyMDIyIDY6MDkgUE0NCj4gPiA+ID4gPiBUbzogS2lu bmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4gPiA+ID4gZGV2 ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2Fu Z0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA+ID4gPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+ OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsNCj4gPiA+ID4gWnVyY2hl ciwNCj4gPiA+ID4gPiBDaHJpc3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQu Y29tPjsgUmViZWNjYSBDcmFuDQo+ID4gPiA+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJk IEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSRTogW1Bh dGNoIDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQQ0QgYW5kIG1lcmdlDQo+IHBlcmYNCj4g PiBvcHQNCj4gPiA+ID4gT3BlbnNzbExpYnMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoYW5rIHlv dSBNaWtlLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gMSkgSSBsaWtlIHRoZSBpZGVhIHRvIGNvbWJp bmUgbXVsdGlwbGUgT3BlbnNzbExpYklBMzIvWDY0LmluZiBpbnRvDQo+IG9uZQ0KPiA+ID4gPiBP cGVuc3NsTGliQWNjZWwuaW5mLg0KPiA+ID4gPiA+IEFsc28gdGhlIGNsZWFudXAgbG9va3MgZ29v ZCB0byBtZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IDIpIEkgYWxzbyBsaWtlIHRoZSBzdW1tYXJ5 IGluIHJlYWRtZSBpbg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4NCj4gaHR0cHM6Ly9naXRodWIu Y29tL21ka2lubmV5L2VkazIvdHJlZS9DcnlwdG9Qa2dfUmVtb3ZlRWNQY2RfTWVyZ2UNCj4gPiA+ ID4gT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRvUGtnDQo+ID4gPiA+ID4gSSBub3RpY2Ugc29t ZSBhbGdvcml0aG1zIGFyZSBsaXN0ZWQgWShEZXByZWNhdGVkKSBidXQgTihEb24ndCBVc2UpLA0K PiA+IHN1Y2gNCj4gPiA+ID4gYXMgVGRlcywgQXJjNCwgQWVzLkVjYiouDQo+ID4gPiA+ID4gQnV0 IEkgZG9u4oCZdCBzZWUgdGhlIHVzZSBjYXNlIGZvciB0aG9zZSBhbGdvcml0aG1zIGFuZCBJIHN1 Z2dlc3QgYQ0KPiA+ID4gPiBZKERlcHJlY2F0ZWQpIGhhdmUgWShEb24ndCBVc2UpLg0KPiA+ID4g Pg0KPiA+ID4gPiBHb29kIGNhdGNoLiAgSSB3aWxsIGZpeC4NCj4gPiA+ID4NCj4gPiA+ID4gPg0K PiA+ID4gPiA+IDMpIEFib3V0IFBjZE9wZW5zc2xFY0VuYWJsZWQNCj4gPiA+ID4gPiBJIG5vdGlj ZSBpdCBpcyB1c2VkIGluIGV4aXN0aW5nIGNvZGUgLQ0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4N Cj4gaHR0cHM6Ly9naXRodWIuY29tL21ka2lubmV5L2VkazIvYmxvYi9DcnlwdG9Qa2dfUmVtb3Zl RWNQY2RfTWVyZ2UNCj4gPiA+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRvUGtnL0xpYnJh cnkvVGxzTGliL1Rsc0NvbmZpZy5jI0wxMQ0KPiA+ID4gPiA+IDM5DQo+ID4gPiA+ID4gSXMgdGhp cyByaWdodCB3YXk/DQo+ID4gPiA+DQo+ID4gPiA+IFRoaXMgd2FzIGFkZGVkIHNpbmNlIEkgc3Rh cnRlZCB0aGlzIHdvcmsgYW5kIHdhcyBhZGRlZCBiYWNrIGluIGJ5DQo+ID4gcmViYXNlLiAgSQ0K PiA+ID4gPiB3aWxsIGZpeC4NCj4gPiA+ID4gV2UgY2FuIGp1c3QgcmVtb3ZlIHRoZSBjaGVjayBm b3IgdGhlIFBDRC4gIElmIHRoZSBPcGVuc3NsTGliIGluc3RhbmNlDQo+ID4gZG9lcw0KPiA+ID4g PiBub3QgaW5jbHVkZQ0KPiA+ID4gPiBTU0wgc2VydmljZXMsIHRoZW4gdGhlIE51bGwgU1NMIHNl cnZpY2VzIGFyZSBwcmVzZW50IGFuZCB0aGUgY2FsbCB0bw0KPiA+IFNTTF9jdHJsKCkNCj4gPiA+ ID4gd2lsbA0KPiA+ID4gPiByZXR1cm4gMCB3aGljaCB3aWxsIGZvcmNlIFRsc1NldEVjQ3VydmUo KSB0byByZXR1cm4gRUZJX1VOU1VQUE9SVEVELg0KPiA+IEl0DQo+ID4gPiA+IHdpbGwgYWxzbw0K PiA+ID4gPiBBU1NFUlQoKSBpbmZvcm1pbmcgdGhlIGRldmVsb3BlciB0aGF0IGEgY2FsbCB0byBh IHNlcnZpY2UgdGhhdCBkZXBlbmRzDQo+ID4gb24NCj4gPiA+ID4gU1NMIHdhcyBtYWRlDQo+ID4g PiA+IHdpdGhvdXQgU1NMIHNlcnZpY2VzIGF2YWlsYWJsZS4NCj4gPiA+ID4NCj4gPiA+ID4gbG9u Zw0KPiA+ID4gPiBTU0xfY3RybCAoDQo+ID4gPiA+ICAgU1NMICAgKnNzbCwNCj4gPiA+ID4gICBp bnQgICBjbWQsDQo+ID4gPiA+ICAgbG9uZyAgbGFyZywNCj4gPiA+ID4gICB2b2lkICAqcGFyZw0K PiA+ID4gPiAgICkNCj4gPiA+ID4gew0KPiA+ID4gPiAgIEFTU0VSVCAoRkFMU0UpOw0KPiA+ID4g PiAgIHJldHVybiAwOw0KPiA+ID4gPiB9DQo+ID4gPiA+DQo+ID4gPiA+IExpa2V3aXNlLCBpZiB0 aGUgT3BlbnNzbExpYiBpbnN0YW5jZSBkb2VzIG5vdCBzdXBwb3J0IEVDIHNlcnZpY2VzLCB0aGVu DQo+ID4gdGhlDQo+ID4gPiA+IE51bGwNCj4gPiA+ID4gRUMgc2VydmljZXMgd2lsbCBiZSBpbmNs dWRlZCBhbmQgdGhlIGNhbGwgdG8NCj4gPiBFQ19LRVlfbmV3X2J5X2N1cnZlX25hbWUoKQ0KPiA+ ID4gPiB3aWxsDQo+ID4gPiA+IHJldHVybiBOVUxMIHdoaWNoIHdpbGwgZm9yY2UgVGxzU2V0RWND dXJ2ZSgpIHRvIHJldHVybg0KPiA+IEVGSV9VTlNVUFBPUlRFRC4gSXQNCj4gPiA+ID4gd2lsbCBh bHNvDQo+ID4gPiA+IEFTU0VSVCgpIGluZm9ybWluZyB0aGUgZGV2ZWxvcGVyIHRoYXQgYSBjYWxs IHRvIGEgc2VydmljZSB0aGF0IGRlcGVuZHMNCj4gPiBvbiBFQw0KPiA+ID4gPiB3YXMgbWFkZQ0K PiA+ID4gPiB3aXRob3V0IEVDIHNlcnZpY2VzIGF2YWlsYWJsZS4NCj4gPiA+ID4NCj4gPiA+ID4g RUNfS0VZICoNCj4gPiA+ID4gRUNfS0VZX25ld19ieV9jdXJ2ZV9uYW1lICgNCj4gPiA+ID4gICBp bnQgIG5pZA0KPiA+ID4gPiAgICkNCj4gPiA+ID4gew0KPiA+ID4gPiAgIEFTU0VSVCAoRkFMU0Up Ow0KPiA+ID4gPiAgIHJldHVybiBOVUxMOw0KPiA+ID4gPiB9DQo+ID4gPiA+DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBUaGFuayB5b3UNCj4gPiA+ID4gPiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gRnJvbTog S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ ID4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxMSwgMjAyMiAxMTowNCBQTQ0KPiA+ID4gPiA+ID4g VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gPiBDYzogWWFvLCBKaWV3ZW4gPGpp ZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+ID4gPiA+ID4gPiA8amlhbi5qLndh bmdAaW50ZWwuY29tPjsgTHUsIFhpYW95dTEgPHhpYW95dTEubHVAaW50ZWwuY29tPjsNCj4gSmlh bmcsDQo+ID4gPiA+ID4gPiBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+OyBadXJjaGVy LCBDaHJpc3RvcGhlcg0KPiA+ID4gPiA+ID4gPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0 LmNvbT47IFJlYmVjY2EgQ3Jhbg0KPiA+ID4gPiA+ID4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+ OyBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4gPiA+ID4gU3ViamVjdDog W1BhdGNoIDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQQ0QgYW5kIG1lcmdlIHBlcmYNCj4g PiBvcHQNCj4gPiA+ID4gPiA+IE9wZW5zc2xMaWJzDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g VGhlIHJlY2VudCBhZGRpdGlvbiBvZiB0aGUgRWNsaXB0aWMgQ3VydmUgKEVDKSBmZWF0dXJlIGFu ZCB0aGUNCj4gPiA+ID4gcGVyZm9ybWFuY2UNCj4gPiA+ID4gPiA+IG9wdGltaXphdGlvbiBmZWF0 dXJlcyBpbmNyZWFzZWQgdGhlIGNvbXBsZXhpdHkgZm9yIHBsYXRmb3JtcyB0bw0KPiA+ID4gPiBp bnRlZ3JhdGUNCj4gPiA+ID4gPiA+IGFuZCBlbmFibGUgdGhlc2UgZmVhdHVyZXMuIFRoaXMgc2Vy aWVzIHNpbXBsaWZpZXMgdGhlIHBsYXRmb3JtDQo+ID4gPiA+IGNvbmZpZ3VyYXRpb24NCj4gPiA+ ID4gPiA+IGFzIG11Y2ggYXMgcG9zc2libGUgYW5kIGltcHJvdmVzIHRoZSBhYmlsaXR5IHRvIG1h bmFnZSB0aGUgdGhlDQo+IHNpemUNCj4gPiA+ID4gaW1wYWN0DQo+ID4gPiA+ID4gPiBvZiBjcnlw dG9ncmFwaGljIHNlcnZpY2VzIGluIGVhY2ggRlcgcGhhc2UuIEEgUmVhZG1lLm1kIGlzIGFsc28N Cj4gPiBhZGRlZA0KPiA+ID4gPiA+ID4gdGhhdA0KPiA+ID4gPiA+ID4gcHJvdmlkZXMgYW4gb3Zl cnZpZXcgb2YgdGhlIENyeXB0b1BrZyBkZXNpZ24gYW5kIGZlYXR1cmVzIGFsb25nDQo+ID4gd2l0 aA0KPiA+ID4gPiA+ID4gcGxhdGZvcm0NCj4gPiA+ID4gPiA+IGludGVncmF0aW9uIHJlY29tbWVu ZGF0aW9ucy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUaGlzIHNlcmllcyBhbHNvIGFkZHJl c3NlcyBwcml2YXRlIGxpYnJhcnkgY2xhc3MgZGVjbGFyYXRpb25zIG1pc3NpbmcNCj4gPiBmcm9t DQo+ID4gPiA+ID4gPiBDcnlwdG9Qa2cuZGVjIGFuZCBsaWJyYXJ5IGluc3RhbmNlcyBub3QgcHJv ZHVjaW5nIGFsbCB0aGUgQVBJcw0KPiA+IGRlZmluZWQNCj4gPiA+ID4gPiA+IGJ5IHRoZSBsaWJy YXJ5IGNsYXNzZXMuIEEgcmV2aWV3IG9mIHRoZSBDcnlwdG9Qa2cgRURLIElJIG1ldGEgZGF0YQ0K PiA+IGZpbGVzDQo+ID4gPiA+ID4gPiBpZGVudGlmaWVkDQo+ID4gPiA+ID4gPiBhIG51bWJlciBv ZiBhZGRpdGlvbmFsIGNsZWFudXBzLiBUaGUgQ3J5cHRvUGtnLmRzYyBmaWxlIHdhcyBhbHNvDQo+ ID4gPiA+IHVwZGF0ZWQgdG8NCj4gPiA+ID4gPiA+IGltcHJvdmUgQ0kgY292ZXJhZ2UgZm9yIGZ1 dHVyZSBDcnlwdG9Qa2cgY2hhbmdlcyBhbmQgaWRlbnRpZmllZA0KPiA+IHNvbWUNCj4gPiA+ID4g PiA+IHVuaXQgdGVzdCBidWcgZml4ZXMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gUFI6ICAg ICBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC8zNDQzDQo+ID4gPiA+ID4g PiBCcmFuY2g6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNv bS9tZGtpbm5leS9lZGsyL3RyZWUvQ3J5cHRvUGtnX1JlbW92ZUVjUGNkX01lcmdlDQo+ID4gPiA+ ID4gPiBPcHRpbWl6ZWRPcGVuc3NsTGlicw0KPiA+ID4gPiA+ID4gUmVhZG1lOg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4NCj4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi9ibG9i L0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4gPiA+ID4gT3B0aW1pemVkT3BlbnNz bExpYnMvQ3J5cHRvUGtnL1JlYWRtZS5tZA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IENoYW5n ZSBTdW1tYXJ5DQo+ID4gPiA+ID4gPiA9PT09PT09PT09PT09PQ0KPiA+ID4gPiA+ID4gKiBEb2N1 bWVudCBkaXNhYmxlZC9kZXByZWNhdGVkIGNyeXB0b2dyYXBoaWMgc2VydmljZXMNCj4gPiA+ID4g PiA+ICogQWRkIG1pc3NpbmcgVU5JIGZpbGVzIGluIEJhc2VDcnlwdExpYg0KPiA+ID4gPiA+ID4g KiBVcGRhdGUgQmFzZUNyeXB0TGliIGludGVybmFsIGZ1bmN0aW9ucyB0byBiZSBTVEFUSUMgYW5k IHJlbW92ZQ0KPiA+ID4gPiBFRklBUEkNCj4gPiA+ID4gPiA+ICogQWRkIEdMT0JBTF9SRU1PVkVf SUZfVU5SRUZFUkVOQ0VEIHRvIEJhc2VDcnlwdExpYg0KPiBnbG9iYWwNCj4gPiA+ID4gPiA+IHZh cmlhYmxlcw0KPiA+ID4gPiA+ID4gKiBGaXggQmFzZUNyeXB0TGliIHVuaXQgdGVzdHMNCj4gPiA+ ID4gPiA+ICogQ2xlYW51cCBCYXNlQ3J5cHRMaWIgYW5kIFRsc0xpYiBJTkYgZmlsZXMgYW5kDQo+ ID4gPiA+ID4gPiAqIE1vdmUgU3lzQ2FsbC9pbmV0X3B0b24uYyBmcm9tIEJhc2VDcnlwdExpYiB0 byBUbHNMaWIgdGhhdCB1c2VzDQo+IGl0Lg0KPiA+ID4gPiA+ID4gKiBNZXJnZSA0IHBlcmZvcm1h bmNlIG9wdGltaXplZCBJTkZzIGludG8gT3BlbnNzbExpYipBY2NlbC5pbmYNCj4gPiA+ID4gPiA+ ICogUmVtb3ZlIHVzZSBvZiBQY2RPcGVuc3NsRWNFbmFibGVkIGFuZCB1c2UgT3BlbnNzbExpYkZ1 bGwqLmluZg0KPiA+ID4gPiBpbnN0ZWFkDQo+ID4gPiA+ID4gPiAqIEFkZCBPcGVuc3NsTGliIGFu ZCBJbnRyaW5zaWNMaWIgdG8gQ3J5cHRvUGtnLmRlYyBhcyBwcml2YXRlDQo+IGxpYnJhcnkNCj4g PiA+ID4gY2xhc3Nlcw0KPiA+ID4gPiA+ID4gKiBVcGRhdGUgYWxsIE9wZW5zc2xMaWIgaW5zdGFu Y2VzIHRvIGFsd2F5cyBwcm9kdWNlIGFsbCBBUElzIGluDQo+ID4gPiA+IE9wZW5zc2xMaWINCj4g PiA+ID4gPiA+IGNsYXNzDQo+ID4gPiA+ID4gPiAqIE1vdmUgUHJpbnRMaWIgZGVwZW5kZW5jeSBm cm9tIE9wZW5zc2xMaWIgSU5GIGZpbGVzIHRvDQo+ID4gQmFzZUNyeXB0TGliDQo+ID4gPiA+IElO Rg0KPiA+ID4gPiA+ID4gZmlsZXMNCj4gPiA+ID4gPiA+ICogVXBkYXRlIENyeXB0b1BrZy5kc2Mg ZmlsZXMgdG8gcHJvdmlkZSBmdWxsIENJIHRlc3QgY292ZXJhZ2UgYWNyb3NzDQo+ID4gYWxsDQo+ ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gICAgc3VwcG9ydGVkIGNvbWJpbmF0aW9ucyBvZiBPcGVu c3NsTGliLCBCYXNlQ3J5cHRMaWIsIGFuZCBUbHNMaWINCj4gPiA+ID4gaW5zdGFuY2VzLg0KPiA+ ID4gPiA+ID4gKiBSZW1vdmUgUEFDS0FHRSBwcm9maWxlIGZyb20gQ3J5cHRvUGtnLmRzYyBhbmQg YWRkDQo+ID4gPiA+ID4gPiBUQVJHRVRfVU5JVF9URVNUUw0KPiA+ID4gPiA+ID4gICBwcm9maWxl LiAgQWRkaW5nIFRBUkdFVF9VTklUX1RFU1RTIHByb2ZpbGUgaXMgcmVxdWlyZWQgdG8NCj4gcHJl dmVudA0KPiA+IGENCj4gPiA+ID4gZmV3DQo+ID4gPiA+ID4gPiB1bml0DQo+ID4gPiA+ID4gPiAg IHRlc3QgYXJ0aWZhY3RzIGJlaW5nIGluY2x1ZGVkIGluIG5vbiB1bml0IHRlc3QgYnVpbGRzIG9m DQo+IGNvbXBvbmVudHMuDQo+ID4gPiA+ID4gPiAqIEFkZCBDcnlwdG9Qa2cgUmVhZG1lLm1kIHdp dGggb3ZlcnZpZXcgYW5kIHBsYXRmb3JtDQo+ID4gaW50ZWdyYXRpb24NCj4gPiA+ID4gPiA+IGRl dGFpbHMuDQo+ID4gPiA+ID4gPiAqIFVwZGF0ZSBob3N0LWJhc2VkIHVuaXQgdGVzdHMgdG8gYWx3 YXlzIHVzZSBPcGVuc3NsTGliRnVsbC5pbmYNCj4gYW5kDQo+ID4gYWRkDQo+ID4gPiA+ID4gPiB1 bml0DQo+ID4gPiA+ID4gPiAgIHRlc3QgY292ZXJhZ2UgZm9yIE9wZW5zc2xMaWJGdWxsQWNjZWwu aW5mLg0KPiA+ID4gPiA+ID4gKiBBZGQgUmVhZG1lLm1kIHdpdGggQ3J5cHRvUGtnIG92ZXJ2aWV3 IGFuZCBwbGF0Zm9ybQ0KPiA+IGludGVncmF0aW9uDQo+ID4gPiA+ID4gPiAgIGRvY3VtZW50YXRp b24NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0Bp bnRlbC5jb20+DQo+ID4gPiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVs LmNvbT4NCj4gPiA+ID4gPiA+IENjOiBYaWFveXUgTHUgPHhpYW95dTEubHVAaW50ZWwuY29tPg0K PiA+ID4gPiA+ID4gQ2M6IEd1b21pbiBKaWFuZyA8Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4g PiA+ID4gPiA+IENjOiBDaHJpc3RvcGhlciBadXJjaGVyIDxjaHJpc3RvcGhlci56dXJjaGVyQG1p Y3Jvc29mdC5jb20+DQo+ID4gPiA+ID4gPiBDYzogUmViZWNjYSBDcmFuIDxxdWljX3JjcmFuQHF1 aWNpbmMuY29tPg0KPiA+ID4gPiA+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5v cmc+DQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBNaWNoYWVsIEQg S2lubmV5ICgxMik6DQo+ID4gPiA+ID4gPiAgIENyeXB0b1BrZzogRG9jdW1lbnQgYW5kIGRpc2Fi bGUgZGVwcmVjYXRlZCBjcnlwdG8gc2VydmljZXMNCj4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xp YnJhcnkvQmFzZUNyeXB0TGliOiBBZGQgbWlzc2luZyBVTkkgZmlsZSBhbmQgZml4DQo+ID4gZm9y bWF0DQo+ID4gPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogVXBkYXRl IGludGVybmFsDQo+ID4gZnVuY3Rpb25zL3ZhcmlhYmxlcw0KPiA+ID4gPiA+ID4gICBDcnlwdG9Q a2cvVGVzdC9Vbml0VGVzdC9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogVW5pdCB0ZXN0IGZpeGVzDQo+ ID4gPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5OiBDbGVhbnVwIEJhc2VDcnlwdExpYiBhbmQg VGxzTGliDQo+ID4gPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWI6IENvbWJp bmUgYWxsIHBlcmZvcm1hbmNlDQo+IG9wdGltaXplZA0KPiA+ID4gPiBJTkZzDQo+ID4gPiA+ID4g PiAgIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWI6IFByb2R1Y2UgY29uc2lzdGVudCBzZXQg b2YgQVBJcw0KPiA+ID4gPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliOiBSZW1v dmUgUHJpbnRMaWIgZnJvbSBJTkYgZmlsZXMNCj4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnOiBSZW1v dmUgUGNkT3BlbnNzbEVjRW5hYmxlZCBmcm9tIENyeXB0b1BrZy5kZWMNCj4gPiA+ID4gPiA+ICAg Q3J5cHRvUGtnOiBVcGRhdGUgRFNDIHRvIGltcHJvdmUgQ0kgdGVzdCBjb3ZlcmFnZQ0KPiA+ID4g PiA+ID4gICBDcnlwdG9Qa2c6IEZpeGVkIGhvc3QtYmFzZWQgdW5pdCB0ZXN0cw0KPiA+ID4gPiA+ ID4gICBDcnlwdG9Qa2c6IEFkZCBSZWFkbWUubWQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAg Q3J5cHRvUGtnL0NyeXB0b1BrZy5jaS55YW1sICAgICAgICAgICAgICAgICAgIHwgIDExICstDQo+ ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL0NyeXB0b1BrZy5kZWMgICAgICAgICAgICAgICAgICAgICAg IHwgIDQyICstDQo+ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL0NyeXB0b1BrZy5kc2MgICAgICAgICAg ICAgICAgICAgICAgIHwgNDYwICsrKysrKysrKy0tLQ0KPiA+ID4gPiA+ID4gIC4uLi9QY2QvUGNk Q3J5cHRvU2VydmljZUZhbWlseUVuYWJsZS5oICAgICAgICB8IDEyMiArLS0NCj4gPiA+ID4gPiA+ ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZiAgICAgfCAgMTAgKy0N Cj4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLnVuaSAg ICAgfCAgIDIgLQ0KPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjL0Ny eXB0SG1hYy5jICAgICB8ICAgNyArDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0 TGliL0tkZi9DcnlwdEhrZGYuYyAgICAgIHwgICA1ICstDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJh cnkvQmFzZUNyeXB0TGliL1BlaUNyeXB0TGliLmluZiAgICAgIHwgICA4ICstDQo+ID4gPiA+ID4g PiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BlaUNyeXB0TGliLnVuaSAgICAgIHwgICAyIC0N Cj4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliL1BrL0NyeXB0QXV0aGVudGljb2RlLmMgICAg ICAgfCAgIDIgKy0NCj4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliL1BrL0NyeXB0UGtjczdW ZXJpZnlDb21tb24uYyAgfCAgIDMgKy0NCj4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliL1Br L0NyeXB0UGtjczdWZXJpZnlFa3UuYyAgICAgfCAgIDMgKw0KPiA+ID4gPiA+ID4gIENyeXB0b1Br Zy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFRzLmMgICB8ICA0NCArLQ0KPiA+ID4gPiA+ ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mICB8ICAgOSAr LQ0KPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIu dW5pICB8ICAgMiAtDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1NlY0Ny eXB0TGliLmluZiAgICAgIHwgIDEzICstDQo+ID4gPiA+ID4gPiAgLi4uL3tTbW1DcnlwdExpYi51 bmkgPT4gU2VjQ3J5cHRMaWIudW5pfSAgICAgIHwgIDExICstDQo+ID4gPiA+ID4gPiAgLi4uL0xp YnJhcnkvQmFzZUNyeXB0TGliL1NtbUNyeXB0TGliLmluZiAgICAgIHwgIDEyIC0NCj4gPiA+ID4g PiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRMaWIudW5pICAgICAgfCAgIDIg LQ0KPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvVW5pdFRlc3RIb3N0QmFzZUNyeXB0TGli LmluZiB8ICAyMiArLQ0KPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9v cGVuc3NsY29uZi5oICAgICB8IDMyOCArKysrKysrLQ0KPiA+ID4gPiA+ID4gIC4uLi9JbmNsdWRl L29wZW5zc2wvb3BlbnNzbGNvbmZfZ2VuZXJhdGVkLmggICB8IDMzMyAtLS0tLS0tLS0NCj4gPiA+ ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL0VjU20yTnVsbC5jICAgICAgfCAy OTEgKysrKysrKysNCj4gPiA+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09w ZW5zc2xMaWIuaW5mICAgfCAxMzMgKystLQ0KPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5 L09wZW5zc2xMaWIvT3BlbnNzbExpYi51bmkgICB8ICAxMCArLQ0KPiA+ID4gPiA+ID4gIC4uLm5z c2xMaWJJYTMyR2NjLmluZiA9PiBPcGVuc3NsTGliQWNjZWwuaW5mfSB8IDE4OSArKystLQ0KPiA+ ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkFjY2VsLnVuaSAgICB8 ICAxNCArDQo+ID4gPiA+ID4gPiAgLi4uL09wZW5zc2xMaWIvT3BlbnNzbExpYkNvbnN0cnVjdG9y LmMgICAgICAgIHwgICA2ICstDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9P cGVuc3NsTGliQ3J5cHRvLmluZiAgIHwgMTg1ICsrKy0tDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJh cnkvT3BlbnNzbExpYi9PcGVuc3NsTGliQ3J5cHRvLnVuaSAgIHwgIDExICstDQo+ID4gPiA+ID4g PiAgLi4uL3tPcGVuc3NsTGliLmluZiA9PiBPcGVuc3NsTGliRnVsbC5pbmZ9ICAgIHwgMTQzICsr LS0NCj4gPiA+ID4gPiA+ICAuLi4ve09wZW5zc2xMaWIudW5pID0+IE9wZW5zc2xMaWJGdWxsLnVu aX0gICAgfCAgMTAgKy0NCj4gPiA+ID4gPiA+ICAuLi5zc2xMaWJJYTMyLmluZiA9PiBPcGVuc3Ns TGliRnVsbEFjY2VsLmluZn0gfCAxOTIgKysrLS0NCj4gPiA+ID4gPiA+ICAuLi4vT3BlbnNzbExp Yi9PcGVuc3NsTGliRnVsbEFjY2VsLnVuaSAgICAgICAgfCAgMTQgKw0KPiA+ID4gPiA+ID4gIC4u Li9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYlg2NC5pbmYgICAgICB8IDcwNiAtLS0tLS0t LS0tLS0tLS0tLS0NCj4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xM aWJYNjRHY2MuaW5mICAgfCA3MDYgLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gPiAgQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9Tc2xOdWxsLmMgICAgICAgIHwgNDA1ICsrKysrKysr KysNCj4gPiA+ID4gPiA+ICAuLi4vU3lzQ2FsbC9pbmV0X3B0b24uYyAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDANCj4gPiA+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9UbHNMaWIvVGxzQ29u ZmlnLmMgICAgICAgICAgfCAgIDIgKy0NCj4gPiA+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9U bHNMaWIvVGxzTGliLmluZiAgICAgICAgICAgfCAgMTIgKy0NCj4gPiA+ID4gPiA+ICBDcnlwdG9Q a2cvUHJpdmF0ZS9MaWJyYXJ5L0ludHJpbnNpY0xpYi5oICAgICAgfCAgMTYgKw0KPiA+ID4gPiA+ ID4gIENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvT3BlbnNzbExpYi5oICAgICAgICB8ICAxNCAr DQo+ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL1JlYWRtZS5tZCAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgNDk4ICsrKysrKysrKysrKw0KPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9UZXN0L0NyeXB0 b1BrZ0hvc3RVbml0VGVzdC5kc2MgICAgICB8ICAxNyArLQ0KPiA+ID4gPiA+ID4gIC4uLi9Vbml0 VGVzdC9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjVGVzdHMuYyB8ICAxNyArLQ0KPiA+ID4gPiA+ ID4gIC4uLi9Vbml0VGVzdC9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9UU1Rlc3RzLmMgICB8ICAgMiAr LQ0KPiA+ID4gPiA+ID4gIC4uLi9UZXN0QmFzZUNyeXB0TGliSG9zdEFjY2VsLmluZiAgICAgICAg ICAgICB8ICA1NSArKw0KPiA+ID4gPiA+ID4gIDQ4IGZpbGVzIGNoYW5nZWQsIDI2NjcgaW5zZXJ0 aW9ucygrKSwgMjQzNCBkZWxldGlvbnMoLSkNCj4gPiA+ID4gPiA+ICBjb3B5IENyeXB0b1BrZy9M aWJyYXJ5L0Jhc2VDcnlwdExpYi97U21tQ3J5cHRMaWIudW5pID0+DQo+ID4gPiA+ID4gPiBTZWND cnlwdExpYi51bml9ICg3NCUpDQo+ID4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4g PiA+ID4gPiBDcnlwdG9Qa2cvTGlicmFyeS9JbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmZfZ2Vu ZXJhdGVkLmgNCj4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xpYnJh cnkvT3BlbnNzbExpYi9FY1NtMk51bGwuYw0KPiA+ID4gPiA+ID4gIHJlbmFtZSBDcnlwdG9Qa2cv TGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliSWEzMkdjYy5pbmYgPT4NCj4gPiA+ID4gPiA+ IE9wZW5zc2xMaWJBY2NlbC5pbmZ9ICg3OSUpDQo+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+ID4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkFjY2Vs LnVuaQ0KPiA+ID4gPiA+ID4gIGNvcHkgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi97T3Bl bnNzbExpYi5pbmYgPT4NCj4gPiA+ID4gT3BlbnNzbExpYkZ1bGwuaW5mfQ0KPiA+ID4gPiA+ID4g KDgwJSkNCj4gPiA+ID4gPiA+ICBjb3B5IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIve09w ZW5zc2xMaWIudW5pID0+DQo+ID4gPiA+IE9wZW5zc2xMaWJGdWxsLnVuaX0NCj4gPiA+ID4gPiA+ ICg1NiUpDQo+ID4gPiA+ID4gPiAgcmVuYW1lIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIv e09wZW5zc2xMaWJJYTMyLmluZiA9Pg0KPiA+ID4gPiA+ID4gT3BlbnNzbExpYkZ1bGxBY2NlbC5p bmZ9ICg3OSUpDQo+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4gPiBD cnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJGdWxsQWNjZWwudW5pDQo+ID4g PiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNz bExpYi9PcGVuc3NsTGliWDY0LmluZg0KPiA+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0K PiA+ID4gPiBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjRHY2MuaW5m DQo+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5z c2xMaWIvU3NsTnVsbC5jDQo+ID4gPiA+ID4gPiAgcmVuYW1lIENyeXB0b1BrZy9MaWJyYXJ5L3tC YXNlQ3J5cHRMaWIgPT4NCj4gPiBUbHNMaWJ9L1N5c0NhbGwvaW5ldF9wdG9uLmMNCj4gPiA+ID4g PiA+ICgxMDAlKQ0KPiA+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvUHJp dmF0ZS9MaWJyYXJ5L0ludHJpbnNpY0xpYi5oDQo+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAw NjQ0IENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvT3BlbnNzbExpYi5oDQo+ID4gPiA+ID4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9SZWFkbWUubWQNCj4gPiA+ID4gPiA+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4NCj4gQ3J5cHRvUGtnL1Rl c3QvVW5pdFRlc3QvTGlicmFyeS9CYXNlQ3J5cHRMaWIvVGVzdEJhc2VDcnlwdExpYkhvc3RBY2Nl bC5pDQo+ID4gPiA+ID4gPiBuZg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ ID4gPiAyLjM3LjEud2luZG93cy4xDQo+IA0KPiANCj4gDQo+IA0KPiANCg0K