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 1nLwWL-00040X-W4 for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Feb 2022 00:25:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nLwWI-0006ol-Q9 for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Feb 2022 00:25:38 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nLwWH-0006ob-Ok for pgsql-hackers@lists.postgresql.org; Mon, 21 Feb 2022 00:25:38 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nLwWC-00069F-Q6 for pgsql-hackers@lists.postgresql.org; Mon, 21 Feb 2022 00:25:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1645403133; x=1676939133; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=vlUdtCddXjzXa2Y6CTrwCVGpiMrUENpZgLGirf83KEE=; b=NFeTy9TLzgOBqVV4rA3E2RRqYFf08kmgngkIef9fpSE5yr8TjXBEebJz 8eLzFDhJGDwbQjc+FYzYHn50QMjHnRUC5+hTvUm/kg89XRnRXV9ETVqaL H983ccUgGh5WVs457gqpc8eLcMT1h35YHEyMx+TLKfbuaJgqB4PgIbwrb Hl5UBa8plklnrchTfUlREsaJfqnzTnQf5Vgv7ayzRcHaCw+FvHGCDu2Nk DHyMNNNwY643FCwd79zyoHyha0iaGCuI4oXwC9AjoVYM/Dz/tafhwG3Gx fNjBaHufcVDo8j/Rr5UKRUZ6hVSpn4FXDzzxqKvy/mtnFUE+7CJ+ypmax A==; X-IronPort-AV: E=McAfee;i="6200,9189,10264"; a="58308319" X-IronPort-AV: E=Sophos;i="5.88,384,1635174000"; d="scan'208,223";a="58308319" Received: from mail-tycjpn01lp2174.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.174]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2022 09:25:26 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dtCt5v+JI94p+qpN/rPE/ovhyHIENsafeTGrswOY04GL96a5vS3Fe5RGUly1DP3KFG+l/S6yaAr2Dj9q/kuUWLCMpw5Uh24SK0FrcWiNScHPlvMix81yO9WZjIiWs9W0Ct2wZBWK5wa23MOoOoNcDZtnEO9tdycINMJ80V8vkGH8fBo/WZBZJGEEArKoNp1l4PpQa6qKyaf25Dw+sejCNATSUSxMrYjcs3dU0+SlQmya1huCIVXKkKT7+0eP1BZh8gCy0p2YN/dA2aHX1oL2EouLJy/0beWKg+SWZmEPOndYqlJdGwKo0msvGM/AcZ+R8LYdIosGMFXB8vheejA3xA== 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=54SjcDK0MhDcDxveuiMJUBeRVzWIQ7VUktblJr1z9Eg=; b=XSbvj8k9/BnOJpRH24KzN0P+8i07fRvqhMfqd31M9iSOX11TOxoZTVTbEFGeIBeQM71gyUNH5uRt4THWEwwfVadfM6gLsdyA7nu8rB78uEFQwzfrK2Z/hq0h7WhW3g+cYKrwM6Oum3BB0GbMfugEdN0HQi5GOw51hdSU3HKhbHDv8W1HI3ZhJ9g7Eij3CkCujCNB4EKDg7Z/e1IF3/q2KuYpgsImuk84p3IAuXXtMYsrVJF19c6SHyhYfVbCgo+8JEjZSASWCLjiuMyFPkeCK/P1QZ2feMk3jjepT9d0mLfhJEc2tkhLGtgcr+h1qEa5xXY+92lu4ZWEgi+vfpJfzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=54SjcDK0MhDcDxveuiMJUBeRVzWIQ7VUktblJr1z9Eg=; b=q+DPk536+6WkNIXce03Y2ZGqSTfkYkC5b4hNgi5mZ5hhyn27FTgH6zgbAonIJ70FaliOxvFxSXMBg2eoK+s6eOzIeOpReKv8NlGKL4vRLymyeJIkbBvVkYxeH3vKMeXz4iV8fGh7p0hmwbHWYYvx9LIO2Xw3SkNYRPHe3y1We7A= Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com (2603:1096:400:15f::9) by OSAPR01MB5009.jpnprd01.prod.outlook.com (2603:1096:604:6c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Mon, 21 Feb 2022 00:25:22 +0000 Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::cbe:e19d:f73d:9972]) by TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::cbe:e19d:f73d:9972%7]) with mapi id 15.20.4995.027; Mon, 21 Feb 2022 00:25:22 +0000 From: "osumi.takamichi@fujitsu.com" To: 'Peter Smith' CC: Amit Kapila , "tanghy.fnst@fujitsu.com" , "wangw.fnst@fujitsu.com" , vignesh C , Greg Nancarrow , Masahiko Sawada , Mark Dilger , "Smith, Peter" , PostgreSQL Hackers Subject: RE: Optionally automatically disable logical replication subscriptions on error Thread-Topic: Optionally automatically disable logical replication subscriptions on error Thread-Index: AQHXY7YD1nwUFO8cFUWY0PDiszA2XqsZMrEAgAD4WQCAAPYaAIAASpGAgAJT7YCAAAKZgIALJ6mAgMf5vwCACZoWAIACXj8ggAAx2gCAAeSJwIABPCWAgAaHeOCAAvcAAIAAJOUQgAZB3wCABsiEAIAFnJuAgACC8qCAAS6OAIAAak5wgAAPMgCAAMT44IAAP5eAgAAvuLCAAfAFUIAEIHUAgABtyBCACvHPgIABR7SggAMlNQCAAHntQIASNYiAgA04ekCAAPMhAIAAKujggD2xvACAASGZMIAB92jggALTxgCABFCt8A== Date: Mon, 21 Feb 2022 00:25:22 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjItMDItMjFUMDA6MjU6?= =?utf-8?B?MTlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD0xYWZlYzIzMS1lZjYzLTRmYWMt?= =?utf-8?B?OTBjOC01ZDc3MTI0ZWM3OTM7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a31ec312-f2a0-4422-12d6-08d9f4d0a641 x-ms-traffictypediagnostic: OSAPR01MB5009:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hiUOXhFF3pfZkDzdhBBPz94nUhLu+P2Px9ISTMgNrKkkuS/4kR+5fDVRTZmCUmwtuIZ4pSI2aGCyER3lcVOn8BguqjTo3gjTsPH2RTBxJ7UhZnzampfitaA2Ib/j87a36d0ulXiT/ESaTPcIGI4/xtSkNaTbfAv8MYP6TwddYBmCUf3HC0HlFsHMoY/69Zo5e2RmfA/kU+C6OEno2ufAEabQbJNXDVo+hKZiBQ0/gpOk8PLUZdsNOvXJwEmEvhKLzHoFNMFupfFYfJ6AhEfXJ+rC9/BPQ7Aef80PgsbHQbI5Uwcy1hTHfujEDlnnoHuGNPzwAv9cL+5eT5RbwkCg/lG+5T+Zq5A9x0nW9zU9wCaTllzpKRscwynjCtY3YJwb58DXPtUlvMlFOEgN2DUz3lBI8F8BBXabkMOVCz5G+7CT/T+pl2PKEMt5OcxjQm/eB3TxOB7OZa8K3QFK6AwCKVsojpOABaxf4qyPHrlKg8OdtXdYLsMLJaeX9inKEDlcc6p/V6WjopOhnclqvK/+8X2vAM4AA6nFS/1Db+geyRlGVJpmPyeKYFiec6PaMhr5T6rZVI00LJGueVZPghqZv8v1Yx+K1tUfEtrldQcG30ngLhsXjlG2Noee9iTUYyfcc3OkwI0O8aGGyQhW+gc0rfWD8Eoyxyxu8gRtU0VCkFMdqZbg0zlP3V0q5XCPSUvlWRr8BTnEdeLQTzoi0UAPeA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB8373.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(316002)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(8676002)(4326008)(508600001)(55016003)(33656002)(53546011)(30864003)(5660300002)(7696005)(6506007)(9686003)(2906002)(38070700005)(99936003)(82960400001)(71200400001)(26005)(186003)(38100700002)(86362001)(122000001)(8936002)(52536014)(6916009)(54906003)(83380400001)(85182001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZG9hTW1nN1lhaEs1VG8vYVEvM2NXY2JBb3BnajNiVlc2VHpOZ0FVK21YR0Vv?= =?utf-8?B?Y285YjRmYzJ0ZWVKUFBkQjRyaWliMW5wcTBwNzRXczZxTHNOSFg1dEZSSU15?= =?utf-8?B?d1drdktBK3ozejd3dHdqcnAxVUdRejZYQVhnb0JrenlKQUJvTkw2NjBGYnQy?= =?utf-8?B?VnhlRXNqTUNnV2pTM1RadmFZZWw4R3RlOWdTRk1PWk1uSUw1L3VqV1dkVDFJ?= =?utf-8?B?RkJzVWs3OGZSMkZxY3pyV3VjbWJqeWR2elpUYTFGUGZxSXBuTlFNTDA1QXNX?= =?utf-8?B?QXVlbys4bVJHSitnaFB0L05XU1ZpSUlsT2E2ajNLanBURW1sU2w5c1NtK0JV?= =?utf-8?B?RVFKWkxYQzNUV0FET2JLSHhhL1JTbGtTd0Rsc2JDcjBlNU9sTHZheDA1NFJ6?= =?utf-8?B?azBEQW1wWXl3eGNFZ3NSS3FiTUl6bTJRaFRIZUR0Z0svcDVaeStUZHA4eDFN?= =?utf-8?B?NFN0VGNWUGpMUlAva2tUaEUzcVp6ellBU1FiemdEenRBWExLT2NudU9yUWVF?= =?utf-8?B?YXBVY2R3SjBvOUxEUGY4TlNtSGYzWjZYZjNhbHg2VzZmcWhlTWh2Q2RIN2o4?= =?utf-8?B?UmE2Q2dHMnhNSUdLZmRZenpRWFR6UHZObHc1U3Y1OW5JVFM3ZEI2UHhSOGRC?= =?utf-8?B?bmFJN1dmZmFTbXVwMW5lR3luQU5mU2V4QmROOGxMRDVEMHhVdVozTlhNZ1NL?= =?utf-8?B?b24vck1CSm53Wmg5ZmdGaDBnU3hwc29MNFJOOEtJdWVtU0lyNzlXcGNLdTE5?= =?utf-8?B?RjFHcStPcURQZmxFUmdTL3psNERLTVdVbitFdWVYbmZnaXROVTBKY0pWZ3c0?= =?utf-8?B?RS9ubzk2VStlb3dlc0s5UGpiTDVhNnE5bEtlYlFUN0pzQXRHVGtZQjJNZUFL?= =?utf-8?B?LzVzMnlRakdYNDA0TVZXemZqajdkdVNFM0pHR01hSXB4QUNVOGpyWmgzeHRV?= =?utf-8?B?N21BSWFzWGRCazAyMWdMd2djSGl5MmRtMzcvZlNoZHVqc09KNVAzMjc1OEd2?= =?utf-8?B?di9LcFBLS29BdlhCKzRtaldnVkdBYk9WQjlGUElSdElicDM4S01JVGdnNUdj?= =?utf-8?B?eEhRcVBQUmo4Qk52RVVMdSt2Z0NqTDIrUkJwZGltQWZSeXdZRVpUZUxDS2Nv?= =?utf-8?B?dWE5WW0ycHhzamx4WGo1c0JLZzlNajNGMjN2QlhwYVJ3cWFrcFJnNHQ4VENX?= =?utf-8?B?eTMzNllGWjJIYWwzLzNpSDkzYkZGcGVCZGZsMysxMHlpU1hqL0tNd1VlemNq?= =?utf-8?B?dVVwb2pzbFlnMCtHZ0NiZUlHMTBxSE9DM3JNdzA1S2NHTFVnZ3FMTk1QdmdG?= =?utf-8?B?L0FZa0lzVkc3cXJJMHYzd1UwTjk2eGYzSUYvMnRaU0t3WEJSLy90L1JGRGRn?= =?utf-8?B?SksrMkRzclY3eXEzZkpzV3NXZWxNc0FXeEljeWVJaGJ1dm9NaU03S0JzUlYw?= =?utf-8?B?V3hXeFVKTWVZUk94VUZvRTF4REtUaEtDc014bmNtYXJRL2YxcGJXN0ZLUGx3?= =?utf-8?B?WjN4N3FuS0tqckpRUVlNOGJ2bE8yQklaZHVUYzZJWkhJVFhhd1hXKy9pL1Fz?= =?utf-8?B?S2pjdUFlOXdxNWRldFk4Ylc5M1FKSXowM0c3Q2dKTC9CeXpWc1pqaDRIYmQr?= =?utf-8?B?ZnVQVVBCS09XUTVuYjBYT3Q1eCtwSnFYU09iak9LbWhTVTFSWWg0WUQ4NkMy?= =?utf-8?B?QXhmbUgzTUtvNm9wTEtnNEJWb0NkUm5pbU9BdjJIOHhVZjFhb2twMnh3V3Nr?= =?utf-8?B?SVlKQjh5ZXVCVGZoWjVhUEdHL2thODd0dFBTYWRXbzNlbVJEYk5nRm5QYU5F?= =?utf-8?B?UUovYi9Vd2NoamJvMXk4UG5NMy91Yy9Ubk5YN3NHZGNnTmUvZlhVL2J2NEZG?= =?utf-8?B?eEpJVzdHZSt2UjJudHBRaGZPZmNVcERsVGlPTUcraGlLUHIwOVhWcTAyOGI1?= =?utf-8?B?TmxRNUJKTml0bTN0STNPM0NtK2ZZNi9xejVva3cyNVRweERUeTh3Mm1LeGhu?= =?utf-8?B?UmwvM1RZOC9XS3VDNUFEdks3aVZreUgza0xlNmdlYkhqQ3BkQ3FyZXZsWXhQ?= =?utf-8?B?VFRsYklWQnJlUWoyT2ZkTWRYN0RpYWFrR3FxZzF3eVhvT0oxWDhiek5LbDVI?= =?utf-8?B?K1o3U2FkQjhFb3RWdFQvNnFlSWRsb01ZSFlFM0NBaWhNS0Z4cFUxMnd5NVdh?= =?utf-8?B?TDFzK2RHWDlLVTRjaUZEOWJtZDlQVWxFbDlLRjBVV1lJQTZpeDU3SmJKazJU?= =?utf-8?B?Z1ZndjIvYXN0OHpJODJOUURxMnJnPT0=?= Content-Type: multipart/mixed; boundary="_002_TYCPR01MB837326C879A9CDE756073A7FED3A9TYCPR01MB8373jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB8373.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a31ec312-f2a0-4422-12d6-08d9f4d0a641 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2022 00:25:22.8355 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hZJWseuqaakNqyX4FkVf6q0pVOrFoXfo3kR53QyQO103DCzbVftpvtB8G21ceDQkseXDdu1souNvTL59tCvTLRzQog4p1zFOf+H2BWKHsaQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB5009 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_TYCPR01MB837326C879A9CDE756073A7FED3A9TYCPR01MB8373jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gRnJpZGF5LCBGZWJydWFyeSAxOCwgMjAyMiAzOjI3IFBNIFBldGVyIFNtaXRoIDxzbWl0aHBi MjI1MEBnbWFpbC5jb20+IHdyb3RlOg0KPiBIaS4gQmVsb3cgYXJlIG15IGNvZGUgcmV2aWV3IGNv bW1lbnRzIGZvciB2MTguDQpUaGFuayB5b3UgZm9yIHlvdXIgcmV2aWV3ICENCg0KPiA9PT09PT09 PT09DQo+IA0KPiAxLiBDb21taXQgTWVzc2FnZSAtIHdvcmRpbmcNCj4gDQo+IEJFRk9SRQ0KPiBU byBwYXJ0aWFsbHkgcmVtZWR5IHRoZSBzaXR1YXRpb24sIGFkZGluZyBhIG5ldyBzdWJzY3JpcHRp b25fcGFyYW1ldGVyIG5hbWVkDQo+ICdkaXNhYmxlX29uX2Vycm9yJy4NCj4gDQo+IEFGVEVSDQo+ IFRvIHBhcnRpYWxseSByZW1lZHkgdGhlIHNpdHVhdGlvbiwgdGhpcyBwYXRjaCBhZGRzIGEgbmV3 DQo+IHN1YnNjcmlwdGlvbl9wYXJhbWV0ZXIgbmFtZWQgJ2Rpc2FibGVfb25fZXJyb3InLg0KRml4 ZWQuDQoNCj4gfn5+DQo+IA0KPiAyLiBDb21taXQgbWVzc2FnZSAtIHdvcmRpbmcNCj4gDQo+IEJF Rk9SRQ0KPiBSZXF1aXJlIHRvIGJ1bXAgY2F0YWxvZyB2ZXJzaW9uLg0KPiANCj4gQUZURVINCj4g QSBjYXRhbG9nIHZlcnNpb24gYnVtcCBpcyByZXF1aXJlZC4NCkZpeGVkLg0KDQo+IH5+fg0KPiAN Cj4gMy4gZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbCAtIHdoaXRlc3Bh Y2UNCj4gDQo+IEBAIC0yMDEsOCArMjAxLDggQEAgQUxURVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNl YWJsZQ0KPiBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDwN Cj4gICAgICAgIGluZm9ybWF0aW9uLiAgVGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgYWx0ZXJl ZA0KPiAgICAgICAgYXJlIDxsaXRlcmFsPnNsb3RfbmFtZTwvbGl0ZXJhbD4sDQo+ICAgICAgICA8 bGl0ZXJhbD5zeW5jaHJvbm91c19jb21taXQ8L2xpdGVyYWw+LA0KPiAtICAgICAgPGxpdGVyYWw+ YmluYXJ5PC9saXRlcmFsPiwgYW5kDQo+IC0gICAgICA8bGl0ZXJhbD5zdHJlYW1pbmc8L2xpdGVy YWw+Lg0KPiArICAgICAgPGxpdGVyYWw+YmluYXJ5PC9saXRlcmFsPiw8bGl0ZXJhbD5zdHJlYW1p bmc8L2xpdGVyYWw+LCBhbmQNCj4gKyAgICAgIDxsaXRlcmFsPmRpc2FibGVfb25fZXJyb3I8L2xp dGVyYWw+Lg0KPiAgICAgICA8L3BhcmE+DQo+IA0KPiBUaGVyZSBpcyBhIG1pc3Npbmcgc3BhY2Ug YmVmb3JlIDxsaXRlcmFsPnN0cmVhbWluZzwvbGl0ZXJhbD4uDQpGaXhlZC4gDQoNCg0KDQo+IH5+ fg0KPiANCj4gNC4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyAtIFdv cmtlckVycm9yUmVjb3ZlcnkNCj4gDQo+IEBAIC0yODAyLDYgKzI4MDMsODkgQEAgTG9naWNhbFJl cEFwcGx5TG9vcChYTG9nUmVjUHRyDQo+IGxhc3RfcmVjZWl2ZWQpICB9DQo+IA0KPiAgLyoNCj4g KyAqIFdvcmtlciBlcnJvciByZWNvdmVyeSBwcm9jZXNzaW5nLCBpbiBwcmVwYXJhdGlvbiBmb3Ig ZGlzYWJsaW5nIHRoZQ0KPiArICogc3Vic2NyaXB0aW9uLg0KPiArICovDQo+ICtzdGF0aWMgdm9p ZA0KPiArV29ya2VyRXJyb3JSZWNvdmVyeSh2b2lkKQ0KPiANCj4gSSB3YXMgd29uZGVyaW5nIGFi b3V0IHRoZSBuZWVkIGZvciB0aGlzIHRvIGJlIGEgc2VwYXJhdGUgZnVuY3Rpb24/IEl0IGlzIG9u bHkNCj4gY2FsbGVkIGltbWVkaWF0ZWx5IGJlZm9yZSBjYWxsaW5nICdEaXNhYmxlU3Vic2NyaXB0 aW9uT25FcnJvcicNCj4gc28gd291bGQgaXQgbWF5YmUgYmUgYmV0dGVyIGp1c3QgdG8gcHV0IHRo aXMgY29kZSBpbnNpZGUNCj4gRGlzYWJsZVN1YnNjcmlwdGlvbk9uRXJyb3Igd2l0aCB0aGUgYXBw cm9wcmlhdGUgY29tbWVudHM/DQpJIHByZWZlcnJlZCB0byBoYXZlIG9uZSBzcGVjaWZpYyBmb3Ig ZXJyb3IgaGFuZGxpbmcsDQpiZWNhdXNlIGZyb20gY2FsbGVyIHNpZGVzLCB3aGVuIHdlIGNhdGNo IGVycm9yLCBpdCdzIGFwcGFyZW50DQp0aGF0IGVycm9yIHJlY292ZXJ5IGlzIGRvbmUuIEJ1dCwg dGhlIGZ1bmN0aW9uIG5hbWUgIkRpc2FibGVTdWJzY3JpcHRpb25PbkVycm9yIg0KYnkgaXRzZWxm IHNob3VsZCBoYXZlIHRoZSBudWFuY2UgdGhhdCB3ZSBkbyBzb21ldGhpbmcgb24gZXJyb3IuDQpT bywgd2UgY2FuIHRoaW5rIHRoYXQgaXQncyBva2F5IHRvIGhhdmUgZXJyb3IgcmVjb3ZlcnkgcHJv Y2Vzc2luZw0KaW4gdGhpcyBmdW5jdGlvbi4NCg0KU28sIEkgcmVtb3ZlZCB0aGUgZnVuY3Rpb24g YW5kIGZpeGVkIHNvbWUgcmVsYXRlZCBjb21tZW50cy4NCg0KDQo+IH5+fg0KPiANCj4gNS4gc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyAtIERpc2FibGVTdWJzY3JpcHRp b25PbkVycm9yDQo+IA0KPiArIC8qDQo+ICsgKiBXZSB3b3VsZCBub3QgYmUgaGVyZSB1bmxlc3Mg dGhpcyBzdWJzY3JpcHRpb24ncyBkaXNhYmxlb25lcnIgZmllbGQNCj4gKyB3YXMNCj4gKyAqIHRy dWUgd2hlbiBvdXIgd29ya2VyIGJlZ2FuIGFwcGx5aW5nIGNoYW5nZXMsIGJ1dCBjaGVjayB3aGV0 aGVyIHRoYXQNCj4gKyAqIGZpZWxkIGhhcyBjaGFuZ2VkIGluIHRoZSBpbnRlcmltLg0KPiArICov DQo+IA0KPiBBcHBhcmVudGx5LCB0aGlzIGZ1bmN0aW9uIG1pZ2h0IGp1c3QgZG8gbm90aGluZyBp ZiBpdCBkZXRlY3RzIHNvbWUgc2l0dWF0aW9uDQo+IHdoZXJlIHRoZSBmbGFnIHdhcyBjaGFuZ2Vk IHNvbWVob3csIGJ1dCBJJ20gbm90IDEwMCUgc3VyZSB0aGF0IHRoZSBjYWxsZXJzDQo+IGFyZSBw cm9wZXJseSBjYXRlcmluZyBmb3Igd2hlbiBub3RoaW5nIGhhcHBlbnMuDQo+IA0KPiBJTU8gaXQg d291bGQgYmUgYmV0dGVyIGlmIHRoaXMgZnVuY3Rpb24gd291bGQgcmV0dXJuIHRydWUvZmFsc2Ug dG8gbWVhbiAiZGlkDQo+IGRpc2FibGUgc3Vic2NyaXB0aW9uIGhhcHBlbiBvciBub3Q/IiBiZWNh dXNlIHRoYXQgd2lsbCBnaXZlIHRoZSBjYWxsaW5nIGNvZGUgdGhlDQo+IGNoYW5jZSB0byBjaGVj ayB0aGUgZnVuY3Rpb24gcmV0dXJuIGFuZCBkbyB0aGUgcmlnaHQgdGhpbmcgLSBlLmcuIGlmIHRo ZSBjYWxsZXIgZmlyc3QNCj4gdGhvdWdodCBpdCBzaG91bGQgYmUgZGlzYWJsZWQgYnV0IHRoZW4g aXQgdHVybmVkIG91dCBpdCBkaWQgTk9UIGRpc2FibGUuLi4NCkkgZG9uJ3QgdGhpbmsgd2UgbmVl ZCB0byBkbyBzb21ldGhpbmcgbW9yZS4NCkFmdGVyIHRoaXMgZnVuY3Rpb24sIHRhYmxlIHN5bmMg d29ya2VyIGFuZCB0aGUgYXBwbHkgd29ya2VyDQpqdXN0IGV4aXQuIElNTywgd2UgZG9uJ3QgbmVl ZCB0byBkbyBhZGRpdGlvbmFsIHdvcmsgZm9yDQphbHJlYWR5LWRpc2FibGVkIHN1YnNjcmlwdGlv biBvbiB0aGUgY2FsbGVyIHNpZGVzLg0KSXQgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZnVsZmls bCB0aGUgcHVycG9zZSBvZg0KRGlzYWJsZVN1YnNjcmlwdGlvbk9uRXJyb3Igb3IgY29uZmlybSBp dCBoYXMgYmVlbiBmdWxmaWxsZWQuDQoNCg0KPiB+fn4NCj4gDQo+IDYuIHNyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgLSBMb2dpY2FsUmVwSGFuZGxlVGFibGVTeW5jDQo+ IG5hbWUNCj4gDQo+ICsvKg0KPiArICogRXhlY3V0ZSB0aGUgaW5pdGlhbCBzeW5jIHdpdGggZXJy b3IgaGFuZGxpbmcuIERpc2FibGUgdGhlDQo+ICtzdWJzY3JpcHRpb24sDQo+ICsgKiBpZiBpdCdz IHJlcXVpcmVkLg0KPiArICovDQo+ICtzdGF0aWMgdm9pZA0KPiArTG9naWNhbFJlcEhhbmRsZVRh YmxlU3luYyhYTG9nUmVjUHRyICpvcmlnaW5fc3RhcnRwb3MsDQo+ICsgICBjaGFyICoqbXlzbG90 bmFtZSwgTWVtb3J5Q29udGV4dCBjY3R4KQ0KPiANCj4gSSBmZWx0IHRoYXQgaXQgaXMgYSBiaXQg b3ZlcmtpbGwgdG8gcHV0IGEgIkxvZ2ljYWxSZXAiIHByZWZpeCBoZXJlIGJlY2F1c2UgaXQgaXMg YSBzdGF0aWMNCj4gZnVuY3Rpb24uDQo+IA0KPiBJTU8gdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUg cmVuYW1lZCBhcyAnU3luY1RhYmxlU3RhcnRXcmFwcGVyJyBiZWNhdXNlIHRoYXQNCj4gZGVzY3Jp YmVzIGJldHRlciB3aGF0IGl0IGlzIGRvaW5nLg0KTWFrZXMgc2Vuc2UuIEZpeGVkLg0KDQoNCj4g fn5+DQo+IA0KPiA3LiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jIC0g TG9naWNhbFJlcEhhbmRsZVRhYmxlU3luYw0KPiBBc3NlcnQNCj4gDQo+IEV2ZW4gdGhvdWdoIHdl IGNhbiBrbm93IHRoaXMgdG8gYmUgdHJ1ZSBiZWNhdXNlIG9mIHdoZXJlIGl0IGlzIGNhbGxlZCBm cm9tLCBJDQo+IHRoaW5rIHRoZSByZWFkYWJpbGl0eSBvZiB0aGUgZnVuY3Rpb24gd2lsbCBiZSBp bXByb3ZlZCBpZiB5b3UgYWRkIGFuIGFzc2VydGlvbiBhdA0KPiB0aGUgdG9wOg0KPiANCj4gQXNz ZXJ0KGFtX3RhYmxlc3luY193b3JrZXIoKSk7DQpGaXhlZC4NCg0KPiBBbmQgdGhlbiwgYmVjYXVz ZSB0aGUgZnVuY3Rpb24gaXMgY2xlYXJseSBmb3IgVGFibGVzeW5jIHdvcmtlciBvbmx5IHRoZXJl IGlzIG5vDQo+IG5lZWQgdG8ga2VlcCBtZW50aW9uaW5nIHRoYXQgaW4gdGhlIHN1YnNlcXVlbnQg Y29tbWVudHMuLi4NCj4gDQo+IGUuZy4xDQo+IC8qIFRoaXMgaXMgdGFibGUgc3luY2hyb25pemF0 aW9uIHdvcmtlciwgY2FsbCBpbml0aWFsIHN5bmMuICovDQo+IEFGVEVSOg0KPiAvKiBDYWxsIGlu aXRpYWwgc3luYy4gKi8NCkZpeGVkLg0KDQo+IGUuZy4yDQo+IC8qDQo+ICAqIFJlcG9ydCB0aGUg dGFibGUgc3luYyBlcnJvci4gVGhlcmUgaXMgbm8gY29ycmVzcG9uZGluZyBtZXNzYWdlIHR5cGUN Cj4gICogZm9yIHRhYmxlIHN5bmNocm9uaXphdGlvbi4NCj4gICovDQo+IEFGVEVSDQo+IC8qDQo+ ICAqIFJlcG9ydCB0aGUgZXJyb3IuIFRoZXJlIGlzIG5vIGNvcnJlc3BvbmRpbmcgbWVzc2FnZSB0 eXBlIGZvciB0YWJsZQ0KPiAgKiBzeW5jaHJvbml6YXRpb24uDQo+ICAqLw0KQWdyZWVkLiBGaXhl ZA0KDQoNCj4gfn5+DQo+IA0KPiA4LiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dv cmtlci5jIC0gTG9naWNhbFJlcEhhbmRsZVRhYmxlU3luYw0KPiB1bm5lY2Vzc2FyaWx5IGNvbXBs ZXgNCj4gDQo+ICtzdGF0aWMgdm9pZA0KPiArTG9naWNhbFJlcEhhbmRsZVRhYmxlU3luYyhYTG9n UmVjUHRyICpvcmlnaW5fc3RhcnRwb3MsDQo+ICsgICBjaGFyICoqbXlzbG90bmFtZSwgTWVtb3J5 Q29udGV4dCBjY3R4KSB7DQo+ICsgY2hhciAgICAqc3luY3Nsb3RuYW1lOw0KPiArIGJvb2wgZXJy b3JfcmVjb3ZlcnlfZG9uZSA9IGZhbHNlOw0KPiANCj4gSU1PIHRoaXMgbG9naWMgaXMgd2F5IG1v cmUgY29tcGxleCB0aGFuIGl0IG5lZWRlZCB0byBiZS4gSUlVQyB0aGF0DQo+ICdlcnJvcl9yZWNv dmVyeV9kb25lJyBhbmQgdmFyaW91cyBjb25kaXRpb25zIGNhbiBiZSByZW1vdmVkLCBhbmQgdGhl IHdob2xlDQo+IHRoaW5nIGJlIHNpbXBsaWZpZWQgcXVpdGUgYSBsb3QuDQo+IA0KPiBJIHJlLXdy b3RlIHRoaXMgZnVuY3Rpb24gYXMgYSBQT0MuIFBsZWFzZSBzZWUgdGhlIGF0dGFjaGVkIGZpbGUg WzJdLg0KPiBBbGwgdGhlIHRlc3RzIGFyZSBzdGlsbCBwYXNzaW5nIE9LLg0KPiANCj4gKFBlcmhh cHMgdGhlIHNjZW5hcmlvIGZvciBteSBjb21tZW50ICM1IGFib3ZlIHN0aWxsIG5lZWRzIHRvIGJl IGFkZHJlc3NlZD8pDQpSZW1vdmVkIHRoZSAnZXJyb3JfcmVjb3ZlcnlfZG9uZScgZmxhZyBhbmQg Zml4ZWQuDQoNCg0KDQogDQo+IH5+fg0KPiANCj4gOS4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC93b3JrZXIuYyAtDQo+IExvZ2ljYWxSZXBIYW5kbGVBcHBseU1lc3NhZ2VzIG5hbWUN Cj4gDQo+ICsvKg0KPiArICogUnVuIHRoZSBhcHBseSBsb29wIHdpdGggZXJyb3IgaGFuZGxpbmcu IERpc2FibGUgdGhlIHN1YnNjcmlwdGlvbiwNCj4gKyAqIGlmIG5lY2Vzc2FyeS4NCj4gKyAqLw0K PiArc3RhdGljIHZvaWQNCj4gK0xvZ2ljYWxSZXBIYW5kbGVBcHBseU1lc3NhZ2VzKFhMb2dSZWNQ dHIgb3JpZ2luX3N0YXJ0cG9zLA0KPiArICAgTWVtb3J5Q29udGV4dCBjY3R4KQ0KPiANCj4gSSBm ZWx0IHRoYXQgaXQgaXMgYSBiaXQgb3ZlcmtpbGwgdG8gcHV0IGEgIkxvZ2ljYWxSZXAiIHByZWZp eCBoZXJlIGJlY2F1c2UgaXQgaXMgYSBzdGF0aWMNCj4gZnVuY3Rpb24uDQo+IA0KPiBJTU8gdGhp cyBmdW5jdGlvbiBzaG91bGQgYmUgcmVuYW1lZCBhcyAnQXBwbHlMb29wV3JhcHBlcicgYmVjYXVz ZSB0aGF0DQo+IGRlc2NyaWJlcyBiZXR0ZXIgd2hhdCBpdCBpcyBkb2luZy4NCkZpeGVkLg0KDQoN Cj4gfn5+DQo+IA0KPiAxMC4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIu YyAtDQo+IExvZ2ljYWxSZXBIYW5kbGVBcHBseU1lc3NhZ2VzIHVubmVjZXNzYXJpbHkgY29tcGxl eA0KPiANCj4gK3N0YXRpYyB2b2lkDQo+ICtMb2dpY2FsUmVwSGFuZGxlQXBwbHlNZXNzYWdlcyhY TG9nUmVjUHRyIG9yaWdpbl9zdGFydHBvcywNCj4gKyAgIE1lbW9yeUNvbnRleHQgY2N0eCkNCj4g K3sNCj4gKyBib29sIGVycm9yX3JlY292ZXJ5X2RvbmUgPSBmYWxzZTsNCj4gDQo+IElNTyB0aGlz IGxvZ2ljIGlzIHdheSBtb3JlIGNvbXBsZXggdGhhbiBpdCBuZWVkZWQgdG8gYmUuIElJVUMgdGhh dA0KPiAnZXJyb3JfcmVjb3ZlcnlfZG9uZScgYW5kIHZhcmlvdXMgY29uZGl0aW9ucyBjYW4gYmUg cmVtb3ZlZCwgYW5kIHRoZSB3aG9sZQ0KPiB0aGluZyBiZSBzaW1wbGlmaWVkIHF1aXRlIGEgbG90 Lg0KPiANCj4gSSByZS13cm90ZSB0aGlzIGZ1bmN0aW9uIGFzIGEgUE9DLiBQbGVhc2Ugc2VlIHRo ZSBhdHRhY2hlZCBmaWxlIFsyXS4NCj4gQWxsIHRoZSB0ZXN0cyBhcmUgc3RpbGwgcGFzc2luZyBP Sy4NCj4gDQo+IChQZXJoYXBzIHRoZSBzY2VuYXJpbyBmb3IgbXkgY29tbWVudCAjNSBhYm92ZSBz dGlsbCBuZWVkcyB0byBiZSBhZGRyZXNzZWQ/KQ0KRml4ZWQuDQoNCg0KPiB+fn4NCj4gDQo+IDEx LiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIC0gZHVtcFN1YnNjcmlwdGlvbg0KPiANCj4gQEAg LTQ0NDEsNiArNDQ1MSw5IEBAIGR1bXBTdWJzY3JpcHRpb24oQXJjaGl2ZSAqZm91dCwgY29uc3QN Cj4gU3Vic2NyaXB0aW9uSW5mbyAqc3ViaW5mbykNCj4gICBpZiAoc3RyY21wKHN1YmluZm8tPnN1 YnR3b3BoYXNlc3RhdGUsIHR3b19waGFzZV9kaXNhYmxlZCkgIT0gMCkNCj4gICBhcHBlbmRQUUV4 cEJ1ZmZlclN0cihxdWVyeSwgIiwgdHdvX3BoYXNlID0gb24iKTsNCj4gDQo+ICsgaWYgKHN0cmNt cChzdWJpbmZvLT5zdWJkaXNhYmxlb25lcnIsICJmIikgIT0gMCkNCj4gKyBhcHBlbmRQUUV4cEJ1 ZmZlclN0cihxdWVyeSwgIiwgZGlzYWJsZV9vbl9lcnJvciA9IG9uIik7DQo+ICsNCj4gDQo+IEkg ZmVsdCBzYXlpbmcgZGlzYWJsZV9vbl9lcnIgaXMgInRydWUiIHdvdWxkIGxvb2sgbW9yZSBuYXR1 cmFsIHRoYW4gc2F5aW5nIGl0IGlzDQo+ICJvbiIuDQpGaXhlZC4NCg0KDQo+IH5+fg0KPiANCj4g MTIuIHNyYy9iaW4vcHNxbC9kZXNjcmliZS5jIC0gZGVzY3JpYmVTdWJzY3JpcHRpb25zIHR5cG8N Cj4gDQo+IEBAIC02MDk2LDExICs2MDk2LDEzIEBAIGRlc2NyaWJlU3Vic2NyaXB0aW9ucyhjb25z dCBjaGFyICpwYXR0ZXJuLCBib29sDQo+IHZlcmJvc2UpDQo+ICAgICBnZXR0ZXh0X25vb3AoIkJp bmFyeSIpLA0KPiAgICAgZ2V0dGV4dF9ub29wKCJTdHJlYW1pbmciKSk7DQo+IA0KPiAtIC8qIFR3 b19waGFzZSBpcyBvbmx5IHN1cHBvcnRlZCBpbiB2MTUgYW5kIGhpZ2hlciAqLw0KPiArIC8qIFR3 b19waGFzZSBhbmQgZGlzYWJsZV9vbl9lcnJvciBpcyBvbmx5IHN1cHBvcnRlZCBpbiB2MTUgYW5k IGhpZ2hlcg0KPiArICovDQo+IA0KPiBUeXBvDQo+IA0KPiAiaXMgb25seSIgLS0+ICJhcmUgb25s eSINCkZpeGVkLg0KDQoNCj4gfn5+DQo+IA0KPiAxMy4gc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19z dWJzY3JpcHRpb24uaCAtIGNvbW1lbnRzDQo+IA0KPiBAQCAtMTAzLDYgKzEwNiw5IEBAIHR5cGVk ZWYgc3RydWN0IFN1YnNjcmlwdGlvbg0KPiAgICogYmluYXJ5IGZvcm1hdCAqLw0KPiAgIGJvb2wg c3RyZWFtOyAvKiBBbGxvdyBzdHJlYW1pbmcgaW4tcHJvZ3Jlc3MgdHJhbnNhY3Rpb25zLiAqLw0K PiAgIGNoYXIgdHdvcGhhc2VzdGF0ZTsgLyogQWxsb3cgc3RyZWFtaW5nIHR3by1waGFzZSB0cmFu c2FjdGlvbnMgKi8NCj4gKyBib29sIGRpc2FibGVvbmVycjsgLyogSW5kaWNhdGVzIGlmIHRoZSBz dWJzY3JpcHRpb24gc2hvdWxkIGJlDQo+ICsgKiBhdXRvbWF0aWNhbGx5IGRpc2FibGVkIHdoZW4g c3Vic2NyaXB0aW9uDQo+ICsgKiB3b3JrZXJzIGRldGVjdCBhbnkgZXJyb3JzLiAqLw0KPiANCj4g SXQncyBub3QgdXN1YWwgdG8gaGF2ZSBhIGZ1bGwgc3RvcCBoZXJlLg0KPiBNYXliZSBub3QgbmVl ZGVkIHRvIHJlcGVhdCB0aGUgd29yZCAic3Vic2NyaXB0aW9uIi4NCj4gSU1PLCBnZW5lcmFsbHks IGl0IGFsbCBjYW4gYmUgc2ltcGxpZmllZCBhIGJpdC4NCj4gDQo+IEJFRk9SRQ0KPiBJbmRpY2F0 ZXMgaWYgdGhlIHN1YnNjcmlwdGlvbiBzaG91bGQgYmUgYXV0b21hdGljYWxseSBkaXNhYmxlZCB3 aGVuDQo+IHN1YnNjcmlwdGlvbiB3b3JrZXJzIGRldGVjdCBhbnkgZXJyb3JzLg0KPiANCj4gQUZU RVINCj4gSW5kaWNhdGVzIGlmIHRoZSBzdWJzY3JpcHRpb24gc2hvdWxkIGJlIGF1dG9tYXRpY2Fs bHkgZGlzYWJsZWQgaWYgYSB3b3JrZXIgZXJyb3INCj4gb2NjdXJzDQpGaXhlZC4NCg0KDQo+IH5+ fg0KPiANCj4gMTQuIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwgLSBtaXNz aW5nIHRlc3QgY2FzZS4NCj4gDQo+IFRoZSAiY29uZmxpY3Rpbmcgb3B0aW9ucyIgZXJyb3IgZnJv bSB0aGUgYmVsb3cgY29kZSBpcyBub3QgY3VycmVudGx5IGJlaW5nDQo+IHRlc3RlZC4NCj4gDQo+ IEBAIC0yNDksNiArMjUzLDE1IEBAIHBhcnNlX3N1YnNjcmlwdGlvbl9vcHRpb25zKFBhcnNlU3Rh dGUgKnBzdGF0ZSwgTGlzdA0KPiAqc3RtdF9vcHRpb25zLA0KPiAgIG9wdHMtPnNwZWNpZmllZF9v cHRzIHw9IFNVQk9QVF9UV09QSEFTRV9DT01NSVQ7DQo+ICAgb3B0cy0+dHdvcGhhc2UgPSBkZWZH ZXRCb29sZWFuKGRlZmVsKTsNCj4gICB9DQo+ICsgZWxzZSBpZiAoSXNTZXQoc3VwcG9ydGVkX29w dHMsIFNVQk9QVF9ESVNBQkxFX09OX0VSUikgJiYNCj4gKyBzdHJjbXAoZGVmZWwtPmRlZm5hbWUs ICJkaXNhYmxlX29uX2Vycm9yIikgPT0gMCkgeyBpZg0KPiArIChJc1NldChvcHRzLT5zcGVjaWZp ZWRfb3B0cywgU1VCT1BUX0RJU0FCTEVfT05fRVJSKSkNCj4gKyBlcnJvckNvbmZsaWN0aW5nRGVm RWxlbShkZWZlbCwgcHN0YXRlKTsNCldlIGRvbid0IGhhdmUgdGhpcyB0ZXN0IGluIG90aGVyIG9w dGlvbnMgYXMgd2VsbC4NClNvLCB0aGlzIHNob3VsZCBiZSBhbGlnbmVkLg0KDQoNCj4gfn5+DQo+ IA0KPiAxNS4gc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X2Rpc2FibGVfb25fZXJyb3IucGwg LSAwMjggY2xhc2gNCj4gDQo+IEp1c3QgYSBoZWFkcy11cCB0aGF0IHRoaXMgMDI4IGlzIGdvaW5n IHRvIGNsYXNoIHdpdGggdGhlIFJvdy1GaWx0ZXIgcGF0Y2ggMDI4DQo+IHdoaWNoIGhhcyBiZWVu IGFubm91bmNlZCB0byBiZSBwdXNoZWQgc29vbiwgc28gYmUgcHJlcGFyZWQgdG8gY2hhbmdlIHRo aXMNCj4gbnVtYmVyIGFnYWluIHNob3J0bHkgOikNClRoYW5rIHlvdSBmb3IgbGV0dGluZyBtZSBr bm93Lg0KDQoNCj4gfn5+DQo+IA0KPiAxNi4gc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X2Rp c2FibGVfb25fZXJyb3IucGwgLSBkb25lX3Rlc3RpbmcNCj4gDQo+IEFGQUlLIGlzIGEgbmV3IHN0 eWxlIG5vdyBmb3IgdGhlIFRBUCB0ZXN0cyB3aGVyZSBpdCB1c2VzICJkb25lX3Rlc3RpbmcoKTsi DQo+IGluc3RlYWQgb2Ygc2F5aW5nIHVwLWZyb250IGhvdyBtYW55IHRlc3RzIHRoZXJlIGFyZS4N Cj4gU2VlIGhlcmUgWzFdLg0KRml4ZWQuDQoNCj4gfn5+DQo+IA0KPiAxNy4gc3JjL3Rlc3Qvc3Vi c2NyaXB0aW9uL3QvMDI4X2Rpc2FibGVfb25fZXJyb3IucGwgLSBtb3JlIGNvbW1lbnRzDQo+IA0K PiArIyBDcmVhdGUgYW4gYWRkaXRpb25hbCB1bmlxdWUgaW5kZXggaW4gc2NoZW1hIHMxIG9uIHRo ZSBzdWJzY3JpYmVyDQo+ICtvbmx5LiAgV2hlbiAjIHdlIGNyZWF0ZSBzdWJzY3JpcHRpb25zLCBi ZWxvdywgdGhpcyBzaG91bGQgY2F1c2UNCj4gK3N1YnNjcmlwdGlvbiAiczEiIG9uIHRoZSAjIHN1 YnNjcmliZXIgdG8gZmFpbCBkdXJpbmcgaW5pdGlhbA0KPiArc3luY2hyb25pemF0aW9uIGFuZCB0 byBnZXQgYXV0b21hdGljYWxseSAjIGRpc2FibGVkLg0KPiANCj4gSSBmZWx0IGl0IGNvdWxkIGJl IG1hZGUgYSBiaXQgbW9yZSBvYnZpb3VzIHVwZnJvbnQgaW4gYSBjb21tZW50IHRoYXQgMiBwYWly cyBvZg0KPiBwdWIvc3ViIHdpbGwgYmUgY3JlYXRlZCwgYW5kIHRoZWlyIG5hbWVzIHdpbGwgc2Ft ZSBhcyB0aGUNCj4gc2NoZW1hczoNCj4gZS5nLg0KPiBQdWJsaXNoZXIgInMxIiAtLT4gU3Vic2Ny aWJlciAiczEiDQo+IFB1Ymxpc2hlciAiczIiIC0tPiBTdWJzY3JpYmVyICJzMiINCkNvbW1lbnRz IGFyZSBmaXhlZC4NCg0KDQo+IH5+fg0KPiANCj4gMTguIHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90 LzAyOF9kaXNhYmxlX29uX2Vycm9yLnBsIC0gQUxURVIgdGVzdHM/DQo+IA0KPiBUaGUgdGVzdHMg aGVyZSBhcmUgb25seSB1c2luZyB0aGUgaGFyZHdpcmVkICdkaXNhYmxlX29uX2Vycm9yJyBvcHRp b25zIHNldCBhdA0KPiBDUkVBVEUgU1VCU0NSSVBUSU9OIHRpbWUuIFRoZXJlIGFyZSBubyBUQVAg dGVzdHMgZm9yIGNoYW5naW5nIHRoZQ0KPiBkaXNhYmxlX29uX2Vycm9yIHVzaW5nIEFMVEVSIFNV QlNDUklQVElPTi4NCj4gDQo+IFNob3VsZCB0aGVyZSBiZT8NCkkgZG9uJ3QgdGhpbmsgc28uIFRv Z2dsaW5nIHRoZSBmbGFnICdkaXNhYmxlX29uX2Vycm9yJyBpcyBhbHJlYWR5IHRlc3RlZA0KaW4g dGhlIHN1YnNjcmlwdGlvbi5zcWwgZmlsZS4gQm90aCBuZXcgcGF0aHMgZm9yIHRhYmxlIHN5bmMg YW5kIGFwcGx5DQp3b3JrZXIgdG8gZGlzYWJsZSBvbiBlcnJvciBhcmUgYWxyZWFkeSBjb3ZlcmVk Lg0KDQoNCkZZSSA6IEkgc2tpcHBlZCBvbmUgY2hhbmdlIG9mIHdvcmtlci5jLnBldGVyLnR4dA0K YWJvdXQgImVuYWJsZWQiIGZsYWcsIHdoaWNoIGlzIGluZGVwZW5kZW50IGZyb20NCmRpc2FibGVf b25fZXJyb3Igb3B0aW9uLg0KDQpLaW5kbHkgaGF2ZSBhIGxvb2sgYXQgdGhlIGF0dGFjaGVkIHYx OS4NCg0KDQpCZXN0IFJlZ2FyZHMsDQoJVGFrYW1pY2hpIE9zdW1pDQoNCg== --_002_TYCPR01MB837326C879A9CDE756073A7FED3A9TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v19-0001-Optionally-disable-subscriptions-on-error.patch" Content-Description: v19-0001-Optionally-disable-subscriptions-on-error.patch Content-Disposition: attachment; filename="v19-0001-Optionally-disable-subscriptions-on-error.patch"; size=52384; creation-date="Mon, 21 Feb 2022 00:21:05 GMT"; modification-date="Mon, 21 Feb 2022 00:24:21 GMT" Content-Transfer-Encoding: base64 RnJvbSA4YWM3YWZlMTQ4M2JlMTcwN2M4NGQwMjkxNjQ1OTMyMTNmODQwODcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthbWljaGkgT3N1bWkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogU3VuLCAyMCBGZWIgMjAyMiAyMzo1NTowNiArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjE5XSBPcHRpb25hbGx5IGRpc2FibGUgc3Vic2NyaXB0aW9ucyBvbiBlcnJvcgoKTG9n aWNhbCByZXBsaWNhdGlvbiBhcHBseSB3b3JrZXJzIGZvciBhIHN1YnNjcmlwdGlvbiBjYW4gZWFz aWx5IGdldApzdHVjayBpbiBhbiBpbmZpbml0ZSBsb29wIG9mIGF0dGVtcHRpbmcgdG8gYXBwbHkg YSBjaGFuZ2UsCnRyaWdnZXJpbmcgYW4gZXJyb3IgKHN1Y2ggYXMgYSBjb25zdHJhaW50IHZpb2xh dGlvbiksIGV4aXRpbmcgd2l0aAphbiBlcnJvciB3cml0dGVuIHRvIHRoZSBzdWJzY3JpcHRpb24g d29ya2VyIGxvZywgYW5kIHJlc3RhcnRpbmcuCgpUbyBwYXJ0aWFsbHkgcmVtZWR5IHRoZSBzaXR1 YXRpb24sIHRoaXMgcGF0Y2ggYWRkcyBhIG5ldwpzdWJzY3JpcHRpb25fcGFyYW1ldGVyIG5hbWVk ICdkaXNhYmxlX29uX2Vycm9yJy4gVG8gYmUgY29uc2lzdGVudAp3aXRoIG9sZCBiZWhhdmlvciwg dGhlIHBhcmFtZXRlciBkZWZhdWx0cyB0byBmYWxzZS4gV2hlbiB0cnVlLCBib3RoCnRoZSB0YWJs ZSBzeW5jIHdvcmtlciBhbmQgYXBwbHkgd29ya2VyIGNhdGNoIGFueSBlcnJvcnMgdGhyb3duIGFu ZApkaXNhYmxlIHRoZSBzdWJzY3JpcHRpb24gaW4gb3JkZXIgdG8gYnJlYWsgdGhlIGxvb3AuIFRo ZSBlcnJvciBpcwpzdGlsbCBhbHNvIHdyaXR0ZW4gdG8gdGhlIGxvZ3MuCgpBIGNhdGFsb2cgdmVy c2lvbiBidW1wIGlzIHJlcXVpcmVkLgoKUHJvcG9zZWQgYW5kIHdyaXR0ZW4gb3JpZ2luYWxseSBi eSBNYXJrIERpbGdlcgpUYWtlbiBvdmVyIGJ5IE9zdW1pIFRha2FtaWNoaSwgR3JlZyBOYW5jYXJy b3cKUmV2aWV3ZWQgYnkgR3JlZyBOYW5jYXJyb3csIFZpZ25lc2ggQywgQW1pdCBLYXBpbGEsIFdh bmcgd2VpLCBUYW5nIEhhaXlpbmcsIFBldGVyIFNtaXRoCkRpc2N1c3Npb24gOiBodHRwczovL3d3 dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL0RCMzU0MzhGLTkzNTYtNDg0MS04OUEwLTQxMjcw OUVCRDNBQiU0MGVudGVycHJpc2VkYi5jb20KLS0tCiBkb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dt bCAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArCiBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1 YnNjcmlwdGlvbi5zZ21sICAgICAgICB8ICAgNCArLQogZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVf c3Vic2NyaXB0aW9uLnNnbWwgICAgICAgfCAgMTIgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdf c3Vic2NyaXB0aW9uLmMgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbCAgICAgICAgICAgIHwgICAzICstCiBzcmMvYmFja2VuZC9jb21tYW5kcy9z dWJzY3JpcHRpb25jbWRzLmMgICAgICAgICB8ICAyNyArKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgICAgIHwgMjMzICsrKysrKysrKysrKysrKysrLS0tLS0t LQogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMTcg Ky0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggICAgICAgICAgICAgICAgICAgICAgIHwgICAx ICsKIHNyYy9iaW4vcHNxbC9kZXNjcmliZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEw ICstCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMgICAgICAgICAgICAgICAgICAgICB8ICAg NCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCAgICAgICAgICAgfCAg IDYgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0ICAgICAgfCAx MTkgKysrKysrKy0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsICAg ICAgICAgICB8ICAxNCArKwogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X2Rpc2FibGVfb25f ZXJyb3IucGwgfCAyMDAgKysrKysrKysrKysrKysrKysrKysKIDE1IGZpbGVzIGNoYW5nZWQsIDUz OSBpbnNlcnRpb25zKCspLCAxMjIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X2Rpc2FibGVfb25fZXJyb3IucGwKCmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbCBiL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21s CmluZGV4IDVhMTYyN2EuLjljN2U4MGYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jYXRhbG9n cy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sCkBAIC03NzYyLDYgKzc3NjIs MTYgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFibGU+Jmx0O2l0ZXJhdGlvbiBjb3VudCZndDs8 L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+JmwKIAogICAgICA8cm93PgogICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3ViZGlzYWJsZW9uZXJyPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+Ym9vbDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIElmIHRy dWUsIHRoZSBzdWJzY3JpcHRpb24gd2lsbCBiZSBkaXNhYmxlZCB3aGVuIHN1YnNjcmlwdGlvbgor ICAgICAgIHdvcmtlcnMgZGV0ZWN0IGFueSBlcnJvcnMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0 ZmllbGQ+c3ViY29ubmluZm88L3N0cnVjdGZpZWxkPiA8dHlwZT50ZXh0PC90eXBlPgogICAgICAg PC9wYXJhPgogICAgICAgPHBhcmE+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVy X3N1YnNjcmlwdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24u c2dtbAppbmRleCAwYjAyN2NjLi41NzgzNzE1IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfc3Vi c2NyaXB0aW9uLnNnbWwKQEAgLTIwMSw4ICsyMDEsOCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBSRU5BTUUgVE8g PAogICAgICAgaW5mb3JtYXRpb24uICBUaGUgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBhbHRlcmVk CiAgICAgICBhcmUgPGxpdGVyYWw+c2xvdF9uYW1lPC9saXRlcmFsPiwKICAgICAgIDxsaXRlcmFs PnN5bmNocm9ub3VzX2NvbW1pdDwvbGl0ZXJhbD4sCi0gICAgICA8bGl0ZXJhbD5iaW5hcnk8L2xp dGVyYWw+LCBhbmQKLSAgICAgIDxsaXRlcmFsPnN0cmVhbWluZzwvbGl0ZXJhbD4uCisgICAgICA8 bGl0ZXJhbD5iaW5hcnk8L2xpdGVyYWw+LCA8bGl0ZXJhbD5zdHJlYW1pbmc8L2xpdGVyYWw+LCBh bmQKKyAgICAgIDxsaXRlcmFsPmRpc2FibGVfb25fZXJyb3I8L2xpdGVyYWw+LgogICAgICA8L3Bh cmE+CiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVm L2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbAppbmRleCA5OTBhNDFmLi45Y2EwYmI5IDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbApAQCAtMTQyLDYgKzE0MiwxOCBA QCBDUkVBVEUgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdWJz Y3JpcHRpb25fbmFtZTwvcmVwbGFjZWFibAogICAgICAgIDwvdmFybGlzdGVudHJ5PgogCiAgICAg ICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+ZGlzYWJsZV9vbl9lcnJv cjwvbGl0ZXJhbD4gKDx0eXBlPmJvb2xlYW48L3R5cGU+KTwvdGVybT4KKyAgICAgICAgPGxpc3Rp dGVtPgorICAgICAgICAgPHBhcmE+CisgICAgICAgICAgU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHN1 YnNjcmlwdGlvbiBzaG91bGQgYmUgYXV0b21hdGljYWxseSBkaXNhYmxlZAorICAgICAgICAgIGlm IGFueSBlcnJvcnMgYXJlIGRldGVjdGVkIGJ5IHN1YnNjcmlwdGlvbiB3b3JrZXJzIGR1cmluZyBk YXRhCisgICAgICAgICAgcmVwbGljYXRpb24gZnJvbSB0aGUgcHVibGlzaGVyLiBUaGUgZGVmYXVs dCBpcworICAgICAgICAgIDxsaXRlcmFsPmZhbHNlPC9saXRlcmFsPi4KKyAgICAgICAgIDwvcGFy YT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICAg IDx2YXJsaXN0ZW50cnk+CiAgICAgICAgIDx0ZXJtPjxsaXRlcmFsPmVuYWJsZWQ8L2xpdGVyYWw+ ICg8dHlwZT5ib29sZWFuPC90eXBlPik8L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRlbT4KICAgICAg ICAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRp b24uYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMKaW5kZXggY2E2NWE4 Yi4uZDJiZWViYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRp b24uYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCkBAIC02OSw2 ICs2OSw3IEBAIEdldFN1YnNjcmlwdGlvbihPaWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaykKIAlz dWItPmJpbmFyeSA9IHN1YmZvcm0tPnN1YmJpbmFyeTsKIAlzdWItPnN0cmVhbSA9IHN1YmZvcm0t PnN1YnN0cmVhbTsKIAlzdWItPnR3b3BoYXNlc3RhdGUgPSBzdWJmb3JtLT5zdWJ0d29waGFzZXN0 YXRlOworCXN1Yi0+ZGlzYWJsZW9uZXJyID0gc3ViZm9ybS0+c3ViZGlzYWJsZW9uZXJyOwogCiAJ LyogR2V0IGNvbm5pbmZvICovCiAJZGF0dW0gPSBTeXNDYWNoZUdldEF0dHIoU1VCU0NSSVBUSU9O T0lELApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDNjYjY5YjEuLjQzMGFj OTAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysg Yi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTEyNjEsNyArMTI2MSw4 IEBAIFJFVk9LRSBBTEwgT04gcGdfcmVwbGljYXRpb25fb3JpZ2luX3N0YXR1cyBGUk9NIHB1Ymxp YzsKIC0tIEFsbCBjb2x1bW5zIG9mIHBnX3N1YnNjcmlwdGlvbiBleGNlcHQgc3ViY29ubmluZm8g YXJlIHB1YmxpY2x5IHJlYWRhYmxlLgogUkVWT0tFIEFMTCBPTiBwZ19zdWJzY3JpcHRpb24gRlJP TSBwdWJsaWM7CiBHUkFOVCBTRUxFQ1QgKG9pZCwgc3ViZGJpZCwgc3VibmFtZSwgc3Vib3duZXIs IHN1YmVuYWJsZWQsIHN1YmJpbmFyeSwKLSAgICAgICAgICAgICAgc3Vic3RyZWFtLCBzdWJ0d29w aGFzZXN0YXRlLCBzdWJzbG90bmFtZSwgc3Vic3luY2NvbW1pdCwgc3VicHVibGljYXRpb25zKQor ICAgICAgICAgICAgICBzdWJzdHJlYW0sIHN1YnR3b3BoYXNlc3RhdGUsIHN1YmRpc2FibGVvbmVy ciwgc3Vic2xvdG5hbWUsCisgICAgICAgICAgICAgIHN1YnN5bmNjb21taXQsIHN1YnB1YmxpY2F0 aW9ucykKICAgICBPTiBwZ19zdWJzY3JpcHRpb24gVE8gcHVibGljOwogCiBDUkVBVEUgVklFVyBw Z19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIEFTCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3Jp cHRpb25jbWRzLmMKaW5kZXggM2VmNjYwNy4uMzkyMjY1OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3N1YnNjcmlwdGlvbmNtZHMuYwpAQCAtNjEsNiArNjEsNyBAQAogI2RlZmluZSBTVUJPUFRfQklO QVJZCQkJCTB4MDAwMDAwODAKICNkZWZpbmUgU1VCT1BUX1NUUkVBTUlORwkJCTB4MDAwMDAxMDAK ICNkZWZpbmUgU1VCT1BUX1RXT1BIQVNFX0NPTU1JVAkJMHgwMDAwMDIwMAorI2RlZmluZSBTVUJP UFRfRElTQUJMRV9PTl9FUlIJCTB4MDAwMDA0MDAKIAogLyogY2hlY2sgaWYgdGhlICd2YWwnIGhh cyAnYml0cycgc2V0ICovCiAjZGVmaW5lIElzU2V0KHZhbCwgYml0cykgICgoKHZhbCkgJiAoYml0 cykpID09IChiaXRzKSkKQEAgLTgyLDYgKzgzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgU3ViT3B0cwog CWJvb2wJCWJpbmFyeTsKIAlib29sCQlzdHJlYW1pbmc7CiAJYm9vbAkJdHdvcGhhc2U7CisJYm9v bAkJZGlzYWJsZW9uZXJyOwogfSBTdWJPcHRzOwogCiBzdGF0aWMgTGlzdCAqZmV0Y2hfdGFibGVf bGlzdChXYWxSZWNlaXZlckNvbm4gKndyY29ubiwgTGlzdCAqcHVibGljYXRpb25zKTsKQEAgLTEz MCw2ICsxMzIsOCBAQCBwYXJzZV9zdWJzY3JpcHRpb25fb3B0aW9ucyhQYXJzZVN0YXRlICpwc3Rh dGUsIExpc3QgKnN0bXRfb3B0aW9ucywKIAkJb3B0cy0+c3RyZWFtaW5nID0gZmFsc2U7CiAJaWYg KElzU2V0KHN1cHBvcnRlZF9vcHRzLCBTVUJPUFRfVFdPUEhBU0VfQ09NTUlUKSkKIAkJb3B0cy0+ dHdvcGhhc2UgPSBmYWxzZTsKKwlpZiAoSXNTZXQoc3VwcG9ydGVkX29wdHMsIFNVQk9QVF9ESVNB QkxFX09OX0VSUikpCisJCW9wdHMtPmRpc2FibGVvbmVyciA9IGZhbHNlOwogCiAJLyogUGFyc2Ug b3B0aW9ucyAqLwogCWZvcmVhY2gobGMsIHN0bXRfb3B0aW9ucykKQEAgLTI0OSw2ICsyNTMsMTUg QEAgcGFyc2Vfc3Vic2NyaXB0aW9uX29wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpz dG10X29wdGlvbnMsCiAJCQlvcHRzLT5zcGVjaWZpZWRfb3B0cyB8PSBTVUJPUFRfVFdPUEhBU0Vf Q09NTUlUOwogCQkJb3B0cy0+dHdvcGhhc2UgPSBkZWZHZXRCb29sZWFuKGRlZmVsKTsKIAkJfQor CQllbHNlIGlmIChJc1NldChzdXBwb3J0ZWRfb3B0cywgU1VCT1BUX0RJU0FCTEVfT05fRVJSKSAm JgorCQkJCSBzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJkaXNhYmxlX29uX2Vycm9yIikgPT0gMCkK KwkJeworCQkJaWYgKElzU2V0KG9wdHMtPnNwZWNpZmllZF9vcHRzLCBTVUJPUFRfRElTQUJMRV9P Tl9FUlIpKQorCQkJCWVycm9yQ29uZmxpY3RpbmdEZWZFbGVtKGRlZmVsLCBwc3RhdGUpOworCisJ CQlvcHRzLT5zcGVjaWZpZWRfb3B0cyB8PSBTVUJPUFRfRElTQUJMRV9PTl9FUlI7CisJCQlvcHRz LT5kaXNhYmxlb25lcnIgPSBkZWZHZXRCb29sZWFuKGRlZmVsKTsKKwkJfQogCQllbHNlCiAJCQll cmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCkBAIC0z OTAsNyArNDAzLDggQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3Jl YXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAlzdXBwb3J0ZWRfb3B0cyA9IChTVUJPUFRfQ09O TkVDVCB8IFNVQk9QVF9FTkFCTEVEIHwgU1VCT1BUX0NSRUFURV9TTE9UIHwKIAkJCQkJICBTVUJP UFRfU0xPVF9OQU1FIHwgU1VCT1BUX0NPUFlfREFUQSB8CiAJCQkJCSAgU1VCT1BUX1NZTkNIUk9O T1VTX0NPTU1JVCB8IFNVQk9QVF9CSU5BUlkgfAotCQkJCQkgIFNVQk9QVF9TVFJFQU1JTkcgfCBT VUJPUFRfVFdPUEhBU0VfQ09NTUlUKTsKKwkJCQkJICBTVUJPUFRfU1RSRUFNSU5HIHwgU1VCT1BU X1RXT1BIQVNFX0NPTU1JVCB8CisJCQkJCSAgU1VCT1BUX0RJU0FCTEVfT05fRVJSKTsKIAlwYXJz ZV9zdWJzY3JpcHRpb25fb3B0aW9ucyhwc3RhdGUsIHN0bXQtPm9wdGlvbnMsIHN1cHBvcnRlZF9v cHRzLCAmb3B0cyk7CiAKIAkvKgpAQCAtNDY0LDYgKzQ3OCw3IEBAIENyZWF0ZVN1YnNjcmlwdGlv bihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJCUNo YXJHZXREYXR1bShvcHRzLnR3b3BoYXNlID8KIAkJCQkJIExPR0lDQUxSRVBfVFdPUEhBU0VfU1RB VEVfUEVORElORyA6CiAJCQkJCSBMT0dJQ0FMUkVQX1RXT1BIQVNFX1NUQVRFX0RJU0FCTEVEKTsK Kwl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViZGlzYWJsZW9uZXJyIC0gMV0gPSBCb29s R2V0RGF0dW0ob3B0cy5kaXNhYmxlb25lcnIpOwogCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlv bl9zdWJjb25uaW5mbyAtIDFdID0KIAkJQ1N0cmluZ0dldFRleHREYXR1bShjb25uaW5mbyk7CiAJ aWYgKG9wdHMuc2xvdF9uYW1lKQpAQCAtODY0LDcgKzg3OSw3IEBAIEFsdGVyU3Vic2NyaXB0aW9u KFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCQkJewog CQkJCXN1cHBvcnRlZF9vcHRzID0gKFNVQk9QVF9TTE9UX05BTUUgfAogCQkJCQkJCQkgIFNVQk9Q VF9TWU5DSFJPTk9VU19DT01NSVQgfCBTVUJPUFRfQklOQVJZIHwKLQkJCQkJCQkJICBTVUJPUFRf U1RSRUFNSU5HKTsKKwkJCQkJCQkJICBTVUJPUFRfU1RSRUFNSU5HIHwgU1VCT1BUX0RJU0FCTEVf T05fRVJSKTsKIAogCQkJCXBhcnNlX3N1YnNjcmlwdGlvbl9vcHRpb25zKHBzdGF0ZSwgc3RtdC0+ b3B0aW9ucywKIAkJCQkJCQkJCQkgICBzdXBwb3J0ZWRfb3B0cywgJm9wdHMpOwpAQCAtOTEzLDYg KzkyOCwxNCBAQCBBbHRlclN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vi c2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJCQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25f c3Vic3RyZWFtIC0gMV0gPSB0cnVlOwogCQkJCX0KIAorCQkJCWlmIChJc1NldChvcHRzLnNwZWNp ZmllZF9vcHRzLCBTVUJPUFRfRElTQUJMRV9PTl9FUlIpKQorCQkJCXsKKwkJCQkJdmFsdWVzW0Fu dW1fcGdfc3Vic2NyaXB0aW9uX3N1YmRpc2FibGVvbmVyciAtIDFdCisJCQkJCQk9IEJvb2xHZXRE YXR1bShvcHRzLmRpc2FibGVvbmVycik7CisJCQkJCXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0 aW9uX3N1YmRpc2FibGVvbmVyciAtIDFdCisJCQkJCQk9IHRydWU7CisJCQkJfQorCiAJCQkJdXBk YXRlX3R1cGxlID0gdHJ1ZTsKIAkJCQlicmVhazsKIAkJCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IDVkOWFjYzYuLmEzYzI0MGYgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysrIGIvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtMTM2LDYgKzEzNiw3IEBACiAjaW5jbHVk ZSAiYWNjZXNzL3hhY3QuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRlcm5hbC5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgorI2luY2x1ZGUgImNhdGFsb2cvaW5kZXhpbmcuaCIK ICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGFydGl0 aW9uLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19pbmhlcml0cy5oIgpAQCAtMjgwMiw2ICsyODAz LDgxIEBAIExvZ2ljYWxSZXBBcHBseUxvb3AoWExvZ1JlY1B0ciBsYXN0X3JlY2VpdmVkKQogfQog CiAvKgorICogRGlzYWJsZSB0aGUgY3VycmVudCBzdWJzY3JpcHRpb24sIGFmdGVyIGVycm9yIHJl Y292ZXJ5IHByb2Nlc3NpbmcuCisgKi8KK3N0YXRpYyB2b2lkCitEaXNhYmxlU3Vic2NyaXB0aW9u T25FcnJvcih2b2lkKQoreworCVJlbGF0aW9uCXJlbDsKKwlib29sCQludWxsc1tOYXR0c19wZ19z dWJzY3JpcHRpb25dOworCWJvb2wJCXJlcGxhY2VzW05hdHRzX3BnX3N1YnNjcmlwdGlvbl07CisJ RGF0dW0JCXZhbHVlc1tOYXR0c19wZ19zdWJzY3JpcHRpb25dOworCUhlYXBUdXBsZQl0dXA7CisJ Rm9ybV9wZ19zdWJzY3JpcHRpb24gc3ViZm9ybTsKKworCS8qIEVtaXQgdGhlIGVycm9yICovCisJ RW1pdEVycm9yUmVwb3J0KCk7CisJLyogQWJvcnQgYW55IGFjdGl2ZSB0cmFuc2FjdGlvbiAqLwor CUFib3J0T3V0T2ZBbnlUcmFuc2FjdGlvbigpOworCS8qIFJlc2V0IHRoZSBFcnJvckNvbnRleHQg Ki8KKwlGbHVzaEVycm9yU3RhdGUoKTsKKworCS8qIERpc2FibGUgdGhlIHN1YnNjcmlwdGlvbiBp biBhIGZyZXNoIHRyYW5zYWN0aW9uICovCisJU3RhcnRUcmFuc2FjdGlvbkNvbW1hbmQoKTsKKwor CS8qIExvb2sgdXAgb3VyIHN1YnNjcmlwdGlvbiBpbiB0aGUgY2F0YWxvZ3MgKi8KKwlyZWwgPSB0 YWJsZV9vcGVuKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCXR1 cCA9IFNlYXJjaFN5c0NhY2hlQ29weTIoU1VCU0NSSVBUSU9OTkFNRSwgTXlEYXRhYmFzZUlkLAor CQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKE15U3Vic2NyaXB0aW9uLT5uYW1lKSk7CisJaWYgKCFI ZWFwVHVwbGVJc1ZhbGlkKHR1cCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJZXJyY29kZShFUlJD T0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCWVycm1zZygic3Vic2NyaXB0aW9uIFwiJXNcIiBk b2VzIG5vdCBleGlzdCIsCisJCQkJCSAgIE15U3Vic2NyaXB0aW9uLT5uYW1lKSk7CisKKwlzdWJm b3JtID0gKEZvcm1fcGdfc3Vic2NyaXB0aW9uKSBHRVRTVFJVQ1QodHVwKTsKKworCS8qCisJICog V2Ugd291bGQgbm90IGJlIGhlcmUgdW5sZXNzIHRoaXMgc3Vic2NyaXB0aW9uJ3MgZGlzYWJsZW9u ZXJyIGZpZWxkIHdhcworCSAqIHRydWUgd2hlbiBvdXIgd29ya2VyIGJlZ2FuIGFwcGx5aW5nIGNo YW5nZXMsIGJ1dCBjaGVjayB3aGV0aGVyIHRoYXQKKwkgKiBmaWVsZCBoYXMgY2hhbmdlZCBpbiB0 aGUgaW50ZXJpbS4KKwkgKi8KKwlpZiAoIXN1YmZvcm0tPnN1YmRpc2FibGVvbmVycikKKwl7CisJ CWhlYXBfZnJlZXR1cGxlKHR1cCk7CisJCXRhYmxlX2Nsb3NlKHJlbCwgUm93RXhjbHVzaXZlTG9j ayk7CisJCUNvbW1pdFRyYW5zYWN0aW9uQ29tbWFuZCgpOworCQlyZXR1cm47CisJfQorCisJLyog Tm90aWZ5IHRoZSBzdWJzY3JpcHRpb24gd2lsbCBiZSBubyBsb25nZXIgdmFsaWQgKi8KKwllcmVw b3J0KExPRywKKwkJCWVycm1zZygibG9naWNhbCByZXBsaWNhdGlvbiBzdWJzY3JpcHRpb24gXCIl c1wiIHdpbGwgYmUgZGlzYWJsZWQgZHVlIHRvIGFuIGVycm9yIiwKKwkJCQkgICBNeVN1YnNjcmlw dGlvbi0+bmFtZSkpOworCisJTG9ja1NoYXJlZE9iamVjdChTdWJzY3JpcHRpb25SZWxhdGlvbklk LCBzdWJmb3JtLT5vaWQsIDAsIEFjY2Vzc0V4Y2x1c2l2ZUxvY2spOworCisJLyogRm9ybSBhIG5l dyB0dXBsZS4gKi8KKwltZW1zZXQodmFsdWVzLCAwLCBzaXplb2YodmFsdWVzKSk7CisJbWVtc2V0 KG51bGxzLCBmYWxzZSwgc2l6ZW9mKG51bGxzKSk7CisJbWVtc2V0KHJlcGxhY2VzLCBmYWxzZSwg c2l6ZW9mKHJlcGxhY2VzKSk7CisKKwkvKiBTZXQgdGhlIHN1YnNjcmlwdGlvbiB0byBkaXNhYmxl ZC4gKi8KKwl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViZW5hYmxlZCAtIDFdID0gQm9v bEdldERhdHVtKGZhbHNlKTsKKwlyZXBsYWNlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJlbmFi bGVkIC0gMV0gPSB0cnVlOworCisJLyogVXBkYXRlIHRoZSBjYXRhbG9nICovCisJdHVwID0gaGVh cF9tb2RpZnlfdHVwbGUodHVwLCBSZWxhdGlvbkdldERlc2NyKHJlbCksIHZhbHVlcywgbnVsbHMs CisJCQkJCQkJcmVwbGFjZXMpOworCUNhdGFsb2dUdXBsZVVwZGF0ZShyZWwsICZ0dXAtPnRfc2Vs ZiwgdHVwKTsKKwloZWFwX2ZyZWV0dXBsZSh0dXApOworCisJdGFibGVfY2xvc2UocmVsLCBSb3dF eGNsdXNpdmVMb2NrKTsKKworCUNvbW1pdFRyYW5zYWN0aW9uQ29tbWFuZCgpOworfQorCisvKgog ICogU2VuZCBhIFN0YW5kYnkgU3RhdHVzIFVwZGF0ZSBtZXNzYWdlIHRvIHNlcnZlci4KICAqCiAg KiAncmVjdnBvcycgaXMgdGhlIGxhdGVzdCBMU04gd2UndmUgcmVjZWl2ZWQgZGF0YSB0bywgZm9y Y2UgaXMgc2V0IGlmIHdlIG5lZWQKQEAgLTMzNzIsNiArMzQ0OCw5OCBAQCBUd29QaGFzZVRyYW5z YWN0aW9uR2lkKE9pZCBzdWJpZCwgVHJhbnNhY3Rpb25JZCB4aWQsIGNoYXIgKmdpZCwgaW50IHN6 Z2lkKQogCXNucHJpbnRmKGdpZCwgc3pnaWQsICJwZ19naWRfJXVfJXUiLCBzdWJpZCwgeGlkKTsK IH0KIAorLyoKKyAqIEV4ZWN1dGUgdGhlIGluaXRpYWwgc3luYyB3aXRoIGVycm9yIGhhbmRsaW5n LiBEaXNhYmxlIHRoZSBzdWJzY3JpcHRpb24sCisgKiBpZiBpdCdzIHJlcXVpcmVkLgorICovCitz dGF0aWMgdm9pZAorU3luY1RhYmxlU3RhcnRXcmFwcGVyKFhMb2dSZWNQdHIgKm9yaWdpbl9zdGFy dHBvcywKKwkJCQkJICBjaGFyICoqbXlzbG90bmFtZSwgTWVtb3J5Q29udGV4dCBjY3R4KQorewor CWNoYXIJICAgKnN5bmNzbG90bmFtZTsKKworCUFzc2VydChhbV90YWJsZXN5bmNfd29ya2VyKCkp OworCisJUEdfVFJZKCk7CisJeworCQkvKiBDYWxsIGluaXRpYWwgc3luYy4gKi8KKwkJc3luY3Ns b3RuYW1lID0gTG9naWNhbFJlcFN5bmNUYWJsZVN0YXJ0KG9yaWdpbl9zdGFydHBvcyk7CisJfQor CVBHX0NBVENIKCk7CisJeworCQlNZW1vcnlDb250ZXh0IGVjeHQgPSBNZW1vcnlDb250ZXh0U3dp dGNoVG8oY2N0eCk7CisJCUVycm9yRGF0YSAgKmVycmRhdGEgPSBDb3B5RXJyb3JEYXRhKCk7CisK KwkJLyoKKwkJICogUmVwb3J0IHRoZSBlcnJvci4gVGhlcmUgaXMgbm8gY29ycmVzcG9uZGluZyBt ZXNzYWdlIHR5cGUgZm9yIHRhYmxlCisJCSAqIHN5bmNocm9uaXphdGlvbi4KKwkJICovCisJCXBn c3RhdF9yZXBvcnRfc3Vid29ya2VyX2Vycm9yKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsCisJ CQkJCQkJCQkgIE15TG9naWNhbFJlcFdvcmtlci0+cmVsaWQsCisJCQkJCQkJCQkgIE15TG9naWNh bFJlcFdvcmtlci0+cmVsaWQsCisJCQkJCQkJCQkgIDAsCS8qIG1lc3NhZ2UgdHlwZSAqLworCQkJ CQkJCQkJICBJbnZhbGlkVHJhbnNhY3Rpb25JZCwKKwkJCQkJCQkJCSAgZXJyZGF0YS0+bWVzc2Fn ZSk7CisKKwkJaWYgKE15U3Vic2NyaXB0aW9uLT5kaXNhYmxlb25lcnIpCisJCXsKKwkJCURpc2Fi bGVTdWJzY3JpcHRpb25PbkVycm9yKCk7CisJCQlwcm9jX2V4aXQoMCk7CisJCX0KKworCQlNZW1v cnlDb250ZXh0U3dpdGNoVG8oZWN4dCk7CisJCVBHX1JFX1RIUk9XKCk7CisJfQorCVBHX0VORF9U UlkoKTsKKworCS8qIGFsbG9jYXRlIHNsb3QgbmFtZSBpbiBsb25nLWxpdmVkIGNvbnRleHQgKi8K KwkqbXlzbG90bmFtZSA9IE1lbW9yeUNvbnRleHRTdHJkdXAoQXBwbHlDb250ZXh0LCBzeW5jc2xv dG5hbWUpOworCXBmcmVlKHN5bmNzbG90bmFtZSk7Cit9CisKKy8qCisgKiBSdW4gdGhlIGFwcGx5 IGxvb3Agd2l0aCBlcnJvciBoYW5kbGluZy4gRGlzYWJsZSB0aGUgc3Vic2NyaXB0aW9uLAorICog aWYgbmVjZXNzYXJ5LgorICovCitzdGF0aWMgdm9pZAorQXBwbHlMb29wV3JhcHBlcihYTG9nUmVj UHRyIG9yaWdpbl9zdGFydHBvcywgTWVtb3J5Q29udGV4dCBjY3R4KQoreworCVBHX1RSWSgpOwor CXsKKwkJTG9naWNhbFJlcEFwcGx5TG9vcChvcmlnaW5fc3RhcnRwb3MpOworCX0KKwlQR19DQVRD SCgpOworCXsKKwkJTWVtb3J5Q29udGV4dCBlY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKGNj dHgpOworCisJCS8qIHJlcG9ydCB0aGUgYXBwbHkgZXJyb3IgKi8KKwkJaWYgKGFwcGx5X2Vycm9y X2NhbGxiYWNrX2FyZy5jb21tYW5kICE9IDApCisJCXsKKwkJCUVycm9yRGF0YSAgKmVycmRhdGEg PSBDb3B5RXJyb3JEYXRhKCk7CisKKwkJCXBnc3RhdF9yZXBvcnRfc3Vid29ya2VyX2Vycm9yKE15 TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsCisJCQkJCQkJCQkJICBNeUxvZ2ljYWxSZXBXb3JrZXIt PnJlbGlkLAorCQkJCQkJCQkJCSAgYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLnJlbCAhPSBOVUxM CisJCQkJCQkJCQkJICA/IGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5yZWwtPmxvY2FscmVsb2lk CisJCQkJCQkJCQkJICA6IEludmFsaWRPaWQsCisJCQkJCQkJCQkJICBhcHBseV9lcnJvcl9jYWxs YmFja19hcmcuY29tbWFuZCwKKwkJCQkJCQkJCQkgIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5y ZW1vdGVfeGlkLAorCQkJCQkJCQkJCSAgZXJyZGF0YS0+bWVzc2FnZSk7CisJCX0KKworCQlpZiAo TXlTdWJzY3JpcHRpb24tPmRpc2FibGVvbmVycikKKwkJeworCQkJLyogRGlzYWJsZSB0aGUgc3Vi c2NyaXB0aW9uICovCisJCQlEaXNhYmxlU3Vic2NyaXB0aW9uT25FcnJvcigpOworCQkJcmV0dXJu OworCQl9CisKKwkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKGVjeHQpOworCQlQR19SRV9USFJPVygp OworCX0KKwlQR19FTkRfVFJZKCk7Cit9CisKIC8qIExvZ2ljYWwgUmVwbGljYXRpb24gQXBwbHkg d29ya2VyIGVudHJ5IHBvaW50ICovCiB2b2lkCiBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9h cmcpCkBAIC0zMzgwLDggKzM1NDgsOCBAQCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcp CiAJTWVtb3J5Q29udGV4dCBjY3R4ID0gQ3VycmVudE1lbW9yeUNvbnRleHQ7CiAJTWVtb3J5Q29u dGV4dCBvbGRjdHg7CiAJY2hhcgkJb3JpZ2lubmFtZVtOQU1FREFUQUxFTl07Ci0JWExvZ1JlY1B0 cglvcmlnaW5fc3RhcnRwb3M7Ci0JY2hhcgkgICAqbXlzbG90bmFtZTsKKwlYTG9nUmVjUHRyCW9y aWdpbl9zdGFydHBvcyA9IEludmFsaWRYTG9nUmVjUHRyOworCWNoYXIJICAgKm15c2xvdG5hbWUg PSBOVUxMOwogCVdhbFJjdlN0cmVhbU9wdGlvbnMgb3B0aW9uczsKIAlpbnQJCQlzZXJ2ZXJfdmVy c2lvbjsKIApAQCAtMzQ3NSwzOSArMzY0Myw3IEBAIEFwcGx5V29ya2VyTWFpbihEYXR1bSBtYWlu X2FyZykKIAkJIE15U3Vic2NyaXB0aW9uLT5jb25uaW5mbyk7CiAKIAlpZiAoYW1fdGFibGVzeW5j X3dvcmtlcigpKQotCXsKLQkJY2hhcgkgICAqc3luY3Nsb3RuYW1lOwotCi0JCVBHX1RSWSgpOwot CQl7Ci0JCQkvKiBUaGlzIGlzIHRhYmxlIHN5bmNocm9uaXphdGlvbiB3b3JrZXIsIGNhbGwgaW5p dGlhbCBzeW5jLiAqLwotCQkJc3luY3Nsb3RuYW1lID0gTG9naWNhbFJlcFN5bmNUYWJsZVN0YXJ0 KCZvcmlnaW5fc3RhcnRwb3MpOwotCQl9Ci0JCVBHX0NBVENIKCk7Ci0JCXsKLQkJCU1lbW9yeUNv bnRleHQgZWN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhjY3R4KTsKLQkJCUVycm9yRGF0YSAg KmVycmRhdGEgPSBDb3B5RXJyb3JEYXRhKCk7Ci0KLQkJCS8qCi0JCQkgKiBSZXBvcnQgdGhlIHRh YmxlIHN5bmMgZXJyb3IuIFRoZXJlIGlzIG5vIGNvcnJlc3BvbmRpbmcgbWVzc2FnZQotCQkJICog dHlwZSBmb3IgdGFibGUgc3luY2hyb25pemF0aW9uLgotCQkJICovCi0JCQlwZ3N0YXRfcmVwb3J0 X3N1Yndvcmtlcl9lcnJvcihNeUxvZ2ljYWxSZXBXb3JrZXItPnN1YmlkLAotCQkJCQkJCQkJCSAg TXlMb2dpY2FsUmVwV29ya2VyLT5yZWxpZCwKLQkJCQkJCQkJCQkgIE15TG9naWNhbFJlcFdvcmtl ci0+cmVsaWQsCi0JCQkJCQkJCQkJICAwLAkvKiBtZXNzYWdlIHR5cGUgKi8KLQkJCQkJCQkJCQkg IEludmFsaWRUcmFuc2FjdGlvbklkLAotCQkJCQkJCQkJCSAgZXJyZGF0YS0+bWVzc2FnZSk7Ci0J CQlNZW1vcnlDb250ZXh0U3dpdGNoVG8oZWN4dCk7Ci0JCQlQR19SRV9USFJPVygpOwotCQl9Ci0J CVBHX0VORF9UUlkoKTsKLQotCQkvKiBhbGxvY2F0ZSBzbG90IG5hbWUgaW4gbG9uZy1saXZlZCBj b250ZXh0ICovCi0JCW15c2xvdG5hbWUgPSBNZW1vcnlDb250ZXh0U3RyZHVwKEFwcGx5Q29udGV4 dCwgc3luY3Nsb3RuYW1lKTsKLQotCQlwZnJlZShzeW5jc2xvdG5hbWUpOwotCX0KKwkJU3luY1Rh YmxlU3RhcnRXcmFwcGVyKCZvcmlnaW5fc3RhcnRwb3MsICZteXNsb3RuYW1lLCBjY3R4KTsKIAll bHNlCiAJewogCQkvKiBUaGlzIGlzIG1haW4gYXBwbHkgd29ya2VyICovCkBAIC0zNjE5LDMyICsz NzU1LDcgQEAgQXBwbHlXb3JrZXJNYWluKERhdHVtIG1haW5fYXJnKQogCX0KIAogCS8qIFJ1biB0 aGUgbWFpbiBsb29wLiAqLwotCVBHX1RSWSgpOwotCXsKLQkJTG9naWNhbFJlcEFwcGx5TG9vcChv cmlnaW5fc3RhcnRwb3MpOwotCX0KLQlQR19DQVRDSCgpOwotCXsKLQkJLyogcmVwb3J0IHRoZSBh cHBseSBlcnJvciAqLwotCQlpZiAoYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmNvbW1hbmQgIT0g MCkKLQkJewotCQkJTWVtb3J5Q29udGV4dCBlY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKGNj dHgpOwotCQkJRXJyb3JEYXRhICAqZXJyZGF0YSA9IENvcHlFcnJvckRhdGEoKTsKLQotCQkJcGdz dGF0X3JlcG9ydF9zdWJ3b3JrZXJfZXJyb3IoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwKLQkJ CQkJCQkJCQkgIE15TG9naWNhbFJlcFdvcmtlci0+cmVsaWQsCi0JCQkJCQkJCQkJICBhcHBseV9l cnJvcl9jYWxsYmFja19hcmcucmVsICE9IE5VTEwKLQkJCQkJCQkJCQkgID8gYXBwbHlfZXJyb3Jf Y2FsbGJhY2tfYXJnLnJlbC0+bG9jYWxyZWxvaWQKLQkJCQkJCQkJCQkgIDogSW52YWxpZE9pZCwK LQkJCQkJCQkJCQkgIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5jb21tYW5kLAotCQkJCQkJCQkJ CSAgYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLnJlbW90ZV94aWQsCi0JCQkJCQkJCQkJICBlcnJk YXRhLT5tZXNzYWdlKTsKLQkJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhlY3h0KTsKLQkJfQotCi0J CVBHX1JFX1RIUk9XKCk7Ci0JfQotCVBHX0VORF9UUlkoKTsKKwlBcHBseUxvb3BXcmFwcGVyKG9y aWdpbl9zdGFydHBvcywgY2N0eCk7CiAKIAlwcm9jX2V4aXQoMCk7CiB9CmRpZmYgLS1naXQgYS9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwppbmRl eCA0NDg1ZWE4Li40NmEwZGViIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5j CisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKQEAgLTQyNzEsNiArNDI3MSw3IEBAIGdl dFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAlpbnQJCQlpX3N1Ym93bmVyOwogCWludAkJ CWlfc3Vic3RyZWFtOwogCWludAkJCWlfc3VidHdvcGhhc2VzdGF0ZTsKKwlpbnQJCQlpX3N1YmRp c2FibGVvbmVycjsKIAlpbnQJCQlpX3N1YmNvbm5pbmZvOwogCWludAkJCWlfc3Vic2xvdG5hbWU7 CiAJaW50CQkJaV9zdWJzeW5jY29tbWl0OwpAQCAtNDMxOCwxMiArNDMxOSwxOCBAQCBnZXRTdWJz Y3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAi IGZhbHNlIEFTIHN1YnN0cmVhbSxcbiIpOwogCiAJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0g MTUwMDAwKQotCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBzLnN1YnR3b3BoYXNlc3Rh dGVcbiIpOworCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBzLnN1YnR3b3BoYXNlc3Rh dGUsXG4iKTsKIAllbHNlCiAJCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LAotCQkJCQkJICAiICcl YycgQVMgc3VidHdvcGhhc2VzdGF0ZVxuIiwKKwkJCQkJCSAgIiAnJWMnIEFTIHN1YnR3b3BoYXNl c3RhdGUsXG4iLAogCQkJCQkJICBMT0dJQ0FMUkVQX1RXT1BIQVNFX1NUQVRFX0RJU0FCTEVEKTsK IAorCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE1MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZm ZXIocXVlcnksICIgcy5zdWJkaXNhYmxlb25lcnJcbiIpOworCWVsc2UKKwkJYXBwZW5kUFFFeHBC dWZmZXIocXVlcnksCisJCQkJCQkgICIgZmFsc2UgQVMgc3ViZGlzYWJsZW9uZXJyXG4iKTsKKwog CWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAogCQkJCQkJICJGUk9NIHBnX3N1YnNjcmlwdGlv biBzXG4iCiAJCQkJCQkgIldIRVJFIHMuc3ViZGJpZCA9IChTRUxFQ1Qgb2lkIEZST00gcGdfZGF0 YWJhc2VcbiIKQEAgLTQzNDQsNiArNDM1MSw3IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAq Zm91dCkKIAlpX3N1YmJpbmFyeSA9IFBRZm51bWJlcihyZXMsICJzdWJiaW5hcnkiKTsKIAlpX3N1 YnN0cmVhbSA9IFBRZm51bWJlcihyZXMsICJzdWJzdHJlYW0iKTsKIAlpX3N1YnR3b3BoYXNlc3Rh dGUgPSBQUWZudW1iZXIocmVzLCAic3VidHdvcGhhc2VzdGF0ZSIpOworCWlfc3ViZGlzYWJsZW9u ZXJyID0gUFFmbnVtYmVyKHJlcywgInN1YmRpc2FibGVvbmVyciIpOwogCiAJc3ViaW5mbyA9IHBn X21hbGxvYyhudHVwcyAqIHNpemVvZihTdWJzY3JpcHRpb25JbmZvKSk7CiAKQEAgLTQzNzEsNiAr NDM3OSw4IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAkJCXBnX3N0cmR1cChQ UWdldHZhbHVlKHJlcywgaSwgaV9zdWJzdHJlYW0pKTsKIAkJc3ViaW5mb1tpXS5zdWJ0d29waGFz ZXN0YXRlID0KIAkJCXBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJ0d29waGFzZXN0 YXRlKSk7CisJCXN1YmluZm9baV0uc3ViZGlzYWJsZW9uZXJyID0KKwkJCXBnX3N0cmR1cChQUWdl dHZhbHVlKHJlcywgaSwgaV9zdWJkaXNhYmxlb25lcnIpKTsKIAogCQkvKiBEZWNpZGUgd2hldGhl ciB3ZSB3YW50IHRvIGR1bXAgaXQgKi8KIAkJc2VsZWN0RHVtcGFibGVPYmplY3QoJihzdWJpbmZv W2ldLmRvYmopLCBmb3V0KTsKQEAgLTQ0NDEsNiArNDQ1MSw5IEBAIGR1bXBTdWJzY3JpcHRpb24o QXJjaGl2ZSAqZm91dCwgY29uc3QgU3Vic2NyaXB0aW9uSW5mbyAqc3ViaW5mbykKIAlpZiAoc3Ry Y21wKHN1YmluZm8tPnN1YnR3b3BoYXNlc3RhdGUsIHR3b19waGFzZV9kaXNhYmxlZCkgIT0gMCkK IAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIsIHR3b19waGFzZSA9IG9uIik7CiAKKwlp ZiAoc3RyY21wKHN1YmluZm8tPnN1YmRpc2FibGVvbmVyciwgImYiKSAhPSAwKQorCQlhcHBlbmRQ UUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgZGlzYWJsZV9vbl9lcnJvciA9IHRydWUiKTsKKwogCWlm IChzdHJjbXAoc3ViaW5mby0+c3Vic3luY2NvbW1pdCwgIm9mZiIpICE9IDApCiAJCWFwcGVuZFBR RXhwQnVmZmVyKHF1ZXJ5LCAiLCBzeW5jaHJvbm91c19jb21taXQgPSAlcyIsIGZtdElkKHN1Ymlu Zm8tPnN1YnN5bmNjb21taXQpKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuaCBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggOTk2NWFjMi4uZDc2MTZkMyAx MDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaAorKysgYi9zcmMvYmluL3BnX2R1 bXAvcGdfZHVtcC5oCkBAIC02NTYsNiArNjU2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1N1YnNjcmlw dGlvbkluZm8KIAljaGFyCSAgICpzdWJiaW5hcnk7CiAJY2hhcgkgICAqc3Vic3RyZWFtOwogCWNo YXIJICAgKnN1YnR3b3BoYXNlc3RhdGU7CisJY2hhcgkgICAqc3ViZGlzYWJsZW9uZXJyOwogCWNo YXIJICAgKnN1YnN5bmNjb21taXQ7CiAJY2hhcgkgICAqc3VicHVibGljYXRpb25zOwogfSBTdWJz Y3JpcHRpb25JbmZvOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgYi9zcmMv YmluL3BzcWwvZGVzY3JpYmUuYwppbmRleCA2NTRlZjJkLi5jYjA2Zjk5IDEwMDY0NAotLS0gYS9z cmMvYmluL3BzcWwvZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAt NjA2Miw3ICs2MDYyLDcgQEAgZGVzY3JpYmVTdWJzY3JpcHRpb25zKGNvbnN0IGNoYXIgKnBhdHRl cm4sIGJvb2wgdmVyYm9zZSkKIAlQR3Jlc3VsdCAgICpyZXM7CiAJcHJpbnRRdWVyeU9wdCBteW9w dCA9IHBzZXQucG9wdDsKIAlzdGF0aWMgY29uc3QgYm9vbCB0cmFuc2xhdGVfY29sdW1uc1tdID0g e2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAotCWZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZX07CisJZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZX07CiAK IAlpZiAocHNldC5zdmVyc2lvbiA8IDEwMDAwMCkKIAl7CkBAIC02MDk2LDExICs2MDk2LDEzIEBA IGRlc2NyaWJlU3Vic2NyaXB0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJuLCBib29sIHZlcmJvc2Up CiAJCQkJCQkJICBnZXR0ZXh0X25vb3AoIkJpbmFyeSIpLAogCQkJCQkJCSAgZ2V0dGV4dF9ub29w KCJTdHJlYW1pbmciKSk7CiAKLQkJLyogVHdvX3BoYXNlIGlzIG9ubHkgc3VwcG9ydGVkIGluIHYx NSBhbmQgaGlnaGVyICovCisJCS8qIFR3b19waGFzZSBhbmQgZGlzYWJsZV9vbl9lcnJvciBhcmUg b25seSBzdXBwb3J0ZWQgaW4gdjE1IGFuZCBoaWdoZXIgKi8KIAkJaWYgKHBzZXQuc3ZlcnNpb24g Pj0gMTUwMDAwKQogCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCQkgICIsIHN1YnR3 b3BoYXNlc3RhdGUgQVMgXCIlc1wiXG4iLAotCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJUd28gcGhh c2UgY29tbWl0IikpOworCQkJCQkJCSAgIiwgc3VidHdvcGhhc2VzdGF0ZSBBUyBcIiVzXCJcbiIK KwkJCQkJCQkgICIsIHN1YmRpc2FibGVvbmVyciBBUyBcIiVzXCJcbiIsCisJCQkJCQkJICBnZXR0 ZXh0X25vb3AoIlR3byBwaGFzZSBjb21taXQiKSwKKwkJCQkJCQkgIGdldHRleHRfbm9vcCgiRGlz YWJsZSBvbiBlcnJvciIpKTsKIAogCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAogCQkJCQkJICAi LCAgc3Vic3luY2NvbW1pdCBBUyBcIiVzXCJcbiIKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90 YWItY29tcGxldGUuYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYwppbmRleCAwMTBlZGI2 Li5mN2UzNWJhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKKysrIGIv c3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jCkBAIC0xODIwLDcgKzE4MjAsNyBAQCBwc3FsX2Nv bXBsZXRpb24oY29uc3QgY2hhciAqdGV4dCwgaW50IHN0YXJ0LCBpbnQgZW5kKQogCQlDT01QTEVU RV9XSVRIKCIoIiwgIlBVQkxJQ0FUSU9OIik7CiAJLyogQUxURVIgU1VCU0NSSVBUSU9OIDxuYW1l PiBTRVQgKCAqLwogCWVsc2UgaWYgKEhlYWRNYXRjaGVzKCJBTFRFUiIsICJTVUJTQ1JJUFRJT04i LCBNYXRjaEFueSkgJiYgVGFpbE1hdGNoZXMoIlNFVCIsICIoIikpCi0JCUNPTVBMRVRFX1dJVEgo ImJpbmFyeSIsICJzbG90X25hbWUiLCAic3RyZWFtaW5nIiwgInN5bmNocm9ub3VzX2NvbW1pdCIp OworCQlDT01QTEVURV9XSVRIKCJiaW5hcnkiLCAic2xvdF9uYW1lIiwgInN0cmVhbWluZyIsICJz eW5jaHJvbm91c19jb21taXQiLCAiZGlzYWJsZV9vbl9lcnJvciIpOwogCS8qIEFMVEVSIFNVQlND UklQVElPTiA8bmFtZT4gU0VUIFBVQkxJQ0FUSU9OICovCiAJZWxzZSBpZiAoSGVhZE1hdGNoZXMo IkFMVEVSIiwgIlNVQlNDUklQVElPTiIsIE1hdGNoQW55KSAmJiBUYWlsTWF0Y2hlcygiU0VUIiwg IlBVQkxJQ0FUSU9OIikpCiAJewpAQCAtMzA3OSw3ICszMDc5LDcgQEAgcHNxbF9jb21wbGV0aW9u KGNvbnN0IGNoYXIgKnRleHQsIGludCBzdGFydCwgaW50IGVuZCkKIAllbHNlIGlmIChIZWFkTWF0 Y2hlcygiQ1JFQVRFIiwgIlNVQlNDUklQVElPTiIpICYmIFRhaWxNYXRjaGVzKCJXSVRIIiwgIigi KSkKIAkJQ09NUExFVEVfV0lUSCgiYmluYXJ5IiwgImNvbm5lY3QiLCAiY29weV9kYXRhIiwgImNy ZWF0ZV9zbG90IiwKIAkJCQkJICAiZW5hYmxlZCIsICJzbG90X25hbWUiLCAic3RyZWFtaW5nIiwK LQkJCQkJICAic3luY2hyb25vdXNfY29tbWl0IiwgInR3b19waGFzZSIpOworCQkJCQkgICJzeW5j aHJvbm91c19jb21taXQiLCAidHdvX3BoYXNlIiwgImRpc2FibGVfb25fZXJyb3IiKTsKIAogLyog Q1JFQVRFIFRSSUdHRVIgLS0tIGlzIGFsbG93ZWQgaW5zaWRlIENSRUFURSBTQ0hFTUEsIHNvIHVz ZSBUYWlsTWF0Y2hlcyAqLwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1 YnNjcmlwdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAppbmRl eCAxOGMyOTEyLi45ZWJlYWQ5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1 YnNjcmlwdGlvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgK QEAgLTY3LDYgKzY3LDkgQEAgQ0FUQUxPRyhwZ19zdWJzY3JpcHRpb24sNjEwMCxTdWJzY3JpcHRp b25SZWxhdGlvbklkKSBCS0lfU0hBUkVEX1JFTEFUSU9OIEJLSV9ST1cKIAogCWNoYXIJCXN1YnR3 b3BoYXNlc3RhdGU7CS8qIFN0cmVhbSB0d28tcGhhc2UgdHJhbnNhY3Rpb25zICovCiAKKwlib29s CQlzdWJkaXNhYmxlb25lcnI7CS8qIFRydWUgaWYgb2NjdXJyZW5jZSBvZiBhcHBseSBlcnJvcnMK KwkJCQkJCQkJCSAqIHNob3VsZCBkaXNhYmxlIHRoZSBzdWJzY3JpcHRpb24gKi8KKwogI2lmZGVm IENBVEFMT0dfVkFSTEVOCQkJLyogdmFyaWFibGUtbGVuZ3RoIGZpZWxkcyBzdGFydCBoZXJlICov CiAJLyogQ29ubmVjdGlvbiBzdHJpbmcgdG8gdGhlIHB1Ymxpc2hlciAqLwogCXRleHQJCXN1YmNv bm5pbmZvIEJLSV9GT1JDRV9OT1RfTlVMTDsKQEAgLTEwMyw2ICsxMDYsOSBAQCB0eXBlZGVmIHN0 cnVjdCBTdWJzY3JpcHRpb24KIAkJCQkJCQkJICogYmluYXJ5IGZvcm1hdCAqLwogCWJvb2wJCXN0 cmVhbTsJCQkvKiBBbGxvdyBzdHJlYW1pbmcgaW4tcHJvZ3Jlc3MgdHJhbnNhY3Rpb25zLiAqLwog CWNoYXIJCXR3b3BoYXNlc3RhdGU7CS8qIEFsbG93IHN0cmVhbWluZyB0d28tcGhhc2UgdHJhbnNh Y3Rpb25zICovCisJYm9vbAkJZGlzYWJsZW9uZXJyOwkvKiBJbmRpY2F0ZXMgaWYgdGhlIHN1YnNj cmlwdGlvbiBzaG91bGQgYmUKKwkJCQkJCQkJICogYXV0b21hdGljYWxseSBkaXNhYmxlZCBpZiBh IHdvcmtlciBlcnJvcgorCQkJCQkJCQkgKiBvY2N1cnMgKi8KIAljaGFyCSAgICpjb25uaW5mbzsJ CS8qIENvbm5lY3Rpb24gc3RyaW5nIHRvIHRoZSBwdWJsaXNoZXIgKi8KIAljaGFyCSAgICpzbG90 bmFtZTsJCS8qIE5hbWUgb2YgdGhlIHJlcGxpY2F0aW9uIHNsb3QgKi8KIAljaGFyCSAgICpzeW5j Y29tbWl0OwkJLyogU3luY2hyb25vdXMgY29tbWl0IHNldHRpbmcgZm9yIHdvcmtlciAqLwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CmluZGV4IDgwYWFlODMuLmFk ODAwM2YgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9u Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKQEAg LTc2LDEwICs3NiwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5F Q1RJT04gJ2Zvb2Jhcic7CiBFUlJPUjogIGludmFsaWQgY29ubmVjdGlvbiBzdHJpbmcgc3ludGF4 OiBtaXNzaW5nICI9IiBhZnRlciAiZm9vYmFyIiBpbiBjb25uZWN0aW9uIGluZm8gc3RyaW5nCiAK IFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgZiAgICAgICAg IHwgZCAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8 IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAg IHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQ VElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIFBVQkxJQ0FUSU9OIHRlc3RwdWIyLCB0ZXN0cHViMyBX SVRIIChyZWZyZXNoID0gZmFsc2UpOwpAQCAtOTQsMTAgKzk0LDEwIEBAIEVSUk9SOiAgc3Vic2Ny aXB0aW9uICJyZWdyZXNzX2RvZXNub3RleGlzdCIgZG9lcyBub3QgZXhpc3QKIEFMVEVSIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChjcmVhdGVfc2xvdCA9IGZhbHNlKTsKIEVSUk9S OiAgdW5yZWNvZ25pemVkIHN1YnNjcmlwdGlvbiBwYXJhbWV0ZXI6ICJjcmVhdGVfc2xvdCIKIFxk UnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0 aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAotLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRl c3RwdWIzfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8 IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9y IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25f dXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgZiAgICAgICAg IHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyCiAoMSByb3cpCiAKIEJFR0lOOwpAQCAt MTI5LDEwICsxMjksMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1Yl9mb28g U0VUIChzeW5jaHJvbm91c19jb21taXQgPSBmb29iYXIpOwogRVJST1I6ICBpbnZhbGlkIHZhbHVl IGZvciBwYXJhbWV0ZXIgInN5bmNocm9ub3VzX2NvbW1pdCI6ICJmb29iYXIiCiBISU5UOiAgQXZh aWxhYmxlIHZhbHVlczogbG9jYWwsIHJlbW90ZV93cml0ZSwgcmVtb3RlX2FwcGx5LCBvbiwgb2Zm LgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAg ICAgTmFtZSAgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAg ICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1p dCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotIHJlZ3Jlc3NfdGVzdHN1Yl9mb28gfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAg ICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAg ICAgICAgICAgIHwgbG9jYWwgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0MgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwor ICAgICAgICBOYW1lICAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxl ZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2Ug Y29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rl c3RzdWJfZm9vIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QyCiAoMSByb3cpCiAKIC0tIHJlbmFtZSBiYWNrIHRvIGtlZXAgdGhlIHJlc3Qgc2lt cGxlCkBAIC0xNjUsMTkgKzE2NSwxOSBAQCBFUlJPUjogIGJpbmFyeSByZXF1aXJlcyBhIEJvb2xl YW4gdmFsdWUKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04g J2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChj b25uZWN0ID0gZmFsc2UsIGJpbmFyeSA9IHRydWUpOwogV0FSTklORzogIHRhYmxlcyB3ZXJlIG5v dCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJT04gLi4u IFJFRlJFU0ggUFVCTElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgdCAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IHQgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWIgU0VUIChiaW5hcnkgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 byBwaGFzZSBjb21taXQgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAg ICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBv ZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5j aHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwg e3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBA IC0xODgsMTkgKzE4OCwxOSBAQCBFUlJPUjogIHN0cmVhbWluZyByZXF1aXJlcyBhIEJvb2xlYW4g dmFsdWUKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2Ri bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25u ZWN0ID0gZmFsc2UsIHN0cmVhbWluZyA9IHRydWUpOwogV0FSTklORzogIHRhYmxlcyB3ZXJlIG5v dCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJT04gLi4u IFJFRlJFU0ggUFVCTElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgdCAgICAgICAgIHwgZCAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHQgICAgICAgICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8 IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAg ICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAg fCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdAogKDEgcm93KQogCiAtLSBmYWlsIC0gcHVibGljYXRpb24gYWxyZWFkeSBleGlz dHMKQEAgLTIxNSwxMCArMjE1LDEwIEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIgQUREIFBVQkxJQ0FUSU9OIHRlc3RwdWIxLCB0ZXN0cHViMiBXSVRIIChyZWZyCiBBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQVUJMSUNBVElPTiB0ZXN0cHViMSwgdGVz dHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKIEVSUk9SOiAgcHVibGljYXRpb24gInRlc3Rw dWIxIiBpcyBhbHJlYWR5IGluIHN1YnNjcmlwdGlvbiAicmVncmVzc190ZXN0c3ViIgogXGRScysK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgICAgIFB1Ymxp Y2F0aW9uICAgICAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwg U3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAotLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K LSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAg ICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgICAgICAgICBQdWJsaWNhdGlvbiAgICAgICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdv IHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1l PXJlZ3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIC0tIGZhaWwgLSBwdWJsaWNhdGlvbiB1 c2VkIG1vcmUgdGhlbiBvbmNlCkBAIC0yMzMsMTAgKzIzMywxMCBAQCBFUlJPUjogIHB1YmxpY2F0 aW9uICJ0ZXN0cHViMyIgaXMgbm90IGluIHN1YnNjcmlwdGlvbiAicmVncmVzc190ZXN0c3ViIgog LS0gb2sgLSBkZWxldGUgcHVibGljYXRpb25zCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190 ZXN0c3ViIERST1AgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJVEggKHJlZnJlc2gg PSBmYWxzZSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAg ICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJs aWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1 YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNl IGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBm ICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAg ICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAogKDEgcm93KQogCiBEUk9Q IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBAIC0yNzAsMTAgKzI3MCwxMCBAQCBFUlJP UjogIHR3b19waGFzZSByZXF1aXJlcyBhIEJvb2xlYW4gdmFsdWUKIENSRUFURSBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIHR3b19waGFzZSA9 IHRydWUpOwogV0FSTklORzogIHRhYmxlcyB3ZXJlIG5vdCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBo YXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJT04gLi4uIFJFRlJFU0ggUFVCTElDQVRJT04gdG8g c3Vic2NyaWJlIHRoZSB0YWJsZXMKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1p dCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rl c3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAg IHwgZiAgICAgIHwgZiAgICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAg ICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28gcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IGYgICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0CiAoMSBy b3cpCiAKIC0tZmFpbCAtIGFsdGVyIG9mIHR3b19waGFzZSBvcHRpb24gbm90IHN1cHBvcnRlZC4K QEAgLTI4MiwxMCArMjgyLDEwIEBAIEVSUk9SOiAgdW5yZWNvZ25pemVkIHN1YnNjcmlwdGlvbiBw YXJhbWV0ZXI6ICJ0d29fcGhhc2UiCiAtLSBidXQgY2FuIGFsdGVyIHN0cmVhbWluZyB3aGVuIHR3 b19waGFzZSBlbmFibGVkCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAo c3RyZWFtaW5nID0gdHJ1ZSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQg fCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IHQgICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvIHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCB0ICAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAogKDEgcm93 KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0g Tk9ORSk7CkBAIC0yOTQsMTAgKzI5NCwzMyBAQCBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWI7CiBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29u bmVjdCA9IGZhbHNlLCBzdHJlYW1pbmcgPSB0cnVlLCB0d29fcGhhc2UgPSB0cnVlKTsKIFdBUk5J Tkc6ICB0YWJsZXMgd2VyZSBub3Qgc3Vic2NyaWJlZCwgeW91IHdpbGwgaGF2ZSB0byBydW4gQUxU RVIgU1VCU0NSSVBUSU9OIC4uLiBSRUZSRVNIIFBVQkxJQ0FUSU9OIHRvIHN1YnNjcmliZSB0aGUg dGFibGVzCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHQg ICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCB0ICAg ICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAorKDEgcm93KQorCitBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CitEUk9Q IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CistLSBmYWlsIC0gZGlzYWJsZV9vbl9lcnJv ciBtdXN0IGJlIGJvb2xlYW4KK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENP Tk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1 YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGRpc2FibGVfb25fZXJyb3IgPSBmb28pOworRVJST1I6 ICBkaXNhYmxlX29uX2Vycm9yIHJlcXVpcmVzIGEgQm9vbGVhbiB2YWx1ZQorLS0gbm93IGl0IHdv cmtzCitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVj dCA9IGZhbHNlLCBkaXNhYmxlX29uX2Vycm9yID0gZmFsc2UpOworV0FSTklORzogIHRhYmxlcyB3 ZXJlIG5vdCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJ T04gLi4uIFJFRlJFU0ggUFVCTElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMKK1xkUnMr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1l ICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlv biB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVy cm9yIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAor LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QKKygxIHJvdykKKworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTRVQgKGRpc2FibGVfb25fZXJyb3IgPSB0cnVlKTsKK1xkUnMrCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAorLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHVifSAgIHwgZiAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQg KHNsb3RfbmFtZSA9IE5PTkUpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vi c2NyaXB0aW9uLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKaW5k ZXggYmQwZjRhZi4uZGJhYzhlMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vi c2NyaXB0aW9uLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3Fs CkBAIC0yMjgsNiArMjI4LDIwIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBEUk9QIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CiAKKy0tIGZhaWwgLSBkaXNhYmxlX29uX2Vycm9y IG11c3QgYmUgYm9vbGVhbgorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09O TkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHVi IFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgZGlzYWJsZV9vbl9lcnJvciA9IGZvbyk7CisKKy0tIG5v dyBpdCB3b3JrcworQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElP TiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEgg KGNvbm5lY3QgPSBmYWxzZSwgZGlzYWJsZV9vbl9lcnJvciA9IGZhbHNlKTsKKworXGRScysKKwor QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKGRpc2FibGVfb25fZXJyb3Ig PSB0cnVlKTsKKworXGRScysKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsK KwogUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOwogRFJPUCBST0xFIHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXI7CiBEUk9QIFJPTEUgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjI7CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjhfZGlzYWJsZV9vbl9lcnJvci5wbCBi L3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyOF9kaXNhYmxlX29uX2Vycm9yLnBsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNWRlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjhfZGlzYWJsZV9vbl9lcnJvci5wbApAQCAtMCwwICsx LDIwMCBAQAorCisjIENvcHlyaWdodCAoYykgMjAyMS0yMDIyLCBQb3N0Z3JlU1FMIEdsb2JhbCBE ZXZlbG9wbWVudCBHcm91cAorCisjIFRlc3Qgb2YgbG9naWNhbCByZXBsaWNhdGlvbiBzdWJzY3Jp cHRpb24gc2VsZi1kaXNhYmxpbmcgZmVhdHVyZQordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsK K3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0 aWxzOwordXNlIFRlc3Q6Ok1vcmU7CisKKyMgV2FpdCBmb3IgdGhlIG5hbWVkIHN1YnNjcmlwdGlv bnMgdG8gY2F0Y2ggdXAgb3IgdG8gYmUgZGlzYWJsZWQuCitzdWIgd2FpdF9mb3Jfc3Vic2NyaXB0 aW9ucworeworCW15ICgkbm9kZV9uYW1lLCAkZGJuYW1lLCBAc3Vic2NyaXB0aW9ucykgPSBAXzsK KworCSMgVW5pcXVlLWlmeSB0aGUgc3Vic2NyaXB0aW9ucyBwYXNzZWQgYnkgdGhlIGNhbGxlcgor CW15ICV1bmlxdWUgICAgICAgPSBtYXAgeyAkXyA9PiAxIH0gQHN1YnNjcmlwdGlvbnM7CisJbXkg QHVuaXF1ZSAgICAgICA9IHNvcnQga2V5cyAldW5pcXVlOworCW15ICR1bmlxdWVfY291bnQgPSBz Y2FsYXIoQHVuaXF1ZSk7CisKKwkjIENvbnN0cnVjdCBhIFNRTCBsaXN0IGZyb20gdGhlIHVuaXF1 ZSBzdWJzY3JpcHRpb24gbmFtZXMKKwlteSAkc3VibGlzdCA9IGpvaW4oJywgJywgbWFwIHsgIick XyciIH0gQHVuaXF1ZSk7CisKKwlteSAkcG9sbGluZ19zcWwgPSBxcSgKKwkJU0VMRUNUIENPVU5U KDEpID0gJHVuaXF1ZV9jb3VudCBGUk9NCisJCQkoU0VMRUNUIHMub2lkCisJCQkJRlJPTSBwZ19j YXRhbG9nLnBnX3N1YnNjcmlwdGlvbiBzCisJCQkJTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfc3Vi c2NyaXB0aW9uX3JlbCBzcgorCQkJCU9OIHNyLnNyc3ViaWQgPSBzLm9pZAorCQkJCVdIRVJFIHNy LnNyc3Vic3RhdGUgSU4gKCdzJywgJ3InKQorCQkJCSAgQU5EIHMuc3VibmFtZSBJTiAoJHN1Ymxp c3QpCisJCQkJICBBTkQgcy5zdWJlbmFibGVkIElTIFRSVUUKKwkJCSBVTklPTgorCQkJIFNFTEVD VCBzLm9pZAorCQkJCUZST00gcGdfY2F0YWxvZy5wZ19zdWJzY3JpcHRpb24gcworCQkJCVdIRVJF IHMuc3VibmFtZSBJTiAoJHN1Ymxpc3QpCisJCQkJICBBTkQgcy5zdWJlbmFibGVkIElTIEZBTFNF CisJCQkpIEFTIHN5bmNlZF9vcl9kaXNhYmxlZAorCQkpOworCXJldHVybiAkbm9kZV9uYW1lLT5w b2xsX3F1ZXJ5X3VudGlsKCRkYm5hbWUsICRwb2xsaW5nX3NxbCk7Cit9CisKK215IEBzY2hlbWFz ID0gcXcoczEgczIpOworbXkgKCRzY2hlbWEsICRjbWQpOworCitteSAkbm9kZV9wdWJsaXNoZXIg PSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3B1Ymxpc2hlcicpOworJG5vZGVfcHVi bGlzaGVyLT5pbml0KGFsbG93c19zdHJlYW1pbmcgPT4gJ2xvZ2ljYWwnKTsKKyRub2RlX3B1Ymxp c2hlci0+c3RhcnQ7CisKK215ICRub2RlX3N1YnNjcmliZXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpD bHVzdGVyLT5uZXcoJ3N1YnNjcmliZXInKTsKKyRub2RlX3N1YnNjcmliZXItPmluaXQ7Ciskbm9k ZV9zdWJzY3JpYmVyLT5zdGFydDsKKworIyBDcmVhdGUgaWRlbnRpY2FsIHNjaGVtYSwgdGFibGUg YW5kIGluZGV4IG9uIGJvdGggdGhlIHB1Ymxpc2hlciBhbmQKKyMgc3Vic2NyaWJlcgorZm9yICRz Y2hlbWEgKEBzY2hlbWFzKQoreworCSRjbWQgPSBxcSgKK0NSRUFURSBTQ0hFTUEgJHNjaGVtYTsK K0NSRUFURSBUQUJMRSAkc2NoZW1hLnRibCAoaSBJTlQpOworQUxURVIgVEFCTEUgJHNjaGVtYS50 YmwgUkVQTElDQSBJREVOVElUWSBGVUxMOworQ1JFQVRFIElOREVYICR7c2NoZW1hfV90YmxfaWR4 IE9OICRzY2hlbWEudGJsKGkpKTsKKwkkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAkY21kKTsKKwkkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNt ZCk7Cit9CisKKyMgQ3JlYXRlIG5vbi11bmlxdWUgZGF0YSBpbiBib3RoIHNjaGVtYXMgb24gdGhl IHB1Ymxpc2hlci4KK2ZvciAkc2NoZW1hIChAc2NoZW1hcykKK3sKKwkkY21kID0gcXEoSU5TRVJU IElOVE8gJHNjaGVtYS50YmwgKGkpIFZBTFVFUyAoMSksICgxKSwgKDEpKTsKKwkkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKTsKK30KKworIyBDcmVhdGUgYW4gYWRk aXRpb25hbCB1bmlxdWUgaW5kZXggaW4gc2NoZW1hIHMxIG9uIHRoZSBzdWJzY3JpYmVyIG9ubHku CisjIFRoZW4sIHdlJ2xsIHNldCB1cCAyIHBhaXJzIG9mIHB1Yi9zdWIsIHdob3NlIG5hbWVzIGFy ZSBzYW1lIGFzIHNjaGVtYXMuCisjIFB1Ymxpc2hlciAiczEiIC0tPiBTdWJzY3JpYmVyICJzMSIK KyMgUHVibGlzaGVyICJzMiIgLS0+IFN1YnNjcmliZXIgInMyIgorIyBUaGlzIHNob3VsZCBjYXVz ZSBzdWJzY3JpcHRpb24gInMxIiBvbiB0aGUgc3Vic2NyaWJlciB0byBmYWlsIGR1cmluZworIyBp bml0aWFsIHN5bmNocm9uaXphdGlvbiBhbmQgdG8gZ2V0IGF1dG9tYXRpY2FsbHkgZGlzYWJsZWQu CiskY21kID0gcXEoQ1JFQVRFIFVOSVFVRSBJTkRFWCBzMV90YmxfdW5pcXVlIE9OIHMxLnRibCAo aSkpOworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICRjbWQpOworCisj IENyZWF0ZSBwdWJsaWNhdGlvbnMgYW5kIHN1YnNjcmlwdGlvbnMgbGlua2luZyB0aGUgc2NoZW1h cyBvbgorIyB0aGUgcHVibGlzaGVyIHdpdGggdGhvc2Ugb24gdGhlIHN1YnNjcmliZXIuICBUaGlz IHRlc3RzIHRoYXQgdGhlCisjIHVuaXF1ZW5lc3MgdmlvbGF0aW9ucyBjYXVzZSBzdWJzY3JpcHRp b24gInMxIiB0byBmYWlsIGR1cmluZworIyBpbml0aWFsIHN5bmNocm9uaXphdGlvbi4KK215ICRw dWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBv c3RncmVzJzsKK2ZvciAkc2NoZW1hIChAc2NoZW1hcykKK3sKKwkjIENyZWF0ZSB0aGUgcHVibGlj YXRpb24gZm9yIHRoaXMgdGFibGUKKwkkY21kID0gcXEoCitDUkVBVEUgUFVCTElDQVRJT04gJHNj aGVtYSBGT1IgVEFCTEUgJHNjaGVtYS50YmwpOworCSRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICRjbWQpOworCisJIyBDcmVhdGUgdGhlIHN1YnNjcmlwdGlvbiBmb3IgdGhp cyB0YWJsZQorCSRjbWQgPSBxcSgKK0NSRUFURSBTVUJTQ1JJUFRJT04gJHNjaGVtYQorCUNPTk5F Q1RJT04gJyRwdWJsaXNoZXJfY29ubnN0cicKKwlQVUJMSUNBVElPTiAkc2NoZW1hCisJV0lUSCAo ZGlzYWJsZV9vbl9lcnJvciA9IHRydWUpKTsKKwkkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgJGNtZCk7Cit9CisKKyMgV2FpdCBmb3IgdGhlIGluaXRpYWwgc3Vic2NyaXB0 aW9uIHN5bmNocm9uaXphdGlvbnMgdG8gZmluaXNoIG9yIGZhaWwuCit3YWl0X2Zvcl9zdWJzY3Jp cHRpb25zKCRub2RlX3N1YnNjcmliZXIsICdwb3N0Z3JlcycsIEBzY2hlbWFzKQorICBvciBkaWUg IlRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciBzdWJzY3JpYmVyIHRvIHN5bmNocm9uaXplIGRh dGEiOworCisjIFN1YnNjcmlwdGlvbiAiczEiIHNob3VsZCBoYXZlIGRpc2FibGVkIGl0c2VsZiBk dWUgdG8gZXJyb3IuCiskY21kID0gcXEoCitTRUxFQ1Qgc3ViZW5hYmxlZCBGUk9NIHBnX2NhdGFs b2cucGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAnczEnKTsKK2lzKCRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKSwKKwkiZiIsICJzdWJzY3JpcHRpb24g czEgbm8gbG9uZ2VyIGVuYWJsZWQiKTsKKworIyBTdWJzY3JpcHRpb24gInMyIiBzaG91bGQgaGF2 ZSBjb3BpZWQgdGhlIGluaXRpYWwgZGF0YSB3aXRob3V0IGluY2lkZW50LgorJGNtZCA9IHFxKAor U0VMRUNUIHN1YmVuYWJsZWQgRlJPTSBwZ19jYXRhbG9nLnBnX3N1YnNjcmlwdGlvbiBXSEVSRSBz dWJuYW1lID0gJ3MyJyk7Citpcygkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgJGNtZCksCisJInQiLCAic3Vic2NyaXB0aW9uIHMyIHN0aWxsIGVuYWJsZWQiKTsKKyRjbWQg PSBxcShTRUxFQ1QgaSwgQ09VTlQoKikgRlJPTSBzMi50YmwgR1JPVVAgQlkgaSk7Citpcygkbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNtZCksCisJIjF8MyIsICJzdWJz Y3JpcHRpb24gczIgcmVwbGljYXRlZCBpbml0aWFsIGRhdGEiKTsKKworIyBFbnRlciB1bmlxdWUg ZGF0YSBmb3IgYm90aCBzY2hlbWFzIG9uIHRoZSBwdWJsaXNoZXIuICBUaGlzIHNob3VsZCBzdWNj ZWVkIG9uCisjIHRoZSBwdWJsaXNoZXIgbm9kZSwgYW5kIG5vdCBjYXVzZSBhbnkgYWRkaXRpb25h bCBwcm9ibGVtcyBvbiB0aGUgc3Vic2NyaWJlcgorIyBzaWRlIGVpdGhlciwgdGhvdWdoIGRpc2Fi bGVkIHN1YnNjcmlwdGlvbiAiczEiIHNob3VsZCBub3QgcmVwbGljYXRlIGFueXRoaW5nLgorZm9y ICRzY2hlbWEgKEBzY2hlbWFzKQoreworCSRjbWQgPSBxcShJTlNFUlQgSU5UTyAkc2NoZW1hLnRi bCAoaSkgVkFMVUVTICgyKSk7CisJJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgJGNtZCk7Cit9CisKKyMgV2FpdCBmb3IgdGhlIGRhdGEgdG8gcmVwbGljYXRlIGZvciB0aGUg c3Vic2NyaXB0aW9ucy4gIFRoaXMgdGVzdHMgdGhhdCB0aGUKKyMgcHJvYmxlbXMgZW5jb3VudGVy ZWQgYnkgc3Vic2NyaXB0aW9uICJzMSIgZG8gbm90IGNhdXNlIHN1YnNjcmlwdGlvbiAiczIiIHRv CisjIGdldCBzdHVjay4gU3Vic2NyaXB0aW9uICJzMSIgc2hvdWxkIHN0aWxsIGJlIGRpc2FibGVk LgorJGNtZCA9IHFxKAorU0VMRUNUIHN1YmVuYWJsZWQgRlJPTSBwZ19jYXRhbG9nLnBnX3N1YnNj cmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3MxJyk7Citpcygkbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgJGNtZCksCisJImYiLCAic3Vic2NyaXB0aW9uIHMxIHN0aWxsIGRp c2FibGVkIik7CisKKyMgU3Vic2NyaXB0aW9uICJzMiIgc2hvdWxkIHN0aWxsIGJlIGVuYWJsZWQg YW5kIGhhdmUgcmVwbGljYXRlZCBhbGwgY2hhbmdlcworJGNtZCA9IHFxKAorU0VMRUNUIHN1YmVu YWJsZWQgRlJPTSBwZ19jYXRhbG9nLnBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3My Jyk7Citpcygkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNtZCksCisJ InQiLCAic3Vic2NyaXB0aW9uIHMyIHN0aWxsIGVuYWJsZWQiKTsKKyRjbWQgPSBxKFNFTEVDVCBD T1VOVCgxKSA9IDEgRlJPTSBzMi50YmwgV0hFUkUgaSA9IDIpOworJG5vZGVfc3Vic2NyaWJlci0+ cG9sbF9xdWVyeV91bnRpbCgncG9zdGdyZXMnLCAkY21kKQorICBvciBkaWUgIlRpbWVkIG91dCB3 aGlsZSB3YWl0aW5nIGZvciBzdWJzY3JpYmVyIHRvIGFwcGx5IGRhdGEiOworCisjIERyb3AgdGhl IHVuaXF1ZSBpbmRleCBvbiAiczEiIHdoaWNoIGNhdXNlZCB0aGUgc3Vic2NyaXB0aW9uIHRvIGJl IGRpc2FibGVkCiskY21kID0gcXEoRFJPUCBJTkRFWCBzMS5zMV90YmxfdW5pcXVlKTsKKyRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKTsKKworIyBSZS1lbmFibGUg dGhlIHN1YnNjcmlwdGlvbiAiczEiCiskY21kID0gcShBTFRFUiBTVUJTQ1JJUFRJT04gczEgRU5B QkxFKTsKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKTsKKwor IyBXYWl0IGZvciB0aGUgZGF0YSB0byByZXBsaWNhdGUKK3dhaXRfZm9yX3N1YnNjcmlwdGlvbnMo JG5vZGVfc3Vic2NyaWJlciwgJ3Bvc3RncmVzJywgQHNjaGVtYXMpCisgIG9yIGRpZSAiVGltZWQg b3V0IHdoaWxlIHdhaXRpbmcgZm9yIHN1YnNjcmliZXIgdG8gc3luY2hyb25pemUgZGF0YSI7CisK KyMgQ2hlY2sgdGhhdCB3ZSBoYXZlIHRoZSBuZXcgZGF0YSBpbiBzMS50YmwKKyRjbWQgPSBxKFNF TEVDVCBNQVgoaSksIENPVU5UKCopIEZST00gczEudGJsKTsKK2lzKCRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKSwKKwkiMnw0IiwgInN1YnNjcmlwdGlvbiBzMSBy ZXBsaWNhdGVkIGRhdGEiKTsKKworIyBEZWxldGUgdGhlIGRhdGEgZnJvbSB0aGUgc3Vic2NyaWJl ciBvbmx5LCBhbmQgcmVjcmVhdGUgdGhlIHVuaXF1ZSBpbmRleAorJGNtZCA9IHEoCitERUxFVEUg RlJPTSBzMS50Ymw7CitDUkVBVEUgVU5JUVVFIElOREVYIHMxX3RibF91bmlxdWUgT04gczEudGJs IChpKSk7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNtZCk7CisK KyMgQWRkIG1vcmUgbm9uLXVuaXF1ZSBkYXRhIHRvIHRoZSBwdWJsaXNoZXIKK2ZvciAkc2NoZW1h IChAc2NoZW1hcykKK3sKKwkkY21kID0gcXEoSU5TRVJUIElOVE8gJHNjaGVtYS50YmwgKGkpIFZB TFVFUyAoMyksICgzKSwgKDMpKTsKKwkkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAkY21kKTsKK30KKworIyBXYWl0IGZvciB0aGUgZGF0YSB0byByZXBsaWNhdGUgZm9yIHRo ZSBzdWJzY3JpcHRpb25zLiAgVGhpcyB0ZXN0cyB0aGF0CisjIHVuaXF1ZW5lc3MgdmlvbGF0aW9u cyBlbmNvdW50ZXJlZCBkdXJpbmcgcmVwbGljYXRpb24gY2F1c2UgczEgdG8gYmUgZGlzYWJsZWQu CiskY21kID0gcXEoCitTRUxFQ1QgY291bnQoMSkgPSAxIEZST00gcGdfY2F0YWxvZy5wZ19zdWJz Y3JpcHRpb24gcworV0hFUkUgcy5zdWJuYW1lID0gJ3MxJyBBTkQgcy5zdWJlbmFibGVkIElTIEZB TFNFCispOworJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgncG9zdGdyZXMnLCAk Y21kKQorICBvciBkaWUgIlRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciBzdWJzY3JpcHRpb24g czEgdG8gYmUgZGlzYWJsZWQiOworCisjIFN1YnNjcmlwdGlvbiAiczIiIHNob3VsZCBoYXZlIGNv cGllZCB0aGUgaW5pdGlhbCBkYXRhIHdpdGhvdXQgaW5jaWRlbnQuCiskY21kID0gcXEoCitTRUxF Q1Qgc3ViZW5hYmxlZCBGUk9NIHBnX2NhdGFsb2cucGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5h bWUgPSAnczInKTsKK2lzKCRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAk Y21kKSwKKwkidCIsICJzdWJzY3JpcHRpb24gczIgc3RpbGwgZW5hYmxlZCIpOworJGNtZCA9IHFx KFNFTEVDVCBNQVgoaSksIENPVU5UKCopIEZST00gczIudGJsKTsKK2lzKCRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKSwKKwkiM3w3IiwgInN1YnNjcmlwdGlvbiBz MiByZXBsaWNhdGVkIGFkZGl0aW9uYWwgZGF0YSIpOworCiskbm9kZV9zdWJzY3JpYmVyLT5zdG9w OworJG5vZGVfcHVibGlzaGVyLT5zdG9wOworCitkb25lX3Rlc3RpbmcoKTsKLS0gCjEuOC4zLjEK Cg== --_002_TYCPR01MB837326C879A9CDE756073A7FED3A9TYCPR01MB8373jpnp_--