From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web10.17849.1665563612899156767 for ; Wed, 12 Oct 2022 01:33:33 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ESaf7dVo; spf=pass (domain: intel.com, ip: 134.134.136.100, 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=1665563612; x=1697099612; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=LmtXEyx5mO5MIGWgPifbjn1zsYvZE7glC4RXQbFqSyQ=; b=ESaf7dVokkJ2yMJ+Z6HIgCCuoC/FNH0Wy/0wfEKs6OZD8m+aax2lmQeG 6/1nhdvkmmVAP9Ou8R/YCQF2ctqNOIEe87RVemjsmC7L9Lz1s0IVjWpNg 6t7wFfI4Wt0J3uWDnj75AviD//3IpuxRYa+v34TJ3keQ4hhhMcYK5hayM /SQ26LtzzLglSR1l53ChkgGUyKZemnTPBgjy1sIX1WSY7dAD5kUPRwjGs qXGimSfjrCpCzxp4e7L9iHw1YKM8AT7hrRgHQkbw1Om2Y8KawZ2ymx66F LYur90TzVySZHEQws+UJDvHhP2jXZy074BWSlQfV6e9boYOcDz0sIVo5b w==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="368904268" X-IronPort-AV: E=Sophos;i="5.95,178,1661842800"; d="scan'208";a="368904268" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2022 01:33:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="689580521" X-IronPort-AV: E=Sophos;i="5.95,178,1661842800"; d="scan'208";a="689580521" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga008.fm.intel.com with ESMTP; 12 Oct 2022 01:33:31 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 12 Oct 2022 01:33:31 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 12 Oct 2022 01:33:30 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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 via Frontend Transport; Wed, 12 Oct 2022 01:33:30 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.41) 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; Wed, 12 Oct 2022 01:33:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dMNa1aq9OzmdMAj6ow5FuhqNP/riFnZeRfwstXYVVctBkA7A8oXE6hPCR8kO3uQBnzINw5oHcmoHzRVkh5vqW7hb0nF53ebHzW6ZvxfrIXQqbLFd8z2lw8DZzRBQ0YK7v9NbRRBIKNp7gliDbQE7uEEaopWb2pkmVrq5OObiUNKfwyz3XO8Ah7vwKkGGWiacT4PgOlFVVc05ujWO5/ZVmodBj6ZgpCMH0n6QYDSwzkRPX6WHzvOYg1Mt0xeE7yoSLd7SFq7IPN1D4S5FSGswDXCqY32Gg4UQ1rf5n7p0xeefdvwbMEKEpy4RfpcjOHtdUJdF6rL8V3iJ2+sqnq8+yA== 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=LmtXEyx5mO5MIGWgPifbjn1zsYvZE7glC4RXQbFqSyQ=; b=HaCJkuGlCIW6TN0snBTsXXW3/psSe41SV+VXzyPN2X/4ISEktK2rnfdEJhadnRP6A+0cTd6P1idHQCUY2P0athog33uQK+9rXA4OkIf5Aki4S61t2F9xr7dluEE89bdkKSa9apIXRL6LOCcB10pZi8kHXknjyXlfJIBGDnJId/zbDZ6ljTLv3gHBqPLdzsERSIhwKlx+w0lkFNVmuthnLF3YwWfWhvxJNd7eT221/2eE2vQd1YcQXS0aTUiHpa20KEZRLA5mCEKBPQfnyPZuXFPbk3H4hOPwzmx/UC7ImBXS3fSaI+1W8H3SA2R7aDtqR15FGrvHkhNQxBTACri71w== 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 IA0PR11MB7188.namprd11.prod.outlook.com (2603:10b6:208:440::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Wed, 12 Oct 2022 08:33:27 +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 08:33:26 +0000 From: "Yao, Jiewen" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Lu, Xiaoyu1" , "Jiang, Guomin" , "Zurcher, Christopher" , Rebecca Cran , Ard Biesheuvel Subject: Re: [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Topic: [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Index: AQHY3YK7maCqct5DWES6ZOJNywNaya4J8HawgAAHRQCAAALH8IAABdKAgAAAO8CAAAefgIAAZubg Date: Wed, 12 Oct 2022 08:33:26 +0000 Message-ID: References: <20221011150358.1332-1-michael.d.kinney@intel.com> In-Reply-To: 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_|IA0PR11MB7188:EE_ x-ms-office365-filtering-correlation-id: fe4c7bff-a364-4bed-02b5-08daac2c6f15 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: ScSayLWDfd/x8ckkSIBfZZZyJbaBA2vCvS75EEr2g46nq2qePFkc203lXZxhe2MHi1iulVymKyHfcvIPRggEdGcEjIl2n5WlFU/ZVzM3ulaNR+Rh0sqkPjm1KnnWCMTTR2gDxVT+B74BraOuLyVQB2OmSovKlcyC7LiywuL7hhtiFpRns3X+vQDjXz2qbyioLi7GzFhchqLx9x7s6yTlj55DqN00S0JqvRYuvoj3B92Yw9JO76ZKauqYb/9nGwT/+l6iR//vtMJn/Qt+vv6I+fFxj487TbFYCH3G/Ct4cqvWSEE5O0F8AmiNfWFT2S9ayI+ybXANZ/4RYgpEhcx0K9fQbgENYPCc+BYqI9/0u6uDZzLoZFbMa5XHlF+T1lXaVLsSQOrZhvVbqH/sOlbeDQBCXY9s00LhYzLO6jTzn8KlNNtOtk7gl37sPQsrSK3HxzytRVyCXeBWfYnimASRVDI8tgA+JDPrecwBIG19ftkTrzV8hRwLgBGxe8Scy5h1oRiFPFLDvii0c3tqvmSX9EQfV7sjhk2Sql2Q+r466DEzr5AZsPK25buiPhlJ9Fa8b4ONTfJ2ECaXMB6SB9UdMnQgDE5B7JiWVnNVh2qR5KsXE+a6cdYmcE41N/jLvnsKdQ6GjWkzGMCE7xF7Mabd/OnxDYqI/IRvq5c8/Q8/OKl8lB95NUuwF9OfHgi/pjkf0KHZCCzXZsBhJZyqDY+BWlYaSS9g3/C5zEgKsDRexHgt7wFPIvlqcsB4m096QAof1uzWnurv3q7F0Lm9DXBMOHWSG0tZiO/9RqGwZMiI5f5lJqjHUF9yJdo87V1WJN2VTI0Rnq+oRTY0A0rU+8HacQ== 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)(39860400002)(396003)(376002)(136003)(346002)(366004)(451199015)(55016003)(26005)(53546011)(110136005)(8936002)(86362001)(41300700001)(2906002)(5660300002)(4326008)(33656002)(66946007)(66556008)(66446008)(66476007)(64756008)(52536014)(76116006)(316002)(54906003)(30864003)(19627235002)(478600001)(8676002)(71200400001)(38070700005)(966005)(6506007)(122000001)(83380400001)(9686003)(82960400001)(38100700002)(7696005)(186003)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Yk5laVVwWE5LVUhreCtFZ3BMbTNIQ1IzTi91VVduTVpOdkg0SmJmZEZTaEFY?= =?utf-8?B?Vk1XTlY5Q0gzM2pHTWxHWVBQSU1BZmxmQklQb2lPRWZ4MWxsSUtYK0E0WXFL?= =?utf-8?B?S0tQck1PNEdodXk1MEhzdC9SV1FoOTBERG5uWkdPeDJkMXJ4NEUzZ3F2U1lT?= =?utf-8?B?VmxLdmh1clVLYWlWRUdPUzVDVHFDSHUrVWJVVllRUUFPajIvWHhVb0VuU2Zn?= =?utf-8?B?djdrb2V2NGJ0Zi9GK1kyakVNaFMvb1ExRjVabzNOMkIyTnJWVU5UQWE5VEhB?= =?utf-8?B?OGdhbjRRWmxNc0F4Q1cweGhNN1VYeTJ3aC9QSjNTanNaWGdsekF5aTBoU2JH?= =?utf-8?B?ckhEcXRvblh2SVIreEtFSTJjbXMyallyMUZzSFMzanp1U2FiMTFVQlVsTnhZ?= =?utf-8?B?RS8rMFhsdGNYb3RYNUYzSGhyTUZlNXhzVkRWU3hyVWI5YStJVmN4cXQwVllx?= =?utf-8?B?OXpKbjJoSXZGNzlWTTNSWG1TV0NYakRkUm5lQjNkNUhlNTZmYjVXNnN4TnJr?= =?utf-8?B?SFU4MGF3elJQYm9nYkhNYm9NZ2tWVTV5ZFphM21ZdFpCTDBaWjNpSjZTcFVF?= =?utf-8?B?NXJVRk1ac1Y0MG40dXBQYUw3L3QrNmRsck8zdlE3ek53aUZOeFFuUEVTMFc4?= =?utf-8?B?Q0lXQjlSUzc4U0tqOXVZUTJDUHA4c1Q4N1RSS2tlQWdHWUdLMjRSbUMvTHQy?= =?utf-8?B?RFU1UHpmOG94MVZHNWhKR2hJalZoR2RMbTZ1SjhmLysxaW9ab1pFU1NWNEJj?= =?utf-8?B?YXFvdGtrUlVBUmt6NUYya1BBemhCellHam1BNWg5MkFDaHVIMW5jT2c0Yklh?= =?utf-8?B?TUhwSWd2K0hVU0VBK0hKMG56cUlnNnA0M0FFNCs2UlN1VE12NGg5ck9PeFFj?= =?utf-8?B?cTBUa2hSdVJ6V0w5V1hKVnZicWV3QXR6ZDRiSHhYQmY0UlNOUTZBbnBoL1V1?= =?utf-8?B?QVo1QzB6eTg4VWtJOEdLVHU2WU1XK2JiRlMxelc1V0hndHY5T3BCVXUwdURm?= =?utf-8?B?VDFyS3Mrc1VCNEZVNHl0YTdSOURLdkYxck5SZnlIQjNzM2w1Y1Iva1M0SitD?= =?utf-8?B?QVl5dE9WekYwOXAvNmxmMW5JOHlWaVM2ZUUrOCtETlRXTlR0SDA4bVRXajlK?= =?utf-8?B?enkyZW8yWTVlalplTmdIcjZURlRxTDVYMGhCYU15amd1ZTYwbi92Y1JJV0Rp?= =?utf-8?B?T3h6QXJFdUU3ajRBOEJRUGs4NGNiY0dLVmVOYWFqOGFwR0ltVXpMZGJrcnNS?= =?utf-8?B?SlBVeURYM3dBT0dIMENoUVdlR3cxLzNQNVlraVQxdEJHcFlKdi95dzlCSXdr?= =?utf-8?B?c3phM3ljUUFzVDlPQjhXT3R3Z2VDTnZ2WHV0SGIzZWdqcDczamhDWTIrZDQv?= =?utf-8?B?aTlvMzJud0J2bTFzdWR1Ni9UekdpUGZHSFEyQXF5dWNSVFlzQkJSejJEcWZl?= =?utf-8?B?azhNZHN5L2VaY0tKVVRKNS96bnd6TzF1cWNwNEEvQ0x2aTVDb0d1NjRGa091?= =?utf-8?B?OXplT1o3cVdrbGxlZkc1TDhheFB2WjFVdWpDc1RqdUhKWFl6bzFyako4TXdC?= =?utf-8?B?eXlnK3plY2xkVGxyYWVFcEsvamFNMEl6R2k5TUMrak5QWUtjM21CRlhabFZV?= =?utf-8?B?MkJsbi9HUXJYREdtV29sck5pRERzN1NWamZwQnVWbGZKOHFsd2lPamJYc3FV?= =?utf-8?B?b2RnRnF0T0VpU1NycHBiS1BzVzY1V3dNbFREekdZWllQbVBzc3kxOG84eXJr?= =?utf-8?B?Y3BRUERQQ0x1OUhYMEFuWTVvMm5uM3EvWmFTUTNEZGFDMGNxR0VQZko1OEU4?= =?utf-8?B?K2szd2dwTUlNeGpWbjl6emdyMGFRY1BaL2JlRHAxTHJmRGdGRzV2TTJSZXZH?= =?utf-8?B?ZEhNMlEvb3Jnajl5b2tlNUJQZEF0cjVaTDBQMXluNm5Rd0JCZit5UFdCcGRK?= =?utf-8?B?ejNWb2JsdWdaY2VTQXJEVVBIVXA4c2d1eThsbTNkNEwvbmFBVjZsM1QxZW1C?= =?utf-8?B?SVB5ZmsvdnF6b3hELy9ZN051QTY0aVROV2pnamUyR0phZWswU2o4K3JjSENN?= =?utf-8?B?bkhPYWFBNmFncjBrclVQZXRqOHF4SnJZTmIwQnlPbEVGQWFuTnVzVG1KanZo?= =?utf-8?Q?hU9BM6rwnmIoLC/SNSCQm5uES?= 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: fe4c7bff-a364-4bed-02b5-08daac2c6f15 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 08:33:26.8220 (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: lS4qAyhH+D0/C20xKxKhkHDbU3V1KaDYt3SxzB71DzVyyj/iAkotogAe5sYP1M7miXOo4FGLiadtK2CSfYJyOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB7188 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 VGhhbmtzIE1pa2UuIEFncmVlIHdpdGggeW91Lg0KDQpGb3IgdGhlIHNlcmllcywgQWNrZWQtYnk6 IEppZXdlbiBZYW8gPEppZXdlbi55YW9AaW50ZWwuY29tPg0KDQoNCkp1c3QgRllJOiBJIGhhdmUg bWVyZ2VkIHJlc3QgcGVuZGluZyBDcnlwdG9Qa2cgcGF0Y2hlcy4NClBsZWFzZSByZWJhc2Ugd2hl biB5b3Ugc3VibWl0IG5leHQgdmVyc2lvbi4NCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTIs IDIwMjIgMTA6MjMgQU0NCj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47 IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksDQo+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+DQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNv bT47IEx1LCBYaWFveXUxDQo+IDx4aWFveXUxLmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4g PGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiBadXJjaGVyLCBDaHJpc3RvcGhlciA8Y2hyaXN0 b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBDcmFuDQo+IDxxdWljX3JjcmFu QHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gU3ViamVj dDogUkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRvUGtnOiBSZW1vdmUgRUMgUENEIGFuZCBtZXJnZSBw ZXJmIG9wdA0KPiBPcGVuc3NsTGlicw0KPiANCj4gSGkgSmlld2VuLA0KPiANCj4gY29tbWVudHMg YmVsb3cuDQo+IA0KPiBNaWtlDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFR1 ZXNkYXksIE9jdG9iZXIgMTEsIDIwMjIgNzowNyBQTQ0KPiA+IFRvOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0K PiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUx DQo+IDx4aWFveXUxLmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0Bp bnRlbC5jb20+Ow0KPiBadXJjaGVyLA0KPiA+IENocmlzdG9waGVyIDxjaHJpc3RvcGhlci56dXJj aGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhIENyYW4NCj4gPHF1aWNfcmNyYW5AcXVpY2luYy5j b20+OyBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+IFN1YmplY3Q6IFJFOiBb UGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQN Cj4gT3BlbnNzbExpYnMNCj4gPg0KPiA+IE9LLiBUaGF0IG1lYW5zIHdlIG5lZWQgbWFudWFsIHdy aXRlIGEgd3JhcHBlciBmb3IgYWxsIEVDIEFQSXMgaW4gT3BlbnNzbA0KPiBMaWIgZm9yIGludGVy bmFsIHVzYWdlLg0KPiA+IE1vcmUgcHJlY2lzZWx5LCBhIHdyYXBwZXIgZm9yIHRoZSBkZWx0YSBi ZXR3ZWVuIE9wZW5zc2xMaWIgYW5kDQo+IE9wZW5zc2xMaWJGdWxsLCByaWdodD8NCj4gDQo+IFll cy4gIFRoaXMgdGhlc2UgYXJlIGltcGxlbWVudGVkIGluOg0KPiANCj4gaHR0cHM6Ly9naXRodWIu Y29tL21ka2lubmV5L2VkazIvYmxvYi9DcnlwdG9Qa2dfUmVtb3ZlRWNQY2RfTWVyZ2UNCj4gT3B0 aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9Tc2xOdWxsLmMN Cj4gaHR0cHM6Ly9naXRodWIuY29tL21ka2lubmV5L2VkazIvYmxvYi9DcnlwdG9Qa2dfUmVtb3Zl RWNQY2RfTWVyZ2UNCj4gT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRvUGtnL0xpYnJhcnkvT3Bl bnNzbExpYi9FY1NtMk51bGwuYw0KPiANCj4gTmV3IGluc3RhbmNlcyBhcmUgZWFzeSB0byBmaW5k IGJlY2F1c2UgeW91IHdpbGwgZ2V0IGEgbGluayBmYWlsdXJlIGluIENJIGZvcg0KPiBtaXNzaW5n IHN5bWJvbHMgaWYNCj4gQmFzZUNyeXB0TGliIG9yIFRsc0xpYiB1c2VzIGEgbmV3IEFQSSB0aGF0 IGlzIG9ubHkgcHJlc2VudCBpbg0KPiBPcGVuc3NsTGliRnVsbC5pbmYuICBXaGVuIHRoYXQgb2Nj dXJzDQo+IGFkZCB0aGUgTnVsbCB2ZXJzaW9uIG9mIEFQSSB0aGF0IGFsd2F5cyByZXR1cm5zIGEg ZmFpbHVyZSBjb25kaXRpb24uDQo+IA0KPiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBiZWZv cmUgdGhpcyBQUiBpcyB1c2luZyBPcGVuc3NsTGliIGNsYXNzLCBidXQgdGhlDQo+IE9wZW5zc2xM aWIgaW5zdGFuY2VzDQo+IGFyZSBpbmNvbnNpc3RlbnQgaW4gdGhlIEFQSXMgcHJvZHVjZWQgYnkg dGhlIGxpYiBpbnN0YW5jZXMuICBUaGlzIGlzIHdoYXQNCj4gY2F1c2VkIHRoZSBpbnRyb2R1Y3Rp b24NCj4gb2YgI2lmIGZvciBFQyBmZWF0dXJlIGludG8gdGhlIGxheWVycyBhYm92ZSBPcGVuc3Ns TGliLiAgVGhpcyBtZWFucyB0aGUgRURLIElJDQo+IHJ1bGVzIGZvcg0KPiBsaWIgY2xhc3MvbGli IGluc3RhbmNlIHdlcmUgbm90IGZvbGxvd2VkLCBhbmQgdGhlIHdvcmthcm91bmQgd2FzIHRvIHVz ZSAjaWYNCj4gd2hpY2ggYXJlIGFsc28gbm90IGFsbG93ZWQuDQo+IA0KPiBUaGUgY29ycmVjdCBm aXggaXMgdG8gZm9sbG93IEVESyBJSSBsaWIgY2xhc3MvbGliIGluc3RhbmNlIHJ1bGVzLiAgQWxs IGxpYiBpbnN0YW5jZXMNCj4gb2YgdGhlIHNhbWUNCj4gbGliIGNsYXNzIGFsd2F5cyBwcm9kdWNl IHRoZSBzYW1lIEFQSXMsIGFuZCB0aGVuIGFsbCBjb21wb25lbnRzIHRoYXQgdXNlDQo+IHRoZSBs aWIgY2xhc3MgY2FuIGRlcGVuZA0KPiBvbiBhbGwgdGhlIHNlcnZpY2VzIGJlaW5nIHByZXNlbnQg d2l0aG91dCBsaW5rIGZhaWx1cmVzLg0KPiANCj4gPg0KPiA+IFRoZXJlIHdpbGwgYmUgc2l6ZSBk aWZmZXJlbmNlIGJldHdlZW4gdGhvc2UgdHdvIHNvbHV0aW9ucywgYmVjYXVzZSB0aGUNCj4gY29k ZSBvdGhlciB0aGFuIEVDIHdpbGwgYmUgaW5jbHVkZSBpbiB0aGUgZnVuY3Rpb24uDQo+IA0KPiBZ ZXMsDQo+IA0KPiA+DQo+ID4gV2h5IG5vdCB1c2UgTk9fRUMgbWFjcm8gZnJvbSBvcGVuc3NsIGRp cmVjdGx5Pw0KPiANCj4gQmVjYXVzZSB0aGF0IGhpZGVzIGFsbCB0aGUgRUMgcmVsYXRlZCB0eXBl cyByZXF1aXJlZCB0byBpbXBsZW1lbnQgdGhlIE51bGwNCj4gRUMgQVBJcw0KPiBhbmQgdGhlIEVD IHR5cGVzIHJlcXVpcmVkIGluIHRoZSBsYXllciBhYm92ZSBPcGVuc3NsTGliIHRoYXQgY2FsbHMg RUMNCj4gc2VydmljZXMuDQo+IFRoZXkgd2lsbCBub3QgY29tcGlsZSB3aXRob3V0IHRoZSBFQyB0 eXBlcyBiZWluZyBkZWZpbmVkLg0KPiANCj4gPg0KPiA+IFRoYW5rIHlvdQ0KPiA+IFlhbyBKaWV3 ZW4NCj4gPg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJv bTogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4g U2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDEyLCAyMDIyIDk6NTUgQU0NCj4gPiA+IFRvOiBZYW8s IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lu bmV5LA0KPiA+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+ ID4gPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdA aW50ZWwuY29tPjsNCj4gPiA+IFp1cmNoZXIsIENocmlzdG9waGVyIDxjaHJpc3RvcGhlci56dXJj aGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhDQo+IENyYW4NCj4gPiA+IDxxdWljX3JjcmFuQHF1 aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gPiA+IFN1Ympl Y3Q6IFJFOiBbUGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2Ug cGVyZg0KPiBvcHQNCj4gPiA+IE9wZW5zc2xMaWJzDQo+ID4gPg0KPiA+ID4gSmlld2VuLA0KPiA+ ID4NCj4gPiA+IFRoZSBCS00gaXMgdG8ganVzdCBjYWxsIHRoZSBFQyBzZXJ2aWNlcyBmcm9tIHRo ZSBsYXllcnMgYWJvdmUgT3BlbnNzbExpYi4NCj4gPiA+IFRoZSBFQyBBUElzIHdpbGwgYWx3YXlz IGJlIHByZXNlbnQuICBFaXRoZXIgcmVhbCBFQyBzZXJ2aWNlIG9yIE51bGwgRUMNCj4gc2Vydmlj ZS4NCj4gPiA+IFRoaXMgd2F5IHdlIGNhbiByZW1vdmUgYWxsIHRoZSAjaWZkZWYgb24gRUMgUENE Lg0KPiA+ID4NCj4gPiA+IFBsYXRmb3JtIGRldmVsb3BlcnMgc2VsZWN0IHRoZSBPcGVuc3NsTGli IGluc3RhbmNlIHdpdGggRUMNCj4gPiA+IChPcGVuc3NsTGliRnVsbC5pbmYpIG9yDQo+ID4gPiB3 aXRob3V0IEVDIChPcGVuc3NsTGliLmluZikuDQo+ID4gPg0KPiA+ID4gTWlrZQ0KPiA+ID4NCj4g PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogWWFvLCBKaWV3 ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVy IDExLCAyMDIyIDY6MzcgUE0NCj4gPiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT47DQo+ID4gPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4g PiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0K PiA+ID4gPHhpYW95dTEubHVAaW50ZWwuY29tPjsgSmlhbmcsIEd1b21pbiA8Z3VvbWluLmppYW5n QGludGVsLmNvbT47DQo+ID4gPiBadXJjaGVyLA0KPiA+ID4gPiBDaHJpc3RvcGhlciA8Y2hyaXN0 b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBDcmFuDQo+ID4gPiA8cXVpY19y Y3JhbkBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ID4g PiA+IFN1YmplY3Q6IFJFOiBbUGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBh bmQgbWVyZ2UgcGVyZg0KPiBvcHQNCj4gPiA+IE9wZW5zc2xMaWJzDQo+ID4gPiA+DQo+ID4gPiA+ IEhpIE1pa2UNCj4gPiA+ID4gRm9yIFBjZE9wZW5zc2xFY0VuYWJsZWQsIEkgYW0gc2VlaW5nIG90 aGVyIHVzYWdlLiBGb3IgZXhhbXBsZToNCj4gPiA+ID4NCj4gPiA+DQo+IGh0dHBzOi8vZ2l0aHVi LmNvbS9xaXpoYW5nei9lZGsyL2Jsb2IvRUNfVXBzdHJlYW0vQ3J5cHRvUGtnL0xpYnJhcnkvDQo+ ID4gPiBCYXNlQ3J5cHRMaWIvUGVtL0NyeXB0UGVtLmMjTDE1Ng0KPiA+ID4gPg0KPiA+ID4gPiBJ IHRoaW5rIHdlIG1heSBuZWVkIEJLTSBvbiAiaG93IHRvIGRpc2FibGUgRUMiLg0KPiA+ID4gPg0K PiA+ID4gPiBUaGFuayB5b3UNCj4gPiA+ID4gWWFvLCBKaWV3ZW4NCj4gPiA+ID4NCj4gPiA+ID4N Cj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gPiBT ZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTIsIDIwMjIgOToyNSBBTQ0KPiA+ID4gPiA+IFRvOiBZ YW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsN Cj4gS2lubmV5LA0KPiA+ID4gPiA+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+DQo+ID4gPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsg THUsIFhpYW95dTENCj4gPiA+ID4gPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3Vv bWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsNCj4gPiA+ID4gPiBadXJjaGVyLCBDaHJpc3Rv cGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsNCj4gUmViZWNjYQ0KPiA+ ID4gQ3Jhbg0KPiA+ID4gPiA+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2 ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSRTogW1BhdGNoIDAwLzEy XSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQQ0QgYW5kIG1lcmdlDQo+IHBlcmYNCj4gPiA+IG9wdA0K PiA+ID4gPiA+IE9wZW5zc2xMaWJzDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBIaSBKaWV3ZW4sDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBDb21tZW50cyBiZWxvdy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ IE1pa2UNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiA+ID4gPiA+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4g PiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTEsIDIwMjIgNjowOSBQTQ0KPiA+ID4g PiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 DQo+ID4gPiA+ID4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiA+IENjOiBXYW5nLCBK aWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+ID4gPiA+ID4gPHhp YW95dTEubHVAaW50ZWwuY29tPjsgSmlhbmcsIEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNv bT47DQo+ID4gPiA+ID4gWnVyY2hlciwNCj4gPiA+ID4gPiA+IENocmlzdG9waGVyIDxjaHJpc3Rv cGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhIENyYW4NCj4gPiA+ID4gPiA8cXVp Y19yY3JhbkBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ ID4gPiA+ID4gPiBTdWJqZWN0OiBSRTogW1BhdGNoIDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92ZSBF QyBQQ0QgYW5kIG1lcmdlDQo+IHBlcmYNCj4gPiA+IG9wdA0KPiA+ID4gPiA+IE9wZW5zc2xMaWJz DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhhbmsgeW91IE1pa2UuDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gMSkgSSBsaWtlIHRoZSBpZGVhIHRvIGNvbWJpbmUgbXVsdGlwbGUgT3BlbnNz bExpYklBMzIvWDY0LmluZiBpbnRvDQo+IG9uZQ0KPiA+ID4gPiA+IE9wZW5zc2xMaWJBY2NlbC5p bmYuDQo+ID4gPiA+ID4gPiBBbHNvIHRoZSBjbGVhbnVwIGxvb2tzIGdvb2QgdG8gbWUuDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gMikgSSBhbHNvIGxpa2UgdGhlIHN1bW1hcnkgaW4gcmVhZG1l IGluDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20v bWRraW5uZXkvZWRrMi90cmVlL0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4gPiA+ IE9wdGltaXplZE9wZW5zc2xMaWJzL0NyeXB0b1BrZw0KPiA+ID4gPiA+ID4gSSBub3RpY2Ugc29t ZSBhbGdvcml0aG1zIGFyZSBsaXN0ZWQgWShEZXByZWNhdGVkKSBidXQgTihEb24ndCBVc2UpLA0K PiA+ID4gc3VjaA0KPiA+ID4gPiA+IGFzIFRkZXMsIEFyYzQsIEFlcy5FY2IqLg0KPiA+ID4gPiA+ ID4gQnV0IEkgZG9u4oCZdCBzZWUgdGhlIHVzZSBjYXNlIGZvciB0aG9zZSBhbGdvcml0aG1zIGFu ZCBJIHN1Z2dlc3QgYQ0KPiA+ID4gPiA+IFkoRGVwcmVjYXRlZCkgaGF2ZSBZKERvbid0IFVzZSku DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBHb29kIGNhdGNoLiAgSSB3aWxsIGZpeC4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IDMpIEFib3V0IFBjZE9wZW5zc2xFY0VuYWJsZWQN Cj4gPiA+ID4gPiA+IEkgbm90aWNlIGl0IGlzIHVzZWQgaW4gZXhpc3RpbmcgY29kZSAtDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkv ZWRrMi9ibG9iL0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4gPiA+IE9wdGltaXpl ZE9wZW5zc2xMaWJzL0NyeXB0b1BrZy9MaWJyYXJ5L1Rsc0xpYi9UbHNDb25maWcuYyNMMTENCj4g PiA+ID4gPiA+IDM5DQo+ID4gPiA+ID4gPiBJcyB0aGlzIHJpZ2h0IHdheT8NCj4gPiA+ID4gPg0K PiA+ID4gPiA+IFRoaXMgd2FzIGFkZGVkIHNpbmNlIEkgc3RhcnRlZCB0aGlzIHdvcmsgYW5kIHdh cyBhZGRlZCBiYWNrIGluIGJ5DQo+ID4gPiByZWJhc2UuICBJDQo+ID4gPiA+ID4gd2lsbCBmaXgu DQo+ID4gPiA+ID4gV2UgY2FuIGp1c3QgcmVtb3ZlIHRoZSBjaGVjayBmb3IgdGhlIFBDRC4gIElm IHRoZSBPcGVuc3NsTGliDQo+IGluc3RhbmNlDQo+ID4gPiBkb2VzDQo+ID4gPiA+ID4gbm90IGlu Y2x1ZGUNCj4gPiA+ID4gPiBTU0wgc2VydmljZXMsIHRoZW4gdGhlIE51bGwgU1NMIHNlcnZpY2Vz IGFyZSBwcmVzZW50IGFuZCB0aGUgY2FsbCB0bw0KPiA+ID4gU1NMX2N0cmwoKQ0KPiA+ID4gPiA+ IHdpbGwNCj4gPiA+ID4gPiByZXR1cm4gMCB3aGljaCB3aWxsIGZvcmNlIFRsc1NldEVjQ3VydmUo KSB0byByZXR1cm4NCj4gRUZJX1VOU1VQUE9SVEVELg0KPiA+ID4gSXQNCj4gPiA+ID4gPiB3aWxs IGFsc28NCj4gPiA+ID4gPiBBU1NFUlQoKSBpbmZvcm1pbmcgdGhlIGRldmVsb3BlciB0aGF0IGEg Y2FsbCB0byBhIHNlcnZpY2UgdGhhdA0KPiBkZXBlbmRzDQo+ID4gPiBvbg0KPiA+ID4gPiA+IFNT TCB3YXMgbWFkZQ0KPiA+ID4gPiA+IHdpdGhvdXQgU1NMIHNlcnZpY2VzIGF2YWlsYWJsZS4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IGxvbmcNCj4gPiA+ID4gPiBTU0xfY3RybCAoDQo+ID4gPiA+ID4g ICBTU0wgICAqc3NsLA0KPiA+ID4gPiA+ICAgaW50ICAgY21kLA0KPiA+ID4gPiA+ICAgbG9uZyAg bGFyZywNCj4gPiA+ID4gPiAgIHZvaWQgICpwYXJnDQo+ID4gPiA+ID4gICApDQo+ID4gPiA+ID4g ew0KPiA+ID4gPiA+ICAgQVNTRVJUIChGQUxTRSk7DQo+ID4gPiA+ID4gICByZXR1cm4gMDsNCj4g PiA+ID4gPiB9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBMaWtld2lzZSwgaWYgdGhlIE9wZW5zc2xM aWIgaW5zdGFuY2UgZG9lcyBub3Qgc3VwcG9ydCBFQyBzZXJ2aWNlcywNCj4gdGhlbg0KPiA+ID4g dGhlDQo+ID4gPiA+ID4gTnVsbA0KPiA+ID4gPiA+IEVDIHNlcnZpY2VzIHdpbGwgYmUgaW5jbHVk ZWQgYW5kIHRoZSBjYWxsIHRvDQo+ID4gPiBFQ19LRVlfbmV3X2J5X2N1cnZlX25hbWUoKQ0KPiA+ ID4gPiA+IHdpbGwNCj4gPiA+ID4gPiByZXR1cm4gTlVMTCB3aGljaCB3aWxsIGZvcmNlIFRsc1Nl dEVjQ3VydmUoKSB0byByZXR1cm4NCj4gPiA+IEVGSV9VTlNVUFBPUlRFRC4gSXQNCj4gPiA+ID4g PiB3aWxsIGFsc28NCj4gPiA+ID4gPiBBU1NFUlQoKSBpbmZvcm1pbmcgdGhlIGRldmVsb3BlciB0 aGF0IGEgY2FsbCB0byBhIHNlcnZpY2UgdGhhdA0KPiBkZXBlbmRzDQo+ID4gPiBvbiBFQw0KPiA+ ID4gPiA+IHdhcyBtYWRlDQo+ID4gPiA+ID4gd2l0aG91dCBFQyBzZXJ2aWNlcyBhdmFpbGFibGUu DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBFQ19LRVkgKg0KPiA+ID4gPiA+IEVDX0tFWV9uZXdfYnlf Y3VydmVfbmFtZSAoDQo+ID4gPiA+ID4gICBpbnQgIG5pZA0KPiA+ID4gPiA+ICAgKQ0KPiA+ID4g PiA+IHsNCj4gPiA+ID4gPiAgIEFTU0VSVCAoRkFMU0UpOw0KPiA+ID4gPiA+ICAgcmV0dXJuIE5V TEw7DQo+ID4gPiA+ID4gfQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhh bmsgeW91DQo+ID4gPiA+ID4gPiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gRnJvbTogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiBT ZW50OiBUdWVzZGF5LCBPY3RvYmVyIDExLCAyMDIyIDExOjA0IFBNDQo+ID4gPiA+ID4gPiA+IFRv OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiA+ID4gPiBDYzogWWFvLCBKaWV3ZW4gPGpp ZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+ID4gPiA+ID4gPiA+IDxqaWFuLmou d2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+Ow0KPiBK aWFuZywNCj4gPiA+ID4gPiA+ID4gR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgWnVy Y2hlciwgQ2hyaXN0b3BoZXINCj4gPiA+ID4gPiA+ID4gPGNocmlzdG9waGVyLnp1cmNoZXJAbWlj cm9zb2Z0LmNvbT47IFJlYmVjY2EgQ3Jhbg0KPiA+ID4gPiA+ID4gPiA8cXVpY19yY3JhbkBxdWlj aW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ID4gPiA+ID4gPiA+ IFN1YmplY3Q6IFtQYXRjaCAwMC8xMl0gQ3J5cHRvUGtnOiBSZW1vdmUgRUMgUENEIGFuZCBtZXJn ZQ0KPiBwZXJmDQo+ID4gPiBvcHQNCj4gPiA+ID4gPiA+ID4gT3BlbnNzbExpYnMNCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gVGhlIHJlY2VudCBhZGRpdGlvbiBvZiB0aGUgRWNsaXB0aWMg Q3VydmUgKEVDKSBmZWF0dXJlIGFuZCB0aGUNCj4gPiA+ID4gPiBwZXJmb3JtYW5jZQ0KPiA+ID4g PiA+ID4gPiBvcHRpbWl6YXRpb24gZmVhdHVyZXMgaW5jcmVhc2VkIHRoZSBjb21wbGV4aXR5IGZv ciBwbGF0Zm9ybXMgdG8NCj4gPiA+ID4gPiBpbnRlZ3JhdGUNCj4gPiA+ID4gPiA+ID4gYW5kIGVu YWJsZSB0aGVzZSBmZWF0dXJlcy4gVGhpcyBzZXJpZXMgc2ltcGxpZmllcyB0aGUgcGxhdGZvcm0N Cj4gPiA+ID4gPiBjb25maWd1cmF0aW9uDQo+ID4gPiA+ID4gPiA+IGFzIG11Y2ggYXMgcG9zc2li bGUgYW5kIGltcHJvdmVzIHRoZSBhYmlsaXR5IHRvIG1hbmFnZSB0aGUgdGhlDQo+IHNpemUNCj4g PiA+ID4gPiBpbXBhY3QNCj4gPiA+ID4gPiA+ID4gb2YgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcyBp biBlYWNoIEZXIHBoYXNlLiBBIFJlYWRtZS5tZCBpcyBhbHNvDQo+ID4gPiBhZGRlZA0KPiA+ID4g PiA+ID4gPiB0aGF0DQo+ID4gPiA+ID4gPiA+IHByb3ZpZGVzIGFuIG92ZXJ2aWV3IG9mIHRoZSBD cnlwdG9Qa2cgZGVzaWduIGFuZCBmZWF0dXJlcyBhbG9uZw0KPiA+ID4gd2l0aA0KPiA+ID4gPiA+ ID4gPiBwbGF0Zm9ybQ0KPiA+ID4gPiA+ID4gPiBpbnRlZ3JhdGlvbiByZWNvbW1lbmRhdGlvbnMu DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRoaXMgc2VyaWVzIGFsc28gYWRkcmVzc2Vz IHByaXZhdGUgbGlicmFyeSBjbGFzcyBkZWNsYXJhdGlvbnMNCj4gbWlzc2luZw0KPiA+ID4gZnJv bQ0KPiA+ID4gPiA+ID4gPiBDcnlwdG9Qa2cuZGVjIGFuZCBsaWJyYXJ5IGluc3RhbmNlcyBub3Qg cHJvZHVjaW5nIGFsbCB0aGUgQVBJcw0KPiA+ID4gZGVmaW5lZA0KPiA+ID4gPiA+ID4gPiBieSB0 aGUgbGlicmFyeSBjbGFzc2VzLiBBIHJldmlldyBvZiB0aGUgQ3J5cHRvUGtnIEVESyBJSSBtZXRh DQo+IGRhdGENCj4gPiA+IGZpbGVzDQo+ID4gPiA+ID4gPiA+IGlkZW50aWZpZWQNCj4gPiA+ID4g PiA+ID4gYSBudW1iZXIgb2YgYWRkaXRpb25hbCBjbGVhbnVwcy4gVGhlIENyeXB0b1BrZy5kc2Mg ZmlsZSB3YXMgYWxzbw0KPiA+ID4gPiA+IHVwZGF0ZWQgdG8NCj4gPiA+ID4gPiA+ID4gaW1wcm92 ZSBDSSBjb3ZlcmFnZSBmb3IgZnV0dXJlIENyeXB0b1BrZyBjaGFuZ2VzIGFuZCBpZGVudGlmaWVk DQo+ID4gPiBzb21lDQo+ID4gPiA+ID4gPiA+IHVuaXQgdGVzdCBidWcgZml4ZXMuDQo+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFBSOiAgICAgaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29y ZS9lZGsyL3B1bGwvMzQ0Mw0KPiA+ID4gPiA+ID4gPiBCcmFuY2g6DQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4NCj4gPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyL3RyZWUv Q3J5cHRvUGtnX1JlbW92ZUVjUGNkX01lcmdlDQo+ID4gPiA+ID4gPiA+IE9wdGltaXplZE9wZW5z c2xMaWJzDQo+ID4gPiA+ID4gPiA+IFJlYWRtZToNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0K PiA+ID4NCj4gaHR0cHM6Ly9naXRodWIuY29tL21ka2lubmV5L2VkazIvYmxvYi9DcnlwdG9Qa2df UmVtb3ZlRWNQY2RfTWVyZ2UNCj4gPiA+ID4gPiA+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5 cHRvUGtnL1JlYWRtZS5tZA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBDaGFuZ2UgU3Vt bWFyeQ0KPiA+ID4gPiA+ID4gPiA9PT09PT09PT09PT09PQ0KPiA+ID4gPiA+ID4gPiAqIERvY3Vt ZW50IGRpc2FibGVkL2RlcHJlY2F0ZWQgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcw0KPiA+ID4gPiA+ ID4gPiAqIEFkZCBtaXNzaW5nIFVOSSBmaWxlcyBpbiBCYXNlQ3J5cHRMaWINCj4gPiA+ID4gPiA+ ID4gKiBVcGRhdGUgQmFzZUNyeXB0TGliIGludGVybmFsIGZ1bmN0aW9ucyB0byBiZSBTVEFUSUMg YW5kDQo+IHJlbW92ZQ0KPiA+ID4gPiA+IEVGSUFQSQ0KPiA+ID4gPiA+ID4gPiAqIEFkZCBHTE9C QUxfUkVNT1ZFX0lGX1VOUkVGRVJFTkNFRCB0byBCYXNlQ3J5cHRMaWINCj4gZ2xvYmFsDQo+ID4g PiA+ID4gPiA+IHZhcmlhYmxlcw0KPiA+ID4gPiA+ID4gPiAqIEZpeCBCYXNlQ3J5cHRMaWIgdW5p dCB0ZXN0cw0KPiA+ID4gPiA+ID4gPiAqIENsZWFudXAgQmFzZUNyeXB0TGliIGFuZCBUbHNMaWIg SU5GIGZpbGVzIGFuZA0KPiA+ID4gPiA+ID4gPiAqIE1vdmUgU3lzQ2FsbC9pbmV0X3B0b24uYyBm cm9tIEJhc2VDcnlwdExpYiB0byBUbHNMaWIgdGhhdA0KPiB1c2VzIGl0Lg0KPiA+ID4gPiA+ID4g PiAqIE1lcmdlIDQgcGVyZm9ybWFuY2Ugb3B0aW1pemVkIElORnMgaW50byBPcGVuc3NsTGliKkFj Y2VsLmluZg0KPiA+ID4gPiA+ID4gPiAqIFJlbW92ZSB1c2Ugb2YgUGNkT3BlbnNzbEVjRW5hYmxl ZCBhbmQgdXNlDQo+IE9wZW5zc2xMaWJGdWxsKi5pbmYNCj4gPiA+ID4gPiBpbnN0ZWFkDQo+ID4g PiA+ID4gPiA+ICogQWRkIE9wZW5zc2xMaWIgYW5kIEludHJpbnNpY0xpYiB0byBDcnlwdG9Qa2cu ZGVjIGFzIHByaXZhdGUNCj4gbGlicmFyeQ0KPiA+ID4gPiA+IGNsYXNzZXMNCj4gPiA+ID4gPiA+ ID4gKiBVcGRhdGUgYWxsIE9wZW5zc2xMaWIgaW5zdGFuY2VzIHRvIGFsd2F5cyBwcm9kdWNlIGFs bCBBUElzIGluDQo+ID4gPiA+ID4gT3BlbnNzbExpYg0KPiA+ID4gPiA+ID4gPiBjbGFzcw0KPiA+ ID4gPiA+ID4gPiAqIE1vdmUgUHJpbnRMaWIgZGVwZW5kZW5jeSBmcm9tIE9wZW5zc2xMaWIgSU5G IGZpbGVzIHRvDQo+ID4gPiBCYXNlQ3J5cHRMaWINCj4gPiA+ID4gPiBJTkYNCj4gPiA+ID4gPiA+ ID4gZmlsZXMNCj4gPiA+ID4gPiA+ID4gKiBVcGRhdGUgQ3J5cHRvUGtnLmRzYyBmaWxlcyB0byBw cm92aWRlIGZ1bGwgQ0kgdGVzdCBjb3ZlcmFnZQ0KPiBhY3Jvc3MNCj4gPiA+IGFsbA0KPiA+ID4g PiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiAgICBzdXBwb3J0ZWQgY29tYmluYXRpb25zIG9mIE9wZW5z c2xMaWIsIEJhc2VDcnlwdExpYiwgYW5kDQo+IFRsc0xpYg0KPiA+ID4gPiA+IGluc3RhbmNlcy4N Cj4gPiA+ID4gPiA+ID4gKiBSZW1vdmUgUEFDS0FHRSBwcm9maWxlIGZyb20gQ3J5cHRvUGtnLmRz YyBhbmQgYWRkDQo+ID4gPiA+ID4gPiA+IFRBUkdFVF9VTklUX1RFU1RTDQo+ID4gPiA+ID4gPiA+ ICAgcHJvZmlsZS4gIEFkZGluZyBUQVJHRVRfVU5JVF9URVNUUyBwcm9maWxlIGlzIHJlcXVpcmVk IHRvDQo+IHByZXZlbnQNCj4gPiA+IGENCj4gPiA+ID4gPiBmZXcNCj4gPiA+ID4gPiA+ID4gdW5p dA0KPiA+ID4gPiA+ID4gPiAgIHRlc3QgYXJ0aWZhY3RzIGJlaW5nIGluY2x1ZGVkIGluIG5vbiB1 bml0IHRlc3QgYnVpbGRzIG9mDQo+IGNvbXBvbmVudHMuDQo+ID4gPiA+ID4gPiA+ICogQWRkIENy eXB0b1BrZyBSZWFkbWUubWQgd2l0aCBvdmVydmlldyBhbmQgcGxhdGZvcm0NCj4gPiA+IGludGVn cmF0aW9uDQo+ID4gPiA+ID4gPiA+IGRldGFpbHMuDQo+ID4gPiA+ID4gPiA+ICogVXBkYXRlIGhv c3QtYmFzZWQgdW5pdCB0ZXN0cyB0byBhbHdheXMgdXNlIE9wZW5zc2xMaWJGdWxsLmluZg0KPiBh bmQNCj4gPiA+IGFkZA0KPiA+ID4gPiA+ID4gPiB1bml0DQo+ID4gPiA+ID4gPiA+ICAgdGVzdCBj b3ZlcmFnZSBmb3IgT3BlbnNzbExpYkZ1bGxBY2NlbC5pbmYuDQo+ID4gPiA+ID4gPiA+ICogQWRk IFJlYWRtZS5tZCB3aXRoIENyeXB0b1BrZyBvdmVydmlldyBhbmQgcGxhdGZvcm0NCj4gPiA+IGlu dGVncmF0aW9uDQo+ID4gPiA+ID4gPiA+ICAgZG9jdW1lbnRhdGlvbg0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4g PiA+ID4gPiA+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4g PiA+ID4gPiBDYzogWGlhb3l1IEx1IDx4aWFveXUxLmx1QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ ID4gQ2M6IEd1b21pbiBKaWFuZyA8Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ ID4gQ2M6IENocmlzdG9waGVyIFp1cmNoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0 LmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IFJlYmVjY2EgQ3JhbiA8cXVpY19yY3JhbkBxdWljaW5j LmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+ DQo+ID4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBNaWNoYWVs IEQgS2lubmV5ICgxMik6DQo+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnOiBEb2N1bWVudCBhbmQg ZGlzYWJsZSBkZXByZWNhdGVkIGNyeXB0byBzZXJ2aWNlcw0KPiA+ID4gPiA+ID4gPiAgIENyeXB0 b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogQWRkIG1pc3NpbmcgVU5JIGZpbGUgYW5kIGZpeA0K PiA+ID4gZm9ybWF0DQo+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0 TGliOiBVcGRhdGUgaW50ZXJuYWwNCj4gPiA+IGZ1bmN0aW9ucy92YXJpYWJsZXMNCj4gPiA+ID4g PiA+ID4gICBDcnlwdG9Qa2cvVGVzdC9Vbml0VGVzdC9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogVW5p dCB0ZXN0IGZpeGVzDQo+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnk6IENsZWFudXAg QmFzZUNyeXB0TGliIGFuZCBUbHNMaWINCj4gPiA+ID4gPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFy eS9PcGVuc3NsTGliOiBDb21iaW5lIGFsbCBwZXJmb3JtYW5jZQ0KPiBvcHRpbWl6ZWQNCj4gPiA+ ID4gPiBJTkZzDQo+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYjog UHJvZHVjZSBjb25zaXN0ZW50IHNldCBvZiBBUElzDQo+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtn L0xpYnJhcnkvT3BlbnNzbExpYjogUmVtb3ZlIFByaW50TGliIGZyb20gSU5GIGZpbGVzDQo+ID4g PiA+ID4gPiA+ICAgQ3J5cHRvUGtnOiBSZW1vdmUgUGNkT3BlbnNzbEVjRW5hYmxlZCBmcm9tIENy eXB0b1BrZy5kZWMNCj4gPiA+ID4gPiA+ID4gICBDcnlwdG9Qa2c6IFVwZGF0ZSBEU0MgdG8gaW1w cm92ZSBDSSB0ZXN0IGNvdmVyYWdlDQo+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnOiBGaXhlZCBo b3N0LWJhc2VkIHVuaXQgdGVzdHMNCj4gPiA+ID4gPiA+ID4gICBDcnlwdG9Qa2c6IEFkZCBSZWFk bWUubWQNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9DcnlwdG9Qa2cu Y2kueWFtbCAgICAgICAgICAgICAgICAgICB8ICAxMSArLQ0KPiA+ID4gPiA+ID4gPiAgQ3J5cHRv UGtnL0NyeXB0b1BrZy5kZWMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQyICstDQo+ID4gPiA+ ID4gPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRzYyAgICAgICAgICAgICAgICAgICAgICAgfCA0 NjAgKysrKysrKysrLS0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vUGNkL1BjZENyeXB0b1NlcnZpY2VG YW1pbHlFbmFibGUuaCAgICAgICAgfCAxMjIgKy0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFy eS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZiAgICAgfCAgMTAgKy0NCj4gPiA+ID4gPiA+ ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIudW5pICAgICB8ICAgMiAt DQo+ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWMu YyAgICAgfCAgIDcgKw0KPiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL0tk Zi9DcnlwdEhrZGYuYyAgICAgIHwgICA1ICstDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9C YXNlQ3J5cHRMaWIvUGVpQ3J5cHRMaWIuaW5mICAgICAgfCAgIDggKy0NCj4gPiA+ID4gPiA+ID4g IC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9QZWlDcnlwdExpYi51bmkgICAgICB8ICAgMiAtDQo+ ID4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliL1BrL0NyeXB0QXV0aGVudGljb2RlLmMgICAg ICAgfCAgIDIgKy0NCj4gPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRQa2Nz N1ZlcmlmeUNvbW1vbi5jICB8ICAgMyArLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExp Yi9Qay9DcnlwdFBrY3M3VmVyaWZ5RWt1LmMgICAgIHwgICAzICsNCj4gPiA+ID4gPiA+ID4gIENy eXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFRzLmMgICB8ICA0NCArLQ0KPiA+ ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1bnRpbWVDcnlwdExpYi5pbmYg IHwgICA5ICstDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVudGlt ZUNyeXB0TGliLnVuaSAgfCAgIDIgLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNy eXB0TGliL1NlY0NyeXB0TGliLmluZiAgICAgIHwgIDEzICstDQo+ID4gPiA+ID4gPiA+ICAuLi4v e1NtbUNyeXB0TGliLnVuaSA9PiBTZWNDcnlwdExpYi51bml9ICAgICAgfCAgMTEgKy0NCj4gPiA+ ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExpYi5pbmYgICAgICB8 ICAxMiAtDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRM aWIudW5pICAgICAgfCAgIDIgLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Vbml0 VGVzdEhvc3RCYXNlQ3J5cHRMaWIuaW5mIHwgIDIyICstDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGli cmFyeS9JbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaCAgICAgfCAzMjggKysrKysrKy0NCj4g PiA+ID4gPiA+ID4gIC4uLi9JbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmZfZ2VuZXJhdGVkLmgg ICB8IDMzMyAtLS0tLS0tLS0NCj4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5z c2xMaWIvRWNTbTJOdWxsLmMgICAgICB8IDI5MSArKysrKysrKw0KPiA+ID4gPiA+ID4gPiAgQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZiAgIHwgMTMzICsrLS0NCj4g PiA+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi51bmkg ICB8ICAxMCArLQ0KPiA+ID4gPiA+ID4gPiAgLi4ubnNzbExpYklhMzJHY2MuaW5mID0+IE9wZW5z c2xMaWJBY2NlbC5pbmZ9IHwgMTg5ICsrKy0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9P cGVuc3NsTGliL09wZW5zc2xMaWJBY2NlbC51bmkgICAgfCAgMTQgKw0KPiA+ID4gPiA+ID4gPiAg Li4uL09wZW5zc2xMaWIvT3BlbnNzbExpYkNvbnN0cnVjdG9yLmMgICAgICAgIHwgICA2ICstDQo+ ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8uaW5m ICAgfCAxODUgKysrLS0NCj4gPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3Bl bnNzbExpYkNyeXB0by51bmkgICB8ICAxMSArLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL3tPcGVuc3Ns TGliLmluZiA9PiBPcGVuc3NsTGliRnVsbC5pbmZ9ICAgIHwgMTQzICsrLS0NCj4gPiA+ID4gPiA+ ID4gIC4uLi97T3BlbnNzbExpYi51bmkgPT4gT3BlbnNzbExpYkZ1bGwudW5pfSAgICB8ICAxMCAr LQ0KPiA+ID4gPiA+ID4gPiAgLi4uc3NsTGliSWEzMi5pbmYgPT4gT3BlbnNzbExpYkZ1bGxBY2Nl bC5pbmZ9IHwgMTkyICsrKy0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vT3BlbnNzbExpYi9PcGVuc3Ns TGliRnVsbEFjY2VsLnVuaSAgICAgICAgfCAgMTQgKw0KPiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJh cnkvT3BlbnNzbExpYi9PcGVuc3NsTGliWDY0LmluZiAgICAgIHwgNzA2IC0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliWDY0 R2NjLmluZiAgIHwgNzA2IC0tLS0tLS0tLS0tLS0tLS0tDQo+IC0NCj4gPiA+ID4gPiA+ID4gIENy eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvU3NsTnVsbC5jICAgICAgICB8IDQwNSArKysrKysr KysrDQo+ID4gPiA+ID4gPiA+ICAuLi4vU3lzQ2FsbC9pbmV0X3B0b24uYyAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDANCj4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L1Rsc0xpYi9U bHNDb25maWcuYyAgICAgICAgICB8ICAgMiArLQ0KPiA+ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL0xp YnJhcnkvVGxzTGliL1Rsc0xpYi5pbmYgICAgICAgICAgIHwgIDEyICstDQo+ID4gPiA+ID4gPiA+ ICBDcnlwdG9Qa2cvUHJpdmF0ZS9MaWJyYXJ5L0ludHJpbnNpY0xpYi5oICAgICAgfCAgMTYgKw0K PiA+ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9PcGVuc3NsTGliLmggICAg ICAgIHwgIDE0ICsNCj4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9SZWFkbWUubWQgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDQ5OCArKysrKysrKysrKysNCj4gPiA+ID4gPiA+ID4gIENyeXB0 b1BrZy9UZXN0L0NyeXB0b1BrZ0hvc3RVbml0VGVzdC5kc2MgICAgICB8ICAxNyArLQ0KPiA+ID4g PiA+ID4gPiAgLi4uL1VuaXRUZXN0L0xpYnJhcnkvQmFzZUNyeXB0TGliL0htYWNUZXN0cy5jIHwg IDE3ICstDQo+ID4gPiA+ID4gPiA+ICAuLi4vVW5pdFRlc3QvTGlicmFyeS9CYXNlQ3J5cHRMaWIv VFNUZXN0cy5jICAgfCAgIDIgKy0NCj4gPiA+ID4gPiA+ID4gIC4uLi9UZXN0QmFzZUNyeXB0TGli SG9zdEFjY2VsLmluZiAgICAgICAgICAgICB8ICA1NSArKw0KPiA+ID4gPiA+ID4gPiAgNDggZmls ZXMgY2hhbmdlZCwgMjY2NyBpbnNlcnRpb25zKCspLCAyNDM0IGRlbGV0aW9ucygtKQ0KPiA+ID4g PiA+ID4gPiAgY29weSBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIve1NtbUNyeXB0TGli LnVuaSA9Pg0KPiA+ID4gPiA+ID4gPiBTZWNDcnlwdExpYi51bml9ICg3NCUpDQo+ID4gPiA+ID4g PiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkv SW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mX2dlbmVyYXRlZC5oDQo+ID4gPiA+ID4gPiA+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9FY1NtMk51 bGwuYw0KPiA+ID4gPiA+ID4gPiAgcmVuYW1lIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIv e09wZW5zc2xMaWJJYTMyR2NjLmluZiA9Pg0KPiA+ID4gPiA+ID4gPiBPcGVuc3NsTGliQWNjZWwu aW5mfSAoNzklKQ0KPiA+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4g Q3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliQWNjZWwudW5pDQo+ID4gPiA+ ID4gPiA+ICBjb3B5IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIve09wZW5zc2xMaWIuaW5m ID0+DQo+ID4gPiA+ID4gT3BlbnNzbExpYkZ1bGwuaW5mfQ0KPiA+ID4gPiA+ID4gPiAoODAlKQ0K PiA+ID4gPiA+ID4gPiAgY29weSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3Ns TGliLnVuaSA9Pg0KPiA+ID4gPiA+IE9wZW5zc2xMaWJGdWxsLnVuaX0NCj4gPiA+ID4gPiA+ID4g KDU2JSkNCj4gPiA+ID4gPiA+ID4gIHJlbmFtZSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGli L3tPcGVuc3NsTGliSWEzMi5pbmYgPT4NCj4gPiA+ID4gPiA+ID4gT3BlbnNzbExpYkZ1bGxBY2Nl bC5pbmZ9ICg3OSUpDQo+ID4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4g PiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliRnVsbEFjY2VsLnVu aQ0KPiA+ID4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiBDcnlwdG9Qa2cvTGli cmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjQuaW5mDQo+ID4gPiA+ID4gPiA+ICBkZWxldGUg bW9kZSAxMDA2NDQNCj4gPiA+ID4gPiBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5z c2xMaWJYNjRHY2MuaW5mDQo+ID4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRv UGtnL0xpYnJhcnkvT3BlbnNzbExpYi9Tc2xOdWxsLmMNCj4gPiA+ID4gPiA+ID4gIHJlbmFtZSBD cnlwdG9Qa2cvTGlicmFyeS97QmFzZUNyeXB0TGliID0+DQo+ID4gPiBUbHNMaWJ9L1N5c0NhbGwv aW5ldF9wdG9uLmMNCj4gPiA+ID4gPiA+ID4gKDEwMCUpDQo+ID4gPiA+ID4gPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9JbnRyaW5zaWNMaWIuaA0KPiA+ ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkv T3BlbnNzbExpYi5oDQo+ID4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtn L1JlYWRtZS5tZA0KPiA+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+IENyeXB0b1BrZy9UZXN0L1VuaXRUZXN0L0xpYnJhcnkv QmFzZUNyeXB0TGliL1Rlc3RCYXNlQ3J5cHRMaWJIb3N0QWNjZWwuaQ0KPiA+ID4gPiA+ID4gPiBu Zg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+ID4gPiAyLjM3LjEu d2luZG93cy4xDQoNCg==