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.web08.9572.1667324504235996184 for ; Tue, 01 Nov 2022 10:41:44 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=LxHBXfKy; 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=1667324504; x=1698860504; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=w+hUHejFa2CVLL26o+NPVa2+p10m80EYxtGpcFKyPBU=; b=LxHBXfKyT7if2S4H/v0/9qYGsFUTIA/eH2l2HCTc5nLOwNKp+vg0x7Cc y9acBltkyJARBxgwym85ACpHLRldGqs29ZKzS0ybjo1xObdwPUoTMRXb3 lR4J0WiY/BKtBWEgAmDuy5VyOCCZeJ5oDjj6Cqca/n9ZaaxNg0Dr2cSky 5wY7x9MSmF5CCM9HGCldoprFdHL8JnkxZqNeJgTw0NJuEwxSAv2sPTp7n heZDuDytesUSuwFy0VsCpQOM1L9mRCTgZTsFBhSZUwQqcrupYtieZCYK2 a5namIk60bKIDD5kkIOhHjan71ZcOuWU0pmFPu6EeFxWLfAE9nisjBtcu Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="310908521" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="310908521" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 10:41:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="808978990" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="808978990" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga005.jf.intel.com with ESMTP; 01 Nov 2022 10:41:22 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) 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:41:22 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) 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:41:21 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) 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:41:21 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (192.55.55.68) 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:41:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aOtPwk0eiDhpIUq/P+JF4zjpFupbE+cloASgL3OkExuBAF+lKCT7qgQZIKls0bqYRL0fC4FoMDxchQVNdIQu1Ddcx9lF3QMn/NvbdIJGNdkURsgxDqr99Tv9GoCddyYIEQ8qDV43uosGzYaydlMN8bEGOpNsVzfh9JEsBOPOU3i4BlghTI9qV8rNnU/0sMM/uxT8wVHiq6p3qhUDOk5FQ+EM+Y5OtF4yuZrrQqAcG8sqX7XOCrOVItBchHlH/UsWaNJMx4aYC1HMiPQpYerxfgAG5cXh8AmTAqB3rCqgGaZRp2YmhYNmjvlAr4z3vkyY9aZSXP64XC6ql87C/6JM+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=w+hUHejFa2CVLL26o+NPVa2+p10m80EYxtGpcFKyPBU=; b=ebbzr6K2vw8dJk16jSmXx8VJWW+PsfXpyASP8LWHCoIYyWOz5PfrCW9mQ7UedcHcBn8QciBc0vziD6DzMmeoEy77FX+aeB0s8LAhVmvqZxU60kycjaaUBUDn8q9SMlywUykUqgW4Cjrp59tZQpIqJj0XxSlFWkdMQo3ynECzMYOkJVDQeX5a4/a7qWwOQ6trG/JcokhSG8OgZrwcm1lfexveAY/4UZoET2tTDkvwFOrnMUP1FKutI/ZbhsiqnZif03PY/iJup9g+Ek/5uQz9Z8yvkslzCI2T9CI+Bb50cCPIj8I4RK5siOjmtJVu/0vvDjxYeKpsvo9djZV8quFpXA== 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 CH0PR11MB5537.namprd11.prod.outlook.com (2603:10b6:610:d4::9) 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:41:19 +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:41:19 +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+4nENxEWJqUx5LJQFoa4iq1aAgAGR5jCAAADHwIAEq9RQgAAdggCAAVFMoIAABJAAgAAAR5A= Date: Tue, 1 Nov 2022 17:41:18 +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_|CH0PR11MB5537:EE_ x-ms-office365-filtering-correlation-id: 689ba821-1f10-420e-9e77-08dabc30489c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: z5mTVDXsGLzNalbVTqveSHr+FUkgTdTSc04K5eT1823jjX0m2B8WU6X9T+YAmqXCk4W7pU3lCyk+yVcAVCpx015PXlq+Fsaf1wtt4xDRmnN5Ui/SqvYH94TnN3pjx6fd8u8bzACsMhT5I0SEvB6uEKIzfJPU2GL9JfyS0m2/RWZdg97IF0vcA44RKSR8xjNfve6lJkNBZJFFyv+QOntS+Jv3/8UV2xY+rz2mCblifZY/XuTq2Az8C3IhX2xvUw79I4JYmPZA9OUYycbYUX8o1sWHEdiTfH23Ja4Cwd1ZYzNWFd6bZdWgqHgJ3LmqTw7AfZt0p19f2BSPEwZUs241X3zh214u9maQ63B8uXAMgOOgkSoqfm1nD6PSrgIDInlS0t/6y3/3uKa1h8OiN/jj7SL5p8Ye+ia+p9/Vc6nI63EtdmlytoRqGgpkLfUl/oi6yb1eC0+xJLd/XYqRQVg5bMGW/AEWuQS1CBv94CW057IhyjnN9qff1pwVNUeGejTlJzzM6qOozOS6QOdnFf3QJIp4JLppmKVHYalwd8ff/e/85IaTR6rdMfOElFKMlq/zgol/z+AlyXHW4XOpHjgEm6YL99INa2FrGQf1pVilm04KNR5wu+NsgmbSB9OxZgrUbFiMuGAf3Dl7P1se0LH0MU6tpmJbaZIUW65alIoL2M0W9PY5pMaA5d0Cev5VgKuVfP6PMxCcBpOpOyqleHhJPe6H/Lu3Tluw6kh38xLLcyJsX7pTR+WDO5F9J180qxLEiU23PwmHncIk4v6Ujz9+fptWAZT5q9494Tjxy5vpoLhhY66ApQZ0gcc/5skc1XGCEiJIAl9IkRSbVFCud0gASGpzyVyyaTyHWI1PT5F6JvROV7QyYz73OuBIHX+DDQmZ 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)(346002)(136003)(39860400002)(366004)(396003)(376002)(451199015)(9686003)(76116006)(71200400001)(30864003)(6506007)(7696005)(26005)(53546011)(55016003)(107886003)(478600001)(33656002)(52536014)(966005)(2906002)(5660300002)(6636002)(54906003)(19627235002)(8676002)(4326008)(110136005)(316002)(38070700005)(64756008)(66946007)(66556008)(66476007)(38100700002)(122000001)(86362001)(66446008)(66899015)(921005)(8936002)(82960400001)(83380400001)(41300700001)(186003)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N0pIU0Qyc0VrbnFqRlNlZ2VkdWRhNjcwNTdlVFJlczBUcVNselNDaGV1VXQ1?= =?utf-8?B?VjhyRXVUcGFhOTRhSmFldTFPVVNaQUdETWc3bjAwbHN4bkloV1U4cVhMNkZh?= =?utf-8?B?OEwrcmNCYk5HNWxEWHpCVEdRcU1oQ1N1NGtKNEpXbEs3aHNhSVMyMnJXNXdL?= =?utf-8?B?aC9GWGlxb2ZTWFdJMEtHVUl2MDQzbUtOTUw1dFl4RDlnajY3M1dzdVduSGgv?= =?utf-8?B?dmJtS3hBMWxpMVIxK2cxUVJVSVV3VTNkUm8yTjg4b0FKSWZBUVpmRHQ1WnNR?= =?utf-8?B?QUdmQzhaOUVhUnFSZkh5aXVXckhLdm12UEtxOThkTWl4SVVFaFRoY2cyeEF6?= =?utf-8?B?TW1TcVhPQ09yUFE2a2lkV3RySVU0UGFNVWl1bkFNNUptemFWUDJBYm9DNGor?= =?utf-8?B?dUpBaUpNbkh5azJiaDN1ZVFqL3pXUUY1UmViSjA1YUR4dVFtQnB3RnJub0Zj?= =?utf-8?B?WHpocVN3M3JqcjBtT2g5dlkvemNnWmlOWnBtS3VMNXRBQ3BHODJGczRwWmxq?= =?utf-8?B?aTgyZWc4TjA0eXVaTTkvbk4vN2o5c0pFMlVWTXh2cUU4U2Q1cHdZeXhoSm1W?= =?utf-8?B?azhsazMwdllvSlgwOFBtM2ZtMGt1bDJRUkVzOGtnT2hqV3JlVG1NRW84NzlU?= =?utf-8?B?N3lITzJHc1YwNDZHRVJmdmNZRHA3VU1JSGFNTnd6bFpLbWZ5RnhseG1KdVdj?= =?utf-8?B?UnV1cHh4ZzRVQWozYTM4MkdBeWJGTmgrbDl2cE5qVHZJYURselZIdmZjb1RE?= =?utf-8?B?Q25UN3ZoL3NsS0pFRUl3QUhnaVAya0sxbFRRc3JYajVHRCt2a1VLdGNyR29R?= =?utf-8?B?S0tkNExFL0cvaHZlTnJRNGpFMUhWVDBoaFdVNEg4ZHRpSWZFS05qaDRyRmRI?= =?utf-8?B?MjAvMVYya01Zcm43UXJranZObVovZFJGaktuRWEyOWxhclBaT0pDSDExbC9h?= =?utf-8?B?ZzdwbTNBaVA0WHFIK2srcG1yV3dhNU9lSFlXK2FPTjhCeTBQSFp1cGdkb0pE?= =?utf-8?B?WHVmTWh1eGJQMXdaUzhUMDZNZGFCRWtqQXE4TXJFc1E4bU5PcFpDaU1TSHkz?= =?utf-8?B?YzZadGRGeHhNekY3dTU1dU8ra05QL1pTcC95bnBXTU5aVnllY0QzeDUrMGd1?= =?utf-8?B?VjFlcjZTaW9IcmZmSGZ3c2JjeTgvUG4ydGxPVytxdkNWZ2xOQURLMkowS3Yw?= =?utf-8?B?blJVc1J0T1Vod3IxTHVaQlpZT2F2eXRTNElreGowZ0NpWmNscW0vS0pwVFhp?= =?utf-8?B?SmIvT3dZcFYweThTaXJDQmtQK2pMTlFRVFF1d3dyMkNZV1ZINi9SdXRqczha?= =?utf-8?B?cEp1QXRySEl3dmVTa0I2MjNWVmFCelFhRWVZUy9UaUd4ZmlWd1J1VnBEN3oz?= =?utf-8?B?dWIyZlFSMG1hM1dXOEZyUjRONW5MSXJqSGJaT2VKKytaNmo1OHFTWU05MXlp?= =?utf-8?B?SHE1cGlsWnpQQXQwbTN3MkZ3TGZnSWVKNVQ3cUc4WlpGTkZHWlFZZjJ5RmhF?= =?utf-8?B?bkxYdUhucW9GL2UxbE44QXNjVkxnZytraGdOWUpGcHQyTUV4bHNPWWM3M0Qw?= =?utf-8?B?VFpEbHlKcVB6WFZpdC9KWkJLNytESG8wWEpjbFZ2TUQ1K0wzTE1aTzk1dlI3?= =?utf-8?B?bmtjQnV5UFJVV1JDejd4akxqVHhFTDc5dksrMFhHT3JFa09yZGlHYWl1UWdS?= =?utf-8?B?ZFBocFowREtqRVcxSTZKN3B0NVpnNjVGeHZaZjVmV0ZlSjc2cDhQeDhzaDVv?= =?utf-8?B?dWFZNU42RWE4QnN2S2g4VVpHTHNoUnRQbklxYW9kZkErc3R6MEJXU0VEd2Rp?= =?utf-8?B?dmd1djRSZVRGQkpVR1VmOXJqUXZxQmxETkJIdytQSVpNUkgvNUVvbGdZSVcx?= =?utf-8?B?WjFodjJrTm1YWFlyYUFUVlV6M294eVJDOTVKR2NyZkZaNTdLYnlURGlyV1Vv?= =?utf-8?B?OWExNGpscmg4NHJoNHkwckU4NTEyYUt1enhtbGpEUHZweVFzSTgreDdCSW5a?= =?utf-8?B?R29jeVJKRkdKeG9HdStxZVk4NmdJKy9CMGhuMnNhcWh0YkM1QW9UalRDTDhy?= =?utf-8?B?akE1eXdiRUNaRUVtTlo5dmhObjBUeUJVam5wTVVKeTFFcEhSNm1MT3YrcCtG?= =?utf-8?B?Q0pESVo1VXNpbUc2NUxaSVpVZ3QyTkNXU3FPKzl3enZtMXhlS0pIYVVRaFkz?= =?utf-8?Q?zIkIc2tcS1apN9t+JIf1yi0=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: 689ba821-1f10-420e-9e77-08dabc30489c X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2022 17:41:18.8553 (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: KkIzC8UOXU5U4aAGas1NH9wOH2FMghUAzp6Rh9/VbmDMGXjiYL0O3VVb3xlwDDLJwc0S1a0RWlzwnMqFAOpRnxoso0MtQubN/SCSNFkPWmJvKGNcUyF3+Ro3mKG4jgtv X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5537 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 R3JlYXQgdGhhbmsgeW91IFZpbmNlbnQsIEkgd2lsbCBhZGQgdGhlbSB0byB0aGUgcHJvdG9jb2wg aGVhZGVyIGZpbGUgYW5kIHNlbmQgYW4gdXBkYXRlZCBwYXRjaCB0b2RheS4NCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFppbW1lciwgVmluY2VudCA8dmluY2VudC56aW1tZXJA aW50ZWwuY29tPiANClNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDEsIDIwMjIgMTA6MzkgQU0NClRv OiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5j b20+OyBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcg PGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29t PjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNo YWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgV3UsIEppYXhp biA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5v dGNoZXJldGlhbnNraUBpbnRlbC5jb20+DQpDYzogQWxhcHBhdCwgUGF1bCA8cGF1bC5hbGFwcGF0 QGludGVsLmNvbT47IEthc2Jla2FyLCBTYWxvbmkgPHNhbG9uaS5rYXNiZWthckBpbnRlbC5jb20+ OyBQYXRpbCwgQWppdCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazIt ZGV2ZWxdIFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHBy b2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNClRoYXQncyBncmVhdA0KSWYgdGhlc2UgbGlu a3MgYXJlIG5vdCBhbHJlYWR5IGluIHRoZSAuaCBmaWxlcyBvZiB0aGUgcGF0Y2ggSSdkIGFkZCB0 aGVtLg0KVHlwaWNhbGx5IHRoZSB1ZWZpIG5ldHdvcmtpbmcgY29kZSBsZXZlcmFnZXMgdWVmaSBz cGVjIG9yIGlldGYgcmZjJ3Mgb3Igb3RoZXIgcHVibGljIGNvbGxhdGVyYWwuICBMZXR0aW5nIGZv bGtzIGtub3cgdGhlIGJhY2tncm91bmQgb2YgdGhlc2UgaW50ZXJmYWNlcyB3aXRoIGEgcmVmZXJl bmNlIHNob3VsZCBoZWxwIGNvbnN1bWVycyBJTUhPIFZpbmNlbnQNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJr LXdpbGxpYW1zQGludGVsLmNvbT4NClNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDEsIDIwMjIgMTA6 MzUgQU0NClRvOiBaaW1tZXIsIFZpbmNlbnQgPHZpbmNlbnQuemltbWVyQGludGVsLmNvbT47IFJh YmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5s dW9AaW50ZWwuY29tPjsgS3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8s IFRlZCA8dGVkLmt1b0BpbnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRr aWV3aWN6QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBXdSwgSmlheGluIDxqaWF4 aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFuZHJlaSA8YW5kcmVpLm90Y2hlcmV0 aWFuc2tpQGludGVsLmNvbT4NCkNjOiBBbGFwcGF0LCBQYXVsIDxwYXVsLmFsYXBwYXRAaW50ZWwu Y29tPjsgS2FzYmVrYXIsIFNhbG9uaSA8c2Fsb25pLmthc2Jla2FyQGludGVsLmNvbT47IFBhdGls LCBBaml0IDxhaml0LnBhdGlsQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0g W1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBz eW5jIHByb3RvY29sIHN1cHBvcnQNCg0KSGV5IFZpbmNlbnQsDQoNClRoZSBkb2N1bWVudGF0aW9u IGZvciBkZXNjcmliaW5nIHRoZSBmZWF0dXJlcyBpbiB0aGUgUFIgZGVzY3JpcHRpb24gY2FuIGJl IGZvdW5kIGluIHRoZSBDU01FIGRvY3VtZW50YXRpb24gZm91bmQgb24gdGhlIHB1YmxpYyBhY2Nl c3NpYmxlIGludGVsIGxpbmsgYmVsb3cuDQoNCk9DUiAtIGh0dHBzOi8vc29mdHdhcmUuaW50ZWwu Y29tL3NpdGVzL21hbmFnZWFiaWxpdHkvQU1UX0ltcGxlbWVudGF0aW9uX2FuZF9SZWZlcmVuY2Vf R3VpZGUvZGVmYXVsdC5odG0/dHVybD1Xb3JkRG9jdW1lbnRzJTJGb25lY2xpY2tyZWNvdmVyeS5o dG0NCg0KS1ZNIC0gaHR0cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vc2l0ZXMvbWFuYWdlYWJpbGl0 eS9BTVRfSW1wbGVtZW50YXRpb25fYW5kX1JlZmVyZW5jZV9HdWlkZS9kZWZhdWx0Lmh0bT90dXJs PVdvcmREb2N1bWVudHMlMkZvbmVjbGlja3JlY292ZXJ5Lmh0bQ0KDQpUaGFua3MsDQpaYWNrDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBaaW1tZXIsIFZpbmNlbnQgPHZpbmNl bnQuemltbWVyQGludGVsLmNvbT4NClNlbnQ6IE1vbmRheSwgT2N0b2JlciAzMSwgMjAyMiAyOjE2 IFBNDQpUbzogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNA aW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE5ldHdvcmtQ a2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9y dA0KDQpRdWljayBxdWVzdGlvbg0KDQpBcmUgdGhlIGZlYXR1cmVzIGRlc2NyaWJlZCBpbiAiIEVu YWJsZXMgS1ZNIGFuZCBPbmUgQ2xpY2sgUmVjb3ZlcnkgV0xBTiBjYXBhYmlsaXR5IHdpdGggV2lG aSBQcm9maWxlIFN5bmMgZmVhdHVyZSBhbmQgcHJvdG9jb2wuIEFkZGluZyBXaUZpUHJvZmlsZVN5 bmNQcm90b2NvbCwgd2hpY2ggc3VwcG9ydHMgdGhlIHByb2ZpbGVzeW5jIGRyaXZlciBvcGVyYXRp b25zIGZvciB0cmFuc2ZlcnJpbmcgV2lGaSBwcm9maWxlcyBmcm9tIEFNVCB0byB0aGUgU3VwcGxp Y2FudC4gV2lGaUNvbm5lY3Rpb25NYW5hZ2VyIHdpbGwgY2hlY2sgZm9yIHRoZSBXaWZpUHJvZmls ZVN5bmNQcm90b2NvbCBhbmQgaWYgZm91bmQgd2lsbCBvcGVyYXRlIG9uIHRoZSBwcmVtaXNlIG9m IGEgT25lIENsaWNrIFJlY292ZXJ5LCBvciBLVk0gZmxvdyB3aXRoIGEgV2lmaSBwcm9maWxlIHBy b3ZpZGVkIGJ5IEFNVC4iIGluIGEgcHVibGljIGRvY3VtZW50PyAgVGhpbmdzIGxpa2UgY29uY2Vw dCBvZiBwcm9maWxlIHN5bmM/ICBJJ20gZ3Vlc3NpbmcgdGhleSBhcmUgc2luY2UgTGludXggcHJv YmFibHkgZG9lcyB0aGUgc2FtZSBpbiB0aGUgaW50ZWwgaXdsIGRyaXZlcj8NCg0KVmluY2VudA0K DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8g PGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgQ2xhcmstd2lsbGlhbXMsIFphY2hh cnkNClNlbnQ6IE1vbmRheSwgT2N0b2JlciAzMSwgMjAyMiAxMjozMSBQTQ0KVG86IEtpbm5leSwg TWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IFJhYmVkYSwgTWFjaWVqIDxt YWNpZWoucmFiZWRhQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwuY29tPjsg S3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8sIFRlZCA8dGVkLmt1b0Bp bnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3aWN6QGludGVsLmNv bT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyAnRnUsIFNpeXVhbicgPHNpeXVhbi5mdUBpbnRlbC5j b20+OyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFu ZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVsLmNvbT4NCkNjOiBBbGFwcGF0LCBQYXVs IDxwYXVsLmFsYXBwYXRAaW50ZWwuY29tPjsgS2FzYmVrYXIsIFNhbG9uaSA8c2Fsb25pLmthc2Jl a2FyQGludGVsLmNvbT47IFBhdGlsLCBBaml0IDxhaml0LnBhdGlsQGludGVsLmNvbT4NClN1Ympl Y3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3lu YzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KKysgdmlzaWJpbGl0 eQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFph Y2hhcnkNClNlbnQ6IEZyaWRheSwgT2N0b2JlciAyOCwgMjAyMiAxOjEzIFBNDQpUbzogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWog PG1hY2llai5yYWJlZGFAaW50ZWwuY29tPjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+ OyBLdW8sIFNjb3R0aWUgPHNjb3R0aWUua3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3Vv QGludGVsLmNvbT47IER1dGtpZXdpY3osIE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwu Y29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5j b20+OyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFu ZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbUEFU Q0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMg cHJvdG9jb2wgc3VwcG9ydA0KDQorK01vcmUgZm9yIHJldmlld2FsIQ0KDQotLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkNClNlbnQ6IEZyaWRh eSwgT2N0b2JlciAyOCwgMjAyMiAxOjEwIFBNDQpUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50 ZWwuY29tPjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8sIFNjb3R0aWUgPHNj b3R0aWUua3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3VvQGludGVsLmNvbT47IER1dGtp ZXdpY3osIE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5n cm91cHMuaW8NClN1YmplY3Q6IFJFOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVT eW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpUaGFua3MgZm9y IHRoZSBmb3J3YXJkIE1pa2UhDQoNCk1hY2llaiBhbmQgQWxsLCANCg0KSWYgeW91IGNvdWxkIHBs ZWFzZSByZXZpZXcgdGhlIFBSIGJlbG93LiBJIHdvdWxkIGxpa2UgdG8gZ2V0IHRoaXMgcmV2aWV3 IGNvbXBsZXRlZCB3aXRoaW4gdGhlIHdlZWsuDQoNClRoYW5rcywNClphY2sNCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NClNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAyMDIyIDE6MDkgUE0N ClRvOiBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBLaW5uZXksIE1p Y2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBDbGFyay13aWxsaWFtcywgWmFj aGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTdWJqZWN0OiBGVzogW1BB VENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5j IHByb3RvY29sIHN1cHBvcnQNCg0KSGkgTWFjaWVqLA0KDQpDYW4geW91IHBsZWFzZSBoZWxwIHJl dmlldyB0aGVzZSBOZXR3b3JrUGtnIGNoYW5nZXMuDQoNCkkgYW0gbm90IHN1cmUgaWYgeW91IG1v bml0b3IgeW91ciBsaW51eC5pbnRlbC5jb20gYWNjb3VudCBhcyBjbG9zZWx5IGFzIHlvdXIgaW50 ZWwuY29tIGFjY291bnQuDQoNClRoYW5rcywNCg0KTWlrZQ0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2ls bGlhbXNAaW50ZWwuY29tPg0KU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjcsIDIwMjIgMTI6MzMg UE0NClRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQpT dWJqZWN0OiBGVzogW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdp RmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KSGV5IE1pa2UsDQoNCkknbSBzdHJ1 Z2dsaW5nIHRvIGdldCBhbnkgZmVlZGJhY2sgb24gdGhpcyBQUi4gRG8geW91IGhhdmUgYW55IHN1 Z2dlc3Rpb25zIHRvIGdldCBiZXR0ZXIgdmlzaWJpbGl0eSBhbmQgcmVzcG9uc2VzIHNvIEkgY2Fu IGdldCB0aGlzIG1pdmluZz8NCg0KVGhhbmtzLA0KWmFjaw0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2ls bGlhbXNAaW50ZWwuY29tPg0KU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjcsIDIwMjIgMTI6MzEg UE0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KQ2M6IFphY2hhcnkgQ2xhcmstV2lsbGlhbXMg PHpjbGFya3cxMTJAZ21haWwuY29tPjsgTWFjaWVqIFJhYmVkYSA8bWFjaWVqLnJhYmVkYUBsaW51 eC5pbnRlbC5jb20+OyBGdSBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBXdSwgSmlheGlu IDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFuZHJlaSA8YW5kcmVpLm90 Y2hlcmV0aWFuc2tpQGludGVsLmNvbT47IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5 LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NClN1YmplY3Q6IFtQQVRDSCB2NF0gTmV0d29ya1Br Zy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0 DQoNCkZyb206IFphY2hhcnkgQ2xhcmstV2lsbGlhbXMgPHpjbGFya3cxMTJAZ21haWwuY29tPg0K DQpSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg0 NQ0KDQpFbmFibGVzIEtWTSBhbmQgT25lIENsaWNrIFJlY292ZXJ5IFdMQU4gY2FwYWJpbGl0eSB3 aXRoIFdpRmkgUHJvZmlsZSBTeW5jIGZlYXR1cmUgYW5kIHByb3RvY29sLiBBZGRpbmcgV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2wsIHdoaWNoIHN1cHBvcnRzIHRoZSBwcm9maWxlc3luYyBkcml2ZXIg b3BlcmF0aW9ucyBmb3IgdHJhbnNmZXJyaW5nIFdpRmkgcHJvZmlsZXMgZnJvbSBBTVQgdG8gdGhl IFN1cHBsaWNhbnQuIFdpRmlDb25uZWN0aW9uTWFuYWdlciB3aWxsIGNoZWNrIGZvciB0aGUgV2lm aVByb2ZpbGVTeW5jUHJvdG9jb2wgYW5kIGlmIGZvdW5kIHdpbGwgb3BlcmF0ZSBvbiB0aGUgcHJl bWlzZSBvZiBhIE9uZSBDbGljayBSZWNvdmVyeSwgb3IgS1ZNIGZsb3cgd2l0aCBhIFdpZmkgcHJv ZmlsZSBwcm92aWRlZCBieSBBTVQuDQoNCkNjOiBNYWNpZWogUmFiZWRhIDxtYWNpZWoucmFiZWRh QGxpbnV4LmludGVsLmNvbT4NCkNjOiBGdSBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+DQpD YzogV3UgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KQ2M6IEFuZHJlaSBPdGNoZXJldGlh bnNraSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVsLmNvbT4NCg0KU2lnbmVkLW9mZi1ieTog WmFjaGFyeSBDbGFyay1XaWxsaWFtcyA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+ DQotLS0NCiAuLi4vUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaCAgICAgICAgfCAg ODMgKysrKysrKysNCiBOZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjICAgICAgICAgICAgICAgICAg ICAgfCAgIDMgKw0KIC4uLi9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mICAgICAgICAgICAg ICB8ICAgMyArLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVN0cnVjdC5oICAg ICB8ICAgMiArLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jICAgICAgICAgICAgICAg ICB8IDEyNiArKysrKysrKy0tLS0NCiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JEeGUuaCAgICAgICAg ICAgICAgICAgICAgfCAgIDQgKy0NCiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JJbXBsLmMgICAgICAg ICAgICAgICAgICAgfCAxOTMgKysrKysrKysrKysrKysrKy0tDQogLi4uL1dpZmlDb25uZWN0aW9u TWdyTWlzYy5jICAgICAgICAgICAgICAgICAgIHwgIDEzICsrDQogOCBmaWxlcyBjaGFuZ2VkLCAz NjcgaW5zZXJ0aW9ucygrKSwgNjAgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9kZSAxMDA2NDQgTmV0 d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmgNCg0KZGlm ZiAtLWdpdCBhL05ldHdvcmtQa2cvSW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90 b2NvbC5oIGIvTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3Rv Y29sLmgNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi5lMzZkYWNlYWJm DQotLS0gL2Rldi9udWxsDQorKysgYi9OZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2wuaA0KQEAgLTAsMCArMSw4MyBAQA0KKy8qKiBAZmlsZQ0KKyAgV2lG aSBwcm9maWxlIHN5bmMgcHJvdG9jb2wuIFN1cHBvcnRzIE9uZSBDbGljayBSZWNvdmVyeSBvciBL Vk0gT1MgDQorcmVjb3ZlcnkNCisgIGJvb3QgZmxvdyBvdmVyIFdpRmkuDQorDQorICBDb3B5cmln aHQgKGMpIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N CisNCisgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICoqLw0K Kw0KKyNpZm5kZWYgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0xfSF8NCisjZGVmaW5lIFdJRklf UFJPRklMRV9TWU5DX1BST1RPQ09MX0hfDQorDQorI2luY2x1ZGUgPFdpZmlDb25uZWN0aW9uTWFu YWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZy5oPg0KKw0KKy8vDQorLy8gIFdpRmkgUHJv ZmlsZSBTeW5jIFByb3RvY29sIEdVSUQgdmFyaWFibGUuDQorLy8NCitleHRlcm4gRUZJX0dVSUQg IGdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQ7DQorDQorLyoqDQorICBVc2VkIGJ5IHRo ZSBXaUZpIGNvbm5lY3Rpb24gbWFuYWdlciB0byBnZXQgdGhlIFdpRmkgcHJvZmlsZSB0aGF0IEFN VCANCitzaGFyZWQNCisgIGFuZCB3YXMgc3RvcmVkIGluIFdpRmkgcHJvZmlsZSBwcm90b2NvbC4g QWxpZ25zIHRoZSBBTVQgV2lGaSBwcm9maWxlIA0KK2RhdGEgdG8NCisgIHRoZSBXaUZpIGNvbm5l Y3Rpb24gbWFuYWdlciBwcm9maWxlIHN0cnVjdHVyZSBmbyBjb25uZWN0aW9uIHVzZS4NCisNCisg IEBwYXJhbVtpbiwgb3V0XSAgV2NtUHJvZmlsZSAgICAgICBXaUZpIENvbm5lY3Rpb24gTWFuYWdl ciBwcm9maWxlIHN0cnVjdHVyZQ0KKyAgQHBhcmFtW2luLCBvdXRdICBNYWNBZGRyZXNzICAgICAg IE1BQyBhZGRyZXNzIGZyb20gQU1UIHNhdmVkIHRvIE5pQyBNQUMgYWRkcmVzcw0KKw0KKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgIFN0b3JlZCBXaUZpIHByb2ZpbGUgY29udmVy dGVkIGFuZCByZXR1cm5lZCBzdWNjZWZ1bGx5DQorICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAg ICAgICAgICAgUHJvZmlsZSBwcm90b2NvbCBzaGFyaW5nIG5vdCBzdXBwb3J0ZWQgb3IgZW5hYmxl ZA0KKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgICAgIE5vIHByb2ZpbGVzIHRvIHJl dHVybmVkDQorICBAcmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICAgRXJyb3IgT2NjdXJy ZWQNCisqKi8NCit0eXBlZGVmDQorRUZJX1NUQVRVUw0KKyhFRklBUEkgKldJRklfUFJPRklMRV9H RVQpKA0KKyAgSU4gT1VUICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICpQcm9maWxlLA0KKyAg SU4gT1VUICBFRklfODAyMTFfTUFDX0FERFJFU1MgICAgIE1hY0FkZHJlc3MNCisgICk7DQorDQor LyoqDQorICBTYXZlcyB0aGUgV2lGaSBjb25uZWN0aW9uIHN0YXR1cyByZWNpZXZlZCBieSB0aGUg DQorV2lGaUNvbm5lY3Rpb25NYW5hZ2VyIHdoZW4NCisgIGluIGEgS1ZNIE9SIE9uZSBDbGljayBS ZWNvdmVyeSBXTEFOIHJlY292ZXJ5IGZsb3cuIElucHV0IGFzDQorICBFRklfODAyMTFfQ09OTkVD VF9ORVRXT1JLX1JFU1VMVF9DT0RFIHRoZW4gY29udmVydGVkIGFuZCBzdG9yZWQgYXMgRUZJX1NU QVRVUyB0eXBlLg0KKw0KKyAgQHBhcmFtW2luXSBDb25uZWN0aW9uU3RhdHVzICAgICBXaUZpIGNv bm5lY3Rpb24gYXR0ZW1wdCByZXN1bHRzDQorKiovDQordHlwZWRlZg0KK1ZPSUQNCisoRUZJQVBJ ICpXSUZJX1NFVF9DT05ORUNUX1NUQVRFKSgNCisgIElOICBFRklfODAyMTFfQ09OTkVDVF9ORVRX T1JLX1JFU1VMVF9DT0RFIENvbm5lY3Rpb25TdGF0dXMNCisgICk7DQorDQorLyoqDQorICBSZXRy aWV2ZXMgdGhlIHN0b3JlZCBXaUZpIGNvbm5lY3Rpb24gc3RhdHVzIHdoZW4gaW4gZWl0aGVyIEtW TSBPUiBPbmUgDQorQ2xpY2sNCisgIFJlY292ZXJ5IFdMQU4gcmVjb3ZlcnkgZmxvdy4NCisNCisg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICBXaUZpIGNvbm5lY3Rpb24gY29tcGxl dGVkIHN1Y2Nlc2Z1bGx5DQorICBAcmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICAgQ29u bmVjdGlvbiBmYWlsdXJlIG9jY3VycmVkDQorKiovDQordHlwZWRlZg0KK0VGSV9TVEFUVVMNCiso RUZJQVBJICpXSUZJX0dFVF9DT05ORUNUX1NUQVRFKSgNCisgIFZPSUQNCisgICk7DQorDQorLy8N CisvLyAgV2lGaSBQcm9maWxlIFN5bmMgUHJvdG9jb2wgc3RydWN0dXJlLg0KKy8vDQordHlwZWRl ZiBzdHJ1Y3Qgew0KKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCisgIFdJ RklfU0VUX0NPTk5FQ1RfU1RBVEUgICAgV2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0YXRlOw0K KyAgV0lGSV9HRVRfQ09OTkVDVF9TVEFURSAgICBXaWZpUHJvZmlsZVN5bmNHZXRDb25uZWN0U3Rh dGU7DQorICBXSUZJX1BST0ZJTEVfR0VUICAgICAgICAgIFdpZmlQcm9maWxlU3luY0dldFByb2Zp bGU7DQorfSBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0w7DQorDQorLyoqDQorICBXaUZp IFByb2ZpbGUgUHJvdG9jb2wgcmV2aXNpb24gbnVtYmVyLg0KKw0KKyAgUmV2aXNpb24gMTogICBJ bml0aWFsIHZlcnNpb24NCisqKi8NCisjZGVmaW5lIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9U T0NPTF9SRVZJU0lPTiAgMQ0KKw0KKyNlbmRpZiAvLyAgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9D T0xfSF8NCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjIGIvTmV0d29ya1Br Zy9OZXR3b3JrUGtnLmRlYyBpbmRleCA1ZTQzZWJmOGM1Li41M2ZiMzRjNGEwIDEwMDY0NA0KLS0t IGEvTmV0d29ya1BrZy9OZXR3b3JrUGtnLmRlYw0KKysrIGIvTmV0d29ya1BrZy9OZXR3b3JrUGtn LmRlYw0KQEAgLTkxLDYgKzkxLDkgQEANCiAgICMjIEluY2x1ZGUvUHJvdG9jb2wvSHR0cENhbGxi YWNrLmgNCiAgIGdFZGtpaUh0dHBDYWxsYmFja1Byb3RvY29sR3VpZCAgPSB7MHg2MTExMTRmMSwg MHhhMzdiLCAweDQ0NjgsIHsweGE0LCAweDM2LCAweDViLCAweGRkLCAweGExLCAweDZhLCAweGEy LCAweDQwfX0NCiANCisgICMjIEluY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2wuaA0KKyAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCA9IHsweDM5OWEyYjhhLCAw eGMyNjcsIDB4NDRhYSwgezB4OWEsIA0KKyAweGI0LCAweDMwLCAweDU4LCAweDhjLCAweGQyLCAw eDJkLCAweGNjfX0NCisNCiBbUGNkc0ZpeGVkQXRCdWlsZF0NCiAgICMjIFRoZSBtYXggYXR0ZW1w dCBudW1iZXIgd2lsbCBiZSBjcmVhdGVkIGJ5IGlTQ1NJIGRyaXZlci4NCiAgICMgQFByb21wdCBN YXggYXR0ZW1wdCBudW1iZXIuDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlv bk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlLmluZiBiL05ldHdvcmtQa2cvV2lm aUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYNCmluZGV4 IDQzOTRiNmY0YmIuLjdlMzYwMTZjZjggMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25u ZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mDQorKysgYi9OZXR3 b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUu aW5mDQpAQCAtOSw3ICs5LDcgQEANCiAjICAyKS4gV1BBMiBQZXJzb25hbCBOZXR3b3JrDQogIyAg MykuIEVBUCBOZXR3b3JrcyAoRUFQLVRMUywgRUFQLVRUTFMvTVNDSEFQdjIgYW5kIFBFQVB2MC9N U0NIQVB2MikgICMgLSMgIENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKyMgIENvcHlyaWdodCAoYykgMjAxOSAtIDIwMjIsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KK3Jlc2VydmVkLjxCUj4NCiAjDQogIyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQgICMgQEAgLTcxLDYgKzcx LDcgQEANCiAgIGdFZmlBZGFwdGVySW5mb3JtYXRpb25Qcm90b2NvbEd1aWQgICAgICAgICAgICAj IyBTT01FVElNRVNfQ09OU1VNRVMNCiAgIGdFZmlTdXBwbGljYW50UHJvdG9jb2xHdWlkICAgICAg ICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCiAgIGdFZmlFYXBDb25maWd1cmF0 aW9uUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCisgIGdF ZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAjIyBTT01FVElNRVNf Q09OU1VNRVMNCiANCiBbR3VpZHNdDQogICBnV2lmaUNvbmZpZ0d1aWQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIyMgUFJPRFVDRVMgICMjIEdVSUQNCmRpZmYgLS1naXQgYS9OZXR3b3Jr UGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0 YVN0cnVjdC5oIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5l Y3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3QuaA0KaW5kZXggYjU1MThhNzRkOC4uZGNjNGJmN2Uy NyAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlD b25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhU3RydWN0LmgNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNv bm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhUw0KKysrIHRy dWN0LmgNCkBAIC0yNSw3ICsyNSw3IEBADQogDQogI2RlZmluZSBQQVNTV09SRF9NSU5fTEVOICAg ICAgIDgNCiAjZGVmaW5lIFBBU1NXT1JEX01BWF9MRU4gICAgICAgNjMNCi0jZGVmaW5lIFBBU1NX T1JEX1NUT1JBR0VfU0laRSAgNjQNCisjZGVmaW5lIFBBU1NXT1JEX1NUT1JBR0VfU0laRSAgNjUN CiANCiAjZGVmaW5lIEVBUF9JREVOVElUWV9MRU4gICA2Mw0KICNkZWZpbmUgRUFQX0lERU5USVRZ X1NJWkUgIDY0DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJE eGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25N YW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMNCmluZGV4IDY3YTAxY2EwNTguLjk3 Y2E3YTlmMGIgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4 ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0 aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jDQpAQCAtMSw3ICsxLDcgQEAN CiAvKiogQGZpbGUNCiAgIFRoZSBkcml2ZXIgYmluZGluZyBwcm90b2NvbCBmb3IgdGhlIFdpRmkg Q29ubmVjdGlvbiBNYW5hZ2VyLg0KIA0KLSAgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorICBDb3B5cmlnaHQgKGMpIDIwMTkg LSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCisgcmVzZXJ2ZWQuPEJSPg0K IA0KICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCkBA IC0zOSw2ICszOSwxMSBAQCBFRklfR1VJRCAgbVdpZmlDb25maWdOZXR3b3JrTGlzdFJlZnJlc2hH dWlkID0gV0lGSV9DT05GSUdfTkVUV09SS19MSVNUX1JFRlJFU0hfRw0KIEVGSV9HVUlEICBtV2lm aUNvbmZpZ0Nvbm5lY3RGb3JtUmVmcmVzaEd1aWQgPSBXSUZJX0NPTkZJR19DT05ORUNUX0ZPUk1f UkVGUkVTSF9HVUlEOw0KIEVGSV9HVUlEICBtV2lmaUNvbmZpZ01haW5Gb3JtUmVmcmVzaEd1aWQg ICAgPSBXSUZJX0NPTkZJR19NQUlOX0ZPUk1fUkVGUkVTSF9HVUlEOw0KIA0KKy8vDQorLy8gV2lm aSBjb25uZWN0aW9uIGF0dGVtcHQgY291bnRlciBmb3IgcmV0cmllcyAvLyBleHRlcm4gVUlOVDgg DQorbVdpZmlDb25uZWN0aW9uQ291bnQ7DQorDQogLyoqDQogICBUZXN0cyB0byBzZWUgaWYgdGhp cyBkcml2ZXIgc3VwcG9ydHMgYSBnaXZlbiBjb250cm9sbGVyLiBJZiBhIGNoaWxkIGRldmljZSBp cyBwcm92aWRlZCwNCiAgIGl0IGZ1cnRoZXIgdGVzdHMgdG8gc2VlIGlmIHRoaXMgZHJpdmVyIHN1 cHBvcnRzIGNyZWF0aW5nIGEgaGFuZGxlIGZvciB0aGUgc3BlY2lmaWVkIGNoaWxkIGRldmljZS4N CkBAIC0xNjcsOCArMTcyLDEwIEBAIFdpZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RhcnQgKA0KICAg RUZJX1dJUkVMRVNTX01BQ19DT05ORUNUSU9OX0lJX1BST1RPQ09MICAqV21wOw0KICAgRUZJX1NV UFBMSUNBTlRfUFJPVE9DT0wgICAgICAgICAgICAgICAgICAqU3VwcGxpY2FudDsNCiAgIEVGSV9F QVBfQ09ORklHVVJBVElPTl9QUk9UT0NPTCAgICAgICAgICAgKkVhcENvbmZpZzsNCisgIEVGSV9X SUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgICAgICAgICAgKldpRmlQcm9maWxlU3luY1Byb3Rv Y29sOw0KIA0KLSAgTmljID0gTlVMTDsNCisgIG1XaWZpQ29ubmVjdGlvbkNvdW50ID0gMDsNCisg IE5pYyAgICAgICAgICAgICAgICAgID0gTlVMTDsNCiANCiAgIC8vDQogICAvLyBPcGVuIFByb3Rv Y29scw0KQEAgLTIzNiw0NyArMjQzLDczIEBAIFdpZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RhcnQg KA0KICAgSW5pdGlhbGl6ZUxpc3RIZWFkICgmTmljLT5Qcm9maWxlTGlzdCk7DQogDQogICAvLw0K LSAgLy8gUmVjb3JkIHRoZSBNQUMgYWRkcmVzcyBvZiB0aGUgaW5jb21pbmcgTklDLg0KKyAgLy8g V2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgaW5zdGFsbGF0aW9uIGNoZWNrIGZvciBPUyByZWNv dmVyeSBmbG93Lg0KICAgLy8NCi0gIFN0YXR1cyA9IE5ldExpYkdldE1hY0FkZHJlc3MgKA0KLSAg ICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KLSAgICAgICAgICAgICAoRUZJX01BQ19BRERS RVNTICopJk5pYy0+TWFjQWRkcmVzcywNCi0gICAgICAgICAgICAgJkFkZHJlc3NTaXplDQotICAg ICAgICAgICAgICk7DQotICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQotICAgIGdvdG8gRVJS T1IyOw0KLSAgfQ0KLQ0KLSAgLy8NCi0gIC8vIENyZWF0ZSBhbmQgc3RhcnQgdGhlIHRpbWVyIGZv ciB0aGUgc3RhdHVzIGNoZWNrDQotICAvLw0KLSAgU3RhdHVzID0gZ0JTLT5DcmVhdGVFdmVudCAo DQotICAgICAgICAgICAgICAgICAgRVZUX05PVElGWV9TSUdOQUwgfCBFVlRfVElNRVIsDQotICAg ICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KLSAgICAgICAgICAgICAgICAgIFdpZmlNZ3JP blRpbWVyVGljaywNCi0gICAgICAgICAgICAgICAgICBOaWMsDQotICAgICAgICAgICAgICAgICAg Jk5pYy0+VGlja1RpbWVyDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAg ICAgICAgICAgICAgICAmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwNCisgICAgICAg ICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZXaUZpUHJvZmls ZVN5bmNQcm90b2NvbA0KICAgICAgICAgICAgICAgICAgICk7DQotICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQotICAgIGdvdG8gRVJST1IyOw0KLSAgfQ0KKyAgaWYgKCFFRklfRVJST1IgKFN0 YXR1cykpIHsNCisgICAgTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgPSAoV0lGSV9NR1JfTkVU V09SS19QUk9GSUxFICopQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9mIChXSUZJX01HUl9ORVRXT1JL X1BST0ZJTEUpKTsNCisgICAgaWYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrID09IE5VTEwp IHsNCisgICAgICBTdGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNFUzsNCisgICAgICBnb3RvIEVS Uk9SMTsNCisgICAgfQ0KIA0KLSAgU3RhdHVzID0gZ0JTLT5TZXRUaW1lciAoTmljLT5UaWNrVGlt ZXIsIFRpbWVyUGVyaW9kaWMsIEVGSV9USU1FUl9QRVJJT0RfTUlMTElTRUNPTkRTICg1MDApKTsN Ci0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290byBFUlJPUjM7DQotICB9DQor ICAgIFdpRmlQcm9maWxlU3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNHZXRQcm9maWxlIChO aWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yaywgTmljLT5NYWNBZGRyZXNzKTsNCisgICAgaWYgKE5p Yy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrICE9IE5VTEwpIHsNCisgICAgICBTdGF0dXMgPSBXaWZp TWdyQ29ubmVjdFRvTmV0d29yayAoTmljLCBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayk7DQor ICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgICAgV2lGaVByb2ZpbGVTeW5j UHJvdG9jb2wtPldpZmlQcm9maWxlU3luY1NldENvbm5lY3RTdGF0ZSAoU3RhdHVzKTsNCisgICAg ICB9DQorICAgIH0gZWxzZSB7DQorICAgICAgZ290byBFUlJPUjE7DQorICAgIH0NCisgIH0gZWxz ZSB7DQorICAgIC8vDQorICAgIC8vIFJlY29yZCB0aGUgTUFDIGFkZHJlc3Mgb2YgdGhlIGluY29t aW5nIE5JQy4NCisgICAgLy8NCisgICAgU3RhdHVzID0gTmV0TGliR2V0TWFjQWRkcmVzcyAoDQor ICAgICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwNCisgICAgICAgICAgICAgICAoRUZJX01B Q19BRERSRVNTICopJk5pYy0+TWFjQWRkcmVzcywNCisgICAgICAgICAgICAgICAmQWRkcmVzc1Np emUNCisgICAgICAgICAgICAgICApOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQor ICAgICAgZ290byBFUlJPUjI7DQorICAgIH0NCiANCi0gIE5pYy0+Q29ubmVjdFN0YXRlID0gV2lm aU1nckRpc2Nvbm5lY3RlZDsNCi0gIE5pYy0+U2NhblN0YXRlICAgID0gV2lmaU1nclNjYW5GaW5p c2hlZDsNCisgICAgLy8NCisgICAgLy8gQ3JlYXRlIGFuZCBzdGFydCB0aGUgdGltZXIgZm9yIHRo ZSBzdGF0dXMgY2hlY2sNCisgICAgLy8NCisgICAgU3RhdHVzID0gZ0JTLT5DcmVhdGVFdmVudCAo DQorICAgICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCB8IEVWVF9USU1FUiwNCisg ICAgICAgICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCisgICAgICAgICAgICAgICAgICAgIFdp ZmlNZ3JPblRpbWVyVGljaywNCisgICAgICAgICAgICAgICAgICAgIE5pYywNCisgICAgICAgICAg ICAgICAgICAgICZOaWMtPlRpY2tUaW1lcg0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgIGdvdG8gRVJST1IyOw0KKyAgICB9DQog DQotICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExfQ0FMTEJBQ0spOw0KLSAgSW5zZXJ0VGFp bExpc3QgKCZtUHJpdmF0ZS0+TmljTGlzdCwgJk5pYy0+TGluayk7DQotICBOaWMtPk5pY0luZGV4 ID0gbVByaXZhdGUtPk5pY0NvdW50Kys7DQotICBpZiAobVByaXZhdGUtPkN1cnJlbnROaWMgPT0g TlVMTCkgew0KLSAgICBtUHJpdmF0ZS0+Q3VycmVudE5pYyA9IE5pYzsNCi0gIH0NCisgICAgU3Rh dHVzID0gZ0JTLT5TZXRUaW1lciAoTmljLT5UaWNrVGltZXIsIFRpbWVyUGVyaW9kaWMsIEVGSV9U SU1FUl9QRVJJT0RfTUlMTElTRUNPTkRTICg1MDApKTsNCisgICAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KKyAgICAgIGdvdG8gRVJST1IzOw0KKyAgICB9DQogDQotICBnQlMtPlJlc3RvcmVU UEwgKE9sZFRwbCk7DQorICAgIE5pYy0+Q29ubmVjdFN0YXRlID0gV2lmaU1nckRpc2Nvbm5lY3Rl ZDsNCisgICAgTmljLT5TY2FuU3RhdGUgICAgPSBXaWZpTWdyU2NhbkZpbmlzaGVkOw0KKw0KKyAg ICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExfQ0FMTEJBQ0spOw0KKyAgICBJbnNlcnRUYWls TGlzdCAoJm1Qcml2YXRlLT5OaWNMaXN0LCAmTmljLT5MaW5rKTsNCisgICAgTmljLT5OaWNJbmRl eCA9IG1Qcml2YXRlLT5OaWNDb3VudCsrOw0KKyAgICBpZiAobVByaXZhdGUtPkN1cnJlbnROaWMg PT0gTlVMTCkgew0KKyAgICAgIG1Qcml2YXRlLT5DdXJyZW50TmljID0gTmljOw0KKyAgICB9DQor DQorICAgIGdCUy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCisgIH0NCiANCiAgIFN0YXR1cyA9IGdC Uy0+SW5zdGFsbFByb3RvY29sSW50ZXJmYWNlICgNCiAgICAgICAgICAgICAgICAgICAmQ29udHJv bGxlckhhbmRsZSwNCkBAIC0zODUsMTAgKzQxOCwxMSBAQCBXaWZpTWdyRHhlRHJpdmVyQmluZGlu Z1N0b3AgKA0KICAgSU4gRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAqQ2hpbGRIYW5kbGVC dWZmZXIgT1BUSU9OQUwNCiAgICkNCiB7DQotICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICBT dGF0dXM7DQotICBFRklfVFBMICAgICAgICAgICAgICAgICAgICBPbGRUcGw7DQotICBXSUZJX01H Ul9QUklWQVRFX1BST1RPQ09MICAqV2lmaU1ncklkZW50aWZpZXI7DQotICBXSUZJX01HUl9ERVZJ Q0VfREFUQSAgICAgICAqTmljOw0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBT dGF0dXM7DQorICBFRklfVFBMICAgICAgICAgICAgICAgICAgICAgICAgIE9sZFRwbDsNCisgIFdJ RklfTUdSX1BSSVZBVEVfUFJPVE9DT0wgICAgICAgKldpZmlNZ3JJZGVudGlmaWVyOw0KKyAgV0lG SV9NR1JfREVWSUNFX0RBVEEgICAgICAgICAgICAqTmljOw0KKyAgRUZJX1dJRklfUFJPRklMRV9T WU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogDQogICBTdGF0dXMgPSBn QlMtPk9wZW5Qcm90b2NvbCAoDQogICAgICAgICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwN CkBAIC00ODEsNyArNTE1LDE1IEBAIFdpZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RvcCAoDQogICAv Lw0KICAgT2xkVHBsID0gZ0JTLT5SYWlzZVRQTCAoVFBMX0NBTExCQUNLKTsNCiANCi0gIFJlbW92 ZUVudHJ5TGlzdCAoJk5pYy0+TGluayk7DQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29s ICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwN CisgICAgICAgICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZX aUZpUHJvZmlsZVN5bmNQcm90b2NvbA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQorICAgIFJlbW92ZUVudHJ5TGlzdCAoJk5pYy0+TGluayk7DQor ICB9DQorDQogICBtUHJpdmF0ZS0+TmljQ291bnQtLTsNCiAgIGlmIChtUHJpdmF0ZS0+Q3VycmVu dE5pYyA9PSBOaWMpIHsNCiAgICAgbVByaXZhdGUtPkN1cnJlbnROaWMgPSBOVUxMOw0KZGlmZiAt LWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9u TWdyRHhlLmggYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVj dGlvbk1nckR4ZS5oDQppbmRleCA3YjJlNDFlMTU1Li4wNDdmODVkYmMyIDEwMDY0NA0KLS0tIGEv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEeGUu aA0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rp b25NZ3JEeGUuaA0KQEAgLTQ3LDYgKzQ3LDcgQEANCiAjaW5jbHVkZSA8UHJvdG9jb2wvU2ltcGxl TmV0d29yay5oPg0KICNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVGaWxlU3lzdGVtLmg+DQogI2lu Y2x1ZGUgPFByb3RvY29sL0VhcENvbmZpZ3VyYXRpb24uaD4NCisjaW5jbHVkZSA8UHJvdG9jb2wv V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaD4NCiANCiAvLw0KIC8vIFByb2R1Y2VkIFByb3RvY29s cw0KQEAgLTczLDcgKzc0LDggQEANCiAvLw0KICNkZWZpbmUgV0lGSV9NR1JfRFhFX1ZFUlNJT04g IDB4Yg0KIA0KLSNkZWZpbmUgT1VJX0lFRUVfODAyMTFJICAweEFDMEYwMA0KKyNkZWZpbmUgT1VJ X0lFRUVfODAyMTFJICAgICAgICAgICAgICAweEFDMEYwMA0KKyNkZWZpbmUgTUFYX1dJRklfQ09O TkVUSU9OX0FUVEVNUFRTICAzDQogDQogdHlwZWRlZiBlbnVtIHsNCiAgIEllZWU4MDIxMVBhaXJ3 aXNlQ2lwaGVyU3VpdGVVc2VHcm91cENpcGhlclN1aXRlID0gMCwgZGlmZiAtLWdpdCBhL05ldHdv cmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdySW1wbC5jIGIv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JJbXBs LmMNCmluZGV4IDU5YmFjNDhjNDIuLmE3M2FiOWY3MTAgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtn L1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckltcGwuYw0KKysrIGIv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JJbXBs LmMNCkBAIC0xOSw2ICsxOSw4IEBAIEVGSV9FQVBfVFlQRSAgbUVhcFNlY29uZEF1dGhNZXRob2Rb XSA9IHsNCiAgIEVGSV9FQVBfVFlQRV9NU0NIQVBWMg0KIH07DQogDQorVUlOVDggIG1XaWZpQ29u bmVjdGlvbkNvdW50ID0gMDsNCisNCiAvKioNCiAgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBmb3Ig c2NhbiBvcGVyYXRpb24uIFRoaXMgZnVuY3Rpb24gdXBkYXRlcyBuZXR3b3Jrcw0KICAgYWNjb3Jk aW5nIHRvIHRoZSBsYXRlc3Qgc2NhbiByZXN1bHQsIGFuZCB0cmlnZ2VyIFVJIHJlZnJlc2guDQpA QCAtNDI0LDE4ICs0MjYsMjYgQEAgV2lmaU1nckNvbmZpZ1Bhc3N3b3JkICgNCiAgICAgcmV0dXJu IEVGSV9OT1RfRk9VTkQ7DQogICB9DQogDQotICBBc2NpaVBhc3N3b3JkID0gQWxsb2NhdGVaZXJv UG9vbCAoKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkgKiBzaXplb2YgKFVJTlQ4KSk7 DQorICBpZiAoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgPj0gUEFTU1dPUkRfU1RPUkFHRV9T SVpFKSB7DQorICAgIEFTU0VSVCAoRUZJX0lOVkFMSURfUEFSQU1FVEVSKTsNCisgICAgcmV0dXJu IEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCisgIH0NCisNCisgIEFzY2lpUGFzc3dvcmQgPSBBbGxv Y2F0ZVplcm9Qb29sICgoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgKyAxKSAqIA0KKyBzaXpl b2YgKENIQVI4KSk7DQogICBpZiAoQXNjaWlQYXNzd29yZCA9PSBOVUxMKSB7DQogICAgIHJldHVy biBFRklfT1VUX09GX1JFU09VUkNFUzsNCiAgIH0NCiANCi0gIFVuaWNvZGVTdHJUb0FzY2lpU3Ry UyAoUHJvZmlsZS0+UGFzc3dvcmQsIChDSEFSOCAqKUFzY2lpUGFzc3dvcmQsIFBBU1NXT1JEX1NU T1JBR0VfU0laRSk7DQotICBTdGF0dXMgPSBTdXBwbGljYW50LT5TZXREYXRhICgNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgU3VwcGxpY2FudCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAg RWZpU3VwcGxpY2FudDgwMjExUHNrUGFzc3dvcmQsDQotICAgICAgICAgICAgICAgICAgICAgICAg IEFzY2lpUGFzc3dvcmQsDQotICAgICAgICAgICAgICAgICAgICAgICAgIChTdHJMZW4gKFByb2Zp bGUtPlBhc3N3b3JkKSArIDEpICogc2l6ZW9mIChVSU5UOCkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgKTsNCisgIFN0YXR1cyA9IFVuaWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJvZmlsZS0+UGFz c3dvcmQsIChDSEFSOCANCisgKilBc2NpaVBhc3N3b3JkLCAoU3RyTGVuIChQcm9maWxlLT5QYXNz d29yZCkgKyAxKSk7ICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBTdGF0dXMgPSBT dXBwbGljYW50LT5TZXREYXRhICgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBTdXBwbGlj YW50LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEVmaVN1cHBsaWNhbnQ4MDIxMVBza1Bh c3N3b3JkLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzY2lpUGFzc3dvcmQsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkg KiBzaXplb2YgKENIQVI4KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQorICB9DQor DQogICBaZXJvTWVtIChBc2NpaVBhc3N3b3JkLCBBc2NpaVN0ckxlbiAoKENIQVI4ICopQXNjaWlQ YXNzd29yZCkgKyAxKTsNCiAgIEZyZWVQb29sIChBc2NpaVBhc3N3b3JkKTsNCiANCkBAIC00NjYs NiArNDc2LDcgQEAgV2lmaU1nckNvbmZpZ0VhcCAoDQogICApDQogew0KICAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJP VE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsNCiAgIEVGSV9FQVBfQ09ORklHVVJBVElP Tl9QUk9UT0NPTCAgKkVhcENvbmZpZzsNCiAgIEVGSV9FQVBfVFlQRSAgICAgICAgICAgICAgICAg ICAgRWFwQXV0aE1ldGhvZDsNCiAgIEVGSV9FQVBfVFlQRSAgICAgICAgICAgICAgICAgICAgRWFw U2Vjb25kQXV0aE1ldGhvZDsNCkBAIC01NjcsNyArNTc4LDEzIEBAIFdpZmlNZ3JDb25maWdFYXAg KA0KICAgICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCiAgICAgfQ0KIA0KLSAgICBV bmljb2RlU3RyVG9Bc2NpaVN0clMgKFByb2ZpbGUtPkVhcElkZW50aXR5LCBJZGVudGl0eSwgSWRl bnRpdHlTaXplKTsNCisgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlXaUZp UHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEICoqKSZXaUZpUHJvZmlsZVN5bmNQ cm90b2NvbCk7DQorICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgQ29weU1l bSAoSWRlbnRpdHksICZQcm9maWxlLT5FYXBJZGVudGl0eSwgSWRlbnRpdHlTaXplKTsNCisgICAg fSBlbHNlIHsNCisgICAgICBVbmljb2RlU3RyVG9Bc2NpaVN0clMgKFByb2ZpbGUtPkVhcElkZW50 aXR5LCBJZGVudGl0eSwgSWRlbnRpdHlTaXplKTsNCisgICAgfQ0KKw0KICAgICBTdGF0dXMgPSBF YXBDb25maWctPlNldERhdGEgKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFwQ29uZmln LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0VBUF9UWVBFX0lERU5USVRZLCBAQCAt ODkyLDYgKzkwOSwxMzMgQEAgV2lmaU1nclByZXBhcmVDb25uZWN0aW9uICgNCiAgIHJldHVybiBF RklfU1VDQ0VTUzsNCiB9DQogDQorLyoqDQorICBXaWxsIHJlc2V0IE5pQyBkYXRhLCBnZXQgcHJv ZmlsZSBmcm9tIHByb2ZpbGUgc3luYyBkcml2ZXIsIGFuZCBzZW5kIA0KK2Zvcg0KKyAgYW5vdGhl ciBjb25uZWN0aW9uIGF0dGVtcHQuVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGNhbGxlZCBt b3JlIA0KK3RoYW4NCisgIDMgdGltZXMuDQorDQorICBAcGFyYW1baW5dICBXaUZpUHJvZmlsZVN5 bmNQcm90b2NvbCAgVGhlIHRhcmdldCBuZXR3b3JrIHByb2ZpbGUgdG8gY29ubmVjdC4NCisNCisg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGNv bXBsZXRlZC4NCisgIEByZXR2YWwgb3RoZXIgICAgICAgICAgICAgICAgICAgICAgICBPcGVyYXRp b24gZmFpbHVyZS4NCisNCisqKi8NCitFRklfU1RBVFVTDQorQ29ubmVjdGlvblJldHJ5ICgNCisg IElOICAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJv dG9jb2wNCisgICkNCit7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXR1czsNCisgIFdJRklfTUdSX0RFVklDRV9EQVRBICAgICAgICAgICAgICAgICAgICAg Kk5pYzsNCisgIEVGSV9XSVJFTEVTU19NQUNfQ09OTkVDVElPTl9JSV9QUk9UT0NPTCAgKldtcDsN CisgIEVGSV9TVVBQTElDQU5UX1BST1RPQ09MICAgICAgICAgICAgICAgICAgKlN1cHBsaWNhbnQ7 DQorICBFRklfRUFQX0NPTkZJR1VSQVRJT05fUFJPVE9DT0wgICAgICAgICAgICpFYXBDb25maWc7 DQorDQorICBOaWMgPSBOVUxMOw0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAo DQorICAgICAgICAgICAgICAgICAgJmdFZmlXaUZpMlByb3RvY29sR3VpZCwNCisgICAgICAgICAg ICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZXbXANCisgICAgICAg ICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICByZXR1cm4g U3RhdHVzOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQorICAg ICAgICAgICAgICAgICAgJmdFZmlTdXBwbGljYW50UHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAg ICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJlN1cHBsaWNhbnQNCisg ICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBT dXBwbGljYW50ID0gTlVMTDsNCisgIH0NCisNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpRWFwQ29uZmlndXJhdGlvblByb3RvY29sR3Vp ZCwNCisgICAgICAgICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoq KSZFYXBDb25maWcNCisgICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KKyAgICBFYXBDb25maWcgPSBOVUxMOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8vIElu aXRpYWxpemUgTmljIGRldmljZSBkYXRhDQorICAvLw0KKyAgTmljID0gQWxsb2NhdGVaZXJvUG9v bCAoc2l6ZW9mIChXSUZJX01HUl9ERVZJQ0VfREFUQSkpOyAgaWYgKE5pYyA9PQ0KKyBOVUxMKSB7 DQorICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KKyAgICByZXR1cm4gU3RhdHVz Ow0KKyAgfQ0KKw0KKyAgTmljLT5TaWduYXR1cmUgICAgICAgICAgID0gV0lGSV9NR1JfREVWSUNF X0RBVEFfU0lHTkFUVVJFOw0KKyAgTmljLT5Qcml2YXRlICAgICAgICAgICAgID0gbVByaXZhdGU7 DQorICBOaWMtPldtcCAgICAgICAgICAgICAgICAgPSBXbXA7DQorICBOaWMtPlN1cHBsaWNhbnQg ICAgICAgICAgPSBTdXBwbGljYW50Ow0KKyAgTmljLT5FYXBDb25maWcgICAgICAgICAgID0gRWFw Q29uZmlnOw0KKyAgTmljLT5Vc2VyU2VsZWN0ZWRQcm9maWxlID0gTlVMTDsNCisgIE5pYy0+T25l VGltZVNjYW5SZXF1ZXN0ICA9IEZBTFNFOw0KKw0KKyAgaWYgKE5pYy0+U3VwcGxpY2FudCAhPSBO VUxMKSB7DQorICAgIFN0YXR1cyA9IFdpZmlNZ3JHZXRTdXBwb3J0ZWRTdWl0ZXMgKE5pYyk7ICB9 DQorDQorICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBJbml0aWFsaXplTGlzdEhl YWQgKCZOaWMtPlByb2ZpbGVMaXN0KTsNCisNCisgICAgTmljLT5Db25uZWN0UGVuZGluZ05ldHdv cmsgPSAoV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICopQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9m IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUpKTsNCisgICAgaWYgKE5pYy0+Q29ubmVjdFBlbmRp bmdOZXR3b3JrID09IE5VTEwpIHsNCisgICAgICBTdGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNF UzsNCisgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiW1dpRmkgQ29ubmVjdGlvbiBNYW5hZ2Vy XSBGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBDb25uZWN0UGVuZGluZ05ldHdvcmtcbiIp KTsNCisgICAgICBnb3RvIEVSUk9SOw0KKyAgICB9DQorDQorICAgIFN0YXR1cyA9IFdpRmlQcm9m aWxlU3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNHZXRQcm9maWxlIChOaWMtPkNvbm5lY3RQ ZW5kaW5nTmV0d29yaywgTmljLT5NYWNBZGRyZXNzKTsNCisgICAgaWYgKCFFRklfRVJST1IgKFN0 YXR1cykgJiYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrICE9IE5VTEwpKSB7DQorICAgICAg U3RhdHVzID0gV2lmaU1nckNvbm5lY3RUb05ldHdvcmsgKE5pYywgTmljLT5Db25uZWN0UGVuZGlu Z05ldHdvcmspOw0KKyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgICBy ZXR1cm4gU3RhdHVzOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBERUJVRyAoKERF QlVHX0VSUk9SLCAiW1dpRmkgQ29ubmVjdGlvbiBNYW5hZ2VyXSBGYWlsZWQgdG8gZ2V0IFdpRmkg cHJvZmlsZSB3aXRoIHN0YXR1cyAlclxuIiwgU3RhdHVzKSk7DQorICAgIH0NCisgIH0gZWxzZSB7 DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBDb25uZWN0aW9uIE1hbmFnZXJdIEZh aWxlZCB0byBnZXQgDQorIFN1cHBvcnRlZCBzdWl0ZXMgd2l0aCBzdGF0dXMgJXJcbiIsIFN0YXR1 cykpOyAgfQ0KKw0KKyAgaWYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrICE9IE5VTEwpIHsN CisgICAgaWYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkFLTVN1aXRlICE9 IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5l dHdvcmsuQUtNU3VpdGUpOw0KKyAgICB9DQorDQorICAgIGlmIChOaWMtPkNvbm5lY3RQZW5kaW5n TmV0d29yay0+TmV0d29yay5DaXBoZXJTdWl0ZSAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wg KE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkNpcGhlclN1aXRlKTsNCisgICAg fQ0KKw0KKyAgICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmspOyAgfQ0KKw0K K0VSUk9SOg0KKyAgaWYgKE5pYy0+U3VwcGxpY2FudCAhPSBOVUxMKSB7DQorICAgIGlmIChOaWMt PlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRBS01TdWl0ZXMgIT0gTlVMTCkgew0KKyAgICAgIEZy ZWVQb29sIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRBS01TdWl0ZXMpOw0KKyAgICB9 DQorDQorICAgIGlmIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRTd0NpcGhlclN1aXRl cyAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBv cnRlZFN3Q2lwaGVyU3VpdGVzKTsNCisgICAgfQ0KKw0KKyAgICBpZiAoTmljLT5TdXBwb3J0ZWRT dWl0ZXMuU3VwcG9ydGVkSHdDaXBoZXJTdWl0ZXMgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQb29s IChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRId0NpcGhlclN1aXRlcyk7DQorICAgIH0N CisgIH0NCisNCisgIEZyZWVQb29sIChOaWMpOw0KKw0KKyAgcmV0dXJuIFN0YXR1czsNCit9DQor DQogLyoqDQogICBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNvbm5lY3Qgb3BlcmF0aW9uLg0K IA0KQEAgLTkwOCwxMiArMTA1MiwxMyBAQCBXaWZpTWdyT25Db25uZWN0RmluaXNoZWQgKA0KICAg SU4gIFZPSUQgICAgICAgKkNvbnRleHQNCiAgICkNCiB7DQotICBFRklfU1RBVFVTICAgICAgICAg ICAgICAgICBTdGF0dXM7DQotICBXSUZJX01HUl9NQUNfQ09ORklHX1RPS0VOICAqQ29uZmlnVG9r ZW47DQotICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICAqQ29ubmVjdGVkUHJvZmlsZTsNCi0g IFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgIFNlY3VyaXR5VHlwZTsNCi0gIFVJTlQ4ICAgICAg ICAgICAgICAgICAgICAgIFNTSWRMZW47DQotICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICAq QXNjaWlTU0lkOw0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQor ICBXSUZJX01HUl9NQUNfQ09ORklHX1RPS0VOICAgICAgICpDb25maWdUb2tlbjsNCisgIFdJRklf TUdSX05FVFdPUktfUFJPRklMRSAgICAgICAgKkNvbm5lY3RlZFByb2ZpbGU7DQorICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNlY3VyaXR5VHlwZTsNCisgIFVJTlQ4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgU1NJZExlbjsNCisgIENIQVI4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgKkFzY2lpU1NJZDsNCisgIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldp RmlQcm9maWxlU3luY1Byb3RvY29sOw0KIA0KICAgQVNTRVJUIChDb250ZXh0ICE9IE5VTEwpOw0K IA0KQEAgLTkyNSw2ICsxMDcwLDI0IEBAIFdpZmlNZ3JPbkNvbm5lY3RGaW5pc2hlZCAoDQogICBB U1NFUlQgKENvbmZpZ1Rva2VuLT5UeXBlID09IFRva2VuVHlwZUNvbm5lY3ROZXR3b3JrVG9rZW4p Ow0KIA0KICAgQVNTRVJUIChDb25maWdUb2tlbi0+VG9rZW4uQ29ubmVjdE5ldHdvcmtUb2tlbiAh PSBOVUxMKTsNCisNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2xHdWlkLCBOVUxMLCANCisgKFZPSUQgKiopJldpRmlQcm9maWxlU3lu Y1Byb3RvY29sKTsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIFdpRmlQcm9maWxl U3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNTZXRDb25uZWN0U3RhdGUgKENvbmZpZ1Rva2Vu LT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5SZXN1bHRDb2RlKTsNCisgICAgaWYgKChtV2lm aUNvbm5lY3Rpb25Db3VudCA8IE1BWF9XSUZJX0NPTk5FVElPTl9BVFRFTVBUUykgJiYNCisgICAg ICAgIChDb25maWdUb2tlbi0+VG9rZW4uQ29ubmVjdE5ldHdvcmtUb2tlbi0+UmVzdWx0Q29kZSAh PSBDb25uZWN0U3VjY2VzcykpDQorICAgIHsNCisgICAgICBtV2lmaUNvbm5lY3Rpb25Db3VudCsr Ow0KKyAgICAgIGdCUy0+Q2xvc2VFdmVudCAoRXZlbnQpOw0KKyAgICAgIFN0YXR1cyA9IENvbm5l Y3Rpb25SZXRyeSAoV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wpOw0KKyAgICAgIGlmICghRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQorICAgICAgICByZXR1cm47DQorICAgICAgfQ0KKw0KKyAgICAgIFdp RmlQcm9maWxlU3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNTZXRDb25uZWN0U3RhdGUgKFN0 YXR1cyk7DQorICAgIH0NCisgIH0NCisNCiAgIGlmIChDb25maWdUb2tlbi0+VG9rZW4uQ29ubmVj dE5ldHdvcmtUb2tlbi0+U3RhdHVzICE9IEVGSV9TVUNDRVNTKSB7DQogICAgIGlmIChDb25maWdU b2tlbi0+TmljLT5PbmVUaW1lQ29ubmVjdFJlcXVlc3QpIHsNCiAgICAgICAvLw0KZGlmZiAtLWdp dCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy TWlzYy5jIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rp b25NZ3JNaXNjLmMNCmluZGV4IDRhZDU2NDNjMjQuLjg3YWRmYzUwMzMgMTAwNjQ0DQotLS0gYS9O ZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2Mu Yw0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rp b25NZ3JNaXNjLmMNCkBAIC02NzIsMTAgKzY3MiwyMyBAQCBXaWZpTWdyQ2xlYW5Qcm9maWxlU2Vj cmV0cyAoDQogICBJTiAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICAqUHJvZmlsZQ0KICAgKQ0K IHsNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgRUZJX1dJ RklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQorDQog ICBaZXJvTWVtIChQcm9maWxlLT5QYXNzd29yZCwgc2l6ZW9mIChDSEFSMTYpICogUEFTU1dPUkRf U1RPUkFHRV9TSVpFKTsNCiAgIFplcm9NZW0gKFByb2ZpbGUtPkVhcFBhc3N3b3JkLCBzaXplb2Yg KENIQVIxNikgKiBQQVNTV09SRF9TVE9SQUdFX1NJWkUpOw0KICAgWmVyb01lbSAoUHJvZmlsZS0+ UHJpdmF0ZUtleVBhc3N3b3JkLCBzaXplb2YgKENIQVIxNikgKiBQQVNTV09SRF9TVE9SQUdFX1NJ WkUpOw0KIA0KKyAgLy8NCisgIC8vICBXaGVuIEVGSSBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2Nv bCBpcyBmb3VuZCB0aGUgc3lzdGVtIGlzIA0KKyBwZXJmb3JtaW5nIGEgcmVjb3ZlcnkgYm9vdCBp biBzZWN1cmUgIC8vICBib290IG1vZGUuIFRoZSBwcm9maWxlIHN5bmMgDQorIGRyaXZlciB3aWxs IG1hbmFnZSB0aGUgQ0EgY2VydGlmaWNhdGUsIGNsaWVudCBjZXJ0aWZpY2F0ZSwgYW5kIGtleSAg Ly8gIGRhdGEsIGNsZWFuaW5nIHRoZW0gYXQgZXhpdCBib290IHNlcnZpY2VzLg0KKyAgLy8NCisg IFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2xHdWlkLCBOVUxMLCANCisgKFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sKTsgIGlm ICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIHJldHVybjsNCisgIH0NCisNCiAgIGlmIChQ cm9maWxlLT5DQUNlcnREYXRhICE9IE5VTEwpIHsNCiAgICAgWmVyb01lbSAoUHJvZmlsZS0+Q0FD ZXJ0RGF0YSwgUHJvZmlsZS0+Q0FDZXJ0U2l6ZSk7DQogICAgIEZyZWVQb29sIChQcm9maWxlLT5D QUNlcnREYXRhKTsNCi0tDQoyLjM3LjMud2luZG93cy4xDQoNCg0KDQoNCg0KDQo=