From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web08.9485.1667324104410536794 for ; Tue, 01 Nov 2022 10:35:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=hxcfOkZK; spf=pass (domain: intel.com, ip: 192.55.52.43, 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=1667324104; x=1698860104; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hDXtZUd9NXRPQXZ6sgazJ8GXoIcm/hNl6eZSB2j9fQc=; b=hxcfOkZKmjbldgQbMDhJcvNoKah5wegWXWVglro/3vFPg5zDusY/caoS kh6q/Xynk83LNktEiM9I/+9a3oeN9nrL5KlqRGvEXZusVqYISbVgk3xLB 5+1oTvUM4RIPzE/dlOnRmaWXi36uE5vZ+RM5lORnACxmNOOdneLeM+SO6 tIqIxbpNfTkRJoDfPptbqB+G8/b7A79Q9Gug0qWlxHeGSEK5eYOhFy1BR s11JNxargfODU83fpAsSyhIlPDB3KHPKOEVP9XBLJIcNp1gRnkXXFMkod AcKP+lvzYVyjBfOKyGqE/HCuWP2zUhLlJ4xQksirZqGmSUfFuNk+x+iIP g==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="395509303" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="395509303" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 10:35:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="667270662" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="667270662" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga001.jf.intel.com with ESMTP; 01 Nov 2022 10:35:03 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 1 Nov 2022 10:35:02 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 1 Nov 2022 10:35:01 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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; Tue, 1 Nov 2022 10:35:01 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.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.2375.31; Tue, 1 Nov 2022 10:35:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sd4hMiyzLIiRZC8+TUCVS80FEUlAAOG+UNNWeSZKLPZQ+dxXBKKnRuFiyc1DHSfXqAy2WgrDgc4FBoav+SrihpPB4viYK6ca0Lk75skzX1q8C6+RePb7PI4lY/8J5VB5WoWPH2O/Jw43axVa9l4VXcIR6KV7M8o753xFiZ9pJw/CyE7ZBjyL1BX70zJlyT9HsPLqHl/LE58yskhxPyhLWSa42jFe1T6tgjNkP/54DCF5wxiVfW2/V9riPUhTfr3gHikefUq/Q7zjmsqm1RfBp1pEO43MgIvPqyFzMI/Nqde89WeNvEokGHO/vJHc/6yQBGHbZ3g+N0ixgu0qRxhMtw== 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=hDXtZUd9NXRPQXZ6sgazJ8GXoIcm/hNl6eZSB2j9fQc=; b=cv3ylN9pl4f2IvGCPeeGhxmdKWOBXNKrBpwF9xu5dL1r90gOb/U+cBqhcw8YF+LUnN/bKgRQH26ArLgS6adC+eT6/5gwQZGzJjV60nFBnqh/hej6AlI6gAPo88aI5MLZBN8b2p/q6lu4xKi+WY4WUOvCZ2xFKDUAZcuY5TR3b43y9Yltzi1Giy4E2PJCNtW84A5W6jmjSxMHGaorHa/aVZY/uvKuITsTsYTceoxIw13qHHBNUj96RY3K8wUeaaWvFkDB2o1KIuzuHDXVOjVOw77tGUjmynBnj8/aKt9nlrZzN9hvVKXpHDbMb+qwzzlRZK0mlVEWwTxnLUqcGw5SSA== 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 DS0PR11MB7560.namprd11.prod.outlook.com (2603:10b6:8:14b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Tue, 1 Nov 2022 17:35:00 +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.5769.016; Tue, 1 Nov 2022 17:34:59 +0000 From: "Clark-williams, Zachary" To: "Zimmer, Vincent" , "Rabeda, Maciej" , "Luo, Heng" , "Kuo, Scottie" , "Kuo, Ted" , "Dutkiewicz, Michal" , "devel@edk2.groups.io" , "Wu, Jiaxin" , "Otcheretianski, Andrei" CC: "Alappat, Paul" , "Kasbekar, Saloni" , "Patil, Ajit" Subject: Re: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Topic: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Index: AQHY6jr1YBx+4nENxEWJqUx5LJQFoa4iq1aAgAGR5jCAAADHwIAEq9RQgAAdggCAAVFMoA== Date: Tue, 1 Nov 2022 17:34:59 +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_|DS0PR11MB7560:EE_ x-ms-office365-filtering-correlation-id: 5929f948-40bf-4582-2641-08dabc2f66a7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IQgwpthuIWbHJlgi2uKVlyiborgcBljVa92T2KcAh9615xbIleC/BTOwGwEkG1673sV0Tgohvscq995IAYf0so+eqCAWAVzt9Lmj680ii2EFVcHffPiQutWrWPnOR7bsHQtTovrDLwiJPX+ChDazifsW77/BGTksTvmX5TItUaTINU+/7QvAXHdZf7v7aesbMAOUbl7Xxo6P/ttbvfEU5Z2XD+4+W7dTRXBT/jvKf5ybdTftVHEG2GiroRI+H+fjhHtSJxO2pWp5/58hroQIW2bka7WI0h2d/9Rze740egGbxM/fDFDqcn7oko7ECZpO393YYhnwS6MC8BP/O/ZfymoMc/ZDYGhjpb+Hetvnik2vHdCpWv97CAWwKB49i9P8bHNS/Uzq2eK6b8fCqajpDKHxANik3Mjm7iI27aRHzqzvbu4QQxx53kyw7cDBBuoZlr37ipUiRcs7hYhVUfnFW89ckpvga/0wv0TG8UmzrZaOvyybDWZNQih35BvpWrGa6CMqmsFnVxuueUfXp2wSwcqBtOdb2UllGcJ/ja51hYaq7Ob7mSWFUpiotJD0O07RfDRsUvnJKDAwUnYfDg1L/BBUkJRhOgpQghr42yVEN3o5JP5x8v87Egv+oIjFf5Ak5jJqE8HhoCGh+MTolir71vstsWDpdTrIgq0kzzVhPiSF3Z/CJXdvWy9Ve1Yk6xllP2gfiNFej5aZhB4G4GhwW+k/Sk8sNIPnYOGXdon7i4AfI/mwLtffybErQopLZZhG6J0rjz/hn2sQcbCRa9pJaSGmG0FYP3F48XIlEnKR3OkPEK7BNTQhCJ/hzLU49nB2vdiW62DNLgW+vKWW081aWIRo+mEkQQkhHzIOZdVry9qkMfUJUE2xFxdN/F+KjAN/ 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)(346002)(376002)(396003)(39860400002)(136003)(451199015)(71200400001)(66899015)(478600001)(38070700005)(6636002)(921005)(33656002)(54906003)(19627235002)(966005)(316002)(110136005)(82960400001)(107886003)(66946007)(83380400001)(64756008)(66446008)(4326008)(76116006)(38100700002)(66556008)(9686003)(66476007)(8676002)(8936002)(7696005)(122000001)(86362001)(53546011)(52536014)(41300700001)(6506007)(5660300002)(30864003)(55016003)(2906002)(26005)(186003)(579004)(559001)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y1VIc0FtdENuRjJId2xCUlVRRmFHRFQvdUJQYTVVdS82WFFyYWFISGRrU1dR?= =?utf-8?B?ZElrUGJaMzBRbWhpUlFyN3U1YWRnOGsrMWx4R1dMbHdNUis2SGtKdmZCM1dH?= =?utf-8?B?aTAvVllQUXEwbGgyMWZTQ0hKR3pQZ0dBdVRPc0ZXS2dzOEh6Q0VQakJ6VVo3?= =?utf-8?B?Y3JZdFNnQWk0dE9HTGRmSUU1dm16SGR4a3p1RndqeFErZTRmZXphcGdBWnl1?= =?utf-8?B?NWk2UW96Q3MxdDhhUEZNUDgxQkRtQllOeVIzY285N2ZaMzBSWVZnUzZ0K0pC?= =?utf-8?B?anZ3bnF1TVcvR1FueU1hS2swa01ZVzZYc2FxblB5WU02Yi9EWFFQWk9iRDEr?= =?utf-8?B?UjEvYXhEbWJDODZuaFVLU2NFaFhRWU1TN1BNdloxbXI1NmNLVExSaUc3UXNQ?= =?utf-8?B?c2lPaHdIN3N4Y0tUdXI3ZVRBQi8wVmhGWDhadVY2OHVMNXRwNGZ3TnF4SjFn?= =?utf-8?B?V3c5U1ljZzBRclo4Y3NoY3lIb3ZaT0ttS1lnUFFCN0lWUHdNSHRsUDY5L29Z?= =?utf-8?B?U2VMWGduSjJZTll4dkNxOXZCck51Q2ppUzZ1bU52ZzBnL0FOb01yZVRXRUpM?= =?utf-8?B?OU4vcW9COGhzRnpoOGZWN0wyZ29YWlVwbGxybk1IZjZlK1V5QlZob2NIV1Fn?= =?utf-8?B?bU5CUmcyUjBDSWVDa3dNN0NwcWlyNE82QVQ3VmlnSVYvVUQvdTJLUzNoQ3pD?= =?utf-8?B?N1lCUTZCVzFXWXYrT0lqZnVSdlhzSmROSzljVFFFb0M3Z3F3TjlucTFaQWwv?= =?utf-8?B?Rm43UG4xOEdkY0thZWt0ek1jSC9pNU40aWk5c3F1Tk9yNDlibkxTdnRpRXNx?= =?utf-8?B?YllyMHhRSzZUUGJjNlIxUHl6by95cDJoMnVOMGNQSUpjMWV4WldQUFJYTGxO?= =?utf-8?B?YnlFcURDais2dWpySmRDYVlFdnFjZHY3VFBUVjFoS3llRHhpdnk5enBCajFN?= =?utf-8?B?T3FoWGd4R25mWEtpS3RaM0VlOUk5aGFQNWwxVmNUeVJQMVpPTTAxRUtnZExF?= =?utf-8?B?ajVYTGs0cmhCakFLbVcycnVFVC93ZFJIYkQxRUxFcTRhaDh0NnlyYjl5NDBM?= =?utf-8?B?Tk1vbDBXYXBWUGs0N2R0K2RBSit4b3VaZjZLMm15bnJFRVNKT0F3T3MyV1V2?= =?utf-8?B?YXNYWjZyK0gwd3NiQ0d3NUI4RElLbVRXK2pmaGhBbkVGazVKVmJrRjVOSGtI?= =?utf-8?B?bm5VemRvTHRQUnFQRDV1QkV5OXgxQWdZQ3pPQy83ekVld0FQK3M1eDJYeVJD?= =?utf-8?B?WTFCQWt1MkpPTXhBRHVJVnNFT3FhV01qOXI3UmxDMnpiSnhOc09pNVU2Vmcz?= =?utf-8?B?dFlvMHJBVWdZK3ZTb3BWSm1nenplMkw5VEN4dENvV2RnQ0F4WXg1b0VWSjZQ?= =?utf-8?B?bDhmUkw3NlRkK0tFOGJSUlNVMGVxOFUzRlh5WjF3clloZVFJdWtiaVh2REVk?= =?utf-8?B?ZFV1eXMrZ2FzUzU4ZzVObWRielQ4NEc2ZEhGVW9neFNTR1hHcnBMNXhyNTgx?= =?utf-8?B?QkRQNTZ4QkZ5MUdNTFg1MHd2ZnAyYmczRG1GNk15WGU4ajh0bWE2NHRnTjJC?= =?utf-8?B?cU5SUksvenE1OCsvSHNCUHVIdTRlRUN5M2FFMytVSUtycmNJa1o5RzZ0VHpM?= =?utf-8?B?YkJaVUs3ZDdKa203U1plQU13L01XK2J6K0kyaXZJVDZKVklTQW1SaDBNSUxD?= =?utf-8?B?RmVVTjFaN3dvYTNaNWV6YVZKNWxEVUF4aHB5eWxTeHJ4Y1pWWDlWU2FlTm1j?= =?utf-8?B?c3dLSDcxTGZrN2NxcHpTdlZJeGQvb3VBTjlyTmhzZW9ycU5GNEphYlJBMWhu?= =?utf-8?B?ejFTVHVlT2ZwcDVPNTNFbFhiV1p3ZUJUQ3NBQVZ2WW1CYzlSaGJEZk1QRUVo?= =?utf-8?B?OUxha05Qc1p4UGhOa3gxWmxaNnhheFZENWxRTDRuN2N5bGh3T3BQakJZRlRK?= =?utf-8?B?OWw0d1VLUVhOMjZVREZSR29XTkZaeitTeisrUCtxWXZtam9XYnFWaklUSGNw?= =?utf-8?B?N01vVmdPcElvUDFuTHZzUS9tUkdrVEp3dzR5L0JTeGt3dXdnUjdUNEN0VUtL?= =?utf-8?B?QXlmaDlReXpxbDAxeWliWVc3YXJZbzVJZEVnMWF1aHBGZDB2SkhwVWh5SzVp?= =?utf-8?B?SVdUbTFLeUxPc1lrTmRQVFFHbGlkd2ZkSWZabm5OTUZnQXBEOGZiNm5Hbkkz?= =?utf-8?Q?z+QKWq8ItpfoNgBYEAZl8aI=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: 5929f948-40bf-4582-2641-08dabc2f66a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2022 17:34:59.7905 (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: kvU9r3IFo9nFcYsRXZnADGMobWDXHIBYKIiBv+RVIx+9OI5XYBsDXxZ0JZcpi7IbQdkbdgCKfRrdEv14WF17bzW23wvfPs2arZsnR9oAeFumK0MKATVDZv33T8J9fAxf X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7560 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 SGV5IFZpbmNlbnQsDQoNClRoZSBkb2N1bWVudGF0aW9uIGZvciBkZXNjcmliaW5nIHRoZSBmZWF0 dXJlcyBpbiB0aGUgUFIgZGVzY3JpcHRpb24gY2FuIGJlIGZvdW5kIGluIHRoZSBDU01FIGRvY3Vt ZW50YXRpb24gZm91bmQgb24gdGhlIHB1YmxpYyBhY2Nlc3NpYmxlIGludGVsIGxpbmsgYmVsb3cu DQoNCk9DUiAtIGh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL3NpdGVzL21hbmFnZWFiaWxpdHkv QU1UX0ltcGxlbWVudGF0aW9uX2FuZF9SZWZlcmVuY2VfR3VpZGUvZGVmYXVsdC5odG0/dHVybD1X b3JkRG9jdW1lbnRzJTJGb25lY2xpY2tyZWNvdmVyeS5odG0NCg0KS1ZNIC0gaHR0cHM6Ly9zb2Z0 d2FyZS5pbnRlbC5jb20vc2l0ZXMvbWFuYWdlYWJpbGl0eS9BTVRfSW1wbGVtZW50YXRpb25fYW5k X1JlZmVyZW5jZV9HdWlkZS9kZWZhdWx0Lmh0bT90dXJsPVdvcmREb2N1bWVudHMlMkZvbmVjbGlj a3JlY292ZXJ5Lmh0bQ0KDQpUaGFua3MsDQpaYWNrDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBaaW1tZXIsIFZpbmNlbnQgPHZpbmNlbnQuemltbWVyQGludGVsLmNvbT4gDQpT ZW50OiBNb25kYXksIE9jdG9iZXIgMzEsIDIwMjIgMjoxNiBQTQ0KVG86IENsYXJrLXdpbGxpYW1z LCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NClN1YmplY3Q6IFJF OiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRk IFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KUXVpY2sgcXVlc3Rpb24NCg0K QXJlIHRoZSBmZWF0dXJlcyBkZXNjcmliZWQgaW4gIiBFbmFibGVzIEtWTSBhbmQgT25lIENsaWNr IFJlY292ZXJ5IFdMQU4gY2FwYWJpbGl0eSB3aXRoIFdpRmkgUHJvZmlsZSBTeW5jIGZlYXR1cmUg YW5kIHByb3RvY29sLiBBZGRpbmcgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wsIHdoaWNoIHN1cHBv cnRzIHRoZSBwcm9maWxlc3luYyBkcml2ZXIgb3BlcmF0aW9ucyBmb3IgdHJhbnNmZXJyaW5nIFdp RmkgcHJvZmlsZXMgZnJvbSBBTVQgdG8gdGhlIFN1cHBsaWNhbnQuIFdpRmlDb25uZWN0aW9uTWFu YWdlciB3aWxsIGNoZWNrIGZvciB0aGUgV2lmaVByb2ZpbGVTeW5jUHJvdG9jb2wgYW5kIGlmIGZv dW5kIHdpbGwgb3BlcmF0ZSBvbiB0aGUgcHJlbWlzZSBvZiBhIE9uZSBDbGljayBSZWNvdmVyeSwg b3IgS1ZNIGZsb3cgd2l0aCBhIFdpZmkgcHJvZmlsZSBwcm92aWRlZCBieSBBTVQuIiBpbiBhIHB1 YmxpYyBkb2N1bWVudD8gIFRoaW5ncyBsaWtlIGNvbmNlcHQgb2YgcHJvZmlsZSBzeW5jPyAgSSdt IGd1ZXNzaW5nIHRoZXkgYXJlIHNpbmNlIExpbnV4IHByb2JhYmx5IGRvZXMgdGhlIHNhbWUgaW4g dGhlIGludGVsIGl3bCBkcml2ZXI/DQoNClZpbmNlbnQNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCkZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4g T24gQmVoYWxmIE9mIENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5DQpTZW50OiBNb25kYXksIE9jdG9i ZXIgMzEsIDIwMjIgMTI6MzEgUE0NClRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+OyBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+ OyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5r dW9AaW50ZWwuY29tPjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwg TWljaGFsIDxtaWNoYWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgJ0Z1LCBTaXl1YW4nIDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgV3UsIEppYXhpbiA8amlheGlu Lnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlh bnNraUBpbnRlbC5jb20+DQpDYzogQWxhcHBhdCwgUGF1bCA8cGF1bC5hbGFwcGF0QGludGVsLmNv bT47IEthc2Jla2FyLCBTYWxvbmkgPHNhbG9uaS5rYXNiZWthckBpbnRlbC5jb20+OyBQYXRpbCwg QWppdCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3lu YyBwcm90b2NvbCBzdXBwb3J0DQoNCisrIHZpc2liaWxpdHkNCg0KLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5DQpTZW50OiBGcmlkYXksIE9j dG9iZXIgMjgsIDIwMjIgMToxMyBQTQ0KVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNv bT47IEx1bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwuY29tPjsgS3VvLCBTY290dGllIDxzY290dGll Lmt1b0BpbnRlbC5jb20+OyBLdW8sIFRlZCA8dGVkLmt1b0BpbnRlbC5jb20+OyBEdXRraWV3aWN6 LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3aWN6QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBz LmlvOyBGdSwgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgV3UsIEppYXhpbiA8amlheGlu Lnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlh bnNraUBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQ cm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KKytN b3JlIGZvciByZXZpZXdhbCENCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENs YXJrLXdpbGxpYW1zLCBaYWNoYXJ5DQpTZW50OiBGcmlkYXksIE9jdG9iZXIgMjgsIDIwMjIgMTox MCBQTQ0KVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVu Zy5sdW9AaW50ZWwuY29tPjsgS3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBL dW8sIFRlZCA8dGVkLmt1b0BpbnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5k dXRraWV3aWN6QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpTdWJqZWN0OiBSRTog W1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBz eW5jIHByb3RvY29sIHN1cHBvcnQNCg0KVGhhbmtzIGZvciB0aGUgZm9yd2FyZCBNaWtlIQ0KDQpN YWNpZWogYW5kIEFsbCwgDQoNCklmIHlvdSBjb3VsZCBwbGVhc2UgcmV2aWV3IHRoZSBQUiBiZWxv dy4gSSB3b3VsZCBsaWtlIHRvIGdldCB0aGlzIHJldmlldyBjb21wbGV0ZWQgd2l0aGluIHRoZSB3 ZWVrLg0KDQpUaGFua3MsDQpaYWNrDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9t OiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQpTZW50OiBU aHVyc2RheSwgT2N0b2JlciAyNywgMjAyMiAxOjA5IFBNDQpUbzogUmFiZWRhLCBNYWNpZWogPG1h Y2llai5yYWJlZGFAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsgQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2ls bGlhbXNAaW50ZWwuY29tPg0KU3ViamVjdDogRlc6IFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZp UHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCkhp IE1hY2llaiwNCg0KQ2FuIHlvdSBwbGVhc2UgaGVscCByZXZpZXcgdGhlc2UgTmV0d29ya1BrZyBj aGFuZ2VzLg0KDQpJIGFtIG5vdCBzdXJlIGlmIHlvdSBtb25pdG9yIHlvdXIgbGludXguaW50ZWwu Y29tIGFjY291bnQgYXMgY2xvc2VseSBhcyB5b3VyIGludGVsLmNvbSBhY2NvdW50Lg0KDQpUaGFu a3MsDQoNCk1pa2UNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdp bGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NClNlbnQ6 IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAyMDIyIDEyOjMzIFBNDQpUbzogS2lubmV5LCBNaWNoYWVs IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KU3ViamVjdDogRlc6IFtQQVRDSCB2NF0g TmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2Nv bCBzdXBwb3J0DQoNCkhleSBNaWtlLA0KDQpJJ20gc3RydWdnbGluZyB0byBnZXQgYW55IGZlZWRi YWNrIG9uIHRoaXMgUFIuIERvIHlvdSBoYXZlIGFueSBzdWdnZXN0aW9ucyB0byBnZXQgYmV0dGVy IHZpc2liaWxpdHkgYW5kIHJlc3BvbnNlcyBzbyBJIGNhbiBnZXQgdGhpcyBtaXZpbmc/DQoNClRo YW5rcywNClphY2sNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdp bGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NClNlbnQ6 IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAyMDIyIDEyOjMxIFBNDQpUbzogZGV2ZWxAZWRrMi5ncm91 cHMuaW8NCkNjOiBaYWNoYXJ5IENsYXJrLVdpbGxpYW1zIDx6Y2xhcmt3MTEyQGdtYWlsLmNvbT47 IE1hY2llaiBSYWJlZGEgPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsgRnUgU2l5dWFu IDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47 IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlhbnNraUBpbnRlbC5jb20+ OyBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5j b20+DQpTdWJqZWN0OiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQg V2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpGcm9tOiBaYWNoYXJ5IENsYXJr LVdpbGxpYW1zIDx6Y2xhcmt3MTEyQGdtYWlsLmNvbT4NCg0KUkVGOiBodHRwczovL2J1Z3ppbGxh LnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM4NDUNCg0KRW5hYmxlcyBLVk0gYW5kIE9u ZSBDbGljayBSZWNvdmVyeSBXTEFOIGNhcGFiaWxpdHkgd2l0aCBXaUZpIFByb2ZpbGUgU3luYyBm ZWF0dXJlIGFuZCBwcm90b2NvbC4gQWRkaW5nIFdpRmlQcm9maWxlU3luY1Byb3RvY29sLCB3aGlj aCBzdXBwb3J0cyB0aGUgcHJvZmlsZXN5bmMgZHJpdmVyIG9wZXJhdGlvbnMgZm9yIHRyYW5zZmVy cmluZyBXaUZpIHByb2ZpbGVzIGZyb20gQU1UIHRvIHRoZSBTdXBwbGljYW50LiBXaUZpQ29ubmVj dGlvbk1hbmFnZXIgd2lsbCBjaGVjayBmb3IgdGhlIFdpZmlQcm9maWxlU3luY1Byb3RvY29sIGFu ZCBpZiBmb3VuZCB3aWxsIG9wZXJhdGUgb24gdGhlIHByZW1pc2Ugb2YgYSBPbmUgQ2xpY2sgUmVj b3ZlcnksIG9yIEtWTSBmbG93IHdpdGggYSBXaWZpIHByb2ZpbGUgcHJvdmlkZWQgYnkgQU1ULg0K DQpDYzogTWFjaWVqIFJhYmVkYSA8bWFjaWVqLnJhYmVkYUBsaW51eC5pbnRlbC5jb20+DQpDYzog RnUgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPg0KQ2M6IFd1IEppYXhpbiA8amlheGluLnd1 QGludGVsLmNvbT4NCkNjOiBBbmRyZWkgT3RjaGVyZXRpYW5za2kgPGFuZHJlaS5vdGNoZXJldGlh bnNraUBpbnRlbC5jb20+DQoNClNpZ25lZC1vZmYtYnk6IFphY2hhcnkgQ2xhcmstV2lsbGlhbXMg PHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29tPg0KLS0tDQogLi4uL1Byb3RvY29sL1dp RmlQcm9maWxlU3luY1Byb3RvY29sLmggICAgICAgIHwgIDgzICsrKysrKysrDQogTmV0d29ya1Br Zy9OZXR3b3JrUGtnLmRlYyAgICAgICAgICAgICAgICAgICAgIHwgICAzICsNCiAuLi4vV2lmaUNv bm5lY3Rpb25NYW5hZ2VyRHhlLmluZiAgICAgICAgICAgICAgfCAgIDMgKy0NCiAuLi4vV2lmaUNv bm5lY3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3QuaCAgICAgfCAgIDIgKy0NCiAuLi4vV2lmaUNv bm5lY3Rpb25NZ3JEcml2ZXIuYyAgICAgICAgICAgICAgICAgfCAxMjYgKysrKysrKystLS0tDQog Li4uL1dpZmlDb25uZWN0aW9uTWdyRHhlLmggICAgICAgICAgICAgICAgICAgIHwgICA0ICstDQog Li4uL1dpZmlDb25uZWN0aW9uTWdySW1wbC5jICAgICAgICAgICAgICAgICAgIHwgMTkzICsrKysr KysrKysrKysrKystLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYyAgICAgICAgICAgICAg ICAgICB8ICAxMyArKw0KIDggZmlsZXMgY2hhbmdlZCwgMzY3IGluc2VydGlvbnMoKyksIDYwIGRl bGV0aW9ucygtKSAgY3JlYXRlIG1vZGUgMTAwNjQ0IE5ldHdvcmtQa2cvSW5jbHVkZS9Qcm90b2Nv bC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQoNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL0lu Y2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaCBiL05ldHdvcmtQa2cvSW5j bHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uZTM2ZGFjZWFiZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIv TmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmgNCkBA IC0wLDAgKzEsODMgQEANCisvKiogQGZpbGUNCisgIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29s LiBTdXBwb3J0cyBPbmUgQ2xpY2sgUmVjb3Zlcnkgb3IgS1ZNIE9TIA0KK3JlY292ZXJ5DQorICBi b290IGZsb3cgb3ZlciBXaUZpLg0KKw0KKyAgQ29weXJpZ2h0IChjKSAyMDIyLCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorDQorICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAqKi8NCisNCisjaWZuZGVmIFdJRklfUFJPRklM RV9TWU5DX1BST1RPQ09MX0hfDQorI2RlZmluZSBXSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTF9I Xw0KKw0KKyNpbmNsdWRlIDxXaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25N Z3JDb25maWcuaD4NCisNCisvLw0KKy8vICBXaUZpIFByb2ZpbGUgU3luYyBQcm90b2NvbCBHVUlE IHZhcmlhYmxlLg0KKy8vDQorZXh0ZXJuIEVGSV9HVUlEICBnRWZpV2lGaVByb2ZpbGVTeW5jUHJv dG9jb2xHdWlkOw0KKw0KKy8qKg0KKyAgVXNlZCBieSB0aGUgV2lGaSBjb25uZWN0aW9uIG1hbmFn ZXIgdG8gZ2V0IHRoZSBXaUZpIHByb2ZpbGUgdGhhdCBBTVQgDQorc2hhcmVkDQorICBhbmQgd2Fz IHN0b3JlZCBpbiBXaUZpIHByb2ZpbGUgcHJvdG9jb2wuIEFsaWducyB0aGUgQU1UIFdpRmkgcHJv ZmlsZSANCitkYXRhIHRvDQorICB0aGUgV2lGaSBjb25uZWN0aW9uIG1hbmFnZXIgcHJvZmlsZSBz dHJ1Y3R1cmUgZm8gY29ubmVjdGlvbiB1c2UuDQorDQorICBAcGFyYW1baW4sIG91dF0gIFdjbVBy b2ZpbGUgICAgICAgV2lGaSBDb25uZWN0aW9uIE1hbmFnZXIgcHJvZmlsZSBzdHJ1Y3R1cmUNCisg IEBwYXJhbVtpbiwgb3V0XSAgTWFjQWRkcmVzcyAgICAgICBNQUMgYWRkcmVzcyBmcm9tIEFNVCBz YXZlZCB0byBOaUMgTUFDIGFkZHJlc3MNCisNCisgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICAgICBTdG9yZWQgV2lGaSBwcm9maWxlIGNvbnZlcnRlZCBhbmQgcmV0dXJuZWQgc3VjY2Vm dWxseQ0KKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAgIFByb2ZpbGUgcHJvdG9j b2wgc2hhcmluZyBub3Qgc3VwcG9ydGVkIG9yIGVuYWJsZWQNCisgIEByZXR2YWwgRUZJX05PVF9G T1VORCAgICAgICAgICAgICBObyBwcm9maWxlcyB0byByZXR1cm5lZA0KKyAgQHJldHZhbCBPdGhl cnMgICAgICAgICAgICAgICAgICAgIEVycm9yIE9jY3VycmVkDQorKiovDQordHlwZWRlZg0KK0VG SV9TVEFUVVMNCisoRUZJQVBJICpXSUZJX1BST0ZJTEVfR0VUKSgNCisgIElOIE9VVCAgV0lGSV9N R1JfTkVUV09SS19QUk9GSUxFICAqUHJvZmlsZSwNCisgIElOIE9VVCAgRUZJXzgwMjExX01BQ19B RERSRVNTICAgICBNYWNBZGRyZXNzDQorICApOw0KKw0KKy8qKg0KKyAgU2F2ZXMgdGhlIFdpRmkg Y29ubmVjdGlvbiBzdGF0dXMgcmVjaWV2ZWQgYnkgdGhlIA0KK1dpRmlDb25uZWN0aW9uTWFuYWdl ciB3aGVuDQorICBpbiBhIEtWTSBPUiBPbmUgQ2xpY2sgUmVjb3ZlcnkgV0xBTiByZWNvdmVyeSBm bG93LiBJbnB1dCBhcw0KKyAgRUZJXzgwMjExX0NPTk5FQ1RfTkVUV09SS19SRVNVTFRfQ09ERSB0 aGVuIGNvbnZlcnRlZCBhbmQgc3RvcmVkIGFzIEVGSV9TVEFUVVMgdHlwZS4NCisNCisgIEBwYXJh bVtpbl0gQ29ubmVjdGlvblN0YXR1cyAgICAgV2lGaSBjb25uZWN0aW9uIGF0dGVtcHQgcmVzdWx0 cw0KKyoqLw0KK3R5cGVkZWYNCitWT0lEDQorKEVGSUFQSSAqV0lGSV9TRVRfQ09OTkVDVF9TVEFU RSkoDQorICBJTiAgRUZJXzgwMjExX0NPTk5FQ1RfTkVUV09SS19SRVNVTFRfQ09ERSBDb25uZWN0 aW9uU3RhdHVzDQorICApOw0KKw0KKy8qKg0KKyAgUmV0cmlldmVzIHRoZSBzdG9yZWQgV2lGaSBj b25uZWN0aW9uIHN0YXR1cyB3aGVuIGluIGVpdGhlciBLVk0gT1IgT25lIA0KK0NsaWNrDQorICBS ZWNvdmVyeSBXTEFOIHJlY292ZXJ5IGZsb3cuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICAgICAgV2lGaSBjb25uZWN0aW9uIGNvbXBsZXRlZCBzdWNjZXNmdWxseQ0KKyAgQHJl dHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAgIENvbm5lY3Rpb24gZmFpbHVyZSBvY2N1cnJl ZA0KKyoqLw0KK3R5cGVkZWYNCitFRklfU1RBVFVTDQorKEVGSUFQSSAqV0lGSV9HRVRfQ09OTkVD VF9TVEFURSkoDQorICBWT0lEDQorICApOw0KKw0KKy8vDQorLy8gIFdpRmkgUHJvZmlsZSBTeW5j IFByb3RvY29sIHN0cnVjdHVyZS4NCisvLw0KK3R5cGVkZWYgc3RydWN0IHsNCisgIFVJTlQzMiAg ICAgICAgICAgICAgICAgICAgUmV2aXNpb247DQorICBXSUZJX1NFVF9DT05ORUNUX1NUQVRFICAg IFdpZmlQcm9maWxlU3luY1NldENvbm5lY3RTdGF0ZTsNCisgIFdJRklfR0VUX0NPTk5FQ1RfU1RB VEUgICAgV2lmaVByb2ZpbGVTeW5jR2V0Q29ubmVjdFN0YXRlOw0KKyAgV0lGSV9QUk9GSUxFX0dF VCAgICAgICAgICBXaWZpUHJvZmlsZVN5bmNHZXRQcm9maWxlOw0KK30gRUZJX1dJRklfUFJPRklM RV9TWU5DX1BST1RPQ09MOw0KKw0KKy8qKg0KKyAgV2lGaSBQcm9maWxlIFByb3RvY29sIHJldmlz aW9uIG51bWJlci4NCisNCisgIFJldmlzaW9uIDE6ICAgSW5pdGlhbCB2ZXJzaW9uDQorKiovDQor I2RlZmluZSBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0xfUkVWSVNJT04gIDENCisNCisj ZW5kaWYgLy8gIFdJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MX0hfDQpkaWZmIC0tZ2l0IGEvTmV0 d29ya1BrZy9OZXR3b3JrUGtnLmRlYyBiL05ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMgaW5kZXgg NWU0M2ViZjhjNS4uNTNmYjM0YzRhMCAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvTmV0d29ya1Br Zy5kZWMNCisrKyBiL05ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMNCkBAIC05MSw2ICs5MSw5IEBA DQogICAjIyBJbmNsdWRlL1Byb3RvY29sL0h0dHBDYWxsYmFjay5oDQogICBnRWRraWlIdHRwQ2Fs bGJhY2tQcm90b2NvbEd1aWQgID0gezB4NjExMTE0ZjEsIDB4YTM3YiwgMHg0NDY4LCB7MHhhNCwg MHgzNiwgMHg1YiwgMHhkZCwgMHhhMSwgMHg2YSwgMHhhMiwgMHg0MH19DQogDQorICAjIyBJbmNs dWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmgNCisgIGdFZmlXaUZpUHJvZmls ZVN5bmNQcm90b2NvbEd1aWQgPSB7MHgzOTlhMmI4YSwgMHhjMjY3LCAweDQ0YWEsIHsweDlhLCAN CisgMHhiNCwgMHgzMCwgMHg1OCwgMHg4YywgMHhkMiwgMHgyZCwgMHhjY319DQorDQogW1BjZHNG aXhlZEF0QnVpbGRdDQogICAjIyBUaGUgbWF4IGF0dGVtcHQgbnVtYmVyIHdpbGwgYmUgY3JlYXRl ZCBieSBpU0NTSSBkcml2ZXIuDQogICAjIEBQcm9tcHQgTWF4IGF0dGVtcHQgbnVtYmVyLg0KZGlm ZiAtLWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0 aW9uTWFuYWdlckR4ZS5pbmYgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mDQppbmRleCA0Mzk0YjZmNGJiLi43ZTM2MDE2Y2Y4 IDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNv bm5lY3Rpb25NYW5hZ2VyRHhlLmluZg0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1h bmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlLmluZg0KQEAgLTksNyArOSw3IEBADQog IyAgMikuIFdQQTIgUGVyc29uYWwgTmV0d29yaw0KICMgIDMpLiBFQVAgTmV0d29ya3MgKEVBUC1U TFMsIEVBUC1UVExTL01TQ0hBUHYyIGFuZCBQRUFQdjAvTVNDSEFQdjIpICAjIC0jICBDb3B5cmln aHQgKGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N CisjICBDb3B5cmlnaHQgKGMpIDIwMTkgLSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyANCityZXNlcnZlZC48QlI+DQogIw0KICMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50ICAjIEBAIC03MSw2ICs3MSw3IEBADQogICBnRWZpQWRhcHRlcklu Zm9ybWF0aW9uUHJvdG9jb2xHdWlkICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQog ICBnRWZpU3VwcGxpY2FudFByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJ TUVTX0NPTlNVTUVTDQogICBnRWZpRWFwQ29uZmlndXJhdGlvblByb3RvY29sR3VpZCAgICAgICAg ICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQorICBnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2xHdWlkICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQogDQogW0d1aWRzXQ0K ICAgZ1dpZmlDb25maWdHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIFBST0RV Q0VTICAjIyBHVUlEDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFn ZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3QuaCBiL05ldHdvcmtQa2cv V2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhU3Ry dWN0LmgNCmluZGV4IGI1NTE4YTc0ZDguLmRjYzRiZjdlMjcgMTAwNjQ0DQotLS0gYS9OZXR3b3Jr UGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0 YVN0cnVjdC5oDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZp Q29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVMNCisrKyB0cnVjdC5oDQpAQCAtMjUsNyArMjUsNyBA QA0KIA0KICNkZWZpbmUgUEFTU1dPUkRfTUlOX0xFTiAgICAgICA4DQogI2RlZmluZSBQQVNTV09S RF9NQVhfTEVOICAgICAgIDYzDQotI2RlZmluZSBQQVNTV09SRF9TVE9SQUdFX1NJWkUgIDY0DQor I2RlZmluZSBQQVNTV09SRF9TVE9SQUdFX1NJWkUgIDY1DQogDQogI2RlZmluZSBFQVBfSURFTlRJ VFlfTEVOICAgNjMNCiAjZGVmaW5lIEVBUF9JREVOVElUWV9TSVpFICA2NA0KZGlmZiAtLWdpdCBh L05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJp dmVyLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlv bk1nckRyaXZlci5jDQppbmRleCA2N2EwMWNhMDU4Li45N2NhN2E5ZjBiIDEwMDY0NA0KLS0tIGEv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2 ZXIuYw0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5l Y3Rpb25NZ3JEcml2ZXIuYw0KQEAgLTEsNyArMSw3IEBADQogLyoqIEBmaWxlDQogICBUaGUgZHJp dmVyIGJpbmRpbmcgcHJvdG9jb2wgZm9yIHRoZSBXaUZpIENvbm5lY3Rpb24gTWFuYWdlci4NCiAN Ci0gIENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KKyAgQ29weXJpZ2h0IChjKSAyMDE5IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgDQorIHJlc2VydmVkLjxCUj4NCiANCiAgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQogDQpAQCAtMzksNiArMzksMTEgQEAgRUZJX0dV SUQgIG1XaWZpQ29uZmlnTmV0d29ya0xpc3RSZWZyZXNoR3VpZCA9IFdJRklfQ09ORklHX05FVFdP UktfTElTVF9SRUZSRVNIX0cNCiBFRklfR1VJRCAgbVdpZmlDb25maWdDb25uZWN0Rm9ybVJlZnJl c2hHdWlkID0gV0lGSV9DT05GSUdfQ09OTkVDVF9GT1JNX1JFRlJFU0hfR1VJRDsNCiBFRklfR1VJ RCAgbVdpZmlDb25maWdNYWluRm9ybVJlZnJlc2hHdWlkICAgID0gV0lGSV9DT05GSUdfTUFJTl9G T1JNX1JFRlJFU0hfR1VJRDsNCiANCisvLw0KKy8vIFdpZmkgY29ubmVjdGlvbiBhdHRlbXB0IGNv dW50ZXIgZm9yIHJldHJpZXMgLy8gZXh0ZXJuIFVJTlQ4IA0KK21XaWZpQ29ubmVjdGlvbkNvdW50 Ow0KKw0KIC8qKg0KICAgVGVzdHMgdG8gc2VlIGlmIHRoaXMgZHJpdmVyIHN1cHBvcnRzIGEgZ2l2 ZW4gY29udHJvbGxlci4gSWYgYSBjaGlsZCBkZXZpY2UgaXMgcHJvdmlkZWQsDQogICBpdCBmdXJ0 aGVyIHRlc3RzIHRvIHNlZSBpZiB0aGlzIGRyaXZlciBzdXBwb3J0cyBjcmVhdGluZyBhIGhhbmRs ZSBmb3IgdGhlIHNwZWNpZmllZCBjaGlsZCBkZXZpY2UuDQpAQCAtMTY3LDggKzE3MiwxMCBAQCBX aWZpTWdyRHhlRHJpdmVyQmluZGluZ1N0YXJ0ICgNCiAgIEVGSV9XSVJFTEVTU19NQUNfQ09OTkVD VElPTl9JSV9QUk9UT0NPTCAgKldtcDsNCiAgIEVGSV9TVVBQTElDQU5UX1BST1RPQ09MICAgICAg ICAgICAgICAgICAgKlN1cHBsaWNhbnQ7DQogICBFRklfRUFQX0NPTkZJR1VSQVRJT05fUFJPVE9D T0wgICAgICAgICAgICpFYXBDb25maWc7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9D T0wgICAgICAgICAgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsNCiANCi0gIE5pYyA9IE5VTEw7 DQorICBtV2lmaUNvbm5lY3Rpb25Db3VudCA9IDA7DQorICBOaWMgICAgICAgICAgICAgICAgICA9 IE5VTEw7DQogDQogICAvLw0KICAgLy8gT3BlbiBQcm90b2NvbHMNCkBAIC0yMzYsNDcgKzI0Myw3 MyBAQCBXaWZpTWdyRHhlRHJpdmVyQmluZGluZ1N0YXJ0ICgNCiAgIEluaXRpYWxpemVMaXN0SGVh ZCAoJk5pYy0+UHJvZmlsZUxpc3QpOw0KIA0KICAgLy8NCi0gIC8vIFJlY29yZCB0aGUgTUFDIGFk ZHJlc3Mgb2YgdGhlIGluY29taW5nIE5JQy4NCisgIC8vIFdpRmkgcHJvZmlsZSBzeW5jIHByb3Rv Y29sIGluc3RhbGxhdGlvbiBjaGVjayBmb3IgT1MgcmVjb3ZlcnkgZmxvdy4NCiAgIC8vDQotICBT dGF0dXMgPSBOZXRMaWJHZXRNYWNBZGRyZXNzICgNCi0gICAgICAgICAgICAgQ29udHJvbGxlckhh bmRsZSwNCi0gICAgICAgICAgICAgKEVGSV9NQUNfQUREUkVTUyAqKSZOaWMtPk1hY0FkZHJlc3Ms DQotICAgICAgICAgICAgICZBZGRyZXNzU2l6ZQ0KLSAgICAgICAgICAgICApOw0KLSAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KLSAgICBnb3RvIEVSUk9SMjsNCi0gIH0NCi0NCi0gIC8vDQot ICAvLyBDcmVhdGUgYW5kIHN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHN0YXR1cyBjaGVjaw0KLSAg Ly8NCi0gIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZlbnQgKA0KLSAgICAgICAgICAgICAgICAgIEVW VF9OT1RJRllfU0lHTkFMIHwgRVZUX1RJTUVSLA0KLSAgICAgICAgICAgICAgICAgIFRQTF9DQUxM QkFDSywNCi0gICAgICAgICAgICAgICAgICBXaWZpTWdyT25UaW1lclRpY2ssDQotICAgICAgICAg ICAgICAgICAgTmljLA0KLSAgICAgICAgICAgICAgICAgICZOaWMtPlRpY2tUaW1lcg0KKyAgU3Rh dHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQorICAgICAgICAgICAgICAgICAgJmdFZmlXaUZp UHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsDQorICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAg ICAgICAgICAgICAgICAoVk9JRCAqKikmV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wNCiAgICAgICAg ICAgICAgICAgICApOw0KLSAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KLSAgICBnb3RvIEVS Uk9SMjsNCi0gIH0NCisgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIE5pYy0+Q29u bmVjdFBlbmRpbmdOZXR3b3JrID0gKFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAqKUFsbG9jYXRl WmVyb1Bvb2wgKHNpemVvZiAoV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFKSk7DQorICAgIGlmIChO aWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayA9PSBOVUxMKSB7DQorICAgICAgU3RhdHVzID0gRUZJ X09VVF9PRl9SRVNPVVJDRVM7DQorICAgICAgZ290byBFUlJPUjE7DQorICAgIH0NCiANCi0gIFN0 YXR1cyA9IGdCUy0+U2V0VGltZXIgKE5pYy0+VGlja1RpbWVyLCBUaW1lclBlcmlvZGljLCBFRklf VElNRVJfUEVSSU9EX01JTExJU0VDT05EUyAoNTAwKSk7DQotICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQotICAgIGdvdG8gRVJST1IzOw0KLSAgfQ0KKyAgICBXaUZpUHJvZmlsZVN5bmNQcm90 b2NvbC0+V2lmaVByb2ZpbGVTeW5jR2V0UHJvZmlsZSAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdv cmssIE5pYy0+TWFjQWRkcmVzcyk7DQorICAgIGlmIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29y ayAhPSBOVUxMKSB7DQorICAgICAgU3RhdHVzID0gV2lmaU1nckNvbm5lY3RUb05ldHdvcmsgKE5p YywgTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmspOw0KKyAgICAgIGlmIChFRklfRVJST1IgKFN0 YXR1cykpIHsNCisgICAgICAgIFdpRmlQcm9maWxlU3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5 bmNTZXRDb25uZWN0U3RhdGUgKFN0YXR1cyk7DQorICAgICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAg ICAgIGdvdG8gRVJST1IxOw0KKyAgICB9DQorICB9IGVsc2Ugew0KKyAgICAvLw0KKyAgICAvLyBS ZWNvcmQgdGhlIE1BQyBhZGRyZXNzIG9mIHRoZSBpbmNvbWluZyBOSUMuDQorICAgIC8vDQorICAg IFN0YXR1cyA9IE5ldExpYkdldE1hY0FkZHJlc3MgKA0KKyAgICAgICAgICAgICAgIENvbnRyb2xs ZXJIYW5kbGUsDQorICAgICAgICAgICAgICAgKEVGSV9NQUNfQUREUkVTUyAqKSZOaWMtPk1hY0Fk ZHJlc3MsDQorICAgICAgICAgICAgICAgJkFkZHJlc3NTaXplDQorICAgICAgICAgICAgICAgKTsN CisgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgIGdvdG8gRVJST1IyOw0KKyAg ICB9DQogDQotICBOaWMtPkNvbm5lY3RTdGF0ZSA9IFdpZmlNZ3JEaXNjb25uZWN0ZWQ7DQotICBO aWMtPlNjYW5TdGF0ZSAgICA9IFdpZmlNZ3JTY2FuRmluaXNoZWQ7DQorICAgIC8vDQorICAgIC8v IENyZWF0ZSBhbmQgc3RhcnQgdGhlIHRpbWVyIGZvciB0aGUgc3RhdHVzIGNoZWNrDQorICAgIC8v DQorICAgIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZlbnQgKA0KKyAgICAgICAgICAgICAgICAgICAg RVZUX05PVElGWV9TSUdOQUwgfCBFVlRfVElNRVIsDQorICAgICAgICAgICAgICAgICAgICBUUExf Q0FMTEJBQ0ssDQorICAgICAgICAgICAgICAgICAgICBXaWZpTWdyT25UaW1lclRpY2ssDQorICAg ICAgICAgICAgICAgICAgICBOaWMsDQorICAgICAgICAgICAgICAgICAgICAmTmljLT5UaWNrVGlt ZXINCisgICAgICAgICAgICAgICAgICAgICk7DQorICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykp IHsNCisgICAgICBnb3RvIEVSUk9SMjsNCisgICAgfQ0KIA0KLSAgT2xkVHBsID0gZ0JTLT5SYWlz ZVRQTCAoVFBMX0NBTExCQUNLKTsNCi0gIEluc2VydFRhaWxMaXN0ICgmbVByaXZhdGUtPk5pY0xp c3QsICZOaWMtPkxpbmspOw0KLSAgTmljLT5OaWNJbmRleCA9IG1Qcml2YXRlLT5OaWNDb3VudCsr Ow0KLSAgaWYgKG1Qcml2YXRlLT5DdXJyZW50TmljID09IE5VTEwpIHsNCi0gICAgbVByaXZhdGUt PkN1cnJlbnROaWMgPSBOaWM7DQotICB9DQorICAgIFN0YXR1cyA9IGdCUy0+U2V0VGltZXIgKE5p Yy0+VGlja1RpbWVyLCBUaW1lclBlcmlvZGljLCBFRklfVElNRVJfUEVSSU9EX01JTExJU0VDT05E UyAoNTAwKSk7DQorICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICBnb3RvIEVS Uk9SMzsNCisgICAgfQ0KIA0KLSAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KKyAgICBOaWMt PkNvbm5lY3RTdGF0ZSA9IFdpZmlNZ3JEaXNjb25uZWN0ZWQ7DQorICAgIE5pYy0+U2NhblN0YXRl ICAgID0gV2lmaU1nclNjYW5GaW5pc2hlZDsNCisNCisgICAgT2xkVHBsID0gZ0JTLT5SYWlzZVRQ TCAoVFBMX0NBTExCQUNLKTsNCisgICAgSW5zZXJ0VGFpbExpc3QgKCZtUHJpdmF0ZS0+TmljTGlz dCwgJk5pYy0+TGluayk7DQorICAgIE5pYy0+TmljSW5kZXggPSBtUHJpdmF0ZS0+TmljQ291bnQr KzsNCisgICAgaWYgKG1Qcml2YXRlLT5DdXJyZW50TmljID09IE5VTEwpIHsNCisgICAgICBtUHJp dmF0ZS0+Q3VycmVudE5pYyA9IE5pYzsNCisgICAgfQ0KKw0KKyAgICBnQlMtPlJlc3RvcmVUUEwg KE9sZFRwbCk7DQorICB9DQogDQogICBTdGF0dXMgPSBnQlMtPkluc3RhbGxQcm90b2NvbEludGVy ZmFjZSAoDQogICAgICAgICAgICAgICAgICAgJkNvbnRyb2xsZXJIYW5kbGUsDQpAQCAtMzg1LDEw ICs0MTgsMTEgQEAgV2lmaU1nckR4ZURyaXZlckJpbmRpbmdTdG9wICgNCiAgIElOIEVGSV9IQU5E TEUgICAgICAgICAgICAgICAgICAgKkNoaWxkSGFuZGxlQnVmZmVyIE9QVElPTkFMDQogICApDQog ew0KLSAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgU3RhdHVzOw0KLSAgRUZJX1RQTCAgICAg ICAgICAgICAgICAgICAgT2xkVHBsOw0KLSAgV0lGSV9NR1JfUFJJVkFURV9QUk9UT0NPTCAgKldp ZmlNZ3JJZGVudGlmaWVyOw0KLSAgV0lGSV9NR1JfREVWSUNFX0RBVEEgICAgICAgKk5pYzsNCisg IEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgRUZJX1RQTCAgICAg ICAgICAgICAgICAgICAgICAgICBPbGRUcGw7DQorICBXSUZJX01HUl9QUklWQVRFX1BST1RPQ09M ICAgICAgICpXaWZpTWdySWRlbnRpZmllcjsNCisgIFdJRklfTUdSX0RFVklDRV9EQVRBICAgICAg ICAgICAgKk5pYzsNCisgIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9m aWxlU3luY1Byb3RvY29sOw0KIA0KICAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2wgKA0KICAg ICAgICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUsDQpAQCAtNDgxLDcgKzUxNSwxNSBAQCBX aWZpTWdyRHhlRHJpdmVyQmluZGluZ1N0b3AgKA0KICAgLy8NCiAgIE9sZFRwbCA9IGdCUy0+UmFp c2VUUEwgKFRQTF9DQUxMQkFDSyk7DQogDQotICBSZW1vdmVFbnRyeUxpc3QgKCZOaWMtPkxpbmsp Ow0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQorICAgICAgICAgICAgICAgICAg JmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsDQorICAgICAgICAgICAgICAgICAgTlVM TCwNCisgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wN CisgICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAg ICBSZW1vdmVFbnRyeUxpc3QgKCZOaWMtPkxpbmspOw0KKyAgfQ0KKw0KICAgbVByaXZhdGUtPk5p Y0NvdW50LS07DQogICBpZiAobVByaXZhdGUtPkN1cnJlbnROaWMgPT0gTmljKSB7DQogICAgIG1Q cml2YXRlLT5DdXJyZW50TmljID0gTlVMTDsNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dpZmlD b25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckR4ZS5oIGIvTmV0d29ya1BrZy9X aWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEeGUuaA0KaW5kZXggN2Iy ZTQxZTE1NS4uMDQ3Zjg1ZGJjMiAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rp b25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHhlLmgNCisrKyBiL05ldHdvcmtQa2cvV2lm aUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHhlLmgNCkBAIC00Nyw2ICs0 Nyw3IEBADQogI2luY2x1ZGUgPFByb3RvY29sL1NpbXBsZU5ldHdvcmsuaD4NCiAjaW5jbHVkZSA8 UHJvdG9jb2wvU2ltcGxlRmlsZVN5c3RlbS5oPg0KICNpbmNsdWRlIDxQcm90b2NvbC9FYXBDb25m aWd1cmF0aW9uLmg+DQorI2luY2x1ZGUgPFByb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29s Lmg+DQogDQogLy8NCiAvLyBQcm9kdWNlZCBQcm90b2NvbHMNCkBAIC03Myw3ICs3NCw4IEBADQog Ly8NCiAjZGVmaW5lIFdJRklfTUdSX0RYRV9WRVJTSU9OICAweGINCiANCi0jZGVmaW5lIE9VSV9J RUVFXzgwMjExSSAgMHhBQzBGMDANCisjZGVmaW5lIE9VSV9JRUVFXzgwMjExSSAgICAgICAgICAg ICAgMHhBQzBGMDANCisjZGVmaW5lIE1BWF9XSUZJX0NPTk5FVElPTl9BVFRFTVBUUyAgMw0KIA0K IHR5cGVkZWYgZW51bSB7DQogICBJZWVlODAyMTFQYWlyd2lzZUNpcGhlclN1aXRlVXNlR3JvdXBD aXBoZXJTdWl0ZSA9IDAsIGRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFu YWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckltcGwuYyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rp b25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdySW1wbC5jDQppbmRleCA1OWJhYzQ4YzQyLi5h NzNhYjlmNzEwIDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJE eGUvV2lmaUNvbm5lY3Rpb25NZ3JJbXBsLmMNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rp b25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdySW1wbC5jDQpAQCAtMTksNiArMTksOCBAQCBF RklfRUFQX1RZUEUgIG1FYXBTZWNvbmRBdXRoTWV0aG9kW10gPSB7DQogICBFRklfRUFQX1RZUEVf TVNDSEFQVjINCiB9Ow0KIA0KK1VJTlQ4ICBtV2lmaUNvbm5lY3Rpb25Db3VudCA9IDA7DQorDQog LyoqDQogICBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIHNjYW4gb3BlcmF0aW9uLiBUaGlzIGZ1 bmN0aW9uIHVwZGF0ZXMgbmV0d29ya3MNCiAgIGFjY29yZGluZyB0byB0aGUgbGF0ZXN0IHNjYW4g cmVzdWx0LCBhbmQgdHJpZ2dlciBVSSByZWZyZXNoLg0KQEAgLTQyNCwxOCArNDI2LDI2IEBAIFdp ZmlNZ3JDb25maWdQYXNzd29yZCAoDQogICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KICAgfQ0K IA0KLSAgQXNjaWlQYXNzd29yZCA9IEFsbG9jYXRlWmVyb1Bvb2wgKChTdHJMZW4gKFByb2ZpbGUt PlBhc3N3b3JkKSArIDEpICogc2l6ZW9mIChVSU5UOCkpOw0KKyAgaWYgKFN0ckxlbiAoUHJvZmls ZS0+UGFzc3dvcmQpID49IFBBU1NXT1JEX1NUT1JBR0VfU0laRSkgew0KKyAgICBBU1NFUlQgKEVG SV9JTlZBTElEX1BBUkFNRVRFUik7DQorICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7 DQorICB9DQorDQorICBBc2NpaVBhc3N3b3JkID0gQWxsb2NhdGVaZXJvUG9vbCAoKFN0ckxlbiAo UHJvZmlsZS0+UGFzc3dvcmQpICsgMSkgKiANCisgc2l6ZW9mIChDSEFSOCkpOw0KICAgaWYgKEFz Y2lpUGFzc3dvcmQgPT0gTlVMTCkgew0KICAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7 DQogICB9DQogDQotICBVbmljb2RlU3RyVG9Bc2NpaVN0clMgKFByb2ZpbGUtPlBhc3N3b3JkLCAo Q0hBUjggKilBc2NpaVBhc3N3b3JkLCBQQVNTV09SRF9TVE9SQUdFX1NJWkUpOw0KLSAgU3RhdHVz ID0gU3VwcGxpY2FudC0+U2V0RGF0YSAoDQotICAgICAgICAgICAgICAgICAgICAgICAgIFN1cHBs aWNhbnQsDQotICAgICAgICAgICAgICAgICAgICAgICAgIEVmaVN1cHBsaWNhbnQ4MDIxMVBza1Bh c3N3b3JkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBBc2NpaVBhc3N3b3JkLA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgKyAxKSAqIHNp emVvZiAoVUlOVDgpDQotICAgICAgICAgICAgICAgICAgICAgICAgICk7DQorICBTdGF0dXMgPSBV bmljb2RlU3RyVG9Bc2NpaVN0clMgKFByb2ZpbGUtPlBhc3N3b3JkLCAoQ0hBUjggDQorICopQXNj aWlQYXNzd29yZCwgKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkpOyAgaWYgKCFFRklf RVJST1IgKFN0YXR1cykpIHsNCisgICAgU3RhdHVzID0gU3VwcGxpY2FudC0+U2V0RGF0YSAoDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VwcGxpY2FudCwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBFZmlTdXBwbGljYW50ODAyMTFQc2tQYXNzd29yZCwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBBc2NpaVBhc3N3b3JkLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg IChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSArIDEpICogc2l6ZW9mIChDSEFSOCkNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAgfQ0KKw0KICAgWmVyb01lbSAoQXNjaWlQYXNz d29yZCwgQXNjaWlTdHJMZW4gKChDSEFSOCAqKUFzY2lpUGFzc3dvcmQpICsgMSk7DQogICBGcmVl UG9vbCAoQXNjaWlQYXNzd29yZCk7DQogDQpAQCAtNDY2LDYgKzQ3Niw3IEBAIFdpZmlNZ3JDb25m aWdFYXAgKA0KICAgKQ0KIHsNCiAgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3Rh dHVzOw0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5j UHJvdG9jb2w7DQogICBFRklfRUFQX0NPTkZJR1VSQVRJT05fUFJPVE9DT0wgICpFYXBDb25maWc7 DQogICBFRklfRUFQX1RZUEUgICAgICAgICAgICAgICAgICAgIEVhcEF1dGhNZXRob2Q7DQogICBF RklfRUFQX1RZUEUgICAgICAgICAgICAgICAgICAgIEVhcFNlY29uZEF1dGhNZXRob2Q7DQpAQCAt NTY3LDcgKzU3OCwxMyBAQCBXaWZpTWdyQ29uZmlnRWFwICgNCiAgICAgICByZXR1cm4gRUZJX09V VF9PRl9SRVNPVVJDRVM7DQogICAgIH0NCiANCi0gICAgVW5pY29kZVN0clRvQXNjaWlTdHJTIChQ cm9maWxlLT5FYXBJZGVudGl0eSwgSWRlbnRpdHksIElkZW50aXR5U2l6ZSk7DQorICAgIFN0YXR1 cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlk LCBOVUxMLCAoVk9JRCAqKikmV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wpOw0KKyAgICBpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgIENvcHlNZW0gKElkZW50aXR5LCAmUHJvZmlsZS0+ RWFwSWRlbnRpdHksIElkZW50aXR5U2l6ZSk7DQorICAgIH0gZWxzZSB7DQorICAgICAgVW5pY29k ZVN0clRvQXNjaWlTdHJTIChQcm9maWxlLT5FYXBJZGVudGl0eSwgSWRlbnRpdHksIElkZW50aXR5 U2l6ZSk7DQorICAgIH0NCisNCiAgICAgU3RhdHVzID0gRWFwQ29uZmlnLT5TZXREYXRhICgNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVhcENvbmZpZywNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVGSV9FQVBfVFlQRV9JREVOVElUWSwgQEAgLTg5Miw2ICs5MDksMTMzIEBAIFdpZmlN Z3JQcmVwYXJlQ29ubmVjdGlvbiAoDQogICByZXR1cm4gRUZJX1NVQ0NFU1M7DQogfQ0KIA0KKy8q Kg0KKyAgV2lsbCByZXNldCBOaUMgZGF0YSwgZ2V0IHByb2ZpbGUgZnJvbSBwcm9maWxlIHN5bmMg ZHJpdmVyLCBhbmQgc2VuZCANCitmb3INCisgIGFub3RoZXIgY29ubmVjdGlvbiBhdHRlbXB0LlRo aXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgbW9yZSANCit0aGFuDQorICAzIHRpbWVz Lg0KKw0KKyAgQHBhcmFtW2luXSAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wgIFRoZSB0YXJnZXQg bmV0d29yayBwcm9maWxlIHRvIGNvbm5lY3QuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQuDQorICBAcmV0dmFsIG90 aGVyICAgICAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uIGZhaWx1cmUuDQorDQorKiovDQor RUZJX1NUQVRVUw0KK0Nvbm5lY3Rpb25SZXRyeSAoDQorICBJTiAgIEVGSV9XSUZJX1BST0ZJTEVf U1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxlU3luY1Byb3RvY29sDQorICApDQorew0KKyAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBXSUZJX01H Ul9ERVZJQ0VfREFUQSAgICAgICAgICAgICAgICAgICAgICpOaWM7DQorICBFRklfV0lSRUxFU1Nf TUFDX0NPTk5FQ1RJT05fSUlfUFJPVE9DT0wgICpXbXA7DQorICBFRklfU1VQUExJQ0FOVF9QUk9U T0NPTCAgICAgICAgICAgICAgICAgICpTdXBwbGljYW50Ow0KKyAgRUZJX0VBUF9DT05GSUdVUkFU SU9OX1BST1RPQ09MICAgICAgICAgICAqRWFwQ29uZmlnOw0KKw0KKyAgTmljID0gTlVMTDsNCisN CisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZn RWZpV2lGaTJQcm90b2NvbEd1aWQsDQorICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAg ICAgICAgICAgICAoVk9JRCAqKikmV21wDQorICAgICAgICAgICAgICAgICAgKTsNCisgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCisgIFN0 YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpU3Vw cGxpY2FudFByb3RvY29sR3VpZCwNCisgICAgICAgICAgICAgICAgICBOVUxMLA0KKyAgICAgICAg ICAgICAgICAgIChWT0lEICoqKSZTdXBwbGljYW50DQorICAgICAgICAgICAgICAgICAgKTsNCisg IGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgU3VwcGxpY2FudCA9IE5VTEw7DQorICB9 DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAg ICAmZ0VmaUVhcENvbmZpZ3VyYXRpb25Qcm90b2NvbEd1aWQsDQorICAgICAgICAgICAgICAgICAg TlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmRWFwQ29uZmlnDQorICAgICAgICAg ICAgICAgICAgKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgRWFwQ29uZmln ID0gTlVMTDsNCisgIH0NCisNCisgIC8vDQorICAvLyBJbml0aWFsaXplIE5pYyBkZXZpY2UgZGF0 YQ0KKyAgLy8NCisgIE5pYyA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAoV0lGSV9NR1JfREVW SUNFX0RBVEEpKTsgIGlmIChOaWMgPT0NCisgTlVMTCkgew0KKyAgICBTdGF0dXMgPSBFRklfT1VU X09GX1JFU09VUkNFUzsNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCisgIE5pYy0+U2ln bmF0dXJlICAgICAgICAgICA9IFdJRklfTUdSX0RFVklDRV9EQVRBX1NJR05BVFVSRTsNCisgIE5p Yy0+UHJpdmF0ZSAgICAgICAgICAgICA9IG1Qcml2YXRlOw0KKyAgTmljLT5XbXAgICAgICAgICAg ICAgICAgID0gV21wOw0KKyAgTmljLT5TdXBwbGljYW50ICAgICAgICAgID0gU3VwcGxpY2FudDsN CisgIE5pYy0+RWFwQ29uZmlnICAgICAgICAgICA9IEVhcENvbmZpZzsNCisgIE5pYy0+VXNlclNl bGVjdGVkUHJvZmlsZSA9IE5VTEw7DQorICBOaWMtPk9uZVRpbWVTY2FuUmVxdWVzdCAgPSBGQUxT RTsNCisNCisgIGlmIChOaWMtPlN1cHBsaWNhbnQgIT0gTlVMTCkgew0KKyAgICBTdGF0dXMgPSBX aWZpTWdyR2V0U3VwcG9ydGVkU3VpdGVzIChOaWMpOyAgfQ0KKw0KKyAgaWYgKCFFRklfRVJST1Ig KFN0YXR1cykpIHsNCisgICAgSW5pdGlhbGl6ZUxpc3RIZWFkICgmTmljLT5Qcm9maWxlTGlzdCk7 DQorDQorICAgIE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrID0gKFdJRklfTUdSX05FVFdPUktf UFJPRklMRSAqKUFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAoV0lGSV9NR1JfTkVUV09SS19QUk9G SUxFKSk7DQorICAgIGlmIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayA9PSBOVUxMKSB7DQor ICAgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQorICAgICAgREVCVUcgKChERUJV R19FUlJPUiwgIltXaUZpIENvbm5lY3Rpb24gTWFuYWdlcl0gRmFpbGVkIHRvIGFsbG9jYXRlIG1l bW9yeSBmb3IgQ29ubmVjdFBlbmRpbmdOZXR3b3JrXG4iKSk7DQorICAgICAgZ290byBFUlJPUjsN CisgICAgfQ0KKw0KKyAgICBTdGF0dXMgPSBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVBy b2ZpbGVTeW5jR2V0UHJvZmlsZSAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmssIE5pYy0+TWFj QWRkcmVzcyk7DQorICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpICYmIChOaWMtPkNvbm5lY3RQ ZW5kaW5nTmV0d29yayAhPSBOVUxMKSkgew0KKyAgICAgIFN0YXR1cyA9IFdpZmlNZ3JDb25uZWN0 VG9OZXR3b3JrIChOaWMsIE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrKTsNCisgICAgICBpZiAo IUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgICAgcmV0dXJuIFN0YXR1czsNCisgICAgICB9 DQorICAgIH0gZWxzZSB7DQorICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIltXaUZpIENvbm5l Y3Rpb24gTWFuYWdlcl0gRmFpbGVkIHRvIGdldCBXaUZpIHByb2ZpbGUgd2l0aCBzdGF0dXMgJXJc biIsIFN0YXR1cykpOw0KKyAgICB9DQorICB9IGVsc2Ugew0KKyAgICBERUJVRyAoKERFQlVHX0VS Uk9SLCAiW1dpRmkgQ29ubmVjdGlvbiBNYW5hZ2VyXSBGYWlsZWQgdG8gZ2V0IA0KKyBTdXBwb3J0 ZWQgc3VpdGVzIHdpdGggc3RhdHVzICVyXG4iLCBTdGF0dXMpKTsgIH0NCisNCisgIGlmIChOaWMt PkNvbm5lY3RQZW5kaW5nTmV0d29yayAhPSBOVUxMKSB7DQorICAgIGlmIChOaWMtPkNvbm5lY3RQ ZW5kaW5nTmV0d29yay0+TmV0d29yay5BS01TdWl0ZSAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBv b2wgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkFLTVN1aXRlKTsNCisgICAg fQ0KKw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5ldHdvcmsuQ2lwaGVy U3VpdGUgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQb29sIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0 d29yay0+TmV0d29yay5DaXBoZXJTdWl0ZSk7DQorICAgIH0NCisNCisgICAgRnJlZVBvb2wgKE5p Yy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrKTsgIH0NCisNCitFUlJPUjoNCisgIGlmIChOaWMtPlN1 cHBsaWNhbnQgIT0gTlVMTCkgew0KKyAgICBpZiAoTmljLT5TdXBwb3J0ZWRTdWl0ZXMuU3VwcG9y dGVkQUtNU3VpdGVzICE9IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5TdXBwb3J0ZWRT dWl0ZXMuU3VwcG9ydGVkQUtNU3VpdGVzKTsNCisgICAgfQ0KKw0KKyAgICBpZiAoTmljLT5TdXBw b3J0ZWRTdWl0ZXMuU3VwcG9ydGVkU3dDaXBoZXJTdWl0ZXMgIT0gTlVMTCkgew0KKyAgICAgIEZy ZWVQb29sIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRTd0NpcGhlclN1aXRlcyk7DQor ICAgIH0NCisNCisgICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEh3Q2lwaGVy U3VpdGVzICE9IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5TdXBwb3J0ZWRTdWl0ZXMu U3VwcG9ydGVkSHdDaXBoZXJTdWl0ZXMpOw0KKyAgICB9DQorICB9DQorDQorICBGcmVlUG9vbCAo TmljKTsNCisNCisgIHJldHVybiBTdGF0dXM7DQorfQ0KKw0KIC8qKg0KICAgVGhlIGNhbGxiYWNr IGZ1bmN0aW9uIGZvciBjb25uZWN0IG9wZXJhdGlvbi4NCiANCkBAIC05MDgsMTIgKzEwNTIsMTMg QEAgV2lmaU1nck9uQ29ubmVjdEZpbmlzaGVkICgNCiAgIElOICBWT0lEICAgICAgICpDb250ZXh0 DQogICApDQogew0KLSAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgU3RhdHVzOw0KLSAgV0lG SV9NR1JfTUFDX0NPTkZJR19UT0tFTiAgKkNvbmZpZ1Rva2VuOw0KLSAgV0lGSV9NR1JfTkVUV09S S19QUk9GSUxFICAgKkNvbm5lY3RlZFByb2ZpbGU7DQotICBVSU5UOCAgICAgICAgICAgICAgICAg ICAgICBTZWN1cml0eVR5cGU7DQotICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICBTU0lkTGVu Ow0KLSAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgKkFzY2lpU1NJZDsNCisgIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgV0lGSV9NR1JfTUFDX0NPTkZJR19U T0tFTiAgICAgICAqQ29uZmlnVG9rZW47DQorICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICAg ICAgICpDb25uZWN0ZWRQcm9maWxlOw0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAg ICBTZWN1cml0eVR5cGU7DQorICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTSWRM ZW47DQorICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICAgICAgICpBc2NpaVNTSWQ7DQorICBF RklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsN CiANCiAgIEFTU0VSVCAoQ29udGV4dCAhPSBOVUxMKTsNCiANCkBAIC05MjUsNiArMTA3MCwyNCBA QCBXaWZpTWdyT25Db25uZWN0RmluaXNoZWQgKA0KICAgQVNTRVJUIChDb25maWdUb2tlbi0+VHlw ZSA9PSBUb2tlblR5cGVDb25uZWN0TmV0d29ya1Rva2VuKTsNCiANCiAgIEFTU0VSVCAoQ29uZmln VG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3b3JrVG9rZW4gIT0gTlVMTCk7DQorDQorICBTdGF0dXMg PSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwg TlVMTCwgDQorIChWT0lEICoqKSZXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCk7ICBpZiAoIUVGSV9F UlJPUiAoU3RhdHVzKSkgew0KKyAgICBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2Zp bGVTeW5jU2V0Q29ubmVjdFN0YXRlIChDb25maWdUb2tlbi0+VG9rZW4uQ29ubmVjdE5ldHdvcmtU b2tlbi0+UmVzdWx0Q29kZSk7DQorICAgIGlmICgobVdpZmlDb25uZWN0aW9uQ291bnQgPCBNQVhf V0lGSV9DT05ORVRJT05fQVRURU1QVFMpICYmDQorICAgICAgICAoQ29uZmlnVG9rZW4tPlRva2Vu LkNvbm5lY3ROZXR3b3JrVG9rZW4tPlJlc3VsdENvZGUgIT0gQ29ubmVjdFN1Y2Nlc3MpKQ0KKyAg ICB7DQorICAgICAgbVdpZmlDb25uZWN0aW9uQ291bnQrKzsNCisgICAgICBnQlMtPkNsb3NlRXZl bnQgKEV2ZW50KTsNCisgICAgICBTdGF0dXMgPSBDb25uZWN0aW9uUmV0cnkgKFdpRmlQcm9maWxl U3luY1Byb3RvY29sKTsNCisgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAg ICAgcmV0dXJuOw0KKyAgICAgIH0NCisNCisgICAgICBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+ V2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0YXRlIChTdGF0dXMpOw0KKyAgICB9DQorICB9DQor DQogICBpZiAoQ29uZmlnVG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3b3JrVG9rZW4tPlN0YXR1cyAh PSBFRklfU1VDQ0VTUykgew0KICAgICBpZiAoQ29uZmlnVG9rZW4tPk5pYy0+T25lVGltZUNvbm5l Y3RSZXF1ZXN0KSB7DQogICAgICAgLy8NCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dpZmlDb25u ZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYyBiL05ldHdvcmtQa2cvV2lm aUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyTWlzYy5jDQppbmRleCA0YWQ1 NjQzYzI0Li44N2FkZmM1MDMzIDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlv bk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JNaXNjLmMNCisrKyBiL05ldHdvcmtQa2cvV2lm aUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyTWlzYy5jDQpAQCAtNjcyLDEw ICs2NzIsMjMgQEAgV2lmaU1nckNsZWFuUHJvZmlsZVNlY3JldHMgKA0KICAgSU4gIFdJRklfTUdS X05FVFdPUktfUFJPRklMRSAgKlByb2ZpbGUNCiAgICkNCiB7DQorICBFRklfU1RBVFVTICAgICAg ICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NP TCAgKldpRmlQcm9maWxlU3luY1Byb3RvY29sOw0KKw0KICAgWmVyb01lbSAoUHJvZmlsZS0+UGFz c3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NXT1JEX1NUT1JBR0VfU0laRSk7DQogICBaZXJv TWVtIChQcm9maWxlLT5FYXBQYXNzd29yZCwgc2l6ZW9mIChDSEFSMTYpICogUEFTU1dPUkRfU1RP UkFHRV9TSVpFKTsNCiAgIFplcm9NZW0gKFByb2ZpbGUtPlByaXZhdGVLZXlQYXNzd29yZCwgc2l6 ZW9mIChDSEFSMTYpICogUEFTU1dPUkRfU1RPUkFHRV9TSVpFKTsNCiANCisgIC8vDQorICAvLyAg V2hlbiBFRkkgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgaXMgZm91bmQgdGhlIHN5c3RlbSBp cyANCisgcGVyZm9ybWluZyBhIHJlY292ZXJ5IGJvb3QgaW4gc2VjdXJlICAvLyAgYm9vdCBtb2Rl LiBUaGUgcHJvZmlsZSBzeW5jIA0KKyBkcml2ZXIgd2lsbCBtYW5hZ2UgdGhlIENBIGNlcnRpZmlj YXRlLCBjbGllbnQgY2VydGlmaWNhdGUsIGFuZCBrZXkgIC8vICBkYXRhLCBjbGVhbmluZyB0aGVt IGF0IGV4aXQgYm9vdCBzZXJ2aWNlcy4NCisgIC8vDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVBy b3RvY29sICgmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwgTlVMTCwgDQorIChWT0lE ICoqKSZXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCk7ICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KKyAgICByZXR1cm47DQorICB9DQorDQogICBpZiAoUHJvZmlsZS0+Q0FDZXJ0RGF0YSAhPSBO VUxMKSB7DQogICAgIFplcm9NZW0gKFByb2ZpbGUtPkNBQ2VydERhdGEsIFByb2ZpbGUtPkNBQ2Vy dFNpemUpOw0KICAgICBGcmVlUG9vbCAoUHJvZmlsZS0+Q0FDZXJ0RGF0YSk7DQotLQ0KMi4zNy4z LndpbmRvd3MuMQ0KDQoNCg0KDQoNCg0K