From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.32591.1654896019897004185 for ; Fri, 10 Jun 2022 14:20:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=b/Nt7RfP; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: nathaniel.l.desimone@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654896019; x=1686432019; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hAOx2By7y05AIMgUOAPb2ZfeR3VJ3m8MYM1EPGRHPNA=; b=b/Nt7RfP0R5/Dc7rk/fPKKdU3VTra5vLa4Mg1LfnwUaAErM0Ro1WQ1NZ wtQrtg4/WOf8NJFxdZQ2FlHMqTL7JLdZJ9GDyc9t2r08BYlqfY1uJKZzg 8XZtYNvKrE43gGrx5EDbyS8nwRbnfLl/V7YfJyxEv7mc7VWCvD/OLh6OX WvwxjiqKHpPF0/6yYLS/4JkIloMLvVFzUEQJCi+BeFJnXBb0IgrikTzUa iERI99QxFqJSPvqivd0A22ahNOF4t8EqVS05it9Dc2CzI9YNTZ+E50NDO vPeiVZLDgX/GMOftv2zfwR/21kHGa33bj+aW4G0dXuVMDOEi71N66Mtdh g==; X-IronPort-AV: E=McAfee;i="6400,9594,10374"; a="275282211" X-IronPort-AV: E=Sophos;i="5.91,291,1647327600"; d="scan'208";a="275282211" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2022 14:20:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,291,1647327600"; d="scan'208";a="684766302" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga002.fm.intel.com with ESMTP; 10 Jun 2022 14:20:18 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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; Fri, 10 Jun 2022 14:20:18 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 10 Jun 2022 14:20:18 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 10 Jun 2022 14:20:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Uio4fqBGnZt17UmZ9n1g0v55n76G360ORk1lM4+UTQNB3ueOLvu4tyhIwOtlRIs2/qfmnHMqJSHdhfEaISfTVjRZv7CvEajis7hkq4Uj4bBii8uAROHv2LOWm8PozxvDiowAABi03wGmRvZ3D4W4NvDrdbF6pPSeJ5sDmNc8t75lNxd0Urc0GBJscDturmPpMlWwR9JlZLTnYJX4TYpfXFYT3UCrDPuV9zQg2+EZcQoaVcQe4762gWb13HMKoLIjCrl8e0tHSIJV+JUIY+hq7uXaA5I8cIlYAPAgnd2qA0bBoS4wqrLiTPDARdh2Sv5FvrscD9i1D17oHv5K8oyt/A== 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=hAOx2By7y05AIMgUOAPb2ZfeR3VJ3m8MYM1EPGRHPNA=; b=C4nE2BbEMCWB+0ncp94nGRO7vOJPWpj0MFpS7cue2w4hPzbD4TDEbrjEnfEJsVmm9LI1TyUtCbRSP8GXo6VZv4JK2Vy6LwrnDQzMsF9k2KhcoL8DKdAJnaiK4Vn4VW38WGD7huXE3KddLOGyKi63Q8hPQJwFGZw7wgIYVFoR1iPfZQJAFnesuqxy1tU+xdEzKvFKLU2NQ4pIiwJV0xjRozMHHRnZz5By7H35OjwHxg33duh11WAJeaSM/s/NEJu5I+h1blZsSNVa4iB7kQIN3VmQICpcTPX1J5vTA0TGqBJloUST7F2VADgkZvfPpWvdvoBqyoPSsHHYtJBQc99tKw== 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 MW4PR11MB5821.namprd11.prod.outlook.com (2603:10b6:303:184::5) by SA2PR11MB5211.namprd11.prod.outlook.com (2603:10b6:806:fb::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.13; Fri, 10 Jun 2022 21:20:15 +0000 Received: from MW4PR11MB5821.namprd11.prod.outlook.com ([fe80::190c:c119:21b7:7589]) by MW4PR11MB5821.namprd11.prod.outlook.com ([fe80::190c:c119:21b7:7589%5]) with mapi id 15.20.5293.019; Fri, 10 Jun 2022 21:20:15 +0000 From: "Nate DeSimone" To: "devel@edk2.groups.io" , "michael.kubacki@outlook.com" CC: "Wang, Jian J" , "Gao, Liming" , "Kinney, Michael D" , "Oram, Isaac W" , "Chiu, Chasel" , "Cheng, Gao" , "Zhang, Di" , "Bu, Daocheng" , "Kubacki, Michael" Subject: Re: [edk2-devel] [PATCH V1 1/1] MdeModulePkg: Add Definition of EDKII_PEI_VARIABLE_PPI Thread-Topic: [edk2-devel] [PATCH V1 1/1] MdeModulePkg: Add Definition of EDKII_PEI_VARIABLE_PPI Thread-Index: AQHYfG3G6oH9WSus0UyI18wws9EkS61JJOlg Date: Fri, 10 Jun 2022 21:20:14 +0000 Message-ID: References: <20220610011705.5148-1-nathaniel.l.desimone@intel.com> <20220610011705.5148-2-nathaniel.l.desimone@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: 95444c7b-ca00-4d15-c8c3-08da4b2702da x-ms-traffictypediagnostic: SA2PR11MB5211: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: 6Njdg8u05WiVPuTscJGOgJLki31c9SQLTYQsAEW/aUk9/fpQveKC2jyJEXwV9W3anI6KwxYGK2i9U9ca0T+J7RU4IvKBW/k2Ze2ZJq0B8aEAIEn093A7QZWEhDLhmVq+o9AF4tunKZvQPud5nkW6KpUChA6RVdhAlbHYZUz2gyU5QNsZMwzcA2BG4+Hd5WYr+gW777nM38+VzZO7piCmCZMO1wNh8v35f7HiLeAe/FF4y+KKpM6Ahm9a8LCVOUjHK/mKGHVtmhhAtsvaKeV9wAXYau2F0PPfpW5zCfNgLomtHIIJJugm+gIjzYk7ml0f/jox8Dx8CjzinipxvuP+Qt9gwF1VhxYhHT5LCtEfRqK5wwFmcYzRjkda4utpxQcLkxjf09GwG2kpSsUAdu9m6ObqQ2Ycn1JYuKp0+2aFWps+VPI1yO0c2H6Gyb8/MiLId5/oYCuH8HV+utOzyF8xzku+N3TiA5CjFnak7cGhUCfvCQBJBr1NZzWyxt1PDa2f6R91WDfV7/QM0M6txexSf4Sq2O2SYSJ4pPzl66M1sAzUPKDrXQoBotdZbBm7x8o5o4Vc32o8Ujp1rPnSCLqG67y5RTGXJY4MSAVYIzmVvJ1bbixc/nUeMwEYZq9hIvBolwZ6y2ghJ74NS+85DnMPQzWcRdRT+IodU8icursLbl14RfI0CjCnUMaLW39rpCoDPG51H1/NdMJgRDiCSjE6Svg7xjGqiXdcIVZ2ZIjC4DSPFTIXzwPAEqtjUITd/IGC/SZh76gBDLsnYq8Ykt/ACLM+sysumJODBTXNI9mYDCQznKTkIjWwbUgEQk3Zhd7l5WOvHDcM93V6hV9d6B51mQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5821.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(2906002)(316002)(110136005)(9686003)(82960400001)(30864003)(54906003)(26005)(64756008)(8676002)(4326008)(66476007)(66446008)(66946007)(66556008)(76116006)(38070700005)(38100700002)(186003)(8936002)(71200400001)(53546011)(83380400001)(122000001)(33656002)(19627235002)(508600001)(5660300002)(7696005)(6506007)(86362001)(52536014)(55016003)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T3o5QU4yUlRBNFQxRnFUTWYvQ1g0UGExc1NrSDIvOGFTOW1leUV4Yy9GQWVl?= =?utf-8?B?cjNYWmVTbkVVNXJZMXB4RXp5VGNOa3FOZ0NiaDd6c1lvMGRRdlY5UmhTWFM1?= =?utf-8?B?blBUZDZkalVRcDE0aXNVQVFnY3lHZ1Y1UGgwL3V6THJxL2R2UTZGQXZrYmlk?= =?utf-8?B?SWNmYWc3NitUL2lHMDBKQjNsYU1ZRkUzV0laRjdrcXB4VUZIZkhxbUxwOWFr?= =?utf-8?B?Z2NWd3d2N3NxeVhtVW5uTFQ1WlBFeGNhMWR3M1Urb1RaQkppNkFkRXZ2MUkw?= =?utf-8?B?cDROWTFOZGY5WHZDRThPSlhsK0hxYTlxRDQ5THBHTnJCSzFxbmYvaEVSdHRq?= =?utf-8?B?TEhIc1VqbHJTNzZTZ3UrK2ZFcG1uN3VIOUV5WDAyc1NEMDBCR0dJdm9RMnNt?= =?utf-8?B?SWx2WVVQbytjQk5OYXA2dGNDczB5RzJwVHNESFowZ3hVZ1VGOEVBUk9RY0k0?= =?utf-8?B?ZzdYYXQxeUdQTUdIVU9aeXlmN2tIQTZoRzUvYnpia3BRTVNVK0ZjNjJkNXdI?= =?utf-8?B?cUE4QXRCME9iUERGSVVHSEt4TS95SUdZMHFLWkorQUdsRlhvMHIwc3FGNk1P?= =?utf-8?B?OWJweEJPOXNzbnprWDlrVzNBZXN5R01zNStmb0kzeHFDaU53cmZnOE1XKzJo?= =?utf-8?B?WStwdkU1Uy9lTXNMV2dVbFRmUzd4VlpJbnZlbUwwTVVEeksxNGMwZlZmQktu?= =?utf-8?B?MnBady80SEc3M2NNcWs5VkNjTFZqQWJicDdtbU9NaTAyRHRIQm1HZE90c01P?= =?utf-8?B?WHBVVkN5RGFuZmJDV3FmUGxVSXZLeEJKTDJkRnZ4emFZbjJmL1FKZk93Qmgz?= =?utf-8?B?TldqU2ZwcmptMFI0eDZ1akxrK1YyVjhNRVhEUnJmVFhRMjN2YWdDc0ZHV3Rp?= =?utf-8?B?YVVtYlhKRHZQVXNrM1ZQalpQSmo0ZGV6OFFSK3RYL2FnQTUzOFBKK0tNYVcw?= =?utf-8?B?S3dhRUw4NTlOejd0ZmwzTzVTMCs4WGpBUE1BMmVBbzRTTlNUYUdpb1cyYnkr?= =?utf-8?B?UlhwWmhyTElPZW1SdUtMM1Y0MXZRS0xiT1B6T3djSjIwRnFvMUM0eTZjc2F4?= =?utf-8?B?TUE2MzMrN3drcGc5b2lrYzlmZWVidUI3SWxzVCttWkpyQVRkbHA4Z1g2bWx0?= =?utf-8?B?Vm5xM2NqSExRR2tFNGVwU3JNWlZEYUhtdzZ5MkRJcmc3ZDd5cnZYZGI1ck9U?= =?utf-8?B?RTJEZzlnVVpwUjZZK203dXNreUJjdnZPK3MzcTYzbkh3b3VHamVlVG53YnU1?= =?utf-8?B?dlpyRmprblNNVlVXeXNtaEJvWXprUGNXalhNa3hlRDlSQ2tBdzNqLzRzNCtN?= =?utf-8?B?QTRDQTJPaEg5TVdaeG0zMDRpVC93VTZvQ0dsWG85UFdLbjlrWk1WempYcmZ6?= =?utf-8?B?UjZlWm1pWDFHR1YveGNGaENZREdMZ2xDeGt3WE1oMFArTlVPVE44T25CSUhY?= =?utf-8?B?bld0WTFYNEN1dHQrOTFJbllSN1BOWFpiMXpFUnhXZ1R2UEY4eEdtcHFRU0pv?= =?utf-8?B?dHE2VFZ4ZWw3Z3ZzTjZPWTIySmhqMlBnZUlvemlTQ2ptaFpvYkZRNEtoUTIz?= =?utf-8?B?TVBibUJZNTNXOUxqZERlVjhuTkhmQXJpWTEvYkV1aFVWYnp4SFg5bmRaRDVp?= =?utf-8?B?Zm01bTJuVHFFNC93WDZnUFMyQm9VanJkUlNtZUJnNGcyd2tXNVNncGx6RXM2?= =?utf-8?B?WVVmMFBMVllOeUVsYk5BcTJlNThPZy9RcElHb2g2eklSUUk2U1RMU3lHZUFS?= =?utf-8?B?a1QvOGZLKzV2bjhRVmVvSnJva0xmWms1Z3VBUHMzb0xNOGJZOTRhSTZyNFNs?= =?utf-8?B?QTJvQ3Z3SWFqSmVtYUMrV05qQklNRHRHUk9jTkROUTkwSFViVHdpNncxNXpK?= =?utf-8?B?blBzYzVreWdNaEpxWThqNDJ5REJXc1J4Zmw5VktJNThBNXNZWnFJeUZSd3Vu?= =?utf-8?B?Tnd2U3NrNkZ0bWJ3KzRHVVNLNWJnQzIxa2FyR3g5QnhaMTVMZFN5SmF4bWx1?= =?utf-8?B?eDZyNmZmSzlvRVRFZWkwcVVKYVRNU0lLY204cGZkRDFJTVU3ajJDc2RSVHNB?= =?utf-8?B?Szg1OFZXRmNPdEk2Z1BwUHFWSzBtWEp0Y2hTZ0NNZEhob3A2cFdjODR2cW10?= =?utf-8?B?em5PbnpYMHRiVkcydG5qTFRnWDUreERkYmpkempqenF6TFNveDFhLzlabXBG?= =?utf-8?B?K2Z5V21ycFhXMGVMVTB4MGtOUktvNGQzMG84OVcxMzQxQTVSOSs1UFB2OTVk?= =?utf-8?B?R0Y2dzl4NHFMc2greC9xbElpcWFIdEJ6cmthc1Fxd1lZWWFUc0NkcS9zSWFZ?= =?utf-8?B?K1lhQnFvVkhYd0JuUDVzaGw0TGlLNlNmR25QNDNxT2J0YjJ5T2pmcHlmY21O?= =?utf-8?Q?vm6grqwlwIh1VILQ=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5821.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95444c7b-ca00-4d15-c8c3-08da4b2702da X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jun 2022 21:20:14.9578 (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: NRjQwSaetwoe9Wx78Q1Mak6sjXkU7/+fhzZUAWOZNyYokHbWT20K+ExTj5Bo+cFaWDW5fnPe9/ln+bCAFBEW/jc0Rw+tikN0iSAjyVSi1R0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5211 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWljaGFlbCwNCg0KVGhhbmtzIGZvciB0aGUgZ3JlYXQgZmVlZGJhY2shIEkgYmVsaWV2ZSBJ IGhhdmUgYWRkcmVzc2VkIGFsbCBvZiBpdCBpbiB0aGUgVjIgcGF0Y2guIFBsZWFzZSB0YWtlIGEg bG9vayB3aGVuIHlvdSBnZXQgYSBjaGFuY2UuDQoNClBlciB5b3VyIGNvbW1lbnQgb24gdGhlIEVG SV9BVVRIRU5USUNBVEVEX1ZBUklBQkxFX0hPQi4uLiB0aGlzIGlzIG9uZSBvZiB0aG9zZSBvbGQg ZGF0YSBzdHJ1Y3R1cmVzIG1pZ3JhdGVkIGZyb20gdGhlIGVkazEgdGhhdCBoYXMgdGhlIEVGSV8g cHJlZml4IGV2ZW4gdGhvdWdoIGl0IHdhcyBuZXZlciBhZGRlZCB0byB0aGUgUEkgc3BlYyBwcm9w ZXIuIFRoZSBuYW1lIHdhc24ndCBjaGFuZ2VkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBy ZWFzb25zICh0aGVyZSBpcyBhIGh1Z2UgYW1vdW50IG9mIGNvZGUgZGVwZW5kZW50IG9uIHRob3Nl IG9sZCBuYW1lcy4pIFRoZXJlIGFyZSBhIGZhaXIgbnVtYmVyIG9mIGluc3RhbmNlcyBvZiB0aGlz IGluIHRoZSB2YXJpYWJsZSBzZXJ2aWNlcywgRUZJX1NNTV9WQVJJQUJMRV9QUk9UT0NPTCBwZXJo YXBzIGJlaW5nIHRoZSBtb3N0IHZpc2libGUuDQoNClRoYW5rcywNCk5hdGUNCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE1pY2hhZWwgS3ViYWNraQ0KU2VudDogVGh1cnNkYXks IEp1bmUgOSwgMjAyMiA3OjAwIFBNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IERlc2ltb25l LCBOYXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPg0KQ2M6IFdhbmcs IEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGdhb2xpbWluZ0Bi eW9zb2Z0LmNvbS5jbj47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT47IE9yYW0sIElzYWFjIFcgPGlzYWFjLncub3JhbUBpbnRlbC5jb20+OyBDaGl1LCBDaGFz ZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IENoZW5nLCBHYW8gPGdhby5jaGVuZ0BpbnRlbC5j b20+OyBaaGFuZywgRGkgPGRpLnpoYW5nQGludGVsLmNvbT47IEJ1LCBEYW9jaGVuZyA8ZGFvY2hl bmcuYnVAaW50ZWwuY29tPjsgS3ViYWNraSwgTWljaGFlbCA8bWljaGFlbC5rdWJhY2tpQG1pY3Jv c29mdC5jb20+DQpTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCBWMSAxLzFdIE1kZU1v ZHVsZVBrZzogQWRkIERlZmluaXRpb24gb2YgRURLSUlfUEVJX1ZBUklBQkxFX1BQSQ0KDQpJcyB0 aGlzIGNoYW5nZSBqdXN0IGFkZGluZyB0aGUgaW50ZXJmYWNlIHRvIFRpYW5vY29yZSBvciBpcyB0 aGVyZSBhZGRpdGlvbmFsIGltcGxlbWVudGF0aW9uIHBsYW5uZWQgYXMgd2VsbD8NCg0KLS0tDQoN CkkgdGhvdWdodCB3ZSB3ZXJlIGZvbGxvd2luZyB0aGlzIGNvbnZlbnRpb24gbm93Og0KDQoiI2lm bmRlZiBfX1BFSV9WQVJJQUJMRV9QUElfSF8iIC0+ICIjaWZuZGVmIFBFSV9WQVJJQUJMRV9QUElf SF8iDQoNClNvbWUgb3RoZXIgY29tbWVudHMgYXJlIGlubGluZS4NCg0KUmVnYXJkcywNCk1pY2hh ZWwNCg0KT24gNi85LzIwMjIgOToxNyBQTSwgTmF0ZSBEZVNpbW9uZSB3cm90ZToNCj4gQWRkcyBk ZWZpbml0aW9uIG9mIEVES0lJX1BFSV9WQVJJQUJMRV9QUEksIGEgcHJlLWN1cnNvciB0byBlbmFi bGluZyANCj4gdmFyaWFibGUgd3JpdGVzIGluIHRoZSBQRUkgZW52aXJvbm1lbnQuDQo+IA0KPiBD YzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gQ2M6IExpbWluZyBHYW8g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogSXNhYWMgT3JhbSA8aXNhYWMudy5vcmFtQGlu dGVsLmNvbT4NCj4gQ2M6IENoYXNlbCBDaGl1IDxjaGFzZWwuY2hpdUBpbnRlbC5jb20+DQo+IENj OiBHYW8gQ2hlbmcgPGdhby5jaGVuZ0BpbnRlbC5jb20+DQo+IENjOiBEaSBaaGFuZyA8ZGkuemhh bmdAaW50ZWwuY29tPg0KPiBDYzogRGFvY2hlbmcgQnUgPGRhb2NoZW5nLmJ1QGludGVsLmNvbT4N Cj4gQ2M6IE1pY2hhZWwgS3ViYWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+ IFNpZ25lZC1vZmYtYnk6IE5hdGUgRGVTaW1vbmUgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVs LmNvbT4NCj4gLS0tDQo+ICAgTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHBpL1ZhcmlhYmxlLmggfCAx ODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgIE1kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cuZGVjICAgICAgIHwgICAzICsNCj4gICAyIGZpbGVzIGNoYW5nZWQsIDE5MiBpbnNlcnRp b25zKCspDQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1kZU1vZHVsZVBrZy9JbmNsdWRlL1BwaS9W YXJpYWJsZS5oDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHBpL1Zh cmlhYmxlLmggDQo+IGIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHBpL1ZhcmlhYmxlLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTdkYzdjZWVmYQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9JbmNsdWRlL1BwaS9WYXJpYWJsZS5oDQo+ IEBAIC0wLDAgKzEsMTg5IEBADQo+ICsvKiogQGZpbGUNCj4gKyAgRURLSUkgUEVJIFZhcmlhYmxl IFByb3RvY29sIHByb3ZpZGVzIGFuIGltcGxlbWVudGF0aW9uIG9mIHZhcmlhYmxlcw0KDQpbTUtd IFdhcyAiRURLSUkgUEVJIFZhcmlhYmxlIFBQSSIgaW50ZW5kZWQ/DQoNCj4gKyAgaW50ZW5kZWQg Zm9yIHVzZSBhcyBhIG1lYW5zIHRvIHN0b3JlIGRhdGEgaW4gdGhlIFBFSSBlbnZpcm9ubWVudC4N Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX19QRUlfVkFSSUFCTEVf UFBJX0hfDQo+ICsjZGVmaW5lIF9fUEVJX1ZBUklBQkxFX1BQSV9IXw0KPiArDQo+ICsjZGVmaW5l IEVES0lJX1BFSV9WQVJJQUJMRV9QUElfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4ZTdiMmNk MDQsIDB4NGIxNCwgMHg0NGMyLCB7IDB4YjcsIDB4NDgsIDB4Y2UsIDB4YWYsIDB4MmIsIDB4NjYs IA0KPiArMHg0YSwgMHhiMCB9IFwNCj4gKyAgfQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfRURL SUlfUEVJX1ZBUklBQkxFX1BQSSBFREtJSV9QRUlfVkFSSUFCTEVfUFBJOw0KPiArDQo+ICsvKioN Cj4gKyAgVGhpcyBzZXJ2aWNlIHJldHJpZXZlcyBhIHZhcmlhYmxlJ3MgdmFsdWUgdXNpbmcgaXRz IG5hbWUgYW5kIEdVSUQuDQo+ICsNCj4gKyAgUmVhZCB0aGUgc3BlY2lmaWVkIHZhcmlhYmxlIGZy b20gdGhlIFVFRkkgdmFyaWFibGUgc3RvcmUuIElmIHRoZSANCj4gKyBEYXRhICBidWZmZXIgaXMg dG9vIHNtYWxsIHRvIGhvbGQgdGhlIGNvbnRlbnRzIG9mIHRoZSB2YXJpYWJsZSwgIHRoZSANCj4g KyBlcnJvciBFRklfQlVGRkVSX1RPT19TTUFMTCBpcyByZXR1cm5lZCBhbmQgRGF0YVNpemUgaXMg c2V0IHRvIHRoZSAgDQo+ICsgcmVxdWlyZWQgYnVmZmVyIHNpemUgdG8gb2J0YWluIHRoZSBkYXRh Lg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gICAgICAgIFRoaXMgICAgICAgICAgICAgIEEgcG9pbnRl ciB0byB0aGlzIGluc3RhbmNlIG9mIHRoZSBFREtJSV9QRUlfVkFSSUFCTEVfUFBJLg0KPiArICBA cGFyYW1baW5dICAgICAgICBWYXJpYWJsZU5hbWUgICAgICBBIHBvaW50ZXIgdG8gYSBudWxsLXRl cm1pbmF0ZWQgc3RyaW5nIHRoYXQgaXMgdGhlIHZhcmlhYmxlJ3MgbmFtZS4NCj4gKyAgQHBhcmFt W2luXSAgICAgICAgVmFyaWFibGVHdWlkICAgICAgQSBwb2ludGVyIHRvIGFuIEVGSV9HVUlEIHRo YXQgaXMgdGhlIHZhcmlhYmxlJ3MgR1VJRC4gVGhlIGNvbWJpbmF0aW9uIG9mDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlR3VpZCBhbmQgVmFyaWFibGVO YW1lIG11c3QgYmUgdW5pcXVlLg0KPiArICBAcGFyYW1bb3V0XSAgICAgICBBdHRyaWJ1dGVzICAg ICAgICBJZiBub24tTlVMTCwgb24gcmV0dXJuLCBwb2ludHMgdG8gdGhlIHZhcmlhYmxlJ3MgYXR0 cmlidXRlcy4NCj4gKyAgQHBhcmFtW2luLCBvdXRdICAgRGF0YVNpemUgICAgICAgICAgT24gZW50 cnksIHBvaW50cyB0byB0aGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgRGF0YSBidWZmZXIuDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIHJldHVybiwgcG9pbnRzIHRv IHRoZSBzaXplIG9mIHRoZSBkYXRhIHJldHVybmVkIGluIERhdGEuDQo+ICsgIEBwYXJhbVtvdXRd ICAgICAgIERhdGEgICAgICAgICAgICAgIFBvaW50cyB0byB0aGUgYnVmZmVyIHdoaWNoIHdpbGwg aG9sZCB0aGUgcmV0dXJuZWQgdmFyaWFibGUgdmFsdWUuDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1heSBiZSBOVUxMIHdpdGggYSB6ZXJvIERhdGFTaXplIGluIG9y ZGVyIHRvIGRldGVybWluZSB0aGUgc2l6ZSBvZiB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnVmZmVyIG5lZWRlZC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTICAgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5 Lg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUg d2FzIG5vdCBmb3VuZC4NCj4gKyAgQHJldHZhbCBFRklfQlVGRkVSX1RPT19TTUFMTCAgICAgICAg VGhlIERhdGFTaXplIGlzIHRvbyBzbWFsbCBmb3IgdGhlIHJlc3VsdGluZyBkYXRhLg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhU2l6ZSBpcyB1cGRhdGVkIHdp dGggdGhlIHNpemUgcmVxdWlyZWQgZm9yDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRoZSBzcGVjaWZpZWQgdmFyaWFibGUuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFM SURfUEFSQU1FVEVSICAgICAgIFZhcmlhYmxlTmFtZSwgVmFyaWFibGVHdWlkLCBEYXRhU2l6ZSBv ciBEYXRhIGlzIE5VTEwuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICAgICAg IFRoZSB2YXJpYWJsZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkIGJlY2F1c2Ugb2YgYSBkZXZpY2Ug ZXJyb3IuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQ SSAqRURLSUlfUEVJX0dFVF9WQVJJQUJMRSkoDQo+ICsgIElOIENPTlNUICBFREtJSV9QRUlfVkFS SUFCTEVfUFBJICAgICpUaGlzLA0KPiArICBJTiBDT05TVCAgQ0hBUjE2ICAgICAgICAgICAgICAg ICAgICAqVmFyaWFibGVOYW1lLA0KPiArICBJTiBDT05TVCAgRUZJX0dVSUQgICAgICAgICAgICAg ICAgICAqVmFyaWFibGVHdWlkLA0KPiArICBPVVQgICAgICAgVUlOVDMyICAgICAgICAgICAgICAg ICAgICAqQXR0cmlidXRlcywNCg0KW01LXSBCYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24sIEF0dHJp YnV0ZXMgc2hvdWxkIGJlIG1hcmtlZCAiT1BUSU9OQUwiLg0KDQo+ICsgIElOIE9VVCAgICBVSU5U TiAgICAgICAgICAgICAgICAgICAgICpEYXRhU2l6ZSwNCj4gKyAgT1VUICAgICAgIFZPSUQgICAg ICAgICAgICAgICAgICAgICAgKkRhdGEgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ ICsgIFJldHVybiB0aGUgbmV4dCB2YXJpYWJsZSBuYW1lIGFuZCBHVUlELg0KPiArDQo+ICsgIFRo aXMgZnVuY3Rpb24gaXMgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHRvIHJldHJpZXZlIHRoZSBWYXJp YWJsZU5hbWUgIA0KPiArIGFuZCBWYXJpYWJsZUd1aWQgb2YgYWxsIHZhcmlhYmxlcyBjdXJyZW50 bHkgYXZhaWxhYmxlIGluIHRoZSBzeXN0ZW0uDQo+ICsgIE9uIGVhY2ggY2FsbCwgdGhlIHByZXZp b3VzIHJlc3VsdHMgYXJlIHBhc3NlZCBpbnRvIHRoZSBpbnRlcmZhY2UsICANCj4gKyBhbmQsIG9u IHJldHVybiwgdGhlIGludGVyZmFjZSByZXR1cm5zIHRoZSBkYXRhIGZvciB0aGUgbmV4dCAgDQo+ ICsgaW50ZXJmYWNlLiBXaGVuIHRoZSBlbnRpcmUgdmFyaWFibGUgbGlzdCBoYXMgYmVlbiByZXR1 cm5lZCwgIA0KPiArIEVGSV9OT1RfRk9VTkQgaXMgcmV0dXJuZWQuDQo+ICsNCg0KW01LXSBJIGtu b3cgb3RoZXIgZGVzY3JpcHRpb25zIGRvbid0IHVzdWFsbHkgaGF2ZSBpdCBidXQgaXQgd291bGQg YmUgbmljZSB0byBkZXNjcmliZSB0aGUgaW5pdGlhbCBjYWxsaW5nIHZhbHVlcyBleHBlY3RlZC4N Cg0KPiArICBAcGFyYW1baW5dICAgICAgICBUaGlzICAgICAgICAgICAgICBBIHBvaW50ZXIgdG8g dGhpcyBpbnN0YW5jZSBvZiB0aGUgRURLSUlfUEVJX1ZBUklBQkxFX1BQSS4NCj4gKyAgQHBhcmFt W2luLCBvdXRdICAgVmFyaWFibGVOYW1lU2l6ZSAgT24gZW50cnksIHBvaW50cyB0byB0aGUgc2l6 ZSBvZiB0aGUgYnVmZmVyIHBvaW50ZWQgdG8gYnkgVmFyaWFibGVOYW1lLg0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiByZXR1cm4sIHRoZSBzaXplIG9mIHRoZSB2 YXJpYWJsZSBuYW1lIGJ1ZmZlci4NCj4gKyAgQHBhcmFtW2luLCBvdXRdICAgVmFyaWFibGVOYW1l ICAgICAgT24gZW50cnksIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgdGhh dCBpcyB0aGUgdmFyaWFibGUncyBuYW1lLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPbiByZXR1cm4sIHBvaW50cyB0byB0aGUgbmV4dCB2YXJpYWJsZSdzIG51bGwt dGVybWluYXRlZCBuYW1lIHN0cmluZy4NCj4gKyAgQHBhcmFtW2luLCBvdXRdICAgVmFyaWFibGVH dWlkICAgICAgT24gZW50cnksIGEgcG9pbnRlciB0byBhbiBFRklfR1VJRCB0aGF0IGlzIHRoZSB2 YXJpYWJsZSdzIEdVSUQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9uIHJldHVybiwgYSBwb2ludGVyIHRvIHRoZSBuZXh0IHZhcmlhYmxlJ3MgR1VJRC4NCj4gKw0K PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUgd2Fz IHJlYWQgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICAg ICAgICBUaGUgdmFyaWFibGUgY291bGQgbm90IGJlIGZvdW5kLg0KPiArICBAcmV0dmFsIEVGSV9C VUZGRVJfVE9PX1NNQUxMICAgICAgICBUaGUgVmFyaWFibGVOYW1lU2l6ZSBpcyB0b28gc21hbGwg Zm9yIHRoZSByZXN1bHRpbmcNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGF0YS4gVmFyaWFibGVOYW1lU2l6ZSBpcyB1cGRhdGVkIHdpdGggdGhlIHNpemUNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQgZm9yIHRoZSBzcGVj aWZpZWQgdmFyaWFibGUuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAg IFZhcmlhYmxlTmFtZSwgVmFyaWFibGVHdWlkIG9yDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFZhcmlhYmxlTmFtZVNpemUgaXMgTlVMTC4NCj4gKyAgQHJldHZhbCBF RklfREVWSUNFX0VSUk9SICAgICAgICAgICAgVGhlIHZhcmlhYmxlIGNvdWxkIG5vdCBiZSByZXRy aWV2ZWQgYmVjYXVzZSBvZiBhIGRldmljZSBlcnJvci4NCj4gKw0KPiArKiovDQo+ICt0eXBlZGVm DQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFREtJSV9QRUlfR0VUX05FWFRfVkFSSUFCTEVf TkFNRSkoDQo+ICsgIElOIENPTlNUICBFREtJSV9QRUlfVkFSSUFCTEVfUFBJICAgICpUaGlzLA0K PiArICBJTiBPVVQgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAqVmFyaWFibGVOYW1lU2l6 ZSwNCj4gKyAgSU4gT1VUICAgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKlZhcmlhYmxlTmFt ZSwNCj4gKyAgSU4gT1VUICAgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgKlZhcmlhYmxlR3Vp ZA0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgU2V0cyB0aGUgdmFsdWUgb2YgYSB2YXJpYWJs ZS4NCj4gKw0KPiArICBAcGFyYW1baW5dICAgICAgICBUaGlzICAgICAgICAgICAgICBBIHBvaW50 ZXIgdG8gdGhpcyBpbnN0YW5jZSBvZiB0aGUgRURLSUlfUEVJX1ZBUklBQkxFX1BQSS4NCj4gKyAg QHBhcmFtW2luXSAgICAgICAgVmFyaWFibGVOYW1lICAgICAgQSBOdWxsLXRlcm1pbmF0ZWQgc3Ry aW5nIHRoYXQgaXMgdGhlIG5hbWUgb2YgdGhlIHZlbmRvcidzIHZhcmlhYmxlLg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIFZhcmlhYmxlTmFtZSBpcyB1bmlx dWUgZm9yIGVhY2ggVmVuZG9yR3VpZC4gVmFyaWFibGVOYW1lIG11c3QNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbiAxIG9yIG1vcmUgY2hhcmFjdGVycy4g SWYgVmFyaWFibGVOYW1lIGlzIGFuIGVtcHR5IHN0cmluZywNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhlbiBFRklfSU5WQUxJRF9QQVJBTUVURVIgaXMgcmV0dXJu ZWQuDQo+ICsgIEBwYXJhbVtpbl0gICAgICAgIFZlbmRvckd1aWQgICAgICAgIEEgdW5pcXVlIGlk ZW50aWZpZXIgZm9yIHRoZSB2ZW5kb3IuDQo+ICsgIEBwYXJhbVtpbl0gICAgICAgIEF0dHJpYnV0 ZXMgICAgICAgIEF0dHJpYnV0ZXMgYml0bWFzayB0byBzZXQgZm9yIHRoZSB2YXJpYWJsZS4NCj4g KyAgQHBhcmFtW2luXSAgICAgICAgRGF0YVNpemUgICAgICAgICAgVGhlIHNpemUgaW4gYnl0ZXMg b2YgdGhlIERhdGEgYnVmZmVyLiBVbmxlc3MgdGhlIEVGSV9WQVJJQUJMRV9BUFBFTkRfV1JJVEUN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGlzIHNl dCwgYSBzaXplIG9mIHplcm8gY2F1c2VzIHRoZSB2YXJpYWJsZSB0byBiZSBkZWxldGVkLiBXaGVu IHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFC TEVfQVBQRU5EX1dSSVRFIGF0dHJpYnV0ZSBpcyBzZXQsIHRoZW4gYSBTZXRWYXJpYWJsZSgpIGNh bGwgd2l0aCBhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGFT aXplIG9mIHplcm8gd2lsbCBub3QgY2F1c2UgYW55IGNoYW5nZSB0byB0aGUgdmFyaWFibGUgdmFs dWUuDQo+ICsgIEBwYXJhbVtpbl0gICAgICAgIERhdGEgICAgICAgICAgICAgIFRoZSBjb250ZW50 cyBmb3IgdGhlIHZhcmlhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICAgICAgIFRoZSBmaXJtd2FyZSBoYXMgc3VjY2Vzc2Z1bGx5IHN0b3JlZCB0aGUgdmFyaWFi bGUgYW5kIGl0cyBkYXRhIGFzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRlZmluZWQgYnkgdGhlIEF0dHJpYnV0ZXMuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURf UEFSQU1FVEVSICAgICAgIEFuIGludmFsaWQgY29tYmluYXRpb24gb2YgYXR0cmlidXRlIGJpdHMs IG5hbWUsIGFuZCBHVUlEIHdhcyBzdXBwbGllZCwgb3IgdGhlDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERhdGFTaXplIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dl ZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICAgVmFyaWFibGVOYW1l IGlzIGFuIGVtcHR5IHN0cmluZy4NCj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAg ICAgICAgTm90IGVub3VnaCBzdG9yYWdlIGlzIGF2YWlsYWJsZSB0byBob2xkIHRoZSB2YXJpYWJs ZSBhbmQgaXRzIGRhdGEuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICAgICAg IFRoZSB2YXJpYWJsZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkIGR1ZSB0byBhIGhhcmR3YXJlIGVy cm9yLg0KPiArICBAcmV0dmFsIEVGSV9XUklURV9QUk9URUNURUQgICAgICAgICBUaGUgdmFyaWFi bGUgaW4gcXVlc3Rpb24gaXMgcmVhZC1vbmx5Lg0KPiArICBAcmV0dmFsIEVGSV9XUklURV9QUk9U RUNURUQgICAgICAgICBUaGUgdmFyaWFibGUgaW4gcXVlc3Rpb24gY2Fubm90IGJlIGRlbGV0ZWQu DQo+ICsgIEByZXR2YWwgRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTiAgICAgIFRoZSB2YXJpYWJsZSBj b3VsZCBub3QgYmUgd3JpdHRlbiBkdWUgdG8gRUZJX1ZBUklBQkxFX0FVVEhFTlRJQ0FURURfV1JJ VEVfQUNDRVNTLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBF RklfVkFSSUFCTEVfVElNRV9CQVNFRF9BVVRIRU5USUNBVEVEX1dSSVRFX0FDQ0VTUywgb3INCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0VOSEFO Q0VEX0FVVEhFTlRJQ0FURURfQUNDRVNTIGJlaW5nIHNldC4gV3JpdGluZyB0byBhdXRoZW50aWNh dGVkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcyBp cyBub3Qgc3VwcG9ydGVkIGluIHRoZSBQRUkgZW52aXJvbm1lbnQuIFVwZGF0ZXMgdG8gYXV0aGVu dGljYXRlZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJs ZXMgY2FuIGJlIHJlcXVlc3RlZCBkdXJpbmcgUEVJIHZpYSB0aGUgRUZJX0FVVEhFTlRJQ0FURURf VkFSSUFCTEVfSE9CLCBidXQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGhlc2UgdXBkYXRlcyB3b24ndCBiZSB3cml0dGVuIHRvIG5vbi12b2xhdGlsZSBzdG9yYWdl IHVudGlsIGxhdGVyIGluIERYRS4gU2VlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1kZU1vZHVsZVBrZy9JbmNsdWRlL0d1aWQvVmFyaWFibGVGb3JtYXQuaCBmb3Ig bW9yZSBkZXRhaWxzIG9uDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVGSV9BVVRIRU5USUNBVEVEX1ZBUklBQkxFX0hPQi4NCg0KW01LXSBJIGRpZG4ndCBzZWUgIkVG SV9BVVRIRU5USUNBVEVEX1ZBUklBQkxFX0hPQiIgbWVudGlvbmVkIGluIFZhcmlhYmxlRm9ybWF0 LmguDQoNCltNS10gSXQgc2VlbXMgdGhhdCBpZiBhIGNvbnRyYWN0IGZvciBwcm9kdWNpbmcgYW5k IHRoZW4gY29uc3VtaW5nIHRoaXMgSE9CIGlzIGdvaW5nIHRvIGJlIGRlZmluZWQgYmV0d2VlbiB0 aGUgSE9CIHByb2R1Y2VyIGFuZCBjb25zdW1lciBwaGFzZSwgaXQgc2hvdWxkIGJlIGRlc2NyaWJl ZCBpbiBzb21ldGhpbmcgbGlrZSB0aGUgUEkgU3BlYy4NCg0KPiArICBAcmV0dmFsIEVGSV9OT1Rf Rk9VTkQgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUgdHJ5aW5nIHRvIGJlIHVwZGF0ZWQgb3Ig ZGVsZXRlZCB3YXMgbm90IGZvdW5kLg0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9T VEFUVVMNCj4gKyhFRklBUEkgKkVES0lJX1BFSV9TRVRfVkFSSUFCTEUpKA0KPiArICBJTiBDT05T VCAgRURLSUlfUEVJX1ZBUklBQkxFX1BQSSAgICAqVGhpcywNCj4gKyAgSU4gICAgICAgIENIQVIx NiAgICAgICAgICAgICAgICAgICAgKlZhcmlhYmxlTmFtZSwNCj4gKyAgSU4gICAgICAgIEVGSV9H VUlEICAgICAgICAgICAgICAgICAgKlZlbmRvckd1aWQsDQo+ICsgIElOICAgICAgICBVSU5UMzIg ICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZXMsDQo+ICsgIElOICAgICAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIERhdGFTaXplLA0KPiArICBJTiAgICAgICAgVk9JRCAgICAgICAgICAg ICAgICAgICAgICAqRGF0YQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgUmV0dXJucyBpbmZv cm1hdGlvbiBhYm91dCB0aGUgVUVGSSB2YXJpYWJsZXMuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAg ICAgICAgVGhpcyAgICAgICAgICAgICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoaXMgaW5z dGFuY2Ugb2YgdGhlIEVES0lJX1BFSV9WQVJJQUJMRV9QUEkuDQo+ICsgIEBwYXJhbVtpbl0gICAg ICAgIEF0dHJpYnV0ZXMgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZXMgYml0bWFzayB0byBz cGVjaWZ5IHRoZSB0eXBlIG9mIHZhcmlhYmxlcyBvbg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGljaCB0byByZXR1cm4gaW5mb3JtYXRpb24u DQo+ICsgIEBwYXJhbVtvdXRdICAgICAgIE1heGltdW1WYXJpYWJsZVN0b3JhZ2VTaXplICAgIE9u IG91dHB1dCB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSBzdG9yYWdlIHNwYWNlDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZSBmb3Ig dGhlIEVGSSB2YXJpYWJsZXMgYXNzb2NpYXRlZCB3aXRoIHRoZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIHNwZWNpZmllZC4N Cj4gKyAgQHBhcmFtW291dF0gICAgICAgUmVtYWluaW5nVmFyaWFibGVTdG9yYWdlU2l6ZSAgUmV0 dXJucyB0aGUgcmVtYWluaW5nIHNpemUgb2YgdGhlIHN0b3JhZ2Ugc3BhY2UNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIGZvciB0 aGUgRUZJIHZhcmlhYmxlcyBhc3NvY2lhdGVkIHdpdGggdGhlDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgc3BlY2lmaWVkLg0K PiArICBAcGFyYW1bb3V0XSAgICAgICBNYXhpbXVtVmFyaWFibGVTaXplICAgICAgICAgICBSZXR1 cm5zIHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIGluZGl2aWR1YWwgRUZJDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcyBhc3NvY2lh dGVkIHdpdGggdGhlIGF0dHJpYnV0ZXMgc3BlY2lmaWVkLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkIGFuc3dlciByZXR1cm5l ZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICAgICAgICAgICAgICAg QW4gaW52YWxpZCBjb21iaW5hdGlvbiBvZiBhdHRyaWJ1dGUgYml0cyB3YXMgc3VwcGxpZWQNCj4g KyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGF0 dHJpYnV0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0sIGFuZCB0aGUNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4aW11bVZh cmlhYmxlU3RvcmFnZVNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJlbWFpbmluZ1ZhcmlhYmxlU3RvcmFnZVNpemUsIE1heGltdW1WYXJp YWJsZVNpemUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYXJlIHVuZGVmaW5lZC4NCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RB VFVTDQo+ICsoRUZJQVBJICpFREtJSV9QRUlfUVVFUllfVkFSSUFCTEVfSU5GTykoDQo+ICsgIElO IENPTlNUICBFREtJSV9QRUlfVkFSSUFCTEVfUFBJICAgICpUaGlzLA0KPiArICBJTiAgICAgICAg VUlOVDMyICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVzLA0KPiArICBPVVQgICAgICAgVUlO VDY0ICAgICAgICAgICAgICAgICAgICAqTWF4aW11bVZhcmlhYmxlU3RvcmFnZVNpemUsDQo+ICsg IE9VVCAgICAgICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICpSZW1haW5pbmdWYXJpYWJsZVN0 b3JhZ2VTaXplLA0KPiArICBPVVQgICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAqTWF4 aW11bVZhcmlhYmxlU2l6ZQ0KPiArICApOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBQRUkgVmFyaWFi bGUgUHJvdG9jb2wgaXMgaW50ZW5kZWQgZm9yIHVzZSBhcyBhIG1lYW5zDQoNCltNS10gV2FzICJQ RUkgVmFyaWFibGUgUFBJIiBpbnRlbmRlZD8NCg0KPiArLy8vIHRvIHN0b3JlIGRhdGEgaW4gdGhl IFBFSSBlbnZpcm9ubWVudC4NCj4gKy8vLw0KPiArc3RydWN0IF9FREtJSV9QRUlfVkFSSUFCTEVf UFBJIHsNCj4gKyAgRURLSUlfUEVJX0dFVF9WQVJJQUJMRSAgICAgICAgICAgIEdldFZhcmlhYmxl Ow0KPiArICBFREtJSV9QRUlfR0VUX05FWFRfVkFSSUFCTEVfTkFNRSAgR2V0TmV4dFZhcmlhYmxl TmFtZTsNCj4gKyAgRURLSUlfUEVJX1NFVF9WQVJJQUJMRSAgICAgICAgICAgIFNldFZhcmlhYmxl Ow0KPiArICBFREtJSV9QRUlfUVVFUllfVkFSSUFCTEVfSU5GTyAgICAgUXVlcnlWYXJpYWJsZUlu Zm87DQo+ICt9Ow0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgIGdFZGtpaVBlaVZhcmlhYmxlUHBp R3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvTWRlTW9k dWxlUGtnLmRlYyANCj4gYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYyBpbmRleCAyYmNi OWY5NDUzLi40ZjRjNDhiODFmIDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxl UGtnLmRlYw0KPiArKysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiBAQCAtNTEz LDYgKzUxMyw5IEBADQo+ICAgICBnRWRraWlQZWlDYXBzdWxlT25EaXNrUHBpR3VpZCAgICAgICAg ICAgICA9IHsgMHg3MWE5ZWE2MSwgMHg1YTM1LCAweDRhNWQsIHsgMHhhYywgMHhlZiwgMHg5Yywg MHhmOCwgMHg2ZCwgMHg2ZCwgMHg2NywgMHhlMCB9IH0NCj4gICAgIGdFZGtpaVBlaUJvb3RJbkNh cHN1bGVPbkRpc2tNb2RlUHBpR3VpZCAgID0geyAweGIwOGExMWU0LCAweGUyYjcsIDB4NGI3NSwg eyAweGI1LCAweDE1LCAweGFmLCAweDYxLCAweDYsIDB4NjgsIDB4YmYsIDB4ZDEgIH0gfQ0KPiAg IA0KPiArICAjIyBJbmNsdWRlL1BwaS9WYXJpYWJsZS5oDQo+ICsgIGdFZGtpaVBlaVZhcmlhYmxl UHBpR3VpZCAgICAgICAgICAgICAgICAgID0geyAweGU3YjJjZDA0LCAweDRiMTQsIDB4NDRjMiwg eyAweGI3LCAweDQ4LCAweGNlLCAweGFmLCAweDJiLCAweDY2LCAweDRhLCAweGIwIH0gfQ0KPiAr DQo+ICAgW1Byb3RvY29sc10NCj4gICAgICMjIExvYWQgRmlsZSBwcm90b2NvbCBwcm92aWRlcyBj YXBhYmlsaXR5IHRvIGxvYWQgYW5kIHVubG9hZCBFRkkgaW1hZ2UgaW50byBtZW1vcnkgYW5kIGV4 ZWN1dGUgaXQuDQo+ICAgICAjICBJbmNsdWRlL1Byb3RvY29sL0xvYWRQZTMySW1hZ2UuaA0KDQoN Cg0KDQoNCg==