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 1nEzqB-0004x0-IQ for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Feb 2022 20:33:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nEzq9-00058U-FH for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Feb 2022 20:33:25 +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 1nEzq8-00058K-JX for pgsql-hackers@lists.postgresql.org; Tue, 01 Feb 2022 20:33:25 +0000 Received: from smtp-fw-6001.amazon.com ([52.95.48.154]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nEzq5-00034p-N8 for pgsql-hackers@postgresql.org; Tue, 01 Feb 2022 20:33:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1643747602; x=1675283602; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=6KJwBdtQkG8Mr+JvI1cDD6EEbAXjO5CyzdqmUNgr1Js=; b=NhRiWUPRdxh2DmfSB1jQ0FvjmSt94+ZY+aFB9blM9Me5AbCAgVEn1NWn FYljW42CP6dg0va8J0UC6d1lMASc0bpxEJjQIPMKFbR8Ff8q3MtHm8U8n UGpJsJWvhmYMBvmx46pf89AtZ3QyxX18p2vYtShqcazn3Sx4I2zZlq5Kg Y=; X-Amazon-filename: 0005-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch X-IronPort-AV: E=Sophos;i="5.88,334,1635206400"; d="scan'208,223";a="174702651" Subject: Re: Add index scan progress to pg_stat_progress_vacuum Thread-Topic: Add index scan progress to pg_stat_progress_vacuum Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-iad-1e-0168675e.us-east-1.amazon.com) ([10.43.8.6]) by smtp-border-fw-6001.iad6.amazon.com with ESMTP; 01 Feb 2022 20:33:21 +0000 Received: from EX13MTAUWC002.ant.amazon.com (iad12-ws-svc-p26-lb9-vlan3.iad.amazon.com [10.40.163.38]) by email-inbound-relay-iad-1e-0168675e.us-east-1.amazon.com (Postfix) with ESMTPS id 756C3A2887; Tue, 1 Feb 2022 20:33:19 +0000 (UTC) Received: from EX13D03UWC001.ant.amazon.com (10.43.162.136) by EX13MTAUWC002.ant.amazon.com (10.43.162.240) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Tue, 1 Feb 2022 20:33:16 +0000 Received: from EX13D13UWB003.ant.amazon.com (10.43.161.233) by EX13D03UWC001.ant.amazon.com (10.43.162.136) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Tue, 1 Feb 2022 20:33:16 +0000 Received: from EX13D13UWB003.ant.amazon.com ([10.43.161.233]) by EX13D13UWB003.ant.amazon.com ([10.43.161.233]) with mapi id 15.00.1497.028; Tue, 1 Feb 2022 20:33:16 +0000 From: "Imseih (AWS), Sami" To: "Bossart, Nathan" , Masahiko Sawada CC: Justin Pryzby , Peter Geoghegan , "pgsql-hackers@postgresql.org" Thread-Index: AQHX5uocuLg5vK9yXkugZYU7JVvUD6wzrQ+AgAgmSICABBF2gIAG6AwAgAKncACAAHdDgIAB+R4AgApC9gCAAH6XgIAFpgqAgACO0YCAAmeYgIAAPoWAgACuc4CAFeNTAIAJEEuA Date: Tue, 1 Feb 2022 20:33:16 +0000 Message-ID: References: <5478DFCD-2333-401A-B2F0-0D186AB09228@amazon.com> <7874FB21-FAA5-49BD-8386-2866552656C7@amazon.com> <7F1C93C1-C50E-497A-86C5-B637EA4D9F79@amazon.com> <04D9F80C-1A7C-4C23-9156-6799D974DC72@amazon.com> <20211229175121.GP24477@telsasoft.com> <39E8ED08-56E6-4466-93BF-3FD3D51EE52C@amazon.com> <5883EFA0-1AFF-46C3-A8A7-0DA63640482F@amazon.com> <6D2C60C2-C09E-4117-A6B8-DCA7A0F5B182@amazon.com> <22C9CB0C-9576-47AF-8A6E-F9573F73CD4E@amazon.com> <6753CC4A-D1D8-477D-9B82-CFE12169DFF5@amazon.com> <7A4B3BA8-0768-4463-9B25-25DBECF56B25@amazon.com> <96387867-CBAF-4CCF-861E-2F4ACBCBBD68@amazon.com> In-Reply-To: <96387867-CBAF-4CCF-861E-2F4ACBCBBD68@amazon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.162.8] Content-Type: multipart/mixed; boundary="_002_DC471B48A8154326AC623672CDB9B4ABamazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_DC471B48A8154326AC623672CDB9B4ABamazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 QWZ0ZXIgc3BlYWtpbmcgd2l0aCBOYXRoYW4gb2ZmbGluZSwgQSBmZXcgY2hhbmdlcyBoYXZlIGJl ZW4gbWFkZSB0byB0aGUgcGF0Y2guDQoNCkFzIG1lbnRpb25lZCBlYXJsaWVyIGluIHRoZSB0aHJl YWQsIHRyYWNraW5nIGhvdyBtYW55IGluZGV4ZXMgYXJlIHByb2Nlc3NlZCBpbiBQQVJBTExFTCB2 YWN1dW0gbW9kZSBpcyBub3QgdmVyeSBzdHJhaWdodGZvcndhcmQgc2luY2Ugb25seSB0aGUgd29y a2VycyBvciBsZWFkZXIgcHJvY2VzcyBoYXZlIGFiaWxpdHkgdG8gaW5zcGVjdCB0aGUgVmFjdXVt IHNoYXJlZCBwYXJhbGxlbCBzdGF0ZS4gDQoNClRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgcGF0 Y2ggaW50cm9kdWNlcyBhIHNoYXJlZCBtZW1vcnkgdG8gdHJhY2sgaW5kZXhlcyB2YWN1dW1lZC9j bGVhbmVkIGJ5IGVhY2ggd29ya2VyICggb3IgbGVhZGVyICkgaW4gYSBQQVJBTExFTCB2YWN1dW0u IEluIG9yZGVyIHRvIHByZXNlbnQgdGhpcyBkYXRhIGluIHRoZSBwZ19zdGF0X3Byb2dyZXNzX3Zh Y3V1bSB2aWV3LCB0aGUgdmFsdWUgb2YgdGhlIG5ldyBjb2x1bW4gImluZGV4ZXNfcHJvY2Vzc2Vk IiAgaXMgcmV0cmlldmVkIGZyb20gc2hhcmVkIG1lbW9yeSBieSBwZ19zdGF0X2dldF9wcm9ncmVz c19pbmZvLiBGb3Igbm9uLXBhcmFsbGVsIHZhY3V1bXMsIHRoZSB2YWx1ZSBvZiAiaW5kZXhlc19w cm9jZXNzZWQiIGlzIHJldHJpZXZlZCBmcm9tIHRoZSBiYWNrZW5kIHByb2dyZXNzIGFycmF5IGRp cmVjdGx5LiANCg0KVGhlIHBhdGNoIGFsc28gaW5jbHVkZXMgdGhlIGNoYW5nZXMgdG8gaW1wbGVt ZW50IHRoZSBuZXcgdmlldyBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleCB3aGljaCBleHBv c2VzIHRoZSBpbmRleCBiZWluZyB2YWN1dW1lZC9jbGVhbmVkIHVwLg0KDQpwb3N0Z3Jlcz0jIFxk KyBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bSA7DQogICAgICAgICAgICAgICAgICAgICAgIFZpZXcg InBnX2NhdGFsb2cucGdfc3RhdF9wcm9ncmVzc192YWN1dW0iDQogICAgICAgQ29sdW1uICAgICAg IHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCB8IFN0b3JhZ2UgIHwg RGVzY3JpcHRpb24NCi0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0NCiBwaWQgICAgICAg ICAgICAgICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwgcGxh aW4gICAgfA0KIGRhdGlkICAgICAgICAgICAgICB8IG9pZCAgICAgfCAgICAgICAgICAgfCAgICAg ICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogZGF0bmFtZSAgICAgICAgICAgIHwgbmFtZSAg ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8IHBsYWluICAgIHwNCiByZWxpZCAg ICAgICAgICAgICAgfCBvaWQgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwg cGxhaW4gICAgfA0KIHBoYXNlICAgICAgICAgICAgICB8IHRleHQgICAgfCAgICAgICAgICAgfCAg ICAgICAgICB8ICAgICAgICAgfCBleHRlbmRlZCB8DQogaGVhcF9ibGtzX3RvdGFsICAgIHwgYmln aW50ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8IHBsYWluICAgIHwNCiBoZWFw X2Jsa3Nfc2Nhbm5lZCAgfCBiaWdpbnQgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAg IHwgcGxhaW4gICAgfA0KIGhlYXBfYmxrc192YWN1dW1lZCB8IGJpZ2ludCAgfCAgICAgICAgICAg fCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogaW5kZXhfdmFjdXVtX2NvdW50IHwg YmlnaW50ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8IHBsYWluICAgIHwNCiBt YXhfZGVhZF90dXBsZXMgICAgfCBiaWdpbnQgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAg ICAgIHwgcGxhaW4gICAgfA0KIG51bV9kZWFkX3R1cGxlcyAgICB8IGJpZ2ludCAgfCAgICAgICAg ICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogaW5kZXhlc190b3RhbCAgICAg IHwgYmlnaW50ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8IHBsYWluICAgIHwg ICAgICAgICAgICAgICAgICA8PDwtLSBuZXcgY29sdW1uDQogaW5kZXhlc19wcm9jZXNzZWQgIHwg YmlnaW50ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8IHBsYWluICAgIHwgICAg ICAgICAgICAgICAgICA8PDwtLSBuZXcgY29sdW1uDQoNCg0KPDw8LS0tIG5ldyB2aWV3IC0tLT4+ Pg0KDQpwb3N0Z3Jlcz0jIFxkIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4DQogICAgICBW aWV3ICJwZ19jYXRhbG9nLnBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4Ig0KICAgICBDb2x1 bW4gICAgIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdA0KLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0NCiBw aWQgICAgICAgICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogZGF0aWQg ICAgICAgICAgfCBvaWQgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfA0KIGRhdG5hbWUgICAg ICAgIHwgbmFtZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwNCiBpbmRleHJlbGlkICAgICB8 IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogbGVhZGVyX3BpZCAgICAgfCBiaWdp bnQgIHwgICAgICAgICAgIHwgICAgICAgICAgfA0KIHBoYXNlICAgICAgICAgIHwgdGV4dCAgICB8 ICAgICAgICAgICB8ICAgICAgICAgIHwNCiB0dXBsZXNfcmVtb3ZlZCB8IGJpZ2ludCAgfCAgICAg ICAgICAgfCAgICAgICAgICB8DQoNCg0KDQrvu79PbiAxLzI2LzIyLCA4OjA3IFBNLCAiSW1zZWlo IChBV1MpLCBTYW1pIiA8c2ltc2VpaEBhbWF6b24uY29tPiB3cm90ZToNCg0KICAgIEF0dGFjaGVk IGlzIHRoZSBsYXRlc3QgcGF0Y2ggYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbi4NCg0KICAg IFRoaXMgdmVyc2lvbiBhZGRyZXNzZXMgdGhlIGluZGV4X29yZGluYWxfcG9zaXRpb24gY29sdW1u IGNvbmZ1c2lvbi4gUmF0aGVyIHRoYW4gZGlzcGxheWluZyB0aGUgaW5kZXggcG9zaXRpb24sIHRo ZSBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bSB2aWV3IG5vdyBoYXMgMiBuZXcgY29sdW1uKHMpOg0K ICAgIGluZGV4X3RvdGFsIC0gdGhpcyBjb2x1bW4gd2lsbCBzaG93IHRoZSB0b3RhbCBudW1iZXIg b2YgaW5kZXhlcyB0byBiZSB2YWN1dW1lZA0KICAgIGluZGV4X2NvbXBsZXRlX2NvdW50IC0gdGhp cyBjb2x1bW4gd2lsbCBzaG93IHRoZSB0b3RhbCBudW1iZXIgb2YgaW5kZXhlcyBwcm9jZXNzZWQg c28gZmFyLiBJbiBvcmRlciB0byBkZWFsIHdpdGggdGhlIHBhcmFsbGVsIHZhY3V1bXMsIHRoZSBw YXJhbGxlbF93b3JrZXJzICggcGxhbm5lZCB3b3JrZXJzICkgdmFsdWUgaGFkIHRvIGJlIGV4cG9z ZWQgYW5kIGVhY2ggYmFja2VuZHMgcGVyZm9ybWluZyBhbiBpbmRleCB2YWN1dW0vY2xlYW51cCBp biBwYXJhbGxlbCBoYWQgdG8gYWR2ZXJ0aXNlIHRoZSBudW1iZXIgb2YgaW5kZXhlcyBpdCB2YWN1 dW1lZC9jbGVhbmVkLiBUaGUgIyBvZiBpbmRleGVzIHZhY3V1bWVkIGZvciB0aGUgcGFyYWxsZWwg Y2xlYW51cCBjYW4gdGhlbiBiZSBkZXJpdmVkIHRoZSBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bSB2 aWV3LiANCg0KICAgIHBvc3RncmVzPSMgXGQgcGdfc3RhdF9wcm9ncmVzc192YWN1dW0NCiAgICAg ICAgICAgICAgICBWaWV3ICJwZ19jYXRhbG9nLnBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIg0KICAg ICAgICAgICAgQ29sdW1uICAgICAgICB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8 IERlZmF1bHQNCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLQ0KICAgICBwaWQgICAgICAgICAgICAgICAgICB8IGludGVn ZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgIGRhdGlkICAgICAgICAgICAgICAgIHwg b2lkICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwNCiAgICAgZGF0bmFtZSAgICAgICAgICAg ICAgfCBuYW1lICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfA0KICAgICByZWxpZCAgICAgICAg ICAgICAgICB8IG9pZCAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgIHBoYXNlICAg ICAgICAgICAgICAgIHwgdGV4dCAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwNCiAgICAgaGVh cF9ibGtzX3RvdGFsICAgICAgfCBiaWdpbnQgIHwgICAgICAgICAgIHwgICAgICAgICAgfA0KICAg ICBoZWFwX2Jsa3Nfc2Nhbm5lZCAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8 DQogICAgIGhlYXBfYmxrc192YWN1dW1lZCAgIHwgYmlnaW50ICB8ICAgICAgICAgICB8ICAgICAg ICAgIHwNCiAgICAgaW5kZXhfdmFjdXVtX2NvdW50ICAgfCBiaWdpbnQgIHwgICAgICAgICAgIHwg ICAgICAgICAgfA0KICAgICBtYXhfZGVhZF90dXBsZXMgICAgICB8IGJpZ2ludCAgfCAgICAgICAg ICAgfCAgICAgICAgICB8DQogICAgIG51bV9kZWFkX3R1cGxlcyAgICAgIHwgYmlnaW50ICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwNCiAgICAgaW5kZXhfdG90YWwgICAgICAgICAgfCBiaWdpbnQg IHwgICAgICAgICAgIHwgICAgICAgICAgfC4gICAgICAgICAgICAgICAgICAgICAgICAgICA8PDwt LS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgaW5kZXhfY29tcGxldGVfY291bnQgfCBudW1lcmlj IHwgICAgICAgICAgIHwgICAgICAgICAgfC4gICAgICAgICAgIDw8PC0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KDQogICAgVGhlIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4IHZpZXcgaW5jbHVk ZXM6DQoNCiAgICBJbmRleHJlbGlkIC0gdGhlIGN1cnJlbnRseSB2YWN1dW1lZCBpbmRleA0KICAg IExlYWRlcl9waWQgLSB0aGUgcGlkIG9mIHRoZSBsZWFkZXIgcHJvY2Vzcy4gTlVMTCBpZiB0aGUg cHJvY2VzcyBpcyB0aGUgbGVhZGVyIG9yIHZhY3V1bSBpcyBub3QgcGFyYWxsZWwNCiAgICB0dXBs ZXNfcmVtb3ZlZCAtIHRoZSBhbW91bnQgb2YgaW5kZXhlcyB0dXBsZXMgcmVtb3ZlZC4gVGhlIHVz ZXIgY2FuIHVzZSB0aGlzIGNvbHVtbiB0byBzZWUgdGhhdCB0aGUgaW5kZXggdmFjdXVtIGhhcyBt b3ZlbWVudC4NCg0KICAgIHBvc3RncmVzPSMgXGQgcGdfc3RhdF9wcm9ncmVzc192YWN1dW1faW5k ZXgNCiAgICAgICAgICBWaWV3ICJwZ19jYXRhbG9nLnBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2lu ZGV4Ig0KICAgICAgICAgQ29sdW1uICAgICB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJs ZSB8IERlZmF1bHQNCiAgICAtLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLQ0KICAgICBwaWQgICAgICAgICAgICB8IGludGVnZXIgfCAgICAg ICAgICAgfCAgICAgICAgICB8DQogICAgIGRhdGlkICAgICAgICAgIHwgb2lkICAgICB8ICAgICAg ICAgICB8ICAgICAgICAgIHwNCiAgICAgZGF0bmFtZSAgICAgICAgfCBuYW1lICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgfA0KICAgICBpbmRleHJlbGlkICAgICB8IGJpZ2ludCAgfCAgICAgICAg ICAgfCAgICAgICAgICB8DQogICAgIHBoYXNlICAgICAgICAgIHwgdGV4dCAgICB8ICAgICAgICAg ICB8ICAgICAgICAgIHwNCiAgICAgbGVhZGVyX3BpZCAgICAgfCBiaWdpbnQgIHwgICAgICAgICAg IHwgICAgICAgICAgfA0KICAgICB0dXBsZXNfcmVtb3ZlZCB8IGJpZ2ludCAgfCAgICAgICAgICAg fCAgICAgICAgICB8DQoNCg0KDQogICAgT24gMS8xMi8yMiwgOTo1MiBQTSwgIkltc2VpaCAoQVdT KSwgU2FtaSIgPHNpbXNlaWhAYW1hem9uLmNvbT4gd3JvdGU6DQoNCiAgICAgICAgT24gMS8xMi8y MiwgMToyOCBQTSwgIkJvc3NhcnQsIE5hdGhhbiIgPGJvc3NhcnRuQGFtYXpvbi5jb20+IHdyb3Rl Og0KDQogICAgICAgICAgICBPbiAxLzExLzIyLCAxMTo0NiBQTSwgIk1hc2FoaWtvIFNhd2FkYSIg PHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4gd3JvdGU6DQogICAgICAgICAgICA+IFJlZ2FyZGluZyB0 aGUgbmV3IHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4IHZpZXcsIHdoeSBkbyB3ZSBuZWVk DQogICAgICAgICAgICA+IHRvIGhhdmUgYSBzZXBhcmF0ZSB2aWV3PyBVc2VycyB3aWxsIGhhdmUg dG8gY2hlY2sgdHdvIHZpZXdzLiBJZiB0aGlzDQogICAgICAgICAgICA+IHZpZXcgaXMgZXhwZWN0 ZWQgdG8gYmUgdXNlZCB0b2dldGhlciB3aXRoIGFuZCBqb2luZWQgdG8NCiAgICAgICAgICAgID4g cGdfc3RhdF9wcm9ncmVzc192YWN1dW0sIHdoeSBkb24ndCB3ZSBwcm92aWRlIG9uZSB2aWV3IHRo YXQgaGFzIGZ1bGwNCiAgICAgICAgICAgID4gaW5mb3JtYXRpb24gZnJvbSB0aGUgYmVnaW5uaW5n PyBFc3BlY2lhbGx5LCBJIHRoaW5rIGl0J3Mgbm90IHVzZWZ1bA0KICAgICAgICAgICAgPiB0aGF0 IHRoZSB0b3RhbCBudW1iZXIgb2YgaW5kZXhlcyB0byB2YWN1dW0gKG51bV9pbmRleGVzX3RvX3Zh Y3V1bQ0KICAgICAgICAgICAgPiBjb2x1bW4pIGFuZCB0aGUgY3VycmVudCBudW1iZXIgb2YgaW5k ZXhlcyB0aGF0IGhhdmUgYmVlbiB2YWN1dW1lZA0KICAgICAgICAgICAgPiAoaW5kZXhfb3JkaW5h bF9wb3NpdGlvbiBjb2x1bW4pIGFyZSBzaG93biBpbiBzZXBhcmF0ZSB2aWV3cy4NCg0KICAgICAg ICAgPiBJIHN1cHBvc2Ugd2UgY291bGQgYWRkIGFsbCBvZiB0aGUgbmV3IGNvbHVtbnMgdG8NCiAg ICAgICAgID4gcGdfc3RhdF9wcm9ncmVzc192YWN1dW0gYW5kIGp1c3Qgc2V0IGNvbHVtbnMgdG8g TlVMTCBhcyBhcHByb3ByaWF0ZS4NCiAgICAgICAgID4gQnV0IGlzIHRoYXQgcmVhbGx5IGJldHRl ciB0aGFuIGhhdmluZyBhIHNlcGFyYXRlIHZpZXc/DQoNCiAgICAgICAgVG8gYWRkLCBzaW5jZSBh IHZhY3V1bSBjYW4gdXRpbGl6ZSBwYXJhbGxlbCB3b3JrZXIgcHJvY2Vzc2VzICsgdGhlIG1haW4g dmFjdXVtIHByb2Nlc3MgdG8gcGVyZm9ybSBpbmRleCB2YWN1dW1pbmcsIGl0IG1hZGUgc2Vuc2Ug dG8gc2VwYXJhdGUgdGhlIGJhY2tlbmRzIGRvaW5nIGluZGV4IHZhY3V1bS9jbGVhbnVwIGluIGEg c2VwYXJhdGUgdmlldy4gDQogICAgICAgIEJlc2lkZXMgd2hhdCBOYXRoYW4gc3VnZ2VzdGVkLCB0 aGUgb25seSBvdGhlciBjbGVhbiBvcHRpb24gSSBjYW4gdGhpbmsgb2YgaXMgdG8gcGVyaGFwcyBj cmVhdGUgYSBqc29uIGNvbHVtbiBpbiBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bSB3aGljaCB3aWxs IGluY2x1ZGUgYWxsIHRoZSBuZXcgZmllbGRzLiBNeSBjb25jZXJuIHdpdGggdGhpcyBhcHByb2Fj aCBpcyB0aGF0IGl0IHdpbGwgbWFrZSB1c2FiaWxpdHksIHRvIGZsYXR0ZW4gdGhlIGpzb24sIGRp ZmZpY3VsdCBmb3IgdXNlcnMuDQoNCiAgICAgICAgICAgID4gQWxzbywgSeKAmW0gbm90IHN1cmUg aG93IHVzZWZ1bCBpbmRleF90dXBsZXNfcmVtb3ZlZCBpczsgd2hhdCBjYW4gd2UNCiAgICAgICAg ICAgID4gaW5mZXIgZnJvbSB0aGlzIHZhbHVlICh3aXRob3V0IGEgdG90YWwgbnVtYmVyKT8NCg0K ICAgICAgICA+ICAgIEkgdGhpbmsgdGhlIGlkZWEgd2FzIHRoYXQgeW91IGNhbiBjb21wYXJlIGl0 IGFnYWluc3QgbWF4X2RlYWRfdHVwbGVzDQogICAgICAgID4gICBhbmQgbnVtX2RlYWRfdHVwbGVz IHRvIGdldCBhbiBlc3RpbWF0ZSBvZiB0aGUgY3VycmVudCBjeWNsZSBwcm9ncmVzcy4NCiAgICAg ICAgPiAgICBPdGhlcndpc2UsIGl0IGp1c3Qgc2hvd3MgdGhhdCBwcm9ncmVzcyBpcyBiZWluZyBt YWRlLg0KDQogICAgICAgIFRoZSBtYWluIHB1cnBvc2UgaXMgdG8gcmVhbGx5IHNob3cgdGhhdCB0 aGUgImluZGV4IHZhY3V1bSIgcGhhc2UgaXMgYWN0dWFsbHkgbWFraW5nIHByb2dyZXNzLiBOb3Rl IHRoYXQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgaW5kZXhlcywgaS5lLiBHSU4vR0lTVCB0aGUgbnVt YmVyIG9mIHR1cGxlc19yZW1vdmVkIHdpbGwgZW5kIHVwIGV4Y2VlZGluZyB0aGUgbnVtYmVyIG9m IG51bV9kZWFkX3R1cGxlcy4NCg0KICAgICAgICAgICAgTmF0aGFuDQoNCiAgICAgICAgICAgIFsw XSBodHRwczovL3Bvc3Rnci5lcy9tLzc4NzRGQjIxLUZBQTUtNDlCRC04Mzg2LTI4NjY1NTI2NTZD NyU0MGFtYXpvbi5jb20NCg0KDQoNCg0K --_002_DC471B48A8154326AC623672CDB9B4ABamazoncom_ Content-Type: application/octet-stream; name="0005-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch" Content-Description: 0005-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch Content-Disposition: attachment; filename="0005-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch"; size=33771; creation-date="Tue, 01 Feb 2022 20:33:16 GMT"; modification-date="Tue, 01 Feb 2022 20:33:16 GMT" Content-ID: <411B01D06FEF3A408F15B624E3BECAED@amazon.com> Content-Transfer-Encoding: base64 RnJvbSBmOWMwZmM2OWQ5OWE4YzY4MWVlMzMyNmYxMmFjYmY3NTJjNjY4NTZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSW1zZWloIChBV1MpLCBTYW1pIiA8c2ltc2VpaEBhbWF6b24u Y29tPgpEYXRlOiBUdWUsIDEgRmViIDIwMjIgMjA6MTI6MTggKzAwMDAKU3ViamVjdDogW1BBVENI IDEvMV0gRXhwb3NlIHByb2dyZXNzIGZvciB0aGUgInZhY3V1bWluZyBpbmRleGVzIiBhbmQgImNs ZWFuaW5nCiAgIHVwIGluZGV4ZXMiIHBoYXNlIG9mIGEgVkFDVVVNIG9wZXJhdGlvbi4KCkF1dGhv cjogU2FtaSBJbXNlaWgsIGJhc2VkIG9uIHN1Z2dlc3Rpb25zIGJ5IE5hdGhhbiBCb3NzYXJ0LCBQ ZXRlciBHZW9naGVnYW4gYW5kIE1hc2FoaWtvIFNhd2FkYQpSZXZpZXdlZCBieTogTmF0aGFuIEJv c3NhcnQsIEp1c3RpbiBQcnl6YnkKRGlzY3Vzc2lvbjogaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5v cmcvbWVzc2FnZS1pZC81NDc4REZDRC0yMzMzLTQwMUEtQjJGMC0wRDE4NkFCMDkyMjglNDBhbWF6 b24uY29tCi0tLQogZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAgICAgICB8IDEyMSAr KysrKysrKysrKysrCiBzcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jICAgIHwgICAz ICsKIHNyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYyAgfCAgIDMgKwogc3JjL2Jh Y2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92YWN1dW1sYXp5LmMgIHwgMjM2ICsrKysrKysrKysrKysrKysrKysrKysrKy0tCiBz cmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5jICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMgfCAgIDQgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsICB8ICA0MiArKysrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVt cGFyYWxsZWwuYyB8ICAyNSArKysKIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYyAgICAg ICAgfCAgIDMgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICB8ICAyMCAr KysKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNzLmggICAgICAgfCAgIDcgKwogc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICB8ICAgOCArCiBzcmMvaW5jbHVkZS91dGls cy9iYWNrZW5kX3Byb2dyZXNzLmggIHwgICAxICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0ICAgfCAgMzggKysrKy0KIDE1IGZpbGVzIGNoYW5nZWQsIDQ5OSBpbnNlcnRpb25z KCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmlu Zy5zZ21sIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbAppbmRleCA2MmYyYTMzMzJiLi4w ZTI1MzJlZmZjIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKQEAgLTYyNjksNiArNjI2OSwxMjcgQEAgU0VM RUNUIHBnX3N0YXRfZ2V0X2JhY2tlbmRfcGlkKHMuYmFja2VuZGlkKSBBUyBwaWQsCiAgICAgICAg TnVtYmVyIG9mIGRlYWQgdHVwbGVzIGNvbGxlY3RlZCBzaW5jZSB0aGUgbGFzdCBpbmRleCB2YWN1 dW0gY3ljbGUuCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CisKKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmluZGV4ZXNfdG90YWw8L3N0 cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBUaGUgbnVtYmVyIG9mIGluZGV4ZXMgdG8gYmUgcHJvY2Vzc2VkIGluIHRoZQor ICAgICAgIDxsaXRlcmFsPnZhY3V1bWluZyBpbmRleGVzPC9saXRlcmFsPiBvciA8bGl0ZXJhbD5j bGVhbmluZyB1cCBpbmRleGVzPC9saXRlcmFsPiBwaGFzZQorICAgICAgIG9mIHRoZSB2YWN1dW0u CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmluZGV4ZXNfcHJvY2Vzc2VkPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgVGhlIG51bWJlciBvZiBpbmRleGVzIHByb2Nlc3NlZCBzbyBmYXIgaW4gdGhlCisgICAg ICAgPGxpdGVyYWw+dmFjdXVtaW5nIGluZGV4ZXM8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmNsZWFu aW5nIHVwIGluZGV4ZXM8L2xpdGVyYWw+IHBoYXNlCisgICAgICAgb2YgdGhlIHZhY3V1bS4KKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3Jv dXA+CisgIDwvdGFibGU+CisKKyAgPGluZGV4dGVybT4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfcHJv Z3Jlc3NfdmFjdXVtX2luZGV4PC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFyYT4K KyAgIFdoZW5ldmVyIDxjb21tYW5kPlZBQ1VVTTwvY29tbWFuZD4gaXMgcnVubmluZywgdGhlCisg ICA8c3RydWN0bmFtZT5wZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleDwvc3RydWN0bmFtZT4g dmlldyB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggYmFja2VuZCAoaW5jbHVkaW5n IGF1dG92YWN1dW0gd29ya2VyIHByb2Nlc3NlcykgdGhhdCBpcworICAgY3VycmVudGx5IHBlcmZv cm1pbmcgdGhlIDxsaXRlcmFsPnZhY3V1bWluZyBpbmRleGVzPC9saXRlcmFsPiBvcgorICAgPGxp dGVyYWw+Y2xlYW5pbmcgdXAgaW5kZXhlczwvbGl0ZXJhbD4gcGhhc2Ugb2YgdGhlIHZhY3V1bS4K KyAgPC9wYXJhPgorCisgIDx0YWJsZSBpZD0icGctc3RhdC1wcm9ncmVzcy12YWN1dW0taW5kZXgt dmlldyIgeHJlZmxhYmVsPSJwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleCI+CisgICA8dGl0 bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF9wcm9ncmVzc192YWN1dW1faW5kZXg8L3N0cnVjdG5hbWU+ IFZpZXc8L3RpdGxlPgorICAgPHRncm91cCBjb2xzPSIxIj4KKyAgICA8dGhlYWQ+CisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIENvbHVtbiBUeXBlCisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5waWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnRlZ2VyPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgUHJvY2Vz cyBJRCBvZiBiYWNrZW5kLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5kYXRpZDwvc3Ry dWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgIE9JRCBvZiB0aGUgZGF0YWJhc2UgdG8gd2hpY2ggdGhpcyBiYWNrZW5kIGlzIGNvbm5l Y3RlZC4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGF0bmFtZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPm5hbWU8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBO YW1lIG9mIHRoZSBkYXRhYmFzZSB0byB3aGljaCB0aGlzIGJhY2tlbmQgaXMgY29ubmVjdGVkLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmlu aXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleHJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9m IHRoZSBpbmRleCBiZWluZyBwcm9jZXNzZWQgaW4gdGhlIG9uZ29pbmcgcGhhc2Ugb2YgdGhlIHZh Y3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+bGVhZGVyX3BpZDwvc3RydWN0Zmll bGQ+IDx0eXBlPmludGVnZXI8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICBQcm9jZXNzIElEIG9mIHRoZSBwYXJhbGxlbCB2YWN1dW0gbGVhZGVyLCBpZiB0aGlzIHBy b2Nlc3MgaXMgYQorICAgICAgIHBhcmFsbGVsIHZhY3V1bSB3b3JrZXIuICA8bGl0ZXJhbD5OVUxM PC9saXRlcmFsPiBpZiB0aGlzIHByb2Nlc3MgaXMgYQorICAgICAgIHBhcmFsbGVsIHZhY3V1bSBs ZWFkZXIgb3IgZG9lcyBub3QgcGFydGljaXBhdGUgaW4gcGFyYWxsZWwgdmFjdXVtLgorICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5waGFzZTwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBDdXJyZW50IHByb2Nlc3Np bmcgcGhhc2Ugb2YgYSB2YWN1dW0uIE9ubHkgdGhlCisgICAgICAgPGxpdGVyYWw+dmFjdXVtaW5n IGluZGV4ZXM8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmNsZWFuaW5nIHVwIGluZGV4ZXM8L2xpdGVy YWw+CisgICAgICAgcGhhc2Ugd2lsbCBiZSBsaXN0ZWQgaW4gdGhpcyB2aWV3LiBTZWUgPHhyZWYg bGlua2VuZD0idmFjdXVtLXBoYXNlcyIvPi4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dHVwbGVzX3JlbW92ZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3Bh cmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgbnVtYmVyIG9mIGluZGV4IHR1cGxlcyByZW1v dmVkIGJ5IHRoZSA8bGl0ZXJhbD52YWN1dW1pbmcgaW5kZXhlczwvbGl0ZXJhbD4gcGhhc2UuCisg ICAgICAgVGhpcyBmaWVsZCBpcyA8bGl0ZXJhbD4wPC9saXRlcmFsPiBkdXJpbmcgdGhlIDxsaXRl cmFsPmNsZWFuaW5nIHVwIGluZGV4ZXM8L2xpdGVyYWw+CisgICAgICAgcGhhc2UuCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CiAgICAgPC90Ym9keT4KICAgIDwvdGdyb3VwPgog ICA8L3RhYmxlPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW52YWN1dW0u YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludmFjdXVtLmMKaW5kZXggYjRmYTVmNmJmOC4u MWQ1ZDAwMzc4MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW52YWN1dW0u YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jCkBAIC0xNyw4ICsxNywx MCBAQAogI2luY2x1ZGUgImFjY2Vzcy9naW5fcHJpdmF0ZS5oIgogI2luY2x1ZGUgImFjY2Vzcy9n aW54bG9nLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKKyNpbmNsdWRlICJjb21t YW5kcy9wcm9ncmVzcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUg Im1pc2NhZG1pbi5oIgorI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInBvc3RtYXN0ZXIv YXV0b3ZhY3V1bS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvaW5kZXhmc20uaCIKICNpbmNsdWRlICJz dG9yYWdlL2xtZ3IuaCIKQEAgLTYwLDYgKzYyLDcgQEAgZ2luVmFjdXVtSXRlbVBvaW50ZXJzKEdp blZhY3V1bVN0YXRlICpndnMsIEl0ZW1Qb2ludGVyRGF0YSAqaXRlbXMsCiAJCWlmIChndnMtPmNh bGxiYWNrKGl0ZW1zICsgaSwgZ3ZzLT5jYWxsYmFja19zdGF0ZSkpCiAJCXsKIAkJCWd2cy0+cmVz dWx0LT50dXBsZXNfcmVtb3ZlZCArPSAxOworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJh bShQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JFTU9WRUQsIGd2cy0+cmVzdWx0LT50dXBsZXNfcmVt b3ZlZCk7CiAJCQlpZiAoIXRtcGl0ZW1zKQogCQkJewogCQkJCS8qCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVtLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lz dC9naXN0dmFjdXVtLmMKaW5kZXggYWFjNGFmYWI4Zi4uOGEwZjIzMzg4YiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9naXN0L2dpc3R2YWN1dW0uYwpAQCAtMTcsOSArMTcsMTEgQEAKICNpbmNsdWRlICJhY2Nl c3MvZ2VuYW0uaCIKICNpbmNsdWRlICJhY2Nlc3MvZ2lzdF9wcml2YXRlLmgiCiAjaW5jbHVkZSAi YWNjZXNzL3RyYW5zYW0uaCIKKyNpbmNsdWRlICJjb21tYW5kcy9wcm9ncmVzcy5oIgogI2luY2x1 ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUgImxpYi9pbnRlZ2Vyc2V0LmgiCiAjaW5j bHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAic3RvcmFn ZS9pbmRleGZzbS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2luY2x1ZGUgInV0aWxz L21lbXV0aWxzLmgiCkBAIC0zNzUsNiArMzc3LDcgQEAgcmVzdGFydDoKIAkJCUVORF9DUklUX1NF Q1RJT04oKTsKIAogCQkJdnN0YXRlLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQgKz0gbnRvZGVsZXRl OworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVFVQTEVT X1JFTU9WRUQsIHZzdGF0ZS0+c3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkJCS8qIG11c3QgcmVj b21wdXRlIG1heG9mZiAqLwogCQkJbWF4b2ZmID0gUGFnZUdldE1heE9mZnNldE51bWJlcihwYWdl KTsKIAkJfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jCmluZGV4IGEyNTlhMzAxZmEuLjIzZGFjZWU1MmUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2guYworKysgYi9zcmMvYmFj a2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMKQEAgLTYzMiw2ICs2MzIsNyBAQCBsb29wX3RvcDoKIAlz dGF0cy0+ZXN0aW1hdGVkX2NvdW50ID0gZmFsc2U7CiAJc3RhdHMtPm51bV9pbmRleF90dXBsZXMg PSBudW1faW5kZXhfdHVwbGVzOwogCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCArPSB0dXBsZXNfcmVt b3ZlZDsKKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9UVVBM RVNfUkVNT1ZFRCwgc3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkvKiBoYXNodmFjdXVtY2xlYW51 cCB3aWxsIGZpbGwgaW4gbnVtX3BhZ2VzICovCiAKIAlyZXR1cm4gc3RhdHM7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggZjA5YWQ4ZjI3MS4uMmQwOTJmMTk0YiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwpAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUg InBvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAj aW5jbHVkZSAic3RvcmFnZS9mcmVlc3BhY2UuaCIKKyNpbmNsdWRlICJzdG9yYWdlL2lwYy5oIgog I2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2luY2x1ZGUgInRjb3AvdGNvcHByb3QuaCIKICNp bmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKQEAgLTIzOSw2ICsyNDAsMjUgQEAgdHlwZWRlZiBz dHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFzZSBwaGFzZTsKIH0gTFZTYXZlZEVycklu Zm87CiAKKy8qIFN0cnVjdHMgZm9yIHRyYWNraW5nIHNoYXJlZCBQcm9ncmVzcyBpbmZvcm1hdGlv bgorICogYW1vbmdzdCB3b3JrZXIgKCBhbmQgbGVhZGVyICkgcHJvY2Vzc2VzIG9mIGEgdmFjdXVt LgorICovCit0eXBlZGVmIHN0cnVjdCBWYWNPbmVXb3JrZXJQcm9ncmVzc0luZm8KK3sKKwlpbnQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWRlcl9waWQ7CisJaW50ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbmRleGVzX3Byb2Nlc3NlZDsKK30gVmFjT25lV29ya2VyUHJvZ3Jl c3NJbmZvOworCit0eXBlZGVmIHN0cnVjdCBWYWNXb3JrZXJQcm9ncmVzc0luZm8KK3sKKwlpbnQg ICAgICAgICAgICAgICAgICAgICBudW1fdmFjdXVtczsgICAgLyogbnVtYmVyIG9mIGFjdGl2ZSBW QUNVVU1TIHdpdGggcGFyYWxsZWwgd29ya2VycyAqLworCWludCAgICAgICAgICAgICAgICAgICAg IG1heF92YWN1dW1zOyAgICAvKiBtYXggbnVtYmVyIG9mIFZBQ1VVTVMgd2l0aCBwYXJhbGxlbCB3 b3JrZXJzICovCisJc2xvY2tfdAkJCW11dGV4OworCVZhY09uZVdvcmtlclByb2dyZXNzSW5mbyB2 YWN1dW1zW0ZMRVhJQkxFX0FSUkFZX01FTUJFUl07Cit9IFZhY1dvcmtlclByb2dyZXNzSW5mbzsK Kworc3RhdGljIFZhY1dvcmtlclByb2dyZXNzSW5mbyAqdmFjd29ya2VycHJvZ3Jlc3M7CisKIAog Lyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3Nj YW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLApAQCAtMzQx LDYgKzM2MSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAq cGFyYW1zLAogCiAJcGdzdGF0X3Byb2dyZXNzX3N0YXJ0X2NvbW1hbmQoUFJPR1JFU1NfQ09NTUFO RF9WQUNVVU0sCiAJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsKKwlwZ3N0YXRfcHJv Z3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9MRUFERVJfUElELCBNeVByb2NQaWQp OwogCiAJdmFjdXVtX3NldF94aWRfbGltaXRzKHJlbCwKIAkJCQkJCSAgcGFyYW1zLT5mcmVlemVf bWluX2FnZSwKQEAgLTQwNCw2ICs0MjUsMTAgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJl bCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjcmVsLT5yZWwgPSByZWw7CiAJdmFjX29wZW5f aW5kZXhlcyh2YWNyZWwtPnJlbCwgUm93RXhjbHVzaXZlTG9jaywgJnZhY3JlbC0+bmluZGV4ZXMs CiAJCQkJCSAmdmFjcmVsLT5pbmRyZWxzKTsKKworCS8qIEFkdmVydGlzZSB0aGUgbnVtYmVyIG9m IGluZGV4ZXMgd2UgYXJlIHZhY3V1bWluZyAqLworCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFy YW0oUFJPR1JFU1NfVkFDVVVNX1RPVEFMX0lOREVYRVMsIHZhY3JlbC0+bmluZGV4ZXMpOworCiAJ aWYgKGluc3RydW1lbnQgJiYgdmFjcmVsLT5uaW5kZXhlcyA+IDApCiAJewogCQkvKiBDb3B5IGlu ZGV4IG5hbWVzIHVzZWQgYnkgaW5zdHJ1bWVudGF0aW9uIChub3QgZXJyb3IgcmVwb3J0aW5nKSAq LwpAQCAtMjAwMCwyMSArMjAyNSwzNCBAQCBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyhMVlJlbFN0 YXRlICp2YWNyZWwpCiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQkvKiBSZXBvcnQgdGhhdCB3ZSBh cmUgbm93IHZhY3V1bWluZyBpbmRleGVzICovCi0JcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJh bShQUk9HUkVTU19WQUNVVU1fUEhBU0UsCi0JCQkJCQkJCSBQUk9HUkVTU19WQUNVVU1fUEhBU0Vf VkFDVVVNX0lOREVYKTsKLQogCWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQog CXsKKwkJLyogUmVwb3J0IHRoYXQgd2UgYXJlIG5vdyB2YWN1dW1pbmcgaW5kZXhlcyAqLworCQlw Z3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSwKKwkJCQkJ CQkJCVBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVgpOworCiAJCWZvciAoaW50IGlk eCA9IDA7IGlkeCA8IHZhY3JlbC0+bmluZGV4ZXM7IGlkeCsrKQogCQl7CiAJCQlSZWxhdGlvbglp bmRyZWwgPSB2YWNyZWwtPmluZHJlbHNbaWR4XTsKIAkJCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAq aXN0YXQgPSB2YWNyZWwtPmluZHN0YXRzW2lkeF07CiAKKwkJCS8qIEFkdmVydGlzZSB0aGUgaW5k ZXggYmVpbmcgdmFjdXVtZWQgKi8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJP R1JFU1NfVkFDVVVNX0lOREVYUkVMSUQsIFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSk7CisKIAkJ CXZhY3JlbC0+aW5kc3RhdHNbaWR4XSA9CiAJCQkJbGF6eV92YWN1dW1fb25lX2luZGV4KGluZHJl bCwgaXN0YXQsIHZhY3JlbC0+b2xkX2xpdmVfdHVwbGVzLAogCQkJCQkJCQkJICB2YWNyZWwpOwog CisJCQkvKiBGb3IgdGhlIG5vbi1wYXJhbGxlbCB2YXJpYW50IG9mIGEgdmFjdXVtLCB0aGUgYXJy YXkgcG9zaXRpb24KKwkJCSAqIG9mIHRoZSBpbmRleCBkZXRlcm1pbmVzIGhvdyBtYW55IGluZGV4 ZXMgYXJlIHByb2Nlc3NlZCBzbyBmYXIuCisJCQkgKiBBZGQgMSB0byB0aGUgcG9zaXRpdG9uIGFz IHRoaXMgaXMgMC1iYXNlZCBhcnJheS4KKwkJCSAqLworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0 ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhFU19DT01QTEVURUQsIGlkeCArIDEpOworCisJ CQkvKiBBZHZlcnRpc2Ugd2UgYXJlIGRvbmUgdmFjdXVtaW5nIGluZGV4ZXMgKi8KKwkJCXBnc3Rh dF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVYUkVMSUQsIDApOwor CQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JF TU9WRUQsIDApOworCiAJCQlpZiAobGF6eV9jaGVja193cmFwYXJvdW5kX2ZhaWxzYWZlKHZhY3Jl bCkpCiAJCQl7CiAJCQkJLyogV3JhcGFyb3VuZCBlbWVyZ2VuY3kgLS0gZW5kIGN1cnJlbnQgaW5k ZXggc2NhbiAqLwpAQCAtMjAyNSw5ICsyMDYzLDI4IEBAIGxhenlfdmFjdXVtX2FsbF9pbmRleGVz KExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiAJZWxzZQogCXsKLQkJLyogT3V0c291cmNlIGV2ZXJ5 dGhpbmcgdG8gcGFyYWxsZWwgdmFyaWFudCAqLwotCQlwYXJhbGxlbF92YWN1dW1fYnVsa2RlbF9h bGxfaW5kZXhlcyh2YWNyZWwtPnB2cywgdmFjcmVsLT5vbGRfbGl2ZV90dXBsZXMsCisJCS8qIFJl cG9ydCB0aGF0IHdlIGFyZSBub3cgdmFjdXVtaW5nIGluZGV4ZXMgaW4gcGFyYWxsZWwKKwkJICog YW5kIE91dHNvdXJjZSBldmVyeXRoaW5nIHRvIHBhcmFsbGVsIHZhcmlhbnQuCisJCSAqLworCQlw Z3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSwKKwkJCQkJ CQkJCVBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVhfUEFSQUxMRUwpOworCisJCS8q CisJCSAqIEZvciB0aGUgcGFyYWxsZWwgdmFyaWFudCBvZiBhIHZhY3V1bSwgd2Ugd2lsbCBiZSBw b3B1bGF0aW5nIHNoYXJlZCBtZW1vcnkKKwkJICogZm9yIHRoZSBpbmRleCBjb21wbGV0aW9uIHBy b2dyZXNzLiBUaGlzIGlzIGRvbmUgd2l0aCBhIGNhbGwgdG8KKwkJICogdmFjdXVtX3dvcmtlcl91 cGRhdGUgaW5zaWRlIHZhY3V1bXBhcmFsbGVsLmMuCisJCSAqCisJCSAqIE1ha2Ugc3VyZSB3ZSBh cmUgcHJvcGVybHkgY2xlYW5pbmcgdXAgdGhpcyBzaGFyZWQgbWVtb3J5IG9uIGZhaWx1cmUKKwkJ ICogb3Igd2Ugd2lsbCBlbmQgdXAgd2l0aCBhIGxlYWsgaW4gdGhlIHNsb3RzLgorCQkgKi8KKwkJ UEdfRU5TVVJFX0VSUk9SX0NMRUFOVVAodmFjdXVtX3dvcmtlcl9lbmRfY2FsbGJhY2ssIEludDMy R2V0RGF0dW0oTXlQcm9jUGlkKSk7CisJCXsKKworCQkJcGFyYWxsZWxfdmFjdXVtX2J1bGtkZWxf YWxsX2luZGV4ZXModmFjcmVsLT5wdnMsIHZhY3JlbC0+b2xkX2xpdmVfdHVwbGVzLAogCQkJCQkJ CQkJCQl2YWNyZWwtPm51bV9pbmRleF9zY2Fucyk7CisJCX0KKwkJUEdfRU5EX0VOU1VSRV9FUlJP Ul9DTEVBTlVQKHZhY3V1bV93b3JrZXJfZW5kX2NhbGxiYWNrLCBJbnQzMkdldERhdHVtKE15UHJv Y1BpZCkpOworCQl2YWN1dW1fd29ya2VyX2VuZChNeVByb2NQaWQpOwogCiAJCS8qCiAJCSAqIERv IGEgcG9zdGNoZWNrIHRvIGNvbnNpZGVyIGFwcGx5aW5nIHdyYXBhcm91bmQgZmFpbHNhZmUgbm93 LiAgTm90ZQpAQCAtMjQwNSwzMyArMjQ2Miw1NSBAQCBsYXp5X2NsZWFudXBfYWxsX2luZGV4ZXMo TFZSZWxTdGF0ZSAqdmFjcmVsKQogewogCUFzc2VydCh2YWNyZWwtPm5pbmRleGVzID4gMCk7CiAK LQkvKiBSZXBvcnQgdGhhdCB3ZSBhcmUgbm93IGNsZWFuaW5nIHVwIGluZGV4ZXMgKi8KLQlwZ3N0 YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSwKLQkJCQkJCQkJ IFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9JTkRFWF9DTEVBTlVQKTsKLQogCWlmICghUGFyYWxsZWxW YWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQogCXsKIAkJZG91YmxlCQlyZWx0dXBsZXMgPSB2YWNyZWwt Pm5ld19yZWxfdHVwbGVzOwogCQlib29sCQllc3RpbWF0ZWRfY291bnQgPQogCQl2YWNyZWwtPnR1 cGNvdW50X3BhZ2VzIDwgdmFjcmVsLT5yZWxfcGFnZXM7CiAKKwkJLyogUmVwb3J0IHRoYXQgd2Ug YXJlIG5vdyBjbGVhbmluZyB1cCBpbmRleGVzICovCisJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVf cGFyYW0oUFJPR1JFU1NfVkFDVVVNX1BIQVNFLAorCQkJCQkJCQkJUFJPR1JFU1NfVkFDVVVNX1BI QVNFX0lOREVYX0NMRUFOVVApOworCiAJCWZvciAoaW50IGlkeCA9IDA7IGlkeCA8IHZhY3JlbC0+ bmluZGV4ZXM7IGlkeCsrKQogCQl7CiAJCQlSZWxhdGlvbglpbmRyZWwgPSB2YWNyZWwtPmluZHJl bHNbaWR4XTsKIAkJCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQgPSB2YWNyZWwtPmluZHN0 YXRzW2lkeF07CiAKKwkJCS8qIEFkdmVydGlzZSB0aGUgaW5kZXggYmVpbmcgY2xlYW5lZCAqLwor CQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhSRUxJ RCwgUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpKTsKKwogCQkJdmFjcmVsLT5pbmRzdGF0c1tpZHhd ID0KIAkJCQlsYXp5X2NsZWFudXBfb25lX2luZGV4KGluZHJlbCwgaXN0YXQsIHJlbHR1cGxlcywK IAkJCQkJCQkJCSAgIGVzdGltYXRlZF9jb3VudCwgdmFjcmVsKTsKKworCQkJLyogU2VlIHRoZSBs YXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyBjb21tZW50cyAqLworCQkJcGdzdGF0X3Byb2dyZXNzX3Vw ZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhFU19DT01QTEVURUQsIGlkeCArIDEpOwor CisJCQkvKiBBZHZlcnRpc2Ugd2UgYXJlIGRvbmUgY2xlYW5pbmcgaW5kZXhlcyAqLworCQkJcGdz dGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhSRUxJRCwgMCk7 CisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9UVVBMRVNf UkVNT1ZFRCwgMCk7CiAJCX0KIAl9CiAJZWxzZQogCXsKLQkJLyogT3V0c291cmNlIGV2ZXJ5dGhp bmcgdG8gcGFyYWxsZWwgdmFyaWFudCAqLwotCQlwYXJhbGxlbF92YWN1dW1fY2xlYW51cF9hbGxf aW5kZXhlcyh2YWNyZWwtPnB2cywgdmFjcmVsLT5uZXdfcmVsX3R1cGxlcywKKwkJLyogUmVwb3J0 IHRoYXQgd2UgYXJlIG5vdyBjbGVhbmluZyB1cCBpbmRleGVzIGluIHBhcmFsbGVsCisJCSAqIGFu ZCBPdXRzb3VyY2UgZXZlcnl0aGluZyB0byBwYXJhbGxlbCB2YXJpYW50LgorCQkgKi8KKwkJcGdz dGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fUEhBU0UsCisJCQkJCQkJ CQlQUk9HUkVTU19WQUNVVU1fUEhBU0VfSU5ERVhfQ0xFQU5VUF9QQVJBTExFTCk7CisKKwkJLyog U2VlIHRoZSBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyBjb21tZW50cyAqLworCQlQR19FTlNVUkVf RVJST1JfQ0xFQU5VUCh2YWN1dW1fd29ya2VyX2VuZF9jYWxsYmFjaywgSW50MzJHZXREYXR1bShN eVByb2NQaWQpKTsKKwkJeworCQkJcGFyYWxsZWxfdmFjdXVtX2NsZWFudXBfYWxsX2luZGV4ZXMo dmFjcmVsLT5wdnMsIHZhY3JlbC0+bmV3X3JlbF90dXBsZXMsCiAJCQkJCQkJCQkJCXZhY3JlbC0+ bnVtX2luZGV4X3NjYW5zLAogCQkJCQkJCQkJCQkodmFjcmVsLT50dXBjb3VudF9wYWdlcyA8IHZh Y3JlbC0+cmVsX3BhZ2VzKSk7CisJCX0KKwkJUEdfRU5EX0VOU1VSRV9FUlJPUl9DTEVBTlVQKHZh Y3V1bV93b3JrZXJfZW5kX2NhbGxiYWNrLCBJbnQzMkdldERhdHVtKE15UHJvY1BpZCkpOworCQl2 YWN1dW1fd29ya2VyX2VuZChNeVByb2NQaWQpOwogCX0KKwogfQogCiAvKgpAQCAtMzIwNSwzICsz Mjg0LDEzNiBAQCByZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwK IAl2YWNyZWwtPm9mZm51bSA9IHNhdmVkX3ZhY3JlbC0+b2ZmbnVtOwogCXZhY3JlbC0+cGhhc2Ug PSBzYXZlZF92YWNyZWwtPnBoYXNlOwogfQorCit2b2lkCit2YWN1dW1fd29ya2VyX2VuZChpbnQg bGVhZGVyX3BpZCkKK3sKKwlTcGluTG9ja0FjcXVpcmUoJnZhY3dvcmtlcnByb2dyZXNzLT5tdXRl eCk7CisJZm9yIChpbnQgaSA9IDA7IGkgPCB2YWN3b3JrZXJwcm9ncmVzcy0+bnVtX3ZhY3V1bXM7 IGkrKykKKwl7CisJCVZhY09uZVdvcmtlclByb2dyZXNzSW5mbyAqdmFjID0gJnZhY3dvcmtlcnBy b2dyZXNzLT52YWN1dW1zW2ldOworCisJCWlmICh2YWMtPmxlYWRlcl9waWQgPT0gbGVhZGVyX3Bp ZCkKKwkJeworCQkJKnZhYyA9IHZhY3dvcmtlcnByb2dyZXNzLT52YWN1dW1zW3ZhY3dvcmtlcnBy b2dyZXNzLT5udW1fdmFjdXVtcyAtIDFdOworCQkJdmFjd29ya2VycHJvZ3Jlc3MtPm51bV92YWN1 dW1zLS07CisJCQlTcGluTG9ja1JlbGVhc2UoJnZhY3dvcmtlcnByb2dyZXNzLT5tdXRleCk7CisJ CQlicmVhazsKKwkJfQorCX0KKwlTcGluTG9ja1JlbGVhc2UoJnZhY3dvcmtlcnByb2dyZXNzLT5t dXRleCk7Cit9CisKKy8qCisgKiB2YWN1dW1fd29ya2VyX2VuZCB3cmFwcGVkIGFzIGFuIG9uX3No bWVtX2V4aXQgY2FsbGJhY2sgZnVuY3Rpb24KKyAqLwordm9pZAordmFjdXVtX3dvcmtlcl9lbmRf Y2FsbGJhY2soaW50IGNvZGUsIERhdHVtIGFyZykKK3sKKwl2YWN1dW1fd29ya2VyX2VuZChEYXR1 bUdldEludDMyKGFyZykpOworfQorCisvKgorICogdmFjdXVtX3dvcmtlcl91cGRhdGUgc2V0cyB0 aGUgbnVtYmVyIG9mIGluZGV4ZXMgcHJvY2Vzc2VkIHNvIGZhcgorICogaW4gYSBwYXJhbGxlbCB2 YWN1dW0uIFRoaXMgcm91dGluZSBjYW4gYmUKKyAqIGV4cGFuZGVkIHRvIG90aGVyIHByb2dyZXNz IHRyYWNraW5nIGFtb25nc3QgcGFyYWxsZWwKKyAqIHdvcmtlcnMgKCBhbmQgbGVhZGVyICkuCisg Ki8KK3ZvaWQKK3ZhY3V1bV93b3JrZXJfdXBkYXRlKGludCBsZWFkZXJfcGlkKQoreworCVZhY09u ZVdvcmtlclByb2dyZXNzSW5mbyAqdmFjOworCisJU3BpbkxvY2tBY3F1aXJlKCZ2YWN3b3JrZXJw cm9ncmVzcy0+bXV0ZXgpOworCisJZm9yIChpbnQgaSA9IDA7IGkgPCB2YWN3b3JrZXJwcm9ncmVz cy0+bnVtX3ZhY3V1bXM7IGkrKykKKwl7CisJCWludCBuZXh0X2xlYWRlcl9waWQ7CisKKwkJdmFj ID0gJnZhY3dvcmtlcnByb2dyZXNzLT52YWN1dW1zW2ldOworCisJCW5leHRfbGVhZGVyX3BpZCA9 IHZhYy0+bGVhZGVyX3BpZDsKKworCQlpZiAobmV4dF9sZWFkZXJfcGlkID09IGxlYWRlcl9waWQp CisJCXsKKwkJCXZhYy0+aW5kZXhlc19wcm9jZXNzZWQrKzsKKwkJCVNwaW5Mb2NrUmVsZWFzZSgm dmFjd29ya2VycHJvZ3Jlc3MtPm11dGV4KTsKKwkJCXJldHVybjsKKwkJfQorCX0KKworCWlmICh2 YWN3b3JrZXJwcm9ncmVzcy0+bnVtX3ZhY3V1bXMgPj0gdmFjd29ya2VycHJvZ3Jlc3MtPm1heF92 YWN1dW1zKQorCXsKKwkJU3BpbkxvY2tSZWxlYXNlKCZ2YWN3b3JrZXJwcm9ncmVzcy0+bXV0ZXgp OworCQllbG9nKEVSUk9SLCAib3V0IG9mIHZhY3V1bSB3b3JrZXIgcHJvZ3Jlc3Mgc2xvdHMiKTsK Kwl9CisKKwl2YWMgPSAmdmFjd29ya2VycHJvZ3Jlc3MtPnZhY3V1bXNbdmFjd29ya2VycHJvZ3Jl c3MtPm51bV92YWN1dW1zXTsKKwl2YWMtPmxlYWRlcl9waWQgPSBsZWFkZXJfcGlkOworCXZhYy0+ aW5kZXhlc19wcm9jZXNzZWQgPSAxOworCXZhY3dvcmtlcnByb2dyZXNzLT5udW1fdmFjdXVtcysr OworCVNwaW5Mb2NrUmVsZWFzZSgmdmFjd29ya2VycHJvZ3Jlc3MtPm11dGV4KTsKK30KKworLyoK KyAqIHZhY3V1bV9wcm9ncmVzc19jYiB1cGRhdGVzIHRoZSBudW1iZXIgb2YgaW5kZXhlcyB0aGF0 IGhhdmUgYmVlbgorICogdmFjdXVtZWQgb3IgY2xlYW5lZCB1cCBpbiBhIHBhcmFsbGVsIHZhY3V1 bS4KKyAqLwordm9pZAordmFjdXVtX3Byb2dyZXNzX2NiKERhdHVtICp2YWx1ZXMsIGludCBvZmZz ZXQpCit7CisJVmFjT25lV29ya2VyUHJvZ3Jlc3NJbmZvICp2YWM7CisJaW50IGxlYWRlcl9waWQg PSB2YWx1ZXNbMF07CisKKwkvKiBJZiB3ZSBhcmUgdmFjdXVtaW5nIGluIHBhcmFsbGVsLCBzZXQg dGhlIG51bWJlciBvZiBpbmRleGVzIHZhY3V1bWVkCisJICogZnJvbSB0aGUgc2hhcmVkIG1lbW9y eSBjb3VudGVyLgorCSAqICovCisJZm9yIChpbnQgaSA9IDA7IGkgPCB2YWN3b3JrZXJwcm9ncmVz cy0+bnVtX3ZhY3V1bXM7IGkrKykKKwl7CisJCWludCBuZXh0X2xlYWRlcl9waWQ7CisKKwkJdmFj ID0gJnZhY3dvcmtlcnByb2dyZXNzLT52YWN1dW1zW2ldOworCisJCW5leHRfbGVhZGVyX3BpZCA9 IHZhYy0+bGVhZGVyX3BpZDsKKworCQlpZiAobmV4dF9sZWFkZXJfcGlkID09IGxlYWRlcl9waWQp CisJCQl2YWx1ZXNbUFJPR1JFU1NfVkFDVVVNX0lOREVYRVNfQ09NUExFVEVEICsgb2Zmc2V0XSA9 IHZhYy0+aW5kZXhlc19wcm9jZXNzZWQ7CisJfQorfQorCisvKgorICogVmFjdXVtV29ya2VyUHJv Z3Jlc3NTaG1lbVNpemUgLS0tIHJlcG9ydCBhbW91bnQgb2Ygc2hhcmVkIG1lbW9yeSBzcGFjZSBu ZWVkZWQKKyAqLworU2l6ZQorVmFjdXVtV29ya2VyUHJvZ3Jlc3NTaG1lbVNpemUodm9pZCkKK3sK KwlTaXplICAgICAgICAgICAgc2l6ZTsKKworCXNpemUgPSBvZmZzZXRvZihWYWNXb3JrZXJQcm9n cmVzc0luZm8sIHZhY3V1bXMpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBtdWxfc2l6ZShNYXhC YWNrZW5kcywgc2l6ZW9mKFZhY09uZVdvcmtlclByb2dyZXNzSW5mbykpKTsKKwlyZXR1cm4gc2l6 ZTsKK30KKworLyoKKyAqIFZhY3V1bVdvcmtlclByb2dyZXNzU2htZW1Jbml0IC0tLSBpbml0aWFs aXplIHRoaXMgbW9kdWxlJ3Mgc2hhcmVkIG1lbW9yeQorICovCit2b2lkCitWYWN1dW1Xb3JrZXJQ cm9ncmVzc1NobWVtSW5pdCh2b2lkKQoreworCWJvb2wgICAgICAgICAgICBmb3VuZDsKKworCXZh Y3dvcmtlcnByb2dyZXNzID0gKFZhY1dvcmtlclByb2dyZXNzSW5mbyAqKSBTaG1lbUluaXRTdHJ1 Y3QoIlZhY3V1bSBXb3JrZXIgUHJvZ3Jlc3MgU3RhdHMiLAorCQkJCQkJCQkJCVZhY3V1bVdvcmtl clByb2dyZXNzU2htZW1TaXplKCksCisJCQkJCQkJCQkJJmZvdW5kKTsKKworCWlmICghSXNVbmRl clBvc3RtYXN0ZXIpCisJeworCQkvKiBJbml0aWFsaXplIHNoYXJlZCBtZW1vcnkgYXJlYSAqLwor CQlBc3NlcnQoIWZvdW5kKTsKKworCQl2YWN3b3JrZXJwcm9ncmVzcy0+bWF4X3ZhY3V1bXMgPSBN YXhCYWNrZW5kczsKKwkJU3BpbkxvY2tJbml0KCZ2YWN3b3JrZXJwcm9ncmVzcy0+bXV0ZXgpOwor CX0KKwllbHNlCisJCUFzc2VydChmb3VuZCk7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9h Y2Nlc3MvbmJ0cmVlL25idHJlZS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUu YwppbmRleCBjOWI0OTY0YzFlLi4wOWVkZjQ5MDgyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvbmJ0cmVlL25idHJlZS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0 cmVlLmMKQEAgLTEyNzMsNiArMTI3Myw3IEBAIGJhY2t0cmFjazoKIAkJCQkJCQkJbnVwZGF0YWJs ZSk7CiAKIAkJCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCArPSBuaHRpZHNkZWFkOworCQkJcGdzdGF0 X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JFTU9WRUQsIHN0 YXRzLT50dXBsZXNfcmVtb3ZlZCk7CiAJCQkvKiBtdXN0IHJlY29tcHV0ZSBtYXhvZmYgKi8KIAkJ CW1heG9mZiA9IFBhZ2VHZXRNYXhPZmZzZXROdW1iZXIocGFnZSk7CiAKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3Mv c3BnaXN0L3NwZ3ZhY3V1bS5jCmluZGV4IDAwNDk2MzA1MzIuLmRiNzNmOGVmNTkgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYwpAQCAtMjEsOCArMjEsMTAgQEAKICNpbmNsdWRl ICJhY2Nlc3MvdHJhbnNhbS5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9naW5zZXJ0LmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9zdG9yYWdlX3hsb2cuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9wcm9ncmVz cy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5o IgorI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAjaW5j bHVkZSAic3RvcmFnZS9pbmRleGZzbS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgpAQCAt MTYwLDYgKzE2Miw3IEBAIHZhY3V1bUxlYWZQYWdlKHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRzLCBS ZWxhdGlvbiBpbmRleCwgQnVmZmVyIGJ1ZmZlciwKIAkJCQliZHMtPnN0YXRzLT50dXBsZXNfcmVt b3ZlZCArPSAxOwogCQkJCWRlbGV0YWJsZVtpXSA9IHRydWU7CiAJCQkJbkRlbGV0YWJsZSsrOwor CQkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX1RVUExFU19S RU1PVkVELCBiZHMtPnN0YXRzLT50dXBsZXNfcmVtb3ZlZCk7CiAJCQl9CiAJCQllbHNlCiAJCQl7 CkBAIC00MzAsNiArNDMzLDcgQEAgdmFjdXVtTGVhZlJvb3Qoc3BnQnVsa0RlbGV0ZVN0YXRlICpi ZHMsIFJlbGF0aW9uIGluZGV4LCBCdWZmZXIgYnVmZmVyKQogCQkJCWJkcy0+c3RhdHMtPnR1cGxl c19yZW1vdmVkICs9IDE7CiAJCQkJdG9EZWxldGVbeGxyZWMubkRlbGV0ZV0gPSBpOwogCQkJCXhs cmVjLm5EZWxldGUrKzsKKwkJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNT X1ZBQ1VVTV9UVVBMRVNfUkVNT1ZFRCwgYmRzLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQpOwogCQkJ fQogCQkJZWxzZQogCQkJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDNj YjY5YjFmODcuLjBmOTFmNjZjNzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwK QEAgLTExMjMsMTMgKzExMjMsNTMgQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF9wcm9ncmVzc192YWN1 dW0gQVMKICAgICAgICAgICAgICAgICAgICAgICBXSEVOIDQgVEhFTiAnY2xlYW5pbmcgdXAgaW5k ZXhlcycKICAgICAgICAgICAgICAgICAgICAgICBXSEVOIDUgVEhFTiAndHJ1bmNhdGluZyBoZWFw JwogICAgICAgICAgICAgICAgICAgICAgIFdIRU4gNiBUSEVOICdwZXJmb3JtaW5nIGZpbmFsIGNs ZWFudXAnCisgICAgICAgICAgICAgICAgICAgICAgV0hFTiA3IFRIRU4gJ3ZhY3V1bWluZyBpbmRl eGVzJworICAgICAgICAgICAgICAgICAgICAgIFdIRU4gOCBUSEVOICdjbGVhbmluZyB1cCBpbmRl eGVzJwogICAgICAgICAgICAgICAgICAgICAgIEVORCBBUyBwaGFzZSwKICAgICAgICAgUy5wYXJh bTIgQVMgaGVhcF9ibGtzX3RvdGFsLCBTLnBhcmFtMyBBUyBoZWFwX2Jsa3Nfc2Nhbm5lZCwKICAg ICAgICAgUy5wYXJhbTQgQVMgaGVhcF9ibGtzX3ZhY3V1bWVkLCBTLnBhcmFtNSBBUyBpbmRleF92 YWN1dW1fY291bnQsCi0gICAgICAgIFMucGFyYW02IEFTIG1heF9kZWFkX3R1cGxlcywgUy5wYXJh bTcgQVMgbnVtX2RlYWRfdHVwbGVzCisgICAgICAgIFMucGFyYW02IEFTIG1heF9kZWFkX3R1cGxl cywgUy5wYXJhbTcgQVMgbnVtX2RlYWRfdHVwbGVzLAorICAgICAgICBTLnBhcmFtOCBBUyBpbmRl eGVzX3RvdGFsLCBTLnBhcmFtOSBBUyBpbmRleGVzX3Byb2Nlc3NlZAogICAgIEZST00gcGdfc3Rh dF9nZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJykgQVMgUwogICAgICAgICBMRUZUIEpPSU4gcGdf ZGF0YWJhc2UgRCBPTiBTLmRhdGlkID0gRC5vaWQ7CiAKK0NSRUFURSBWSUVXIHBnX3N0YXRfcHJv Z3Jlc3NfdmFjdXVtX2luZGV4IEFTCisgICAgU0VMRUNUCisgICAgICAgIFMucGlkLAorICAgICAg ICBTLmRhdGlkLAorICAgICAgICBTLmRhdG5hbWUsCisgICAgICAgIFMuaW5kZXhyZWxpZCwKKyAg ICAgICAgUy5sZWFkZXJfcGlkLAorICAgICAgICBDQVNFIFMucGhhc2UgV0hFTiA3IFRIRU4gJ3Zh Y3V1bWluZyBpbmRleGVzJworICAgICAgICAgICAgICAgICAgICAgV0hFTiA4IFRIRU4gJ2NsZWFu aW5nIHVwIGluZGV4ZXMnCisgICAgICAgICAgICAgICAgICAgICBFTkQgQVMgcGhhc2UsCisgICAg ICAgIFMudHVwbGVzX3JlbW92ZWQKKyAgICBGUk9NICgKKyAgICAgICAgU0VMRUNUCisgICAgICAg ICAgICBTLnBpZCBBUyBwaWQsCisgICAgICAgICAgICBTLmRhdGlkIEFTIGRhdGlkLAorICAgICAg ICAgICAgRC5kYXRuYW1lIEFTIGRhdG5hbWUsCisgICAgICAgICAgICBTLnBhcmFtMTAgQVMgaW5k ZXhyZWxpZCwKKyAgICAgICAgICAgIFMucGFyYW0xMiBBUyBsZWFkZXJfcGlkLAorICAgICAgICAg ICAgUy5wYXJhbTEgQVMgcGhhc2UsCisgICAgICAgICAgICBTLnBhcmFtMTEgQVMgdHVwbGVzX3Jl bW92ZWQKKyAgICAgICAgRlJPTSBwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZvKCdWQUNVVU0nKSBB UyBTCisgICAgICAgICAgICBMRUZUIEpPSU4gcGdfZGF0YWJhc2UgRCBPTiBTLmRhdGlkID0gRC5v aWQKKyAgICAgICAgV0hFUkUgUy5wYXJhbTEgSU4gKDIsIDQsIDcsIDgpIEFORCBTLnBhcmFtMTAg PiAwCisgICAgICAgIFVOSU9OIEFMTAorICAgICAgICBTRUxFQ1QKKyAgICAgICAgICAgIFMucGlk IEFTIHBpZCwKKyAgICAgICAgICAgIFMuZGF0aWQgQVMgZGF0aWQsCisgICAgICAgICAgICBELmRh dG5hbWUgQVMgZGF0bmFtZSwKKyAgICAgICAgICAgIFMucGFyYW0xMCBBUyBpbmRleHJlbGlkLAor ICAgICAgICAgICAgUy5wYXJhbTEyIEFTIGxlYWRlcl9waWQsCisgICAgICAgICAgICBTLnBhcmFt MSBBUyBwaGFzZSwKKyAgICAgICAgICAgIFMucGFyYW0xMSBBUyB0dXBsZXNfcmVtb3ZlZAorICAg ICAgICBGUk9NIHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oJ1ZBQ1VVTV9QQVJBTExFTCcpIEFT IFMKKyAgICAgICAgICAgIExFRlQgSk9JTiBwZ19kYXRhYmFzZSBEIE9OIFMuZGF0aWQgPSBELm9p ZAorICAgICAgICApIEFTIFMKKyAgICBXSEVSRSBTLnBoYXNlIElOICgyLCA0LCA3LCA4KSBBTkQg Uy5pbmRleHJlbGlkID4gMDsKKwogQ1JFQVRFIFZJRVcgcGdfc3RhdF9wcm9ncmVzc19jbHVzdGVy IEFTCiAgICAgU0VMRUNUCiAgICAgICAgIFMucGlkIEFTIHBpZCwKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW1wYXJhbGxlbC5jCmluZGV4IDk3NGEyOWU3YTkuLjEzMzIyMDMwNDcgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImFj Y2Vzcy9hbWFwaS5oIgogI2luY2x1ZGUgImFjY2Vzcy90YWJsZS5oIgogI2luY2x1ZGUgImNhdGFs b2cvaW5kZXguaCIKKyNpbmNsdWRlICJjb21tYW5kcy9wcm9ncmVzcy5oIgogI2luY2x1ZGUgImNv bW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUgIm9wdGltaXplci9wYXRocy5oIgogI2luY2x1ZGUg InBnc3RhdC5oIgpAQCAtMTAxLDYgKzEwMiw5IEBAIHR5cGVkZWYgc3RydWN0IFBWU2hhcmVkCiAK IAkvKiBDb3VudGVyIGZvciB2YWN1dW1pbmcgYW5kIGNsZWFudXAgKi8KIAlwZ19hdG9taWNfdWlu dDMyIGlkeDsKKworCS8qIExlYWRlciBQSUQgb2YgdGhlIHZhY3V1bSAqLworCWludAkJIGxlYWRl cl9waWQ7CiB9IFBWU2hhcmVkOwogCiAvKiBTdGF0dXMgdXNlZCBkdXJpbmcgcGFyYWxsZWwgaW5k ZXggdmFjdXVtIG9yIGNsZWFudXAgKi8KQEAgLTM1Nyw2ICszNjEsNyBAQCBwYXJhbGxlbF92YWN1 dW1faW5pdChSZWxhdGlvbiByZWwsIFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsCiAJ CShuaW5kZXhlc19td20gPiAwKSA/CiAJCW1haW50ZW5hbmNlX3dvcmtfbWVtIC8gTWluKHBhcmFs bGVsX3dvcmtlcnMsIG5pbmRleGVzX213bSkgOgogCQltYWludGVuYW5jZV93b3JrX21lbTsKKwlz aGFyZWQtPmxlYWRlcl9waWQgPSBNeVByb2NQaWQ7CiAKIAlwZ19hdG9taWNfaW5pdF91MzIoJihz aGFyZWQtPmNvc3RfYmFsYW5jZSksIDApOwogCXBnX2F0b21pY19pbml0X3UzMigmKHNoYXJlZC0+ YWN0aXZlX253b3JrZXJzKSwgMCk7CkBAIC03MTYsNiArNzIxLDcgQEAgcGFyYWxsZWxfdmFjdXVt X3Byb2Nlc3NfYWxsX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBpbnQgbnVtX2lu ZGV4X3NjYW4KIAkJVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2UgPSBOVUxMOwogCQlWYWN1dW1BY3Rp dmVOV29ya2VycyA9IE5VTEw7CiAJfQorCiB9CiAKIC8qCkBAIC04NDAsMTMgKzg0NiwyNCBAQCBw YXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZz LCBSZWxhdGlvbiBpbmRyZWwsCiAJcHZzLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJl bGF0aW9uTmFtZShpbmRyZWwpKTsKIAlwdnMtPnN0YXR1cyA9IGluZHN0YXRzLT5zdGF0dXM7CiAK KwkvKiBBZHZlcnRpc2UgdGhlIGluZGV4IHdlIGFyZSBjbGVhbmluZyBvciB2YWN1dW1pbmcgKi8K KwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWFJFTElE LCBSZWxhdGlvbkdldFJlbGlkKGluZHJlbCkpOworCiAJc3dpdGNoIChpbmRzdGF0cy0+c3RhdHVz KQogCXsKIAkJY2FzZSBQQVJBTExFTF9JTkRWQUNfU1RBVFVTX05FRURfQlVMS0RFTEVURToKKwkJ CS8qIFJlcG9ydCB0aGF0IHdlIGFyZSBub3cgdmFjdXVtaW5nIGluZGV4ZXMgaW4gcGFyYWxsZWwg Ki8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX1BIQVNF LAorCQkJCQkJCQkJCVBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVhfUEFSQUxMRUwp OwogCQkJaXN0YXRfcmVzID0gdmFjX2J1bGtkZWxfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0LCBw dnMtPmRlYWRfaXRlbXMpOworCQkJdmFjdXVtX3dvcmtlcl91cGRhdGUocHZzLT5zaGFyZWQtPmxl YWRlcl9waWQpOwogCQkJYnJlYWs7CiAJCWNhc2UgUEFSQUxMRUxfSU5EVkFDX1NUQVRVU19ORUVE X0NMRUFOVVA6CisJCQkvKiBSZXBvcnQgdGhhdCB3ZSBhcmUgbm93IGNsZWFuaW5nIGluZGV4ZXMg aW4gcGFyYWxsZWwgKi8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1Nf VkFDVVVNX1BIQVNFLAorCQkJCQkJCQkJCVBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9JTkRFWF9DTEVB TlVQX1BBUkFMTEVMKTsKIAkJCWlzdGF0X3JlcyA9IHZhY19jbGVhbnVwX29uZV9pbmRleCgmaXZp bmZvLCBpc3RhdCk7CisJCQl2YWN1dW1fd29ya2VyX3VwZGF0ZShwdnMtPnNoYXJlZC0+bGVhZGVy X3BpZCk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVk IHBhcmFsbGVsIHZhY3V1bSBpbmRleCBzdGF0dXMgJWQgZm9yIGluZGV4IFwiJXNcIiIsCkBAIC04 ODEsNiArODk4LDEwIEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxl bFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKIAkgKi8KIAlpbmRzdGF0cy0+c3Rh dHVzID0gUEFSQUxMRUxfSU5EVkFDX1NUQVRVU19DT01QTEVURUQ7CiAKKwkvKiBBZHZlcnRpc2Ug d2UgYXJlIG5vIGxvbmdlciB2YWN1dW1pbmcvY2xlYW5pbmcgYW4gaW5kZXggKi8KKwlwZ3N0YXRf cHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWFJFTElELCAwKTsKKwlw Z3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9UVVBMRVNfUkVNT1ZF RCwgMCk7CisKIAkvKiBSZXNldCBlcnJvciB0cmFjZWJhY2sgaW5mb3JtYXRpb24gKi8KIAlwdnMt PnN0YXR1cyA9IFBBUkFMTEVMX0lORFZBQ19TVEFUVVNfQ09NUExFVEVEOwogCXBmcmVlKHB2cy0+ aW5kbmFtZSk7CkBAIC05NjUsNiArOTg2LDkgQEAgcGFyYWxsZWxfdmFjdXVtX21haW4oZHNtX3Nl Z21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCSAqIHdvcmtlcnMuCiAJICovCiAJcmVsID0gdGFi bGVfb3BlbihzaGFyZWQtPnJlbGlkLCBTaGFyZVVwZGF0ZUV4Y2x1c2l2ZUxvY2spOworCXBnc3Rh dF9wcm9ncmVzc19zdGFydF9jb21tYW5kKFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNX1BBUkFMTEVM LAorCQkJCQkJCQlSZWxhdGlvbkdldFJlbGlkKHJlbCkpOworCXBnc3RhdF9wcm9ncmVzc191cGRh dGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0xFQURFUl9QSUQsIHNoYXJlZC0+bGVhZGVyX3BpZCk7 CiAKIAkvKgogCSAqIE9wZW4gYWxsIGluZGV4ZXMuIGluZHJlbHMgYXJlIHNvcnRlZCBpbiBvcmRl ciBieSBPSUQsIHdoaWNoIHNob3VsZCBiZQpAQCAtMTAzNiw2ICsxMDYwLDcgQEAgcGFyYWxsZWxf dmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCXZhY19jbG9zZV9p bmRleGVzKG5pbmRleGVzLCBpbmRyZWxzLCBSb3dFeGNsdXNpdmVMb2NrKTsKIAl0YWJsZV9jbG9z ZShyZWwsIFNoYXJlVXBkYXRlRXhjbHVzaXZlTG9jayk7CiAJRnJlZUFjY2Vzc1N0cmF0ZWd5KHB2 cy5ic3RyYXRlZ3kpOworCXBnc3RhdF9wcm9ncmVzc19lbmRfY29tbWFuZCgpOwogfQogCiAvKgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jIGIvc3JjL2JhY2tlbmQv c3RvcmFnZS9pcGMvaXBjaS5jCmluZGV4IDlmMjZlNDFjNDYuLjg2ODI1NzhhYzMgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYworKysgYi9zcmMvYmFja2VuZC9zdG9y YWdlL2lwYy9pcGNpLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJhY2Nlc3Mvc3luY3Nj YW4uaCIKICNpbmNsdWRlICJhY2Nlc3MvdHdvcGhhc2UuaCIKICNpbmNsdWRlICJjb21tYW5kcy9h c3luYy5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUgIm1pc2NhZG1p bi5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInBvc3RtYXN0ZXIvYXV0b3ZhY3V1 bS5oIgpAQCAtMTQzLDYgKzE0NCw3IEBAIENhbGN1bGF0ZVNobWVtU2l6ZShpbnQgKm51bV9zZW1h cGhvcmVzKQogCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCVHJlZVNobWVtU2l6ZSgpKTsKIAlzaXpl ID0gYWRkX3NpemUoc2l6ZSwgU3luY1NjYW5TaG1lbVNpemUoKSk7CiAJc2l6ZSA9IGFkZF9zaXpl KHNpemUsIEFzeW5jU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBWYWN1dW1X b3JrZXJQcm9ncmVzc1NobWVtU2l6ZSgpKTsKICNpZmRlZiBFWEVDX0JBQ0tFTkQKIAlzaXplID0g YWRkX3NpemUoc2l6ZSwgU2htZW1CYWNrZW5kQXJyYXlTaXplKCkpOwogI2VuZGlmCkBAIC0yOTMs NiArMjk1LDcgQEAgQ3JlYXRlU2hhcmVkTWVtb3J5QW5kU2VtYXBob3Jlcyh2b2lkKQogCUJUcmVl U2htZW1Jbml0KCk7CiAJU3luY1NjYW5TaG1lbUluaXQoKTsKIAlBc3luY1NobWVtSW5pdCgpOwor CVZhY3V1bVdvcmtlclByb2dyZXNzU2htZW1Jbml0KCk7CiAKICNpZmRlZiBFWEVDX0JBQ0tFTkQK IApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMv YmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCAxNWNiMTdhY2U0Li41ZGVjZTcx NTk2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMTgsNiArMTgsNyBAQAog I2luY2x1ZGUgImFjY2Vzcy94bG9nLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hdXRoaWQuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKKyNpbmNsdWRlICJjb21tYW5kcy92YWN1dW0u aCIKICNpbmNsdWRlICJjb21tb24vaXAuaCIKICNpbmNsdWRlICJmdW5jYXBpLmgiCiAjaW5jbHVk ZSAibWlzY2FkbWluLmgiCkBAIC00NTIsNiArNDUzLDE0IEBAIHBnX3N0YXRfZ2V0X2JhY2tlbmRf aWRzZXQoUEdfRlVOQ1RJT05fQVJHUykKIAogLyoKICAqIFJldHVybnMgY29tbWFuZCBwcm9ncmVz cyBpbmZvcm1hdGlvbiBmb3IgdGhlIG5hbWVkIGNvbW1hbmQuCisgKgorICogQSBjb21tYW5kIHR5 cGUgY2FuIG9wdGlvbmFsbHkgZGVmaW5lIGEgY2FsbGJhY2sgZnVuY3Rpb24KKyAqIHdoaWNoIHdp bGwgZGVyaXZlIERhdHVtIHZhbHVlcyByYXRoZXIgdGhhbiB1c2UgdmFsdWVzCisgKiBkaXJlY3Rs eSBmcm9tIHRoZSBiYWNrZW5kcyBwcm9ncmVzcyBhcnJheS4KKyAqCisgKiBEZXJpdmVkIHZhbHVl cyBhcmUgdXNlZnVsIHRvIGNhbGN1bGF0ZSB2YWx1ZXMgZm9ybSBtdWx0aXBsZSBiYWNrZW5kcwor ICogYXMgaXMgdGhlIGNhc2Ugd2l0aCBwYXJhbGxlbCBvcGVyYXRpb25zLCBpbiB3aGljaCBwcm9n cmVzcyB2YWx1ZXMKKyAqIGFyZSBjYWxjdWxhdGVkIGZvcm0gbXVsdGlwbGUgd29ya2Vycy4KICAq LwogRGF0dW0KIHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oUEdfRlVOQ1RJT05fQVJHUykKQEAg LTQ2Niw2ICs0NzUsNyBAQCBwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZvKFBHX0ZVTkNUSU9OX0FS R1MpCiAJUmV0dXJuU2V0SW5mbyAqcnNpbmZvID0gKFJldHVyblNldEluZm8gKikgZmNpbmZvLT5y ZXN1bHRpbmZvOwogCU1lbW9yeUNvbnRleHQgcGVyX3F1ZXJ5X2N0eDsKIAlNZW1vcnlDb250ZXh0 IG9sZGNvbnRleHQ7CisJdm9pZCAoKmNhbGxiYWNrKShEYXR1bSAqLCBpbnQpID0gTlVMTDsKIAog CS8qIGNoZWNrIHRvIHNlZSBpZiBjYWxsZXIgc3VwcG9ydHMgdXMgcmV0dXJuaW5nIGEgdHVwbGVz dG9yZSAqLwogCWlmIChyc2luZm8gPT0gTlVMTCB8fCAhSXNBKHJzaW5mbywgUmV0dXJuU2V0SW5m bykpCkBAIC00ODMsNyArNDkzLDE0IEBAIHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oUEdfRlVO Q1RJT05fQVJHUykKIAogCS8qIFRyYW5zbGF0ZSBjb21tYW5kIG5hbWUgaW50byBjb21tYW5kIHR5 cGUgY29kZS4gKi8KIAlpZiAocGdfc3RyY2FzZWNtcChjbWQsICJWQUNVVU0iKSA9PSAwKQorCXsK IAkJY21kdHlwZSA9IFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNOworCQljYWxsYmFjayA9IHZhY3V1 bV9wcm9ncmVzc19jYjsKKwl9CisJZWxzZSBpZiAocGdfc3RyY2FzZWNtcChjbWQsICJWQUNVVU1f UEFSQUxMRUwiKSA9PSAwKQorCXsKKwkJY21kdHlwZSA9IFBST0dSRVNTX0NPTU1BTkRfVkFDVVVN X1BBUkFMTEVMOworCX0KIAllbHNlIGlmIChwZ19zdHJjYXNlY21wKGNtZCwgIkFOQUxZWkUiKSA9 PSAwKQogCQljbWR0eXBlID0gUFJPR1JFU1NfQ09NTUFORF9BTkFMWVpFOwogCWVsc2UgaWYgKHBn X3N0cmNhc2VjbXAoY21kLCAiQ0xVU1RFUiIpID09IDApCkBAIC01NTIsNiArNTY5LDkgQEAgcGdf c3RhdF9nZXRfcHJvZ3Jlc3NfaW5mbyhQR19GVU5DVElPTl9BUkdTKQogCQkJCW51bGxzW2kgKyAz XSA9IHRydWU7CiAJCX0KIAorCQlpZiAoY2FsbGJhY2spCisJCQljYWxsYmFjayh2YWx1ZXMsIDMp OworCiAJCXR1cGxlc3RvcmVfcHV0dmFsdWVzKHR1cHN0b3JlLCB0dXBkZXNjLCB2YWx1ZXMsIG51 bGxzKTsKIAl9CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNzLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oCmluZGV4IGEyODkzOGNhZjQuLjM3NjU5 ODgyZWUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNzLmgKKysrIGIv c3JjL2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaApAQCAtMjUsNiArMjUsMTEgQEAKICNkZWZp bmUgUFJPR1JFU1NfVkFDVVVNX05VTV9JTkRFWF9WQUNVVU1TCQk0CiAjZGVmaW5lIFBST0dSRVNT X1ZBQ1VVTV9NQVhfREVBRF9UVVBMRVMJCQk1CiAjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9OVU1f REVBRF9UVVBMRVMJCQk2CisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9UT1RBTF9JTkRFWEVTCQkJ NworI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fSU5ERVhFU19DT01QTEVURUQJCTgKKyNkZWZpbmUg UFJPR1JFU1NfVkFDVVVNX0lOREVYUkVMSUQJCQk5CisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9U VVBMRVNfUkVNT1ZFRAkJCTEwCisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9MRUFERVJfUElECQkJ MTEKIAogLyogUGhhc2VzIG9mIHZhY3V1bSAoYXMgYWR2ZXJ0aXNlZCB2aWEgUFJPR1JFU1NfVkFD VVVNX1BIQVNFKSAqLwogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fUEhBU0VfU0NBTl9IRUFQCQkJ MQpAQCAtMzMsNiArMzgsOCBAQAogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fUEhBU0VfSU5ERVhf Q0xFQU5VUAkJNAogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fUEhBU0VfVFJVTkNBVEUJCQk1CiAj ZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9GSU5BTF9DTEVBTlVQCQk2CisjZGVmaW5lIFBS T0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVhfUEFSQUxMRUwJNworI2RlZmluZSBQUk9H UkVTU19WQUNVVU1fUEhBU0VfSU5ERVhfQ0xFQU5VUF9QQVJBTExFTAk4CiAKIC8qIFByb2dyZXNz IHBhcmFtZXRlcnMgZm9yIGFuYWx5emUgKi8KICNkZWZpbmUgUFJPR1JFU1NfQU5BTFlaRV9QSEFT RQkJCQkJCTAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oIGIvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKaW5kZXggNWQwYmRmYTQyNy4uMTE5OTI0Njk0ZCAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1 ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAgLTMzNiw0ICszMzYsMTIgQEAgZXh0ZXJuIGRvdWJsZSBh bmxfcmFuZG9tX2ZyYWN0KHZvaWQpOwogZXh0ZXJuIGRvdWJsZSBhbmxfaW5pdF9zZWxlY3Rpb25f c3RhdGUoaW50IG4pOwogZXh0ZXJuIGRvdWJsZSBhbmxfZ2V0X25leHRfUyhkb3VibGUgdCwgaW50 IG4sIGRvdWJsZSAqc3RhdGVwdHIpOwogCisvKiBpbiBjb21tYW5kcy92YWN1dW1wYXJhbGxlbC5j ICovCitleHRlcm4gU2l6ZSBWYWN1dW1Xb3JrZXJQcm9ncmVzc1NobWVtU2l6ZSh2b2lkKTsKK2V4 dGVybiB2b2lkIFZhY3V1bVdvcmtlclByb2dyZXNzU2htZW1Jbml0KHZvaWQpOworZXh0ZXJuIHZv aWQgdmFjdXVtX3dvcmtlcl9lbmQoaW50IGxlYWRlcl9waWQpOworZXh0ZXJuIHZvaWQgdmFjdXVt X3dvcmtlcl91cGRhdGUoaW50IGxlYWRlcl9waWQpOworZXh0ZXJuIHZvaWQgdmFjdXVtX3Byb2dy ZXNzX2NiKERhdHVtICp2YWx1ZXMsIGludCBvZmZzZXQpOworZXh0ZXJuIHZvaWQgdmFjdXVtX3dv cmtlcl9lbmRfY2FsbGJhY2soaW50IGNvZGUsIERhdHVtIGFyZyk7CisKICNlbmRpZgkJCQkJCQkv KiBWQUNVVU1fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvYmFja2VuZF9wcm9n cmVzcy5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvYmFja2VuZF9wcm9ncmVzcy5oCmluZGV4IDQ3YmY4 MDI5YjAuLjQ2NTFlNDVjNDAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2JhY2tlbmRf cHJvZ3Jlc3MuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9iYWNrZW5kX3Byb2dyZXNzLmgKQEAg LTIzLDYgKzIzLDcgQEAgdHlwZWRlZiBlbnVtIFByb2dyZXNzQ29tbWFuZFR5cGUKIHsKIAlQUk9H UkVTU19DT01NQU5EX0lOVkFMSUQsCiAJUFJPR1JFU1NfQ09NTUFORF9WQUNVVU0sCisJUFJPR1JF U1NfQ09NTUFORF9WQUNVVU1fUEFSQUxMRUwsCiAJUFJPR1JFU1NfQ09NTUFORF9BTkFMWVpFLAog CVBST0dSRVNTX0NPTU1BTkRfQ0xVU1RFUiwKIAlQUk9HUkVTU19DT01NQU5EX0NSRUFURV9JTkRF WCwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggZDY1MmY3YjVmYi4uMGZhZmU2 MGU1MyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIwMTcsNiArMjAxNyw4 IEBAIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtfCBTRUxFQ1Qgcy5waWQsCiAgICAgICAgICAgICBX SEVOIDQgVEhFTiAnY2xlYW5pbmcgdXAgaW5kZXhlcyc6OnRleHQKICAgICAgICAgICAgIFdIRU4g NSBUSEVOICd0cnVuY2F0aW5nIGhlYXAnOjp0ZXh0CiAgICAgICAgICAgICBXSEVOIDYgVEhFTiAn cGVyZm9ybWluZyBmaW5hbCBjbGVhbnVwJzo6dGV4dAorICAgICAgICAgICAgV0hFTiA3IFRIRU4g J3ZhY3V1bWluZyBpbmRleGVzJzo6dGV4dAorICAgICAgICAgICAgV0hFTiA4IFRIRU4gJ2NsZWFu aW5nIHVwIGluZGV4ZXMnOjp0ZXh0CiAgICAgICAgICAgICBFTFNFIE5VTEw6OnRleHQKICAgICAg ICAgRU5EIEFTIHBoYXNlLAogICAgIHMucGFyYW0yIEFTIGhlYXBfYmxrc190b3RhbCwKQEAgLTIw MjQsOSArMjAyNiw0MyBAQCBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bXwgU0VMRUNUIHMucGlkLAog ICAgIHMucGFyYW00IEFTIGhlYXBfYmxrc192YWN1dW1lZCwKICAgICBzLnBhcmFtNSBBUyBpbmRl eF92YWN1dW1fY291bnQsCiAgICAgcy5wYXJhbTYgQVMgbWF4X2RlYWRfdHVwbGVzLAotICAgIHMu cGFyYW03IEFTIG51bV9kZWFkX3R1cGxlcworICAgIHMucGFyYW03IEFTIG51bV9kZWFkX3R1cGxl cywKKyAgICBzLnBhcmFtOCBBUyBpbmRleGVzX3RvdGFsLAorICAgIHMucGFyYW05IEFTIGluZGV4 ZXNfcHJvY2Vzc2VkCiAgICBGUk9NIChwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZvKCdWQUNVVU0n Ojp0ZXh0KSBzKHBpZCwgZGF0aWQsIHJlbGlkLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zLCBwYXJh bTQsIHBhcmFtNSwgcGFyYW02LCBwYXJhbTcsIHBhcmFtOCwgcGFyYW05LCBwYXJhbTEwLCBwYXJh bTExLCBwYXJhbTEyLCBwYXJhbTEzLCBwYXJhbTE0LCBwYXJhbTE1LCBwYXJhbTE2LCBwYXJhbTE3 LCBwYXJhbTE4LCBwYXJhbTE5LCBwYXJhbTIwKQogICAgICBMRUZUIEpPSU4gcGdfZGF0YWJhc2Ug ZCBPTiAoKHMuZGF0aWQgPSBkLm9pZCkpKTsKK3BnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4 fCBTRUxFQ1Qgcy5waWQsCisgICAgcy5kYXRpZCwKKyAgICBzLmRhdG5hbWUsCisgICAgcy5pbmRl eHJlbGlkLAorICAgIHMubGVhZGVyX3BpZCwKKyAgICAgICAgQ0FTRSBzLnBoYXNlCisgICAgICAg ICAgICBXSEVOIDcgVEhFTiAndmFjdXVtaW5nIGluZGV4ZXMnOjp0ZXh0CisgICAgICAgICAgICBX SEVOIDggVEhFTiAnY2xlYW5pbmcgdXAgaW5kZXhlcyc6OnRleHQKKyAgICAgICAgICAgIEVMU0Ug TlVMTDo6dGV4dAorICAgICAgICBFTkQgQVMgcGhhc2UsCisgICAgcy50dXBsZXNfcmVtb3ZlZAor ICAgRlJPTSAoIFNFTEVDVCBzXzEucGlkLAorICAgICAgICAgICAgc18xLmRhdGlkLAorICAgICAg ICAgICAgZC5kYXRuYW1lLAorICAgICAgICAgICAgc18xLnBhcmFtMTAgQVMgaW5kZXhyZWxpZCwK KyAgICAgICAgICAgIHNfMS5wYXJhbTEyIEFTIGxlYWRlcl9waWQsCisgICAgICAgICAgICBzXzEu cGFyYW0xIEFTIHBoYXNlLAorICAgICAgICAgICAgc18xLnBhcmFtMTEgQVMgdHVwbGVzX3JlbW92 ZWQKKyAgICAgICAgICAgRlJPTSAocGdfc3RhdF9nZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJzo6 dGV4dCkgc18xKHBpZCwgZGF0aWQsIHJlbGlkLCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zLCBwYXJh bTQsIHBhcmFtNSwgcGFyYW02LCBwYXJhbTcsIHBhcmFtOCwgcGFyYW05LCBwYXJhbTEwLCBwYXJh bTExLCBwYXJhbTEyLCBwYXJhbTEzLCBwYXJhbTE0LCBwYXJhbTE1LCBwYXJhbTE2LCBwYXJhbTE3 LCBwYXJhbTE4LCBwYXJhbTE5LCBwYXJhbTIwKQorICAgICAgICAgICAgIExFRlQgSk9JTiBwZ19k YXRhYmFzZSBkIE9OICgoc18xLmRhdGlkID0gZC5vaWQpKSkKKyAgICAgICAgICBXSEVSRSAoKHNf MS5wYXJhbTEgPSBBTlkgKEFSUkFZWygyKTo6YmlnaW50LCAoNCk6OmJpZ2ludCwgKDcpOjpiaWdp bnQsICg4KTo6YmlnaW50XSkpIEFORCAoc18xLnBhcmFtMTAgPiAwKSkKKyAgICAgICAgVU5JT04g QUxMCisgICAgICAgICBTRUxFQ1Qgc18xLnBpZCwKKyAgICAgICAgICAgIHNfMS5kYXRpZCwKKyAg ICAgICAgICAgIGQuZGF0bmFtZSwKKyAgICAgICAgICAgIHNfMS5wYXJhbTEwIEFTIGluZGV4cmVs aWQsCisgICAgICAgICAgICBzXzEucGFyYW0xMiBBUyBsZWFkZXJfcGlkLAorICAgICAgICAgICAg c18xLnBhcmFtMSBBUyBwaGFzZSwKKyAgICAgICAgICAgIHNfMS5wYXJhbTExIEFTIHR1cGxlc19y ZW1vdmVkCisgICAgICAgICAgIEZST00gKHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oJ1ZBQ1VV TV9QQVJBTExFTCc6OnRleHQpIHNfMShwaWQsIGRhdGlkLCByZWxpZCwgcGFyYW0xLCBwYXJhbTIs IHBhcmFtMywgcGFyYW00LCBwYXJhbTUsIHBhcmFtNiwgcGFyYW03LCBwYXJhbTgsIHBhcmFtOSwg cGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0xMiwgcGFyYW0xMywgcGFyYW0xNCwgcGFyYW0xNSwgcGFy YW0xNiwgcGFyYW0xNywgcGFyYW0xOCwgcGFyYW0xOSwgcGFyYW0yMCkKKyAgICAgICAgICAgICBM RUZUIEpPSU4gcGdfZGF0YWJhc2UgZCBPTiAoKHNfMS5kYXRpZCA9IGQub2lkKSkpKSBzCisgIFdI RVJFICgocy5waGFzZSA9IEFOWSAoQVJSQVlbKDIpOjpiaWdpbnQsICg0KTo6YmlnaW50LCAoNyk6 OmJpZ2ludCwgKDgpOjpiaWdpbnRdKSkgQU5EIChzLmluZGV4cmVsaWQgPiAwKSk7CiBwZ19zdGF0 X3JlcGxpY2F0aW9ufCBTRUxFQ1Qgcy5waWQsCiAgICAgcy51c2VzeXNpZCwKICAgICB1LnJvbG5h bWUgQVMgdXNlbmFtZSwKLS0gCjIuMzIuMAoK --_002_DC471B48A8154326AC623672CDB9B4ABamazoncom_--