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.1417.1666987859706877412 for ; Fri, 28 Oct 2022 13:11:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=MYNaMCP+; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: zachary.clark-williams@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666987859; x=1698523859; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=v9Fb9c6pPyAPcXZ0l8Q6FU0pyyVqHzNQWwOekIeGfiA=; b=MYNaMCP+THjlCmqCoKE2ptewIWe29ddUoa4mWHwxdx1GZ+6bwkHnSVjd jQTSG8ul6AEYlEkUjM05g2BHlDevUA2ImJNSkjkP/fVPmcT5l+Cw8JEcV ogp0cNnDMk/y4AdrYtxtvkMI48g5583pEl/arHbFgiRPESDAy0fPAKLjy S7mgAUKHuPtoFn+LV2akc8t2xr4cXk2QLOzu02zrnRrJH1DnOqVpbO7bV prid0R7Hyhm1O+cnIYklzB3NrR9xM2o4xYv9gcOGVoefBwHk++McKIWO/ 2mvyBkEKhwTkw52OpKzgTGdDurfa5YjvhwAcDDXEbVEQCT/NhJzCwcEBW Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10514"; a="310279135" X-IronPort-AV: E=Sophos;i="5.95,222,1661842800"; d="scan'208";a="310279135" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Oct 2022 13:09:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10514"; a="758206912" X-IronPort-AV: E=Sophos;i="5.95,222,1661842800"; d="scan'208";a="758206912" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga004.jf.intel.com with ESMTP; 28 Oct 2022 13:09:36 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Fri, 28 Oct 2022 13:09:35 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Fri, 28 Oct 2022 13:09:35 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) 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; Fri, 28 Oct 2022 13:09:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T2wzsUIFYJ/SChJuq/oUoFgO/YU0h5uFvRWmkLUtODjtAPgbF0DTt0utLBMB4auy8zGKY/L2LGj0eBA+NbLRYO2TWAVEQvB1yUrt3dHVNlb44Ppvb8Pf7VuSqSAnSwlGE21Bd1nC1b1Ak9TgRtAryutnX06aAmSN73Ky4xG6YyiEmxYMFHKUjYlY8S16wzNcvThvH+2kS0ig4rR1LAbu6N4mPYndtb6geSVVbCOJPu+UkWWvJWd0U7CubKrVH5Od+qQfGxUsn0Sx51sXnsYZhxoitYQV1lyfyfiVPhKwSklloYHpiVUxr06Z5ORG7URKbG4ofYRFqJiGTZwnj1/JkA== 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=v9Fb9c6pPyAPcXZ0l8Q6FU0pyyVqHzNQWwOekIeGfiA=; b=n+TG4PZoAEU+sKgBl0/lC7uo05fZqshx96rWRWnTEPRMn0Tuvu/8seYlzohmDcUr8BZsWucCLXJ+9VPUUInw5G9lkYPDZ9yxP5evIvtSNJOmlcy2YuKwaJgpZXSUUa0jfP+Jb7NyCOw+PfPqkmJHkdg4J1HThqDUVDKx1sAfUdMmnZTKgCgZJ4kdZCCQsT3btjUJuxI3srEHDuSlDsc0HWS7OGMZeHfmu2g97wPqN0rtavnLpauqw/wt53J3N1hUdzxwD7BpQvF+dl0fWFhJK3oPOZdiZUNcoZB1+fgDoqHWLu06LXvxFG+C8WQWf1zgDrHt3sceWgfK1vCr0ajXpQ== 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 CO6PR11MB5601.namprd11.prod.outlook.com (2603:10b6:303:13d::7) by MW3PR11MB4698.namprd11.prod.outlook.com (2603:10b6:303:5a::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 28 Oct 2022 20:09:32 +0000 Received: from CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::f060:2583:1c93:13c7]) by CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::f060:2583:1c93:13c7%3]) with mapi id 15.20.5746.028; Fri, 28 Oct 2022 20:09:32 +0000 From: "Clark-williams, Zachary" To: "Kinney, Michael D" , "Rabeda, Maciej" , "Luo, Heng" , "Kuo, Scottie" , "Kuo, Ted" , "Dutkiewicz, Michal" , "devel@edk2.groups.io" Subject: Re: [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Topic: [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Index: AQHY6jr1YBx+4nENxEWJqUx5LJQFoa4iq1aAgAGR5jA= Date: Fri, 28 Oct 2022 20:09:32 +0000 Message-ID: References: <9102518d297546d349e9dcbaf9a87706ec8529e0.1664830666.git.zachary.clark-williams@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows 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: CO6PR11MB5601:EE_|MW3PR11MB4698:EE_ x-ms-office365-filtering-correlation-id: e08e21aa-08f8-48bb-1a41-08dab9205426 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nlJRu++mn4+1obyUsfXVhB/yqP3nRWuxosuhhVv89HpCyZ0q9YWbXqBIR6uImYsqFyEhkLYbuBIqZNzjU+SVOfeRTiC8+K7ozi5YmlIIS7YR3YITvNKEh8SUoSeOLkq3BNv0s2ZTXqddHDQH3mi0v71VhKZt9v6qNvJOOJKvN2508o/28vv82G/HjURewUBa6noYpzv+gu/Sgc7P3XStRzeX4QRUYHaQ67Ckav3s4F13Mk5jaAFktZZuETRtbQldqICHzY1JfZrWEIidVd/Yx58MYJXdS9Yvs/ZJBT6ZVQb9BRGgcpdPtsekWYmk17a9DcZ0un91b2eenGrUe1BtjLbP7jZJMCYiaBSooDqVvPDob06n1QCl6zivp0KxQBJ7fbeCvEz3NcsmWTRbQC6Ee3KyIV5gA6c3m2P7VOexTHZx/kiGofS2r+HnQxfnEkRCMfwXxLQnMH2NjYBXoPBpkHOX17WesgjIZ0vx5hbMOX1AKaL2cIoDLU5T6soBa/z5BKMUDswapkY74y0vXm+UX+oVaAJzpr0zLa/fyY3VRf1kpA7LBA5Od5YJZFPIegbUMMNrt54f/JNPbDYePD3C9elgwxEb3RqmtCA6kswLplKMFt+Qbgz4laMnLFuZNevS/xpzP57UwGVywKnUM+OyEvBnxzdIHEMYYyiU5G9dIGIItecQOrJ36elnqxSPaFy03TClp1pkF+kR/7cUkIFY7rjdnRKJ9iRkXkOAobI3za96ROGiarWr95XNpy+oGCYaXx8Z/P2Pb/J+jjoRatOFdBOFWICKLjMkYlItC7LiWYXPbIx6YLx9TEOcQzll8BeBRliKv6AL5upOIAZUPZ9QzQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5601.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(6029001)(366004)(39860400002)(346002)(376002)(396003)(136003)(451199015)(86362001)(55016003)(921005)(38070700005)(478600001)(71200400001)(966005)(110136005)(19627235002)(316002)(82960400001)(122000001)(38100700002)(33656002)(83380400001)(26005)(6506007)(186003)(9686003)(7696005)(53546011)(52536014)(5660300002)(66446008)(8936002)(41300700001)(64756008)(30864003)(66476007)(76116006)(66946007)(8676002)(66556008)(2906002)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?elhETmNmVVp5UDl1aFdQSWVVclpZdkE2YUorNVgvZ2lVbmRRbzd6QzRJRDJS?= =?utf-8?B?WVBjaUN2alZoV1g5a3RHNGRzenV6bExVT05GUWtYZFZIN0RqbUxnaWhVRlZD?= =?utf-8?B?Zkp6TGt2aEFvZS83aUhkUnQ5SnFQamdHZkhIVDNJSktGY3JjbldveUErMk1j?= =?utf-8?B?Z2J5YUVhODVpaklhbFliSVRpMWxkbkxIS0tmajRnZzNhU1dFUUtvOVFQcFQ4?= =?utf-8?B?R2VvR1JkUXVkYXROR0ZCd1NBSU5PNUZOVzRxckdXcmwrN3BhUWFxUVZKUjlp?= =?utf-8?B?R2pxL2pFKzdmQTRxNVYxMXhQdVRpdUpTWXlNS2pFY3J6YnFUSDRjT0ZKREJW?= =?utf-8?B?Q3NUQ05rSjJaVmxiREJrK1dKcEI1NVpIUkROczd3NkRTT3ZlaFlncnpvcStu?= =?utf-8?B?QUh0NWJ1SUZydVpZelpub3FDN0RJTXZ4VlBuRUd0ZVVhY1BscThOZEREcmc0?= =?utf-8?B?Y2ZRTTUvU0hSb2p4Ky9VVDBmUm5pQS9uSGZZQjhtQTNnSWE0QjZ3Sk9jdTZI?= =?utf-8?B?czFNV1FkbGJXaGxoOEVDUVg5d1pqOVV6VWoranJSVXVBanlpbXJJRkM5UFJH?= =?utf-8?B?dm5QUXU4My8xSFc2c3M3OXllMUNjZ3RaS0NvUFRPQ1B0Nk52WTJKeTdpTll4?= =?utf-8?B?dkozT2ZIOGJWdnRDZ2ZSM2hNeTZlNXNweWY0WGxGdndSdC92VGhFUitjVmFB?= =?utf-8?B?T1F3Qk8zc2FkSHl5ckwvSzNpT2xIME51WUZtMXRpRkcvU0JVaFlwMjFTZk1i?= =?utf-8?B?VmdKaVlLR2tNdnFnWFRKZmVITnp6cEtwd2N0emd3L09IM283azNwTEZLell3?= =?utf-8?B?eE01dm1IRGhyZ2Z6VTBGZktNL1dKVzROQU52dkpoK3FEQWYvRXVHcjEvcTdn?= =?utf-8?B?UTExd0dhTXZ1MmxLWjY3WkdJTUVHRFU2amtaSlV2RTNEM1hNOC90Vk5GdWdJ?= =?utf-8?B?dFNoUkt2TWpBbE56bzJKcmR6aHJTSWo1WjIwVE5iaENLMExKYzV0VmZpZlM1?= =?utf-8?B?YzBQbWRaTlFaSVZ5U01tVWpLeEtLNmUxVENSa2Vmdmd2Q3Nncjh3LzBndm9V?= =?utf-8?B?eWFjcTU0S0l5cFZBM2ZZMUVaQ25GRXdoUGpJcExJUDZEWE1PWHNWQUgxdFQw?= =?utf-8?B?M3FucFRLNDl5dUgxaXFFNzhtay9UMUZLb05Ya3FTVjQ3V3pJcnExUllTVzJH?= =?utf-8?B?QkpnR3FrQkM4MEl4V2RSOWlrQVFTK1hsMGtYWmJjTjFnMWthaEhxeTNOZkI4?= =?utf-8?B?cGtFTTRqUHJ1Z2RqTkVHcW13Z210aXVMbzdGV0VjbWpRT0Y5R3hGTFlkRm9W?= =?utf-8?B?UWw2L2VObTdoL0JKdmZ6L3Uydi9NWXRrd3RzOTh3eFBHUnMyaWdsZEViMmVn?= =?utf-8?B?UUhCZjBCS2cyNW9sUDhaT0hYZkZhVkV0cmwwUklWckV2Mm5oNDB1elNtR2Rt?= =?utf-8?B?dnlJWFQwMlpKeE4yUEo2ZDl4YmdrdDB5UFlpenJNYnNyZUdiYmZXMm5BcTJ4?= =?utf-8?B?VkpQWURacG9mRXE4ZmdlMjNDUTVyWUlQd1JXcFkwOS82ZVFSTHRwZWFCTEEw?= =?utf-8?B?dVcyMWRlcStadzJJUHFYSWdmTGtXeUVPOVc5T3BVcGpBSzFwalhBMDAvdHlz?= =?utf-8?B?WXFQQThZbE0wZkNKWDl6dFYra3NMREtPWWs3YlZRay9LeVY3Z2Z0RDZzK3V4?= =?utf-8?B?QVR1c2JQS2ZoR3ZqUTRoZXZJNDV3bFBsR0FlQU01UjA4S2M3VnBxRDdBNjc0?= =?utf-8?B?OU0yZTFJUnROblJvTTNqcUM1WHFDY2JQbHQrTER4OXM3Z3VOWnlxUVluV2Mx?= =?utf-8?B?cXBjdjIybDdxdzRWaTg5dldHRmlQL2FRRjIxMHM3VmxTWW9TZHowNjdjZHk0?= =?utf-8?B?WERkUHVJZWRYVlJ6S3RYakk1RlpZckx0SktPc2c0c0pYc1J5clZSbWxQT2ZF?= =?utf-8?B?MTZWNzM5ZFdlYkhRcnoyT2Z5ZlZwZ0JLWndYMXlvVjhSZG5wK2MrUE5pWkR0?= =?utf-8?B?RFcvUEFZZVllYWhPRTErTXZHM0tVUU9mMlZYM0txN3RLaUF0bnQ0dGd4bFpG?= =?utf-8?B?aVhJOUVFUDdncy96TGYycmZPQXpKMjBsd3NMUUFZelI5dTBVMjNuTUxFUzBw?= =?utf-8?B?ejRmZ00yZExDbjhPbHh1L1J6VkltdjQ4WDQ2NythVW8yYVdKdHd2dWNMdmMv?= =?utf-8?Q?6AuofwUAATCZP+Hyh88VWug=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5601.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e08e21aa-08f8-48bb-1a41-08dab9205426 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2022 20:09:32.7753 (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: RfobzZFIbqXCrLQYGxPZnHBTLtEVBV2uBlWK+SzZgiPgxDWnZRybGtsb5YfMFDadfRc7CTT0rSx6D2wwz3TFRo0Kqcga79MfByrhi1rq99WxOsv9T61uKq4ka75g0ZVn X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4698 Return-Path: zachary.clark-williams@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGUgZm9yd2FyZCBNaWtlIQ0KDQpNYWNpZWogYW5kIEFsbCwgDQoNCklmIHlv dSBjb3VsZCBwbGVhc2UgcmV2aWV3IHRoZSBQUiBiZWxvdy4gSSB3b3VsZCBsaWtlIHRvIGdldCB0 aGlzIHJldmlldyBjb21wbGV0ZWQgd2l0aGluIHRoZSB3ZWVrLg0KDQpUaGFua3MsDQpaYWNrDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb20+IA0KU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjcsIDIw MjIgMTowOSBQTQ0KVG86IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47 IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IENsYXJrLXdp bGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NClN1Ympl Y3Q6IEZXOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBw cm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpIaSBNYWNpZWosDQoNCkNhbiB5b3UgcGxl YXNlIGhlbHAgcmV2aWV3IHRoZXNlIE5ldHdvcmtQa2cgY2hhbmdlcy4NCg0KSSBhbSBub3Qgc3Vy ZSBpZiB5b3UgbW9uaXRvciB5b3VyIGxpbnV4LmludGVsLmNvbSBhY2NvdW50IGFzIGNsb3NlbHkg YXMgeW91ciBpbnRlbC5jb20gYWNjb3VudC4NCg0KVGhhbmtzLA0KDQpNaWtlDQoNCi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFy eS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNywg MjAyMiAxMjozMyBQTQ0KVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT4NClN1YmplY3Q6IEZXOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVT eW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpIZXkgTWlrZSwN Cg0KSSdtIHN0cnVnZ2xpbmcgdG8gZ2V0IGFueSBmZWVkYmFjayBvbiB0aGlzIFBSLiBEbyB5b3Ug aGF2ZSBhbnkgc3VnZ2VzdGlvbnMgdG8gZ2V0IGJldHRlciB2aXNpYmlsaXR5IGFuZCByZXNwb25z ZXMgc28gSSBjYW4gZ2V0IHRoaXMgbWl2aW5nPw0KDQpUaGFua3MsDQpaYWNrDQoNCi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFy eS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNywg MjAyMiAxMjozMSBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogWmFjaGFyeSBDbGFy ay1XaWxsaWFtcyA8emNsYXJrdzExMkBnbWFpbC5jb20+OyBNYWNpZWogUmFiZWRhIDxtYWNpZWou cmFiZWRhQGxpbnV4LmludGVsLmNvbT47IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47 IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBPdGNoZXJldGlhbnNraSwgQW5kcmVp IDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPjsgQ2xhcmstd2lsbGlhbXMsIFphY2hh cnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29tPg0KU3ViamVjdDogW1BBVENIIHY0 XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3Rv Y29sIHN1cHBvcnQNCg0KRnJvbTogWmFjaGFyeSBDbGFyay1XaWxsaWFtcyA8emNsYXJrdzExMkBn bWFpbC5jb20+DQoNClJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVn LmNnaT9pZD0zODQ1DQoNCkVuYWJsZXMgS1ZNIGFuZCBPbmUgQ2xpY2sgUmVjb3ZlcnkgV0xBTiBj YXBhYmlsaXR5IHdpdGggV2lGaSBQcm9maWxlIFN5bmMgZmVhdHVyZSBhbmQgcHJvdG9jb2wuIEFk ZGluZyBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCwgd2hpY2ggc3VwcG9ydHMgdGhlIHByb2ZpbGVz eW5jIGRyaXZlciBvcGVyYXRpb25zIGZvciB0cmFuc2ZlcnJpbmcgV2lGaSBwcm9maWxlcyBmcm9t IEFNVCB0byB0aGUgU3VwcGxpY2FudC4gV2lGaUNvbm5lY3Rpb25NYW5hZ2VyIHdpbGwgY2hlY2sg Zm9yIHRoZSBXaWZpUHJvZmlsZVN5bmNQcm90b2NvbCBhbmQgaWYgZm91bmQgd2lsbCBvcGVyYXRl IG9uIHRoZSBwcmVtaXNlIG9mIGEgT25lIENsaWNrIFJlY292ZXJ5LCBvciBLVk0gZmxvdyB3aXRo IGEgV2lmaSBwcm9maWxlIHByb3ZpZGVkIGJ5IEFNVC4NCg0KQ2M6IE1hY2llaiBSYWJlZGEgPG1h Y2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPg0KQ2M6IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1QGlu dGVsLmNvbT4NCkNjOiBXdSBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+DQpDYzogQW5kcmVp IE90Y2hlcmV0aWFuc2tpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPg0KDQpTaWdu ZWQtb2ZmLWJ5OiBaYWNoYXJ5IENsYXJrLVdpbGxpYW1zIDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1z QGludGVsLmNvbT4NCi0tLQ0KIC4uLi9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5o ICAgICAgICB8ICA4MyArKysrKysrKw0KIE5ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMgICAgICAg ICAgICAgICAgICAgICB8ICAgMyArDQogLi4uL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYg ICAgICAgICAgICAgIHwgICAzICstDQogLi4uL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnTlZEYXRh U3RydWN0LmggICAgIHwgICAyICstDQogLi4uL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMgICAg ICAgICAgICAgICAgIHwgMTI2ICsrKysrKysrLS0tLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nckR4 ZS5oICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1ncklt cGwuYyAgICAgICAgICAgICAgICAgICB8IDE5MyArKysrKysrKysrKysrKysrLS0NCiAuLi4vV2lm aUNvbm5lY3Rpb25NZ3JNaXNjLmMgICAgICAgICAgICAgICAgICAgfCAgMTMgKysNCiA4IGZpbGVz IGNoYW5nZWQsIDM2NyBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkgIGNyZWF0ZSBtb2Rl IDEwMDY0NCBOZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2wuaA0KDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9m aWxlU3luY1Byb3RvY29sLmggYi9OZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2Zp bGVTeW5jUHJvdG9jb2wuaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAu LmUzNmRhY2VhYmYNCi0tLSAvZGV2L251bGwNCisrKyBiL05ldHdvcmtQa2cvSW5jbHVkZS9Qcm90 b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQpAQCAtMCwwICsxLDgzIEBADQorLyoqIEBm aWxlDQorICBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbC4gU3VwcG9ydHMgT25lIENsaWNrIFJl Y292ZXJ5IG9yIEtWTSBPUyANCityZWNvdmVyeQ0KKyAgYm9vdCBmbG93IG92ZXIgV2lGaS4NCisN CisgIENvcHlyaWdodCAoYykgMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KKw0KKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQgKiovDQorDQorI2lmbmRlZiBXSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTF9IXw0KKyNk ZWZpbmUgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0xfSF8NCisNCisjaW5jbHVkZSA8V2lmaUNv bm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnLmg+DQorDQorLy8NCisv LyAgV2lGaSBQcm9maWxlIFN5bmMgUHJvdG9jb2wgR1VJRCB2YXJpYWJsZS4NCisvLw0KK2V4dGVy biBFRklfR1VJRCAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZDsNCisNCisvKioNCisg IFVzZWQgYnkgdGhlIFdpRmkgY29ubmVjdGlvbiBtYW5hZ2VyIHRvIGdldCB0aGUgV2lGaSBwcm9m aWxlIHRoYXQgQU1UIA0KK3NoYXJlZA0KKyAgYW5kIHdhcyBzdG9yZWQgaW4gV2lGaSBwcm9maWxl IHByb3RvY29sLiBBbGlnbnMgdGhlIEFNVCBXaUZpIHByb2ZpbGUgDQorZGF0YSB0bw0KKyAgdGhl IFdpRmkgY29ubmVjdGlvbiBtYW5hZ2VyIHByb2ZpbGUgc3RydWN0dXJlIGZvIGNvbm5lY3Rpb24g dXNlLg0KKw0KKyAgQHBhcmFtW2luLCBvdXRdICBXY21Qcm9maWxlICAgICAgIFdpRmkgQ29ubmVj dGlvbiBNYW5hZ2VyIHByb2ZpbGUgc3RydWN0dXJlDQorICBAcGFyYW1baW4sIG91dF0gIE1hY0Fk ZHJlc3MgICAgICAgTUFDIGFkZHJlc3MgZnJvbSBBTVQgc2F2ZWQgdG8gTmlDIE1BQyBhZGRyZXNz DQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgU3RvcmVkIFdpRmkgcHJv ZmlsZSBjb252ZXJ0ZWQgYW5kIHJldHVybmVkIHN1Y2NlZnVsbHkNCisgIEByZXR2YWwgRUZJX1VO U1VQUE9SVEVEICAgICAgICAgICBQcm9maWxlIHByb3RvY29sIHNoYXJpbmcgbm90IHN1cHBvcnRl ZCBvciBlbmFibGVkDQorICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICAgICAgTm8gcHJv ZmlsZXMgdG8gcmV0dXJuZWQNCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgICBF cnJvciBPY2N1cnJlZA0KKyoqLw0KK3R5cGVkZWYNCitFRklfU1RBVFVTDQorKEVGSUFQSSAqV0lG SV9QUk9GSUxFX0dFVCkoDQorICBJTiBPVVQgIFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAgKlBy b2ZpbGUsDQorICBJTiBPVVQgIEVGSV84MDIxMV9NQUNfQUREUkVTUyAgICAgTWFjQWRkcmVzcw0K KyAgKTsNCisNCisvKioNCisgIFNhdmVzIHRoZSBXaUZpIGNvbm5lY3Rpb24gc3RhdHVzIHJlY2ll dmVkIGJ5IHRoZSANCitXaUZpQ29ubmVjdGlvbk1hbmFnZXIgd2hlbg0KKyAgaW4gYSBLVk0gT1Ig T25lIENsaWNrIFJlY292ZXJ5IFdMQU4gcmVjb3ZlcnkgZmxvdy4gSW5wdXQgYXMNCisgIEVGSV84 MDIxMV9DT05ORUNUX05FVFdPUktfUkVTVUxUX0NPREUgdGhlbiBjb252ZXJ0ZWQgYW5kIHN0b3Jl ZCBhcyBFRklfU1RBVFVTIHR5cGUuDQorDQorICBAcGFyYW1baW5dIENvbm5lY3Rpb25TdGF0dXMg ICAgIFdpRmkgY29ubmVjdGlvbiBhdHRlbXB0IHJlc3VsdHMNCisqKi8NCit0eXBlZGVmDQorVk9J RA0KKyhFRklBUEkgKldJRklfU0VUX0NPTk5FQ1RfU1RBVEUpKA0KKyAgSU4gIEVGSV84MDIxMV9D T05ORUNUX05FVFdPUktfUkVTVUxUX0NPREUgQ29ubmVjdGlvblN0YXR1cw0KKyAgKTsNCisNCisv KioNCisgIFJldHJpZXZlcyB0aGUgc3RvcmVkIFdpRmkgY29ubmVjdGlvbiBzdGF0dXMgd2hlbiBp biBlaXRoZXIgS1ZNIE9SIE9uZSANCitDbGljaw0KKyAgUmVjb3ZlcnkgV0xBTiByZWNvdmVyeSBm bG93Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgIFdpRmkgY29ubmVj dGlvbiBjb21wbGV0ZWQgc3VjY2VzZnVsbHkNCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAg ICAgICAgICBDb25uZWN0aW9uIGZhaWx1cmUgb2NjdXJyZWQNCisqKi8NCit0eXBlZGVmDQorRUZJ X1NUQVRVUw0KKyhFRklBUEkgKldJRklfR0VUX0NPTk5FQ1RfU1RBVEUpKA0KKyAgVk9JRA0KKyAg KTsNCisNCisvLw0KKy8vICBXaUZpIFByb2ZpbGUgU3luYyBQcm90b2NvbCBzdHJ1Y3R1cmUuDQor Ly8NCit0eXBlZGVmIHN0cnVjdCB7DQorICBVSU5UMzIgICAgICAgICAgICAgICAgICAgIFJldmlz aW9uOw0KKyAgV0lGSV9TRVRfQ09OTkVDVF9TVEFURSAgICBXaWZpUHJvZmlsZVN5bmNTZXRDb25u ZWN0U3RhdGU7DQorICBXSUZJX0dFVF9DT05ORUNUX1NUQVRFICAgIFdpZmlQcm9maWxlU3luY0dl dENvbm5lY3RTdGF0ZTsNCisgIFdJRklfUFJPRklMRV9HRVQgICAgICAgICAgV2lmaVByb2ZpbGVT eW5jR2V0UHJvZmlsZTsNCit9IEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTDsNCisNCisv KioNCisgIFdpRmkgUHJvZmlsZSBQcm90b2NvbCByZXZpc2lvbiBudW1iZXIuDQorDQorICBSZXZp c2lvbiAxOiAgIEluaXRpYWwgdmVyc2lvbg0KKyoqLw0KKyNkZWZpbmUgRUZJX1dJRklfUFJPRklM RV9TWU5DX1BST1RPQ09MX1JFVklTSU9OICAxDQorDQorI2VuZGlmIC8vICBXSUZJX1BST0ZJTEVf U1lOQ19QUk9UT0NPTF9IXw0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMg Yi9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjIGluZGV4IDVlNDNlYmY4YzUuLjUzZmIzNGM0YTAg MTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjDQorKysgYi9OZXR3b3JrUGtn L05ldHdvcmtQa2cuZGVjDQpAQCAtOTEsNiArOTEsOSBAQA0KICAgIyMgSW5jbHVkZS9Qcm90b2Nv bC9IdHRwQ2FsbGJhY2suaA0KICAgZ0Vka2lpSHR0cENhbGxiYWNrUHJvdG9jb2xHdWlkICA9IHsw eDYxMTExNGYxLCAweGEzN2IsIDB4NDQ2OCwgezB4YTQsIDB4MzYsIDB4NWIsIDB4ZGQsIDB4YTEs IDB4NmEsIDB4YTIsIDB4NDB9fQ0KIA0KKyAgIyMgSW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJvZmls ZVN5bmNQcm90b2NvbC5oDQorICBnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlkID0gezB4 Mzk5YTJiOGEsIDB4YzI2NywgMHg0NGFhLCB7MHg5YSwgDQorIDB4YjQsIDB4MzAsIDB4NTgsIDB4 OGMsIDB4ZDIsIDB4MmQsIDB4Y2N9fQ0KKw0KIFtQY2RzRml4ZWRBdEJ1aWxkXQ0KICAgIyMgVGhl IG1heCBhdHRlbXB0IG51bWJlciB3aWxsIGJlIGNyZWF0ZWQgYnkgaVNDU0kgZHJpdmVyLg0KICAg IyBAUHJvbXB0IE1heCBhdHRlbXB0IG51bWJlci4NCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dp ZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mIGIvTmV0 d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhl LmluZg0KaW5kZXggNDM5NGI2ZjRiYi4uN2UzNjAxNmNmOCAxMDA2NDQNCi0tLSBhL05ldHdvcmtQ a2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYN CisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9u TWFuYWdlckR4ZS5pbmYNCkBAIC05LDcgKzksNyBAQA0KICMgIDIpLiBXUEEyIFBlcnNvbmFsIE5l dHdvcmsNCiAjICAzKS4gRUFQIE5ldHdvcmtzIChFQVAtVExTLCBFQVAtVFRMUy9NU0NIQVB2MiBh bmQgUEVBUHYwL01TQ0hBUHYyKSAgIyAtIyAgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorIyAgQ29weXJpZ2h0IChjKSAyMDE5 IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQorcmVzZXJ2ZWQuPEJSPg0K ICMNCiAjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAgIyBA QCAtNzEsNiArNzEsNyBAQA0KICAgZ0VmaUFkYXB0ZXJJbmZvcm1hdGlvblByb3RvY29sR3VpZCAg ICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KICAgZ0VmaVN1cHBsaWNhbnRQcm90b2Nv bEd1aWQgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KICAgZ0VmaUVh cENvbmZpZ3VyYXRpb25Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05T VU1FUw0KKyAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICMj IFNPTUVUSU1FU19DT05TVU1FUw0KIA0KIFtHdWlkc10NCiAgIGdXaWZpQ29uZmlnR3VpZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNFUyAgIyMgR1VJRA0KZGlmZiAtLWdp dCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy Q29uZmlnTlZEYXRhU3RydWN0LmggYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4 ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVN0cnVjdC5oDQppbmRleCBiNTUxOGE3NGQ4 Li5kY2M0YmY3ZTI3IDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFn ZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3QuaA0KKysrIGIvTmV0d29y a1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdOVkRh dGFTDQorKysgdHJ1Y3QuaA0KQEAgLTI1LDcgKzI1LDcgQEANCiANCiAjZGVmaW5lIFBBU1NXT1JE X01JTl9MRU4gICAgICAgOA0KICNkZWZpbmUgUEFTU1dPUkRfTUFYX0xFTiAgICAgICA2Mw0KLSNk ZWZpbmUgUEFTU1dPUkRfU1RPUkFHRV9TSVpFICA2NA0KKyNkZWZpbmUgUEFTU1dPUkRfU1RPUkFH RV9TSVpFICA2NQ0KIA0KICNkZWZpbmUgRUFQX0lERU5USVRZX0xFTiAgIDYzDQogI2RlZmluZSBF QVBfSURFTlRJVFlfU0laRSAgNjQNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0 aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jIGIvTmV0d29ya1BrZy9XaWZp Q29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYw0KaW5kZXggNjdh MDFjYTA1OC4uOTdjYTdhOWYwYiAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rp b25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMNCisrKyBiL05ldHdvcmtQa2cv V2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMNCkBAIC0x LDcgKzEsNyBAQA0KIC8qKiBAZmlsZQ0KICAgVGhlIGRyaXZlciBiaW5kaW5nIHByb3RvY29sIGZv ciB0aGUgV2lGaSBDb25uZWN0aW9uIE1hbmFnZXIuDQogDQotICBDb3B5cmlnaHQgKGMpIDIwMTks IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisgIENvcHlyaWdo dCAoYykgMjAxOSAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KKyByZXNl cnZlZC48QlI+DQogDQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KIA0KQEAgLTM5LDYgKzM5LDExIEBAIEVGSV9HVUlEICBtV2lmaUNvbmZpZ05ldHdvcmtM aXN0UmVmcmVzaEd1aWQgPSBXSUZJX0NPTkZJR19ORVRXT1JLX0xJU1RfUkVGUkVTSF9HDQogRUZJ X0dVSUQgIG1XaWZpQ29uZmlnQ29ubmVjdEZvcm1SZWZyZXNoR3VpZCA9IFdJRklfQ09ORklHX0NP Tk5FQ1RfRk9STV9SRUZSRVNIX0dVSUQ7DQogRUZJX0dVSUQgIG1XaWZpQ29uZmlnTWFpbkZvcm1S ZWZyZXNoR3VpZCAgICA9IFdJRklfQ09ORklHX01BSU5fRk9STV9SRUZSRVNIX0dVSUQ7DQogDQor Ly8NCisvLyBXaWZpIGNvbm5lY3Rpb24gYXR0ZW1wdCBjb3VudGVyIGZvciByZXRyaWVzIC8vIGV4 dGVybiBVSU5UOCANCittV2lmaUNvbm5lY3Rpb25Db3VudDsNCisNCiAvKioNCiAgIFRlc3RzIHRv IHNlZSBpZiB0aGlzIGRyaXZlciBzdXBwb3J0cyBhIGdpdmVuIGNvbnRyb2xsZXIuIElmIGEgY2hp bGQgZGV2aWNlIGlzIHByb3ZpZGVkLA0KICAgaXQgZnVydGhlciB0ZXN0cyB0byBzZWUgaWYgdGhp cyBkcml2ZXIgc3VwcG9ydHMgY3JlYXRpbmcgYSBoYW5kbGUgZm9yIHRoZSBzcGVjaWZpZWQgY2hp bGQgZGV2aWNlLg0KQEAgLTE2Nyw4ICsxNzIsMTAgQEAgV2lmaU1nckR4ZURyaXZlckJpbmRpbmdT dGFydCAoDQogICBFRklfV0lSRUxFU1NfTUFDX0NPTk5FQ1RJT05fSUlfUFJPVE9DT0wgICpXbXA7 DQogICBFRklfU1VQUExJQ0FOVF9QUk9UT0NPTCAgICAgICAgICAgICAgICAgICpTdXBwbGljYW50 Ow0KICAgRUZJX0VBUF9DT05GSUdVUkFUSU9OX1BST1RPQ09MICAgICAgICAgICAqRWFwQ29uZmln Ow0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAgICAgICAgICAqV2lGaVByb2Zp bGVTeW5jUHJvdG9jb2w7DQogDQotICBOaWMgPSBOVUxMOw0KKyAgbVdpZmlDb25uZWN0aW9uQ291 bnQgPSAwOw0KKyAgTmljICAgICAgICAgICAgICAgICAgPSBOVUxMOw0KIA0KICAgLy8NCiAgIC8v IE9wZW4gUHJvdG9jb2xzDQpAQCAtMjM2LDQ3ICsyNDMsNzMgQEAgV2lmaU1nckR4ZURyaXZlckJp bmRpbmdTdGFydCAoDQogICBJbml0aWFsaXplTGlzdEhlYWQgKCZOaWMtPlByb2ZpbGVMaXN0KTsN CiANCiAgIC8vDQotICAvLyBSZWNvcmQgdGhlIE1BQyBhZGRyZXNzIG9mIHRoZSBpbmNvbWluZyBO SUMuDQorICAvLyBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBpbnN0YWxsYXRpb24gY2hlY2sg Zm9yIE9TIHJlY292ZXJ5IGZsb3cuDQogICAvLw0KLSAgU3RhdHVzID0gTmV0TGliR2V0TWFjQWRk cmVzcyAoDQotICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUsDQotICAgICAgICAgICAgIChF RklfTUFDX0FERFJFU1MgKikmTmljLT5NYWNBZGRyZXNzLA0KLSAgICAgICAgICAgICAmQWRkcmVz c1NpemUNCi0gICAgICAgICAgICAgKTsNCi0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0g ICAgZ290byBFUlJPUjI7DQotICB9DQotDQotICAvLw0KLSAgLy8gQ3JlYXRlIGFuZCBzdGFydCB0 aGUgdGltZXIgZm9yIHRoZSBzdGF0dXMgY2hlY2sNCi0gIC8vDQotICBTdGF0dXMgPSBnQlMtPkNy ZWF0ZUV2ZW50ICgNCi0gICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCB8IEVWVF9U SU1FUiwNCi0gICAgICAgICAgICAgICAgICBUUExfQ0FMTEJBQ0ssDQotICAgICAgICAgICAgICAg ICAgV2lmaU1nck9uVGltZXJUaWNrLA0KLSAgICAgICAgICAgICAgICAgIE5pYywNCi0gICAgICAg ICAgICAgICAgICAmTmljLT5UaWNrVGltZXINCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlk LA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiop JldpRmlQcm9maWxlU3luY1Byb3RvY29sDQogICAgICAgICAgICAgICAgICAgKTsNCi0gIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290byBFUlJPUjI7DQotICB9DQorICBpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayA9IChX SUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgKilBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklf TUdSX05FVFdPUktfUFJPRklMRSkpOw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdv cmsgPT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KKyAg ICAgIGdvdG8gRVJST1IxOw0KKyAgICB9DQogDQotICBTdGF0dXMgPSBnQlMtPlNldFRpbWVyIChO aWMtPlRpY2tUaW1lciwgVGltZXJQZXJpb2RpYywgRUZJX1RJTUVSX1BFUklPRF9NSUxMSVNFQ09O RFMgKDUwMCkpOw0KLSAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KLSAgICBnb3RvIEVSUk9S MzsNCi0gIH0NCisgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY0dl dFByb2ZpbGUgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLCBOaWMtPk1hY0FkZHJlc3MpOw0K KyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgIT0gTlVMTCkgew0KKyAgICAgIFN0 YXR1cyA9IFdpZmlNZ3JDb25uZWN0VG9OZXR3b3JrIChOaWMsIE5pYy0+Q29ubmVjdFBlbmRpbmdO ZXR3b3JrKTsNCisgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgICBXaUZp UHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0YXRlIChTdGF0 dXMpOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBnb3RvIEVSUk9SMTsNCisgICAg fQ0KKyAgfSBlbHNlIHsNCisgICAgLy8NCisgICAgLy8gUmVjb3JkIHRoZSBNQUMgYWRkcmVzcyBv ZiB0aGUgaW5jb21pbmcgTklDLg0KKyAgICAvLw0KKyAgICBTdGF0dXMgPSBOZXRMaWJHZXRNYWNB ZGRyZXNzICgNCisgICAgICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KKyAgICAgICAgICAg ICAgIChFRklfTUFDX0FERFJFU1MgKikmTmljLT5NYWNBZGRyZXNzLA0KKyAgICAgICAgICAgICAg ICZBZGRyZXNzU2l6ZQ0KKyAgICAgICAgICAgICAgICk7DQorICAgIGlmIChFRklfRVJST1IgKFN0 YXR1cykpIHsNCisgICAgICBnb3RvIEVSUk9SMjsNCisgICAgfQ0KIA0KLSAgTmljLT5Db25uZWN0 U3RhdGUgPSBXaWZpTWdyRGlzY29ubmVjdGVkOw0KLSAgTmljLT5TY2FuU3RhdGUgICAgPSBXaWZp TWdyU2NhbkZpbmlzaGVkOw0KKyAgICAvLw0KKyAgICAvLyBDcmVhdGUgYW5kIHN0YXJ0IHRoZSB0 aW1lciBmb3IgdGhlIHN0YXR1cyBjaGVjaw0KKyAgICAvLw0KKyAgICBTdGF0dXMgPSBnQlMtPkNy ZWF0ZUV2ZW50ICgNCisgICAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMIHwgRVZU X1RJTUVSLA0KKyAgICAgICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KKyAgICAgICAgICAg ICAgICAgICAgV2lmaU1nck9uVGltZXJUaWNrLA0KKyAgICAgICAgICAgICAgICAgICAgTmljLA0K KyAgICAgICAgICAgICAgICAgICAgJk5pYy0+VGlja1RpbWVyDQorICAgICAgICAgICAgICAgICAg ICApOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290byBFUlJPUjI7 DQorICAgIH0NCiANCi0gIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQot ICBJbnNlcnRUYWlsTGlzdCAoJm1Qcml2YXRlLT5OaWNMaXN0LCAmTmljLT5MaW5rKTsNCi0gIE5p Yy0+TmljSW5kZXggPSBtUHJpdmF0ZS0+TmljQ291bnQrKzsNCi0gIGlmIChtUHJpdmF0ZS0+Q3Vy cmVudE5pYyA9PSBOVUxMKSB7DQotICAgIG1Qcml2YXRlLT5DdXJyZW50TmljID0gTmljOw0KLSAg fQ0KKyAgICBTdGF0dXMgPSBnQlMtPlNldFRpbWVyIChOaWMtPlRpY2tUaW1lciwgVGltZXJQZXJp b2RpYywgRUZJX1RJTUVSX1BFUklPRF9NSUxMSVNFQ09ORFMgKDUwMCkpOw0KKyAgICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290byBFUlJPUjM7DQorICAgIH0NCiANCi0gIGdC Uy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCisgICAgTmljLT5Db25uZWN0U3RhdGUgPSBXaWZpTWdy RGlzY29ubmVjdGVkOw0KKyAgICBOaWMtPlNjYW5TdGF0ZSAgICA9IFdpZmlNZ3JTY2FuRmluaXNo ZWQ7DQorDQorICAgIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQorICAg IEluc2VydFRhaWxMaXN0ICgmbVByaXZhdGUtPk5pY0xpc3QsICZOaWMtPkxpbmspOw0KKyAgICBO aWMtPk5pY0luZGV4ID0gbVByaXZhdGUtPk5pY0NvdW50Kys7DQorICAgIGlmIChtUHJpdmF0ZS0+ Q3VycmVudE5pYyA9PSBOVUxMKSB7DQorICAgICAgbVByaXZhdGUtPkN1cnJlbnROaWMgPSBOaWM7 DQorICAgIH0NCisNCisgICAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KKyAgfQ0KIA0KICAg U3RhdHVzID0gZ0JTLT5JbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KICAgICAgICAgICAgICAg ICAgICZDb250cm9sbGVySGFuZGxlLA0KQEAgLTM4NSwxMCArNDE4LDExIEBAIFdpZmlNZ3JEeGVE cml2ZXJCaW5kaW5nU3RvcCAoDQogICBJTiBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICpD aGlsZEhhbmRsZUJ1ZmZlciBPUFRJT05BTA0KICAgKQ0KIHsNCi0gIEVGSV9TVEFUVVMgICAgICAg ICAgICAgICAgIFN0YXR1czsNCi0gIEVGSV9UUEwgICAgICAgICAgICAgICAgICAgIE9sZFRwbDsN Ci0gIFdJRklfTUdSX1BSSVZBVEVfUFJPVE9DT0wgICpXaWZpTWdySWRlbnRpZmllcjsNCi0gIFdJ RklfTUdSX0RFVklDRV9EQVRBICAgICAgICpOaWM7DQorICBFRklfU1RBVFVTICAgICAgICAgICAg ICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9UUEwgICAgICAgICAgICAgICAgICAgICAgICAgT2xk VHBsOw0KKyAgV0lGSV9NR1JfUFJJVkFURV9QUk9UT0NPTCAgICAgICAqV2lmaU1ncklkZW50aWZp ZXI7DQorICBXSUZJX01HUl9ERVZJQ0VfREFUQSAgICAgICAgICAgICpOaWM7DQorICBFRklfV0lG SV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsNCiANCiAg IFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sICgNCiAgICAgICAgICAgICAgICAgICBDb250cm9s bGVySGFuZGxlLA0KQEAgLTQ4MSw3ICs1MTUsMTUgQEAgV2lmaU1nckR4ZURyaXZlckJpbmRpbmdT dG9wICgNCiAgIC8vDQogICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExfQ0FMTEJBQ0spOw0K IA0KLSAgUmVtb3ZlRW50cnlMaXN0ICgmTmljLT5MaW5rKTsNCisgIFN0YXR1cyA9IGdCUy0+TG9j YXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpV2lGaVByb2ZpbGVTeW5jUHJv dG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAg KFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sDQorICAgICAgICAgICAgICAgICAgKTsN CisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgUmVtb3ZlRW50cnlMaXN0ICgmTmlj LT5MaW5rKTsNCisgIH0NCisNCiAgIG1Qcml2YXRlLT5OaWNDb3VudC0tOw0KICAgaWYgKG1Qcml2 YXRlLT5DdXJyZW50TmljID09IE5pYykgew0KICAgICBtUHJpdmF0ZS0+Q3VycmVudE5pYyA9IE5V TEw7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lm aUNvbm5lY3Rpb25NZ3JEeGUuaCBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhl L1dpZmlDb25uZWN0aW9uTWdyRHhlLmgNCmluZGV4IDdiMmU0MWUxNTUuLjA0N2Y4NWRiYzIgMTAw NjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVj dGlvbk1nckR4ZS5oDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1nckR4ZS5oDQpAQCAtNDcsNiArNDcsNyBAQA0KICNpbmNsdWRlIDxQcm90 b2NvbC9TaW1wbGVOZXR3b3JrLmg+DQogI2luY2x1ZGUgPFByb3RvY29sL1NpbXBsZUZpbGVTeXN0 ZW0uaD4NCiAjaW5jbHVkZSA8UHJvdG9jb2wvRWFwQ29uZmlndXJhdGlvbi5oPg0KKyNpbmNsdWRl IDxQcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oPg0KIA0KIC8vDQogLy8gUHJvZHVj ZWQgUHJvdG9jb2xzDQpAQCAtNzMsNyArNzQsOCBAQA0KIC8vDQogI2RlZmluZSBXSUZJX01HUl9E WEVfVkVSU0lPTiAgMHhiDQogDQotI2RlZmluZSBPVUlfSUVFRV84MDIxMUkgIDB4QUMwRjAwDQor I2RlZmluZSBPVUlfSUVFRV84MDIxMUkgICAgICAgICAgICAgIDB4QUMwRjAwDQorI2RlZmluZSBN QVhfV0lGSV9DT05ORVRJT05fQVRURU1QVFMgIDMNCiANCiB0eXBlZGVmIGVudW0gew0KICAgSWVl ZTgwMjExUGFpcndpc2VDaXBoZXJTdWl0ZVVzZUdyb3VwQ2lwaGVyU3VpdGUgPSAwLCBkaWZmIC0t Z2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25N Z3JJbXBsLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVj dGlvbk1nckltcGwuYw0KaW5kZXggNTliYWM0OGM0Mi4uYTczYWI5ZjcxMCAxMDA2NDQNCi0tLSBh L05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdySW1w bC5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVj dGlvbk1nckltcGwuYw0KQEAgLTE5LDYgKzE5LDggQEAgRUZJX0VBUF9UWVBFICBtRWFwU2Vjb25k QXV0aE1ldGhvZFtdID0gew0KICAgRUZJX0VBUF9UWVBFX01TQ0hBUFYyDQogfTsNCiANCitVSU5U OCAgbVdpZmlDb25uZWN0aW9uQ291bnQgPSAwOw0KKw0KIC8qKg0KICAgVGhlIGNhbGxiYWNrIGZ1 bmN0aW9uIGZvciBzY2FuIG9wZXJhdGlvbi4gVGhpcyBmdW5jdGlvbiB1cGRhdGVzIG5ldHdvcmtz DQogICBhY2NvcmRpbmcgdG8gdGhlIGxhdGVzdCBzY2FuIHJlc3VsdCwgYW5kIHRyaWdnZXIgVUkg cmVmcmVzaC4NCkBAIC00MjQsMTggKzQyNiwyNiBAQCBXaWZpTWdyQ29uZmlnUGFzc3dvcmQgKA0K ICAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCiAgIH0NCiANCi0gIEFzY2lpUGFzc3dvcmQgPSBB bGxvY2F0ZVplcm9Qb29sICgoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgKyAxKSAqIHNpemVv ZiAoVUlOVDgpKTsNCisgIGlmIChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSA+PSBQQVNTV09S RF9TVE9SQUdFX1NJWkUpIHsNCisgICAgQVNTRVJUIChFRklfSU5WQUxJRF9QQVJBTUVURVIpOw0K KyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgQXNjaWlQYXNz d29yZCA9IEFsbG9jYXRlWmVyb1Bvb2wgKChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSArIDEp ICogDQorIHNpemVvZiAoQ0hBUjgpKTsNCiAgIGlmIChBc2NpaVBhc3N3b3JkID09IE5VTEwpIHsN CiAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAgfQ0KIA0KLSAgVW5pY29kZVN0 clRvQXNjaWlTdHJTIChQcm9maWxlLT5QYXNzd29yZCwgKENIQVI4ICopQXNjaWlQYXNzd29yZCwg UEFTU1dPUkRfU1RPUkFHRV9TSVpFKTsNCi0gIFN0YXR1cyA9IFN1cHBsaWNhbnQtPlNldERhdGEg KA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBTdXBwbGljYW50LA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICBFZmlTdXBwbGljYW50ODAyMTFQc2tQYXNzd29yZCwNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgQXNjaWlQYXNzd29yZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgKFN0 ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkgKiBzaXplb2YgKFVJTlQ4KQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICApOw0KKyAgU3RhdHVzID0gVW5pY29kZVN0clRvQXNjaWlTdHJTIChQ cm9maWxlLT5QYXNzd29yZCwgKENIQVI4IA0KKyAqKUFzY2lpUGFzc3dvcmQsIChTdHJMZW4gKFBy b2ZpbGUtPlBhc3N3b3JkKSArIDEpKTsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAg IFN0YXR1cyA9IFN1cHBsaWNhbnQtPlNldERhdGEgKA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN1cHBsaWNhbnQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgRWZpU3VwcGxpY2Fu dDgwMjExUHNrUGFzc3dvcmQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQXNjaWlQYXNz d29yZCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoU3RyTGVuIChQcm9maWxlLT5QYXNz d29yZCkgKyAxKSAqIHNpemVvZiAoQ0hBUjgpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg KTsNCisgIH0NCisNCiAgIFplcm9NZW0gKEFzY2lpUGFzc3dvcmQsIEFzY2lpU3RyTGVuICgoQ0hB UjggKilBc2NpaVBhc3N3b3JkKSArIDEpOw0KICAgRnJlZVBvb2wgKEFzY2lpUGFzc3dvcmQpOw0K IA0KQEAgLTQ2Niw2ICs0NzYsNyBAQCBXaWZpTWdyQ29uZmlnRWFwICgNCiAgICkNCiB7DQogICBF RklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9XSUZJX1BST0ZJ TEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxlU3luY1Byb3RvY29sOw0KICAgRUZJX0VBUF9D T05GSUdVUkFUSU9OX1BST1RPQ09MICAqRWFwQ29uZmlnOw0KICAgRUZJX0VBUF9UWVBFICAgICAg ICAgICAgICAgICAgICBFYXBBdXRoTWV0aG9kOw0KICAgRUZJX0VBUF9UWVBFICAgICAgICAgICAg ICAgICAgICBFYXBTZWNvbmRBdXRoTWV0aG9kOw0KQEAgLTU2Nyw3ICs1NzgsMTMgQEAgV2lmaU1n ckNvbmZpZ0VhcCAoDQogICAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAgICB9 DQogDQotICAgIFVuaWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJvZmlsZS0+RWFwSWRlbnRpdHksIElk ZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29s ICgmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKiopJldpRmlQ cm9maWxlU3luY1Byb3RvY29sKTsNCisgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisg ICAgICBDb3B5TWVtIChJZGVudGl0eSwgJlByb2ZpbGUtPkVhcElkZW50aXR5LCBJZGVudGl0eVNp emUpOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIFVuaWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJvZmls ZS0+RWFwSWRlbnRpdHksIElkZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICB9DQorDQogICAg IFN0YXR1cyA9IEVhcENvbmZpZy0+U2V0RGF0YSAoDQogICAgICAgICAgICAgICAgICAgICAgICAg ICBFYXBDb25maWcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfRUFQX1RZUEVfSURF TlRJVFksIEBAIC04OTIsNiArOTA5LDEzMyBAQCBXaWZpTWdyUHJlcGFyZUNvbm5lY3Rpb24gKA0K ICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KIH0NCiANCisvKioNCisgIFdpbGwgcmVzZXQgTmlDIGRh dGEsIGdldCBwcm9maWxlIGZyb20gcHJvZmlsZSBzeW5jIGRyaXZlciwgYW5kIHNlbmQgDQorZm9y DQorICBhbm90aGVyIGNvbm5lY3Rpb24gYXR0ZW1wdC5UaGlzIGZ1bmN0aW9uIHNob3VsZCBub3Qg YmUgY2FsbGVkIG1vcmUgDQordGhhbg0KKyAgMyB0aW1lcy4NCisNCisgIEBwYXJhbVtpbl0gIFdp RmlQcm9maWxlU3luY1Byb3RvY29sICBUaGUgdGFyZ2V0IG5ldHdvcmsgcHJvZmlsZSB0byBjb25u ZWN0Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICAgIFRoZSBvcGVy YXRpb24gaXMgY29tcGxldGVkLg0KKyAgQHJldHZhbCBvdGhlciAgICAgICAgICAgICAgICAgICAg ICAgIE9wZXJhdGlvbiBmYWlsdXJlLg0KKw0KKyoqLw0KK0VGSV9TVEFUVVMNCitDb25uZWN0aW9u UmV0cnkgKA0KKyAgSU4gICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJv ZmlsZVN5bmNQcm90b2NvbA0KKyAgKQ0KK3sNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgV0lGSV9NR1JfREVWSUNFX0RBVEEgICAgICAgICAg ICAgICAgICAgICAqTmljOw0KKyAgRUZJX1dJUkVMRVNTX01BQ19DT05ORUNUSU9OX0lJX1BST1RP Q09MICAqV21wOw0KKyAgRUZJX1NVUFBMSUNBTlRfUFJPVE9DT0wgICAgICAgICAgICAgICAgICAq U3VwcGxpY2FudDsNCisgIEVGSV9FQVBfQ09ORklHVVJBVElPTl9QUk9UT0NPTCAgICAgICAgICAg KkVhcENvbmZpZzsNCisNCisgIE5pYyA9IE5VTEw7DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0 ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVdpRmkyUHJvdG9jb2xHdWlkLA0K KyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJldt cA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQor ICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3Rv Y29sICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVN1cHBsaWNhbnRQcm90b2NvbEd1aWQsDQor ICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmU3Vw cGxpY2FudA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQorICAgIFN1cHBsaWNhbnQgPSBOVUxMOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gZ0JTLT5M b2NhdGVQcm90b2NvbCAoDQorICAgICAgICAgICAgICAgICAgJmdFZmlFYXBDb25maWd1cmF0aW9u UHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAg ICAgKFZPSUQgKiopJkVhcENvbmZpZw0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQorICAgIEVhcENvbmZpZyA9IE5VTEw7DQorICB9DQorDQorICAv Lw0KKyAgLy8gSW5pdGlhbGl6ZSBOaWMgZGV2aWNlIGRhdGENCisgIC8vDQorICBOaWMgPSBBbGxv Y2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklfTUdSX0RFVklDRV9EQVRBKSk7ICBpZiAoTmljID09 DQorIE5VTEwpIHsNCisgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQorICAgIHJl dHVybiBTdGF0dXM7DQorICB9DQorDQorICBOaWMtPlNpZ25hdHVyZSAgICAgICAgICAgPSBXSUZJ X01HUl9ERVZJQ0VfREFUQV9TSUdOQVRVUkU7DQorICBOaWMtPlByaXZhdGUgICAgICAgICAgICAg PSBtUHJpdmF0ZTsNCisgIE5pYy0+V21wICAgICAgICAgICAgICAgICA9IFdtcDsNCisgIE5pYy0+ U3VwcGxpY2FudCAgICAgICAgICA9IFN1cHBsaWNhbnQ7DQorICBOaWMtPkVhcENvbmZpZyAgICAg ICAgICAgPSBFYXBDb25maWc7DQorICBOaWMtPlVzZXJTZWxlY3RlZFByb2ZpbGUgPSBOVUxMOw0K KyAgTmljLT5PbmVUaW1lU2NhblJlcXVlc3QgID0gRkFMU0U7DQorDQorICBpZiAoTmljLT5TdXBw bGljYW50ICE9IE5VTEwpIHsNCisgICAgU3RhdHVzID0gV2lmaU1nckdldFN1cHBvcnRlZFN1aXRl cyAoTmljKTsgIH0NCisNCisgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIEluaXRp YWxpemVMaXN0SGVhZCAoJk5pYy0+UHJvZmlsZUxpc3QpOw0KKw0KKyAgICBOaWMtPkNvbm5lY3RQ ZW5kaW5nTmV0d29yayA9IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgKilBbGxvY2F0ZVplcm9Q b29sIChzaXplb2YgKFdJRklfTUdSX05FVFdPUktfUFJPRklMRSkpOw0KKyAgICBpZiAoTmljLT5D b25uZWN0UGVuZGluZ05ldHdvcmsgPT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9IEVGSV9PVVRf T0ZfUkVTT1VSQ0VTOw0KKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBDb25uZWN0 aW9uIE1hbmFnZXJdIEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIENvbm5lY3RQZW5kaW5n TmV0d29ya1xuIikpOw0KKyAgICAgIGdvdG8gRVJST1I7DQorICAgIH0NCisNCisgICAgU3RhdHVz ID0gV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY0dldFByb2ZpbGUgKE5p Yy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLCBOaWMtPk1hY0FkZHJlc3MpOw0KKyAgICBpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSAmJiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgIT0gTlVMTCkp IHsNCisgICAgICBTdGF0dXMgPSBXaWZpTWdyQ29ubmVjdFRvTmV0d29yayAoTmljLCBOaWMtPkNv bm5lY3RQZW5kaW5nTmV0d29yayk7DQorICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsN CisgICAgICAgIHJldHVybiBTdGF0dXM7DQorICAgICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAgICAg IERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBDb25uZWN0aW9uIE1hbmFnZXJdIEZhaWxlZCB0 byBnZXQgV2lGaSBwcm9maWxlIHdpdGggc3RhdHVzICVyXG4iLCBTdGF0dXMpKTsNCisgICAgfQ0K KyAgfSBlbHNlIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIltXaUZpIENvbm5lY3Rpb24g TWFuYWdlcl0gRmFpbGVkIHRvIGdldCANCisgU3VwcG9ydGVkIHN1aXRlcyB3aXRoIHN0YXR1cyAl clxuIiwgU3RhdHVzKSk7ICB9DQorDQorICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsg IT0gTlVMTCkgew0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5ldHdvcmsu QUtNU3VpdGUgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQb29sIChOaWMtPkNvbm5lY3RQZW5kaW5n TmV0d29yay0+TmV0d29yay5BS01TdWl0ZSk7DQorICAgIH0NCisNCisgICAgaWYgKE5pYy0+Q29u bmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkNpcGhlclN1aXRlICE9IE5VTEwpIHsNCisgICAg ICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5ldHdvcmsuQ2lwaGVyU3Vp dGUpOw0KKyAgICB9DQorDQorICAgIEZyZWVQb29sIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29y ayk7ICB9DQorDQorRVJST1I6DQorICBpZiAoTmljLT5TdXBwbGljYW50ICE9IE5VTEwpIHsNCisg ICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEFLTVN1aXRlcyAhPSBOVUxMKSB7 DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEFLTVN1aXRl cyk7DQorICAgIH0NCisNCisgICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZFN3 Q2lwaGVyU3VpdGVzICE9IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5TdXBwb3J0ZWRT dWl0ZXMuU3VwcG9ydGVkU3dDaXBoZXJTdWl0ZXMpOw0KKyAgICB9DQorDQorICAgIGlmIChOaWMt PlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRId0NpcGhlclN1aXRlcyAhPSBOVUxMKSB7DQorICAg ICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEh3Q2lwaGVyU3VpdGVz KTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgRnJlZVBvb2wgKE5pYyk7DQorDQorICByZXR1cm4gU3Rh dHVzOw0KK30NCisNCiAvKioNCiAgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBmb3IgY29ubmVjdCBv cGVyYXRpb24uDQogDQpAQCAtOTA4LDEyICsxMDUyLDEzIEBAIFdpZmlNZ3JPbkNvbm5lY3RGaW5p c2hlZCAoDQogICBJTiAgVk9JRCAgICAgICAqQ29udGV4dA0KICAgKQ0KIHsNCi0gIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0gIFdJRklfTUdSX01BQ19DT05GSUdfVE9LRU4g ICpDb25maWdUb2tlbjsNCi0gIFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAgICpDb25uZWN0ZWRQ cm9maWxlOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgU2VjdXJpdHlUeXBlOw0KLSAg VUlOVDggICAgICAgICAgICAgICAgICAgICAgU1NJZExlbjsNCi0gIENIQVI4ICAgICAgICAgICAg ICAgICAgICAgICpBc2NpaVNTSWQ7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAg IFN0YXR1czsNCisgIFdJRklfTUdSX01BQ19DT05GSUdfVE9LRU4gICAgICAgKkNvbmZpZ1Rva2Vu Ow0KKyAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICAgICAgICAqQ29ubmVjdGVkUHJvZmlsZTsN CisgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjdXJpdHlUeXBlOw0KKyAgVUlO VDggICAgICAgICAgICAgICAgICAgICAgICAgICBTU0lkTGVuOw0KKyAgQ0hBUjggICAgICAgICAg ICAgICAgICAgICAgICAgICAqQXNjaWlTU0lkOw0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BS T1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogDQogICBBU1NFUlQgKENvbnRleHQg IT0gTlVMTCk7DQogDQpAQCAtOTI1LDYgKzEwNzAsMjQgQEAgV2lmaU1nck9uQ29ubmVjdEZpbmlz aGVkICgNCiAgIEFTU0VSVCAoQ29uZmlnVG9rZW4tPlR5cGUgPT0gVG9rZW5UeXBlQ29ubmVjdE5l dHdvcmtUb2tlbik7DQogDQogICBBU1NFUlQgKENvbmZpZ1Rva2VuLT5Ub2tlbi5Db25uZWN0TmV0 d29ya1Rva2VuICE9IE5VTEwpOw0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAo JmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIA0KKyAoVk9JRCAqKikmV2lG aVByb2ZpbGVTeW5jUHJvdG9jb2wpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAg V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY1NldENvbm5lY3RTdGF0ZSAo Q29uZmlnVG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3b3JrVG9rZW4tPlJlc3VsdENvZGUpOw0KKyAg ICBpZiAoKG1XaWZpQ29ubmVjdGlvbkNvdW50IDwgTUFYX1dJRklfQ09OTkVUSU9OX0FUVEVNUFRT KSAmJg0KKyAgICAgICAgKENvbmZpZ1Rva2VuLT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5S ZXN1bHRDb2RlICE9IENvbm5lY3RTdWNjZXNzKSkNCisgICAgew0KKyAgICAgIG1XaWZpQ29ubmVj dGlvbkNvdW50Kys7DQorICAgICAgZ0JTLT5DbG9zZUV2ZW50IChFdmVudCk7DQorICAgICAgU3Rh dHVzID0gQ29ubmVjdGlvblJldHJ5IChXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCk7DQorICAgICAg aWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICAgIHJldHVybjsNCisgICAgICB9DQor DQorICAgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY1NldENvbm5l Y3RTdGF0ZSAoU3RhdHVzKTsNCisgICAgfQ0KKyAgfQ0KKw0KICAgaWYgKENvbmZpZ1Rva2VuLT5U b2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5TdGF0dXMgIT0gRUZJX1NVQ0NFU1MpIHsNCiAgICAg aWYgKENvbmZpZ1Rva2VuLT5OaWMtPk9uZVRpbWVDb25uZWN0UmVxdWVzdCkgew0KICAgICAgIC8v DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNv bm5lY3Rpb25NZ3JNaXNjLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KaW5kZXggNGFkNTY0M2MyNC4uODdhZGZjNTAzMyAxMDA2 NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0 aW9uTWdyTWlzYy5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KQEAgLTY3MiwxMCArNjcyLDIzIEBAIFdpZmlNZ3JDbGVh blByb2ZpbGVTZWNyZXRzICgNCiAgIElOICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICpQcm9m aWxlDQogICApDQogew0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7 DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90 b2NvbDsNCisNCiAgIFplcm9NZW0gKFByb2ZpbGUtPlBhc3N3b3JkLCBzaXplb2YgKENIQVIxNikg KiBQQVNTV09SRF9TVE9SQUdFX1NJWkUpOw0KICAgWmVyb01lbSAoUHJvZmlsZS0+RWFwUGFzc3dv cmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NXT1JEX1NUT1JBR0VfU0laRSk7DQogICBaZXJvTWVt IChQcm9maWxlLT5Qcml2YXRlS2V5UGFzc3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NXT1JE X1NUT1JBR0VfU0laRSk7DQogDQorICAvLw0KKyAgLy8gIFdoZW4gRUZJIFdpRmkgcHJvZmlsZSBz eW5jIHByb3RvY29sIGlzIGZvdW5kIHRoZSBzeXN0ZW0gaXMgDQorIHBlcmZvcm1pbmcgYSByZWNv dmVyeSBib290IGluIHNlY3VyZSAgLy8gIGJvb3QgbW9kZS4gVGhlIHByb2ZpbGUgc3luYyANCisg ZHJpdmVyIHdpbGwgbWFuYWdlIHRoZSBDQSBjZXJ0aWZpY2F0ZSwgY2xpZW50IGNlcnRpZmljYXRl LCBhbmQga2V5ICAvLyAgZGF0YSwgY2xlYW5pbmcgdGhlbSBhdCBleGl0IGJvb3Qgc2VydmljZXMu DQorICAvLw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlXaUZpUHJvZmls ZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIA0KKyAoVk9JRCAqKikmV2lGaVByb2ZpbGVTeW5jUHJv dG9jb2wpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgcmV0dXJuOw0KKyAgfQ0K Kw0KICAgaWYgKFByb2ZpbGUtPkNBQ2VydERhdGEgIT0gTlVMTCkgew0KICAgICBaZXJvTWVtIChQ cm9maWxlLT5DQUNlcnREYXRhLCBQcm9maWxlLT5DQUNlcnRTaXplKTsNCiAgICAgRnJlZVBvb2wg KFByb2ZpbGUtPkNBQ2VydERhdGEpOw0KLS0NCjIuMzcuMy53aW5kb3dzLjENCg0K