Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lRNaa-0007mw-Ay for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Mar 2021 23:16:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lRNaZ-0005Kr-7w for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Mar 2021 23:15:59 +0000 Received: from magus.postgresql.org ([87.238.57.229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lRNaY-0005Kk-NB for pgsql-hackers@lists.postgresql.org; Tue, 30 Mar 2021 23:15:59 +0000 Received: from mail-bn8nam11on2069.outbound.protection.outlook.com ([40.107.236.69] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lRNaU-00037q-3u for pgsql-hackers@postgresql.org; Tue, 30 Mar 2021 23:15:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gOu4jPtEc4Gv7/tu7kuW5asZKLBTBBB++HBaJMFt8fYC5UCSnvdCAxoWhLe7UlO8HEjm1l1+wuGDeMsKI4Fp6K9HKOZ1KOYaAZyeL/KNQUDEelyx+g6APeA1SOW6PCpJNmOQPfATkOAsB398HlMoi0vUJNVmM2LWvIhs4ucNQEZ3vsvvKgtrUKRb48VSz5WY8COJeLZfVJt8Yh9oAOS4QUZ/uhsu6bpdzztRhN3slAv083AFbuClUqE1xZkZ4Xngocsk6ATEXeCBEMwo65dmYXwKpdzXYe4VNbDgK3i/5WUTac2tybh55HCIMx1ohnehNQCA4KTHes32vnT17vyTdA== 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-SenderADCheck; bh=Arz1H+jGfXVUc/it0dXJVfa3vUzlyYjySIOp6zZRpYA=; b=kbgN36tNZ4vn9fAQZ8LHmzTEQZuYR3HrYlW1utn9NIUFtklpL2kS+42UM0oskjJA+ndKMmwFw36PSVZITlxALZPmxtEKOsFVwu8cvXBYOCuiS5+35JL1vLjpncW5FIqNeKGiQ86oqVSAKpMgok0T2kGq4gwy2fKxkmvFAdWpX/eYDcF2suumLtNx5t/9ELrnjv27cJfHcTZQylDMI0mfTC2x/2aPKzwIp3xgFg/OrAdbk6/qcZBUWiq8XhVRURYHMhqVNzKN465HhQVh4GRANS3GhDgNj587B1uodP8pBzOvjWoUBjCAtz185sGE4gHlXuSAejIhNE3aqZ7ZtskZ6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Arz1H+jGfXVUc/it0dXJVfa3vUzlyYjySIOp6zZRpYA=; b=0CGxbUrMpWYPuShExcCwOQjAaRUkNCiMkR91/QL6J1JFn5hYN7iW2fpFeIle0jE8lBQl4XcASI4h+79KK9IQIQNZpEitds9oGGLZjtJ3bTu+pywAXv8gj02uuXNBgqygnYpz5A4eSbYnmP69IAeN4cRlEJWefLG9O7WZ7DVobfc= Received: from MWHPR05MB2896.namprd05.prod.outlook.com (2603:10b6:300:65::20) by MWHPR0501MB3737.namprd05.prod.outlook.com (2603:10b6:301:7a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.16; Tue, 30 Mar 2021 23:15:48 +0000 Received: from MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::4c6d:a666:643c:9244]) by MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::4c6d:a666:643c:9244%8]) with mapi id 15.20.3999.026; Tue, 30 Mar 2021 23:15:48 +0000 From: Jacob Champion To: "michael@paquier.xyz" CC: "magnus@hagander.net" , "stark@mit.edu" , "pgsql-hackers@postgresql.org" , "sfrost@snowman.net" , "tgl@sss.pgh.pa.us" Subject: Re: Proposal: Save user's original authenticated identity for logging Thread-Topic: Proposal: Save user's original authenticated identity for logging Thread-Index: AQHW9aJ84UHIxxQGM0uvKhvSVw/fl6pFeJoAgAmCVACABIPmgIAXhdMAgAxttwCAA3O0AIABS40AgAAS9ACACTYWgIAEN3sAgAGUV4CAAI82AIAAHMKAgAPoFgCAANotgIAAqOOAgAJRW4CAANjsgIAA3IyAgABZqgCAAXjXAIADvkIAgAEM2gCAABGMAIABD02AgABnFIA= Date: Tue, 30 Mar 2021 23:15:48 +0000 Message-ID: References: <3d0e903ae67cf27240f1c392534951e86c939cb7.camel@vmware.com> <4c90814d2f0018ba835c3d8e2eb67b99e6a45578.camel@vmware.com> <9f222bb07e711f6f1ffcfcb4fe162d9e84054a1f.camel@vmware.com> <4a87886f034c713c056c43850f55e6e0ba50d8b5.camel@vmware.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: user-agent: Evolution 3.36.4-0ubuntu1 authentication-results: paquier.xyz; dkim=none (message not signed) header.d=none;paquier.xyz; dmarc=none action=none header.from=vmware.com; x-originating-ip: [50.39.198.229] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bc7a23b7-3afa-45b7-1fa7-08d8f3d1c104 x-ms-traffictypediagnostic: MWHPR0501MB3737: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 51r3Ktr1uuV5dFx6z14Eos6jU24/skv43AjxTHkZTC89E8Ro2kOYIKa4gA6guTkaN/p9q6O1TSDwOOS1jNjrVQUe5XdDvTiwy/jQf6ku42dSy9BFtgQICrXv4DicbJFNQb4PGHcGCgDBb7y90/Y2rINVwO5GSi0jxiNHu/WPz3ewjHgC7ludjSqFnjmmL6YtoBVBadHIStLkHl+6lgFZw37kLFIN1Hvi09M6pUaK/GMITgImaVHiYMrNySfBJXKXpjuc4HUQiXKFtDFv13rivMRUwpcw0jS5rvVgt8Ftse8J5dYr/cFjNXg8SUUZtHc5YMMSwLlyX6kVucXxwcatr9Q5zMVfPl1PA6hGV+cUdjOjtLAiyu2SN95gV7riR26cT1/7cp+xBxxpWHYz+LIK6ji0e0qy5nJtOILZh5AC9j1wjQ040xaHDo6bJi8/CPrk7rBsypuT2jFa/r8tCG6kkK5VfqSj+dTEuLlv2/jNIO5Li3EQq49IgsMq3NkBAp7qh8dltAETymx4LR+ePSWBYPov8KQqxfOoW1kw0tuM0BzyXd21x1qDxByutNvuS/iLQc7HaoJQMvVMksSTSvztlaOHhiVzuGn8az7BbWJYvefRSCXpWM7Nju9uTtmTOqUyIaoHflECDK4NdhB5qRtZH308KP179klEN7V+TXMeEVA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR05MB2896.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(316002)(6512007)(66556008)(4326008)(71200400001)(36756003)(5660300002)(99936003)(6506007)(66574015)(6916009)(478600001)(2616005)(66446008)(64756008)(8676002)(54906003)(38100700001)(86362001)(6486002)(186003)(8936002)(83380400001)(26005)(66946007)(66476007)(2906002)(76116006)(66576008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?ZFNPSTA5b2FEeWM0S0J6VDdQeFd3c2FPbFhHL0t4MkxlRkFqcjJNWkN5bjF4?= =?utf-8?B?L0ZuSUYxOE45T1hVZEExWHdNMWRxNGp1bUFMd2U0aWFVSWdOWlcxTWxFWlpR?= =?utf-8?B?eHpPT1lZd2NNenUzRGYwL0hYVGNIR3dKZ0RSdFBIZVVLYWh0VU9Nc3VpODAy?= =?utf-8?B?RjZiWkZZY3kyOGx0cjN1Q2lHUjhDeWE2NzZITE5BQkpLK0tqdVJyMFRKM3kz?= =?utf-8?B?endWSjJ4M2h6K01rbUhJa21DWWZQYWJ5endHWTNvcDYyQnZSRkFvV2lCVlpz?= =?utf-8?B?c29oM1N1WGt5Q0pjRlVucVV6VWNiM3oxb3hESThteDYxWVBiRWJVSDR3bnpE?= =?utf-8?B?a1kyOUJxMlFkeUJ3TFgrdm1FZllFdU5ZMFVCd3haclJkdS93QWVFWDl4RHJ0?= =?utf-8?B?UzExeHpaaUNvOUREZ3NNOUR4cnBkdVRmeFYzMEN3YUl2Vmp6ayswaWRyWVlP?= =?utf-8?B?NytJejV6bDFpMGhwUi9hU0M0ZG5tWFJLNUw3N0Y1bnJxWmJHY1d6a1hVVXJO?= =?utf-8?B?MlM3RjFTMXQ5N2NuT2dWbXlCbTlqc1pKelY2UGVGSittUWJ4aExVSkhBWEE2?= =?utf-8?B?VzZKRkVnSFNEWXBkd242RytrdUhod2p6VFdXQ0FHN2ZNSE9pa0dieVkxM2xG?= =?utf-8?B?MERHbEhIL0dMdGxNdTlWd1kxMHY3eWJRM0kxK0JwVXpmU205SkpNajUyeEpY?= =?utf-8?B?L0JGcXNHYUVLc0wvK21jRUdXaEMyTGVHOVJac3Y3UVl4TG1DS25XcHYrNlYx?= =?utf-8?B?UjA4Uk1yYm9aSkdSNW1MNUhRMlpLQ3lURnByanU0bWF5b0Z0YU1hbDJnbkd3?= =?utf-8?B?ZDF2YnFBTHFuL2JPMWhaZmxGUnlpS0Q3Q3AxNVQyNWg3cHdCT2ROKzB3RGJu?= =?utf-8?B?ZVpJT05Vd0Q3VTJ1bDZINzFWT3RkaEJxSEh0dFBSdU5KWUZ2UFY5L0JxSzBz?= =?utf-8?B?czBmbWpUU2YvN2Fwc0MxNkQ3TGgxbUNFL0hyNTJ0RkVnU1k3QTR4eHpxZWgy?= =?utf-8?B?cHNSRDVlVTdzaDRzSXN3dThjVjErNDFkQmU3dTkxbEsyQUZMVXJ3b1Q4OVhu?= =?utf-8?B?SDdBWkYyNGxIeG50RXBya0R3T0Y5bHdsaS9YZUh6M0s0Qm00VWtLdkNlTXhF?= =?utf-8?B?SURmRGlTTUl2VU9RMTRFZXdlUGJSTE84R3JlK2kwQktMUGd6LzVwNGRxR1c3?= =?utf-8?B?UGRCYnk2eHArZkh2UitRckM0VG56RUwvS3d6ZEFTSHRsUUZJV2JNWG85WlNj?= =?utf-8?B?eVhBdC91eFpwQXM4enRTaG1lVVErQWtNMitSNVVBT1F5dzhHKzFrRUQwNXJ5?= =?utf-8?B?NlVwbk5xSXBvN0FUQUtEbmlFZkhoOHFBMk5aakFCNzBBV2tlQ1AxREhlWjVE?= =?utf-8?B?ampDMFJXTWcyM1FsSjc3aE1ROEQySmdXOHJUOTlMMTB4S0tEak5Td0Foelhl?= =?utf-8?B?VnI4cFUrd1VqRFp3ZGJEQm11MUwxMWFwS2dEK1NYcWhMYmsyS3ZqajFobU5C?= =?utf-8?B?NlZzNGx3aURLSnJ3YlljWWRFWkdkWk5tTkRlRnpUb2dMZlN1Rk10MktLS1N2?= =?utf-8?B?b09EQUpKMnpmRXJ3Mkhjc3ppVnZvTnBYNVhlSDFiM0dUVFRnZk9yd3RKRjhx?= =?utf-8?B?cllIek81ZWEyNjcxdzkzTVBYME80QXZoMTYyc3ZOTGJLRHRJLzRuZnZsTjEw?= =?utf-8?B?TC9MNnB0aHNKNzhiMWxmMnloWm5NRndvV3h2OUdnK0NjWXBvc1dwN1N1VnNI?= =?utf-8?Q?fHMVjikj5Fy2MB5ZyfIdjCn3aVL5YBvYa0D59iy?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_003_a4fddbcd2f99c293991b7669bd0da3e5a7d3f93bcamelvmwarecom_" MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR05MB2896.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc7a23b7-3afa-45b7-1fa7-08d8f3d1c104 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Mar 2021 23:15:48.4212 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: O23LwcOGGVSoyKu57ruA1Yx70lqU3ZunMMot98nuD4AmpaE4Mb04ufn2Ra4nx5jechHESL4+PXXvQJ3n1U2i2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0501MB3737 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_a4fddbcd2f99c293991b7669bd0da3e5a7d3f93bcamelvmwarecom_ Content-Type: text/plain; charset="utf-8" Content-ID: <6531B36604F9DC468FD64CFEDC71539F@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 T24gVHVlLCAyMDIxLTAzLTMwIGF0IDE3OjA2ICswMDAwLCBKYWNvYiBDaGFtcGlvbiB3cm90ZToN Cj4gV291bGQgaXQgYmUgYWNjZXB0YWJsZSB0byBhZGp1c3QgdGhlIHRlc3RzIGZvciBsaXZlIHJv dGF0aW9uIHVzaW5nIHRoZQ0KPiBsb2dnaW5nIGNvbGxlY3RvciwgcmF0aGVyIHRoYW4gYSBmdWxs IHJlc3RhcnQ/IEl0IHdvdWxkIHVuZm9ydHVuYXRlbHkNCj4gbWVhbiB0aGF0IHdlIGhhdmUgdG8g c29tZWhvdyB3YWl0IGZvciB0aGUgcm90YXRpb24gdG8gY29tcGxldGUsIHNpbmNlDQo+IHRoYXQn cyBhc3luY2hyb25vdXMuDQoNCkkgd2Fzbid0IGFibGUgdG8gbWFrZSBsaXZlIHJvdGF0aW9uIHdv cmsgaW4gYSBzYW5lIHdheS4gU28sIHYxNCB0cmllcw0KdG8gdGhyZWFkIHRoZSBuZWVkbGUgd2l0 aCBhIHJpZmYgb24geW91ciBlYXJsaWVyIGlkZWE6DQoNCj4gSWYgeW91IHdhbnQgdG8ga2VlcCB0 aGlzIGluZm9ybWF0aW9uIGFyb3VuZA0KPiBmb3IgZGVidWdnaW5nLCBJIGd1ZXNzIHRoYXQgd2Ug Y291bGQganVzdCBwcmludCB0aGUgY29udGVudHMgb2YgdGhlDQo+IGJhY2tlbmQgbG9ncyB0byBy ZWdyZXNzX2xvZ18wMDFfcGFzc3dvcmQgaW5zdGVhZD8gIFRoaXMgY291bGQgYmUgZG9uZQ0KPiB3 aXRoIGEgc2ltcGxlIHdyYXBwZXIgcm91dGluZSB0aGF0IHByaW50cyB0aGUgcGFzdCBjb250ZW50 cyBvZiB0aGUgbG9nDQo+IGZpbGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbS4NCg0KUmF0aGVyIHRo YW4gcHV0dGluZyBQb3N0Z3JlcyBsb2cgZGF0YSBpbnRvIHRoZSBQZXJsIGxvZ3MsIEkgcm90YXRl IHRoZQ0KbG9ncyBleGFjdGx5IG9uY2UgYXQgdGhlIGJlZ2lubmluZyAtLSBzbyB0aGF0IHRoZXJl J3MgYW4NCm9sZCAwMDFfc3NsdGVzdHNfcHJpbWFyeS5sb2csIGFuZCBhIG5ldyAwMDFfc3NsdGVz dHNfcHJpbWFyeV8xLmxvZyAtLQ0KYW5kIHRoZW4gZXZlcnkgdGltZSB3ZSB0cnVuY2F0ZSB0aGUg bG9nZmlsZSwgSSBzaHVmZmxlIHRoZSBiaXRzIGZyb20NCnRoZSBuZXcgbG9nZmlsZSBpbnRvIHRo ZSBvbGQgb25lLiBTbyBubyBvbmUgaGFzIHRvIGxlYXJuIHRvIGZpbmQgdGhlDQpsb2cgZW50cmll cyBpbiBhIG5ldyBwbGFjZSwgd2UgZG9uJ3QgZ2V0IGFuIGV4cGxvc2lvbiBvZiByb3RhdGVkIGxv Z3MsDQp3ZSBkb24ndCBsb3NlIHRoZSBsb2cgZGF0YSwgd2UgZG9uJ3QgbWF0Y2ggaW5jb3JyZWN0 IHBvcnRpb25zIG9mIHRoZQ0KbG9ncywgYW5kIHdlIG9ubHkgcGF5IHRoZSByZXN0YXJ0IHByaWNl IG9uY2UuIFRoaXMgaXMgd3JhcHBlZCBpbnRvIGENCnNtYWxsIFBlcmwgbW9kdWxlLCBMb2dDb2xs ZWN0b3IuDQoNCldEWVQ/DQoNCi0tSmFjb2INCg== --_003_a4fddbcd2f99c293991b7669bd0da3e5a7d3f93bcamelvmwarecom_ Content-Type: text/plain; name="since-v13.diff.txt" Content-Description: since-v13.diff.txt Content-Disposition: attachment; filename="since-v13.diff.txt"; size=7144; creation-date="Tue, 30 Mar 2021 23:15:48 GMT"; modification-date="Tue, 30 Mar 2021 23:15:48 GMT" Content-ID: <79CEC3C1710C8843AF056A3D36514C42@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3NzbC90LzAwMV9zc2x0ZXN0cy5wbCBiL3NyYy90ZXN0L3Nz bC90LzAwMV9zc2x0ZXN0cy5wbAppbmRleCA5ZmFjMDY4OWVlLi5iNWZiMTVmNzk0IDEwMDY0NAot LS0gYS9zcmMvdGVzdC9zc2wvdC8wMDFfc3NsdGVzdHMucGwKKysrIGIvc3JjL3Rlc3Qvc3NsL3Qv MDAxX3NzbHRlc3RzLnBsCkBAIC0xMCw2ICsxMCw3IEBAIHVzZSBGaW5kQmluOwogdXNlIGxpYiAk RmluZEJpbjo6UmVhbEJpbjsKIAogdXNlIFNTTFNlcnZlcjsKK3VzZSBMb2dDb2xsZWN0b3I7CiAK IGlmICgkRU5We3dpdGhfc3NsfSBuZSAnb3BlbnNzbCcpCiB7CkBAIC00NTQsOCArNDU1LDcgQEAg dGVzdF9jb25uZWN0X2ZhaWxzKAogKTsKIAogCi1teSAkbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dm aWxlKCk7Ci0kbm9kZS0+cmVzdGFydDsKK215ICRsb2cgPSBMb2dDb2xsZWN0b3ItPm5ldygkbm9k ZSk7CiAKICMgY29ycmVjdCBjbGllbnQgY2VydCB1c2luZyB3aG9sZSBETgogbXkgJGRuX2Nvbm5z dHIgPSAiJGNvbW1vbl9jb25uc3RyIGRibmFtZT1jZXJ0ZGJfZG4iOwpAQCAtNDY2LDE2ICs0NjYs MTAgQEAgdGVzdF9jb25uZWN0X29rKAogCSJjZXJ0aWZpY2F0ZSBhdXRob3JpemF0aW9uIHN1Y2Nl ZWRzIHdpdGggRE4gbWFwcGluZyIKICk7CiAKLSRub2RlLT5zdG9wKCdmYXN0Jyk7Ci1teSAkbG9n X2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9nKTsKLQotbGlrZSgKLQkkbG9nX2NvbnRlbnRzLAor JGxvZy0+bGlrZSgKIAlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJDTj1z c2x0ZXN0dXNlci1kbixPVT1UZXN0aW5nLE9VPUVuZ2luZWVyaW5nLE89UEdERyIgbWV0aG9kPWNl cnQvLAogCSJhdXRoZW50aWNhdGVkIEROcyBhcmUgbG9nZ2VkIik7CiAKLSRub2RlLT5zdGFydDsK LQogIyBzYW1lIHRoaW5nIGJ1dCB3aXRoIGEgcmVnZXgKICRkbl9jb25uc3RyID0gIiRjb21tb25f Y29ubnN0ciBkYm5hbWU9Y2VydGRiX2RuX3JlIjsKIApAQCAtNDg1LDggKzQ3OSw3IEBAIHRlc3Rf Y29ubmVjdF9vaygKIAkiY2VydGlmaWNhdGUgYXV0aG9yaXphdGlvbiBzdWNjZWVkcyB3aXRoIERO IHJlZ2V4IG1hcHBpbmciCiApOwogCi0kbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Ci0k bm9kZS0+cmVzdGFydDsKKyRsb2ctPnJvdGF0ZTsKIAogIyBzYW1lIHRoaW5nIGJ1dCB1c2luZyBl eHBsaWNpdCBDTgogJGRuX2Nvbm5zdHIgPSAiJGNvbW1vbl9jb25uc3RyIGRibmFtZT1jZXJ0ZGJf Y24iOwpAQCAtNDk3LDE3ICs0OTAsMTAgQEAgdGVzdF9jb25uZWN0X29rKAogCSJjZXJ0aWZpY2F0 ZSBhdXRob3JpemF0aW9uIHN1Y2NlZWRzIHdpdGggQ04gbWFwcGluZyIKICk7CiAKLSRub2RlLT5z dG9wKCdmYXN0Jyk7Ci0kbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9nKTsKLQotbGlrZSgK LQkkbG9nX2NvbnRlbnRzLAorJGxvZy0+bGlrZSgKIAlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0 ZWQ6IGlkZW50aXR5PSJDTj1zc2x0ZXN0dXNlci1kbixPVT1UZXN0aW5nLE9VPUVuZ2luZWVyaW5n LE89UEdERyIgbWV0aG9kPWNlcnQvLAogCSJmdWxsIGF1dGhlbnRpY2F0ZWQgRE5zIGFyZSBsb2dn ZWQgZXZlbiBpbiBDTiBtYXBwaW5nIG1vZGUiKTsKIAotJG5vZGUtPnN0YXJ0OwotCi0KIAogVE9E TzoKIHsKQEAgLTU2NSw4ICs1NTEsNyBAQCBTS0lQOgogCQkiY2VydGlmaWNhdGUgYXV0aG9yaXph dGlvbiBmYWlscyBiZWNhdXNlIG9mIGZpbGUgcGVybWlzc2lvbnMiKTsKIH0KIAotJGxvZyA9ICRu b2RlLT5yb3RhdGVfbG9nZmlsZSgpOwotJG5vZGUtPnJlc3RhcnQ7CiskbG9nLT5yb3RhdGU7CiAK ICMgY2xpZW50IGNlcnQgYmVsb25naW5nIHRvIGFub3RoZXIgdXNlcgogdGVzdF9jb25uZWN0X2Zh aWxzKApAQCAtNTc2LDE3ICs1NjEsMTAgQEAgdGVzdF9jb25uZWN0X2ZhaWxzKAogCSJjZXJ0aWZp Y2F0ZSBhdXRob3JpemF0aW9uIGZhaWxzIHdpdGggY2xpZW50IGNlcnQgYmVsb25naW5nIHRvIGFu b3RoZXIgdXNlciIKICk7CiAKLSRub2RlLT5zdG9wKCdmYXN0Jyk7Ci0kbG9nX2NvbnRlbnRzID0g c2x1cnBfZmlsZSgkbG9nKTsKLQotbGlrZSgKLQkkbG9nX2NvbnRlbnRzLAorJGxvZy0+bGlrZSgK IAlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJDTj1zc2x0ZXN0dXNlciIg bWV0aG9kPWNlcnQvLAogCSJjZXJ0IGF1dGhlbnRpY2F0aW9uIHN1Y2NlZWRzIGV2ZW4gaWYgYXV0 aG9yaXphdGlvbiBmYWlscyIpOwogCi0kbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Ci0k bm9kZS0+cmVzdGFydDsKLQogIyByZXZva2VkIGNsaWVudCBjZXJ0CiB0ZXN0X2Nvbm5lY3RfZmFp bHMoCiAJJGNvbW1vbl9jb25uc3RyLApAQCAtNTk0LDI1ICs1NzIsMTYgQEAgdGVzdF9jb25uZWN0 X2ZhaWxzKAogCXFyL1NTTCBlcnJvci8sCiAJImNlcnRpZmljYXRlIGF1dGhvcml6YXRpb24gZmFp bHMgd2l0aCByZXZva2VkIGNsaWVudCBjZXJ0Iik7CiAKLSRub2RlLT5zdG9wKCdmYXN0Jyk7Ci0k bG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9nKTsKLQotdW5saWtlKAotCSRsb2dfY29udGVu dHMsCiskbG9nLT51bmxpa2UoCiAJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOi8sCiAJInJl dm9rZWQgY2VydHMgZG8gbm90IGF1dGhlbnRpY2F0ZSB1c2VycyIpOwogCi0kbm9kZS0+c3RhcnQ7 Ci0KICMgQ2hlY2sgdGhhdCBjb25uZWN0aW5nIHdpdGggYXV0aC1vcHRpb24gdmVyaWZ5LWZ1bGwg aW4gcGdfaGJhOgogIyB3b3JrcywgaWZmIHVzZXJuYW1lIG1hdGNoZXMgQ29tbW9uIE5hbWUKICMg ZmFpbHMsIGlmZiB1c2VybmFtZSBkb2Vzbid0IG1hdGNoIENvbW1vbiBOYW1lLgogJGNvbW1vbl9j b25uc3RyID0KICAgInNzbHJvb3RjZXJ0PXNzbC9yb290K3NlcnZlcl9jYS5jcnQgc3NsbW9kZT1y ZXF1aXJlIGRibmFtZT12ZXJpZnlkYiBob3N0YWRkcj0kU0VSVkVSSE9TVEFERFIiOwogCi0kbG9n ID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Ci0kbm9kZS0+cmVzdGFydDsKLQogdGVzdF9jb25u ZWN0X29rKAogCSRjb21tb25fY29ubnN0ciwKIAkidXNlcj1zc2x0ZXN0dXNlciBzc2xjZXJ0PXNz bC9jbGllbnQuY3J0IHNzbGtleT1zc2wvY2xpZW50X3RtcC5rZXkiLApAQCAtNjM0LDE4ICs2MDMs MTIgQEAgdGVzdF9jb25uZWN0X29rKAogCSJhdXRoX29wdGlvbiBjbGllbnRjZXJ0PXZlcmlmeS1j YSBzdWNjZWVkcyB3aXRoIG1pc21hdGNoaW5nIHVzZXJuYW1lIGFuZCBDb21tb24gTmFtZSIKICk7 CiAKLSRub2RlLT5zdG9wKCdmYXN0Jyk7Ci0kbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9n KTsKLQogIyBOb25lIG9mIHRoZSBhYm92ZSBjb25uZWN0aW9ucyB0byB2ZXJpZnlkYiBzaG91bGQg aGF2ZSByZXN1bHRlZCBpbgogIyBhdXRoZW50aWNhdGlvbi4KLXVubGlrZSgKLQkkbG9nX2NvbnRl bnRzLAorJGxvZy0+dW5saWtlKAogCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDovLAogCSJ0 cnVzdCBhdXRoIG1ldGhvZCBkb2VzIG5vdCBzZXQgYXV0aGVudGljYXRlZCBpZGVudGl0eSIpOwog Ci0kbm9kZS0+c3RhcnQ7Ci0KICMgaW50ZXJtZWRpYXRlIGNsaWVudF9jYS5jcnQgaXMgcHJvdmlk ZWQgYnkgY2xpZW50LCBhbmQgaXNuJ3QgaW4gc2VydmVyJ3Mgc3NsX2NhX2ZpbGUKIHN3aXRjaF9z ZXJ2ZXJfY2VydCgkbm9kZSwgJ3NlcnZlci1jbi1vbmx5JywgJ3Jvb3RfY2EnKTsKICRjb21tb25f Y29ubnN0ciA9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zc2wvdC8wMDJfc2NyYW0ucGwgYi9zcmMv dGVzdC9zc2wvdC8wMDJfc2NyYW0ucGwKaW5kZXggYzE1YjljNDA1Yi4uODFhYWEwYjAyZCAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3Qvc3NsL3QvMDAyX3NjcmFtLnBsCisrKyBiL3NyYy90ZXN0L3NzbC90 LzAwMl9zY3JhbS5wbApAQCAtMTIsNiArMTIsNyBAQCB1c2UgRmluZEJpbjsKIHVzZSBsaWIgJEZp bmRCaW46OlJlYWxCaW47CiAKIHVzZSBTU0xTZXJ2ZXI7Cit1c2UgTG9nQ29sbGVjdG9yOwogCiBp ZiAoJEVOVnt3aXRoX3NzbH0gbmUgJ29wZW5zc2wnKQogewpAQCAtMTAyLDggKzEwMyw3IEBAIHRl c3RfY29ubmVjdF9mYWlscygKIAlxci9jaGFubmVsIGJpbmRpbmcgcmVxdWlyZWQsIGJ1dCBzZXJ2 ZXIgYXV0aGVudGljYXRlZCBjbGllbnQgd2l0aG91dCBjaGFubmVsIGJpbmRpbmcvLAogCSJDZXJ0 IGF1dGhlbnRpY2F0aW9uIGFuZCBjaGFubmVsX2JpbmRpbmc9cmVxdWlyZSIpOwogCi1teSAkbG9n ID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Ci0kbm9kZS0+cmVzdGFydDsKK215ICRsb2cgPSBM b2dDb2xsZWN0b3ItPm5ldygkbm9kZSk7CiAKICMgQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGF0 IHRoZSBjb25uZWN0aW9uIGxldmVsIHNob3VsZCBzdGlsbCB3b3JrIGZpbmUuCiB0ZXN0X2Nvbm5l Y3Rfb2soCkBAIC0xMTEsMTYgKzExMSwxMCBAQCB0ZXN0X2Nvbm5lY3Rfb2soCiAJImRibmFtZT12 ZXJpZnlkYiB1c2VyPXNzbHRlc3R1c2VyIGNoYW5uZWxfYmluZGluZz1yZXF1aXJlIiwKIAkiU0NS QU0gd2l0aCBjbGllbnRjZXJ0PXZlcmlmeS1mdWxsIGFuZCBjaGFubmVsX2JpbmRpbmc9cmVxdWly ZSIpOwogCi0kbm9kZS0+c3RvcCgnZmFzdCcpOwotbXkgJGxvZ19jb250ZW50cyA9IHNsdXJwX2Zp bGUoJGxvZyk7Ci0KLWxpa2UoCi0JJGxvZ19jb250ZW50cywKKyRsb2ctPmxpa2UoCiAJcXIvY29u bmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0ic3NsdGVzdHVzZXIiIG1ldGhvZD1zY3Jh bS1zaGEtMjU2LywKIAkiU0NSQU0gd2l0aCBjbGllbnRjZXJ0PXZlcmlmeS1mdWxsIHNldHMgdGhl IHVzZXJuYW1lIGFzIHRoZSBhdXRoZW50aWNhdGVkIGlkZW50aXR5Iik7CiAKLSRub2RlLT5zdGFy dDsKLQogIyBjbGVhbiB1cAogdW5saW5rKCRjbGllbnRfdG1wX2tleSk7CiAKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3NzbC90L0xvZ0NvbGxlY3Rvci5wbSBiL3NyYy90ZXN0L3NzbC90L0xvZ0NvbGxl Y3Rvci5wbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jZTBjNDA2M2Yy Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3NsL3QvTG9nQ29sbGVjdG9yLnBtCkBAIC0w LDAgKzEsODQgQEAKKyMgVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNsYXNzIHRvIGhlbHAgbWF0Y2gg bG9nIGVudHJpZXMgdG8gc3BlY2lmaWMgY29ubmVjdGlvbnMKKyMgb3IgcXVlcmllcy4KKworcGFj a2FnZSBMb2dDb2xsZWN0b3I7CisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7Cit1c2UgVGVz dExpYjsKK3VzZSBUZXN0OjpNb3JlICgpOworCit1c2UgRXhwb3J0ZXIgJ2ltcG9ydCc7CitvdXIg QEVYUE9SVCA9IHF3KAorICBzdGFydF9sb2dfY2FwdHVyZQorKTsKKworIyBXcmFwIGEgbmV3IGNv bGxlY3RvciBhcm91bmQgJG5vZGUuCisjCisjIFRoZSBub2RlJ3MgY3VycmVudCBsb2dmaWxlIHdp bGwgYmUgc2F2ZWQsIHRoZW4gcm90YXRlZCwgc28gdGhhdCBmdXR1cmUgbG9nCisjIGVudHJpZXMg YXJlIHdyaXR0ZW4gdG8gYSBuZXcgbG9nZmlsZS4gV2hlbmV2ZXIgdGhlIHJvdGF0ZSgpIG1ldGhv ZCBpcyBjYWxsZWQKKyMgb24gdGhlIGNvbGxlY3RvciwgYWxsIGVudHJpZXMgZnJvbSB0aGUgbmV3 IGxvZ2ZpbGUgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgb2xkCisjIGxvZ2ZpbGUsIGFuZCB0aGVu IHRoZSBuZXcgbG9nZmlsZSB3aWxsIGJlIHRydW5jYXRlZC4gVGhpcyBnaXZlcyBhIGNsZWFuIHNs YXRlCisjIHRvIHRoZSBuZXh0IHRlc3RzLgorc3ViIG5ldworeworCW15ICgkY2xhc3MsICRub2Rl KSA9IEBfOworCisJbXkgJHNlbGYgPSB7CisJCV9ub2RlICAgICA9PiAkbm9kZSwKKwkJX29yaWdf bG9nID0+ICRub2RlLT5sb2dmaWxlLAorCQlfbG9nICAgICAgPT4gJG5vZGUtPnJvdGF0ZV9sb2dm aWxlLAorCX07CisJYmxlc3MgJHNlbGYsICRjbGFzczsKKworCSRub2RlLT5yZXN0YXJ0OyAjIHN0 YXJ0IHdyaXRpbmcgdG8gdGhlIG5ldyBsb2cKKwlyZXR1cm4gJHNlbGY7Cit9CisKKyMgUmV0dXJu cyB0aGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgKG5ldykgbG9nZmlsZS4gVGhlc2Ugd2lsbCBi ZSB3cml0dGVuIHRvCisjIHRoZSBvbGQgbG9nZmlsZSB3aGVuIHJvdGF0ZSgpIGlzIGNhbGxlZC4K K3N1YiBjb250ZW50cworeworCW15ICRzZWxmID0gc2hpZnQ7CisKKwlyZXR1cm4gc2x1cnBfZmls ZSgkc2VsZi0+e19sb2d9KTsKK30KKworIyBXcml0ZXMgdGhlIGN1cnJlbnQgY29udGVudHMgb2Yg dGhlIG5ldyBsb2dmaWxlIHRvIHRoZSBvbGQgbG9nZmlsZSwgdGhlbgorIyB0cnVuY2F0ZXMgdGhl IG5ldyBsb2dmaWxlLgorc3ViIHJvdGF0ZQoreworCW15ICRzZWxmID0gc2hpZnQ7CisJbXkgJGxv Z19jb250ZW50cyA9ICRzZWxmLT5jb250ZW50czsKKworCWFwcGVuZF90b19maWxlKCRzZWxmLT57 X29yaWdfbG9nfSwgJGxvZ19jb250ZW50cyk7CisJdHJ1bmNhdGUgJHNlbGYtPntfbG9nfSwgMDsK K30KKworIyBDYWxscyBUZXN0OjpNb3JlOjpsaWtlIG9uIHRoZSBjdXJyZW50IGxvZ2ZpbGUgY29u dGVudHMsIHRoZW4gcm90YXRlcyB0aGUgbG9ncworIyBzbyB0aGF0IGZ1dHVyZSBjYWxscyB0byBs aWtlKCkgb3IgdW5saWtlKCkgd2lsbCBub3QgbWF0Y2ggdGhlIGNvbnRlbnRzIHRoYXQKKyMgaGF2 ZSBhbHJlYWR5IGJlZW4gY2hlY2tlZC4KKyMKKyMgVG8gYXZvaWQgdGhlIGF1dG8tcm90YXRpb24g YmVoYXZpb3IgKGUuZy4gaWYgeW91IHdhbnQgdG8gcGVyZm9ybSBtdWx0aXBsZQorIyBjaGVja3Mg b24gdGhlIHNhbWUgbG9nIGNvbnRlbnRzKSwgdXNlIGNvbnRlbnRzKCkgaW5zdGVhZCBhbmQgcGVy Zm9ybSBhIG1hbnVhbAorIyByb3RhdGUoKSBhZnRlciB0aGUgY2hlY2tzIGFyZSBjb21wbGV0ZS4K K3N1YiBsaWtlCit7CisJbXkgKCRzZWxmLCAkZXhwZWN0ZWQsICRuYW1lKSA9IEBfOworCisJVGVz dDo6TW9yZTo6bGlrZSgkc2VsZi0+Y29udGVudHMsICRleHBlY3RlZCwgJG5hbWUpOworCisJJHNl bGYtPnJvdGF0ZTsKK30KKworIyBUaGUgb3Bwb3NpdGUgb2YgbGlrZSgpLCBhYm92ZS4KK3N1YiB1 bmxpa2UKK3sKKwlteSAoJHNlbGYsICRleHBlY3RlZCwgJG5hbWUpID0gQF87CisKKwlUZXN0OjpN b3JlOjp1bmxpa2UoJHNlbGYtPmNvbnRlbnRzLCAkZXhwZWN0ZWQsICRuYW1lKTsKKworCSRzZWxm LT5yb3RhdGU7Cit9CisKKzE7Cg== --_003_a4fddbcd2f99c293991b7669bd0da3e5a7d3f93bcamelvmwarecom_ Content-Type: text/x-patch; name="v14-0001-Log-authenticated-identity-from-all-auth-backend.patch" Content-Description: v14-0001-Log-authenticated-identity-from-all-auth-backend.patch Content-Disposition: attachment; filename="v14-0001-Log-authenticated-identity-from-all-auth-backend.patch"; size=30419; creation-date="Tue, 30 Mar 2021 23:15:48 GMT"; modification-date="Tue, 30 Mar 2021 23:15:48 GMT" Content-ID: <12907DFD1F860448A5CA5022E2530811@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSA5NDNmMGYyNTNjYjljYWQ5MDFlMDZmNGU1M2Q5OGM3ZDVkYjU5Nzk1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IFdlZCwgMyBGZWIgMjAyMSAxMTo0MjowNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjE0 XSBMb2cgYXV0aGVudGljYXRlZCBpZGVudGl0eSBmcm9tIGFsbCBhdXRoIGJhY2tlbmRzCgpUaGUg ImF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkiIGlzIHRoZSBzdHJpbmcgdXNlZCBieSBhbiBhdXRoIG1l dGhvZCB0bwppZGVudGlmeSBhIHBhcnRpY3VsYXIgdXNlci4gSW4gbWFueSBjb21tb24gY2FzZXMg dGhpcyBpcyB0aGUgc2FtZSBhcyB0aGUKUG9zdGdyZXMgdXNlcm5hbWUsIGJ1dCBmb3Igc29tZSB0 aGlyZC1wYXJ0eSBhdXRoIG1ldGhvZHMsIHRoZSBpZGVudGlmaWVyCmluIHVzZSBtYXkgYmUgc2hv cnRlbmVkIG9yIG90aGVyd2lzZSB0cmFuc2xhdGVkIChlLmcuIHRocm91Z2ggcGdfaWRlbnQKbWFw cGluZ3MpIGJlZm9yZSB0aGUgc2VydmVyIHN0b3JlcyBpdC4KClRvIGhlbHAgREJBcyBzZWUgd2hv IGhhcyBhY3R1YWxseSBpbnRlcmFjdGVkIHdpdGggdGhlIHN5c3RlbSwgc3RvcmUgdGhlCm9yaWdp bmFsIGlkZW50aXR5IHdoZW4gYXV0aGVudGljYXRpb24gc3VjY2VlZHMsIGFuZCBleHBvc2UgaXQg dmlhIHRoZQpsb2dfY29ubmVjdGlvbnMgc2V0dGluZy4gVGhlIGxvZyBlbnRyaWVzIGxvb2sgc29t ZXRoaW5nIGxpa2UgdGhpcwpleGFtcGxlICh3aGVyZSBhIGxvY2FsIHVzZXIgbmFtZWQgInBjaGFt cGlvbiIgaXMgY29ubmVjdGluZyB0byB0aGUKZGF0YWJhc2UgYXMgdGhlICJhZG1pbiIgdXNlcik6 CgogICAgTE9HOiAgY29ubmVjdGlvbiByZWNlaXZlZDogaG9zdD1bbG9jYWxdCiAgICBMT0c6ICBj b25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJwY2hhbXBpb24iIG1ldGhvZD1wZWVy ICgvZGF0YS9wZ19oYmEuY29uZjo4OCkKICAgIExPRzogIGNvbm5lY3Rpb24gYXV0aG9yaXplZDog dXNlcj1hZG1pbiBkYXRhYmFzZT1wb3N0Z3JlcyBhcHBsaWNhdGlvbl9uYW1lPXBzcWwKCnBvcnQt PmF1dGhuX2lkIGlzIHNldCBhY2NvcmRpbmcgdG8gdGhlIGF1dGggbWV0aG9kOgoKICAgIGJzZDog dGhlIFBvc3RncmVzIHVzZXJuYW1lICh3aGljaCBpcyB0aGUgbG9jYWwgdXNlcm5hbWUpCiAgICBj ZXJ0OiB0aGUgY2xpZW50J3MgU3ViamVjdCBETgogICAgZ3NzOiB0aGUgdXNlciBwcmluY2lwYWwK ICAgIGlkZW50OiB0aGUgcmVtb3RlIHVzZXJuYW1lCiAgICBsZGFwOiB0aGUgZmluYWwgYmluZCBE TgogICAgcGFtOiB0aGUgUG9zdGdyZXMgdXNlcm5hbWUgKHdoaWNoIGlzIHRoZSBQQU0gdXNlcm5h bWUpCiAgICBwYXNzd29yZCAoYW5kIGFsbCBwdy1jaGFsbGVuZ2UgbWV0aG9kcyk6IHRoZSBQb3N0 Z3JlcyB1c2VybmFtZQogICAgcGVlcjogdGhlIHBlZXIncyBwd19uYW1lCiAgICByYWRpdXM6IHRo ZSBQb3N0Z3JlcyB1c2VybmFtZSAod2hpY2ggaXMgdGhlIFJBRElVUyB1c2VybmFtZSkKICAgIHNz cGk6IGVpdGhlciB0aGUgZG93bi1sZXZlbCAoU0FNLWNvbXBhdGlibGUpIGxvZ29uIG5hbWUsIGlm CiAgICAgICAgICBjb21wYXRfcmVhbG09MSwgb3IgdGhlIFVzZXIgUHJpbmNpcGFsIE5hbWUgaWYg Y29tcGF0X3JlYWxtPTAKClRoZSB0cnVzdCBhdXRoIG1ldGhvZCBkb2VzIG5vdCBzZXQgYW4gYXV0 aGVudGljYXRlZCBpZGVudGl0eS4gTmVpdGhlcgpkb2VzIHVzaW5nIGNsaWVudGNlcnQ9dmVyaWZ5 LWZ1bGwgKHVzZSB0aGUgY2VydCBhdXRoIG1ldGhvZCBpbnN0ZWFkKS4KClRoZSBLZXJiZXJvcyB0 ZXN0IHN1aXRlIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGxldCB0ZXN0cyBtYXRjaCBtdWx0aXBsZQps b2cgbGluZXMsIGFuZCB0aGUgU1NMIHRlc3Qgc3VpdGUgaGFzIGEgbmV3IGhlbHBlciBtb2R1bGUg dG8gbGV0IHRlc3RzCm1hdGNoIGxvZyBlbnRyaWVzIGluIGlzb2xhdGlvbi4KLS0tCiBkb2Mvc3Jj L3NnbWwvY29uZmlnLnNnbWwgICAgICAgICAgICAgICAgICB8ICAgMyArLQogc3JjL2JhY2tlbmQv bGlicHEvYXV0aC5jICAgICAgICAgICAgICAgICAgfCAxMzcgKysrKysrKysrKysrKysrKysrKyst LQogc3JjL2JhY2tlbmQvbGlicHEvaGJhLmMgICAgICAgICAgICAgICAgICAgfCAgMjQgKysrKwog c3JjL2luY2x1ZGUvbGlicHEvaGJhLmggICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2lu Y2x1ZGUvbGlicHEvbGlicHEtYmUuaCAgICAgICAgICAgICAgfCAgMTIgKysKIHNyYy90ZXN0L2F1 dGhlbnRpY2F0aW9uL3QvMDAxX3Bhc3N3b3JkLnBsIHwgIDc3ICsrKysrKysrKysrLQogc3JjL3Rl c3Qva2VyYmVyb3MvdC8wMDFfYXV0aC5wbCAgICAgICAgICAgfCAgMzYgKysrKy0tCiBzcmMvdGVz dC9sZGFwL3QvMDAxX2F1dGgucGwgICAgICAgICAgICAgICB8ICAyOCArKysrLQogc3JjL3Rlc3Qv c3NsL3QvMDAxX3NzbHRlc3RzLnBsICAgICAgICAgICAgfCAgMzAgKysrKy0KIHNyYy90ZXN0L3Nz bC90LzAwMl9zY3JhbS5wbCAgICAgICAgICAgICAgIHwgIDE1ICsrLQogc3JjL3Rlc3Qvc3NsL3Qv TG9nQ29sbGVjdG9yLnBtICAgICAgICAgICAgfCAgODQgKysrKysrKysrKysrKwogMTEgZmlsZXMg Y2hhbmdlZCwgNDI3IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyYy90ZXN0L3NzbC90L0xvZ0NvbGxlY3Rvci5wbQoKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9jb25maWcuc2dtbCBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAppbmRleCBkZGM2 ZDc4OWQ4Li5hMzIyNzI5MDk4IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwK KysrIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCkBAIC02Njc4LDcgKzY2NzgsOCBAQCBsb2Nh bDAuKiAgICAvdmFyL2xvZy9wb3N0Z3Jlc3FsCiAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgPHBh cmE+CiAgICAgICAgIENhdXNlcyBlYWNoIGF0dGVtcHRlZCBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2 ZXIgdG8gYmUgbG9nZ2VkLAotICAgICAgICBhcyB3ZWxsIGFzIHN1Y2Nlc3NmdWwgY29tcGxldGlv biBvZiBjbGllbnQgYXV0aGVudGljYXRpb24uCisgICAgICAgIGFzIHdlbGwgYXMgc3VjY2Vzc2Z1 bCBjb21wbGV0aW9uIG9mIGJvdGggY2xpZW50IGF1dGhlbnRpY2F0aW9uIChpZgorICAgICAgICBu ZWNlc3NhcnkpIGFuZCBhdXRob3JpemF0aW9uLgogICAgICAgICBPbmx5IHN1cGVydXNlcnMgY2Fu IGNoYW5nZSB0aGlzIHBhcmFtZXRlciBhdCBzZXNzaW9uIHN0YXJ0LAogICAgICAgICBhbmQgaXQg Y2Fubm90IGJlIGNoYW5nZWQgYXQgYWxsIHdpdGhpbiBhIHNlc3Npb24uCiAgICAgICAgIFRoZSBk ZWZhdWx0IGlzIDxsaXRlcmFsPm9mZjwvbGl0ZXJhbD4uCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9saWJwcS9hdXRoLmMgYi9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMKaW5kZXggOWRjMjhlMTlh YS4uZGNkMDJhOTRjMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCisrKyBi L3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwpAQCAtMzQsOCArMzQsMTAgQEAKICNpbmNsdWRlICJs aWJwcS9zY3JhbS5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgInBvcnQvcGdf YnN3YXAuaCIKKyNpbmNsdWRlICJwb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuaCIKICNpbmNsdWRlICJy ZXBsaWNhdGlvbi93YWxzZW5kZXIuaCIKICNpbmNsdWRlICJzdG9yYWdlL2lwYy5oIgorI2luY2x1 ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAi dXRpbHMvdGltZXN0YW1wLmgiCiAKQEAgLTQ3LDYgKzQ5LDcgQEAgc3RhdGljIHZvaWQgc2VuZEF1 dGhSZXF1ZXN0KFBvcnQgKnBvcnQsIEF1dGhSZXF1ZXN0IGFyZXEsIGNvbnN0IGNoYXIgKmV4dHJh ZGF0YSwKIAkJCQkJCQlpbnQgZXh0cmFsZW4pOwogc3RhdGljIHZvaWQgYXV0aF9mYWlsZWQoUG9y dCAqcG9ydCwgaW50IHN0YXR1cywgY2hhciAqbG9nZGV0YWlsKTsKIHN0YXRpYyBjaGFyICpyZWN2 X3Bhc3N3b3JkX3BhY2tldChQb3J0ICpwb3J0KTsKK3N0YXRpYyB2b2lkIHNldF9hdXRobl9pZChQ b3J0ICpwb3J0LCBjb25zdCBjaGFyICppZCk7CiAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0zMzcsNiArMzQw LDUxIEBAIGF1dGhfZmFpbGVkKFBvcnQgKnBvcnQsIGludCBzdGF0dXMsIGNoYXIgKmxvZ2RldGFp bCkKIH0KIAogCisvKgorICogU2V0cyB0aGUgYXV0aGVudGljYXRlZCBpZGVudGl0eSBmb3IgdGhl IGN1cnJlbnQgdXNlci4gVGhlIHByb3ZpZGVkIHN0cmluZworICogd2lsbCBiZSBjb3BpZWQgaW50 byB0aGUgVG9wTWVtb3J5Q29udGV4dC4gVGhlIElEIHdpbGwgYmUgbG9nZ2VkIGlmCisgKiBsb2df Y29ubmVjdGlvbnMgaXMgZW5hYmxlZC4KKyAqCisgKiBBdXRoIG1ldGhvZHMgc2hvdWxkIGNhbGwg dGhpcyBleGFjdGx5IG9uY2UsIGFzIHNvb24gYXMgdGhlIHVzZXIgaXMKKyAqIHN1Y2Nlc3NmdWxs eSBhdXRoZW50aWNhdGVkLCBldmVuIGlmIHRoZXkgaGF2ZSByZWFzb24gdG8ga25vdyB0aGF0Cisg KiBhdXRob3JpemF0aW9uIHdpbGwgZmFpbCBsYXRlci4KKyAqCisgKiBUaGUgcHJvdmlkZWQgc3Ry aW5nIHdpbGwgYmUgY29waWVkIGludG8gdGhlIFRvcE1lbW9yeUNvbnRleHQsIHRvIG1hdGNoIHRo ZQorICogbGlmZXRpbWUgb2YgdGhlIFBvcnQsIHNvIGl0IGlzIHNhZmUgdG8gcGFzcyBhIHN0cmlu ZyB0aGF0IGlzIG1hbmFnZWQgYnkgYW4KKyAqIGV4dGVybmFsIGxpYnJhcnkuCisgKi8KK3N0YXRp YyB2b2lkCitzZXRfYXV0aG5faWQoUG9ydCAqcG9ydCwgY29uc3QgY2hhciAqaWQpCit7CisJQXNz ZXJ0KGlkKTsKKworCWlmIChwb3J0LT5hdXRobl9pZCkKKwl7CisJCS8qCisJCSAqIEFuIGV4aXN0 aW5nIGF1dGhuX2lkIHNob3VsZCBuZXZlciBiZSBvdmVyd3JpdHRlbjsgdGhhdCBtZWFucyB0d28K KwkJICogYXV0aGVudGljYXRpb24gcHJvdmlkZXJzIGFyZSBmaWdodGluZyAob3Igb25lIGlzIGZp Z2h0aW5nIGl0c2VsZikuCisJCSAqIERvbid0IGxlYWsgYW55IGF1dGhuIGRldGFpbHMgdG8gdGhl IGNsaWVudCwgYnV0IGRvbid0IGxldCB0aGUKKwkJICogY29ubmVjdGlvbiBjb250aW51ZSwgZWl0 aGVyLgorCQkgKi8KKwkJZXJlcG9ydChGQVRBTCwKKwkJCQkoZXJybXNnKCJjb25uZWN0aW9uIHdh cyByZS1hdXRoZW50aWNhdGVkIiksCisJCQkJIGVycmRldGFpbF9sb2coInByZXZpb3VzIElEOiBc IiVzXCI7IG5ldyBJRDogXCIlc1wiIiwKKwkJCQkJCQkgICBwb3J0LT5hdXRobl9pZCwgaWQpKSk7 CisJfQorCisJcG9ydC0+YXV0aG5faWQgPSBNZW1vcnlDb250ZXh0U3RyZHVwKFRvcE1lbW9yeUNv bnRleHQsIGlkKTsKKworCWlmIChMb2dfY29ubmVjdGlvbnMpCisJeworCQllcmVwb3J0KExPRywK KwkJCWVycm1zZygiY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT1cIiVzXCIgbWV0 aG9kPSVzICIKKwkJCQkgICAiKCVzOiVkKSIsCisJCQkJICAgcG9ydC0+YXV0aG5faWQsIGhiYV9h dXRobmFtZShwb3J0KSwgSGJhRmlsZU5hbWUsCisJCQkJICAgcG9ydC0+aGJhLT5saW5lbnVtYmVy KSk7CisJfQorfQorCisKIC8qCiAgKiBDbGllbnQgYXV0aGVudGljYXRpb24gc3RhcnRzIGhlcmUu ICBJZiB0aGVyZSBpcyBhbiBlcnJvciwgdGhpcwogICogZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJu IGFuZCB0aGUgYmFja2VuZCBwcm9jZXNzIGlzIHRlcm1pbmF0ZWQuCkBAIC03NTcsNiArODA1LDkg QEAgQ2hlY2tQYXNzd29yZEF1dGgoUG9ydCAqcG9ydCwgY2hhciAqKmxvZ2RldGFpbCkKIAkJcGZy ZWUoc2hhZG93X3Bhc3MpOwogCXBmcmVlKHBhc3N3ZCk7CiAKKwlpZiAocmVzdWx0ID09IFNUQVRV U19PSykKKwkJc2V0X2F1dGhuX2lkKHBvcnQsIHBvcnQtPnVzZXJfbmFtZSk7CisKIAlyZXR1cm4g cmVzdWx0OwogfQogCkBAIC04MTYsNiArODY3LDEwIEBAIENoZWNrUFdDaGFsbGVuZ2VBdXRoKFBv cnQgKnBvcnQsIGNoYXIgKipsb2dkZXRhaWwpCiAJCUFzc2VydChhdXRoX3Jlc3VsdCAhPSBTVEFU VVNfT0spOwogCQlyZXR1cm4gU1RBVFVTX0VSUk9SOwogCX0KKworCWlmIChhdXRoX3Jlc3VsdCA9 PSBTVEFUVVNfT0spCisJCXNldF9hdXRobl9pZChwb3J0LCBwb3J0LT51c2VyX25hbWUpOworCiAJ cmV0dXJuIGF1dGhfcmVzdWx0OwogfQogCkBAIC0xMTc0LDggKzEyMjksMTMgQEAgcGdfR1NTX2No ZWNrYXV0aChQb3J0ICpwb3J0KQogCS8qCiAJICogQ29weSB0aGUgb3JpZ2luYWwgbmFtZSBvZiB0 aGUgYXV0aGVudGljYXRlZCBwcmluY2lwYWwgaW50byBvdXIgYmFja2VuZAogCSAqIG1lbW9yeSBm b3IgZGlzcGxheSBsYXRlci4KKwkgKgorCSAqIFRoaXMgaXMgYWxzbyBvdXIgYXV0aGVudGljYXRl ZCBpZGVudGl0eS4gU2V0IGl0IG5vdywgcmF0aGVyIHRoYW4gd2FpdGluZworCSAqIGZvciBjaGVj a191c2VybWFwIGJlbG93LCBiZWNhdXNlIGF1dGhlbnRpY2F0aW9uIGhhcyBhbHJlYWR5IHN1Y2Nl ZWRlZCBhbmQKKwkgKiB3ZSB3YW50IHRoZSBsb2cgZmlsZSB0byByZWZsZWN0IHRoYXQuCiAJICov CiAJcG9ydC0+Z3NzLT5wcmluYyA9IE1lbW9yeUNvbnRleHRTdHJkdXAoVG9wTWVtb3J5Q29udGV4 dCwgZ2J1Zi52YWx1ZSk7CisJc2V0X2F1dGhuX2lkKHBvcnQsIGdidWYudmFsdWUpOwogCiAJLyoK IAkgKiBTcGxpdCB0aGUgdXNlcm5hbWUgYXQgdGhlIHJlYWxtIHNlcGFyYXRvcgpAQCAtMTI4NSw2 ICsxMzQ1LDcgQEAgcGdfU1NQSV9yZWN2YXV0aChQb3J0ICpwb3J0KQogCURXT1JECQlkb21haW5u YW1lc2l6ZSA9IHNpemVvZihkb21haW5uYW1lKTsKIAlTSURfTkFNRV9VU0UgYWNjb3VudG5hbWV1 c2U7CiAJSE1PRFVMRQkJc2VjdXIzMjsKKwljaGFyCSAgICphdXRobl9pZDsKIAogCVFVRVJZX1NF Q1VSSVRZX0NPTlRFWFRfVE9LRU5fRk4gX1F1ZXJ5U2VjdXJpdHlDb250ZXh0VG9rZW47CiAKQEAg LTE1MTQsNiArMTU3NSwyNiBAQCBwZ19TU1BJX3JlY3ZhdXRoKFBvcnQgKnBvcnQpCiAJCQlyZXR1 cm4gc3RhdHVzOwogCX0KIAorCS8qCisJICogV2UgaGF2ZSBhbGwgb2YgdGhlIGluZm9ybWF0aW9u IG5lY2Vzc2FyeSB0byBjb25zdHJ1Y3QgdGhlIGF1dGhlbnRpY2F0ZWQKKwkgKiBpZGVudGl0eS4g U2V0IGl0IG5vdywgcmF0aGVyIHRoYW4gd2FpdGluZyBmb3IgY2hlY2tfdXNlcm1hcCBiZWxvdywK KwkgKiBiZWNhdXNlIGF1dGhlbnRpY2F0aW9uIGhhcyBhbHJlYWR5IHN1Y2NlZWRlZCBhbmQgd2Ug d2FudCB0aGUgbG9nIGZpbGUgdG8KKwkgKiByZWZsZWN0IHRoYXQuCisJICovCisJaWYgKHBvcnQt PmhiYS0+Y29tcGF0X3JlYWxtKQorCXsKKwkJLyogU0FNLWNvbXBhdGlibGUgZm9ybWF0LiAqLwor CQlhdXRobl9pZCA9IHBzcHJpbnRmKCIlc1xcJXMiLCBkb21haW5uYW1lLCBhY2NvdW50bmFtZSk7 CisJfQorCWVsc2UKKwl7CisJCS8qIEtlcmJlcm9zIHByaW5jaXBhbCBmb3JtYXQuICovCisJCWF1 dGhuX2lkID0gcHNwcmludGYoIiVzQCVzIiwgYWNjb3VudG5hbWUsIGRvbWFpbm5hbWUpOworCX0K KworCXNldF9hdXRobl9pZChwb3J0LCBhdXRobl9pZCk7CisJcGZyZWUoYXV0aG5faWQpOworCiAJ LyoKIAkgKiBDb21wYXJlIHJlYWxtL2RvbWFpbiBpZiByZXF1ZXN0ZWQuIEluIFNTUEksIGFsd2F5 cyBjb21wYXJlIGNhc2UKIAkgKiBpbnNlbnNpdGl2ZS4KQEAgLTE5MDEsOCArMTk4MiwxNSBAQCBp ZGVudF9pbmV0X2RvbmU6CiAJCXBnX2ZyZWVhZGRyaW5mb19hbGwobG9jYWxfYWRkci5hZGRyLnNz X2ZhbWlseSwgbGEpOwogCiAJaWYgKGlkZW50X3JldHVybikKLQkJLyogU3VjY2VzcyEgQ2hlY2sg dGhlIHVzZXJtYXAgKi8KKwl7CisJCS8qCisJCSAqIFN1Y2Nlc3MhIFN0b3JlIHRoZSBpZGVudGl0 eSBhbmQgY2hlY2sgdGhlIHVzZXJtYXAuIChTZXR0aW5nIHRoZQorCQkgKiBhdXRoZW50aWNhdGVk IGlkZW50aXR5IGlzIGRvbmUgYmVmb3JlIGNoZWNraW5nIHRoZSB1c2VybWFwLCBiZWNhdXNlCisJ CSAqIGF0IHRoaXMgcG9pbnQsIGF1dGhlbnRpY2F0aW9uIGhhcyBzdWNjZWVkZWQuKQorCQkgKi8K KwkJc2V0X2F1dGhuX2lkKHBvcnQsIGlkZW50X3VzZXIpOwogCQlyZXR1cm4gY2hlY2tfdXNlcm1h cChwb3J0LT5oYmEtPnVzZXJtYXAsIHBvcnQtPnVzZXJfbmFtZSwgaWRlbnRfdXNlciwgZmFsc2Up OworCX0KIAlyZXR1cm4gU1RBVFVTX0VSUk9SOwogfQogCkBAIC0xOTI2LDcgKzIwMTQsNiBAQCBh dXRoX3BlZXIoaGJhUG9ydCAqcG9ydCkKIAlnaWRfdAkJZ2lkOwogI2lmbmRlZiBXSU4zMgogCXN0 cnVjdCBwYXNzd2QgKnB3OwotCWNoYXIJICAgKnBlZXJfdXNlcjsKIAlpbnQJCQlyZXQ7CiAjZW5k aWYKIApAQCAtMTk1OCwxMiArMjA0NSwxNCBAQCBhdXRoX3BlZXIoaGJhUG9ydCAqcG9ydCkKIAkJ cmV0dXJuIFNUQVRVU19FUlJPUjsKIAl9CiAKLQkvKiBNYWtlIGEgY29weSBvZiBzdGF0aWMgZ2V0 cHcqKCkgcmVzdWx0IGFyZWEuICovCi0JcGVlcl91c2VyID0gcHN0cmR1cChwdy0+cHdfbmFtZSk7 Ci0KLQlyZXQgPSBjaGVja191c2VybWFwKHBvcnQtPmhiYS0+dXNlcm1hcCwgcG9ydC0+dXNlcl9u YW1lLCBwZWVyX3VzZXIsIGZhbHNlKTsKKwkvKgorCSAqIE1ha2UgYSBjb3B5IG9mIHN0YXRpYyBn ZXRwdyooKSByZXN1bHQgYXJlYTsgdGhpcyBpcyBvdXIgYXV0aGVudGljYXRlZAorCSAqIGlkZW50 aXR5LiBTZXQgaXQgYmVmb3JlIGNhbGxpbmcgY2hlY2tfdXNlcm1hcCwgYmVjYXVzZSBhdXRoZW50 aWNhdGlvbiBoYXMKKwkgKiBhbHJlYWR5IHN1Y2NlZWRlZCBhbmQgd2Ugd2FudCB0aGUgbG9nIGZp bGUgdG8gcmVmbGVjdCB0aGF0LgorCSAqLworCXNldF9hdXRobl9pZChwb3J0LCBwdy0+cHdfbmFt ZSk7CiAKLQlwZnJlZShwZWVyX3VzZXIpOworCXJldCA9IGNoZWNrX3VzZXJtYXAocG9ydC0+aGJh LT51c2VybWFwLCBwb3J0LT51c2VyX25hbWUsIHBvcnQtPmF1dGhuX2lkLCBmYWxzZSk7CiAKIAly ZXR1cm4gcmV0OwogI2Vsc2UKQEAgLTIyMjAsNiArMjMwOSw5IEBAIENoZWNrUEFNQXV0aChQb3J0 ICpwb3J0LCBjb25zdCBjaGFyICp1c2VyLCBjb25zdCBjaGFyICpwYXNzd29yZCkKIAogCXBhbV9w YXNzd2QgPSBOVUxMOwkJCS8qIFVuc2V0IHBhbV9wYXNzd2QgKi8KIAorCWlmIChyZXR2YWwgPT0g UEFNX1NVQ0NFU1MpCisJCXNldF9hdXRobl9pZChwb3J0LCB1c2VyKTsKKwogCXJldHVybiAocmV0 dmFsID09IFBBTV9TVUNDRVNTID8gU1RBVFVTX09LIDogU1RBVFVTX0VSUk9SKTsKIH0KICNlbmRp ZgkJCQkJCQkvKiBVU0VfUEFNICovCkBAIC0yMjU1LDYgKzIzNDcsNyBAQCBDaGVja0JTREF1dGgo UG9ydCAqcG9ydCwgY2hhciAqdXNlcikKIAlpZiAoIXJldHZhbCkKIAkJcmV0dXJuIFNUQVRVU19F UlJPUjsKIAorCXNldF9hdXRobl9pZChwb3J0LCB1c2VyKTsKIAlyZXR1cm4gU1RBVFVTX09LOwog fQogI2VuZGlmCQkJCQkJCS8qIFVTRV9CU0RfQVVUSCAqLwpAQCAtMjc2MSw2ICsyODU0LDkgQEAg Q2hlY2tMREFQQXV0aChQb3J0ICpwb3J0KQogCQlyZXR1cm4gU1RBVFVTX0VSUk9SOwogCX0KIAor CS8qIFNhdmUgdGhlIG9yaWdpbmFsIGJpbmQgRE4gYXMgdGhlIGF1dGhlbnRpY2F0ZWQgaWRlbnRp dHkuICovCisJc2V0X2F1dGhuX2lkKHBvcnQsIGZ1bGx1c2VyKTsKKwogCWxkYXBfdW5iaW5kKGxk YXApOwogCXBmcmVlKHBhc3N3ZCk7CiAJcGZyZWUoZnVsbHVzZXIpOwpAQCAtMjgyNCw2ICsyOTIw LDMxIEBAIENoZWNrQ2VydEF1dGgoUG9ydCAqcG9ydCkKIAkJcmV0dXJuIFNUQVRVU19FUlJPUjsK IAl9CiAKKwlpZiAocG9ydC0+aGJhLT5hdXRoX21ldGhvZCA9PSB1YUNlcnQpCisJeworCQkvKgor CQkgKiBGb3IgY2VydCBhdXRoLCB0aGUgY2xpZW50J3MgU3ViamVjdCBETiBpcyBhbHdheXMgb3Vy IGF1dGhlbnRpY2F0ZWQKKwkJICogaWRlbnRpdHksIGV2ZW4gaWYgd2UncmUgb25seSB1c2luZyBp dHMgQ04gZm9yIGF1dGhvcml6YXRpb24uIFNldCBpdAorCQkgKiBub3csIHJhdGhlciB0aGFuIHdh aXRpbmcgZm9yIGNoZWNrX3VzZXJtYXAgYmVsb3csIGJlY2F1c2UKKwkJICogYXV0aGVudGljYXRp b24gaGFzIGFscmVhZHkgc3VjY2VlZGVkIGFuZCB3ZSB3YW50IHRoZSBsb2cgZmlsZSB0bworCQkg KiByZWZsZWN0IHRoYXQuCisJCSAqLworCQlpZiAoIXBvcnQtPnBlZXJfZG4pCisJCXsKKwkJCS8q CisJCQkgKiBVbmxpa2VseSB0byBoYXBwZW4gKHRoaXMgd291bGQgbWVhbiB0aGF0IHBlZXJfY24g aXMgYmVpbmcgdXNlZAorCQkJICogYnV0IHNvbWVob3cgd2UgY291bGRuJ3QgZmlsbCBpbiBwZWVy X2RuIGF0IHRoZSBzYW1lIHRpbWUpLiBUaGlzCisJCQkgKiBwcm9iYWJseSBpbmRpY2F0ZXMgcHJv YmxlbXMgd2l0aCB0aGUgVExTIGJhY2tlbmQuCisJCQkgKi8KKwkJCWVyZXBvcnQoTE9HLAorCQkJ CQkoZXJybXNnKCJjZXJ0aWZpY2F0ZSBhdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yIHVzZXIgXCIl c1wiOiB1bmFibGUgdG8gcmV0cmlldmUgc3ViamVjdCBETiIsCisJCQkJCQkJcG9ydC0+dXNlcl9u YW1lKSkpOworCQkJcmV0dXJuIFNUQVRVU19FUlJPUjsKKwkJfQorCisJCXNldF9hdXRobl9pZChw b3J0LCBwb3J0LT5wZWVyX2RuKTsKKwl9CisKIAkvKiBKdXN0IHBhc3MgdGhlIGNlcnRpZmljYXRl IGNuL2RuIHRvIHRoZSB1c2VybWFwIGNoZWNrICovCiAJc3RhdHVzX2NoZWNrX3VzZXJtYXAgPSBj aGVja191c2VybWFwKHBvcnQtPmhiYS0+dXNlcm1hcCwgcG9ydC0+dXNlcl9uYW1lLCBwZWVyX3Vz ZXJuYW1lLCBmYWxzZSk7CiAJaWYgKHN0YXR1c19jaGVja191c2VybWFwICE9IFNUQVRVU19PSykK QEAgLTI5OTUsNiArMzExNiw4IEBAIENoZWNrUkFESVVTQXV0aChQb3J0ICpwb3J0KQogCQkgKi8K IAkJaWYgKHJldCA9PSBTVEFUVVNfT0spCiAJCXsKKwkJCXNldF9hdXRobl9pZChwb3J0LCBwb3J0 LT51c2VyX25hbWUpOworCiAJCQlwZnJlZShwYXNzd2QpOwogCQkJcmV0dXJuIFNUQVRVU19PSzsK IAkJfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvaGJhLmMgYi9zcmMvYmFja2VuZC9s aWJwcS9oYmEuYwppbmRleCBmZWI3MTFhNmVmLi5iNzIwYjAzZTlhIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9saWJwcS9oYmEuYworKysgYi9zcmMvYmFja2VuZC9saWJwcS9oYmEuYwpAQCAtMzE0 MSwzICszMTQxLDI3IEBAIGhiYV9nZXRhdXRobWV0aG9kKGhiYVBvcnQgKnBvcnQpCiB7CiAJY2hl Y2tfaGJhKHBvcnQpOwogfQorCisKKy8qCisgKiBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGF1dGgg bWV0aG9kIGluIHVzZSAoImdzcyIsICJtZDUiLCAidHJ1c3QiLCBldGMuKS4KKyAqCisgKiBUaGUg cmV0dXJuIHZhbHVlIGlzIHN0YXRpY2FsbHkgYWxsb2NhdGVkIChzZWUgdGhlIFVzZXJBdXRoTmFt ZSBhcnJheSkgYW5kCisgKiBzaG91bGQgbm90IGJlIGZyZWVkLgorICovCitjb25zdCBjaGFyICoK K2hiYV9hdXRobmFtZShoYmFQb3J0ICpwb3J0KQoreworCVVzZXJBdXRoCWF1dGhfbWV0aG9kOwor CisJQXNzZXJ0KHBvcnQtPmhiYSk7CisJYXV0aF9tZXRob2QgPSBwb3J0LT5oYmEtPmF1dGhfbWV0 aG9kOworCisJaWYgKGF1dGhfbWV0aG9kIDwgMCB8fCBVU0VSX0FVVEhfTEFTVCA8IGF1dGhfbWV0 aG9kKQorCXsKKwkJLyogU2hvdWxkIG5ldmVyIGhhcHBlbi4gKi8KKwkJZWxvZyhGQVRBTCwgInBv cnQgaGFzIG91dC1vZi1ib3VuZHMgVXNlckF1dGg6ICVkIiwgYXV0aF9tZXRob2QpOworCX0KKwor CXJldHVybiBVc2VyQXV0aE5hbWVbYXV0aF9tZXRob2RdOworfQpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvbGlicHEvaGJhLmggYi9zcmMvaW5jbHVkZS9saWJwcS9oYmEuaAppbmRleCAxZWM4NjAz ZGE3Li42M2YyOTYyMTM5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9saWJwcS9oYmEuaAorKysg Yi9zcmMvaW5jbHVkZS9saWJwcS9oYmEuaApAQCAtMTM3LDYgKzEzNyw3IEBAIHR5cGVkZWYgc3Ry dWN0IFBvcnQgaGJhUG9ydDsKIAogZXh0ZXJuIGJvb2wgbG9hZF9oYmEodm9pZCk7CiBleHRlcm4g Ym9vbCBsb2FkX2lkZW50KHZvaWQpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmhiYV9hdXRobmFtZSho YmFQb3J0ICpwb3J0KTsKIGV4dGVybiB2b2lkIGhiYV9nZXRhdXRobWV0aG9kKGhiYVBvcnQgKnBv cnQpOwogZXh0ZXJuIGludAljaGVja191c2VybWFwKGNvbnN0IGNoYXIgKnVzZXJtYXBfbmFtZSwK IAkJCQkJCSAgY29uc3QgY2hhciAqcGdfcm9sZSwgY29uc3QgY2hhciAqYXV0aF91c2VyLApkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaCBiL3NyYy9pbmNsdWRlL2xpYnBx L2xpYnBxLWJlLmgKaW5kZXggNzEzYzM0ZmVkZC4uMzEyZWRkN2ZkMCAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaAorKysgYi9zcmMvaW5jbHVkZS9saWJwcS9saWJwcS1i ZS5oCkBAIC0xNTksNiArMTU5LDE4IEBAIHR5cGVkZWYgc3RydWN0IFBvcnQKIAkgKi8KIAlIYmFM aW5lICAgICpoYmE7CiAKKwkvKgorCSAqIEF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkuIFRoZSBtZWFu aW5nIG9mIHRoaXMgaWRlbnRpZmllciBpcyBkZXBlbmRlbnQgb24KKwkgKiBoYmEtPmF1dGhfbWV0 aG9kOyBpdCdzIHRoZSBpZGVudGl0eSAoaWYgYW55KSB0aGF0IHRoZSB1c2VyIHByZXNlbnRlZAor CSAqIGR1cmluZyB0aGUgYXV0aGVudGljYXRpb24gY3ljbGUsIGJlZm9yZSB0aGV5IHdlcmUgYXNz aWduZWQgYSByb2xlLiAoSXQncworCSAqIGVmZmVjdGl2ZWx5IHRoZSAiU1lTVEVNLVVTRVJOQU1F IiBvZiBhIHBnX2lkZW50IHVzZXJtYXAgLS0gdGhvdWdoIHRoZQorCSAqIGV4YWN0IHN0cmluZyBp biB1c2UgbWF5IGJlIGRpZmZlcmVudCwgZGVwZW5kaW5nIG9uIHBnX2hiYSBvcHRpb25zLikKKwkg KgorCSAqIGF1dGhuX2lkIGlzIE5VTEwgaWYgdGhlIHVzZXIgaGFzIG5vdCBhY3R1YWxseSBiZWVu IGF1dGhlbnRpY2F0ZWQsIGZvcgorCSAqIGV4YW1wbGUgaWYgdGhlICJ0cnVzdCIgYXV0aCBtZXRo b2QgaXMgaW4gdXNlLgorCSAqLworCWNvbnN0IGNoYXIgICAqYXV0aG5faWQ7CisKIAkvKgogCSAq IFRDUCBrZWVwYWxpdmUgYW5kIHVzZXIgdGltZW91dCBzZXR0aW5ncy4KIAkgKgpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvYXV0aGVudGljYXRpb24vdC8wMDFfcGFzc3dvcmQucGwgYi9zcmMvdGVzdC9h dXRoZW50aWNhdGlvbi90LzAwMV9wYXNzd29yZC5wbAppbmRleCAzNmE2MTZkN2M3Li5hZGViM2Jj ZTMzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9hdXRoZW50aWNhdGlvbi90LzAwMV9wYXNzd29yZC5w bAorKysgYi9zcmMvdGVzdC9hdXRoZW50aWNhdGlvbi90LzAwMV9wYXNzd29yZC5wbApAQCAtMTcs NyArMTcsNyBAQCBpZiAoISR1c2VfdW5peF9zb2NrZXRzKQogfQogZWxzZQogewotCXBsYW4gdGVz dHMgPT4gMTM7CisJcGxhbiB0ZXN0cyA9PiAyMTsKIH0KIAogCkBAIC01Nyw2ICs1Nyw3IEBAIHN1 YiB0ZXN0X3JvbGUKICMgSW5pdGlhbGl6ZSBwcmltYXJ5IG5vZGUKIG15ICRub2RlID0gZ2V0X25l d19ub2RlKCdwcmltYXJ5Jyk7CiAkbm9kZS0+aW5pdDsKKyRub2RlLT5hcHBlbmRfY29uZigncG9z dGdyZXNxbC5jb25mJywgImxvZ19jb25uZWN0aW9ucyA9IG9uXG4iKTsKICRub2RlLT5zdGFydDsK IAogIyBDcmVhdGUgMyByb2xlcyB3aXRoIGRpZmZlcmVudCBwYXNzd29yZCBtZXRob2RzIGZvciBl YWNoIG9uZS4gVGhlIHNhbWUKQEAgLTY5LDI3ICs3MCwxMDEgQEAgJG5vZGUtPnNhZmVfcHNxbCgn cG9zdGdyZXMnLAogKTsKICRFTlZ7IlBHUEFTU1dPUkQifSA9ICdwYXNzJzsKIAorbXkgJGxvZyA9 ICRub2RlLT5yb3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnJlc3RhcnQ7CisKICMgRm9yICJ0cnVz dCIgbWV0aG9kLCBhbGwgdXNlcnMgc2hvdWxkIGJlIGFibGUgdG8gY29ubmVjdC4KIHJlc2V0X3Bn X2hiYSgkbm9kZSwgJ3RydXN0Jyk7CiB0ZXN0X3JvbGUoJG5vZGUsICdzY3JhbV9yb2xlJywgJ3Ry dXN0JywgMCk7CiB0ZXN0X3JvbGUoJG5vZGUsICdtZDVfcm9sZScsICAgJ3RydXN0JywgMCk7CiAK KyRub2RlLT5zdG9wKCdmYXN0Jyk7CitteSAkbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9n KTsKKwordW5saWtlKAorCSRsb2dfY29udGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNh dGVkOi8sCisJInRydXN0IG1ldGhvZCBkb2VzIG5vdCBhdXRoZW50aWNhdGUgdXNlcnMiKTsKKwor JGxvZyA9ICRub2RlLT5yb3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnN0YXJ0OworCiAjIEZvciBw bGFpbiAicGFzc3dvcmQiIG1ldGhvZCwgYWxsIHVzZXJzIHNob3VsZCBhbHNvIGJlIGFibGUgdG8g Y29ubmVjdC4KIHJlc2V0X3BnX2hiYSgkbm9kZSwgJ3Bhc3N3b3JkJyk7CiB0ZXN0X3JvbGUoJG5v ZGUsICdzY3JhbV9yb2xlJywgJ3Bhc3N3b3JkJywgMCk7CiB0ZXN0X3JvbGUoJG5vZGUsICdtZDVf cm9sZScsICAgJ3Bhc3N3b3JkJywgMCk7CiAKKyRub2RlLT5zdG9wKCdmYXN0Jyk7CiskbG9nX2Nv bnRlbnRzID0gc2x1cnBfZmlsZSgkbG9nKTsKKworbGlrZSgKKwkkbG9nX2NvbnRlbnRzLAorCXFy L2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InNjcmFtX3JvbGUiIG1ldGhvZD1w YXNzd29yZC8sCisJInBhc3N3b3JkIG1ldGhvZCBsb2dzIGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHki KTsKKworJGxvZyA9ICRub2RlLT5yb3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnN0YXJ0OworCiAj IEZvciAic2NyYW0tc2hhLTI1NiIgbWV0aG9kLCB1c2VyICJzY3JhbV9yb2xlIiBzaG91bGQgYmUg YWJsZSB0byBjb25uZWN0LgogcmVzZXRfcGdfaGJhKCRub2RlLCAnc2NyYW0tc2hhLTI1NicpOwog dGVzdF9yb2xlKCRub2RlLCAnc2NyYW1fcm9sZScsICdzY3JhbS1zaGEtMjU2JywgMCk7CiB0ZXN0 X3JvbGUoJG5vZGUsICdtZDVfcm9sZScsICAgJ3NjcmFtLXNoYS0yNTYnLCAyKTsKIAorJG5vZGUt PnN0b3AoJ2Zhc3QnKTsKKyRsb2dfY29udGVudHMgPSBzbHVycF9maWxlKCRsb2cpOworCitsaWtl KAorCSRsb2dfY29udGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0 eT0ic2NyYW1fcm9sZSIgbWV0aG9kPXNjcmFtLXNoYS0yNTYvLAorCSJzY3JhbS1zaGEtMjU2IG1l dGhvZCBsb2dzIGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkiKTsKKwordW5saWtlKAorCSRsb2dfY29u dGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0ibWQ1X3JvbGUi LywKKwkibWlzbWF0Y2hlZCBjcnlwdCBtZXRob2RzIGRvIG5vdCByZXN1bHQgaW4gYXV0aGVudGlj YXRpb24iKTsKKworJGxvZyA9ICRub2RlLT5yb3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnN0YXJ0 OworCisjIFRlc3QgdGhhdCBiYWQgcGFzc3dvcmRzIGFyZSByZWplY3RlZC4KKyRFTlZ7IlBHUEFT U1dPUkQifSA9ICdiYWRwYXNzJzsKK3Rlc3Rfcm9sZSgkbm9kZSwgJ3NjcmFtX3JvbGUnLCAnc2Ny YW0tc2hhLTI1NicsIDIpOworJEVOVnsiUEdQQVNTV09SRCJ9ID0gJ3Bhc3MnOworCiskbm9kZS0+ c3RvcCgnZmFzdCcpOworJGxvZ19jb250ZW50cyA9IHNsdXJwX2ZpbGUoJGxvZyk7CisKKyMgTWFr ZSBzdXJlIGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkgaXNuJ3Qgc2V0IGlmIHRoZSBwYXNzd29yZCBp cyB3cm9uZy4KK3VubGlrZSgKKwkkbG9nX2NvbnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVu dGljYXRlZDovLAorCSJTQ1JBTSBkb2VzIG5vdCBzZXQgYXV0aGVudGljYXRlZCBpZGVudGl0eSB3 aXRoIGJhZCBwYXNzd29yZCIpOworCiskbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Cisk bm9kZS0+c3RhcnQ7CisKICMgRm9yICJtZDUiIG1ldGhvZCwgYWxsIHVzZXJzIHNob3VsZCBiZSBh YmxlIHRvIGNvbm5lY3QgKFNDUkFNCiAjIGF1dGhlbnRpY2F0aW9uIHdpbGwgYmUgcGVyZm9ybWVk IGZvciB0aGUgdXNlciB3aXRoIGEgU0NSQU0gc2VjcmV0LikKIHJlc2V0X3BnX2hiYSgkbm9kZSwg J21kNScpOwogdGVzdF9yb2xlKCRub2RlLCAnc2NyYW1fcm9sZScsICdtZDUnLCAwKTsKIHRlc3Rf cm9sZSgkbm9kZSwgJ21kNV9yb2xlJywgICAnbWQ1JywgMCk7CiAKKyRub2RlLT5zdG9wKCdmYXN0 Jyk7CiskbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9nKTsKKworbGlrZSgKKwkkbG9nX2Nv bnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9Im1kNV9yb2xl IiBtZXRob2Q9bWQ1LywKKwkibWQ1IG1ldGhvZCBsb2dzIGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHki KTsKKworbGlrZSgKKwkkbG9nX2NvbnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRl ZDogaWRlbnRpdHk9InNjcmFtX3JvbGUiIG1ldGhvZD1tZDUvLAorCSJtZDUgbWV0aG9kIGxvZ3Mg YXV0aGVudGljYXRlZCBpZGVudGl0eSBmb3IgU0NSQU0gdXNlcnMgdG9vIik7CisKKyRsb2cgPSAk bm9kZS0+cm90YXRlX2xvZ2ZpbGUoKTsKKyRub2RlLT5zdGFydDsKKwogIyBUZXN0cyBmb3IgY2hh bm5lbCBiaW5kaW5nIHdpdGhvdXQgU1NMLgogIyBVc2luZyB0aGUgcGFzc3dvcmQgYXV0aGVudGlj YXRpb24gbWV0aG9kOyBjaGFubmVsIGJpbmRpbmcgY2FuJ3Qgd29yawogcmVzZXRfcGdfaGJhKCRu b2RlLCAncGFzc3dvcmQnKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2tlcmJlcm9zL3QvMDAxX2F1 dGgucGwgYi9zcmMvdGVzdC9rZXJiZXJvcy90LzAwMV9hdXRoLnBsCmluZGV4IDM4ZTllZjdiMWYu LjI3MWU1NjgyNGIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2tlcmJlcm9zL3QvMDAxX2F1dGgucGwK KysrIGIvc3JjL3Rlc3Qva2VyYmVyb3MvdC8wMDFfYXV0aC5wbApAQCAtMjAsNyArMjAsNyBAQCB1 c2UgVGltZTo6SGlSZXMgcXcodXNsZWVwKTsKIAogaWYgKCRFTlZ7d2l0aF9nc3NhcGl9IGVxICd5 ZXMnKQogewotCXBsYW4gdGVzdHMgPT4gMjY7CisJcGxhbiB0ZXN0cyA9PiAzODsKIH0KIGVsc2UK IHsKQEAgLTE4Miw3ICsxODIsNyBAQCBub3RlICJydW5uaW5nIHRlc3RzIjsKICMgVGVzdCBjb25u ZWN0aW9uIHN1Y2Nlc3Mgb3IgZmFpbHVyZSwgYW5kIGlmIHN1Y2Nlc3MsIHRoYXQgcXVlcnkgcmV0 dXJucyB0cnVlLgogc3ViIHRlc3RfYWNjZXNzCiB7Ci0JbXkgKCRub2RlLCAkcm9sZSwgJHF1ZXJ5 LCAkZXhwZWN0ZWRfcmVzLCAkZ3NzZW5jbW9kZSwgJHRlc3RfbmFtZSwgJGV4cGVjdF9sb2dfbXNn KSA9IEBfOworCW15ICgkbm9kZSwgJHJvbGUsICRxdWVyeSwgJGV4cGVjdGVkX3JlcywgJGdzc2Vu Y21vZGUsICR0ZXN0X25hbWUsIEBleHBlY3RfbG9nX21zZ3MpID0gQF87CiAKIAkjIG5lZWQgdG8g Y29ubmVjdCBvdmVyIFRDUC9JUCBmb3IgS2VyYmVyb3MKIAlteSAoJHJlcywgJHN0ZG91dHJlcywg JHN0ZGVycnJlcykgPSAkbm9kZS0+cHNxbCgKQEAgLTIwNiw4ICsyMDYsOCBAQCBzdWIgdGVzdF9h Y2Nlc3MKIAkJaXMoJHJlcywgJGV4cGVjdGVkX3JlcywgJHRlc3RfbmFtZSk7CiAJfQogCi0JIyBW ZXJpZnkgc3BlY2lmaWVkIGxvZyBtZXNzYWdlIGlzIGxvZ2dlZCBpbiB0aGUgbG9nIGZpbGUuCi0J aWYgKCRleHBlY3RfbG9nX21zZyBuZSAnJykKKwkjIFZlcmlmeSBzcGVjaWZpZWQgbG9nIG1lc3Nh Z2VzIGFyZSBsb2dnZWQgaW4gdGhlIGxvZyBmaWxlLgorCXdoaWxlIChteSAkZXhwZWN0X2xvZ19t c2cgPSBzaGlmdCBAZXhwZWN0X2xvZ19tc2dzKQogCXsKIAkJbXkgJGZpcnN0X2xvZ2ZpbGUgPSBz bHVycF9maWxlKCRub2RlLT5sb2dmaWxlKTsKIApAQCAtMjQ5LDExICsyNDksMTMgQEAgJG5vZGUt PmFwcGVuZF9jb25mKCdwZ19oYmEuY29uZicsCiAJcXF7aG9zdCBhbGwgYWxsICRob3N0YWRkci8z MiBnc3MgbWFwPW15bWFwfSk7CiAkbm9kZS0+cmVzdGFydDsKIAotdGVzdF9hY2Nlc3MoJG5vZGUs ICd0ZXN0MScsICdTRUxFQ1QgdHJ1ZScsIDIsICcnLCAnZmFpbHMgd2l0aG91dCB0aWNrZXQnLCAn Jyk7Cit0ZXN0X2FjY2Vzcygkbm9kZSwgJ3Rlc3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJycsICdm YWlscyB3aXRob3V0IHRpY2tldCcpOwogCiBydW5fbG9nIFsgJGtpbml0LCAndGVzdDEnIF0sIFwk dGVzdDFfcGFzc3dvcmQgb3IgQkFJTF9PVVQoJD8pOwogCi10ZXN0X2FjY2Vzcygkbm9kZSwgJ3Rl c3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJycsICdmYWlscyB3aXRob3V0IG1hcHBpbmcnLCAnJyk7 Cit0ZXN0X2FjY2Vzcygkbm9kZSwgJ3Rlc3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJycsICdmYWls cyB3aXRob3V0IG1hcHBpbmcnLAorCSJjb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5 PVwidGVzdDFcQCRyZWFsbVwiIG1ldGhvZD1nc3MiLAorCSJubyBtYXRjaCBpbiB1c2VybWFwIFwi bXltYXBcIiBmb3IgdXNlciBcInRlc3QxXCIiKTsKIAogJG5vZGUtPmFwcGVuZF9jb25mKCdwZ19p ZGVudC5jb25mJywgcXF7bXltYXAgIC9eKC4qKVxAJHJlYWxtXCQgIFxcMX0pOwogJG5vZGUtPnJl c3RhcnQ7CkBAIC0yNjUsNiArMjY3LDcgQEAgdGVzdF9hY2Nlc3MoCiAJMCwKIAknJywKIAknc3Vj Y2VlZHMgd2l0aCBtYXBwaW5nIHdpdGggZGVmYXVsdCBnc3NlbmNtb2RlIGFuZCBob3N0IGhiYScs CisJImNvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9XCJ0ZXN0MVxAJHJlYWxtXCIg bWV0aG9kPWdzcyIsCiAJImNvbm5lY3Rpb24gYXV0aG9yaXplZDogdXNlcj0kdXNlcm5hbWUgZGF0 YWJhc2U9JGRibmFtZSBhcHBsaWNhdGlvbl9uYW1lPSRhcHBsaWNhdGlvbiBHU1MgKGF1dGhlbnRp Y2F0ZWQ9eWVzLCBlbmNyeXB0ZWQ9eWVzLCBwcmluY2lwYWw9dGVzdDFcQCRyZWFsbSkiCiApOwog CkBAIC0yNzUsNiArMjc4LDcgQEAgdGVzdF9hY2Nlc3MoCiAJMCwKIAknZ3NzZW5jbW9kZT1wcmVm ZXInLAogCSdzdWNjZWVkcyB3aXRoIEdTUy1lbmNyeXB0ZWQgYWNjZXNzIHByZWZlcnJlZCB3aXRo IGhvc3QgaGJhJywKKwkiY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT1cInRlc3Qx XEAkcmVhbG1cIiBtZXRob2Q9Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2VyPSR1 c2VybmFtZSBkYXRhYmFzZT0kZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9JGFwcGxpY2F0aW9uIEdT UyAoYXV0aGVudGljYXRlZD15ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5jaXBhbD10ZXN0MVxAJHJl YWxtKSIKICk7CiB0ZXN0X2FjY2VzcygKQEAgLTI4NCw2ICsyODgsNyBAQCB0ZXN0X2FjY2VzcygK IAkwLAogCSdnc3NlbmNtb2RlPXJlcXVpcmUnLAogCSdzdWNjZWVkcyB3aXRoIEdTUy1lbmNyeXB0 ZWQgYWNjZXNzIHJlcXVpcmVkIHdpdGggaG9zdCBoYmEnLAorCSJjb25uZWN0aW9uIGF1dGhlbnRp Y2F0ZWQ6IGlkZW50aXR5PVwidGVzdDFcQCRyZWFsbVwiIG1ldGhvZD1nc3MiLAogCSJjb25uZWN0 aW9uIGF1dGhvcml6ZWQ6IHVzZXI9JHVzZXJuYW1lIGRhdGFiYXNlPSRkYm5hbWUgYXBwbGljYXRp b25fbmFtZT0kYXBwbGljYXRpb24gR1NTIChhdXRoZW50aWNhdGVkPXllcywgZW5jcnlwdGVkPXll cywgcHJpbmNpcGFsPXRlc3QxXEAkcmVhbG0pIgogKTsKIApAQCAtMzIwLDYgKzMyNSw3IEBAIHRl c3RfYWNjZXNzKAogCTAsCiAJJ2dzc2VuY21vZGU9cHJlZmVyJywKIAknc3VjY2VlZHMgd2l0aCBH U1MtZW5jcnlwdGVkIGFjY2VzcyBwcmVmZXJyZWQgYW5kIGhvc3Rnc3NlbmMgaGJhJywKKwkiY29u bmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT1cInRlc3QxXEAkcmVhbG1cIiBtZXRob2Q9 Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2VyPSR1c2VybmFtZSBkYXRhYmFzZT0k ZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9JGFwcGxpY2F0aW9uIEdTUyAoYXV0aGVudGljYXRlZD15 ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5jaXBhbD10ZXN0MVxAJHJlYWxtKSIKICk7CiB0ZXN0X2Fj Y2VzcygKQEAgLTMyOSwxMCArMzM1LDExIEBAIHRlc3RfYWNjZXNzKAogCTAsCiAJJ2dzc2VuY21v ZGU9cmVxdWlyZScsCiAJJ3N1Y2NlZWRzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3MgcmVxdWly ZWQgYW5kIGhvc3Rnc3NlbmMgaGJhJywKKwkiY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVu dGl0eT1cInRlc3QxXEAkcmVhbG1cIiBtZXRob2Q9Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRob3Jp emVkOiB1c2VyPSR1c2VybmFtZSBkYXRhYmFzZT0kZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9JGFw cGxpY2F0aW9uIEdTUyAoYXV0aGVudGljYXRlZD15ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5jaXBh bD10ZXN0MVxAJHJlYWxtKSIKICk7CiB0ZXN0X2FjY2Vzcygkbm9kZSwgJ3Rlc3QxJywgJ1NFTEVD VCB0cnVlJywgMiwgJ2dzc2VuY21vZGU9ZGlzYWJsZScsCi0JJ2ZhaWxzIHdpdGggR1NTIGVuY3J5 cHRpb24gZGlzYWJsZWQgYW5kIGhvc3Rnc3NlbmMgaGJhJywgJycpOworCSdmYWlscyB3aXRoIEdT UyBlbmNyeXB0aW9uIGRpc2FibGVkIGFuZCBob3N0Z3NzZW5jIGhiYScpOwogCiB1bmxpbmsoJG5v ZGUtPmRhdGFfZGlyIC4gJy9wZ19oYmEuY29uZicpOwogJG5vZGUtPmFwcGVuZF9jb25mKCdwZ19o YmEuY29uZicsCkBAIC0zNDYsMTAgKzM1MywxMSBAQCB0ZXN0X2FjY2VzcygKIAkwLAogCSdnc3Nl bmNtb2RlPXByZWZlcicsCiAJJ3N1Y2NlZWRzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3MgcHJl ZmVycmVkIGFuZCBob3N0bm9nc3NlbmMgaGJhLCBidXQgbm8gZW5jcnlwdGlvbicsCisJImNvbm5l Y3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9XCJ0ZXN0MVxAJHJlYWxtXCIgbWV0aG9kPWdz cyIsCiAJImNvbm5lY3Rpb24gYXV0aG9yaXplZDogdXNlcj0kdXNlcm5hbWUgZGF0YWJhc2U9JGRi bmFtZSBhcHBsaWNhdGlvbl9uYW1lPSRhcHBsaWNhdGlvbiBHU1MgKGF1dGhlbnRpY2F0ZWQ9eWVz LCBlbmNyeXB0ZWQ9bm8sIHByaW5jaXBhbD10ZXN0MVxAJHJlYWxtKSIKICk7CiB0ZXN0X2FjY2Vz cygkbm9kZSwgJ3Rlc3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJ2dzc2VuY21vZGU9cmVxdWlyZScs Ci0JJ2ZhaWxzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3MgcmVxdWlyZWQgYW5kIGhvc3Rub2dz c2VuYyBoYmEnLCAnJyk7CisJJ2ZhaWxzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3MgcmVxdWly ZWQgYW5kIGhvc3Rub2dzc2VuYyBoYmEnKTsKIHRlc3RfYWNjZXNzKAogCSRub2RlLAogCSd0ZXN0 MScsCkBAIC0zNTcsNiArMzY1LDcgQEAgdGVzdF9hY2Nlc3MoCiAJMCwKIAknZ3NzZW5jbW9kZT1k aXNhYmxlJywKIAknc3VjY2VlZHMgd2l0aCBHU1MgZW5jcnlwdGlvbiBkaXNhYmxlZCBhbmQgaG9z dG5vZ3NzZW5jIGhiYScsCisJImNvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9XCJ0 ZXN0MVxAJHJlYWxtXCIgbWV0aG9kPWdzcyIsCiAJImNvbm5lY3Rpb24gYXV0aG9yaXplZDogdXNl cj0kdXNlcm5hbWUgZGF0YWJhc2U9JGRibmFtZSBhcHBsaWNhdGlvbl9uYW1lPSRhcHBsaWNhdGlv biBHU1MgKGF1dGhlbnRpY2F0ZWQ9eWVzLCBlbmNyeXB0ZWQ9bm8sIHByaW5jaXBhbD10ZXN0MVxA JHJlYWxtKSIKICk7CiAKQEAgLTM3Myw1ICszODIsMTYgQEAgdGVzdF9hY2Nlc3MoCiAJMCwKIAkn JywKIAknc3VjY2VlZHMgd2l0aCBpbmNsdWRlX3JlYWxtPTAgYW5kIGRlZmF1bHRzJywKKwkiY29u bmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT1cInRlc3QxXEAkcmVhbG1cIiBtZXRob2Q9 Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2VyPSR1c2VybmFtZSBkYXRhYmFzZT0k ZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9JGFwcGxpY2F0aW9uIEdTUyAoYXV0aGVudGljYXRlZD15 ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5jaXBhbD10ZXN0MVxAJHJlYWxtKSIKICk7CisKK3VubGlu aygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7Ciskbm9kZS0+YXBwZW5kX2NvbmYo J3BnX2hiYS5jb25mJywKKwlxcXtob3N0IGFsbCBhbGwgJGhvc3RhZGRyLzMyIGdzcyBpbmNsdWRl X3JlYWxtPTAga3JiX3JlYWxtPUVYQU1QTEUuT1JHfSk7Ciskbm9kZS0+cmVzdGFydDsKKwordGVz dF9hY2Nlc3MoJG5vZGUsICd0ZXN0MScsICdTRUxFQ1QgdHJ1ZScsIDIsICcnLAorCSdmYWlscyB3 aXRoIHdyb25nIGtyYl9yZWFsbSwgYnV0IHN0aWxsIGF1dGhlbnRpY2F0ZXMnLAorCSJjb25uZWN0 aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PVwidGVzdDFcQCRyZWFsbVwiIG1ldGhvZD1nc3Mi CispOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbGRhcC90LzAwMV9hdXRoLnBsIGIvc3JjL3Rlc3Qv bGRhcC90LzAwMV9hdXRoLnBsCmluZGV4IDNiYzc2NzI0NTEuLjk0Zjg4NTBjYTggMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L2xkYXAvdC8wMDFfYXV0aC5wbAorKysgYi9zcmMvdGVzdC9sZGFwL3QvMDAx X2F1dGgucGwKQEAgLTYsNyArNiw3IEBAIHVzZSBUZXN0OjpNb3JlOwogCiBpZiAoJEVOVnt3aXRo X2xkYXB9IGVxICd5ZXMnKQogewotCXBsYW4gdGVzdHMgPT4gMjI7CisJcGxhbiB0ZXN0cyA9PiAy NDsKIH0KIGVsc2UKIHsKQEAgLTE1Miw2ICsxNTIsNyBAQCBub3RlICJzZXR0aW5nIHVwIFBvc3Rn cmVTUUwgaW5zdGFuY2UiOwogCiBteSAkbm9kZSA9IGdldF9uZXdfbm9kZSgnbm9kZScpOwogJG5v ZGUtPmluaXQ7Ciskbm9kZS0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwuY29uZicsICJsb2dfY29u bmVjdGlvbnMgPSBvblxuIik7CiAkbm9kZS0+c3RhcnQ7CiAKICRub2RlLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgJ0NSRUFURSBVU0VSIHRlc3QwOycpOwpAQCAtMTczLDYgKzE3NCw5IEBAIHN1YiB0 ZXN0X2FjY2VzcwogCiBub3RlICJzaW1wbGUgYmluZCI7CiAKKyMgc2F2ZSBsb2cgbG9jYXRpb24g Zm9yIGxhdGVyIHRlc3RzCitteSAkbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7CisKIHVu bGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7CiAkbm9kZS0+YXBwZW5kX2Nv bmYoJ3BnX2hiYS5jb25mJywKIAlxcXtsb2NhbCBhbGwgYWxsIGxkYXAgbGRhcHNlcnZlcj0kbGRh cF9zZXJ2ZXIgbGRhcHBvcnQ9JGxkYXBfcG9ydCBsZGFwcHJlZml4PSJ1aWQ9IiBsZGFwc3VmZml4 PSIsZGM9ZXhhbXBsZSxkYz1uZXQifQpAQCAtMTg0LDkgKzE4OCwzMSBAQCB0ZXN0X2FjY2Vzcygk bm9kZSwgJ3Rlc3QwJywgMiwKIAknc2ltcGxlIGJpbmQgYXV0aGVudGljYXRpb24gZmFpbHMgaWYg dXNlciBub3QgZm91bmQgaW4gTERBUCcpOwogdGVzdF9hY2Nlc3MoJG5vZGUsICd0ZXN0MScsIDIs CiAJJ3NpbXBsZSBiaW5kIGF1dGhlbnRpY2F0aW9uIGZhaWxzIHdpdGggd3JvbmcgcGFzc3dvcmQn KTsKKworJG5vZGUtPnN0b3AoJ2Zhc3QnKTsKK215ICRsb2dfY29udGVudHMgPSBzbHVycF9maWxl KCRsb2cpOworCit1bmxpa2UoCisJJGxvZ19jb250ZW50cywKKwlxci9jb25uZWN0aW9uIGF1dGhl bnRpY2F0ZWQ6LywKKwkidW5hdXRoZW50aWNhdGVkIEROcyBhcmUgbm90IGxvZ2dlZCIpOworCisk bG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Ciskbm9kZS0+c3RhcnQ7CisKICRFTlZ7IlBH UEFTU1dPUkQifSA9ICdzZWNyZXQxJzsKIHRlc3RfYWNjZXNzKCRub2RlLCAndGVzdDEnLCAwLCAn c2ltcGxlIGJpbmQgYXV0aGVudGljYXRpb24gc3VjY2VlZHMnKTsKIAorJG5vZGUtPnN0b3AoJ2Zh c3QnKTsKKyRsb2dfY29udGVudHMgPSBzbHVycF9maWxlKCRsb2cpOworCitsaWtlKAorCSRsb2df Y29udGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRl c3QxLGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJImF1dGhlbnRpY2F0ZWQgRE5z IGFyZSBsb2dnZWQiKTsKKworJG5vZGUtPnN0YXJ0OworCiBub3RlICJzZWFyY2grYmluZCI7CiAK IHVubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9zc2wvdC8wMDFfc3NsdGVzdHMucGwgYi9zcmMvdGVzdC9zc2wvdC8wMDFfc3NsdGVz dHMucGwKaW5kZXggYWRhYTFiNGU5Yi4uYjVmYjE1Zjc5NCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv c3NsL3QvMDAxX3NzbHRlc3RzLnBsCisrKyBiL3NyYy90ZXN0L3NzbC90LzAwMV9zc2x0ZXN0cy5w bApAQCAtMTAsNiArMTAsNyBAQCB1c2UgRmluZEJpbjsKIHVzZSBsaWIgJEZpbmRCaW46OlJlYWxC aW47CiAKIHVzZSBTU0xTZXJ2ZXI7Cit1c2UgTG9nQ29sbGVjdG9yOwogCiBpZiAoJEVOVnt3aXRo X3NzbH0gbmUgJ29wZW5zc2wnKQogewpAQCAtMTcsNyArMTgsNyBAQCBpZiAoJEVOVnt3aXRoX3Nz bH0gbmUgJ29wZW5zc2wnKQogfQogZWxzZQogewotCXBsYW4gdGVzdHMgPT4gMTAzOworCXBsYW4g dGVzdHMgPT4gMTA4OwogfQogCiAjIyMjIFNvbWUgY29uZmlndXJhdGlvbgpAQCAtNDU0LDYgKzQ1 NSw4IEBAIHRlc3RfY29ubmVjdF9mYWlscygKICk7CiAKIAorbXkgJGxvZyA9IExvZ0NvbGxlY3Rv ci0+bmV3KCRub2RlKTsKKwogIyBjb3JyZWN0IGNsaWVudCBjZXJ0IHVzaW5nIHdob2xlIEROCiBt eSAkZG5fY29ubnN0ciA9ICIkY29tbW9uX2Nvbm5zdHIgZGJuYW1lPWNlcnRkYl9kbiI7CiAKQEAg LTQ2Myw2ICs0NjYsMTAgQEAgdGVzdF9jb25uZWN0X29rKAogCSJjZXJ0aWZpY2F0ZSBhdXRob3Jp emF0aW9uIHN1Y2NlZWRzIHdpdGggRE4gbWFwcGluZyIKICk7CiAKKyRsb2ctPmxpa2UoCisJcXIv Y29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0iQ049c3NsdGVzdHVzZXItZG4sT1U9 VGVzdGluZyxPVT1FbmdpbmVlcmluZyxPPVBHREciIG1ldGhvZD1jZXJ0LywKKwkiYXV0aGVudGlj YXRlZCBETnMgYXJlIGxvZ2dlZCIpOworCiAjIHNhbWUgdGhpbmcgYnV0IHdpdGggYSByZWdleAog JGRuX2Nvbm5zdHIgPSAiJGNvbW1vbl9jb25uc3RyIGRibmFtZT1jZXJ0ZGJfZG5fcmUiOwogCkBA IC00NzIsNiArNDc5LDggQEAgdGVzdF9jb25uZWN0X29rKAogCSJjZXJ0aWZpY2F0ZSBhdXRob3Jp emF0aW9uIHN1Y2NlZWRzIHdpdGggRE4gcmVnZXggbWFwcGluZyIKICk7CiAKKyRsb2ctPnJvdGF0 ZTsKKwogIyBzYW1lIHRoaW5nIGJ1dCB1c2luZyBleHBsaWNpdCBDTgogJGRuX2Nvbm5zdHIgPSAi JGNvbW1vbl9jb25uc3RyIGRibmFtZT1jZXJ0ZGJfY24iOwogCkBAIC00ODEsNiArNDkwLDkgQEAg dGVzdF9jb25uZWN0X29rKAogCSJjZXJ0aWZpY2F0ZSBhdXRob3JpemF0aW9uIHN1Y2NlZWRzIHdp dGggQ04gbWFwcGluZyIKICk7CiAKKyRsb2ctPmxpa2UoCisJcXIvY29ubmVjdGlvbiBhdXRoZW50 aWNhdGVkOiBpZGVudGl0eT0iQ049c3NsdGVzdHVzZXItZG4sT1U9VGVzdGluZyxPVT1FbmdpbmVl cmluZyxPPVBHREciIG1ldGhvZD1jZXJ0LywKKwkiZnVsbCBhdXRoZW50aWNhdGVkIEROcyBhcmUg bG9nZ2VkIGV2ZW4gaW4gQ04gbWFwcGluZyBtb2RlIik7CiAKIAogVE9ETzoKQEAgLTUzOSw2ICs1 NTEsOCBAQCBTS0lQOgogCQkiY2VydGlmaWNhdGUgYXV0aG9yaXphdGlvbiBmYWlscyBiZWNhdXNl IG9mIGZpbGUgcGVybWlzc2lvbnMiKTsKIH0KIAorJGxvZy0+cm90YXRlOworCiAjIGNsaWVudCBj ZXJ0IGJlbG9uZ2luZyB0byBhbm90aGVyIHVzZXIKIHRlc3RfY29ubmVjdF9mYWlscygKIAkkY29t bW9uX2Nvbm5zdHIsCkBAIC01NDcsNiArNTYxLDEwIEBAIHRlc3RfY29ubmVjdF9mYWlscygKIAki Y2VydGlmaWNhdGUgYXV0aG9yaXphdGlvbiBmYWlscyB3aXRoIGNsaWVudCBjZXJ0IGJlbG9uZ2lu ZyB0byBhbm90aGVyIHVzZXIiCiApOwogCiskbG9nLT5saWtlKAorCXFyL2Nvbm5lY3Rpb24gYXV0 aGVudGljYXRlZDogaWRlbnRpdHk9IkNOPXNzbHRlc3R1c2VyIiBtZXRob2Q9Y2VydC8sCisJImNl cnQgYXV0aGVudGljYXRpb24gc3VjY2VlZHMgZXZlbiBpZiBhdXRob3JpemF0aW9uIGZhaWxzIik7 CisKICMgcmV2b2tlZCBjbGllbnQgY2VydAogdGVzdF9jb25uZWN0X2ZhaWxzKAogCSRjb21tb25f Y29ubnN0ciwKQEAgLTU1NCw2ICs1NzIsMTAgQEAgdGVzdF9jb25uZWN0X2ZhaWxzKAogCXFyL1NT TCBlcnJvci8sCiAJImNlcnRpZmljYXRlIGF1dGhvcml6YXRpb24gZmFpbHMgd2l0aCByZXZva2Vk IGNsaWVudCBjZXJ0Iik7CiAKKyRsb2ctPnVubGlrZSgKKwlxci9jb25uZWN0aW9uIGF1dGhlbnRp Y2F0ZWQ6LywKKwkicmV2b2tlZCBjZXJ0cyBkbyBub3QgYXV0aGVudGljYXRlIHVzZXJzIik7CisK ICMgQ2hlY2sgdGhhdCBjb25uZWN0aW5nIHdpdGggYXV0aC1vcHRpb24gdmVyaWZ5LWZ1bGwgaW4g cGdfaGJhOgogIyB3b3JrcywgaWZmIHVzZXJuYW1lIG1hdGNoZXMgQ29tbW9uIE5hbWUKICMgZmFp bHMsIGlmZiB1c2VybmFtZSBkb2Vzbid0IG1hdGNoIENvbW1vbiBOYW1lLgpAQCAtNTgxLDYgKzYw MywxMiBAQCB0ZXN0X2Nvbm5lY3Rfb2soCiAJImF1dGhfb3B0aW9uIGNsaWVudGNlcnQ9dmVyaWZ5 LWNhIHN1Y2NlZWRzIHdpdGggbWlzbWF0Y2hpbmcgdXNlcm5hbWUgYW5kIENvbW1vbiBOYW1lIgog KTsKIAorIyBOb25lIG9mIHRoZSBhYm92ZSBjb25uZWN0aW9ucyB0byB2ZXJpZnlkYiBzaG91bGQg aGF2ZSByZXN1bHRlZCBpbgorIyBhdXRoZW50aWNhdGlvbi4KKyRsb2ctPnVubGlrZSgKKwlxci9j b25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6LywKKwkidHJ1c3QgYXV0aCBtZXRob2QgZG9lcyBub3Qg c2V0IGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkiKTsKKwogIyBpbnRlcm1lZGlhdGUgY2xpZW50X2Nh LmNydCBpcyBwcm92aWRlZCBieSBjbGllbnQsIGFuZCBpc24ndCBpbiBzZXJ2ZXIncyBzc2xfY2Ff ZmlsZQogc3dpdGNoX3NlcnZlcl9jZXJ0KCRub2RlLCAnc2VydmVyLWNuLW9ubHknLCAncm9vdF9j YScpOwogJGNvbW1vbl9jb25uc3RyID0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3NzbC90LzAwMl9z Y3JhbS5wbCBiL3NyYy90ZXN0L3NzbC90LzAwMl9zY3JhbS5wbAppbmRleCA0MTBiOWU5MTBkLi44 MWFhYTBiMDJkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zc2wvdC8wMDJfc2NyYW0ucGwKKysrIGIv c3JjL3Rlc3Qvc3NsL3QvMDAyX3NjcmFtLnBsCkBAIC0xMiw2ICsxMiw3IEBAIHVzZSBGaW5kQmlu OwogdXNlIGxpYiAkRmluZEJpbjo6UmVhbEJpbjsKIAogdXNlIFNTTFNlcnZlcjsKK3VzZSBMb2dD b2xsZWN0b3I7CiAKIGlmICgkRU5We3dpdGhfc3NsfSBuZSAnb3BlbnNzbCcpCiB7CkBAIC0yNyw3 ICsyOCw3IEBAIG15ICRTRVJWRVJIT1NUQ0lEUiA9ICcxMjcuMC4wLjEvMzInOwogbXkgJHN1cHBv cnRzX3Rsc19zZXJ2ZXJfZW5kX3BvaW50ID0KICAgY2hlY2tfcGdfY29uZmlnKCIjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxIik7CiAKLW15ICRudW1iZXJfb2ZfdGVzdHMgPSAk c3VwcG9ydHNfdGxzX3NlcnZlcl9lbmRfcG9pbnQgPyA5IDogMTA7CitteSAkbnVtYmVyX29mX3Rl c3RzID0gJHN1cHBvcnRzX3Rsc19zZXJ2ZXJfZW5kX3BvaW50ID8gMTEgOiAxMjsKIAogIyBBbGxv Y2F0aW9uIG9mIGJhc2UgY29ubmVjdGlvbiBzdHJpbmcgc2hhcmVkIGFtb25nIG11bHRpcGxlIHRl c3RzLgogbXkgJGNvbW1vbl9jb25uc3RyOwpAQCAtMTAyLDYgKzEwMywxOCBAQCB0ZXN0X2Nvbm5l Y3RfZmFpbHMoCiAJcXIvY2hhbm5lbCBiaW5kaW5nIHJlcXVpcmVkLCBidXQgc2VydmVyIGF1dGhl bnRpY2F0ZWQgY2xpZW50IHdpdGhvdXQgY2hhbm5lbCBiaW5kaW5nLywKIAkiQ2VydCBhdXRoZW50 aWNhdGlvbiBhbmQgY2hhbm5lbF9iaW5kaW5nPXJlcXVpcmUiKTsKIAorbXkgJGxvZyA9IExvZ0Nv bGxlY3Rvci0+bmV3KCRub2RlKTsKKworIyBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gYXQgdGhl IGNvbm5lY3Rpb24gbGV2ZWwgc2hvdWxkIHN0aWxsIHdvcmsgZmluZS4KK3Rlc3RfY29ubmVjdF9v aygKKwkic3NsY2VydD1zc2wvY2xpZW50LmNydCBzc2xrZXk9JGNsaWVudF90bXBfa2V5IHNzbHJv b3RjZXJ0PWludmFsaWQgaG9zdGFkZHI9JFNFUlZFUkhPU1RBRERSIiwKKwkiZGJuYW1lPXZlcmlm eWRiIHVzZXI9c3NsdGVzdHVzZXIgY2hhbm5lbF9iaW5kaW5nPXJlcXVpcmUiLAorCSJTQ1JBTSB3 aXRoIGNsaWVudGNlcnQ9dmVyaWZ5LWZ1bGwgYW5kIGNoYW5uZWxfYmluZGluZz1yZXF1aXJlIik7 CisKKyRsb2ctPmxpa2UoCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0i c3NsdGVzdHVzZXIiIG1ldGhvZD1zY3JhbS1zaGEtMjU2LywKKwkiU0NSQU0gd2l0aCBjbGllbnRj ZXJ0PXZlcmlmeS1mdWxsIHNldHMgdGhlIHVzZXJuYW1lIGFzIHRoZSBhdXRoZW50aWNhdGVkIGlk ZW50aXR5Iik7CisKICMgY2xlYW4gdXAKIHVubGluaygkY2xpZW50X3RtcF9rZXkpOwogCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9zc2wvdC9Mb2dDb2xsZWN0b3IucG0gYi9zcmMvdGVzdC9zc2wvdC9M b2dDb2xsZWN0b3IucG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uY2Uw YzQwNjNmMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3NzbC90L0xvZ0NvbGxlY3Rvci5w bQpAQCAtMCwwICsxLDg0IEBACisjIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjbGFzcyB0byBoZWxw IG1hdGNoIGxvZyBlbnRyaWVzIHRvIHNwZWNpZmljIGNvbm5lY3Rpb25zCisjIG9yIHF1ZXJpZXMu CisKK3BhY2thZ2UgTG9nQ29sbGVjdG9yOworCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwor dXNlIFRlc3RMaWI7Cit1c2UgVGVzdDo6TW9yZSAoKTsKKwordXNlIEV4cG9ydGVyICdpbXBvcnQn Oworb3VyIEBFWFBPUlQgPSBxdygKKyAgc3RhcnRfbG9nX2NhcHR1cmUKKyk7CisKKyMgV3JhcCBh IG5ldyBjb2xsZWN0b3IgYXJvdW5kICRub2RlLgorIworIyBUaGUgbm9kZSdzIGN1cnJlbnQgbG9n ZmlsZSB3aWxsIGJlIHNhdmVkLCB0aGVuIHJvdGF0ZWQsIHNvIHRoYXQgZnV0dXJlIGxvZworIyBl bnRyaWVzIGFyZSB3cml0dGVuIHRvIGEgbmV3IGxvZ2ZpbGUuIFdoZW5ldmVyIHRoZSByb3RhdGUo KSBtZXRob2QgaXMgY2FsbGVkCisjIG9uIHRoZSBjb2xsZWN0b3IsIGFsbCBlbnRyaWVzIGZyb20g dGhlIG5ldyBsb2dmaWxlIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIG9sZAorIyBsb2dmaWxlLCBh bmQgdGhlbiB0aGUgbmV3IGxvZ2ZpbGUgd2lsbCBiZSB0cnVuY2F0ZWQuIFRoaXMgZ2l2ZXMgYSBj bGVhbiBzbGF0ZQorIyB0byB0aGUgbmV4dCB0ZXN0cy4KK3N1YiBuZXcKK3sKKwlteSAoJGNsYXNz LCAkbm9kZSkgPSBAXzsKKworCW15ICRzZWxmID0geworCQlfbm9kZSAgICAgPT4gJG5vZGUsCisJ CV9vcmlnX2xvZyA9PiAkbm9kZS0+bG9nZmlsZSwKKwkJX2xvZyAgICAgID0+ICRub2RlLT5yb3Rh dGVfbG9nZmlsZSwKKwl9OworCWJsZXNzICRzZWxmLCAkY2xhc3M7CisKKwkkbm9kZS0+cmVzdGFy dDsgIyBzdGFydCB3cml0aW5nIHRvIHRoZSBuZXcgbG9nCisJcmV0dXJuICRzZWxmOworfQorCisj IFJldHVybnMgdGhlIGNvbnRlbnRzIG9mIHRoZSBjdXJyZW50IChuZXcpIGxvZ2ZpbGUuIFRoZXNl IHdpbGwgYmUgd3JpdHRlbiB0bworIyB0aGUgb2xkIGxvZ2ZpbGUgd2hlbiByb3RhdGUoKSBpcyBj YWxsZWQuCitzdWIgY29udGVudHMKK3sKKwlteSAkc2VsZiA9IHNoaWZ0OworCisJcmV0dXJuIHNs dXJwX2ZpbGUoJHNlbGYtPntfbG9nfSk7Cit9CisKKyMgV3JpdGVzIHRoZSBjdXJyZW50IGNvbnRl bnRzIG9mIHRoZSBuZXcgbG9nZmlsZSB0byB0aGUgb2xkIGxvZ2ZpbGUsIHRoZW4KKyMgdHJ1bmNh dGVzIHRoZSBuZXcgbG9nZmlsZS4KK3N1YiByb3RhdGUKK3sKKwlteSAkc2VsZiA9IHNoaWZ0Owor CW15ICRsb2dfY29udGVudHMgPSAkc2VsZi0+Y29udGVudHM7CisKKwlhcHBlbmRfdG9fZmlsZSgk c2VsZi0+e19vcmlnX2xvZ30sICRsb2dfY29udGVudHMpOworCXRydW5jYXRlICRzZWxmLT57X2xv Z30sIDA7Cit9CisKKyMgQ2FsbHMgVGVzdDo6TW9yZTo6bGlrZSBvbiB0aGUgY3VycmVudCBsb2dm aWxlIGNvbnRlbnRzLCB0aGVuIHJvdGF0ZXMgdGhlIGxvZ3MKKyMgc28gdGhhdCBmdXR1cmUgY2Fs bHMgdG8gbGlrZSgpIG9yIHVubGlrZSgpIHdpbGwgbm90IG1hdGNoIHRoZSBjb250ZW50cyB0aGF0 CisjIGhhdmUgYWxyZWFkeSBiZWVuIGNoZWNrZWQuCisjCisjIFRvIGF2b2lkIHRoZSBhdXRvLXJv dGF0aW9uIGJlaGF2aW9yIChlLmcuIGlmIHlvdSB3YW50IHRvIHBlcmZvcm0gbXVsdGlwbGUKKyMg Y2hlY2tzIG9uIHRoZSBzYW1lIGxvZyBjb250ZW50cyksIHVzZSBjb250ZW50cygpIGluc3RlYWQg YW5kIHBlcmZvcm0gYSBtYW51YWwKKyMgcm90YXRlKCkgYWZ0ZXIgdGhlIGNoZWNrcyBhcmUgY29t cGxldGUuCitzdWIgbGlrZQoreworCW15ICgkc2VsZiwgJGV4cGVjdGVkLCAkbmFtZSkgPSBAXzsK KworCVRlc3Q6Ok1vcmU6Omxpa2UoJHNlbGYtPmNvbnRlbnRzLCAkZXhwZWN0ZWQsICRuYW1lKTsK KworCSRzZWxmLT5yb3RhdGU7Cit9CisKKyMgVGhlIG9wcG9zaXRlIG9mIGxpa2UoKSwgYWJvdmUu CitzdWIgdW5saWtlCit7CisJbXkgKCRzZWxmLCAkZXhwZWN0ZWQsICRuYW1lKSA9IEBfOworCisJ VGVzdDo6TW9yZTo6dW5saWtlKCRzZWxmLT5jb250ZW50cywgJGV4cGVjdGVkLCAkbmFtZSk7CisK Kwkkc2VsZi0+cm90YXRlOworfQorCisxOwotLSAKMi4yNS4xCgo= --_003_a4fddbcd2f99c293991b7669bd0da3e5a7d3f93bcamelvmwarecom_--