From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.10534.1647958932040471316 for ; Tue, 22 Mar 2022 07:22:12 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=W1KsWNl8; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: ted.kuo@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647958932; x=1679494932; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=5l5GJ1MKPLzSkYuA6oy6CV+2yPYKxG3alfChLf3HMBU=; b=W1KsWNl8fNSTTG3RgWwT9GRH/c7uWG/qHr3Xew6KAVO5nEzD6V8AI9++ MBAvJSlXtpnfNtrecwVxFQRat6YlwEqTGlkuETTZSIQjSpN6mBB/KbDjh FZMunCS775K84qgfcgBWfzsKHSJffaFaf6a0g26iNqlF6mMgHf40ONlrX GJI84Pl3PyRskERaTk6jZBUjTDWa9RjMAIg2lXuIBz6f/EmxiUrZWsRBN qqErpOTQ6ye5w6gglKX/93RwdeIey7YYeTTGT/p1Qf3KxaM375qoJH5cA miWZv7/TVXH6Lm5dPmLviALXRSNdZINqx40lzc34/A635qrp/64xQyjGd w==; X-IronPort-AV: E=McAfee;i="6200,9189,10293"; a="245302994" X-IronPort-AV: E=Sophos;i="5.90,201,1643702400"; d="scan'208";a="245302994" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2022 07:22:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,201,1643702400"; d="scan'208";a="600893734" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga008.fm.intel.com with ESMTP; 22 Mar 2022 07:22:11 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 22 Mar 2022 07:22:10 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Tue, 22 Mar 2022 07:22:10 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Tue, 22 Mar 2022 07:22:10 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Tue, 22 Mar 2022 07:22:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FR+TRtYYy/KHU/sLyXPuj9ZDnGbMA7Tf6V1h9FvoyeAFRhuc/G9VgjsEK+aGBlg6JUFs91uGtdJukGXV0yCCzVh7wtAgKYQCYiylhwHncFydIizdjxsnc9mzqDb1lcdI24EH+gOszGegORkQ/01VA1u/HiPy0G0pNyH9tzEnqvct7XhN9XmJ66Mv+YcFvJVtlVGTlWJzen2EGJhiFILtOoVwchD7nftlDh3BmahVXbd5JpdxT1/J9eS1Sr/1SVjM0/f7ht1jYTCg7sjiSo6yn0jH+WHPLIjZuT3sYXJZoc0C3YxhbbQTXY3XjJl5rKAOxcsJP00jMP4xRK85v8IZjg== 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=5l5GJ1MKPLzSkYuA6oy6CV+2yPYKxG3alfChLf3HMBU=; b=i2KnXXwhoE+mw1NJnwwn8LPmIyI5bHd7qevkHaweOCP6nbwOmLrAl+4QhGPjBiZNkuV9k55mwLRBywf2YwvA1pvnQW6DrWf6sX06gnCDz4iDaJE4rgu244dPOq3sGUBqFdoZ8GX5FguOc73od72rQkwaCr2Io5MVe3WInnDq/9VAmi5Fm3Gk0aPbw+788Exd5cNUdTTqQynlsGh4IfwxpEUAnYtcOKQCE74KrOabs7D/s2h+XdILjW6H0ro+V80k0th8ruDLBdrwpH5JqFm9reSex34LWrNLIWUwSlePQ8Tu+lnn7sMS8rrfnidnOUx/RN6yQvCPSnPTOVAbvgL0cA== 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 MW5PR11MB5932.namprd11.prod.outlook.com (2603:10b6:303:1a2::5) by PH7PR11MB5915.namprd11.prod.outlook.com (2603:10b6:510:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.17; Tue, 22 Mar 2022 14:22:08 +0000 Received: from MW5PR11MB5932.namprd11.prod.outlook.com ([fe80::99c1:4af2:442d:4ffa]) by MW5PR11MB5932.namprd11.prod.outlook.com ([fe80::99c1:4af2:442d:4ffa%6]) with mapi id 15.20.5081.023; Tue, 22 Mar 2022 14:22:08 +0000 From: "Kuo, Ted" To: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= CC: "devel@edk2.groups.io" , "Kinney, Michael D" , "Bi, Dandan" , "Gao, Liming" , "De, Debkumar" , "Han, Harry" , "West, Catharine" , "Wang, Jian J" Subject: Re: [edk2-devel][PATCH 1/2] MdeModulePkg: StackOffset must be aligned to a 16-byte boundary in X64 Thread-Topic: [edk2-devel][PATCH 1/2] MdeModulePkg: StackOffset must be aligned to a 16-byte boundary in X64 Thread-Index: AQHYPVxXIZogd2C5DkWk1xtEGUDg2qzKmzQwgACIHQCAABrW4A== Date: Tue, 22 Mar 2022 14:22:07 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 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: d3020bca-78b5-4b7a-2496-08da0c0f58d1 x-ms-traffictypediagnostic: PH7PR11MB5915:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nlTTCrBCkCCXVIT3tCk7m0oS0c+1Cpk6iPUK/D5rrQYohW7Uyj4GuBvbe9a309l2gyts6IoAh8fnqb+4m2sDbV4z/veJNrsPIxDIB1xzhAwIempo00QY20QNsyGOZqleO3G0aREfHRbk+kwUCXMkDGET17hl26JzHUFVBIPjco+8UlnAFQhs8SD+DwzgOLA7IBuz0SZVTpH4f2WYx5c4yx6+krkcWknFY8tuyvcvch/zts6T8cyzqbXd9sNgnwEK+BaNphdrQYV4DaR/G8f4t/cpmAU0joVq8/atBb4ulm3ikDAkrSvpOHd6UW9QbEx//FQafNNIatGmFFkWu2lQbgZCU6M4RTNRFAYKPUudoErPK1zPiL5fu5HukjOYLy7NU8OLfDhhew1r0DRxKd8K/9H1KUTukGiAtpWDmdBDY9TRPDeAulmVLW8tXWR2p3+YwcAuy36L/ZHsUr+Dyy2xf6dSL5u8eVPOqB00AozbQIlALkJLJ6YCjIgSSgI1X01PJqM2dwGagpRrN4BoXM7j1njcn9pEoyQjIJ3G09WcHpXVCeNi1JR5DRJgxF3Grfod+8OWVqBWGs32QdYPxucQsGKIYketoAUwJazFFhtMsOGt91SjLrJJxlQE76kvMxE+25g/KMaAyPAr0tDAhB6kOTBEP8qiZVnhcjXU2P8Sqb9SC6vgkLmFNwm65OJ93XIGr60eUH5OkAG+cYG43bNUI0nS6Bwg7R5aiykyc7tHKSSOQhjSs7CBIfUI9ycxPi4bVpH3c2DkBis5DSzfr0K26A7NfMWwVDFouEWrGm5HccE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5932.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(54906003)(71200400001)(33656002)(6916009)(316002)(38100700002)(76116006)(55016003)(8676002)(4326008)(66946007)(508600001)(66476007)(66446008)(66556008)(64756008)(66574015)(186003)(107886003)(26005)(86362001)(38070700005)(83380400001)(9686003)(122000001)(5660300002)(6506007)(7696005)(8936002)(30864003)(52536014)(82960400001)(53546011)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z05ZZnJHMEVXZllvSGpSbnMvVlhIQXQwaXgwc2hDd0ZySmFBb2FwSTNCM0Zi?= =?utf-8?B?VWIyekN5bFNaVElnY2tRNENZT1piVlpIRDVYRjBJcnRCaWFYbVRKNWJyWWlM?= =?utf-8?B?cVhCbzBiMUlMUGNNWGNXdmx1bVZoZmxqNktraTdFVnFwYXRuZkdDbzNSVE9o?= =?utf-8?B?VUNMdW9GMGx2M3FCSCtKcXNnSmE4bWZseUNoNHVxNkExN3FSWUNYS0U5dHFv?= =?utf-8?B?bHFValNERWd0QWRlaDNGUVB2RTRPN21TRE9mRm82NkQwcitFNHBpS3c4ek96?= =?utf-8?B?Z0pOODlFNDNWdHFUeGZtdUJzNFVmUVJteVRzbkhwWUl3V3hjdWNBV3l3eGF3?= =?utf-8?B?MVdVMEdKZ21Tb0x0QU5GbldYMWVaTlFMdGtyQkROWUpxYnBidHFXQmY2Wm5o?= =?utf-8?B?T0tLS1VYbitHbEdsMU9DRzRBZE5tS3RCUWU5R0xFd2hqai9GMFZQUTFjR1gz?= =?utf-8?B?cGM0MmNrMUpQUWRNdUtzYlllMHpva1poTkVRSEZ4MFg0YXRYQ1VWTGlGRGhI?= =?utf-8?B?V3N2eldDeHRVbUE4aXFFTHl4eldBQ3hHSzdiT1VmL0tWU0IycXZ0RGVRTkx0?= =?utf-8?B?TmZiaDNzcStzb2R0dlhueFowYlo1UklieGdUazdyb3p1amFLQ0MvamhNK1ky?= =?utf-8?B?T1BpVnBHbWFvdVJTRjNSL284U0tXR3VJOFBWQXFJdlBacStxTklFRVd2MXFV?= =?utf-8?B?UjVLOUpoVkI0aGsyR1U0WVRvbTJPTDVLZU1Pb2VzL1had3Q3UTQ5L0t6YlNz?= =?utf-8?B?Uk93MHdGNkpFcXh1MkgzdHRBbzB1TVJvTFZxN0RPMDR5RG9uOXhuMVRxT0Y1?= =?utf-8?B?RjE0OGtHSEY1eERhdnhheVArTlZIZXNFdmRWSUlrWmRvQ0ROY1VVQnlQVmpC?= =?utf-8?B?cmU3bXhVY3cxb1lEeVVkdkM3L1FmTEhKMFMyYW15cHlqc1JJTGlLTGZybWg4?= =?utf-8?B?UHpkSGRqaURhY2crVjRRMi81eC9jdE5YOGZSNXhkSDE3emtCMWw3VFN0RjZi?= =?utf-8?B?Z1ZCTlkxMHh0TDBkd0JlVUV1RVJucnZVOHV1Qm9mcG9ySjhUNnBWcWJQL0ZR?= =?utf-8?B?WmNGZkdVYVFNWVZtZ1BaV1R3MnBQYTFDRTVpaEp3bkFBdEcwbE1vWk80N2NP?= =?utf-8?B?SlNzbldWUWZJZjkvcGNaUG9tM3BZK2QvSGJPbTYvWGFDcjV3T25XSnZ5ZHkv?= =?utf-8?B?VnE2OWtlRFVCb3VjQW52eEluR1hMVkR4Y3pEdTFvQ1lJbTI2NTNrdVRYbUE0?= =?utf-8?B?QlFmMm5YczFZTDRNMkJxNXN3VndBRG95LzYxUXlCbFdxd1BZaTJ6WUIrcWVi?= =?utf-8?B?TWtkVlRmaHpvM0IzR2p5UnB4VXUyanBrbFBtYW1SOFoySFhUTkROZjIwUy9P?= =?utf-8?B?VGV4aVVVcXNDWFRaL0Z4czNQb25DQWhSYk9TRUNLL0plZzFiREFZOUJqcVUz?= =?utf-8?B?VFk3K0FnellJMXAwWFNDRS9IdU5pRFJXY1RQaTFZbGlrZDF2NHQ2cUpXRHZv?= =?utf-8?B?bG1idVc5Y3MvNG5TV1ZBMVVBbHJTZDJBL3lTbWEza2ZNc1VUSDdKTGhIWTZh?= =?utf-8?B?ZUhaNlBBM29aSEttMFNNU0tYUnRzQlhsZUJvTjRURnlhZEFBWHNXMFZJeEVn?= =?utf-8?B?dU9Xd3pDbmptYm9NVk9Yb0Z5VElaNmt4SkFYTDZ1WkU4dUwwalppOXRHMERq?= =?utf-8?B?NGo4M2FwdEFZOWZPL0doaUdwS0NJWnd0S1lkRDBnMk56MGE5eEgxM2dkOEUy?= =?utf-8?B?bzNaVFBrUFZXanY2Q1VDbXN2b2pZRUxHWVpxUTZEM09sRFBFSXJBbXZLNHVZ?= =?utf-8?B?ZHN0TzBFeERIcTNLelJqNkJWT01BV0RwV0tIRTUwL1VnK1dyazR0QlVRQWR4?= =?utf-8?B?dUR6NFNhMlVvZTdTdmtRRm5TaXBXR3RvbHgwaFRRemdIZmdMbVRYMW1RVzc0?= =?utf-8?Q?3pMbLjfkpRCEUi2/GwbMpu23dXMj9tNY?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5932.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3020bca-78b5-4b7a-2496-08da0c0f58d1 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2022 14:22:07.9084 (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: jfD3JVQ9BgiqIlcvSf9TwurXu3+q+vQHHRCgN25Py3+n4n/HGX0l/KtbwW87JjLLf2RNDduIKE95URbwPeb4Gg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB5915 Return-Path: ted.kuo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFydmluLA0KDQpQbGVhc2UgZmluZCBteSBpbmxpbmUgY29tbWVudHMgd2l0aCBbVGVkMl0u DQoNClRoYW5rcywNClRlZA0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTWFy dmluIEjDpHVzZXIgPG1oYWV1c2VyQHBvc3Rlby5kZT4gDQpTZW50OiBUdWVzZGF5LCBNYXJjaCAy MiwgMjAyMiA1OjI3IFBNDQpUbzogS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPg0KQ2M6IGRl dmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBp bnRlbC5jb20+OyBCaSwgRGFuZGFuIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcg PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IERlLCBEZWJrdW1hciA8ZGVia3VtYXIuZGVAaW50 ZWwuY29tPjsgSGFuLCBIYXJyeSA8aGFycnkuaGFuQGludGVsLmNvbT47IFdlc3QsIENhdGhhcmlu ZSA8Y2F0aGFyaW5lLndlc3RAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdW1BBVENIIDEvMl0gTWRlTW9kdWxl UGtnOiBTdGFja09mZnNldCBtdXN0IGJlIGFsaWduZWQgdG8gYSAxNi1ieXRlIGJvdW5kYXJ5IGlu IFg2NA0KDQpHb29kIGRheSwNCg0KVGhhbmtzIGZvciB0aGUgdXBkYXRlcyENCg0KPiBPbiAyMi4g TWFyIDIwMjIsIGF0IDA4OjIzLCBLdW8sIFRlZCA8dGVkLmt1b0BpbnRlbC5jb20+IHdyb3RlOg0K PiANCj4g77u/SGkgTWFydmluLA0KPiANCj4gR29vZCBkYXkuIFRoYW5rcyBmb3IgeW91ciB2YWx1 YWJsZSBjb21tZW50cy4gQWZ0ZXIgY2hlY2tpbmcgYWxsIG9mIHlvdXIgY29tbWVudHMsIEkgZGVj aWRlIHRvIGRyb3AgdGhlIHBhdGNoZXMgYW5kIGNsb3NlIHRoZSBidWd6aWxsYSB0aWNrZXQgc2lu Y2UgdGhlIGNoYW5nZXMgc2hvdWxkIGJlIHNwZWNpZmljIHRvIFg2NCBpbiBJbnRlbEZzcFBrZy4g WW91IHN0aWxsIGNhbiBmaW5kIG15IGlubGluZSBjb21tZW50cyB3aXRoIFtUZWRdIGZvciB5b3Vy IHF1ZXN0aW9ucy4NCj4gDQo+IFRoYW5rcywNCj4gVGVkDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRlPg0K PiBTZW50OiBUdWVzZGF5LCBNYXJjaCAyMiwgMjAyMiAzOjQ2IEFNDQo+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPg0KPiBDYzogS2lubmV5LCBN aWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgQmksIERhbmRhbiANCj4gPGRh bmRhbi5iaUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNu PjsgRGUsIA0KPiBEZWJrdW1hciA8ZGVia3VtYXIuZGVAaW50ZWwuY29tPjsgSGFuLCBIYXJyeSA8 aGFycnkuaGFuQGludGVsLmNvbT47IA0KPiBXZXN0LCBDYXRoYXJpbmUgPGNhdGhhcmluZS53ZXN0 QGludGVsLmNvbT47IFdhbmcsIEppYW4gSiANCj4gPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4g U3ViamVjdDogUmU6IFtlZGsyLWRldmVsXVtQQVRDSCAxLzJdIE1kZU1vZHVsZVBrZzogU3RhY2tP ZmZzZXQgbXVzdCBiZSANCj4gYWxpZ25lZCB0byBhIDE2LWJ5dGUgYm91bmRhcnkgaW4gWDY0DQo+ IA0KPiBHb29kIGRheSwNCj4gDQo+IFRoYW5rcyBmb3IgdGhlIHVwZGF0ZSENCj4gDQo+PiBPbiAy MS4wMy4yMiAxMzo0MywgS3VvLCBUZWQgd3JvdGU6DQo+PiBSRUY6aHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zODY1DQo+PiBGb3IgWDY0LCBTdGFja09mZnNl dCBtdXN0IGJlIGFsaWduZWQgdG8gYSAxNi1ieXRlIGJvdW5kYXJ5IGFzIHdlbGwgYXMgDQo+PiBv bGQgc3RhY2sgYW5kIG5ldyBzdGFjay4gT3RoZXJ3aXNlLCBpdCdsbCBnZXQgd3JvbmcgZGF0YSBm cm9tIFByaXZhdGUgDQo+PiBwb2ludGVyIGFmdGVyIHN3aXRjaGluZyBmcm9tIG9sZCBzdGFjayB0 byBuZXcgc3RhY2suDQo+PiANCj4+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCj4+IENjOiBEYW5kYW4gQmkgPGRhbmRhbi5iaUBpbnRlbC5jb20+DQo+ PiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPj4gQ2M6IERlYmt1 bWFyIERlIDxkZWJrdW1hci5kZUBpbnRlbC5jb20+DQo+PiBDYzogSGFycnkgSGFuIDxoYXJyeS5o YW5AaW50ZWwuY29tPg0KPj4gQ2M6IENhdGhhcmluZSBXZXN0IDxjYXRoYXJpbmUud2VzdEBpbnRl bC5jb20+DQo+PiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4+IENj OiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRlPg0KPj4gU2lnbmVkLW9mZi1ieTog VGVkIEt1byA8dGVkLmt1b0BpbnRlbC5jb20+DQo+PiAtLS0NCj4+ICBNZGVNb2R1bGVQa2cvQ29y ZS9QZWkvRGlzcGF0Y2hlci9EaXNwYXRjaGVyLmMgfCAxOCANCj4+ICsrKysrKysrKysrKysrKysr LQ0KPj4gIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ PiANCj4+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9QZWkvRGlzcGF0Y2hlci9EaXNw YXRjaGVyLmMNCj4+IGIvTWRlTW9kdWxlUGtnL0NvcmUvUGVpL0Rpc3BhdGNoZXIvRGlzcGF0Y2hl ci5jDQo+PiBpbmRleCAzNTUyZmVkYThmLi44YTJjMWVjNzc5IDEwMDY0NA0KPj4gLS0tIGEvTWRl TW9kdWxlUGtnL0NvcmUvUGVpL0Rpc3BhdGNoZXIvRGlzcGF0Y2hlci5jDQo+PiArKysgYi9NZGVN b2R1bGVQa2cvQ29yZS9QZWkvRGlzcGF0Y2hlci9EaXNwYXRjaGVyLmMNCj4+IEBAIC04MjMsNiAr ODIzLDE5IEBAIFBlaUNoZWNrQW5kU3dpdGNoU3RhY2sgKA0KPj4gICAgICAgICAgICAgICAgIChW T0lEICoqKSZUZW1wb3JhcnlSYW1TdXBwb3J0UHBpDQo+PiAgICAgICAgICAgICAgICAgKTsNCj4+ ICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4+ICsgICAgICAvLw0KPj4gKyAgICAg IC8vIEZvciBYNjQsIFN0YWNrT2Zmc2V0IG11c3QgYmUgYWxpZ25lZCB0byBhIDE2LWJ5dGUgYm91 bmRhcnkuIE90aGVyd2lzZSwgaXQnbGwgZ2V0IHdyb25nIGRhdGENCj4+ICsgICAgICAvLyBmcm9t IFByaXZhdGUgcG9pbnRlciBhZnRlciBzd2l0Y2hpbmcgdG8gbmV3IHN0YWNrLg0KPj4gKyAgICAg IC8vDQo+PiArICAgICAgaWYgKChzaXplb2YgKFVJTlROKSA9PSBzaXplb2YgKFVJTlQ2NCkpICYm ICgoU3RhY2tPZmZzZXQgJiAweDBGKSA9PSA4KSkgew0KPj4gKyAgICAgICAgaWYgKFN0YWNrT2Zm c2V0UG9zaXRpdmUgPT0gVFJVRSkgew0KPj4gKyAgICAgICAgICBTdGFja09mZnNldCAtPSA4Ow0K Pj4gKyAgICAgICAgfSBlbHNlIHsNCj4+ICsgICAgICAgICAgU3RhY2tPZmZzZXQgKz0gODsNCj4+ ICsgICAgICAgIH0NCj4+ICsgICAgICAgIFByaXZhdGUtPlN0YWNrT2Zmc2V0ID0gU3RhY2tPZmZz ZXQ7DQo+PiArICAgICAgfQ0KPj4gKw0KPiANCj4gSG1tLCB0aGUgb3ZlcmFsbCBkZXNpZ24gKG5v dCB5b3VyIHBhdGNoKSBsb29rcyB2ZXJ5IGJyb2tlbiB0byBtZS4gU28sIGlmIHRoZSBQUEkgZXhp c3RzLCBpdCdzIHJlc3BvbnNpYmxlIGZvciB0aGUgbWlncmF0aW9uIG9mIHRoZSBzdGFjaywgYnV0 IGl0IGlzIG5laXRoZXIgcGFzc2VkIHdoZXJlIHRvIG1pZ3JhdGUgdGhlIHN0YWNrIHRvLCBub3Ig ZG9lcyBpdCByZXR1cm4gd2hlcmUgaXQgZGlkIG1pZ3JhdGUgaXQgdG8uIFRoaXMgbWVhbnMgdGhl IFN0YWNrT2Zmc2V0IGNhbGN1bGF0ZWQgaGVyZSBtYXkgYmUgb3V0LW9mLXN5bmMgd2l0aCB3aGF0 IGFjdHVhbGx5IGhhcHBlbnMgaW4gdGhlIFBQSSwgZS5nLiwgaWYgdGhlIFBQSSBjb2RlIGlzIGNo YW5nZWQuIFRoZXJlIGFsc28gaXMgbm8gZGV0YWlsZWQgZXhwbGFuYXRpb24gZm9yIHRoZSBtZW1v cnkgbGF5b3V0IHdpdGggRlNQIHNlcGFyYXRlIHN0YWNrIHZzIGJvb3Rsb2FkZXIgc2hhcmVkIHN0 YWNrLCBzbyBJIGNhbm5vdCByZWFsbHkgZ2l2ZSBkZXRhaWxlZCBjb21tZW50cyBxdWlja2x5LiAq U2lnaCouDQo+IA0KPiBBbnlob3csIGFzIGZvciB0aGUgcGF0Y2gsIEkgZG8gbm90IHVuZGVyc3Rh bmQgYSBmZXcgdGhpbmdzOg0KPiANCj4gMSkgTWF5YmUgbW9zdCBpbXBvcnRhbnQgb2YgYWxsLCB3 aGF0IGV2ZW4gaXMgYnJva2VuPyBXaGljaCBhZGRyZXNzIGlzIG5vdCAxNi1CeXRlLWFsaWduZWQg dG8gY2F1c2UgdGhpcyBpc3N1ZSBpbiB0aGUgZmlyc3QgcGxhY2U/DQo+IFtUZWRdOiBDUFUgd2ls bCBnZW5lcmF0ZSBleGNlcHRpb24gd2hlbiBydW5uaW5nIHNvbWUgWDY0IGluc3RydWN0aW9ucyB3 aGljaCBuZWVkIGlucHV0L291dHB1dCBtZW1vcnkgYWRkcmVzcyB0byBiZSAxNi1CeXRlLWFsaWdu ZWQuDQoNClllcywgSSB1bmRlcnN0b29kIGFzIG11Y2guIEkgYnVpbHQgYSBjaGFpbiBvZiByZWFz b25pbmcgZm9yIGFsaWdubWVudCBpbiB0aGUgcmVzcG9uc2UgZm9yIHRoZSBmaXJzdCByZXZpc2lv biwgYmVjYXVzZSBhIHByb3BlciBmaXggbmVlZHMga25vd2xlZGdlIG9mIHdoaWNoIGFzc3VtcHRp b24gaXMgd3JvbmcgaW4gdGhlIGZpcnN0IHBsYWNlLiBUaGUgcXVlc3Rpb24gaXMsIHdoaWNoICpl eGFjdCogdmFsdWUgaW4gdGhlIGNoYWluIGlzIG5vdCAxNi1CeXRlIGFsaWduZWQsIGFuZCBzaG91 bGQgaXQgYmU/IERpZCB5b3UgZXZlciBwcmludCBhbGwgaW52b2x2ZWQgdmFsdWVzLCBsaWtlIFBo eXNpY2FsTWVtb3J5QmVnaW4gKG9yIHdoYXRldmVyIGl0cyBuYW1lIHdhcywgc29ycnksIEnigJlt IHJlc3BvbmRpbmcgZnJvbSBtb2JpbGUpPw0KW1RlZDJdOiBZZXMsIEkgY29uZmlybWVkIHRoYXQg bm8gaXNzdWUgd2l0aCB0aGUgY3VycmVudCBkZXNpZ24gaW4gRGlzcGF0Y2hlci5jLiBUaGUgdW5h bGlnbmVkIHN0YWNrIG9mZnNldCBJIG9ic2VydmVkIHdhcyBjYXVzZWQgYnkgdGhlIHVuYWxpZ25l ZCBUb3BPZk9sZFN0YWNrIHdoaWNoIGlzIHByb2R1Y2VkIGJ5IHN1bSBvZiBTZWNDb3JlRGF0YS0+ U3RhY2tCYXNlIGFuZCBTZWNDb3JlRGF0YS0+U3RhY2tTaXplLiBJbiBteSBjYXNlLCBTZWNDb3Jl RGF0YSBpcyBwcm92aWRlZCBieSBGc3BTZWNDb3JlLiBIZW5jZSB3ZSBuZWVkIHRvIGVuc3VyZSBT ZWNDb3JlRGF0YS0+U3RhY2tCYXNlIGFuZCBTZWNDb3JlRGF0YS0+U3RhY2tTaXplIHByb3ZpZGVk IGJ5IEZzcFNlY0NvcmUgYXJlIDE2LWJ5dGUtYWxpZ25lZCBpbnN0ZWFkIG9mIG1ha2luZyBjaGFu Z2VzIGluIERpc3BhdGNoZXIuYyBpbiBNZGVNb2R1bGVQa2cuIFRoZSBjb3JyZWN0IGZpeCBzaG91 bGQgYmUgbWFraW5nIHRoZSBzaXplIG9mIENPTlRFWFRfU1RBQ0sgdG8gYmUgMTYtYnl0ZS1hbGln bmVkIGZvciBYNjQgc28gdGhhdCBGc3BTZWNDb3JlIGNhbiBwcm9kdWNlIDE2LWJ5dGUtYWxpZ25l ZCBzdGFjayBiYXNlIGFuZCBzYXZlIGl0IGluIFNlY0NvcmVEYXRhLT5TdGFja0Jhc2UuIFRoZSBm aXggd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgcGF0Y2ggb2YgZW5hYmxpbmcgRnNwU2VjQ29yZSBz dXBwb3J0IGZvciBYNjQuDQoNCj4gDQo+IDIpIFdoeSBkbyB5b3UgYWxpZ24gU3RhY2tPZmZzZXQ/ IExpa2UgeWVzLCBpZiB0aGUgb2xkIHRvcCBvZiB0aGUgc3RhY2sgYW5kIHRoZSBvZmZzZXQgdG8g dGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIGFyZSBib3RoIDE2LUJ5dGUtYWxpZ25lZCwgdGhlbiB0 aGUgbmV3IHRvcCBvZiB0aGUgc3RhY2sgaXMgMTYtQnl0ZS1hbGlnbmVkIHRvby4gSG93ZXZlciwg U3RhY2tPZmZzZXQgaXMgbW9yZSBvZiBhIGJ5LXByb2R1Y3QgYW5kIFRvcE9mTmV3U3RhY2sgcmVt YWlucyBob2xkaW5nIHRoZSBvbGQgdmFsdWUuIEkganVzdCBkb24ndCByZWFsbHkgdW5kZXJzdGFu ZCB0aGUgaWRlYSBvZiB0aGlzIGFwcHJvYWNoLg0KPiBbVGVkXTogU2luY2UgbmV3IHN0YWNrIG11 c3Qga2VlcCB0aGUgb3JpZ2luYWwgc3RhY2sgYWxpZ25tZW50IGFzIG9sZCBzdGFjaywgaXQgbWVh bnMgc3RhY2sgb2Zmc2V0IG11c3QgYmUgMTYtQnl0ZS1hbGlnbmVkIHRvby4NCg0KWWVzLCBJIGFn cmVlZCBhYm92ZS4gQnV0IFN0YWNrT2Zmc2V0IGlzIG5vdCB0aGUgZGVmaW5pdGlvbiBvZiB3aGVy ZSB0aGUgbmV3IHN0YWNrIGlzIGxvY2F0ZWQsIGJ1dCBvbmx5IGEgY29uc2VxdWVuY2UgZnJvbSBp dC4gSXQgaXMgbm90IHRoZSBwcmltYXJ5IGRlc2NyaXB0b3IgaXMgd2hhdCBJ4oCZbSB0cnlpbmcg dG8gc2F5Lg0KDQo+IEFuZCB0aGUgT2xkU3RhY2svTmV3U3RhY2sgaW4gdGhlIGZzcCBwYXRjaCBp bmRpY2F0ZXMgdGhlICpjdXJyZW50KiBvbGQvbmV3IHN0YWNrLiBUaGUgZnNwIHBhdGNoIGp1c3Qg bWFrZXMgbGVmdCBzaGlmdCA4LWJ5dGUgb2Ygd2hvbGUgdXNlZCBzdGFjayBkYXRhIHdoZW4gbmV3 IHN0YWNrIG5vdCBhbGlnbmluZyB3aXRoIG9sZCBzdGFjay4gSGVuY2UgSSB0aGluayBubyBuZWVk IHRvIHVwZGF0ZSBUb3BPZk5ld1N0YWNrLg0KDQpZZXMsIEkgdW5kZXJzdGFuZCB3aGF0IGlzIGhh cHBlbmluZywgSSBkb27igJl0IHVuZGVyc3RhbmQgd2h5IGl0IGlzIGhhcHBlbmluZy4gTXkgY29t bWVudCBoZXJlIHdhcyBzZXBhcmF0ZSBmcm9tIHRoZSBGU1AgcGF0Y2ggYW5kIG9ubHkgY29uY2Vy bmVkIHRoZSBjb2RlIGhlcmUuIElmIHRoZSB0b3Agb2YgdGhlIHN0YWNrIChhcyBkZXNjcmliZWQg YnkgU3RhY2tPZmZzZXQpIGlzIGFsaWduZWQgZnJvbSBpdHMgb3JpZ2luYWwgdmFsdWUsIHdoeSBj YW4gVG9wT2ZOZXdTdGFjayByZW1haW4gdW5jaGFuZ2VkLCB3aGVuIGl0IGFsbCBwb2ludHMgdG8g dGhlIG9sZCwgdW5hbGlnbmVkIHRvcCwgd2hlcmUgbm8gZGF0YSBzaG91bGQgZXZlciBiZSBzdG9y ZWQ/DQoNCj4gZS5nLg0KPiBjYXNlMToNCj4gb2xkIHN0YWNrOiAweGZlZjVlMDAwDQo+IG5ldyBz dGFjazogMHg0OWM4ZjNiMA0KPiBzdGFjazogMHg5YzhmM2IwIC0+IDE2LUJ5dGUtYWxpZ25lZA0K PiBjYXNlMjogDQo+IG9sZCBzdGFjazogMHhmZWY1ZTAwOA0KDQpJcyB0aGlzIHRoZSB0b3Agb3Ig Ym90dG9tPyBJZiBpdOKAmXMgdGhlIHRvcCwgd2h5IGNhbiBpdCAqbm90KiBiZSAxNi1CeXRlLWFs aWduZWQ/IElmIGl04oCZcyB0aGUgYm90dG9tLCBob3cgaXMgaXQgcmVsZXZhbnQgaGVyZT8gV2Ug YXJlIG9ubHkgZGVhbGluZyB3aXRoIHRoZSB0b3AgYWRkcmVzc2VzIGluIHRoaXMgcGF0Y2gsIG5v Pw0KW1RlZDJdOiBJdCdzIGN1cnJlbnQgc3RhY2sgYmVmb3JlIGFuZCBhZnRlciBzd2l0Y2hpbmcg c3RhY2ssIG5vdCB0b3Agb3IgYm90dG9tLiBJIGp1c3Qgd2FudGVkIHRvIHNob3cgd2h5IHN0YWNr IG9mZnNldCBtdXN0IGJlIDE2LWJ5dGUtYWxpZ25lZCBpbiB0aGlzIHBhdGNoIHdoaWNoIGlzIG5v IGxvbmdlciBuZWVkZWQgc2luY2UgdGhlIHJvb3QgY2F1c2UgaXMgYWxyZWFkeSBpZGVudGlmaWVk IGluIEZzcFNlY0NvcmUuIFdlIGNhbiBkcm9wIHRoZSB0d28gcGF0Y2hlcy4NCg0KPiBuZXcgc3Rh Y2s6IDB4NDljOGYzYjgNCj4gc3RhY2s6IDB4OWM4ZjNiMCAtPiAxNi1CeXRlLWFsaWduZWQNCj4g DQo+IDMpIFRoaXMgb25seSB3b3JrcyB3aGVuIFN0YWNrT2Zmc2V0IGlzIGd1YXJhbnRlZWQgdG8g YmUgOC1CeXRlLWFsaWduZWQgKGlzIGl0PykuIEFzIHdlIGFyZSBkZWFsaW5nIHdpdGggdGhlICp0 b3AqIG9mIHRoZSBzdGFjayAod2hpY2ggc2hvdWxkIGJlIDRLLWFsaWduZWQgZXZlbiBmb3IgbWVt b3J5IHByb3RlY3Rpb24hKSwgd2hhdCB3b3VsZCBiZSB3cm9uZyB3aXRoIGp1c3QgYWxpZ25pbmcg ZG93biBhbmQgdXAgaW5zdGVhZD8NCj4gKFNhbWUgcXVlc3Rpb24gZm9yIHRoZSBzZWNvbmQgcGF0 Y2ggdG8gdGhlIEZTUCBjb2RlKSBBcyBteSBhbnN3ZXIgaW4gDQo+IFEyLCB3aGF0IHdlIGFkanVz dCBpbiB0aGUgZnNwIHBhdGNoIGlzIHRoZSBuZXcgImN1cnJlbnQiIHN0YWNrIGluIG9yZGVyIHRv IGtlZXAgdGhlIHNhbWUgc3RhY2sgYWxpZ25tZW50IGFzIG9sZCBzdGFjayBhZnRlciBzd2l0Y2hp bmcgc3RhY2suIFRvcCBvZiB0aGUgbmV3IHN0YWNrIHJlbWFpbnMgdW5jaGFuZ2VkLiBJZiBTdGFj a09mZnNldCBpcyBub3QgYWRqdXN0ZWQgYWNjb3JkaW5nbHksIGJpb3Mgd2lsbCBnZXQgd3Jvbmcg ZGF0YSBmcm9tIFByaXZhdGUgcG9pbnRlciBhZnRlciBzd2l0Y2hpbmcgdG8gbmV3IHN0YWNrLg0K DQpCdXQgU3RhY2tPZmZzZXQgZGVzY3JpYmVzIHRoZSBvZmZzZXQgZnJvbSB0aGUgdG9wIG9mIHRo ZSBvbGQgc3RhY2sgdG8gdGhlIHRvcCBvZiB0aGUgbmV3IHN0YWNrLiBIb3cgZG9lcyB0aGUgdG9w IOKAnHJlbWFpbiB1bmNoYW5nZWTigJ0/IFRvcCBhbGlnbm1lbnQgaXMgdGhlIHJvb3QgZm9yIHRo ZSB0cmFuc2l0aXZlIGFsaWdubWVudCBjaGFpbiwgaWYgaXQgaXMgYWxpZ25lZCwgYW5kIGl0IG11 c3QgYmUsIGV2ZXJ5dGhpbmcgaXMgYWxpZ25lZC4NCltUZWQyXTogVG90YWxseSBhZ3JlZWQuIFdl IGNhbiBkcm9wIHRoZSB0d28gcGF0Y2hlcyBhcyBub3QgcmVxdWlyZWQuDQoNCj4gDQo+IDQpIFRo ZSBuZXh0IHBhdGNoIHBlcmZvcm1zIGEgc2ltaWxhciBhbGlnbm1lbnQgb3BlcmF0aW9uIChhcyBt ZW50aW9uZWQgDQo+IGJlZm9yZSkuIEhvd2V2ZXIsIHdoaWxlIHRoaXMgcGF0Y2ggYWxpZ25zIHRo ZSAqdG9wKiBvZiB0aGUgc3RhY2ssIHRoZSANCj4gRlNQIHBhdGNoIGFsaWducyB0aGUgKmJvdHRv bSogb2YgdGhlIHN0YWNrLiBUaGlzIG1heSBvciBtYXkgbm90IGJlIA0KPiBjb3JyZWN0IGJhc2Vk IG9uIHlvdXIgcHJlbWlzZXMuIENhbiB5b3UgbWF5YmUgZG9jdW1lbnQgd2h5IHRoaXMgaXMgDQo+ IGNvcnJlY3QsIG9yIGV2ZW4gYmV0dGVyLCB0cnkgdG8gYWxpZ24gdGhlIHRvcCBvZiB0aGUgc3Rh Y2sgaW4gRlNQIGFzIA0KPiB3ZWxsPyAoQnkgdHJhbnNpdGl2aXR5LCBpZiB5b3UgYWxpZ24gdGhl IHRvcCBjb3JyZWN0bHksIHRoZSBib3R0b20gDQo+IHNob3VsZCBiZSBhbGlnbmVkIGNvcnJlY3Rs eSBhcyB3ZWxsLCBhcyBldmVyeSBuZXN0ZWQgY2FsbCBtdXN0IA0KPiBwcmVzZXJ2ZSB0aGUgYWxp Z25tZW50IGludmFyaWFudCkNCj4gW1RlZF06IEFjdHVhbGx5IHRoZSBuZXcgc3RhY2sgcmVnaW9u IChmcm9tIHRvcCB0byBib3R0b20pIGlzIG5vdCBjaGFuZ2VkIHdpdGggdGhlIHBhdGNoZXMuIEl0 IGp1c3QgYWRqdXN0ZWQgdGhlICpjdXJyZW50KiBuZXcgc3RhY2sgdG8gYWxpZ24gd2l0aCB0aGUg KmN1cnJlbnQqIG9sZCBzdGFjay4NCg0KQ29uZnVzZWQsIHNvcnJ5LiBNYXliZSBleHBsYWluaW5n IHRoZSByZXN0IHdpbGwgbWFrZSB0aGlzIGNsZWFyZXIuDQoNCj4gDQo+IDUpIFdoeSBkb2VzIHRo aXMgb25seSBoYXBwZW4gd2hlbiB0aGUgUFBJIGlzIGZvdW5kPyBXb3VsZCB0aGF0IG5vdCByaXNr IGFuIHVuYWxpZ25lZCBzdGFjayBpZiB0aGUgUFBJIGlzIG5vdCBwcm92aWRlZCwgdGhlIHNhbWUg d2F5IGl0IGlzIHVuYWxpZ25lZCBub3c/DQo+IFtUZWRdOiBJIGRpZG4ndCBvYnNlcnZlIHRoZSB1 bmFsaWduZWQgc3RhY2sgaXNzdWUgaW4gdGhlIGVsc2UgY2FzZSAodGhlIFBQSSBpcyBub3QgZm91 bmQpLg0KDQpUaGlzIGlzIHdoeSBJIGFza2VkIGFib3V0IDEpLiBUaGluZ3MgbGlrZSB0aGlzIGFy ZSBmdW5kYW1lbnRhbCBhbmQgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIHdpdGhvdXQgdW5kZXJzdGFu ZGluZyBib3RoIHRoZSBmdWxsIHNjb3BlIG9mIHRoZSBpc3N1ZSBhbmQgdGhlIGZ1bGwgc2NvcGUg b2YgdGhlIGNoYW5nZXMuDQoNCj4gDQo+IDYpIFRoZSBjb21tZW50IGV4cGxpY2l0bHkgbWVudGlv bnMgWDY0LCBidXQgY2hlY2tzIG9ubHkgZm9yIDY0LWJpdCBwb2ludGVyIHNpemUuIFNvIHRoaXMg c2hvdWxkIGFmZmVjdCBBQXJjaDY0IGFuZCBSSVNDLVYtNjQgYXMgd2VsbC4gQXJlIHRoZXkgZ3Vh cmFudGVlZCB0byBmdW5jdGlvbiBjb3JyZWN0bHkgYWZ0ZXIgdGhpcyBwYXRjaCAoZXNwZWNpYWxs eSB3aXRoIHRoZSBQUEkgc3luYyBndWFyYW50ZWVzIG1lbnRpb25lZCBlYXJsaWVyKT8NCj4gW1Rl ZF06IEdvb2QgcG9pbnQuIFRoZSBjaGFuZ2VzIHNob3VsZCBvbmx5IGJlIG5lZWRlZCBmb3IgWDY0 LiBJIHNoYWxsIG1ha2UgdGhlIGNoYW5nZXMgc3BlY2lmaWMgdG8gWDY0IG9ubHkgaW4gSW50ZWxG c3BQa2cuIEknbGwgZHJvcCB0aGUgcGF0Y2ggYW5kIGNsb3NlIHRoZSBidWd6aWxsYSB0aWNrZXQu DQoNCkJ1dCBob3cgd2lsbCBTdGFja09mZnNldCBiZSBpbi1zeW5jIHdpdGggdGhlIGNoYW5nZXMg aW4gRlNQIFNlY0NvcmUgdGhlbj8gSWYgSeKAmW0gbm90IG1pc3Rha2VuIHdpdGggbXkgaW50cm8g ZnJvbSBsYXN0IG1haWwsIGJvdGggY2FsY3VsYXRlIHRoZSBzdGFjayBhZGRyZXNzIHNlcGFyYXRl bHkgZnJvbSBlYWNoIG90aGVyLCBhbmQgdGhlaXIgY2FsY3VsYXRpb25zIG11c3QgYmUgaW4tc3lu Yy4gSWYgSeKAmW0gbWlzdGFrZW4sIGhvdyBkb2VzIGl0IHdvcmsgdGhlbj8NCltUZWQyXTogQWdy ZWVkLiBXZSBjYW4gZHJvcCB0aGUgdHdvIHBhdGNoZXMuDQoNCj4gDQo+IDcpIFRoaXMgb25seSB1 cGRhdGVzIEZTUCBjb2RlLCBzaW1pbGFyIHRvIDUpLCBidXQgdG8gUUVNVSBhbmQgZnJpZW5kcyBj b250aW51ZSB0byB3b3JrPw0KPiBbVGVkXTogVGhlIGNoYW5nZXMgc2hvdWxkIGJlIHNwZWNpZmlj IHRvIFg2NCBhcmNoaXRlY3R1cmUgaW4gSW50ZWxGc3BQa2cgd2l0aG91dCBhbnkgaW1wYWN0IHRv IFFFTVUgYW5kIG90aGVyIGFyY2hpdGVjdHVyZXMuDQoNClNob3VsZCBiZSBzb2x2ZWQgYnkgNiku DQoNClRoYW5rcyENCg0KQmVzdCByZWdhcmRzLA0KTWFydmluDQoNCj4gDQo+IA0KPiBUaGFua3Mh DQo+IA0KPiBCZXN0IHJlZ2FyZHMsDQo+IE1hcnZpbg0KPiANCj4+ICAgICAgICAvLw0KPj4gICAg ICAgIC8vIEhlYXAgT2Zmc2V0DQo+PiAgICAgICAgLy8NCj4+IEBAIC04NTIsNyArODY1LDEwIEBA IFBlaUNoZWNrQW5kU3dpdGNoU3RhY2sgKA0KPj4gICAgICAgIC8vIFRlbXBvcmFyeSBSYW0gU3Vw cG9ydCBQUEkgaXMgcHJvdmlkZWQgYnkgcGxhdGZvcm0sIGl0IHdpbGwgY29weQ0KPj4gICAgICAg IC8vIHRlbXBvcmFyeSBtZW1vcnkgdG8gcGVybWFuZW50IG1lbW9yeSBhbmQgZG8gc3RhY2sgc3dp dGNoaW5nLg0KPj4gICAgICAgIC8vIEFmdGVyIGludm9raW5nIFRlbXBvcmFyeSBSYW0gU3VwcG9y dCBQUEksIHRoZSBmb2xsb3dpbmcgY29kZSdzDQo+PiAtICAgICAgLy8gc3RhY2sgaXMgaW4gcGVy bWFuZW50IG1lbW9yeS4NCj4+ICsgICAgICAvLyBzdGFjayBpcyBpbiBwZXJtYW5lbnQgbWVtb3J5 LiBGb3IgWDY0LCB0aGUgYml0MzowIG9mIHRoZSBuZXcgc3RhY2sNCj4+ICsgICAgICAvLyBwcm9k dWNlZCBieSBUZW1wb3JhcnlSYW1NaWdyYXRpb24gbXVzdCBiZSBhbGlnbmVkIHdpdGggdGhlIGJp dDM6MCBvZg0KPj4gKyAgICAgIC8vIHRoZSBvbGQgc3RhY2suIE90aGVyd2lzZSwgaXQnbGwgYnJl YWsgdGhlIG9yaWdpbmFsIHN0YWNrIGFsaWdubWVudA0KPj4gKyAgICAgIC8vIGFmdGVyIHN3aXRj aGluZyB0byBuZXcgc3RhY2suDQo+PiAgICAgICAgLy8NCj4+ICAgICAgICBUZW1wb3JhcnlSYW1T dXBwb3J0UHBpLT5UZW1wb3JhcnlSYW1NaWdyYXRpb24gKA0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+IA0KDQo=