From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.39260.1656686415119259058 for ; Fri, 01 Jul 2022 07:40:15 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=WNIrbdCV; spf=pass (domain: intel.com, ip: 134.134.136.65, 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=1656686415; x=1688222415; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Acw8ZBjbnlWnJheAZsh8JLpc7nbFSyVNRtB6pB/C7dU=; b=WNIrbdCVr01NPG3K0MBVn+bAWxmGmRMzvpM41jfg5jtBNNRgAdtBCMgr lmozAm2AbAAEWA3K3dy4u7QMv50yTUVqwYwS3CcjpZ7tE2GBgz0v4mQQa i7H7wg6SjyDZbHVlmx2nyKALvNrTXNntEj3vhYMhDtT4c9wu4c+nVvf9x 7eJ8LQdqcfQOWzFs99n+xlhj1tqpj8CC4Uy5IgGtslgSnFilfyYWUaQQl jaW9XB1DC+a1jOk4sbvwZLQpBc6ugtasBRMVsjYMfzAJl5EuCscTcwGN4 EdXMJJIFLnORDKNTX2Dp3Min9FD7iemoE861tLzWm4i3kkS7v9X1Y3XDq Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10394"; a="283766109" X-IronPort-AV: E=Sophos;i="5.92,237,1650956400"; d="scan'208";a="283766109" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jul 2022 07:40:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,237,1650956400"; d="scan'208";a="838064857" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga006.fm.intel.com with ESMTP; 01 Jul 2022 07:40:13 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2308.27; Fri, 1 Jul 2022 07:40:13 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) 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.2308.27; Fri, 1 Jul 2022 07:40:12 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 1 Jul 2022 07:40:12 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.170) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 1 Jul 2022 07:40:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FqZZh9gJVRYaCwEd9D3ENnz8QcpBQ+CMofqgmWKP0IGswQegCuYW3FH7tStve6plz8aI/XLRZ2COLy60zyLd58H/vH1QFJp4Qoy2Z3AHm8wwNIm0iz00xkZ5tZajD9WuCfpFsuNE2wH6weMDft1DzaRAEWy58KMtOAA67jNZv1rL2L5aDEFv0Pjsvkn4awxosu0hqGr9sTpL5U8qSYURUk77WJok/fwr/Zyy/Qv6uYo03Bd+jPe5KVfMcqAYnPa8roIUvlzF7jbUhy9CrCJ69nPzAG0qahLLF1dSJLEvFt/QifmQkWDiGY7CPCwjnioRyjlMqmeJB3tjGxjhwQ7eww== 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=Acw8ZBjbnlWnJheAZsh8JLpc7nbFSyVNRtB6pB/C7dU=; b=P/opebWC0iB4L+kF/qcsHA9kIXjUQB/+NtbLQFJ8JxsgFxMXEvOghabqTpKAg+4XqOFisFuSw76TUJP1Z8EIH1mGzaj4h6gC+ue2XTJ7ocjUoBM65YVSmsFpJQK1j0/qc0VpCbjo5aHuD9jsFgGTLnUXhys+lsnzqVQkfknssEscV8L+qZP3S2gDsyuJz6yKnod4ygfiZ0gA9Ch+CUxS7kla4pCrVYVTD3xrQXZy8J5eVwBw+mRTwwcNXdqJ00p9En/fn7BEVvKrOB5ZC2HK/PsGijIazfawsEu9r2lHYkchOBvlxk+GOadsxw86dGKhUYbHyL/IvYHbBPg90nNfgA== 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 BN7PR11MB2770.namprd11.prod.outlook.com (2603:10b6:406:b4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Fri, 1 Jul 2022 14:40:09 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::21c8:d7ec:9943:9d06]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::21c8:d7ec:9943:9d06%5]) with mapi id 15.20.5395.015; Fri, 1 Jul 2022 14:40:09 +0000 From: "Yao, Jiewen" To: Pierre Gondois , "devel@edk2.groups.io" CC: Sami Mujawar , Leif Lindholm , Ard Biesheuvel , Rebecca Cran , "Kinney, Michael D" , "Gao, Liming" , Edward Pickup Subject: Re: [edk2-devel] [PATCH RESEND v1 5/7] MdePkg/AesLib: Definition for AES library class interface Thread-Topic: [edk2-devel] [PATCH RESEND v1 5/7] MdePkg/AesLib: Definition for AES library class interface Thread-Index: AQHYi+/zPok8WzRfkECXVWfds1r+l61nF2PQgAIwRoCAACDqcIAAJOkAgAAIoNA= Date: Fri, 1 Jul 2022 14:40:09 +0000 Message-ID: References: <20220629191355.2618844-1-Pierre.Gondois@arm.com> <20220629191355.2618844-6-Pierre.Gondois@arm.com> <499390b1-0916-2f25-3831-b1e2d406bc49@arm.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-office365-filtering-correlation-id: a23ac60a-f646-4c64-5a39-08da5b6f9930 x-ms-traffictypediagnostic: BN7PR11MB2770:EE_ 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: BT8nIMC/em8LEsilrgiq4xsq+7YSTN85KhNZZWheEb5emLAUPzDvTDvLxYcpDY0pytteY+ggfSCW2oJhwCsZsSRZPgIdW0o5afp90WpYbjqq1BEpbYXJ2V7kEbEe+VwEBIFWt1rtnIH2vMr8UJ12yLIPGiyan7OeNIYJ8QTa382YYPkczjkx77WyIHMGDkJnAwY0nvPeqWWIZSUUJyp9oBUU8sxF1iGpRQTCju0gf4u47/n4WxT0KEZsyZ6gamxRYbJzS/HsNqdLfKtZ65rCJLxWqBD5aPFSNqNCzyzEfsdG4h1Sv4ek/4HNhuLmSdaGWmOh8kpCYye8PqpHo5djQnrx0OgextygmbAqqdyjylO/Fh1bJJuuoDnol1RtceLzQ0bbQKSWSLVCFQ547y6UYySfx4s85A+Q0sCaJWXeZ3tsQ2F7Uhai9LUFgxY+KdbPeE/rnsaBn/WFWi/dcpN7QnJ4yh3MfLIGotVYs1NMxC3WHh0J5VHjinh77HG8uZP1WBoWDPzXawX4BiMyIMetf+iZ4+JucRyzI41pSU8KjmKA/kiOqixLVqvYYplFkxmYk0gmZoGErwVJYmYB0ojyCOr6CZkW3cWjNgGdycHRTSDdaw7AwsUo57BcLhPCGPcV1sKSTVsBCXisf2qtsXu3UGA7qtmKW43+j1BPK4tSdDuh1ELgQ3kEXeCXNlngfXQEiDtfq6Sm0kcU0QFUrHgIDDaqCDBRk609hMCQeiXTU/w2VXKgZ4dy2s0GtQLARJhHAXqfd+9KDQwYtz+kmEKr9+J7VMYkTDiqdoxcLyFjR17DHWvWYw4uIYfAHmtKRpvnHqwgU9Y/Vlk8JP2fxjEux9/JLW2iE3P5oDbMGSLEItcLWzvHqb8iMxtlF/fPFIqT 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:(13230016)(376002)(346002)(136003)(396003)(39860400002)(366004)(30864003)(110136005)(6506007)(71200400001)(55016003)(478600001)(54906003)(966005)(316002)(7696005)(122000001)(186003)(8936002)(66476007)(38070700005)(33656002)(5660300002)(64756008)(26005)(66946007)(66556008)(82960400001)(41300700001)(9686003)(4326008)(2906002)(66446008)(53546011)(83380400001)(8676002)(86362001)(76116006)(52536014)(38100700002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c0RRc0Q4S0hCdGlSWDlqMkZjM2FLUXBiZUQ2S2hLUStLaXBJWGRPeUxrdG9U?= =?utf-8?B?T1VOSy9uM3hmUzc2NXNaNXRpZmdrbG5GeDczQkVOM1lJMmZweTYxSHpOdUM4?= =?utf-8?B?SThSVVhQSjlvYVg3V00raFZwWk9MWTZ2ZFBLL3FqRkFHMFB1czlRenRRTGla?= =?utf-8?B?S0JLbjVQTlBSRFFCOFgzRkhmRVErV3NmQU95MG9vUmZjUDQzS3gwbUo2OEt4?= =?utf-8?B?RVNRUXplbjdyTWZzcXNVK0hVbHgzakh6RnZEbjQ3Um1RRVV5ekx6dldVTmNI?= =?utf-8?B?WVdGdFpJNncyRElNQ29UeWhoYlgrRmZ1SEs3TmdDUEdLUEtHclZSSkZvcW56?= =?utf-8?B?dVI3N09aQzUyUkdPWW83Vnk3SVZJYjZCVklTV0cyZ0dyZW9tNDdlZndjUTRt?= =?utf-8?B?WGhJL3FIMHM0NjlwUDBYZnlMbWtmZy9YZGlUNStNa1dqdWhkZnphTjlIRHBD?= =?utf-8?B?amQ1SXVsdDlPbEQ5RlhuaTRxc3NwNDFKWnJwcDZGeFliU3FaVHY3am5jakdw?= =?utf-8?B?MjF2TGtQdDdUZytReU1zN2xBdU9SeWhIVm02ZHJvVzF5YitoQ054bXd3L2VC?= =?utf-8?B?VEtWa2RzUTE0OFpRbWVSOGdhM21hTDdidzRuOEZMb3VlZEFyajk2WmU1bnpN?= =?utf-8?B?Ylp1QjhrSFB4T09kZElhSG5Ib0xGSjZrRHE4aFpxWldyZXBZM3ZyMnZ5OEcw?= =?utf-8?B?OXd0Mm5BZ2N4aWl0R1ZwRUVSQlF4SUhLclNjdk9hb2tDbDkzb2wwMUM1eDRM?= =?utf-8?B?NlNIMmh3ME1BYmNjSHU3a1YwNUlsSkZhN2MycGVhUTh3dGdDdUdMM0ZQeDFu?= =?utf-8?B?ZzZ1SXNaV2p4SmlOWFNiSDgrWHV1SW41RlNNa1hoejlpNjBBbzRiUTMrYWxE?= =?utf-8?B?RDU2QVpyRzZqVG5FRkx2bjFCakpuWk50SEY4eTNyUjZnMTdaTk1KbFUwUzJQ?= =?utf-8?B?VVArT2hQZzlOLzBFd3dDeDdEZ29lN1g5NGNnUDVNLzduR0I2YURaSUoydTJ2?= =?utf-8?B?NEZkVlNGT0NXNkdJcjFvT1NCclhrVzIzVmlIakZlM04vSXRyVkRBQ21TSVp1?= =?utf-8?B?L044WmNwVlNoVnA3LzROR1YvMjZuNkFvSnRnSER0emhoS3pqS1JlSTUyS0Z0?= =?utf-8?B?K01zQU0yMmR0bkY5eG9yK3EvMWtiaS9yT3YxWjNBV1hwQzl2MWsyYzJ0Uk83?= =?utf-8?B?cVlySjNjUnc3enNaZWdTa0gyNmZaL0dCaGVvT0J6cXZDMzR6YlcwcFFQMk5u?= =?utf-8?B?VjNPQWtBRG9rSk16Y1VwUzVCeFNaNHJlZ292WXl5UEt0Tkl5ZmR4V1VFbTNw?= =?utf-8?B?U3VhaFhDRzdYSi9SSG84VjYyeHVqVmE3QkM4U0tVUTBTUU1qaHlPYmZhZ1pn?= =?utf-8?B?bWs4TExnWG5teSt2Qm1Uek05bXpDUFphZTR0bmpIMFZwUGgrM1VEUWN1MFh2?= =?utf-8?B?NFcrTFo5endDRFZuenpESjA2cFhlcy9lNTZ1Y3BtbHpYZmVFaTRRbDZjazUz?= =?utf-8?B?TmlMTWJFMmVBZlpMb3hIT3NJaUpId1pCeHNKdk5rZm5qdkxDb3RkTURjcDVV?= =?utf-8?B?ZzNRYU8rZW94MTVkVmt0MjZJajVuTXFZbnZWRVEveDI5eXVGSU1wa0NSZWxI?= =?utf-8?B?NVgrbGxtUVI2SHJZSFkydjVxN2ExWFBCQXRmcnkxaVVic3g3YU0zOFVIZVB5?= =?utf-8?B?Q2tKRUQreGs3dzJyQksxVDVlaTlEdCtMSFo1NldMVEFLUUUrMDBsUCtoNzBr?= =?utf-8?B?ajNEenpxU0g0TmdTZ094UGJrZU16WitUOWpialNtSUttZ24xOXVlVXE3dFZI?= =?utf-8?B?R2J2Vng2VUw5TmVUVWtGYW1VeUk3QjQyTWVuM2pYZTBvLzd5Z2FiSUJkT2Rn?= =?utf-8?B?KzBUSU02RmlMZHJ4YnBmWHlremJlelVZcklSVHNrTFUyQ1RYVEMxQ0JDVGYv?= =?utf-8?B?elQ1cUdRMDNHSGIyVjd0SkNyK0NVUlJzSnA1SXhWRzBaS2FkTi9pRFVDV00y?= =?utf-8?B?V0hFRXpSaEE3UHh2Q2JwaFkrZDdpZ2xsanBySGNVTmFjMmFJalFaQU1UTVhq?= =?utf-8?B?N3pSV05qekdFS25ocHN5OGhrdTR5RkJOVllpUmtHYWR1Z3dYdkk2bElTT2pD?= =?utf-8?Q?POo1iYysY1c/iPHkr4wJ4qlHk?= 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: a23ac60a-f646-4c64-5a39-08da5b6f9930 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2022 14:40:09.5770 (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: 8qMR9asgxY3fhsRqSeo1YxR8bKebejeue8ufB4YEFqq+s/BHXinWsFU4yPAgdoV7IPY3ZDefWeYAfByzWVqTTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2770 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 UGxlYXNlIGFsbG93IG1lIHRvIGNsYXJpZnkgbXkgdW5kZXJzdGFuZGluZzoNCg0KMSkgWW91IHdh bnQgdG8gcHJvbW90ZSBEcmJnTGliIHRvIE1kZVBrZy4gLS0gVGhhdCBpcyBhIGRpZmZlcmVudCB0 b3BpYy4gV2Ugc2hvdWxkIGRpc2N1c3MgdGhhdCBpbiBvdGhlciB0aHJlYWQuDQpOb3csIGxldOKA mXMgYXNzdW1lIGl0IGlzIE9LLg0KDQoyKSBZb3Ugd2FudCB0byB1c2UgQUVTIGFzIGFuIGltcGxl bWVudGF0aW9uIGZvciBEcmJnTGliLg0KVGhhdCBpcyBhbHNvIHJlYXNvbmFibGUuDQoNClBsZWFz ZSBub3RlOiBNZGVQa2cgb25seSByZXF1aXJlcyB0aGUgbGlicmFyeSBpbnRlcmZhY2UgdG8gYmUg c2VsZi1jb250YWluZWQuIEJ1dCBub3QgdGhlIGxpYnJhcnkgaW5zdGFuY2UuDQoNCkFzc3VtaW5n IHlvdSBhcmUgd29ya2luZyBvbiBBUk0gc29sdXRpb24uIEl0IGlzIGxlZ2FsIHRoYXQ6DQpEcmJn TGliLmggKGludGVyZmFjZSkgLT4gTWRlUGtnLg0KQWVzTGliLmggKGludGVyZmFjZSkgLT4gQXJt UGtnDQpBZXNMaWIgKGluc3RhbmNlKSAtPiBBcm1Qa2cNCkRyYmdMaWJBZXMgKGluc3RhbmNlKSAt PiBBcm1Qa2cuDQoNCihvcikNCkRyYmdMaWIuaCAoaW50ZXJmYWNlKSAtPiBNZGVQa2cuDQpEcmJn TGliQWVzIChpbnN0YW5jZSkgLT4gQXJtUGtnLiAoeW91IGNhbiBwdXQgQUVTIGltcGxlbWVudGF0 aW9uIGhlcmUgZGlyZWN0bHksIHdpdGhvdXQgQWVzTGliLmgpDQoNCkkgZG9u4oCZdCBzZWUgdGhl IG5lZWQgcHV0IEFlc0xpYi5oIHRvIE1kZVBrZy4NCkFuZCBJIGRvbuKAmXQgaGF2ZSBjb21tZW50 IGZvciBBcm1Qa2cuDQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQoNCj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUGllcnJlIEdvbmRvaXMgPHBpZXJyZS5nb25kb2lzQGFy bS5jb20+DQo+IFNlbnQ6IEZyaWRheSwgSnVseSAxLCAyMDIyIDk6NTkgUE0NCj4gVG86IFlhbywg Smlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENj OiBTYW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPjsgTGVpZiBMaW5kaG9sbQ0KPiA8 cXVpY19sbGluZGhvbEBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29y ZUBrZXJuZWwub3JnPjsNCj4gUmViZWNjYSBDcmFuIDxyZWJlY2NhQGJzZGlvLmNvbT47IEtpbm5l eSwgTWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IEdhbywgTGltaW5n IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+Ow0KPiBFZHdhcmQgUGlja3VwIDxFZHdhcmQuUGlj a3VwQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIFJFU0VORCB2 MSA1LzddIE1kZVBrZy9BZXNMaWI6IERlZmluaXRpb24gZm9yDQo+IEFFUyBsaWJyYXJ5IGNsYXNz IGludGVyZmFjZQ0KPiANCj4gSGVsbG8gSmlld2VuLA0KPiANCj4gT24gNy8xLzIyIDEzOjU1LCBZ YW8sIEppZXdlbiB3cm90ZToNCj4gPiBJIGhhdmUgdHdvIGNvbmNlcm46DQo+ID4NCj4gPiAxKSBJ IGFtIHdvcnJpZWQgdGhhdCB0aGlzIEFQSSBtaWdodCBiZSBtaXN1c2VkLiBVc3VhbGx5LCBhIGNy eXB0byBBUEkgc2hvdWxkIGJlDQo+IHNlY3VyZSBlbm91Z2ggdG8gYXZvaWQgbWlzdXNlLiBGb3Ig ZXhhbXBsZSwgaWYgYSBwcm9ncmFtIHdhbnRzIHRvIHVzZSBBRVMNCj4gZW5jcnlwdGlvbiwgaXQg bXVzdCBOT1QgdXNlIHRoaXMgQUVTIEFQSS4gSW5zdGVhZCBpdCBtdXN0IHVzZSBBRVNfQ0NCICsg TUFDIG9yDQo+IEFFU19HQ00uIChvciBlcXVpdmFsZW50KQ0KPiA+IEkgZG91YnQgaWYgdGhpcyBp cyByaWdodCBkaXJlY3Rpb24gdG8gZXhwb3NlIHRoaXMgcHVibGljbHkgaW4gTWRlUGtnLg0KPiA+ DQo+ID4gMikgSSBhbSBub3Qgc3VyZSBob3cgdGhpcyBBUEkgd2lsbCBiZSB1c2VkIGluIENyeXB0 b0xpYi4NCj4gPiBJZGVhbGx5LCBhbiBFREtJSSBwcm9ncmFtIHNob3VsZCB1c2UgY3J5cHRvIGxp YiBBUEkgZm9yIGFueSBjcnlwdG8gZnVuY3Rpb24uDQo+ID4gSG93ZXZlciwgSSBkbyBub3QgdW5k ZXJzdGFuZCBob3cgdGhhdCBpcyBkb25lLg0KPiA+DQo+IA0KPiBUaGUgcmVhc29uIHRoZSBBZXNM aWIgd2FzIHB1dCBpbiBNZGVQa2c6DQo+IC0gVGhlIERyYmdMaWIgd2FzIHRob3VnaHQgdG8gYmUg Z2VuZXJpYyBlbm91Z2ggdG8gYmUgaW4gTWRlUGtnDQo+ICAgICh0aGlzIGlzIGFyZ3VhYmxlKS4N Cj4gLSBUaGUgTWRlUGtnIG11c3QgYmUgc2VsZi1jb250YWluZWQgKGkuZS4gbm90IHVzZSBsaWJy YXJpZXMvbW9kdWxlcw0KPiAgICBkZWZpbmVkIGluIG90aGVyIHBhY2thZ2VzKS4gVGh1cyBpZiBh biBBZXNMaWIgaXMgY3JlYXRlZCwgaXQgbXVzdCBiZQ0KPiAgICBpbiB0aGUgTWRlUGtnLg0KPiBJ IGRvbid0IG1pbmQgbW92aW5nIHRoZSBEcmJnTGliIChhbmQgdGhlIEFlc0xpYikgdG8gYW5vdGhl ciBwYWNrYWdlIGlmDQo+IHRoaXMgaXMgdGhlIGNvbW1vbiBhZ3JlZW1lbnQuDQo+IA0KPiBXaHkg YSBzaW5nbGUgYmxvY2sgQWVzTGliIHNob3VsZCBiZSBjcmVhdGVkOg0KPiAtIFRoZSBEcmJnTGli IHJlcXVpcmVzIHRvIGhhdmUgQWVzIHNpbmdsZSBibG9jayBlbmNyeXB0aW9uLiBBIHNvZnR3YXJl DQo+ICAgIGltcGxlbWVudGF0aW9uIG9mIEFlcyBpcyBhbHNvIGF2YWlsYWJsZSAoYW5kIHVzZWQp IGF0IFsyXSBpbiB0aGUNCj4gICAgU2VjdXJpdHlQa2cuIFRoaXMgaW1wbGVtZW50YXRpb24gaXMg bGltaXRlZCB0byBhIG1vZHVsZSBzY29wZS4NCj4gICAgVGh1cywgdGhlcmUgaXMgYSBuZWVkIGNy ZWF0ZSBhIGNvbW1vbiBsaWJyYXJ5IGZvciB0aGlzLg0KPiAtIEkgYWdyZWUgdGhhdCB0aGlzIEFl c0xpYiBzaG91bGQgbm90IGJlIG1pc3Rha2VuIHdpdGggc29tZXRoaW5nIGVsc2UNCj4gICAgKGNm IHlvdXIgY29tbWVudCBhYm91dCBBRVNfQ0NCICsgTUFDIG9yIEFFU19HQ00pLiBIb3dldmVyLCB0 aGUgbmV3DQo+ICAgIGludGVyZmFjZSBuZWVkZWQgaXMgZm9yIGEgc2luZ2xlIGJsb2NrIGVuY3J5 cHRpb24uIFNvIGFkZGluZyB0aGVzZQ0KPiAgICBuZXcgZnVuY3Rpb25zIHRvOg0KPiAgICBDcnlw dG9Qa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VDcnlwdExpYi5oDQo+ICAgIHdvbid0IG1ha2UgaXQg c2FmZXIuDQo+IA0KPiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgdGhlcmUgYXJlIHN0aWxsIGNvbmNl cm5zLA0KPiBSZWdhcmRzLA0KPiBQaWVycmUNCj4gDQo+IE5vdGU6DQo+IFRoZSBmdW5jdGlvbnMg aW4gQWVzTGliIGFyZSBlcXVpdmFsZW50IHRvIHRoZSBvbmVzIGluIFs0XS4NCj4gDQo+IFsxXSBo dHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvZmlsZXMvRGVzaWducy8yMDIxLzAxMTYvRURL SUklMjAtDQo+ICUyMFByb3Bvc2VkJTIwdXBkYXRlJTIwdG8lMjBSTkclMjBpbXBsZW1lbnRhdGlv bi5wZGYNCj4gWzJdDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL2Y5 NjYwOTNmNWJiODhlNmZjY2FjOGUwYjllZWNhNmM3Mw0KPiBhZWYwYzM1L1NlY3VyaXR5UGtnL1Jh bmRvbU51bWJlckdlbmVyYXRvci9SbmdEeGUvUmFuZC9BZXNDb3JlLmMjTDIxNQ0KPiBbM10NCj4g aHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvZjk2NjA5M2Y1YmI4OGU2ZmNj YWM4ZTBiOWVlY2E2YzczDQo+IGFlZjBjMzUvQ3J5cHRvUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNl Q3J5cHRMaWIuaCNMMTEyOA0KPiBbNF0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNz bC9ibG9iL21hc3Rlci9jcnlwdG8vYWVzL2Flc19jb3JlLmMNCj4gDQo+IA0KPiA+DQo+ID4gSSB0 aGluayBpdCBpcyBnb29kIGlkZWEgdG8gZW5hYmxlIEFSTSBBRVMgaGFyZHdhcmUgYWNjZWxlcmF0 b3IuDQo+ID4gQW5kIEkgd291bGQgbGlrZSB0byBzZWUgYSB0b3RhbCBzb2x1dGlvbi4NCj4gPg0K PiA+IEl0IHdpbGwgYmUgZ3JlYXQsIGlmIHlvdSBhbHNvIHN1Ym1pdCB0aGUgY3J5cHRvcGtnIHBh dGNoIHRvIGhlbHAgbWUgdW5kZXJzdGFuZA0KPiBob3cgdG8gYWNoaWV2ZSB0aGF0Lg0KPiA+DQo+ ID4gVGhhbmsgeW91DQo+ID4gWWFvIEppZXdlbg0KPiA+DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogUGllcnJlIEdvbmRvaXMgPHBpZXJyZS5nb25kb2lz QGFybS5jb20+DQo+ID4+IFNlbnQ6IEZyaWRheSwgSnVseSAxLCAyMDIyIDU6NDkgUE0NCj4gPj4g VG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBz LmlvDQo+ID4+IENjOiBTYW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPjsgTGVpZiBM aW5kaG9sbQ0KPiA+PiA8cXVpY19sbGluZGhvbEBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVs IDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsNCj4gPj4gUmViZWNjYSBDcmFuIDxyZWJlY2Nh QGJzZGlvLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4+IDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+Ow0KPiA+PiBF ZHdhcmQgUGlja3VwIDxFZHdhcmQuUGlja3VwQGFybS5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBb ZWRrMi1kZXZlbF0gW1BBVENIIFJFU0VORCB2MSA1LzddIE1kZVBrZy9BZXNMaWI6IERlZmluaXRp b24NCj4gZm9yDQo+ID4+IEFFUyBsaWJyYXJ5IGNsYXNzIGludGVyZmFjZQ0KPiA+Pg0KPiA+PiBI ZWxsbyBZYW8sDQo+ID4+DQo+ID4+IE9uIDYvMzAvMjIgMDI6MjksIFlhbywgSmlld2VuIHdyb3Rl Og0KPiA+Pj4gSGkNCj4gPj4+IDEpIFdvdWxkIHlvdSBwbGVhc2UgZWR1Y2F0ZSBtZSwgaG93IHRo aXMgbGlicmFyeSBiZSB1c2VkIGluIGNyeXB0b2xpYj8gLQ0KPiA+Pg0KPiBodHRwczovL2dpdGh1 Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxvYi9tYXN0ZXIvQ3J5cHRvUGtnL0luY2x1ZGUvTGlicmFy eS9CYXMNCj4gPj4gZUNyeXB0TGliLmgjTDEwOTENCj4gPj4+DQo+ID4+PiBDdXJyZW50bHksIHdl IGhhdmUgQUVTX0NCQy4gV2UgYXJlIGdvaW5nIHRvIGFkZCBBRVNfR0NNIGluIG5lYXIgZnV0dXJl Lg0KPiA+Pj4NCj4gPj4NCj4gPj4gV2UgYXJlIGN1cnJlbnRseSBsb29raW5nIGZvcndhcmQgdG8g ZG8gdGhhdC4gSnVzdCB0byBiZSBzdXJlLCB0aGUNCj4gPj4gQWVzSW5pdCgpIGZ1bmN0aW9uIHBv aW50ZWQgYWJvdmUgaXMgZm9yIEFlc0NiY0VuY3J5cHQoKSwgd2hpY2ggY2FuDQo+ID4+IGVuY3J5 cHQgYSBidWZmZXIuDQo+ID4+IFRoZSBBZXNJbml0Q3R4KCkgaW4gdGhpcyBmaWxlIGlzIGZvciBh IHNpbmdsZSBibG9jayBlbmNyeXB0aW9uLiBTbw0KPiA+PiB0aGVyZSBzaG91bGQgYmUgbm90aGlu ZyBwcmV2ZW50aW5nIGZyb20gaW1wbGVtZW50aW5nIENCQyAob3Igb3RoZXIpDQo+ID4+IGVuY3J5 cHRpb24gYmFzZWQgb24gdGhlIEFlcyBibG9jayBlbmNyeXB0aW9uIGFkZGVkIGJ5IHRoaXMgcGF0 Y2gtc2V0Lg0KPiA+Pg0KPiA+Pj4gMikgRm9yIEludGVsIEFFU19OSSwgd2UgYWRkZWQgc3VwcG9y dCBpbiBPcGVuc3NsTGliIGRpcmVjdGx5IC0NCj4gPj4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3Rp YW5vY29yZS9lZGsyL3RyZWUvbWFzdGVyL0NyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvDQo+ ID4+IFg2NCwgY2FuIEFSTSB1c2UgdGhlIHNpbWlsYXIgbW9kZWw/DQo+ID4+Pg0KPiA+Pg0KPiA+ PiBXZSBhbHNvIG5lZWQgdG8gaGF2ZSBhIGxvb2sgYXQgdGhpcy4gSG93ZXZlciB0aGlzIG1pZ2h0 IGJlIGEgYml0IG1vcmUNCj4gPj4gZGlmZmljdWx0IGlmIHdlIHdhbnQgdG8gYXZvaWQgT3BlbnNz bCBsaWNlbnNlLg0KPiA+Pg0KPiA+Pj4gMykgRG8geW91IGhhdmUgY2hhbmNlIHRvIHRha2UgYSBs b29rIGlmIHRoaXMgaW50ZXJmYWNlIGlzIGdvb2QgZW5vdWdoIHRvDQo+ID4+IGltcGxlbWVudCBJ bnRlbCBBRVNfTkkgaW5zdHJ1Y3Rpb24/DQo+ID4+Pg0KPiA+Pg0KPiA+PiBXZSBoYXZlIG5vdCBs b29rZWQgYXQgdGhlIEFFU19OSSBpbnN0cnVjdGlvbiwgYnV0IHRoZSBpbnRlcmZhY2UNCj4gPj4g ZGVmaW5pdGlvbiBzaG91bGQgYmUgZ2VuZXJpYyBlbm91Z2ggdG8gYWNjZXB0IGFueSBpbXBsZW1l bnRhdGlvbi4NCj4gPj4gUGxlYXNlIHRlbGwgdXMgaWYgeW91IHRoaW5rIHRoaXMgcmVxdWlyZXMg bW9kaWZpY2F0aW9uLg0KPiA+Pg0KPiA+PiBSZWdhcmRzLA0KPiA+PiBQaWVycmUNCj4gPj4NCj4g Pj4+IFRoYW5rIHlvdQ0KPiA+Pj4gWWFvIEppZXdlbg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZl bEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mDQo+ID4+Pj4gUGllcnJlR29uZG9pcw0KPiA+ Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdW5lIDMwLCAyMDIyIDM6MTQgQU0NCj4gPj4+PiBUbzogZGV2 ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4+PiBDYzogU2FtaSBNdWphd2FyIDxzYW1pLm11amF3YXJA YXJtLmNvbT47IExlaWYgTGluZGhvbG0NCj4gPj4+PiA8cXVpY19sbGluZGhvbEBxdWljaW5jLmNv bT47IEFyZCBCaWVzaGV1dmVsDQo+IDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsNCj4gPj4+ PiBSZWJlY2NhIENyYW4gPHJlYmVjY2FAYnNkaW8uY29tPjsgS2lubmV5LCBNaWNoYWVsIEQNCj4g Pj4+PiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8Z2FvbGltaW5n QGJ5b3NvZnQuY29tLmNuPjsNCj4gPj4+PiBFZHdhcmQgUGlja3VwIDxFZHdhcmQuUGlja3VwQGFy bS5jb20+DQo+ID4+Pj4gU3ViamVjdDogW2VkazItZGV2ZWxdIFtQQVRDSCBSRVNFTkQgdjEgNS83 XSBNZGVQa2cvQWVzTGliOiBEZWZpbml0aW9uDQo+IGZvcg0KPiA+PiBBRVMNCj4gPj4+PiBsaWJy YXJ5IGNsYXNzIGludGVyZmFjZQ0KPiA+Pj4+DQo+ID4+Pj4gRnJvbTogUGllcnJlIEdvbmRvaXMg PFBpZXJyZS5Hb25kb2lzQGFybS5jb20+DQo+ID4+Pj4NCj4gPj4+PiBCWjogaHR0cHM6Ly9idWd6 aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTcwDQo+ID4+Pj4NCj4gPj4+PiBU aGUgRklQUyBQVUIgMTk3OiAiQWR2YW5jZWQgRW5jcnlwdGlvbiBTdGFuZGFyZCAoQUVTKSINCj4g Pj4+PiBkZXRhaWxzIHRoZSBBRVMgYWxnb3JpdGhtLiBBZGQgYSBsaWJyYXJ5IHRvIGFsbG93DQo+ ID4+Pj4gZGlmZmVyZW50IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMuDQo+ ID4+Pj4NCj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBQaWVycmUgR29uZG9pcyA8cGllcnJlLmdvbmRv aXNAYXJtLmNvbT4NCj4gPj4+PiAtLS0NCj4gPj4+PiAgICBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5 L0Flc0xpYi5oIHwgMTA0DQo+ID4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ ID4+Pj4gICAgTWRlUGtnL01kZVBrZy5kZWMgICAgICAgICAgICAgICB8ICAgNCArKw0KPiA+Pj4+ ICAgIDIgZmlsZXMgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKykNCj4gPj4+PiAgICBjcmVhdGUg bW9kZSAxMDA2NDQgTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9BZXNMaWIuaA0KPiA+Pj4+DQo+ID4+ Pj4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQWVzTGliLmgNCj4gPj4gYi9N ZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Flc0xpYi5oDQo+ID4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gPj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmJjMzQwOGJiMjQ5Yg0KPiA+Pj4+IC0tLSAv ZGV2L251bGwNCj4gPj4+PiArKysgYi9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Flc0xpYi5oDQo+ ID4+Pj4gQEAgLTAsMCArMSwxMDQgQEANCj4gPj4+PiArLyoqIEBmaWxlDQo+ID4+Pj4gKyAgQUVT IGxpYnJhcnkuDQo+ID4+Pj4gKw0KPiA+Pj4+ICsgIENvcHlyaWdodCAoYykgMjAyMiwgQXJtIExp bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+Pj4+ICsNCj4gPj4+PiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+Pj4+ICsNCj4gPj4+ PiArICBAcGFyIFJlZmVyZW5jZShzKToNCj4gPj4+PiArICAgLSBGSVBTIDE5NyBOb3ZlbWJlciAy NiwgMjAwMToNCj4gPj4+PiArICAgICBTcGVjaWZpY2F0aW9uIGZvciB0aGUgQURWQU5DRUQgRU5D UllQVElPTiBTVEFOREFSRCAoQUVTKQ0KPiA+Pj4+ICsqKi8NCj4gPj4+PiArDQo+ID4+Pj4gKyNp Zm5kZWYgQUVTX0xJQl9IXw0KPiA+Pj4+ICsjZGVmaW5lIEFFU19MSUJfSF8NCj4gPj4+PiArDQo+ ID4+Pj4gKy8vLyBLZXkgc2l6ZSBpbiBieXRlcy4NCj4gPj4+PiArI2RlZmluZSBBRVNfS0VZX1NJ WkVfMTI4ICAxNg0KPiA+Pj4+ICsjZGVmaW5lIEFFU19LRVlfU0laRV8xOTIgIDI0DQo+ID4+Pj4g KyNkZWZpbmUgQUVTX0tFWV9TSVpFXzI1NiAgMzINCj4gPj4+PiArI2RlZmluZSBBRVNfQkxPQ0tf U0laRSAgICAxNg0KPiA+Pj4+ICsNCj4gPj4+PiArLyoNCj4gPj4+PiArICAgVGhlIEtleSBFeHBh bnNpb24gZ2VuZXJhdGVzIGEgdG90YWwgb2YgTmIgKE5yICsgMSkgd29yZHMgd2l0aDoNCj4gPj4+ PiArICAgIC0gTmIgPSA0Og0KPiA+Pj4+ICsgICAgICBOdW1iZXIgb2YgY29sdW1ucyAoMzItYml0 IHdvcmRzKSBjb21wcmlzaW5nIHRoZSBTdGF0ZQ0KPiA+Pj4+ICsgICAgLSBOciA9IDEwLCAxMiwg b3IgMTQ6DQo+ID4+Pj4gKyAgICAgIE51bWJlciBvZiByb3VuZHMuDQo+ID4+Pj4gKyAqLw0KPiA+ Pj4+ICsjZGVmaW5lIEFFU19NQVhfS0VZTEVOR1RIX1UzMiAgKDQgKiAoMTQgKyAxKSkNCj4gPj4+ PiArDQo+ID4+Pj4gKy8qKiBBIGNvbnRleHQgaG9sZGluZyBpbmZvcm1hdGlvbiB0byBmb3IgQUVT IGVuY3J5cHRpb24vZGVjcnlwdGlvbi4NCj4gPj4+PiArICovDQo+ID4+Pj4gK3R5cGVkZWYgc3Ry dWN0IHsNCj4gPj4+PiArICAvLy8gRXhwYW5kZWQgZW5jcnlwdGlvbiBrZXkuDQo+ID4+Pj4gKyAg VUlOVDMyICAgIEV4cEVuY0tleVtBRVNfTUFYX0tFWUxFTkdUSF9VMzJdOw0KPiA+Pj4+ICsgIC8v LyBFeHBhbmRlZCBkZWNyeXB0aW9uIGtleS4NCj4gPj4+PiArICBVSU5UMzIgICAgRXhwRGVjS2V5 W0FFU19NQVhfS0VZTEVOR1RIX1UzMl07DQo+ID4+Pj4gKyAgLy8vIEtleSBzaXplLCBpbiBieXRl cy4NCj4gPj4+PiArICAvLy8gTXVzdCBiZSBvbmUgb2YgMTZ8MjR8MzIuDQo+ID4+Pj4gKyAgVUlO VDMyICAgIEtleVNpemU7DQo+ID4+Pj4gK30gQUVTX0NUWDsNCj4gPj4+PiArDQo+ID4+Pj4gKy8q KiBFbmNyeXB0IGFuIEFFUyBibG9jay4NCj4gPj4+PiArDQo+ID4+Pj4gKyAgQnVmZmVycyBhcmUg bGl0dGxlLWVuZGlhbi4gT3ZlcmxhcHBpbmcgaXMgbm90IGNoZWNrZWQuDQo+ID4+Pj4gKw0KPiA+ Pj4+ICsgIEBwYXJhbSBbaW5dICBBZXNDdHggICAgQUVTIGNvbnRleHQuDQo+ID4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICBBZXNDdHggaXMgaW5pdGlhbGl6ZWQgd2l0aCBBZXNJbml0Q3R4 ICgpLg0KPiA+Pj4+ICsgIEBwYXJhbSBbaW5dICBJbkJsb2NrICAgSW5wdXQgQmxvY2suIFRoZSBi bG9jayB0byBjaXBoZXIuDQo+ID4+Pj4gKyAgQHBhcmFtIFtvdXRdIE91dEJsb2NrICBPdXRwdXQg QmxvY2suIFRoZSBjaXBoZXJlZCBibG9jay4NCj4gPj4+PiArDQo+ID4+Pj4gKyAgQHJldHZhbCBS RVRVUk5fU1VDQ0VTUyAgICAgICAgICAgIFN1Y2Nlc3MuDQo+ID4+Pj4gKyAgQHJldHZhbCBSRVRV Uk5fSU5WQUxJRF9QQVJBTUVURVIgIEludmFsaWQgcGFyYW1ldGVyLg0KPiA+Pj4+ICsgIEByZXR2 YWwgUkVUVVJOX1VOU1VQUE9SVEVEICAgICAgICBVbnN1cHBvcnRlZC4NCj4gPj4+PiArKiovDQo+ ID4+Pj4gK1JFVFVSTl9TVEFUVVMNCj4gPj4+PiArRUZJQVBJDQo+ID4+Pj4gK0Flc0VuY3J5cHQg KA0KPiA+Pj4+ICsgIElOICBBRVNfQ1RYICAgICAgKkFlc0N0eCwNCj4gPj4+PiArICBJTiAgVUlO VDggQ09OU1QgICpJbkJsb2NrLA0KPiA+Pj4+ICsgIE9VVCBVSU5UOCAgICAgICAgKk91dEJsb2Nr DQo+ID4+Pj4gKyAgKTsNCj4gPj4+PiArDQo+ID4+Pj4gKy8qKiBEZWNyeXB0IGFuIEFFUyBibG9j ay4NCj4gPj4+PiArDQo+ID4+Pj4gKyAgQnVmZmVycyBhcmUgbGl0dGxlLWVuZGlhbi4gT3Zlcmxh cHBpbmcgaXMgbm90IGNoZWNrZWQuDQo+ID4+Pj4gKw0KPiA+Pj4+ICsgIEBwYXJhbSBbaW5dICBB ZXNDdHggICAgQUVTIGNvbnRleHQuDQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBB ZXNDdHggaXMgaW5pdGlhbGl6ZWQgd2l0aCBBZXNJbml0Q3R4ICgpLg0KPiA+Pj4+ICsgIEBwYXJh bSBbaW5dICBJbkJsb2NrICAgSW5wdXQgQmxvY2suIFRoZSBibG9jayB0byBkZS1jaXBoZXIuDQo+ ID4+Pj4gKyAgQHBhcmFtIFtvdXRdIE91dEJsb2NrICBPdXRwdXQgQmxvY2suIFRoZSBkZS1jaXBo ZXJlZCBibG9jay4NCj4gPj4+PiArDQo+ID4+Pj4gKyAgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyAg ICAgICAgICAgIFN1Y2Nlc3MuDQo+ID4+Pj4gKyAgQHJldHZhbCBSRVRVUk5fSU5WQUxJRF9QQVJB TUVURVIgIEludmFsaWQgcGFyYW1ldGVyLg0KPiA+Pj4+ICsgIEByZXR2YWwgUkVUVVJOX1VOU1VQ UE9SVEVEICAgICAgICBVbnN1cHBvcnRlZC4NCj4gPj4+PiArKiovDQo+ID4+Pj4gK1JFVFVSTl9T VEFUVVMNCj4gPj4+PiArRUZJQVBJDQo+ID4+Pj4gK0Flc0RlY3J5cHQgKA0KPiA+Pj4+ICsgIElO ICBBRVNfQ1RYICAgICAgKkFlc0N0eCwNCj4gPj4+PiArICBJTiAgVUlOVDggQ09OU1QgICpJbkJs b2NrLA0KPiA+Pj4+ICsgIE9VVCBVSU5UOCAgICAgICAgKk91dEJsb2NrDQo+ID4+Pj4gKyAgKTsN Cj4gPj4+PiArDQo+ID4+Pj4gKy8qKiBJbml0aWFsaXplIGFuIEFFU19DVFggc3RydWN0dXJlLg0K PiA+Pj4+ICsNCj4gPj4+PiArICBAcGFyYW0gW2luXSAgICAgICBLZXkgICAgICAgQUVTIGtleS4g QnVmZmVyIG9mIEtleVNpemUgYnl0ZXMuDQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFRoZSBidWZmZXIgaXMgbGl0dGxlIGVuZGlhbi4NCj4gPj4+PiArICBAcGFyYW0gW2lu XSAgICAgICBLZXlTaXplICAgU2l6ZSBvZiB0aGUga2V5LiBNdXN0IGJlIG9uZSBvZiAxMjh8MTky fDI1Ni4NCj4gPj4+PiArICBAcGFyYW0gW2luLCBvdXRdICBBZXNDdHggICAgQUVTIGNvbnRleHQg dG8gaW5pdGlhbGl6ZS4NCj4gPj4+PiArDQo+ID4+Pj4gKyAgQHJldHZhbCBSRVRVUk5fU1VDQ0VT UyAgICAgICAgICAgIFN1Y2Nlc3MuDQo+ID4+Pj4gKyAgQHJldHZhbCBSRVRVUk5fSU5WQUxJRF9Q QVJBTUVURVIgIEludmFsaWQgcGFyYW1ldGVyLg0KPiA+Pj4+ICsgIEByZXR2YWwgUkVUVVJOX1VO U1VQUE9SVEVEICAgICAgICBVbnN1cHBvcnRlZC4NCj4gPj4+PiArKiovDQo+ID4+Pj4gK1JFVFVS Tl9TVEFUVVMNCj4gPj4+PiArRUZJQVBJDQo+ID4+Pj4gK0Flc0luaXRDdHggKA0KPiA+Pj4+ICsg IElOICAgICAgVUlOVDggICAgKktleSwNCj4gPj4+PiArICBJTiAgICAgIFVJTlQzMiAgIEtleVNp emUsDQo+ID4+Pj4gKyAgSU4gT1VUICBBRVNfQ1RYICAqQWVzQ3R4DQo+ID4+Pj4gKyAgKTsNCj4g Pj4+PiArDQo+ID4+Pj4gKyNlbmRpZiAvLyBBRVNfTElCX0hfDQo+ID4+Pj4gZGlmZiAtLWdpdCBh L01kZVBrZy9NZGVQa2cuZGVjIGIvTWRlUGtnL01kZVBrZy5kZWMNCj4gPj4+PiBpbmRleCA3ZmYy NmUyMmY5MTUuLjA3OGFlOTMyM2JhNiAxMDA2NDQNCj4gPj4+PiAtLS0gYS9NZGVQa2cvTWRlUGtn LmRlYw0KPiA+Pj4+ICsrKyBiL01kZVBrZy9NZGVQa2cuZGVjDQo+ID4+Pj4gQEAgLTI4MCw2ICsy ODAsMTAgQEAgW0xpYnJhcnlDbGFzc2VzXQ0KPiA+Pj4+ICAgICAgIw0KPiA+Pj4+ICAgICAgVHJu Z0xpYnxJbmNsdWRlL0xpYnJhcnkvVHJuZ0xpYi5oDQo+ID4+Pj4NCj4gPj4+PiArICAjIyAgQGxp YnJhcnljbGFzcyAgUHJvdmlkZXMgQUVTIGVuY3J5cHRpb24vZGVjcnlwdGlvbiBzZXJ2aWNlcy4N Cj4gPj4+PiArICAjDQo+ID4+Pj4gKyAgQWVzTGlifEluY2x1ZGUvTGlicmFyeS9BZXNMaWIuaA0K PiA+Pj4+ICsNCj4gPj4+PiAgICBbTGlicmFyeUNsYXNzZXMuSUEzMiwgTGlicmFyeUNsYXNzZXMu WDY0LCBMaWJyYXJ5Q2xhc3Nlcy5BQVJDSDY0XQ0KPiA+Pj4+ICAgICAgIyMgIEBsaWJyYXJ5Y2xh c3MgIFByb3ZpZGVzIHNlcnZpY2VzIHRvIGdlbmVyYXRlIHJhbmRvbSBudW1iZXIuDQo+ID4+Pj4g ICAgICAjDQo+ID4+Pj4gLS0NCj4gPj4+PiAyLjI1LjENCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4N Cj4gPj4+PiAtPS09LT0tPS09LT0NCj4gPj4+PiBHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZl IGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuDQo+ID4+Pj4gVmlldy9SZXBseSBPbmxp bmUgKCM5MDg5NSk6DQo+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzkw ODk1DQo+ID4+Pj4gTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC85MjA3MjE2 OC8xNzcyMjg2DQo+ID4+Pj4gR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlv DQo+ID4+Pj4gVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1 Yg0KPiBbamlld2VuLnlhb0BpbnRlbC5jb21dDQo+ID4+Pj4gLT0tPS09LT0tPS09DQo+ID4+Pj4N Cj4gPj4+DQo=