Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1twxXJ-001Mk3-J2 for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 06:13:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1twxXI-00GehD-9c for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 06:13:16 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1twxXH-00Geh5-34 for pgsql-hackers@lists.postgresql.org; Tue, 25 Mar 2025 06:13:15 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1twxX5-000zW9-33 for pgsql-hackers@postgresql.org; Tue, 25 Mar 2025 06:13:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1742883179; bh=RUsx53dBK5l6pStJozdFkvmnxu/M40pRogVziTmqgOM=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=f2C9B/zf8pJKSDEPhW72C7e0KE4PB7abwvdm1sRLDJKDsnutHXyNpjHrjv7+X91cL aj1b2CLdtOuQQj8QQdvCwy0obKQsql5LlgdgDX3NZ6KJndz/q+gqDMl/RtsbFBI4en MgYcZp0DUBCHNxH9mWjVo+QgKkV6JVXOd3Q5Wfpdsv7bgcIpwFsn1dg15HumW7Z8hW JjpSz0/W1gex+xF+LoS/sVU730TZCOgc7eUAG5mvhZd0BBIu5IaHGjwUBPmRf8e3ky Ch3Sf/8OV0fvIVR+WIJ0vIM28DowP3Wq4Ep30mqfNmh9e0Q2clqxAFrFx7KNSsfvNF BoWniNIEfzBiA== Received: from [172.30.48.122] (unknown [93.174.131.138]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.rybakina@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 620C160E9A; Tue, 25 Mar 2025 09:12:58 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------YSbG1oRSTJ3ciWnOsx064BnJ" Message-ID: <5583261b-eede-4341-b3b1-91650fefc1cf@postgrespro.ru> Date: Tue, 25 Mar 2025 09:12:57 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics From: Alena Rybakina To: Bertrand Drouvot , Jim Nasby , vignesh C Cc: Ilia Evdokimov , pgsql-hackers , Alexander Korotkov , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , a.lepikhov@postgrespro.ru, Sami Imseih References: <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <1e81a0a1-a63b-48fb-905a-d6495f89ab73@postgrespro.ru> <0b4eefc7-4c38-4caa-b2ca-a4c75dd7dd12@postgrespro.ru> <333c2306-c401-4959-9f0c-a44c670a11a9@postgrespro.ru> <513f0188-b093-4cc8-98cf-4c324570d525@postgrespro.ru> <47a7b784-5218-43f2-96e3-65f9a729c5a5@tantorlabs.com> Content-Language: en-US In-Reply-To: X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2025/03/25 03:22:00 #27823010 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------YSbG1oRSTJ3ciWnOsx064BnJ Content-Type: multipart/alternative; boundary="------------5t6mt1K01dVTZH0XhFKC021T" --------------5t6mt1K01dVTZH0XhFKC021T Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi! I rebased the patches again - PGSTAT_FILE_FORMAT_ID needed to be fixed. On 21.03.2025 22:42, Alena Rybakina wrote: > > I will add it and fix the tests but later and I'll explain why. > > I'm working on this issue [0] and try have already created new > statistics in Statistics Collector to store database and relation > vacuum statistics: PGSTAT_KIND_VACUUM_DB and PGSTAT_KIND_VACUUM_RELATION. > > Vacuum statistics are saved there instead of relation's and database's > statistic structure, but for some reason it is not possible to find > them in the hash table when building a snapshot and display them > accordingly. > I have not yet figured out where the error is. > > Without solving this problem, committing vacuum statistics is not yet > possible. An alternative way for us was to refuse some statistics for > now for relations, > but we could not agree on which statistics should not be displayed yet > and for now we are only adding them :). > > I understand why this is important to display more vacuum information > about vacuum statistics - it will allow us to better understand the > problems of incorrect vacuum settings or, for example, notice a bug in > its operation. > > In order to reduce the memory consumption for storing them for those > who are not going to use them, I just realized that we need to create > a separate space for storing the statistics > I mentioned above (PGSTAT_KIND_VACUUM_DB and > PGSTAT_KIND_VACUUM_RELATION), there is no other way to do this and I > am still trying to complete this functionality. > > I doubt that I will have time for this by code freeze date and even if > I do, I will hardly have time for a normal review. There's really a > lot more to learn related to the stat collector, so > I'm postponing it to the next commitfest. > > Sorry. I'll fix the tests as soon as I finish this part, since they'll > most likely either break the same way or in some new way. > > Tomorrow or the day after tomorrow I will send a diff patch with what > I have already managed to demonstrate the problem, since I need to > bring the code to a normal form. > Maybe someone who worked with the stat collector will suddenly tell me > where and what I have implemented incorrectly. > I attached also diff version that contains what I was talking about. The test case: create table t (x int); insert into t select id from generate_series(1,1000) id; delete from t where id > 900; vacuum; select * from pg_stat_vacuum_tables where relname = 't'; -- Regards, Alena Rybakina Postgres Professional --------------5t6mt1K01dVTZH0XhFKC021T Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi! I rebased the patches again - PGSTAT_FILE_FORMAT_ID needed to be fixed.

On 21.03.2025 22:42, Alena Rybakina wrote:

I will add it and fix the tests but later and I'll explain why. 

I'm working on this issue [0] and try have already created new statistics in Statistics Collector to store database and relation vacuum statistics: PGSTAT_KIND_VACUUM_DB and PGSTAT_KIND_VACUUM_RELATION.

Vacuum statistics are saved there instead of relation's and database's statistic structure, but for some reason it is not possible to find them in the hash table when building a snapshot and display them accordingly.
I have not yet figured out where the error is. 

Without solving this problem, committing vacuum statistics is not yet possible. An alternative way for us was to refuse some statistics for now for relations,
but we could not agree on which statistics should not be displayed yet and for now we are only adding them :).

I understand why this is important to display more vacuum information about vacuum statistics - it will allow us to better understand the problems of incorrect vacuum settings or, for example, notice a bug in its operation. 

In order to reduce the memory consumption for storing them for those who are not going to use them, I just realized that we need to create a separate space for storing the statistics
I mentioned above (PGSTAT_KIND_VACUUM_DB and PGSTAT_KIND_VACUUM_RELATION), there is no other way to do this and I am still trying to complete this functionality. 

I doubt that I will have time for this by code freeze date and even if I do, I will hardly have time for a normal review. There's really a lot more to learn related to the stat collector, so
I'm postponing it to the next commitfest. 

Sorry. I'll fix the tests as soon as I finish this part, since they'll most likely either break the same way or in some new way.

Tomorrow or the day after tomorrow I will send a diff patch with what I have already managed to demonstrate the problem, since I need to bring the code to a normal form.
Maybe someone who worked with the stat collector will suddenly tell me where and what I have implemented incorrectly.

I attached also diff version that contains what I was talking about. The test case:

create table t (x int);

insert into t select id from generate_series(1,1000) id;

delete from t where id > 900;

vacuum;

select * from pg_stat_vacuum_tables where relname = 't';

-- 
Regards,
Alena Rybakina
Postgres Professional
--------------5t6mt1K01dVTZH0XhFKC021T-- --------------YSbG1oRSTJ3ciWnOsx064BnJ Content-Type: text/x-patch; charset=UTF-8; name="v21-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v21-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAwYzBhZWUwMmEzNmMzM2U2OGU3YTgwZDMxMTYwZjZmODNjYmI2ZWIwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCAzZjVhMzA2MjQ3ZS4uNGFk MTMwYzZmMzQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNzQsNCArNTA3NCw3 NTkgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6 b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgIDxwcmltYXJ5PnBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlPC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFy YT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9z dHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggZGF0YWJhc2Ug aW4gdGhlIGN1cnJlbnQgY2x1c3Rlciwgc2hvd2luZyBzdGF0aXN0aWNzIGFib3V0CisgICB2 YWN1dW1pbmcgdGhhdCBkYXRhYmFzZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4g Q29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRi aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJl ciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAg ICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRp bWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIg Y2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRp cnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29y ZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVk IGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFi YXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFkaW5nIGRhdGFiYXNlIGJsb2NrcyBi eSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFz ZSwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzIChz ZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3Qi Lz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBv ZiB2YWN1dW1pbmcgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVz IHRoZSB2YWN1dW0gd2FzIHJ1biB0byBwcmV2ZW50IGEgd3JhcGFyb3VuZCBwcm9ibGVtLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5lcnJvcnM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90 Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InZpZXctcGct c3RhdC12YWN1dW0taW5kZXhlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3Zh Y3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25l PSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWluZGV4ZXMiPgorICAgPHByaW1hcnk+cGdfc3RhdF92 YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+Cisg ICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3Ru YW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1 cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNo b3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4K KyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3Jv dXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5v aWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2Yg YW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyBpbmRleCBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICBp bmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2YWN1dW0gb3Bl cmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0 aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9yZWNv cmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJh dGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGlu ZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVj dGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5k ZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1l ZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxp bmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3Ro ZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5 X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBzbGVlcGluZyBpbiBhIHZhY3V1 bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAg ICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChzZWUgPHhyZWYgbGlua2VuZD0icnVu dGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4KKyAgICAgICAgZm9yIGRldGFp bHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQVSB0aW1lIG9mIHZhY3V1bWlu ZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9m IHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAg PC90YWJsZT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtdmFjdXVt LXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8 L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3Rh dC12YWN1dW0tdGFibGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfdmFjdXVtX3RhYmxlczwv cHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3Ry dWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+IHdpbGwgY29udGFp bgorICAgb25lIHJvdyBmb3IgZWFjaCB0YWJsZSBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSAo aW5jbHVkaW5nIFRPQVNUCisgICB0YWJsZXMpLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQg dmFjdXVtaW5nIHRoYXQgc3BlY2lmaWMgdGFibGUuCisgIDwvcGFyYT4KKworICA8dGFibGU+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru YW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFk PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRi b2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSB0YWJsZQorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5zY2hlbWE8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE5hbWUgb2YgdGhl IHNjaGVtYSB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVy YXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAg ICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3Mgd3Jp dHRlbiBkaXJlY3RseSBieSB2YWN1dW0gb3IgYXV0byB2YWN1dW0uCisgICAgICAgIEJsb2Nr cyB0aGF0IGFyZSBkaXJ0aWVkIGJ5IGEgdmFjdXVtIHByb2Nlc3MgY2FuIGJlIHdyaXR0ZW4g b3V0IGJ5IGFub3RoZXIgcHJvY2Vzcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0 YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1 dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0YWJsZQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3ZXJlIGFscmVhZHkgZm91 bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywg c28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBp bmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5v dCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHBhZ2Vz IHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfZnJvemVuX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGhlIG51bWJlciBvZiBwYWdlcyBuZXdseSBzZXQgYWxsLWZyb3plbiBieSB2 YWN1dW0KKyAgICAgICAgaW4gdGhlIHZpc2liaWxpdHkgbWFwLgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfdmlzaWJsZV9wYWdlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0IGFsbC12aXNpYmxl IGJ5IHZhY3V1bQorICAgICAgICBpbiB0aGUgdmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczwv c3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0 IGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuCisgICAgICAgIGJ5IHZhY3V1bSBpbiB0aGUg dmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1 cGxlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFj dXVtIG9wZXJhdGlvbnMgZGVsZXRlZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIHR1cGxlcyBvZiB0aGlzIHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFy a2VkIGFzCisgICAgICAgIGZyb3plbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5yZWNlbnRseV9kZWFkX3R1cGxlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRl YWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxlZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAg ICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5taXNzZWRfZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBmdWxseSBERUFEIChub3QganVzdCBSRUNFTlRMWV9ERUFEKSB0dXBs ZXMgIHRoYXQgY291bGQgbm90IGJlCisgICAgICAgIHBydW5lZCBkdWUgdG8gZmFpbHVyZSB0 byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIGEgaGVhcCBwYWdlLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleF92YWN1dW1fY291bnQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyBpbmRleGVzIG9uIHRoaXMgdGFibGUgd2VyZSB2YWN1dW1l ZAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIHZhY3V1bSB3 YXMgcnVuIHRvIHByZXZlbnQgYSB3cmFwYXJvdW5kIHByb2JsZW0uCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm1pc3NlZF9kZWFkX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgdGhhdCBoYWQgYXQgbGVhc3Qgb25lIG1pc3NlZF9kZWFkX3R1 cGxlcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQg YnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBi eSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25k cyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVk LAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3Jp dGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9u CisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2Vu ZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndp c2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRl bGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0 aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1l LWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVj dGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNl cl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRo aXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFj dXVtaW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3Rh YmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVsZD50b3RhbF8qPC9zdHJ1Y3RmaWVs ZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0ZmllbGQ+CisgICAgYW5kIDxzdHJ1Y3Rm aWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUgZGF0YSBvbiB2YWN1dW1pbmcgaW5k ZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5zCisgICAgPHN0cnVjdGZpZWxkPnN5 c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0 cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAgIG9uIHZhY3V1bWluZyB0aGUgaGVh cC48L3BhcmE+CisgPC9zZWN0MT4KIDwvY2hhcHRlcj4KLS0gCjIuMzQuMQoK --------------YSbG1oRSTJ3ciWnOsx064BnJ Content-Type: text/x-patch; charset=UTF-8; name="v21-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v21-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBhNzM3YzU0NWYzZDAxYWIzOTQzMGRlYjQzYTE5MjVjZjMxY2JkODYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDE3OjU3OjQ0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGRhdGFiYXNlcy4KCkRhdGFiYXNlIHZhY3V1bSBzdGF0aXN0 aWNzIGluZm9ybWF0aW9uIGlzIHRoZSBjb2xsZWN0ZWQgZ2VuZXJhbAp2YWN1dW0gc3RhdGlz dGljcyBpbmRleGVzIGFuZCB0YWJsZXMgb3duZWQgYnkgdGhlIGRhdGFiYXNlcywgd2hpY2gK dGhleSBiZWxvbmcgdG8uCgpJbiBhZGRpdGlvbiB0byB0aGUgZmFjdCB0aGF0IHRoZXJlIGFy ZSBmYXIgZmV3ZXIgZGF0YWJhc2VzIGluIGEgc3lzdGVtCnRoYW4gcmVsYXRpb25zLCB2YWN1 dW0gc3RhdGlzdGljcyBmb3IgYSBkYXRhYmFzZSBjb250YWluIGZld2VyIHN0YXRpc3RpY3MK dGhhbiByZWxhdGlvbnMsIGJ1dCB0aGV5IGFyZSBlbm91Z2ggdG8gaW5kaWNhdGUgdGhhdCBz b21ldGhpbmcgbWF5IGJlCndyb25nIGluIHRoZSBzeXN0ZW0gYW5kIHByb21wdCB0aGUgYWRt aW5pc3RyYXRvciB0byBlbmFibGUgZXh0ZW5kZWQKbW9uaXRvcmluZyBmb3IgcmVsYXRpb25z LgoKU28sIGJ1ZmZlciwgd2FsLCBzdGF0aXN0aWNzIG9mIEkvTyB0aW1lIG9mIHJlYWQgYW5k IHdyaXRlbiBibG9ja3MKc3RhdGlzdGljcyB3aWxsIGJlIG9ic2VydmVkIGJlY2F1c2UgdGhl eSBhcmUgY29sbGVjdGVkIGZvciBib3RoCnRhYmxlcywgaW5kZXhlcy4gSW4gYWRkaXRpb24s IHdlIHNob3cgdGhlIG51bWJlciBvZiBlcnJvcnMgY2F1Z2h0CmR1cmluZyBvcGVyYXRpb24g b2YgdGhlIHZhY3V1bSBvbmx5IGZvciB0aGUgZXJyb3IgbGV2ZWwuCgp3cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50IGlzIGEgbnVtYmVyIG9mIHRpbWVzIHdoZW4gdGhlIHZhY3V1bSBzdGFy dHMKdXJnZW50IGNsZWFudXAgdG8gcHJldmVudCB3cmFwYXJvdW5kIHByb2JsZW0gd2hpY2gg aXMgY3JpdGljYWwgZm9yCnRoZSBkYXRhYmFzZS4KCkF1dGhvcnM6IEFsZW5hIFJ5YmFraW5h IDxsZW5hLnJpYmFja2luYUB5YW5kZXgucnU+LAogICBBbmRyZWkgTGVwaWtob3YgPGEubGVw aWtob3ZAcG9zdGdyZXNwcm8ucnU+LAogICBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0 Z3Jlc3Byby5ydT4KUmV2aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFp bC5jb20+LCBNYXNhaGlrbyBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCiAgICAg ICBJbGlhIEV2ZG9raW1vdiA8aWx5YS5ldmRva2ltb3ZAdGFudG9ybGFicy5jb20+LCBqaWFu IGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+LAogICAgICAgS2lyaWxsIFJlc2hr ZSA8cmVzaGtla2lyaWxsQGdtYWlsLmNvbT4sIEFsZXhhbmRlciBLb3JvdGtvdiA8YWVrb3Jv dGtvdkBnbWFpbC5jb20+LAogICAgICAgSmltIE5hc2J5IDxqbmFzYnlAdXBncmFkZS5jb20+ LCBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgICAgICAgICAgfCAgMTcgKystCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAgMjcgKysrKy0KIHNyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgMiArLQogc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwgICAxICsKIHNy Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0NiArKysr KysrLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwg MTAwICsrKysrKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFi bGVzLmMgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0ICAgICAgICAgICAgICAgfCAgMTMgKystCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWlu LXJlcGV0YWJsZS1yZWFkLnNwZWMgICB8ICAgNiArKwogc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDE3ICsrKwogLi4uL2V4cGVjdGVkL3ZhY3V1 bV9pbmRleF9zdGF0aXN0aWNzLm91dCAgICAgIHwgIDE2ICstLQogLi4udXQgPT4gdmFjdXVt X3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXR9IHwgIDg3ICsrKysrKysrKysrKystLQog c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAyICst CiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsICAgfCAgIDYg Ky0KIC4uLnFsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsfSB8ICA2 OSArKysrKysrKysrKy0KIDE2IGZpbGVzIGNoYW5nZWQsIDM4MSBpbnNlcnRpb25zKCspLCAz NSBkZWxldGlvbnMoLSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3t2YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0ID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRp c3RpY3Mub3V0fSAoODIlKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3t2YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Muc3FsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3Rp Y3Muc3FsfSAoODElKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRl eCBmNWFhZDYxYWZhNi4uZDliMDc4Mzc4MzEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMKQEAgLTY2MCw3ICs2NjAsNyBAQCBhY2N1bXVsYXRlX2hlYXBfdmFjdXVt X3N0YXRpc3RpY3MoTFZFeHRTdGF0Q291bnRlcnMgKmV4dFZhY0NvdW50ZXJzLCBMVlJlbFN0 YXRlCiAJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUubWlzc2VkX2RlYWRfdHVwbGVzICs9 IHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOwogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRh YmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXM7CiAJ dmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUuaW5kZXhfdmFjdXVtX2NvdW50ICs9IHZhY3Jl bC0+bnVtX2luZGV4X3NjYW5zOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQgKz0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2Nv dW50OworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg Kz0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwogfQogCiAKQEAgLTQwNjUs NiArNDA2NSw5IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNo IChlcnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5f SEVBUDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCQlwZ3N0YXRfcmVw b3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfVEFCTEUp OworCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsK IAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtNDA4 MCw2ICs0MDgzLDkgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJy ZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJaWYo Z2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJs b2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9mZnNl dE51bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTQwOTUsMTYgKzQxMDEsMjUg QEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNh c2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRFWDoKKwkJCWlmKGdldGVycmVsZXZl bCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8t PmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CisKIAkJCWVycmNvbnRleHQoIndoaWxl IHZhY3V1bWluZyBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJ ICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5y ZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVY X0NMRUFOVVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5E RVgpOworCiAJCQllcnJjb250ZXh0KCJ3aGlsZSBjbGVhbmluZyB1cCBpbmRleCBcIiVzXCIg b2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJy aW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJ CWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1RSVU5DQVRFOgorCQkJaWYoZ2V0ZXJyZWxldmVs KCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+ cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNW YWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNhdGlu ZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKIAkJCQkJCSAgIGVycmluZm8t PnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSwgZXJyaW5mby0+Ymxrbm8pOwpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGM2OWM2MGRlNDliLi5hODk1 Yzg3ODllOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Mu c3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTQ3 Miw0ICsxNDcyLDI5IEBAIEZST00KICAgcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFtZXNw YWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxraW5k ID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJlbC5yZWxraW5k ID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUworU0VM RUNUCisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisKKyAg c3RhdHMuZGJfYmxrc19yZWFkIEFTIGRiX2Jsa3NfcmVhZCwKKyAgc3RhdHMuZGJfYmxrc19o aXQgQVMgZGJfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3Rh bF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9i bGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisg IHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5dGVzIEFTIHdhbF9i eXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIHN0 YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIHN0YXRzLmRlbGF5 X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3RhdHMudG90YWxfdGltZSBBUyB0b3RhbF90aW1l LAorICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUs CisgIHN0YXRzLmVycm9ycyBBUyBlcnJvcnMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIsCisg IExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHM7Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXQuYwppbmRleCBlMDU1MmY4NDBhMC4uMDlmYTBmYmVlNTcgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0yMDMsNyArMjAzLDcgQEAgc3RhdGljIGlubGluZSBi b29sIHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBib29sCQlw Z3N0YXRfdHJhY2tfY291bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRfZmV0Y2hfY29uc2lz dGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci1ib29sCQlwZ3N0YXRf dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgPSB0cnVlOworYm9vbAkJcGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzID0gZmFsc2U7CiAKIC8qIC0tLS0tLS0tLS0KICAqIHN0YXRlIHNo YXJlZCB3aXRoIHBnc3RhdF8qLmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X2RhdGFiYXNlLmMKaW5kZXggMDVhOGNjZmRiNzUuLmQ1YzFlMmEyY2Y1IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwpAQCAt NDQ5LDYgKzQ0OSw3IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50cnlS ZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRy eV9yZWYpOwogCiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2VudCkp OworCW1lbXNldCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0VmFj UmVwb3J0KSk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggY2Q0ZmZiNTBiY2EuLjVkMzZkNWEy MTQwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYwpAQCAtMjA1LDYgKzIwNSwzOCBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlv biByZWwpCiAJfQogfQogCisvKiAtLS0tLS0tLS0KKyAqIHBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKCkgLQorICoKKyAqCVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0byl2 YWN1dW0gaW50ZXJydXB0aW9uLgorICogLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3RhdF9y ZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5 cGUpCit7CisJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CisJUGdTdGF0U2hhcmVkX1Jl bGF0aW9uICpzaHRhYmVudHJ5OworCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5Owor CU9pZAkJCWRib2lkID0gIE15RGF0YWJhc2VJZDsKKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRi ZW50cnk7CS8qIHBlbmRpbmcgZGF0YWJhc2UgZW50cnkgKi8KKworCWlmICghcGdzdGF0X3Ry YWNrX2NvdW50cykKKwkJcmV0dXJuOworCisJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRy eV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9pZCwg dGFibGVvaWQsIGZhbHNlKTsKKworCXNodGFiZW50cnkgPSAoUGdTdGF0U2hhcmVkX1JlbGF0 aW9uICopIGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOworCXRhYmVudHJ5ID0gJnNodGFiZW50 cnktPnN0YXRzOworCisJdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKKwlw Z3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0X3By ZXBfZGF0YWJhc2VfcGVuZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5lcnJv cnMrKzsKKwlkYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Cit9CisKIC8qCiAg KiBSZXBvcnQgdGhhdCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElP IHN0YXRpc3RpY3MuCiAgKi8KQEAgLTIxNiw2ICsyNDgsNyBAQCBwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCVBnU3RhdF9FbnRyeVJlZiAqZW50 cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRf U3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKmRiZW50 cnk7CiAJT2lkCQkJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJ ZCk7CiAJVGltZXN0YW1wVHogdHM7CiAJUGdTdGF0X0NvdW50ZXIgZWxhcHNlZHRpbWU7CkBA IC0yNzQsNiArMzA3LDE2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwg Ym9vbCBzaGFyZWQsCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKIAkodm9pZCkg cGdzdGF0X2ZsdXNoX2JhY2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNLRU5EX0ZMVVNIX0lPKTsK KworCWlmIChkYm9pZCAhPSBJbnZhbGlkT2lkKQorCXsKKwkJZW50cnlfcmVmID0gcGdzdGF0 X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFCQVNFLAorCQkJCQkJCQkJ CQlkYm9pZCwgSW52YWxpZE9pZCwgZmFsc2UpOworCQlkYmVudHJ5ID0gKFBnU3RhdFNoYXJl ZF9EYXRhYmFzZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCQlwZ3N0YXRfYWNj dW11bGF0ZV9leHR2YWNfc3RhdHMoJmRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQsIHBhcmFt cywgZmFsc2UpOworCQlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisJfQogfQog CiAvKgpAQCAtMTAyMSw2ICsxMDY0LDggQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0 YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlkc3QtPmJsa193 cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CiAJZHN0LT5kZWxheV90aW1lICs9 IHNyYy0+ZGVsYXlfdGltZTsKIAlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1l OworCWRzdC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBhcm91bmRf ZmFpbHNhZmVfY291bnQ7CisJZHN0LT5lcnJvcnMgKz0gc3JjLT5lcnJvcnM7CiAKIAlpZiAo IWFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CkBAIC0xMDQ4 LDcgKzEwOTMsNiBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVw b3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCQkJZHN0LT50YWJsZS5pbmRleF92YWN1 dW1fY291bnQgKz0gc3JjLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7CiAJCQlkc3QtPnRh YmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXM7 CiAJCQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLm1pc3Nl ZF9kZWFkX3R1cGxlczsKLQkJCWRzdC0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3Vu dCArPSBzcmMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAJCX0KIAkJZWxz ZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCiAJCXsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggMTVmYTNkZTA4NzEuLmMyYWNkY2YwZTBl IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM4Myw3ICsyMzgz LDcgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2Rl YWRfdHVwbGVzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 YWJsZS5taXNzZWRfZGVhZF90dXBsZXMpOwogCi0JdmFsdWVzW2krK10gPSBJbnQzMkdldERh dHVtKGV4dHZhY3V1bS0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFs dWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2Fm ZV9jb3VudCk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFi bGUuaW5kZXhfdmFjdXVtX2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKQEAgLTI1MTMsNiArMjUxMywxMDQgQEAgcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIAogCUFzc2VydChp ID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKIAorCS8qIFJldHVy bnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVH ZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30K KworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElPTl9BUkdT KQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMJ MTQKKworCU9pZAkJCQkJCSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRfU3Rh dERCRW50cnkgCQkqZGJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlU dXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRf VkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBudWxsc1tQ R19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJ CQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVy bzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVw bGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQ R19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRiaWQiLAorCQkJCQkgICBJ TlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ0b3RhbF8gYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDAp OworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90 YWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGki LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklDT0lE LCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193cml0 ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJCQkg ICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndy YXBhcm91bmRfZmFpbHNhZmVfY291bnQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJlcnJvcnMi LAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dF VF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBk ZXNjKTsKKworCWRiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF9kYmVudHJ5KGRiaWQpOwor CisJaWYgKGRiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24g aXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHpl cm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87 CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYoZGJlbnRyeS0+dmFjdXVtX2V4dCk7 CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0oZGJp ZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9i bGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRv dGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVy aWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2Yg YnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2kr K10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJp bmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJ CQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdl dERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10g PSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCXZhbHVlc1tpKytd ID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQp OworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7CisK KwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7 CisKIAkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KIAlQR19SRVRVUk5fREFU VU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywg bnVsbHMpKSk7CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGls cy9taXNjL2d1Y190YWJsZXMuYwppbmRleCAxOTE4OTRhYWNhYi4uMjU5MDY3YTQwMzAgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCkBAIC0xNTAyLDcgKzE1MDIsNyBA QCBzdHJ1Y3QgY29uZmlnX2Jvb2wgQ29uZmlndXJlTmFtZXNCb29sW10gPQogCQkJTlVMTAog CQl9LAogCQkmcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzLAotCQl0cnVlLAorCQlm YWxzZSwKIAkJTlVMTCwgTlVMTCwgTlVMTAogCX0sCiAJewpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQKaW5kZXggMzY5ODA2YmVmYjYuLjQ3NGUwZjg2YjczIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5kYXQKQEAgLTEyNDk4LDEyICsxMjQ5OCwyMSBAQAogICBwcm9wYXJhbGxlbCA9 PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAg cHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKIHsgb2lk ID0+ICc4MDA0JywKLSAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHJl dHVybiBzdGF0cyB2YWx1ZXMnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBpbmRleCcsCiAgIHByb25h bWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBw cm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3Qg PT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLAogICBwcm9hcmd0eXBlcyA9PiAnb2lkJywK ICAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0 OCxmbG9hdDh9JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxf Ymxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtz X3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1l LGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZX0nLAotICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJyB9CisgIHByb3NyYyA9PiAncGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMnIH0sCit7IG9pZCA9PiAnODAwNScsCisgIGRlc2NyID0+ICdw Z19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVz IGZvciBkYXRhYmFzZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRh YmFzZScsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBl ID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywK KyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9p ZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgs ZmxvYXQ4LGZsb2F0OCxpbnQ0LGludDR9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne2RiaWQsZGJv aWQsZGJfYmxrc19yZWFkLGRiX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9i bGtzX3dyaXR0ZW4sd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGlt ZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWUsd3JhcGFyb3VuZF9mYWls c2FmZSxlcnJvcnN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJh c2UnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCmluZGV4IDMwZTdlNTUzN2Y1Li42NmU2ZTcyMTU2MyAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAg LTE1NCw2ICsxNTQsOSBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAogCWludDY0 CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLwogCisJ aW50MzIJCWVycm9yczsKKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyog dGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSAqLwor CiAJRXh0VmFjUmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8KIAog CS8qIC0tLS0tLS0tLS0KQEAgLTE4Myw3ICsxODYsNiBAQCB0eXBlZGVmIHN0cnVjdCBFeHRW YWNSZXBvcnQKIAkJCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90 IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2Nr ICovCiAJCQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRoIG1pc3Nl ZCBkZWFkIHR1cGxlcyAqLwogCQkJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogbnVt YmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KLQkJCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OwkvKiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBh bnRpLXdyYXBhcm91bmQgc2h1dGRvd24gKi8KIAkJfQkJCXRhYmxlOwogCQlzdHJ1Y3QKIAkJ ewpAQCAtNzYyLDYgKzc2NCw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVt KE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0 X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0 dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNl dGNvdW50ZXIsIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7CitleHRlcm4gdm9pZCBwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90 eXBlKTsKIAogLyoKICAqIElmIHN0YXRzIGFyZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRh IGhhc24ndCBiZWVuIHByZXBhcmVkIHlldCwgY2FsbApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv aXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3Bl YyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0 YWJsZS1yZWFkLnNwZWMKaW5kZXggNTg5M2Q4OTU3M2QuLmNmZWMzMTU5NTgwIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0t ZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKQEAgLTE4LDYgKzE4LDkgQEAgdGVh cmRvd24KIH0KIAogc2Vzc2lvbiBzMQorc2V0dXAJCXsKKyAgICBTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29uJzsKKyAgICB9CiBzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVf cmVhZCAgIHsKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsKICAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24gd2hlcmUgaWQ+OTAwOwpAQCAtMjUsNiArMjgsOSBAQCBzdGVwIHMxX2JlZ2lu X3JlcGVhdGFibGVfcmVhZCAgIHsKIHN0ZXAgczFfY29tbWl0ICAgICAgICAgICAgICAgICAg eyBDT01NSVQ7IH0KIAogc2Vzc2lvbiBzMgorc2V0dXAJCXsKKyAgICBTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gJ29uJzsKKyAgICB9CiBzdGVwIHMyX2luc2VydCAgICAgICAg ICAgICAgICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQs IGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAw MCkgQXMgaXZhbDsgfQogc3RlcCBzMl91cGRhdGUgICAgICAgICAgICAgICAgICB7IFVQREFU RSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJl IGlkID4gOTAwOyB9CiBzdGVwIHMyX2RlbGV0ZSAgICAgICAgICAgICAgICAgIHsgREVMRVRF IEZST00gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQgPiA5MDA7IH0KZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggNjQwZjc5OWI3YzEuLmM1ZGY1 OGViZDcyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjI2Miw2 ICsyMjYyLDIzIEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICBy ZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdI RVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2lu Zm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9h c3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZXwgU0VMRUNUIGRiLm9pZCBB UyBkYm9pZCwKKyAgICBkYi5kYXRuYW1lIEFTIGRibmFtZSwKKyAgICBzdGF0cy5kYl9ibGtz X3JlYWQsCisgICAgc3RhdHMuZGJfYmxrc19oaXQsCisgICAgc3RhdHMudG90YWxfYmxrc19k aXJ0aWVkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzdGF0cy53YWxf cmVjb3JkcywKKyAgICBzdGF0cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRlcywKKyAg ICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAorICAg IHN0YXRzLmRlbGF5X3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZSwKKyAgICBzdGF0cy53 cmFwYXJvdW5kX2ZhaWxzYWZlLAorICAgIHN0YXRzLmVycm9ycworICAgRlJPTSBwZ19kYXRh YmFzZSBkYiwKKyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5v aWQpIHN0YXRzKGRib2lkLCBkYl9ibGtzX3JlYWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtz X2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdh bF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRv dGFsX3RpbWUsIHdyYXBhcm91bmRfZmFpbHNhZmUsIGVycm9ycyk7CiBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKICAgICBucy5uc3BuYW1lIEFT IHNjaGVtYW5hbWUsCiAgICAgcmVsLnJlbG5hbWUsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CmluZGV4IGUw MGEwZmM2ODNjLi45ZTVkMzMzNDJjOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKQEAgLTE2LDggKzE2 LDEyIEBAIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogXHNldCBzYW1wbGVf c2l6ZSAxMDAwMAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8g dGVzdCBpdC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKLS0tIFRlc3QgdGhh dCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9m Zi4KLVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NIT1cgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgorIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG9mZgorKDEgcm93KQorCiBD UkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0g b2ZmLCBmaWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogQU5BTFlaRSB2ZXN0 YXQ7CkBAIC0zMywxMiArMzcsNyBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiAK IFJFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FT Q0FERTsKLVNIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCi0g dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g b24KLSgxIHJvdykKLQorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvbic7CiAt LSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAogU0VMRUNUIHBnX3N0YXRfZm9y Y2VfbmV4dF9mbHVzaCgpOwogIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKQEAgLTE4MSwz ICsxODAsNCBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKICgxIHJvdykKIAogRFJPUCBUQUJMRSB2ZXN0YXQ7CitSRVNFVCB0cmFj a192YWN1dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQKc2ltaWxhcml0 eSBpbmRleCA4MiUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CmluZGV4IGI1ZWE5 YzlhYjFlLi4wMzAwZTdiNjI3NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQKQEAgLTYs NyArNiw2IEBACiAtLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92 ZWQgYnkgYmFja2VuZC4KIC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQg aW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KLS0t IGNvbmRpdGlvIHNpbmUgcXVhIG5vbgogU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJl IG9uCiAgdHJhY2tfY291bnRzIAogLS0tLS0tLS0tLS0tLS0KQEAgLTE2LDggKzE1LDEyIEBA IFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogXHNldCBzYW1wbGVfc2l6ZSAx MDAwMAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBp dC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKLS0tIFRlc3QgdGhhdCB2YWN1 dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KLVNF VCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NIT1cgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG9mZgorKDEgcm93KQorCiBDUkVBVEUg VEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBm aWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogQU5BTFlaRSB2ZXN0YXQ7CkBA IC0zNywxMiArNDAsMTIgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBSRVNF VCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7 Ci1TSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgotIHRyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG9uCi0o MSByb3cpCi0KK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGI7CitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsK K1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK1NFVCB0cmFja192YWN1dW1f c3RhdGlzdGljcyBUTyBvbjsKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CiAtLSBl bnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAogU0VMRUNUIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaCgpOwogIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKQEAgLTIyNSwzICsy MjgsNjkgQEAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxl cyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmEKICgxIHJvdykKIAogRFJPUCBU QUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBm b3IgY3VycmVudCBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hp dCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBB UyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBB UyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9y ZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5 dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxf dGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9IGN1 cnJlbnRfZGF0YWJhc2UoKTsKKyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAgICAgfCBk Yl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8 IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHRvdGFsX3RpbWUgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1 bV9kYiB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdAorKDEgcm93 KQorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0 YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2 ZXN0YXQgU0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCkgdmVzdGF0OworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2Ri MTsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKy0tIE5vdyBjaGVjayB2 YWN1dW0gc3RhdGlzdGljcyBmb3IgcG9zdGdyZXMgZGF0YWJhc2UgZnJvbSBhbm90aGVyIGRh dGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9i bGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3Nf ZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nf d3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAg ICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdh bF9ieXRlcywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitw Z19zdGF0X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYic7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwg ZGJfYmxrc19oaXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4g fCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1 dW1fZGIgfCB0ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJv dykKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCitTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gb247CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworXGMg cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0cmFja192YWN1dW1fc3Rh dGlzdGljcyBUTyBvbjsKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFzZSBkCitD Uk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoMCkKK1dIRVJFIG9pZCA9IDA7 IC0tIG11c3QgYmUgMAorIGNvdW50IAorLS0tLS0tLQorICAgICAwCisoMSByb3cpCisKK1xj IHBvc3RncmVzCitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9k YjE7CitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK1JF U0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2No ZWR1bGUKaW5kZXggMzQ5OGNlMDY2MzUuLjM3ZmExYzY3YTQ5IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUKQEAgLTE0MSw0ICsxNDEsNCBAQCB0ZXN0OiB0YWJsZXNwYWNl CiAjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KIHRlc3Q6IHZhY3V1 bV9pbmRleF9zdGF0aXN0aWNzCi10ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit0ZXN0OiB2YWN1dW1fdGFibGVzX2FuZF9kYl9z dGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCmluZGV4IGFlMTQ2 ZTFkMjNmLi45YjdlNjQ1MTg3ZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApAQCAtMTQsOCArMTQsNyBAQCBTSE9XIHRy YWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQs IGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2Fs bCc7CiAKLS0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdo ZW4gcGFyYW1ldGVyIGlzIG9mZi4KLVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAn b2ZmJzsKK1NIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgog CiBDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwpAQCAtMzMsNyAr MzIsNyBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiBSRVNFVCB0cmFja192YWN1 dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CiAKLVNIT1cgdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCitTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29uJzsKIAogLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZs dXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKQEAgLTE0OSwzICsx NDgsNCBAQCBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKIFdI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwog CiBEUk9QIFRBQkxFIHZlc3RhdDsKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0 YXRpc3RpY3Muc3FsCnNpbWlsYXJpdHkgaW5kZXggODElCnJlbmFtZSBmcm9tIHNyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKcmVuYW1lIHRvIHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3Fs CmluZGV4IDViYzM0YmVjNjRiLi5jYTdkYmRlOTM4NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApAQCAt NywxNSArNywxMyBAQAogLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBp biB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCiAtLQogCi0t LSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBi ZSBvbgogXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAogCiAtLSBub3QgZW5hYmxlZCBieSBkZWZh dWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCiBTRVQgdHJhY2tfZnVuY3Rpb25zIFRP ICdhbGwnOwogCi0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0 eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mg VE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBv ZmYKIAogQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5h YmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxF Q1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTM2 LDcgKzM0LDEzIEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIFJFU0VUIHRyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKIAotU0hP VyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KK0NSRUFURSBEQVRB QkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitDUkVBVEUgREFUQUJBU0Ug cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKwor LS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgor U0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAogLS0gZW5zdXJlIHBlbmRpbmcgc3Rh dHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKQEAg LTE4MCw0ICsxODQsNTkgQEAgVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4KSB2ZXN0YXQ7CiBTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA9IDpwZiBBUyB2 bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID0gOnB2IEFTIHZtX25l d192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9IDpwdmYgQVMg dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCByZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpo YWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpo YXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs bmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19z dGF0X2FsbF90YWJsZXMucmVsaWQ7CiAKLURST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsK KworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBjdXJyZW50IGRhdGFiYXNl CitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hp dCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3NfZGlydGll ZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRl biwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAgd2Fs X2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRl cywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0 X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpOwor CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lU SCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJU IElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9z aXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0gMTAw MDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3Rh dDsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciBwb3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0YWJhc2UKK1NFTEVD VCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAg ICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAg ICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAg ICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4g MCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAg ICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVt X2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSAncmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVt X2RiJzsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCitTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7 CisKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gb247CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJh c2UgZAorQ1JPU1MgSk9JTiBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBv aWQgPSAwOyAtLSBtdXN0IGJlIDAKKworXGMgcG9zdGdyZXMKK0RST1AgREFUQUJBU0UgcmVn cmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiOworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7 ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAKMi4zNC4xCgo= --------------YSbG1oRSTJ3ciWnOsx064BnJ Content-Type: text/x-patch; charset=UTF-8; name="v21-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v21-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAwYWJhYjE1ODVhNTliYjhlZDg2MjAyMjA5M2JiODk4ZmJiYmI4NzkwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAyNyBGZWIgMjAyNSAyMDo0MjowNSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBpbmRleCByZWxhdGlvbnMuCgpUaGV5IGFyZSBnYXRoZXJl ZCBzZXBhcmF0ZWxseSBmcm9tIHRhYmxlIHN0YXRpc3RpY3MuCgpBcyBmb3IgdGFibGVzLCB3 ZSBnYXRoZXIgdmFjdXVtIHNoYXJlZCBidWZmZXJzIHN0YXRpc3RpY3MgZm9yIGluZGV4IHJl bGF0aW9ucyBsaWtlCnZhbHVlIG9mIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQs IHRvdGFsX2Jsa3NfZGlydGllZCwgd2FsIHN0YXRpc3RpY3MsIGlvIHRpbWUKZHVyaW5nIGZs dXNoaW5nIGJ1ZmZlciBwYWdlcyB0byBkaXNrLCBkZWxheSBhbmQgdG90YWwgdGltZS4KCkR1 ZSB0byB0aGUgZmFjdCB0aGF0IHN1Y2ggc3RhdGlzdGljcyBhcmUgY29tbW9uIGFzIGZvciB0 YWJsZXMsIGFzIGZvciBpbmRleGVzIHdlCnNldCB0aGVtIGluIHRoZSB1bmlvbiBFeHRWYWNS ZXBvcnQgc3RydWN0dXJlLiBXZSBvbmx5IGFkZGVkIHNvbWUgZGV0ZXJtaW5hdGlvbiAndHlw ZScKZmllbGQgdG8gaGlnaGxpZ2h0IHdoYXQga2luZCBiZWxvbmcgdG8gdGhlc2Ugc3RhdGlz dGljczogUEdTVEFUX0VYVFZBQ19UQUJMRSBvcgpQR1NUQVRfRVhUVkFDX0lOREVYLiBHZW5l cmFsbHksIFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB0eXBlIGxlYWRzIHRvIHdyb25nIGNvZGUg cHJvY2Vzcy4KClNvbWUgc3RhdGlzdGljcyBiZWxvbmcgb25seSBvbmUgdHlwZSBvZiBib3Ro IHRhYmxlcyBvciBpbmRleGVzLiBTbywgd2UgYWRkZWQgc3Vic3RydWN0dXJlcwpzeWNoIHRh YmxlIGFuZCBpbmRleCBpbnNpZGUgRXh0VmFjUmVwb3J0IHN0cnVjdHVyZS4KClRoZXJlZm9y ZSwgd2UgZ2F0aGVyIG9ubHkgZm9yIHRhYmxlcyBzdWNoIHN0YXRpc3RpY3MgbGlrZSBudW1i ZXIgb2Ygc2Nhbm5lZCwgcmVtb3ZlZCBwYWdlcywKdGhlaXIgY2hhcmVjdGVyaXN0aWNzIGFj Y29yZGluZyBWTSAoYWxsLXZpc2libGUgYW5kIGZyb3plbikuIEluIGFkZGl0aW9uLCBmb3Ig dGFibGVzIHdlCmdhdGhlciBudW1iZXIgZnJvemVuLCBkZWxldGVkIGFuZCByZWNlbnRseSBk ZWFkIHR1cGxlcyBhbmQgaG93IG1hbnkgdGltZXMgdmFjdXVtIHByb2Nlc3NlZAppbmRleGVz IGZvciB0YWJsZXMuCgpDb250cm92ZXJzYWxseSBmb3IgaW5kZXhlcyB3ZSBnYXRoZXIgbnVt YmVyIG9mIGRlbGV0ZWQgcGFnZXMgYW5kIGRlbGV0ZWQgdHVwbGVzIG9ubHkuCgpBcyBmb3Ig dGFibGVzLCBkZWxldGVkIHBhZ2VzIGFuZCBkZWxldGVkIHR1cGxlcyByZWZsZWN0IHRoZSBv dmVyYWxsIHBlcmZvcm1hbmNlIG9mIHRoZSB2YWN1dW0KZm9yIHRoZSBpbmRleCByZWxhdGlv bnNoaXAuCgpTaW5jZSB0aGUgdmFjdXVtIGNsZWFucyB1cCByZWZlcmVuY2VzIHRvIHR1cGxl IGluZGV4ZXMgYmVmb3JlIGNsZWFuaW5nIHVwIHRhYmxlIHR1cGxlcywKd2hpY2ggYWRkcyBz b21lIGNvbXBsZXhpdHkgdG8gdGhlIHZhY3V1bSBwcm9jZXNzLCBuYW1lbHkgdGhlIHZhY3V1 bSBzd2l0Y2hlcyBmcm9tIGNsZWFuaW5nIHVwCmEgdGFibGUgdG8gaXRzIGluZGV4ZXMgYW5k IGJhY2sgZHVyaW5nIGl0cyBvcGVyYXRpb24sIHdlIG5lZWQgdG8gc2F2ZSB0aGUgdmFjdXVt IHN0YXRpc3RpY3MKY29sbGVjdGVkIGZvciB0aGUgaGVhcCBiZWZvcmUgaXQgc3RhcnRzIGNs ZWFuaW5nIHVwIHRoZSBpbmRleGVzLgpUaGF0J3Mgd2h5IGl0J3MgbmVjZXNzYXJ5IHRvIHRy YWNrIHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgc2V2ZXJhbCB0aW1lcyBk dXJpbmcKdGhlIHZhY3V1bSBwcm9jZWR1cmUuIFRvIGF2b2lkIHNlbmRpbmcgdGhlIHN0YXRp c3RpY3MgdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0Kc2V2ZXJhbCB0aW1l cywgd2Ugc2F2ZSB0aGVzZSBzdGF0aXN0aWNzIGluIHRoZSBMVlJlbFN0YXRlIHN0cnVjdHVy ZSBhbmQgb25seSBhZnRlciB2YWN1dW0KZmluaXNoZXMgY2xlYW5pbmcgdXAgdGhlIGhlYXAs IGl0IHNlbmRzIHRoZW0gdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0uCgpB dXRob3JzOiBBbGVuYSBSeWJha2luYSA8bGVuYS5yaWJhY2tpbmFAeWFuZGV4LnJ1PiwKICAg QW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVzcHJvLnJ1PiwKICAgQW5kcmVp IFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJldmlld2VkLWJ5OiBEaWxpcCBL dW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEu bXNoa0BnbWFpbC5jb20+LAogICAgICAgSWxpYSBFdmRva2ltb3YgPGlseWEuZXZkb2tpbW92 QHRhbnRvcmxhYnMuY29tPiwgamlhbiBoZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29t PiwKICAgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+LCBBbGV4 YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwKICAgICAgIEppbSBOYXNi eSA8am5hc2J5QHVwZ3JhZGUuY29tPiwgU2FtaSBJbXNlaWggPHNhbWltc2VpaEBnbWFpbC5j b20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgICAg IHwgMjkyICsrKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsICAgICAgICAgIHwgIDMyICsrCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1 dW1wYXJhbGxlbC5jICAgICAgICAgfCAgMTQgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0LmMgICAgICAgICAgIHwgICA0ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0OCArKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDEzMyArKysrKysrLQogc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDkgKwogc3JjL2luY2x1 ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAgICAgIHwgIDI1ICsrCiBzcmMvaW5j bHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTggKysrLQogLi4u L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0ICAgIHwgICA0ICstCiBz cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgICAgfCAgMjIgKysK IC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgICAgICB8IDE4MyAr KysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAg ICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5z cWwgICB8IDE1MSArKysrKysrKysKIDE1IGZpbGVzIGNoYW5nZWQsIDg3MyBpbnNlcnRpb25z KCspLCAxMDUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5z cWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggNTkyYjAxOGMz MDAuLmY1YWFkNjFhZmE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j CkBAIC0yOTEsNiArMjkxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCWNoYXIJ ICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3BhY2U7CiAJT2lkCQkJcmVsb2lkOwor CU9pZAkJCWluZG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNoYXIJICAgKmluZG5hbWU7 CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJlciBibGtubzsJCQkvKiB1 c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtNDExLDYgKzQxMiw4IEBAIHR5 cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCbG9ja051bWJlciBlYWdlcl9zY2FuX3JlbWFp bmluZ19mYWlsczsKIAogCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAvKiBu dW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdyYXBhcm91bmQg c2h1dGRvd24gKi8KKworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiB9IExWUmVsU3Rh dGU7CiAKIApAQCAtNDIyLDE5ICs0MjUsNiBAQCB0eXBlZGVmIHN0cnVjdCBMVlNhdmVkRXJy SW5mbwogCVZhY0VyclBoYXNlIHBoYXNlOwogfSBMVlNhdmVkRXJySW5mbzsKIAotLyoKLSAq IENvdW50ZXJzIGFuZCB1c2FnZSBkYXRhIGZvciBleHRlbmRlZCBzdGF0cyB0cmFja2luZy4K LSAqLwotdHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKLXsKLQlUaW1lc3RhbXBU eiBzdGFydHRpbWU7Ci0JV2FsVXNhZ2UJd2FsdXNhZ2U7Ci0JQnVmZmVyVXNhZ2UgYnVmdXNh Z2U7Ci0JZG91YmxlCQlWYWN1dW1EZWxheVRpbWU7Ci0JUGdTdGF0X0NvdW50ZXIgYmxvY2tz X2ZldGNoZWQ7Ci0JUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKLX0gTFZFeHRTdGF0Q291 bnRlcnM7Ci0KIC8qIG5vbi1leHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGlj IHZvaWQgbGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVsKTsKIHN0YXRpYyB2b2lk IGhlYXBfdmFjdXVtX2VhZ2VyX3NjYW5fc2V0dXAoTFZSZWxTdGF0ZSAqdmFjcmVsLApAQCAt NTU2LDI3ICs1NDYsMjUgQEAgZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0 U3RhdENvdW50ZXJzICpjb3VudGVycywKIAllbmR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFt cCgpOwogCVRpbWVzdGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnN0YXJ0dGltZSwgZW5kdGlt ZSwgJnNlY3MsICZ1c2Vjcyk7CiAKLQltZW1zZXQocmVwb3J0LCAwLCBzaXplb2YoRXh0VmFj UmVwb3J0KSk7Ci0KIAkvKgogCSAqIEZpbGwgYWRkaXRpb25hbCBzdGF0aXN0aWNzIG9uIGEg dmFjdXVtIHByb2Nlc3Npbmcgb3BlcmF0aW9uLgogCSAqLwotCXJlcG9ydC0+dG90YWxfYmxr c19yZWFkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hhcmVkX2Js a3NfcmVhZDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ID0gYnVmdXNhZ2UubG9jYWxfYmxr c19oaXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7Ci0JcmVwb3J0LT50b3RhbF9ibGtz X2RpcnRpZWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2FnZS5zaGFy ZWRfYmxrc19kaXJ0aWVkOwotCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuID0gYnVmdXNh Z2Uuc2hhcmVkX2Jsa3Nfd3JpdHRlbjsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVhZCArPSBi dWZ1c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFkOwor CXJlcG9ydC0+dG90YWxfYmxrc19oaXQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19oaXQgKyBi dWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2RpcnRpZWQg Kz0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3Nf ZGlydGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiArPSBidWZ1c2FnZS5zaGFy ZWRfYmxrc193cml0dGVuOwogCi0JcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVzYWdlLndh bF9yZWNvcmRzOwotCXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7Ci0JcmVw b3J0LT53YWxfYnl0ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisJcmVwb3J0LT53YWxfcmVj b3JkcyArPSB3YWx1c2FnZS53YWxfcmVjb3JkczsKKwlyZXBvcnQtPndhbF9mcGkgKz0gd2Fs dXNhZ2Uud2FsX2ZwaTsKKwlyZXBvcnQtPndhbF9ieXRlcyArPSB3YWx1c2FnZS53YWxfYnl0 ZXM7CiAKLQlyZXBvcnQtPmJsa19yZWFkX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNF QyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90aW1lKTsKKwlyZXBvcnQtPmJsa19yZWFkX3Rp bWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxfYmxrX3JlYWRf dGltZSk7CiAJcmVwb3J0LT5ibGtfcmVhZF90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJ U0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfcmVhZF90aW1lKTsKLQlyZXBvcnQtPmJsa193cml0 ZV90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxfYmxrX3dy aXRlX3RpbWUpOwotCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9N SUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3dyaXRlX3RpbWUpOwotCXJlcG9ydC0+ZGVs YXlfdGltZSA9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWU7 CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhi dWZ1c2FnZS5sb2NhbF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGlt ZSArPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3dyaXRl X3RpbWUpOworCXJlcG9ydC0+ZGVsYXlfdGltZSArPSBWYWN1dW1EZWxheVRpbWUgLSBjb3Vu dGVycy0+VmFjdXVtRGVsYXlUaW1lOwogCi0JcmVwb3J0LT50b3RhbF90aW1lID0gc2VjcyAq IDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKKwlyZXBvcnQtPnRvdGFsX3RpbWUgKz0gc2VjcyAq IDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKIAogCWlmICghcmVsLT5wZ3N0YXRfaW5mbyB8fCAh cGdzdGF0X3RyYWNrX2NvdW50cykKIAkJLyoKQEAgLTU4NSwxMiArNTczLDk2IEBAIGV4dHZh Y19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqY291bnRlcnMs CiAJCSAqLwogCQlyZXR1cm47CiAKLQlyZXBvcnQtPmJsa3NfZmV0Y2hlZCA9CisJcmVwb3J0 LT5ibGtzX2ZldGNoZWQgKz0KIAkJcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19m ZXRjaGVkIC0gY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkOwotCXJlcG9ydC0+Ymxrc19oaXQg PQorCXJlcG9ydC0+Ymxrc19oaXQgKz0KIAkJcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJs b2Nrc19oaXQgLSBjb3VudGVycy0+YmxvY2tzX2hpdDsKIH0KIAordm9pZAorZXh0dmFjX3N0 YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3Rh dHMsCisJCQkJCSAgIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycykKK3sKKwlpZigh cGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwkvKiBTZXQg aW5pdGlhbCB2YWx1ZXMgZm9yIGNvbW1vbiBoZWFwIGFuZCBpbmRleCBzdGF0aXN0aWNzKi8K KwlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmY291bnRlcnMtPmNvbW1vbik7CisJY291bnRl cnMtPnBhZ2VzX2RlbGV0ZWQgPSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQgPSAwOworCisJ aWYgKHN0YXRzICE9IE5VTEwpCisJeworCQkvKgorCQkgKiBYWFg6IFdoeSBkbyB3ZSBuZWVk IHRoaXMgY29kZSBoZXJlPyBJZiBpdCBpcyBuZWVkZWQsIEkgZmVlbCBsYWNrIG9mCisJCSAq IGNvbW1lbnRzLCBkZXNjcmliaW5nIHRoZSByZWFzb24uCisJCSAqLworCQljb3VudGVycy0+ dHVwbGVzX3JlbW92ZWQgPSBzdGF0cy0+dHVwbGVzX3JlbW92ZWQ7CisJCWNvdW50ZXJzLT5w YWdlc19kZWxldGVkID0gc3RhdHMtPnBhZ2VzX2RlbGV0ZWQ7CisJfQorfQorCit2b2lkCitl eHR2YWNfc3RhdHNfZW5kX2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3Vs dCAqc3RhdHMsCisJCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMsIEV4dFZh Y1JlcG9ydCAqcmVwb3J0KQoreworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKKworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmY291bnRlcnMtPmNvbW1vbiwg cmVwb3J0KTsKKwlyZXBvcnQtPnR5cGUgPSBQR1NUQVRfRVhUVkFDX0lOREVYOworCisJaWYg KHN0YXRzICE9IE5VTEwpCisJeworCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9u ZyBvciBhbiB1c2VyIGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFj dGl2aXR5IC0ganVzdCBzdXBwcmVzcyBpdC4KKwkJICovCisKKwkJLyogRmlsbCBpbmRleC1z cGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwkJcmVwb3J0LT50dXBsZXNfZGVs ZXRlZCA9CisJCQkJCQkJc3RhdHMtPnR1cGxlc19yZW1vdmVkIC0gY291bnRlcnMtPnR1cGxl c19yZW1vdmVkOworCQlyZXBvcnQtPmluZGV4LnBhZ2VzX2RlbGV0ZWQgPQorCQkJCQkJCXN0 YXRzLT5wYWdlc19kZWxldGVkIC0gY291bnRlcnMtPnBhZ2VzX2RlbGV0ZWQ7CisJfQorfQor CisvKiBBY2N1bXVsYXRlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBoZWFwLgorICoKKyAgKiBC ZWNhdXNlIG9mIGNvbXBsZXhpdHkgb2YgdmFjdXVtIHByb2Nlc3Npbmc6IGl0IHN3aXRjaCBw cm9jZXNpbmcgYmV0d2VlbgorICAqIHRoZSBoZWFwIHJlbGF0aW9uIHRvIGluZGV4IHJlbGF0 aW9ucyBhbmQgdmlzYSB2ZXJzYSwgd2UgbmVlZCB0byBzdG9yZQorICAqIGdhdGhlcmVkIHN0 YXRpc3RpY3MgaW5mb3JtYXRpb24gZm9yIGhlYXAgcmVsYXRpb25zIHNldmVyYWwgdGltZXMg YmVmb3JlCisgICogdGhlIHZhY3V1bSBzdGFydHMgcHJvY2Vzc2luZyB0aGUgaW5kZXhlcyBh Z2Fpbi4KKyAgKgorICAqIEl0IGlzIG5lY2Vzc2FyeSB0byBnYXRoZXIgY29ycmVjdCBzdGF0 aXN0aWNzIGluZm9ybWF0aW9uIGZvciBoZWFwIGFuZCBpbmRleGVzCisgICogb3RoZXJ3aWNl IHRoZSBpbmRleCBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIHdvdWxkIGJlIGFkZGVkIHRvIGhp cyBwYXJlbnQgaGVhcAorICAqIHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gYW5kIGl0IHdvdWxk IGJlIGRpZmZpY3VsdCB0byBhbmFseXplIGl0IGxhdGVyLgorICAqCisgICogV2UgY2FuJ3Qg c3VidHJhY3QgdW5pb24gdmFjdXVtIHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gZm9yIGluZGV4 IGZyb20gdGhlIGhlYXAgcmVsYXRpb25zCisgICogYmVjYXVzZSBvZiB0b3RhbCBhbmQgZGVs YXkgdGltZSB0aW1lIHN0YXRpc3RpY3MgY29sbGVjdGluZyBkdXJpbmcgcGFyYWxsZWwgdmFj dXVtCisgICogcHJvY3VkdXJlLgorKi8KK3N0YXRpYyB2b2lkCithY2N1bXVsYXRlX2hlYXBf dmFjdXVtX3N0YXRpc3RpY3MoTFZFeHRTdGF0Q291bnRlcnMgKmV4dFZhY0NvdW50ZXJzLCBM VlJlbFN0YXRlICp2YWNyZWwpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MpCisJCXJldHVybjsKKworCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBz dGF0cyBmaWVsZHMgKi8KKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50eXBlID0gUEdTVEFUX0VY VFZBQ19UQUJMRTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5wYWdlc19zY2FubmVk ICs9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJs ZS5wYWdlc19yZW1vdmVkICs9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsKKwl2YWNyZWwtPmV4 dFZhY1JlcG9ydC50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHZhY3JlbC0+dm1fbmV3 X2Zyb3plbl9wYWdlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS52bV9uZXdfdmlz aWJsZV9wYWdlcyArPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX3BhZ2VzOworCXZhY3JlbC0+ ZXh0VmFjUmVwb3J0LnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyArPSB2YWNy ZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9y dC50dXBsZXNfZGVsZXRlZCArPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCXZhY3JlbC0+ ZXh0VmFjUmVwb3J0LnRhYmxlLnR1cGxlc19mcm96ZW4gKz0gdmFjcmVsLT50dXBsZXNfZnJv emVuOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVz ICs9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJdmFjcmVsLT5leHRWYWNSZXBv cnQudGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gdmFjcmVsLT5yZWNlbnRseV9kZWFk X3R1cGxlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5taXNzZWRfZGVhZF90dXBs ZXMgKz0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJdmFjcmVsLT5leHRWYWNSZXBv cnQudGFibGUubWlzc2VkX2RlYWRfcGFnZXMgKz0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdl czsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5pbmRleF92YWN1dW1fY291bnQgKz0g dmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUu d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQ7Cit9CisKIAogLyoKICAqIEhlbHBlciB0byBzZXQgdXAgdGhlIGVhZ2VyIHNj YW5uaW5nIHN0YXRlIGZvciB2YWN1dW1pbmcgYSBzaW5nbGUgcmVsYXRpb24uCkBAIC03NDgs MTMgKzgyMCw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFt cyAqcGFyYW1zLAogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNhZ2UgPSBwZ0J1ZmZlclVz YWdlOwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNrOwogCUxWRXh0U3RhdENv dW50ZXJzIGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiAJ Y2hhcgkgICoqaW5kbmFtZXMgPSBOVUxMOwotCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOwotCi0J LyogSW5pdGlhbGl6ZSB2YWN1dW0gc3RhdGlzdGljcyAqLwotCW1lbXNldCgmYWxsemVybywg MCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwotCWV4dFZhY1JlcG9ydCA9IGFsbHplcm87CiAK IAl2ZXJib3NlID0gKHBhcmFtcy0+b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NFKSAhPSAwOwog CWluc3RydW1lbnQgPSAodmVyYm9zZSB8fCAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2Vzcygp ICYmCkBAIC03NzQsNyArODQwLDYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwg VmFjdXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFu ZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJlbGlk KHJlbCkpOwotCWV4dHZhY19zdGF0c19zdGFydChyZWwsICZleHRWYWNDb3VudGVycyk7CiAJ LyoKIAkgKiBTZXR1cCBlcnJvciB0cmFjZWJhY2sgc3VwcG9ydCBmb3IgZXJlcG9ydCgpIGZp cnN0LiAgVGhlIGlkZWEgaXMgdG8gc2V0CiAJICogdXAgYW4gZXJyb3IgY29udGV4dCBjYWxs YmFjayB0byBkaXNwbGF5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gYW55CkBAIC05NjEs NiArMTAyNiw4IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFt cyAqcGFyYW1zLAogCSAqLwogCWxhenlfc2Nhbl9oZWFwKHZhY3JlbCk7CiAKKwlleHR2YWNf c3RhdHNfc3RhcnQocmVsLCAmZXh0VmFjQ291bnRlcnMpOworCiAJLyoKIAkgKiBGcmVlIHJl c291cmNlcyBtYW5hZ2VkIGJ5IGRlYWRfaXRlbXNfYWxsb2MuICBUaGlzIGVuZHMgcGFyYWxs ZWwgbW9kZSBpbgogCSAqIHBhc3Npbmcgd2hlbiBuZWNlc3NhcnkuCkBAIC0xMDQ4LDI2ICsx MTE1LDYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpw YXJhbXMsCiAJCQkJCQl2YWNyZWwtPk5ld1JlbGZyb3plblhpZCwgdmFjcmVsLT5OZXdSZWxt aW5NeGlkLAogCQkJCQkJJmZyb3plbnhpZF91cGRhdGVkLCAmbWlubXVsdGlfdXBkYXRlZCwg ZmFsc2UpOwogCi0JLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBv cnQgKi8KLQlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFj UmVwb3J0KTsKLQotCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKLQl7Ci0J CS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KLQkJZXh0 VmFjUmVwb3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7Ci0JCWV4 dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOwotCQll eHRWYWNSZXBvcnQudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3pl bl9wYWdlczsKLQkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX3BhZ2VzID0gdmFjcmVs LT52bV9uZXdfdmlzaWJsZV9wYWdlczsKLQkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwot CQlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVk OwotCQlleHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3pl bjsKLQkJZXh0VmFjUmVwb3J0LnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNl bnRseV9kZWFkX3R1cGxlczsKLQkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3R1cGxlcyA9 IHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOwotCQlleHRWYWNSZXBvcnQubWlzc2VkX2Rl YWRfcGFnZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOwotCQlleHRWYWNSZXBvcnQu aW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JCWV4dFZh Y1JlcG9ydC53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5k X2ZhaWxzYWZlX2NvdW50OwotCX0KLQogCS8qCiAJICogUmVwb3J0IHJlc3VsdHMgdG8gdGhl IGN1bXVsYXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCiAJICoKQEAgLTEwNzcsMTQgKzExMjQs MzcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJh bXMsCiAJICogSXQgc2VlbXMgbGlrZSBhIGdvb2QgaWRlYSB0byBlcnIgb24gdGhlIHNpZGUg b2Ygbm90IHZhY3V1bWluZyBhZ2FpbiB0b28KIAkgKiBzb29uIGluIGNhc2VzIHdoZXJlIHRo ZSBmYWlsc2FmZSBwcmV2ZW50ZWQgc2lnbmlmaWNhbnQgYW1vdW50cyBvZiBoZWFwCiAJICog dmFjdXVtaW5nLgorCSAqCisJICogV2UgYXJlIHJlYWR5IHRvIHNlbmQgdmFjdXVtIHN0YXRp c3RpY3MgaW5mb3JtYXRpb24gZm9yIGhlYXAgcmVsYXRpb25zLgogCSAqLwotCXBnc3RhdF9y ZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwlpZihwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFj dXVtIHN0YXRzIHJlcG9ydCBhbmQKKwkJICogZmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVk IHN0YXRzIGZpZWxkcy4KKwkJICovCisJCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWws ICZleHRWYWNDb3VudGVycywgJih2YWNyZWwtPmV4dFZhY1JlcG9ydCkpOworCQlhY2N1bXVs YXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwpOwor CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKIAkJCQkJ CSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCiAJCQkJCQkgTWF4KHZhY3JlbC0+bmV3X2xp dmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsK LQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKyAJCQkJCQkgdmFjcmVsLT5t aXNzZWRfZGVhZF90dXBsZXMsCiAJCQkJCQkgc3RhcnR0aW1lLAotCQkJCQkJICZleHRWYWNS ZXBvcnQpOworCQkJCQkJICYodmFjcmVsLT5leHRWYWNSZXBvcnQpKTsKKworCX0KKwllbHNl CisJeworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCisJ CQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkgTWF4KHZhY3JlbC0+ bmV3X2xpdmVfdHVwbGVzLCAwKSwKKwkJCQkJCQkgdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1 cGxlcyArCisJCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzLAorCQkJCQkJCSBz dGFydHRpbWUsCisJCQkJCQkJIE5VTEwpOworCX0KKwogCXBnc3RhdF9wcm9ncmVzc19lbmRf Y29tbWFuZCgpOwogCiAJaWYgKGluc3RydW1lbnQpCkBAIC0xMzU2LDYgKzE0MjYsNyBAQCBs YXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpCiAJCVBST0dSRVNTX1ZBQ1VVTV9N QVhfREVBRF9UVVBMRV9CWVRFUwogCX07CiAJaW50NjQJCWluaXRwcm9nX3ZhbFszXTsKKwlM VkV4dFN0YXRDb3VudGVycyBleHRWYWNDb3VudGVyczsKIAogCS8qIFJlcG9ydCB0aGF0IHdl J3JlIHNjYW5uaW5nIHRoZSBoZWFwLCBhZHZlcnRpc2luZyB0b3RhbCAjIG9mIGJsb2NrcyAq LwogCWluaXRwcm9nX3ZhbFswXSA9IFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9TQ0FOX0hFQVA7 CkBAIC0xMzcwLDYgKzE0NDEsMTMgQEAgbGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0ZSAqdmFj cmVsKQogCXZhY3JlbC0+bmV4dF91bnNraXBwYWJsZV9lYWdlcl9zY2FubmVkID0gZmFsc2U7 CiAJdmFjcmVsLT5uZXh0X3Vuc2tpcHBhYmxlX3ZtYnVmZmVyID0gSW52YWxpZEJ1ZmZlcjsK IAorCS8qCisJICogRHVlIHRvIHRoZSBmYWN0IHRoYXQgdmFjdXVtIGhlYXAgcHJvY2Vzc2lu ZyBuZWVkcyB0aGVpciBpbmRleCB2YWN1dW1pbmcKKwkgKiB3ZSBuZWVkIHRvIHRyYWNrIHRo ZW0gc2VwYXJhdGVseSBhbmQgYWNjdW11bGF0ZSBoZWFwIHZhY3V1bSBzdGF0aXN0aWNzCisJ ICogc2VwYXJhdGVseS4gU28gbGFzdCBwcm9jZXNzZXMgYXJlIHJlbGF0ZWQgdG8gb25seSBo ZWFwIHZhY3V1bWluZyBwcm9jZXNzLgorCSAqLworCWV4dHZhY19zdGF0c19zdGFydCh2YWNy ZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzKTsKKwogCS8qIFNldCB1cCB0aGUgcmVhZCBzdHJl YW0gZm9yIHZhY3V1bSdzIGZpcnN0IHBhc3MgdGhyb3VnaCB0aGUgaGVhcCAqLwogCXN0cmVh bSA9IHJlYWRfc3RyZWFtX2JlZ2luX3JlbGF0aW9uKFJFQURfU1RSRUFNX01BSU5URU5BTkNF LAogCQkJCQkJCQkJCXZhY3JlbC0+YnN0cmF0ZWd5LApAQCAtMTQyOSw4ICsxNTA3LDI2IEBA IGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCkKIAogCQkJLyogUGVyZm9ybSBh IHJvdW5kIG9mIGluZGV4IGFuZCBoZWFwIHZhY3V1bWluZyAqLwogCQkJdmFjcmVsLT5jb25z aWRlcl9ieXBhc3Nfb3B0aW1pemF0aW9uID0gZmFsc2U7CisKKwkJCS8qCisJCQkgKiBMYXp5 IHZhY3V1bSBzdGFnZSBpbmNsdWRlcyBpbmRleCB2YWN1dW1pbmcgYW5kIGNsZWFuaW5nIHVw IHN0YWdlLCBzbworCQkJICogd2UgcHJlZmVyIHRyYWNraW5nIHRoZW0gc2VwYXJhdGVseS4K KwkJCSAqIEJlZm9yZSBzdGFydGluZyB0byBwcm9jZXNzIHRoZSBpbmRleGVzIHNhdmUgdGhl IGN1cnJlbnQgaGVhcCBzdGF0aXN0aWNzCisJCQkqLworCQkJZXh0dmFjX3N0YXRzX2VuZCh2 YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmKHZhY3JlbC0+ZXh0VmFjUmVwb3J0KSk7 CisJCQlhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJz LCB2YWNyZWwpOworCiAJCQlsYXp5X3ZhY3V1bSh2YWNyZWwpOwogCisJCQkvKgorCQkJICog QWZ0ZXIgY29tcGxldGlvbiBsYXp5IHZhY3V1bSwgd2Ugc3RhcnQgYWdhaW4gdHJhY2tpbmcg dmFjdXVtIHN0YXRpc3RpY3MgZm9yCisJCQkgKiBoZWFwLXJlbGF0ZWQgb2JqZWN0cyBsaWtl IEZTTSwgVk0sIHByb3ZpZGUgaGVhcCBwcnVubmluZy4KKwkJCSAqIEl0IHNlZW1zIGRhbmdl cm91c2x5IHRoYXQgd2UgaGF2ZSBzdGFydCB0cmFja2luZyBidXQgdGhlcmUgYXJlIG5vIGVu ZCwgYnV0CisJCQkgKiBpdCBpcyBzYWZlLiBUaGUgZW5kIHRyYWNraW5nIGlzIGxvY2F0ZWQg YmVmb3JlIGxhenkgdmFjdXVtIHN0YWdlIGluIHRoZSBzYW1lCisJCQkgKiBsb29wIG9yIGFm dGVyIGl0LgorIAkJCSovCisJCQlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZl eHRWYWNDb3VudGVycyk7CisKIAkJCS8qCiAJCQkgKiBWYWN1dW0gdGhlIEZyZWUgU3BhY2Ug TWFwIHRvIG1ha2UgbmV3bHktZnJlZWQgc3BhY2UgdmlzaWJsZSBvbgogCQkJICogdXBwZXIt bGV2ZWwgRlNNIHBhZ2VzLiBOb3RlIHRoYXQgYmxrbm8gaXMgdGhlIHByZXZpb3VzbHkKQEAg LTE2NTMsNiArMTc0OSwxMiBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwp CiAKIAlyZWFkX3N0cmVhbV9lbmQoc3RyZWFtKTsKIAorCS8qCisJICogVmFjdXVtIGNhbiBw cm9jZXNzIGxhenkgdmFjdXVtIGFnYWluIGFuZCB3ZSBzYXZlIGhlYXAgc3RhdGlzdGljcyBu b3cKKwkgKiBqdXN0IGluIGNhc2UgaW4gdGVuZCB0byBhdm9pZCBjb2xsZWN0aW5nIHZhY3V1 bSBpbmRleCBzdGF0aXN0aWNzIGFnYWluLgorCSAqLworCWV4dHZhY19zdGF0c19lbmQodmFj cmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJih2YWNyZWwtPmV4dFZhY1JlcG9ydCkpOwor CWFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcygmZXh0VmFjQ291bnRlcnMsIHZh Y3JlbCk7CiAJLyoKIAkgKiBEbyBpbmRleCB2YWN1dW1pbmcgKGNhbGwgZWFjaCBpbmRleCdz IGFtYnVsa2RlbGV0ZSByb3V0aW5lKSwgdGhlbiBkbwogCSAqIHJlbGF0ZWQgaGVhcCB2YWN1 dW1pbmcKQEAgLTE2NjAsNiArMTc2MiwxMiBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRl ICp2YWNyZWwpCiAJaWYgKHZhY3JlbC0+ZGVhZF9pdGVtc19pbmZvLT5udW1faXRlbXMgPiAw KQogCQlsYXp5X3ZhY3V1bSh2YWNyZWwpOwogCisJLyoKKwkgKiBXZSBuZWVkIHRvIHRha2Ug aW50byBhY2NvdW50IGhlYXAgdmFjdXVtIHN0YXRpc3RpY3MgZHVyaW5nIHByb2Nlc3Mgb2YK KwkgKiBGU00uCisgCSAqLworCWV4dHZhY19zdGF0c19zdGFydCh2YWNyZWwtPnJlbCwgJmV4 dFZhY0NvdW50ZXJzKTsKKwogCS8qCiAJICogVmFjdXVtIHRoZSByZW1haW5kZXIgb2YgdGhl IEZyZWUgU3BhY2UgTWFwLiAgV2UgbXVzdCBkbyB0aGlzIHdoZXRoZXIgb3IKIAkgKiBub3Qg dGhlcmUgd2VyZSBpbmRleGVzLCBhbmQgd2hldGhlciBvciBub3Qgd2UgYnlwYXNzZWQgaW5k ZXggdmFjdXVtaW5nLgpAQCAtMTY3Miw2ICsxNzgwLDEwIEBAIGxhenlfc2Nhbl9oZWFwKExW UmVsU3RhdGUgKnZhY3JlbCkKIAkvKiByZXBvcnQgYWxsIGJsb2NrcyB2YWN1dW1lZCAqLwog CXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0hFQVBfQkxL U19WQUNVVU1FRCwgcmVsX3BhZ2VzKTsKIAorCS8qIEJlZm9yZSBzdGFydGluZyBmaW5hbCBp bmRleCBjbGFuIHVwIHN0YWdlIHNhdmUgaGVhcCBzdGF0aXN0aWNzICovCisJZXh0dmFjX3N0 YXRzX2VuZCh2YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmKHZhY3JlbC0+ZXh0VmFj UmVwb3J0KSk7CisJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKCZleHRWYWND b3VudGVycywgdmFjcmVsKTsKKwogCS8qIERvIGZpbmFsIGluZGV4IGNsZWFudXAgKGNhbGwg ZWFjaCBpbmRleCdzIGFtdmFjdXVtY2xlYW51cCByb3V0aW5lKSAqLwogCWlmICh2YWNyZWwt Pm5pbmRleGVzID4gMCAmJiB2YWNyZWwtPmRvX2luZGV4X2NsZWFudXApCiAJCWxhenlfY2xl YW51cF9hbGxfaW5kZXhlcyh2YWNyZWwpOwpAQCAtMjU4OSw2ICsyNzAxLDcgQEAgc3RhdGlj IHZvaWQKIGxhenlfdmFjdXVtKExWUmVsU3RhdGUgKnZhY3JlbCkKIHsKIAlib29sCQlieXBh c3M7CisJTFZFeHRTdGF0Q291bnRlcnMgZXh0VmFjQ291bnRlcnM7CiAKIAkvKiBTaG91bGQg bm90IGVuZCB1cCBoZXJlIHdpdGggbm8gaW5kZXhlcyAqLwogCUFzc2VydCh2YWNyZWwtPm5p bmRleGVzID4gMCk7CkBAIC0yNjAxLDYgKzI3MTQsOSBAQCBsYXp5X3ZhY3V1bShMVlJlbFN0 YXRlICp2YWNyZWwpCiAJCXJldHVybjsKIAl9CiAKKwkvKiBTZXQgaW5pdGlhbCBzdGF0aXN0 aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwICov CisJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVsLCAmZXh0VmFjQ291bnRlcnMpOwor CiAJLyoKIAkgKiBDb25zaWRlciBieXBhc3NpbmcgaW5kZXggdmFjdXVtaW5nIChhbmQgaGVh cCB2YWN1dW1pbmcpIGVudGlyZWx5LgogCSAqCkBAIC0yNjU3LDYgKzI3NzMsMTQgQEAgbGF6 eV92YWN1dW0oTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkJCSAgVGlkU3RvcmVNZW1vcnlVc2Fn ZSh2YWNyZWwtPmRlYWRfaXRlbXMpIDwgMzIgKiAxMDI0ICogMTAyNCk7CiAJfQogCisJLyoK KwkgKiBWYWN1dW0gaXMgbGlrZWx5IHRvIHZhY3V1bSBpbmRleGVzIGFnYWluLCBzbyBzYXZl IHZhY3V1bSBzdGF0aXN0aWNzIGZvcgorCSAqIGhlYXAgcmVsYXRpb25zIG5vdy4KKwkgKiBU aGUgdmFjdXVtIHByb2Nlc3MgYmVsb3cgZG9lc24ndCBjb250YWluIGFueSB1c2VmdWwgc3Rh dGlzdGljcyBpbmZvcm1hdGlvbgorCSAqIGZvciBoZWFwIGlmIGluZGV4ZXMgd29uJ3QgYmUg cHJvY2Vzc2VkLCBidXQgd2Ugd2lsbCB0cmFjayB0aGVtIHNlcGFyYXRlbHkuCisJICovCisJ ZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmKHZhY3Jl bC0+ZXh0VmFjUmVwb3J0KSk7CisKIAlpZiAoYnlwYXNzKQogCXsKIAkJLyoKQEAgLTI2NzMs MTEgKzI3OTcsMjEgQEAgbGF6eV92YWN1dW0oTFZSZWxTdGF0ZSAqdmFjcmVsKQogCX0KIAll bHNlIGlmIChsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyh2YWNyZWwpKQogCXsKLQkJLyoKLQkJ ICogV2Ugc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBhIHJvdW5kIG9mIGluZGV4IHZhY3V1bWlu Zy4gIERvIHJlbGF0ZWQKLQkJICogaGVhcCB2YWN1dW1pbmcgbm93LgotCQkgKi8KLQkJbGF6 eV92YWN1dW1faGVhcF9yZWwodmFjcmVsKTsKKwkJLyogTm93IHRoZSB2YWN1dW0gaXMgZ29p bmcgdG8gcHJvY2VzcyBoZWFwIHJlbGF0aW9uLCBzbworCQkgKiB3ZSBuZWVkIHRvIHNldCBp bnRpYWwgc3RhdGlzdGljIHZhbHVlcyBmb3IgdHJhY2tpbmcuCisJCSovCisKKwkJLyogU2V0 IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNz IGZvciB0aGUgaGVhcCAqLworCQlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZl eHRWYWNDb3VudGVycyk7CisKKyAJCS8qCisgCQkgKiBXZSBzdWNjZXNzZnVsbHkgY29tcGxl dGVkIGEgcm91bmQgb2YgaW5kZXggdmFjdXVtaW5nLiAgRG8gcmVsYXRlZAorIAkJICogaGVh cCB2YWN1dW1pbmcgbm93LgorIAkJICovCisgCQlsYXp5X3ZhY3V1bV9oZWFwX3JlbCh2YWNy ZWwpOworCisJCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVy cywgJih2YWNyZWwtPmV4dFZhY1JlcG9ydCkpOworCQlhY2N1bXVsYXRlX2hlYXBfdmFjdXVt X3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwpOwogCX0KIAllbHNlCiAJewpA QCAtMzIxNCw2ICszMzQ4LDExIEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlvbiBp bmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1J bmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0 YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVw b3J0OworCisJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZh Y3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRf aWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXgg PSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwtPnJlbDsKQEAgLTMyMzIsNiAr MzM3MSw3IEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4 QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJQXNzZXJ0KHZhY3JlbC0+aW5kbmFt ZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVs YXRpb25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5kb2lkID0gUmVsYXRpb25HZXRSZWxp ZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9l cnJfaW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRFWCwKIAkJ CQkJCQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlkT2Zmc2V0TnVtYmVyKTsKQEAgLTMy NDAsNiArMzM4MCwxNSBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVs LCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCWlzdGF0ID0gdmFjX2J1bGtkZWxf b25lX2luZGV4KCZpdmluZm8sIGlzdGF0LCB2YWNyZWwtPmRlYWRfaXRlbXMsCiAJCQkJCQkJ CSAgdmFjcmVsLT5kZWFkX2l0ZW1zX2luZm8pOwogCisJaWYocGdzdGF0X3RyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVw b3J0IGZvciBpbmRleCAqLworCQlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0 LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCQlwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCisJCQkJCQkJCWluZHJlbC0+cmRfcmVs LT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkJMCwgMCwgMCwgJmV4dFZhY1JlcG9ydCk7CisJfQor CiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJy b3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZz YXZlZF9lcnJfaW5mbyk7CiAJcGZyZWUodmFjcmVsLT5pbmRuYW1lKTsKQEAgLTMyNjQsNiAr MzQxMywxMSBAQCBsYXp5X2NsZWFudXBfb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5k ZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIHsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZv OwogCUxWU2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZvOworCUxWRXh0U3RhdENvdW50ZXJz SWR4IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisKKwkv KiBTZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRp c3RpY3MgZm9yIHRoZSBpbmRleCAqLworCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVs LCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsKIAogCWl2aW5mby5pbmRleCA9IGluZHJlbDsK IAlpdmluZm8uaGVhcHJlbCA9IHZhY3JlbC0+cmVsOwpAQCAtMzI4MywxMiArMzQzNywyMiBA QCBsYXp5X2NsZWFudXBfb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICppc3RhdCwKIAkgKi8KIAlBc3NlcnQodmFjcmVsLT5pbmRuYW1lID09IE5V TEwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5h bWUoaW5kcmVsKSk7CisJdmFjcmVsLT5pbmRvaWQgPSBSZWxhdGlvbkdldFJlbGlkKGluZHJl bCk7CiAJdXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZv LAogCQkJCQkJCSBWQUNVVU1fRVJSQ0JfUEhBU0VfSU5ERVhfQ0xFQU5VUCwKIAkJCQkJCQkg SW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlkT2Zmc2V0TnVtYmVyKTsKIAogCWlzdGF0ID0g dmFjX2NsZWFudXBfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0KTsKIAorCWlmKHBnc3RhdF90 cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVt IHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5k cmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJcGdzdGF0 X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlpbmRy ZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJCTAsIDAsIDAsICZleHRWYWNSZXBv cnQpOworCX0KKwogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRp b24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8o dmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggNjAzYmY5N2UwNDIuLmM2 OWM2MGRlNDliIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3 cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0x NDQxLDMgKzE0NDEsMzUgQEAgRlJPTSBwZ19jbGFzcyByZWwKICAgSk9JTiBwZ19uYW1lc3Bh Y2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKICAgTEFURVJBTCBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzCiBXSEVSRSByZWwucmVsa2luZCA9 ICdyJzsKKworQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1faW5kZXhlcyBBUworU0VMRUNU CisgIHJlbC5vaWQgYXMgcmVsaWQsCisgIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAg cmVsLnJlbG5hbWUgQVMgcmVsbmFtZSwKKworICB0b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxf Ymxrc19yZWFkLAorICB0b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwKKyAgdG90 YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgdG90YWxfYmxrc193 cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICByZWxfYmxrc19yZWFkIEFTIHJl bF9ibGtzX3JlYWQsCisgIHJlbF9ibGtzX2hpdCBBUyByZWxfYmxrc19oaXQsCisKKyAgcGFn ZXNfZGVsZXRlZCBBUyBwYWdlc19kZWxldGVkLAorICB0dXBsZXNfZGVsZXRlZCBBUyB0dXBs ZXNfZGVsZXRlZCwKKworICB3YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgd2FsX2Zw aSBBUyB3YWxfZnBpLAorICB3YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgIGJsa19yZWFk X3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRl X3RpbWUsCisKKyAgZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICB0b3RhbF90aW1lIEFT IHRvdGFsX3RpbWUKK0ZST00KKyAgcGdfY2xhc3MgcmVsCisgIEpPSU4gcGdfbmFtZXNwYWNl IG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCisgIExBVEVSQUwgcGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKK1dIRVJFIHJlbC5yZWxraW5kID0g J2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW1wYXJhbGxlbC5jCmluZGV4IDc5MjRjNTI2Y2IwLi4wMDAzODhhNTY1ZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9zcmMv YmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC04NjgsNiArODY4LDggQEAg cGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUg KnB2cywgUmVsYXRpb24gaW5kcmVsLAogCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQg PSBOVUxMOwogCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXRfcmVzOwogCUluZGV4VmFj dXVtSW5mbyBpdmluZm87CisJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7 CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKIAogCS8qCiAJICogVXBkYXRlIHRoZSBw b2ludGVyIHRvIHRoZSBjb3JyZXNwb25kaW5nIGJ1bGstZGVsZXRpb24gcmVzdWx0IGlmIHNv bWVvbmUKQEAgLTg3Niw2ICs4NzgsOSBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVf aW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJaWYg KGluZHN0YXRzLT5pc3RhdF91cGRhdGVkKQogCQlpc3RhdCA9ICYoaW5kc3RhdHMtPmlzdGF0 KTsKIAorCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhlciB2YWN1 dW0gc3RhdGlzdGljcyBmb3IgdGhlIGluZGV4ICovCisJZXh0dmFjX3N0YXRzX3N0YXJ0X2lk eChpbmRyZWwsICYoaW5kc3RhdHMtPmlzdGF0KSwgJmV4dFZhY0NvdW50ZXJzKTsKKwogCWl2 aW5mby5pbmRleCA9IGluZHJlbDsKIAlpdmluZm8uaGVhcHJlbCA9IHB2cy0+aGVhcHJlbDsK IAlpdmluZm8uYW5hbHl6ZV9vbmx5ID0gZmFsc2U7CkBAIC05MDQsNiArOTA5LDE1IEBAIHBh cmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpw dnMsIFJlbGF0aW9uIGluZHJlbCwKIAkJCQkgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5k cmVsKSk7CiAJfQogCisJaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCXsK KwkJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLwor CQlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0X3JlcywgJmV4dFZhY0NvdW50 ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25H ZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs CisJCQkJCQkJCTAsIDAsIDAsICZleHRWYWNSZXBvcnQpOworCX0KKwogCS8qCiAJICogQ29w eSB0aGUgaW5kZXggYnVsay1kZWxldGlvbiByZXN1bHQgcmV0dXJuZWQgZnJvbSBhbWJ1bGtk ZWxldGUgYW5kCiAJICogYW12YWN1dW1jbGVhbnVwIHRvIHRoZSBEU00gc2VnbWVudCBpZiBp dCdzIHRoZSBmaXJzdCBjeWNsZSBiZWNhdXNlIHRoZXkKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0LmMKaW5kZXggNTIxYTgwMmZlMmQuLmUwNTUyZjg0MGEwIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTE3OSw2ICsxMTc5LDEwIEBAIHBnc3Rh dF9idWlsZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCkKIAkJaWYgKHAtPmRyb3Bw ZWQpCiAJCQljb250aW51ZTsKIAorCQlpZiAoc3RhdEtpbmQgIT0gUEdTVEFUX0tJTkRfSU5W QUxJRCAmJiBzdGF0S2luZCAhPSBwLT5rZXkua2luZCkKKwkJCS8qIExvYWQgc3RhdCBvZiBz cGVjaWZpYyB0eXBlLCBpZiBkZWZpbmVkICovCisJCQljb250aW51ZTsKKwogCQlBc3NlcnQo cGdfYXRvbWljX3JlYWRfdTMyKCZwLT5yZWZjb3VudCkgPiAwKTsKIAogCQlzdGF0c19kYXRh ID0gZHNhX2dldF9hZGRyZXNzKHBnU3RhdExvY2FsLmRzYSwgcC0+Ym9keSk7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDAyNzJk ZDFmMzkzLi5jZDRmZmI1MGJjYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTEwMDcsNiArMTAwNyw5IEBAIHN0YXRpYyB2b2lk CiBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4 dFZhY1JlcG9ydCAqc3JjLAogCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0eXBlX3Nw ZWNpZmljX2luZm8pCiB7CisJaWYoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykK KwkJcmV0dXJuOworCiAJZHN0LT50b3RhbF9ibGtzX3JlYWQgKz0gc3JjLT50b3RhbF9ibGtz X3JlYWQ7CiAJZHN0LT50b3RhbF9ibGtzX2hpdCArPSBzcmMtPnRvdGFsX2Jsa3NfaGl0Owog CWRzdC0+dG90YWxfYmxrc19kaXJ0aWVkICs9IHNyYy0+dG90YWxfYmxrc19kaXJ0aWVkOwpA QCAtMTAyMiwyMCArMTAyNSwzNSBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMo RXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCWlmICghYWNjdW11bGF0 ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCiAJCXJldHVybjsKIAotCWRzdC0+Ymxrc19mZXRj aGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOwotCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtz X2hpdDsKLQotCWRzdC0+cGFnZXNfc2Nhbm5lZCArPSBzcmMtPnBhZ2VzX3NjYW5uZWQ7Ci0J ZHN0LT5wYWdlc19yZW1vdmVkICs9IHNyYy0+cGFnZXNfcmVtb3ZlZDsKLQlkc3QtPnZtX25l d19mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdfZnJvemVuX3BhZ2VzOwotCWRzdC0+dm1f bmV3X3Zpc2libGVfcGFnZXMgKz0gc3JjLT52bV9uZXdfdmlzaWJsZV9wYWdlczsKLQlkc3Qt PnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyArPSBzcmMtPnZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlczsKLQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0 ZWQ7Ci0JZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKLQlkc3Qt PnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+cmVjZW50bHlfZGVhZF90dXBsZXM7Ci0J ZHN0LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7Ci0J ZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+d3JhcGFyb3VuZF9mYWls c2FmZV9jb3VudDsKLQlkc3QtPm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+bWlzc2VkX2Rl YWRfcGFnZXM7Ci0JZHN0LT5taXNzZWRfZGVhZF90dXBsZXMgKz0gc3JjLT5taXNzZWRfZGVh ZF90dXBsZXM7CisJaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQpCisJ CWRzdC0+dHlwZSA9IHNyYy0+dHlwZTsKKworCUFzc2VydChzcmMtPnR5cGUgPT0gUEdTVEFU X0VYVFZBQ19JTlZBTElEIHx8IHNyYy0+dHlwZSA9PSBkc3QtPnR5cGUpOworCisJaWYgKGRz dC0+dHlwZSA9PSBzcmMtPnR5cGUpCisJeworCQlkc3QtPmJsa3NfZmV0Y2hlZCArPSBzcmMt PmJsa3NfZmV0Y2hlZDsKKwkJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OwogCisJ CWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19UQUJMRSkKKwkJeworCQkJZHN0LT50 YWJsZS5wYWdlc19zY2FubmVkICs9IHNyYy0+dGFibGUucGFnZXNfc2Nhbm5lZDsKKwkJCWRz dC0+dGFibGUucGFnZXNfcmVtb3ZlZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3JlbW92ZWQ7CisJ CQlkc3QtPnRhYmxlLnZtX25ld19mcm96ZW5fcGFnZXMgKz0gc3JjLT50YWJsZS52bV9uZXdf ZnJvemVuX3BhZ2VzOworCQkJZHN0LT50YWJsZS52bV9uZXdfdmlzaWJsZV9wYWdlcyArPSBz cmMtPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzOworCQkJZHN0LT50YWJsZS52bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXMgKz0gc3JjLT50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXM7CisJCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0 ZWQ7CisJCQlkc3QtPnRhYmxlLnR1cGxlc19mcm96ZW4gKz0gc3JjLT50YWJsZS50dXBsZXNf ZnJvemVuOworCQkJZHN0LT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyArPSBzcmMtPnRh YmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzOworCQkJZHN0LT50YWJsZS5pbmRleF92YWN1dW1f Y291bnQgKz0gc3JjLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7CisJCQlkc3QtPnRhYmxl Lm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXM7CisJ CQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9k ZWFkX3R1cGxlczsKKwkJCWRzdC0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCAr PSBzcmMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CisJCX0KKwkJZWxzZSBp ZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCisJCXsKKwkJCWRzdC0+aW5k ZXgucGFnZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnBhZ2VzX2RlbGV0ZWQ7CisJCQlkc3Qt PnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJCX0KKwl9CiB9Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVu Y3MuYwppbmRleCA0MTZmM2M1MWIwYy4uMTVmYTNkZTA4NzEgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzcyLDE4ICsyMzcyLDE5IEBAIHBnX3N0YXRfZ2V0 X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKIAkJCQkJCQkJCWV4dHZhY3V1bS0+ Ymxrc19oaXQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJs a3NfaGl0KTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBh Z2VzX3NjYW5uZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnBhZ2VzX3JlbW92ZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnZtX25ld19mcm96ZW5fcGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPnZtX25ld192aXNpYmxlX3BhZ2VzKTsKLQl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMpOwot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPm1pc3NlZF9kZWFkX3Bh Z2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5w YWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50YWJsZS5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfdmlzaWJsZV9wYWdlcyk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyk7CiAJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2RlbGV0ZWQpOwotCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19mcm96ZW4pOwotCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnJlY2VudGx5X2RlYWRfdHVwbGVzKTsK LQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNzZWRfZGVhZF90 dXBsZXMpOwotCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+dGFibGUudHVwbGVzX2Zyb3plbik7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLm1pc3Nl ZF9kZWFkX3R1cGxlcyk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFj dXVtLT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQpOwog CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMp OwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9mcGkpOwpA QCAtMjQwMiw2ICsyNDAzLDExNiBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZV TkNUSU9OX0FSR1MpCiAKIAlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVT X1NUQVRTX0NPTFMpOwogCisJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJ UEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBk ZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQorCisvKgorICogR2V0IHRoZSB2YWN1dW0gc3Rh dGlzdGljcyBmb3IgdGhlIGhlYXAgdGFibGVzLgorICovCitEYXR1bQorcGdfc3RhdF9nZXRf dmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5lIFBHX1NUQVRf R0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTCTE2CisKKwlPaWQJCQkJCQlyZWxpZCA9IFBH X0dFVEFSR19PSUQoMCk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAgICAgKnRhYmVudHJ5Owor CUV4dFZhY1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkgdHVwZGVzYzsK KwlEYXR1bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09M U10gPSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9T VEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50CQkJCQkJIGkg PSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1 dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJdHVwZGVzYyA9 IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFU U19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAicmVsaWQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF8gYmxrc19yZWFkIiwK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9i bGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19yZWFkIiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEs IDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi cGFnZXNfZGVsZXRlZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxlc19kZWxldGVkIiwK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAorCQkJCQkgICBJTlQ4T0lELCAt MSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJ3YWxfZnBpIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKKwkJCQkJICAg TlVNRVJJQ09JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAt MSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJibGtfd3JpdGVfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90aW1l IiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4 T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhf U1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCXRhYmVudHJ5 ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOworCisJaWYgKHRhYmVudHJ5 ID09IE5VTEwpCisJeworCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBmb3VuZCwg aW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KKwkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2Yo RXh0VmFjUmVwb3J0KSk7CisJCWV4dHZhY3V1bSA9ICZhbGx6ZXJvOworCX0KKwllbHNlCisJ eworCQlleHR2YWN1dW0gPSAmKHRhYmVudHJ5LT52YWN1dW1fZXh0KTsKKwl9CisKKwlpID0g MDsKKworCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7CisKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3JlYWQpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0 KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtz X2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRv dGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5ibGtzX2ZldGNoZWQgLQorCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtzX2hpdCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19oaXQpOwor CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aW5kZXgucGFnZXNf ZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVw bGVzX2RlbGV0ZWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+d2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPndhbF9mcGkpOworCisJLyogQ29udmVydCB0byBudW1lcmljLCBsaWtlIHBnX3N0YXRf c3RhdGVtZW50cyAqLworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1B VCwgZXh0dmFjdXVtLT53YWxfYnl0ZXMpOworCXZhbHVlc1tpKytdID0gRGlyZWN0RnVuY3Rp b25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0oYnVmKSwK KwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKKwkJCQkJCQkJCSAgSW50MzJHZXRE YXR1bSgtMSkpOworCisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0t PmJsa19yZWFkX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFj dXVtLT5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShl eHR2YWN1dW0tPmRlbGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZXh0dmFjdXVtLT50b3RhbF90aW1lKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZB Q1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKwogCS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBE YXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1f dHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJs ZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCmluZGV4IDQwNzY3 ZTQ0NjAxLi4xOTE4OTRhYWNhYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVz LmMKQEAgLTE0OTgsNyArMTQ5OCw3IEBAIHN0cnVjdCBjb25maWdfYm9vbCBDb25maWd1cmVO YW1lc0Jvb2xbXSA9CiAJfSwKIAl7CiAJCXsidHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MiLCBQ R0NfU1VTRVQsIFNUQVRTX0NVTVVMQVRJVkUsCi0JCQlnZXR0ZXh0X25vb3AoIkNvbGxlY3Rz IHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0YWJsZSByZWxhdGlvbnMuIiksCisJCQlnZXR0ZXh0 X25vb3AoIkNvbGxlY3RzIHZhY3V1bSBzdGF0aXN0aWNzIGZvciByZWxhdGlvbnMuIiksCiAJ CQlOVUxMCiAJCX0sCiAJCSZwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MsCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA2YmFjM2NiYzNlYi4uMzY5ODA2YmVmYjYgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI0OTcsNCArMTI0OTcsMTMgQEAKICAg cHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnLCBwcm92b2xh dGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50 OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jl dl9hbGxfZnJvemVuX3BhZ2VzJyB9LAoreyBvaWQgPT4gJzgwMDQnLAorICBkZXNjciA9PiAn cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJuIHN0YXRzIHZhbHVlcycsCisgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAw LCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJp Y3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lk JywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZs b2F0OCxmbG9hdDh9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90 YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9i bGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfZGVsZXRlZCx0 dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90 aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZX0nLAorICBwcm9zcmMg PT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJyB9CiBdCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1 bS5oCmluZGV4IDZkMWIyOTkxY2U1Li5mYjEzNGYzNDAyZSAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFj dXVtLmgKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJzdG9yYWdlL2J1Zi5oIgogI2lu Y2x1ZGUgInN0b3JhZ2UvbG9jay5oIgogI2luY2x1ZGUgInV0aWxzL3JlbGNhY2hlLmgiCisj aW5jbHVkZSAicGdzdGF0LmgiCiAKIC8qCiAgKiBGbGFncyBmb3IgYW1wYXJhbGxlbHZhY3V1 bW9wdGlvbnMgdG8gY29udHJvbCB0aGUgcGFydGljaXBhdGlvbiBvZiBidWxrZGVsZXRlCkBA IC0yOTUsNiArMjk2LDI2IEBAIHR5cGVkZWYgc3RydWN0IFZhY0RlYWRJdGVtc0luZm8KIAlp bnQ2NAkJbnVtX2l0ZW1zOwkJLyogY3VycmVudCAjIG9mIGVudHJpZXMgKi8KIH0gVmFjRGVh ZEl0ZW1zSW5mbzsKIAorLyoKKyAqIENvdW50ZXJzIGFuZCB1c2FnZSBkYXRhIGZvciBleHRl bmRlZCBzdGF0cyB0cmFja2luZy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291 bnRlcnMKK3sKKwlUaW1lc3RhbXBUeiBzdGFydHRpbWU7CisJV2FsVXNhZ2UJd2FsdXNhZ2U7 CisJQnVmZmVyVXNhZ2UgYnVmdXNhZ2U7CisJZG91YmxlCQlWYWN1dW1EZWxheVRpbWU7CisJ UGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tz X2hpdDsKK30gTFZFeHRTdGF0Q291bnRlcnM7CisKK3R5cGVkZWYgc3RydWN0IExWRXh0U3Rh dENvdW50ZXJzSWR4Cit7CisJTFZFeHRTdGF0Q291bnRlcnMgY29tbW9uOworCWludDY0CQlw YWdlc19kZWxldGVkOworCWludDY0CQl0dXBsZXNfcmVtb3ZlZDsKK30gTFZFeHRTdGF0Q291 bnRlcnNJZHg7CisKIC8qIEdVQyBwYXJhbWV0ZXJzICovCiBleHRlcm4gUEdETExJTVBPUlQg aW50IGRlZmF1bHRfc3RhdGlzdGljc190YXJnZXQ7CS8qIFBHRExMSU1QT1JUIGZvciBQb3N0 R0lTICovCiBleHRlcm4gUEdETExJTVBPUlQgaW50IHZhY3V1bV9mcmVlemVfbWluX2FnZTsK QEAgLTQwOCw0ICs0MjksOCBAQCBleHRlcm4gZG91YmxlIGFubF9yYW5kb21fZnJhY3Qodm9p ZCk7CiBleHRlcm4gZG91YmxlIGFubF9pbml0X3NlbGVjdGlvbl9zdGF0ZShpbnQgbik7CiBl eHRlcm4gZG91YmxlIGFubF9nZXRfbmV4dF9TKGRvdWJsZSB0LCBpbnQgbiwgZG91YmxlICpz dGF0ZXB0cik7CiAKK2V4dGVybiB2b2lkIGV4dHZhY19zdGF0c19zdGFydF9pZHgoUmVsYXRp b24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzLAorCQkJCQkgICBMVkV4dFN0 YXRDb3VudGVyc0lkeCAqY291bnRlcnMpOworZXh0ZXJuIHZvaWQgZXh0dmFjX3N0YXRzX2Vu ZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzLAorCQkJ CQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzLCBFeHRWYWNSZXBvcnQgKnJlcG9y dCk7CiAjZW5kaWYJCQkJCQkJLyogVkFDVVVNX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggMzUyMjIyM2Q5Y2Eu LjMwZTdlNTUzN2Y1IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9z cmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTExLDExICsxMTEsMTkgQEAgdHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X0JhY2tlbmRTdWJFbnRyeQogCVBnU3RhdF9Db3VudGVyIGNvbmZsaWN0X2Nv dW50W0NPTkZMSUNUX05VTV9UWVBFU107CiB9IFBnU3RhdF9CYWNrZW5kU3ViRW50cnk7CiAK Ky8qIFR5cGUgb2YgRXh0VmFjUmVwb3J0ICovCit0eXBlZGVmIGVudW0gRXh0VmFjUmVwb3J0 VHlwZQoreworCVBHU1RBVF9FWFRWQUNfSU5WQUxJRCA9IDAsCisJUEdTVEFUX0VYVFZBQ19U QUJMRSA9IDEsCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIKK30gRXh0VmFjUmVwb3J0VHlw ZTsKKwogLyogLS0tLS0tLS0tLQogICoKICAqIEV4dFZhY1JlcG9ydAogICoKLSAqIEFkZGl0 aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxh dGlvbi4KKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBv dmVyIGEgcmVsYXRpb24uCiAgKiBwYWdlc19yZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hp Y2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAogICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGlu IGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCiAgKiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZy ZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCkBAIC0xNDQsMTggKzE1Miw0NCBAQCB0 eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAlkb3VibGUJCWRlbGF5X3RpbWU7CQkvKiBo b3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2VjICov CiAJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVy YXRpb24sIGluIG1zZWMgKi8KIAotCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVhcCBw YWdlcyBleGFtaW5lZCAobm90IHNraXBwZWQgYnkgVk0pICovCi0JaW50NjQJCXBhZ2VzX3Jl bW92ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAq LwotCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2VzOwkJLyogcGFnZXMgbWFya2VkIGluIFZN IGFzIGZyb3plbiAqLwotCWludDY0CQl2bV9uZXdfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMg bWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCi0JaW50NjQJCXZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlIGFu ZCBmcm96ZW4gKi8KLQlpbnQ2NAkJbWlzc2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVzIG5v dCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAgbG9j ayAqLwotCWludDY0CQltaXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2Vk IGRlYWQgdHVwbGVzICovCiAJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRl bGV0ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBsZXMg ZnJvemVuIHVwIGJ5IHZhY3V1bSAqLwotCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJ LyogZGVsZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRyYW5z YWN0aW9uICovCi0JaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogdGhlIG51bWJlciBv ZiBpbmRleCB2YWN1dW1pbmdzICovCi0JaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291 bnQ7CS8qIG51bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGktd3Jh cGFyb3VuZCBzaHV0ZG93biAqLworCisJRXh0VmFjUmVwb3J0VHlwZSB0eXBlOwkJLyogaGVh cCwgaW5kZXgsIGV0Yy4gKi8KKworCS8qIC0tLS0tLS0tLS0KKwkgKgorCSAqIFRoZXJlIGFy ZSBzZXBhcmF0ZSBtZXRyaWNzIG9mIHN0YXRpc3RpYyBmb3IgdGFibGVzIGFuZCBpbmRleGVz LAorCSAqIHdoaWNoIGNvbGxlY3QgZHVyaW5nIHZhY3V1bS4KKwkgKiBUaGUgdW5pb24gb3Bl cmF0b3IgYWxsb3dzIHRvIGNvbWJpbmUgdGhlc2Ugc3RhdGlzdGljcworCSAqIHNvIHRoYXQg ZWFjaCBtZXRyaWMgaXMgYXNzaWduZWQgdG8gYSBzcGVjaWZpYyBjbGFzcyBvZiBjb2xsZWN0 ZWQgc3RhdGlzdGljcy4KKwkgKiBTdWNoIGEgY29tYmluZWQgc3RydWN0dXJlIHdhcyBjYWxs ZWQgcGVyX3R5cGVfc3RhdHMuCisJICogVGhlIG5hbWUgb2YgdGhlIHN0cnVjdHVyZSBpdHNl bGYgaXMgbm90IHVzZWQgYW55d2hlcmUsCisJICogaXQgZXhpc3RzIG9ubHkgZm9yIHVuZGVy c3RhbmRpbmcgdGhlIGNvZGUuCisJICogLS0tLS0tLS0tLQorCSovCisJdW5pb24KKwl7CisJ CXN0cnVjdAorCQl7CisJCQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIGhlYXAgcGFnZXMg ZXhhbWluZWQgKG5vdCBza2lwcGVkIGJ5IFZNKSAqLworCQkJaW50NjQJCXBhZ2VzX3JlbW92 ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAqLwor CQkJaW50NjQJCXBhZ2VzX2Zyb3plbjsJCS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96 ZW4gKi8KKwkJCWludDY0CQlwYWdlc19hbGxfdmlzaWJsZTsJLyogcGFnZXMgbWFya2VkIGlu IFZNIGFzIGFsbC12aXNpYmxlICovCisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1 cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90 dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8gc29t ZSB0cmFuc2FjdGlvbiAqLworCQkJaW50NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBw YWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICovCisJCQlpbnQ2NAkJdm1fbmV3X3Zpc2li bGVfcGFnZXM7CS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJ aW50NjQJCXZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2VkIGlu IFZNIGFzIGFsbC12aXNpYmxlIGFuZCBmcm96ZW4gKi8KKwkJCWludDY0CQltaXNzZWRfZGVh ZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1 cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2NrICovCisJCQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFn ZXM7CQkvKiBwYWdlcyB3aXRoIG1pc3NlZCBkZWFkIHR1cGxlcyAqLworCQkJaW50NjQJCWlu ZGV4X3ZhY3V1bV9jb3VudDsJLyogbnVtYmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KKwkJ CWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwkvKiBudW1iZXIgb2YgZW1lcmdl bmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdyYXBhcm91bmQgc2h1dGRvd24gKi8KKwkJ fQkJCXRhYmxlOworCQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX2RlbGV0ZWQ7CQkv KiBudW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwkJfQkJCWluZGV4Owor CX0gLyogcGVyX3R5cGVfc3RhdHMgKi87CiB9IEV4dFZhY1JlcG9ydDsKIAogLyogLS0tLS0t LS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1l eHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0IGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4 cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CmluZGV4IDg3 ZjdlNDBiNGE2Li42ZDk2MDQyMzkxMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9u L2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CisrKyBi L3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0 YWJsZS1yZWFkLm91dApAQCAtMzQsNyArMzQsNyBAQCBzdGVwIHMyX3ByaW50X3ZhY3V1bV9z dGF0c190YWJsZToKIAogcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0 ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFk X3BhZ2VzfHR1cGxlc19mcm96ZW4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi10ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlv bnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDEwMHwgICAgICAgICAgICAgICAg IDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgMAordGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgICA2MDB8ICAgICAgICAg ICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgIDAKICgxIHJvdykKIAog c3RlcCBzMV9jb21taXQ6IENPTU1JVDsKQEAgLTQ4LDYgKzQ4LDYgQEAgc3RlcCBzMl9wcmlu dF92YWN1dW1fc3RhdHNfdGFibGU6CiAKIHJlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1 cGxlc19kZWxldGVkfHJlY2VudGx5X2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3R1cGxlc3xt aXNzZWRfZGVhZF9wYWdlc3x0dXBsZXNfZnJvemVuCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb258ICAgICAgICAgICAxMDB8ICAgICAgICAgICAgICAgICAxMDB8ICAgICAg ICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAxMDEKK3Rlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMzAwfCAgICAgICAgICAgICAgICAgNjAw fCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgMzAzCiAo MSByb3cpCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggZjRiYmE5 Y2MzMGMuLjY0MGY3OTliN2MxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dApAQCAtMjI2Miw2ICsyMjYyLDI4IEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCBy ZWxpZCwKICAgICByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxf dGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9n Jzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1l ICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxF Q1QgcmVsLm9pZCBBUyByZWxpZCwKKyAgICBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisg ICAgcmVsLnJlbG5hbWUsCisgICAgc3RhdHMudG90YWxfYmxrc19yZWFkLAorICAgIHN0YXRz LnRvdGFsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBz dGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMucmVsX2Jsa3NfcmVhZCwKKyAg ICBzdGF0cy5yZWxfYmxrc19oaXQsCisgICAgc3RhdHMucGFnZXNfZGVsZXRlZCwKKyAgICBz dGF0cy50dXBsZXNfZGVsZXRlZCwKKyAgICBzdGF0cy53YWxfcmVjb3JkcywKKyAgICBzdGF0 cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRlcywKKyAgICBzdGF0cy5ibGtfcmVhZF90 aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAorICAgIHN0YXRzLmRlbGF5X3RpbWUs CisgICAgc3RhdHMudG90YWxfdGltZQorICAgRlJPTSAocGdfY2xhc3MgcmVsCisgICAgIEpP SU4gcGdfbmFtZXNwYWNlIG5zIE9OICgobnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSkpKSwK KyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRz KHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2Rp cnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVsX2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0 LCBwYWdlc19kZWxldGVkLCB0dXBsZXNfZGVsZXRlZCwgd2FsX3JlY29yZHMsIHdhbF9mcGks IHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUs IHRvdGFsX3RpbWUpCisgIFdIRVJFIChyZWwucmVsa2luZCA9ICdpJzo6ImNoYXIiKTsKIHBn X3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwK ICAgICByZWwucmVsbmFtZSwKICAgICBzdGF0cy5yZWxpZCwKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmUwMGEwZmM2ODNjCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5vdXQKQEAgLTAsMCArMSwxODMgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRp dmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3Rp Y3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZy b3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZy b3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0 aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBi ZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NI T1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorIHRyYWNrX2NvdW50cyAKKy0tLS0t LS0tLS0tLS0tCisgb24KKygxIHJvdykKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorLS0g bm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VU IHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKy0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlz dGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KK1NFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50 KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJ TlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2Ft cGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK0RFTEVURSBGUk9NIHZlc3RhdCBX SEVSRSB4ICUgMiA9IDA7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1J VCAxMjgpIHZlc3RhdDsKKy0tIE11c3QgYmUgZW1wdHkuCitTRUxFQ1QgKgorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7Cisg cmVsaWQgfCBzY2hlbWFuYW1lIHwgcmVsbmFtZSB8IHRvdGFsX2Jsa3NfcmVhZCB8IHRvdGFs X2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwg cmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNf ZGVsZXRlZCB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IGJsa19yZWFk X3RpbWUgfCBibGtfd3JpdGVfdGltZSB8IGRlbGF5X3RpbWUgfCB0b3RhbF90aW1lIAorLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKygwIHJv d3MpCisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0 YXQgQ0FTQ0FERTsKK1NIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJl IG9uCisgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgb24KKygxIHJvdykKKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNo ZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNl X25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQor Citcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0g MDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRj aF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQg cHJpbWFyeSBrZXkpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3Rv ciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworU0VMRUNUIG9p ZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg XGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUg dGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0 eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2Rl bGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cisg ICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRl ZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgICAgICAgMzAgfCAgICAgICAgICAgICAwIHwgICAg ICAgICAgICAgIDAKKygxIHJvdykKKworU0VMRUNUIHJlbHBhZ2VzIEFTIGlycAorRlJPTSBw Z19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9O KSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0 aWNzCitDSEVDS1BPSU5UOworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1 dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBh Z2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBz YW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VM RUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVs ZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVz X2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVs ZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwg dAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNf ZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5j ZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVz IEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBMb29rIGludG8gV0FMIHJl Y29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0 ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JzsKKyBkaXdyIHwgZGl3YiAKKy0tLS0tLSstLS0tLS0KKyB0 ICAgIHwgdAorKDEgcm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0 YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitD SEVDS1BPSU5UOworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VMRUNU IHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRl ZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPiAwIEFT IHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVw bGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAg ICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJw LHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBk aXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6 ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRpV0I7CisgZGl3ciB8IGRpd2IgCist LS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJvdykKKworLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRl cyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorSU5TRVJUIElOVE8gdmVzdGF0 IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4Owor REVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRv ZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50 cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZl c3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MK K0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdi Miwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhl cyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gV0FMIGFuZCBvdGhl ciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6 ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsK KyBkaXdyIHwgaWZwaSB8IGRpd2IgCistLS0tLS0rLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0 ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwIDwg MCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQs dHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxw YWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9w a2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qg dnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVz X2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlm cGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFO VVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0 YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJp YWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNU IHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjMsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IzLCB3 YWxfZnBpLTppZnBpIEFTIGRpZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLVRoZXJlIGFyZSBub3RoaW5n IGNoYW5nZWQKK1NFTEVDVCA6ZGl3cjM9MCBBUyBkaVdSLCA6ZGlmcGkzPTAgQVMgaUZQSSwg OmRpd2IzPTAgQVMgZGlXQjsKKyBkaXdyIHwgaWZwaSB8IGRpd2IgCistLS0tLS0rLS0tLS0t Ky0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAorKDEgcm93KQorCistLQorLS0gTm93LCB0aGUg dGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdl cy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhl IHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5n ZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0 ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2Vz X2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgZiAgICAg ICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHZlc3RhdDsK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDk5YmNjNDZlZmNjLi4zNDk4 Y2UwNjYzNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC0xNDAsNCAr MTQwLDUgQEAgdGVzdDogdGFibGVzcGFjZQogIyAtLS0tLS0tLS0tCiAjIENoZWNrIHZhY3V1 bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1bV9pbmRleF9zdGF0aXN0 aWNzCiB0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5k ZXhfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmFlMTQ2ZTFkMjNmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCkBAIC0wLDAgKzEsMTUxIEBACistLQorLS0g VGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUg d2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0t IG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0t IG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5k LgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3Qg YmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2lu ZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKworXHNldCBz YW1wbGVfc2l6ZSAxMDAwMAorCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ug d2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworCist LSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFt ZXRlciBpcyBvZmYuCitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CisK K0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQg PSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHgg RlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZl c3RhdDsKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKworVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIE11 c3QgYmUgZW1wdHkuCitTRUxFQ1QgKgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKworU0hPVyB0cmFja192 YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKworLS0gZW5zdXJlIHBlbmRpbmcg c3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsK KworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9 IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworLS1TRVQgc3RhdHNfZmV0 Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50 IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworU0VMRUNU IG9pZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJl Zm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlz IGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBpcnAKK0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZG RVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBp cyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOwor CistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNo b3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVw IHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ug b2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSxy ZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkID0gMCBBUyBwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxu YW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRl ZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQg XGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qg d2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAorCistLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNUIHdh bF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsKKwor REVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNz YXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gcGFn ZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID4gMCBBUyBwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19k ZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBj Lm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2Is IHdhbF9mcGktOmlmcGkgQVMgZGlmcGkKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBXQUwgYWR2YW5jZSBz aG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4g MCBBUyBkaVdCOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlm cGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIFxnc2V0CisKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVy YXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBX SEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0 IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0g YXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNl c3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBT dG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06 aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBB UyBkaWZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBXQUwgYW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2 YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyMj0wIEFTIGRpV1Is IDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdCOworCitTRUxFQ1QgdnQucmVs bmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQg PSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVz X2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBp cGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg dnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2 dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZh cmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdh bF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNB VEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hl Y2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRo ZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjMsIHdhbF9ieXRlcy06 aXdiIEFTIGRpd2IzLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMworRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0t VGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpk aWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOworCistLQorLS0gTm93LCB0aGUg dGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdl cy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhl IHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5n ZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0 ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK0RST1AgVEFCTEUgdmVzdGF0OwotLSAKMi4zNC4x Cgo= --------------YSbG1oRSTJ3ciWnOsx064BnJ Content-Type: text/x-patch; charset=UTF-8; name="v21-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v21-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA1OTczYzkyZTkxZjFhNDA5MDY3YTg2NGU2OTY0ZGZhNmU5MjJjYjhiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAyNyBGZWIgMjAyNSAyMDowMTozOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiB0YWJsZSByZWxhdGlvbnMuCgpWYWx1ZSBvZiB0b3RhbF9i bGtzX2hpdCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2RpcnRpZWQgYXJlIG51bWJl ciBvZgpoaXR0ZWQsIG1pc3NlZCBhbmQgZGlydGllZCBwYWdlcyBpbiBzaGFyZWQgYnVmZmVy cyBkdXJpbmcgYSB2YWN1dW0gb3BlcmF0aW9uCnJlc3BlY3RpdmVseS4KCnRvdGFsX2Jsa3Nf ZGlydGllZCBtZWFucyAnZGlydGllZCBvbmx5IGJ5IHRoaXMgYWN0aW9uJy4gU28sIGlmIHRo aXMgcGFnZSB3YXMKZGlydHkgYmVmb3JlIHRoZSB2YWN1dW0gb3BlcmF0aW9uLCBpdCBkb2Vz bid0IGNvdW50IHRoaXMgcGFnZSBhcyAnZGlydGllZCcuCgpUaGUgdHVwbGVzX2RlbGV0ZWQg cGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgdHVwbGVzIGNsZWFuZWQgdXAgYnkgdGhlIHZh Y3V1bQpvcGVyYXRpb24uCgpUaGUgZGVsYXlfdGltZSB2YWx1ZSBtZWFucyB0b3RhbCB2YWN1 dW0gc2xlZXAgdGltZSBpbiB2YWN1dW0gZGVsYXkgcG9pbnQuClRoZSBwYWdlc19yZW1vdmVk IHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgcGFnZXMgYnkgd2hpY2ggdGhlIHBoeXNpY2FsIGRh dGEKc3RvcmFnZSBvZiB0aGUgcmVsYXRpb24gd2FzIHJlZHVjZWQuClRoZSB2YWx1ZSBvZiBw YWdlc19kZWxldGVkIHBhcmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIGZyZWVkIHBhZ2VzIGlu IHRoZSB0YWJsZQooZmlsZSBzaXplIG1heSBub3QgaGF2ZSBjaGFuZ2VkKS4KClRyYWNraW5n IG9mIElPIGR1cmluZyBhbiAoYXV0byl2YWN1dW0gb3BlcmF0aW9uLgpJbnRyb2R1Y2VkIHZh cmlhYmxlcyBibGtfcmVhZF90aW1lIGFuZCBibGtfd3JpdGVfdGltZSB0cmFja3Mgb25seSBh Y2Nlc3MgdG8KYnVmZmVyIHBhZ2VzIGFuZCBmbHVzaGluZyB0aGVtIHRvIGRpc2suIFJlYWRp bmcgb3BlcmF0aW9uIGlzIHRyaXZpYWwsIGJ1dAp3cml0aW5nIG1lYXN1cmVtZW50IHRlY2hu aXF1ZSBpcyBub3Qgb2J2aW91cy4KU28sIGR1cmluZyBhIHZhY3V1bSB3cml0aW5nIHRpbWUg Y2FuIGJlIHplcm8gaW5jcmVtZW50ZWQgYmVjYXVzZSBubyBhbnkgZmx1c2hpbmcKb3BlcmF0 aW9ucyB3ZXJlIHBlcmZvcm1lZC4KClN5c3RlbSB0aW1lIGFuZCB1c2VyIHRpbWUgYXJlIHBh cmFtZXRlcnMgdGhhdCBkZXNjcmliZXMgaG93IG11Y2ggdGltZSBhIHZhY3V1bQpvcGVyYXRp b24gaGFzIHNwZW50IGluIGV4ZWN1dGluZyBvZiBjb2RlIGluIHVzZXIgc3BhY2UgYW5kIGtl cm5lbCBzcGFjZQphY2NvcmRpbmdseS4gQWxzbywgYWNjdW11bGF0ZSB0b3RhbCB0aW1lIG9m IGEgdmFjdXVtIHRoYXQgaXMgYSBkaWZmIGJldHdlZW4KdGltZXN0YW1wcyBpbiBzdGFydCBh bmQgZmluaXNoIHBvaW50cyBpbiB0aGUgdmFjdXVtIGNvZGUuClJlbWVtYmVyIGFib3V0IGlk bGUgdGltZSwgd2hlbiB2YWN1dW0gd2FpdGVkIGZvciBJTyBhbmQgbG9ja3MsIHNvIHRvdGFs IHRpbWUKaXNuJ3QgZXF1YWwgYSBzdW0gb2YgdXNlciBhbmQgc3lzdGVtIHRpbWUsIGJ1dCBu byBsZXNzLgoKcGFnZXNfZnJvemVuIGlzIGEgbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1h cmtlZCBhcyBmcm96ZW4gaW4gdm0gZHVyaW5nIHZhY3V1bS4KVGhpcyBwYXJhbWV0ZXIgaXMg aW5jcmVtZW50ZWQgaWYgcGFnZSBpcyBtYXJrZWQgYXMgYWxsLWZyb3plbi4KcGFnZXNfYWxs X3Zpc2libGUgaXMgYSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFya2VkIGFzIGFsbC12 aXNpYmxlIGluIHZtIGR1cmluZwp2YWN1dW0uCgp3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 IGlzIGEgbnVtYmVyIG9mIHRpbWVzIHdoZW4gdGhlIHZhY3V1bSBzdGFydHMgdXJnZW50IGNs ZWFudXAKdG8gcHJldmVudCB3cmFwYXJvdW5kIHByb2JsZW0gd2hpY2ggaXMgY3JpdGljYWwg Zm9yIHRoZSBkYXRhYmFzZS4KCkF1dGhvcnM6IEFsZW5hIFJ5YmFraW5hIDxsZW5hLnJpYmFj a2luYUB5YW5kZXgucnU+LAoJIEFuZHJlaSBMZXBpa2hvdiA8YS5sZXBpa2hvdkBwb3N0Z3Jl c3Byby5ydT4sCgkgQW5kcmVpIFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJl dmlld2VkLWJ5OiBEaWxpcCBLdW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhp a28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+LAoJICAgICBJbGlhIEV2ZG9raW1v diA8aWx5YS5ldmRva2ltb3ZAdGFudG9ybGFicy5jb20+LCBqaWFuIGhlIDxqaWFuLnVuaXZl cnNhbGl0eUBnbWFpbC5jb20+LAoJICAgICBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxA Z21haWwuY29tPiwgQWxleGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4s CgkgICAgIEppbSBOYXNieSA8am5hc2J5QHVwZ3JhZGUuY29tPiwgU2FtaSBJbXNlaWggPHNh bWltc2VpaEBnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVt bGF6eS5jICAgICAgICAgIHwgMTUwICsrKysrKysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNz L2hlYXAvdmlzaWJpbGl0eW1hcC5jICAgICAgIHwgIDEwICsKIHNyYy9iYWNrZW5kL2NhdGFs b2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICA1MiArKystCiBzcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW0uYyAgICAgICAgICAgICAgICAgfCAgIDQgKwogc3JjL2JhY2tlbmQv Y29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAxMiArLQogc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgIDQ2ICsrKy0KIHNyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDE0NyArKysrKysr KysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyAgICAgICAgICAgICAgICB8 ICAxMyArCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAgICAgICAgICAg fCAgIDkgKwogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxl IHwgICAxICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAg ICB8ICAxOCArKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAg ICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA4MCArKysrKy0KIHNyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZC5vdXQgICAgfCAgNTMgKysrKwogc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9z Y2hlZHVsZSAgICAgICAgIHwgICAxICsKIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0 YWJsZS1yZWFkLnNwZWMgICB8ICA1MyArKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCAgICAgICAgICAgfCAgNDQgKysrLQogLi4uL2V4cGVjdGVkL3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5vdXQgICAgIHwgMjI3ICsrKysrKysrKysrKysrKysrKwogc3Jj L3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICA1ICsKIC4u Li9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsICB8IDE4MyArKysr KysrKysrKysrKwogMjIgZmlsZXMgY2hhbmdlZCwgMTA5NSBpbnNlcnRpb25zKCspLCAxNiBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vZXhw ZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5zcGVjCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNz LnNxbAoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCAyY2JjZjVl NWRiMi4uNTkyYjAxOGMzMDAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFw L3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMKQEAgLTI5MCw2ICsyOTAsNyBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJLyog RXJyb3IgcmVwb3J0aW5nIHN0YXRlICovCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJICAg KnJlbG5hbWVzcGFjZTsKKwlPaWQJCQlyZWxvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsKIAlj aGFyCSAgICppbmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tOdW1i ZXIgYmxrbm87CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAgLTQw OCw2ICs0MDksOCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJICogYmVlbiBwZXJt YW5lbnRseSBkaXNhYmxlZC4KIAkgKi8KIAlCbG9ja051bWJlciBlYWdlcl9zY2FuX3JlbWFp bmluZ19mYWlsczsKKworCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAvKiBu dW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdyYXBhcm91bmQg c2h1dGRvd24gKi8KIH0gTFZSZWxTdGF0ZTsKIAogCkBAIC00MTksNiArNDIyLDE4IEBAIHR5 cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFjRXJyUGhhc2UgcGhhc2U7CiB9IExW U2F2ZWRFcnJJbmZvOwogCisvKgorICogQ291bnRlcnMgYW5kIHVzYWdlIGRhdGEgZm9yIGV4 dGVuZGVkIHN0YXRzIHRyYWNraW5nLgorICovCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRD b3VudGVycworeworCVRpbWVzdGFtcFR6IHN0YXJ0dGltZTsKKwlXYWxVc2FnZQl3YWx1c2Fn ZTsKKwlCdWZmZXJVc2FnZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsK KwlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9j a3NfaGl0OworfSBMVkV4dFN0YXRDb3VudGVyczsKIAogLyogbm9uLWV4cG9ydCBmdW5jdGlv biBwcm90b3R5cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRl ICp2YWNyZWwpOwpAQCAtNDc1LDYgKzQ5MCwxMDYgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3Zh Y3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIHN0YXRpYyB2b2lkIHJlc3Rv cmVfdmFjdXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJCQkJICBj b25zdCBMVlNhdmVkRXJySW5mbyAqc2F2ZWRfdmFjcmVsKTsKIAorLyogLS0tLS0tLS0tLQor ICogZXh0dmFjX3N0YXRzX3N0YXJ0KCkgLQorICoKKyAqIFNhdmUgY3V0LW9mZiB2YWx1ZXMg b2YgZXh0ZW5kZWQgdmFjdXVtIGNvdW50ZXJzIGJlZm9yZSBzdGFydCBvZiBhIHJlbGF0aW9u CisgKiBwcm9jZXNzaW5nLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorZXh0 dmFjX3N0YXRzX3N0YXJ0KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50 ZXJzKQoreworCVRpbWVzdGFtcFR6CXN0YXJ0dGltZTsKKworCWlmKCFwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCW1lbXNldChjb3VudGVycywgMCwg c2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7CisKKwlzdGFydHRpbWUgPSBHZXRDdXJyZW50 VGltZXN0YW1wKCk7CisKKwljb3VudGVycy0+c3RhcnR0aW1lID0gc3RhcnR0aW1lOworCWNv dW50ZXJzLT53YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1ZnVzYWdlID0g cGdCdWZmZXJVc2FnZTsKKwljb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lID0gVmFjdXVtRGVs YXlUaW1lOworCWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZCA9IDA7CisJY291bnRlcnMtPmJs b2Nrc19oaXQgPSAwOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJh Y2tfY291bnRzKQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciB1c2Vy IGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVz dCBzdXBwcmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCWNvdW50ZXJzLT5ibG9ja3Nf ZmV0Y2hlZCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZDsKKwlj b3VudGVycy0+YmxvY2tzX2hpdCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3Nf aGl0OworfQorCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5kKCkgLQorICoK KyAqCUNhbGxlZCB0byBmaW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpYyBnYXRo ZXJpbmcgYW5kIGZvcm0gYSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2 b2lkCitleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMg KmNvdW50ZXJzLAorCQkJCSAgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJV2FsVXNhZ2UJ d2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CisJVGltZXN0YW1wVHogZW5kdGlt ZTsKKwlsb25nCQlzZWNzOworCWludAkJCXVzZWNzOworCisJaWYoIXBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJLyogQ2FsY3VsYXRlIGRpZmZzIG9m IGdsb2JhbCBzdGF0IHBhcmFtZXRlcnMgb24gV0FMIGFuZCBidWZmZXIgdXNhZ2UuICovCisJ bWVtc2V0KCZ3YWx1c2FnZSwgMCwgc2l6ZW9mKFdhbFVzYWdlKSk7CisJV2FsVXNhZ2VBY2N1 bURpZmYoJndhbHVzYWdlLCAmcGdXYWxVc2FnZSwgJmNvdW50ZXJzLT53YWx1c2FnZSk7CisK KwltZW1zZXQoJmJ1ZnVzYWdlLCAwLCBzaXplb2YoQnVmZmVyVXNhZ2UpKTsKKwlCdWZmZXJV c2FnZUFjY3VtRGlmZigmYnVmdXNhZ2UsICZwZ0J1ZmZlclVzYWdlLCAmY291bnRlcnMtPmJ1 ZnVzYWdlKTsKKworCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CisJVGltZXN0 YW1wRGlmZmVyZW5jZShjb3VudGVycy0+c3RhcnR0aW1lLCBlbmR0aW1lLCAmc2VjcywgJnVz ZWNzKTsKKworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwor CS8qCisJICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0gcHJvY2Vz c2luZyBvcGVyYXRpb24uCisJICovCisJcmVwb3J0LT50b3RhbF9ibGtzX3JlYWQgPSBidWZ1 c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFkOworCXJl cG9ydC0+dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1ZnVz YWdlLnNoYXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCA9IGJ1 ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2RpcnRp ZWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2FnZS5zaGFyZWRfYmxr c193cml0dGVuOworCisJcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVzYWdlLndhbF9yZWNv cmRzOworCXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7CisJcmVwb3J0LT53 YWxfYnl0ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisKKwlyZXBvcnQtPmJsa19yZWFkX3Rp bWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90 aW1lKTsKKwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElT RUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRl X3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3Jp dGVfdGltZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01J TExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5kZWxh eV90aW1lID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsK KworCXJlcG9ydC0+dG90YWxfdGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47 CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCisJ CS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3 YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNz IGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCQly ZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+Ymxv Y2tzX2ZldGNoZWQ7CisJcmVwb3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0X2luZm8t PmNvdW50cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAKIAogLyoK QEAgLTYzMiw3ICs3NDcsMTQgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFj dXVtUGFyYW1zICpwYXJhbXMsCiAJV2FsVXNhZ2UJc3RhcnR3YWx1c2FnZSA9IHBnV2FsVXNh Z2U7CiAJQnVmZmVyVXNhZ2Ugc3RhcnRidWZmZXJ1c2FnZSA9IHBnQnVmZmVyVXNhZ2U7CiAJ RXJyb3JDb250ZXh0Q2FsbGJhY2sgZXJyY2FsbGJhY2s7CisJTFZFeHRTdGF0Q291bnRlcnMg ZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKIAljaGFyCSAg KippbmRuYW1lcyA9IE5VTEw7CisJRXh0VmFjUmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0 aWFsaXplIHZhY3V1bSBzdGF0aXN0aWNzICovCisJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXpl b2YoRXh0VmFjUmVwb3J0KSk7CisJZXh0VmFjUmVwb3J0ID0gYWxsemVybzsKIAogCXZlcmJv c2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFDT1BUX1ZFUkJPU0UpICE9IDA7CiAJaW5zdHJ1 bWVudCA9ICh2ZXJib3NlIHx8IChBbUF1dG9WYWN1dW1Xb3JrZXJQcm9jZXNzKCkgJiYKQEAg LTY1Miw3ICs3NzQsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1Q YXJhbXMgKnBhcmFtcywKIAogCXBnc3RhdF9wcm9ncmVzc19zdGFydF9jb21tYW5kKFBST0dS RVNTX0NPTU1BTkRfVkFDVVVNLAogCQkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7 Ci0KKwlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmZXh0VmFjQ291bnRlcnMpOwogCS8qCiAJ ICogU2V0dXAgZXJyb3IgdHJhY2ViYWNrIHN1cHBvcnQgZm9yIGVyZXBvcnQoKSBmaXJzdC4g IFRoZSBpZGVhIGlzIHRvIHNldAogCSAqIHVwIGFuIGVycm9yIGNvbnRleHQgY2FsbGJhY2sg dG8gZGlzcGxheSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGFueQpAQCAtNjY5LDYgKzc5 MSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCXZhY3JlbC0+ZGJuYW1lID0gZ2V0X2RhdGFiYXNlX25hbWUoTXlEYXRhYmFzZUlk KTsKIAl2YWNyZWwtPnJlbG5hbWVzcGFjZSA9IGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlv bkdldE5hbWVzcGFjZShyZWwpKTsKIAl2YWNyZWwtPnJlbG5hbWUgPSBwc3RyZHVwKFJlbGF0 aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpOworCXZhY3JlbC0+cmVsb2lkID0gUmVsYXRpb25H ZXRSZWxpZChyZWwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IE5VTEw7CiAJdmFjcmVsLT5waGFz ZSA9IFZBQ1VVTV9FUlJDQl9QSEFTRV9VTktOT1dOOwogCXZhY3JlbC0+dmVyYm9zZSA9IHZl cmJvc2U7CkBAIC03NTgsNiArODgxLDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJl bCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMgPSAwOwogCXZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlcyA9IDA7CiAJdmFj cmVsLT5yZWxfcGFnZXMgPSBvcmlnX3JlbF9wYWdlcyA9IFJlbGF0aW9uR2V0TnVtYmVyT2ZC bG9ja3MocmVsKTsKKwl2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSAwOwog CiAJLyoKIAkgKiBHZXQgY3V0b2ZmcyB0aGF0IGRldGVybWluZSB3aGljaCBkZWxldGVkIHR1 cGxlcyBhcmUgY29uc2lkZXJlZCBERUFELApAQCAtOTI0LDYgKzEwNDgsMjYgQEAgaGVhcF92 YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJCQkJCQl2 YWNyZWwtPk5ld1JlbGZyb3plblhpZCwgdmFjcmVsLT5OZXdSZWxtaW5NeGlkLAogCQkJCQkJ JmZyb3plbnhpZF91cGRhdGVkLCAmbWlubXVsdGlfdXBkYXRlZCwgZmFsc2UpOwogCisJLyog TWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgKi8KKwlleHR2YWNf c3RhdHNfZW5kKHJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKworCWlm KHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7CisJCS8qIEZpbGwgaGVhcC1z cGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwkJZXh0VmFjUmVwb3J0LnBhZ2Vz X3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJCWV4dFZhY1JlcG9ydC5wYWdl c19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOworCQlleHRWYWNSZXBvcnQudm1f bmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwkJZXh0 VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfdmlzaWJs ZV9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9 IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOworCQlleHRWYWNSZXBvcnQu dHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCQlleHRWYWNSZXBv cnQudHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwkJZXh0VmFjUmVw b3J0LnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxl czsKKwkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+bWlzc2Vk X2RlYWRfdHVwbGVzOworCQlleHRWYWNSZXBvcnQubWlzc2VkX2RlYWRfcGFnZXMgPSB2YWNy ZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOworCQlleHRWYWNSZXBvcnQuaW5kZXhfdmFjdXVtX2Nv dW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CisJCWV4dFZhY1JlcG9ydC53cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 OworCX0KKwogCS8qCiAJICogUmVwb3J0IHJlc3VsdHMgdG8gdGhlIGN1bXVsYXRpdmUgc3Rh dHMgc3lzdGVtLCB0b28uCiAJICoKQEAgLTkzOSw3ICsxMDgzLDggQEAgaGVhcF92YWN1dW1f cmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJCQkJCQkgTWF4KHZh Y3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2Rl YWRfdHVwbGVzICsKIAkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKLQkJCQkJ CSBzdGFydHRpbWUpOworCQkJCQkJIHN0YXJ0dGltZSwKKwkJCQkJCSAmZXh0VmFjUmVwb3J0 KTsKIAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50 KQpAQCAtMjk1Nyw2ICszMTAyLDcgQEAgbGF6eV9jaGVja193cmFwYXJvdW5kX2ZhaWxzYWZl KExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJaW50NjQJCXByb2dyZXNzX3ZhbFsyXSA9IHswLCAw fTsKIAogCQlWYWN1dW1GYWlsc2FmZUFjdGl2ZSA9IHRydWU7CisJCXZhY3JlbC0+d3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudCArKzsKIAogCQkvKgogCQkgKiBBYmFuZG9uIHVzZSBvZiBh IGJ1ZmZlciBhY2Nlc3Mgc3RyYXRlZ3kgdG8gYWxsb3cgdXNlIG9mIGFsbCBvZgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCmluZGV4IDc0NWEwNGVmMjZlLi4w NzYyM2EwNDVmYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJp bGl0eW1hcC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAu YwpAQCAtOTEsNiArOTEsNyBAQAogI2luY2x1ZGUgImFjY2Vzcy94bG9naW5zZXJ0LmgiCiAj aW5jbHVkZSAiYWNjZXNzL3hsb2d1dGlscy5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgor I2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInBvcnQvcGdfYml0dXRpbHMuaCIKICNp bmNsdWRlICJzdG9yYWdlL2J1Zm1nci5oIgogI2luY2x1ZGUgInN0b3JhZ2Uvc21nci5oIgpA QCAtMTYwLDYgKzE2MSwxNSBAQCB2aXNpYmlsaXR5bWFwX2NsZWFyKFJlbGF0aW9uIHJlbCwg QmxvY2tOdW1iZXIgaGVhcEJsaywgQnVmZmVyIHZtYnVmLCB1aW50OCBmbGFncwogCiAJaWYg KG1hcFttYXBCeXRlXSAmIG1hc2spCiAJeworCQkvKgorCQkgKiBBcyBwYXJ0IG9mIHZhY3V1 bSBzdGF0cywgdHJhY2sgaG93IG9mdGVuIGFsbC12aXNpYmxlIG9yIGFsbC1mcm96ZW4KKwkJ ICogYml0cyBhcmUgY2xlYXJlZC4KKwkJICovCisJCWlmIChtYXBbbWFwQnl0ZV0gPj4gbWFw T2Zmc2V0ICYgZmxhZ3MgJiBWSVNJQklMSVRZTUFQX0FMTF9WSVNJQkxFKQorCQkJcGdzdGF0 X2NvdW50X3ZtX3Jldl9hbGxfdmlzaWJsZShyZWwpOworCQlpZiAobWFwW21hcEJ5dGVdID4+ IG1hcE9mZnNldCAmIGZsYWdzICYgVklTSUJJTElUWU1BUF9BTExfRlJPWkVOKQorCQkJcGdz dGF0X2NvdW50X3ZtX3Jldl9hbGxfZnJvemVuKHJlbCk7CisKIAkJbWFwW21hcEJ5dGVdICY9 IH5tYXNrOwogCiAJCU1hcmtCdWZmZXJEaXJ0eSh2bWJ1Zik7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwKaW5kZXggMzFkMjY5YjdlZTAuLjYwM2JmOTdlMDQyIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC03MDAsNyArNzAwLDkgQEAg Q1JFQVRFIFZJRVcgcGdfc3RhdF9hbGxfdGFibGVzIEFTCiAgICAgICAgICAgICBwZ19zdGF0 X2dldF90b3RhbF92YWN1dW1fdGltZShDLm9pZCkgQVMgdG90YWxfdmFjdXVtX3RpbWUsCiAg ICAgICAgICAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvdmFjdXVtX3RpbWUoQy5vaWQpIEFT IHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFs X2FuYWx5emVfdGltZShDLm9pZCkgQVMgdG90YWxfYW5hbHl6ZV90aW1lLAotICAgICAgICAg ICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b2FuYWx5emVfdGltZShDLm9pZCkgQVMgdG90YWxf YXV0b2FuYWx5emVfdGltZQorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b2Fu YWx5emVfdGltZShDLm9pZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzKEMub2lkKSBBUyByZXZfYWxs X2Zyb3plbl9wYWdlcywKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJs ZV9wYWdlcyhDLm9pZCkgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICAgRlJPTSBwZ19j bGFzcyBDIExFRlQgSk9JTgogICAgICAgICAgcGdfaW5kZXggSSBPTiBDLm9pZCA9IEkuaW5k cmVsaWQKICAgICAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBD LnJlbG5hbWVzcGFjZSkKQEAgLTEzOTEsMyArMTM5Myw1MSBAQCBDUkVBVEUgVklFVyBwZ19z dGF0X3N1YnNjcmlwdGlvbl9zdGF0cyBBUwogCiBDUkVBVEUgVklFVyBwZ193YWl0X2V2ZW50 cyBBUwogICAgIFNFTEVDVCAqIEZST00gcGdfZ2V0X3dhaXRfZXZlbnRzKCk7CistLQorLS0g U2hvdyBleHRlbmRlZCBjdW11bGF0aXZlIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0gb3BlcmF0 aW9uIG92ZXIgYWxsIHRhYmxlcyBhbmQKKy0tIGRhdGFiYXNlcyBvZiB0aGUgaW5zdGFuY2Uu CistLSBVc2UgSW52YWxpZCBPaWQgIjAiIGFzIGFuIGlucHV0IHJlbGF0aW9uIGlkIHRvIGdl dCBzdGF0IG9uIGVhY2ggdGFibGUgaW4gYQorLS0gZGF0YWJhc2UuCistLQorCitDUkVBVEUg VklFVyBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgQVMKK1NFTEVDVAorICBucy5uc3BuYW1lIEFT IHNjaGVtYW5hbWUsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCisgIHN0YXRzLnJlbGlk IGFzIHJlbGlkLAorCisgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCBBUyB0b3RhbF9ibGtzX3Jl YWQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFsX2Jsa3NfaGl0LAorICBzdGF0 cy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICBzdGF0cy50 b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90YWxfYmxrc193cml0dGVuLAorCisgIHN0YXRzLnJl bF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgc3RhdHMucmVsX2Jsa3NfaGl0IEFT IHJlbF9ibGtzX2hpdCwKKworICBzdGF0cy5wYWdlc19zY2FubmVkIEFTIHBhZ2VzX3NjYW5u ZWQsCisgIHN0YXRzLnBhZ2VzX3JlbW92ZWQgQVMgcGFnZXNfcmVtb3ZlZCwKKyAgc3RhdHMu dm1fbmV3X2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLAorICBzdGF0cy52 bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcywKKyAgc3RhdHMu dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcywKKyAgc3RhdHMubWlzc2VkX2RlYWRfcGFnZXMgQVMgbWlzc2VkX2RlYWRfcGFnZXMs CisgIHN0YXRzLnR1cGxlc19kZWxldGVkIEFTIHR1cGxlc19kZWxldGVkLAorICBzdGF0cy50 dXBsZXNfZnJvemVuIEFTIHR1cGxlc19mcm96ZW4sCisgIHN0YXRzLnJlY2VudGx5X2RlYWRf dHVwbGVzIEFTIHJlY2VudGx5X2RlYWRfdHVwbGVzLAorICBzdGF0cy5taXNzZWRfZGVhZF90 dXBsZXMgQVMgbWlzc2VkX2RlYWRfdHVwbGVzLAorCisgIHN0YXRzLndyYXBhcm91bmRfZmFp bHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZSwKKyAgc3RhdHMuaW5kZXhfdmFjdXVtX2Nv dW50IEFTIGluZGV4X3ZhY3V1bV9jb3VudCwKKyAgc3RhdHMud2FsX3JlY29yZHMgQVMgd2Fs X3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5 dGVzIEFTIHdhbF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFk X3RpbWUsCisgIHN0YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisg IHN0YXRzLmRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3RhdHMudG90YWxfdGltZSBB UyB0b3RhbF90aW1lCisKK0ZST00gcGdfY2xhc3MgcmVsCisgIEpPSU4gcGdfbmFtZXNwYWNl IG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCisgIExBVEVSQUwgcGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cworV0hFUkUgcmVsLnJlbGtpbmQgPSAn cic7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCmluZGV4IGYwYTdiODc4MDhkLi4xZWY2NzI5OWQ0 OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKQEAgLTExNSw2ICsxMTUsOSBAQCBwZ19hdG9t aWNfdWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZSA9IE5VTEw7CiBwZ19hdG9taWNf dWludDMyICpWYWN1dW1BY3RpdmVOV29ya2VycyA9IE5VTEw7CiBpbnQJCQlWYWN1dW1Db3N0 QmFsYW5jZUxvY2FsID0gMDsKIAorLyogQ3VtdWxhdGl2ZSBzdG9yYWdlIHRvIHJlcG9ydCB0 b3RhbCB2YWN1dW0gZGVsYXkgdGltZS4gKi8KK2RvdWJsZSBWYWN1dW1EZWxheVRpbWUgPSAw OyAvKiBtc2VjLiAqLworCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8K IHN0YXRpYyBMaXN0ICpleHBhbmRfdmFjdXVtX3JlbChWYWN1dW1SZWxhdGlvbiAqdnJlbCwK IAkJCQkJCQkgICBNZW1vcnlDb250ZXh0IHZhY19jb250ZXh0LCBpbnQgb3B0aW9ucyk7CkBA IC0yNTEyLDYgKzI1MTUsNyBAQCB2YWN1dW1fZGVsYXlfcG9pbnQoYm9vbCBpc19hbmFseXpl KQogCQkJZXhpdCgxKTsKIAogCQlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJCVZhY3V1bURl bGF5VGltZSArPSBtc2VjOwogCiAJCS8qCiAJCSAqIEJhbGFuY2UgYW5kIHVwZGF0ZSBsaW1p dCB2YWx1ZXMgZm9yIGF1dG92YWN1dW0gd29ya2Vycy4gV2UgbXVzdCBkbwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggMmI5ZDU0OGNkZWIuLjc5MjRjNTI2 Y2IwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5j CisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTEwNTQs NiArMTA1NCw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNo bV90b2MgKnRvYykKIAkvKiBTZXQgY29zdC1iYXNlZCB2YWN1dW0gZGVsYXkgKi8KIAlWYWN1 dW1VcGRhdGVDb3N0cygpOwogCVZhY3V1bUNvc3RCYWxhbmNlID0gMDsKKwlWYWN1dW1EZWxh eVRpbWUgPSAwOwogCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCVZhY3V1bVNoYXJl ZENvc3RCYWxhbmNlID0gJihzaGFyZWQtPmNvc3RfYmFsYW5jZSk7CiAJVmFjdXVtQWN0aXZl TldvcmtlcnMgPSAmKHNoYXJlZC0+YWN0aXZlX253b3JrZXJzKTsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggNDAwNjMwODUwNzMuLjUyMWE4MDJmZTJkIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTkwLDcgKzE5MCw3IEBAIHN0 YXRpYyB2b2lkIHBnc3RhdF9yZXNldF9hZnRlcl9mYWlsdXJlKHZvaWQpOwogc3RhdGljIGJv b2wgcGdzdGF0X2ZsdXNoX3BlbmRpbmdfZW50cmllcyhib29sIG5vd2FpdCk7CiAKIHN0YXRp YyB2b2lkIHBnc3RhdF9wcmVwX3NuYXBzaG90KHZvaWQpOwotc3RhdGljIHZvaWQgcGdzdGF0 X2J1aWxkX3NuYXBzaG90KHZvaWQpOworc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3NuYXBz aG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKTsKIHN0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9z bmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAogc3RhdGljIGlubGluZSBib29s IHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwpAQCAtMjAzLDcgKzIw Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwZ3N0YXRfaXNfa2luZF92YWxpZChQZ1N0YXRf S2luZCBraW5kKTsKIAogYm9vbAkJcGdzdGF0X3RyYWNrX2NvdW50cyA9IGZhbHNlOwogaW50 CQkJcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZ X0NBQ0hFOwotCitib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgPSB0cnVl OwogCiAvKiAtLS0tLS0tLS0tCiAgKiBzdGF0ZSBzaGFyZWQgd2l0aCBwZ3N0YXRfKi5jCkBA IC0yNjAsNyArMjYwLDYgQEAgc3RhdGljIGJvb2wgcGdzdGF0X2lzX2luaXRpYWxpemVkID0g ZmFsc2U7CiBzdGF0aWMgYm9vbCBwZ3N0YXRfaXNfc2h1dGRvd24gPSBmYWxzZTsKICNlbmRp ZgogCi0KIC8qCiAgKiBUaGUgZGlmZmVyZW50IGtpbmRzIG9mIGJ1aWx0LWluIHN0YXRpc3Rp Y3MuCiAgKgpAQCAtOTAwLDcgKzg5OSw2IEBAIHBnc3RhdF9yZXNldF9vZl9raW5kKFBnU3Rh dF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9yZXNldF9lbnRyaWVzX29mX2tpbmQoa2luZCwgdHMp OwogfQogCi0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogICogRmV0Y2hpbmcgb2Ygc3RhdHMKICAqIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpA QCAtOTY5LDcgKzk2Nyw3IEBAIHBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBraW5k LCBPaWQgZGJvaWQsIHVpbnQ2NCBvYmppZCkKIAogCS8qIGlmIHdlIG5lZWQgdG8gYnVpbGQg YSBmdWxsIHNuYXBzaG90LCBkbyBzbyAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVu Y3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRfYnVp bGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0lO VkFMSUQpOwogCiAJLyogaWYgY2FjaGluZyBpcyBkZXNpcmVkLCBsb29rIHVwIGluIGNhY2hl ICovCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA+IFBHU1RBVF9GRVRDSF9DT05T SVNURU5DWV9OT05FKQpAQCAtMTA4NSw3ICsxMDgzLDcgQEAgcGdzdGF0X3NuYXBzaG90X2Zp eGVkKFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgpOwogCiAJ aWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVO Q1lfU05BUFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdCgpOworCQlwZ3N0YXRfYnVp bGRfc25hcHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAJZWxzZQogCQlwZ3N0YXRfYnVp bGRfc25hcHNob3RfZml4ZWQoa2luZCk7CiAKQEAgLTExMzYsNyArMTEzNCw3IEBAIHBnc3Rh dF9wcmVwX3NuYXBzaG90KHZvaWQpCiB9CiAKIHN0YXRpYyB2b2lkCi1wZ3N0YXRfYnVpbGRf c25hcHNob3Qodm9pZCkKK3Bnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0 S2luZCkKIHsKIAlkc2hhc2hfc2VxX3N0YXR1cyBoc3RhdDsKIAlQZ1N0YXRTaGFyZWRfSGFz aEVudHJ5ICpwOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYwppbmRleCBkNjQ1OTVhMTY1Yy4uMDI3MmRkMWYzOTMgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC00Nyw2ICs0Nyw4 IEBAIHN0YXRpYyB2b2lkIGFkZF90YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3Rh dHVzICpwZ3N0YXRfaW5mbywgaW50IG5lc3RfbGV2CiBzdGF0aWMgdm9pZCBlbnN1cmVfdGFi c3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8pOwogc3Rh dGljIHZvaWQgc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1 cyAqdHJhbnMsIGJvb2wgaXNfZHJvcCk7CiBzdGF0aWMgdm9pZCByZXN0b3JlX3RydW5jZHJv cF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucyk7CitzdGF0aWMgdm9p ZCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4 dFZhY1JlcG9ydCAqc3JjLAorCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0eXBlX3Nw ZWNpZmljX2luZm8pOwogCiAKIC8qCkBAIC0yMDksNyArMjExLDcgQEAgcGdzdGF0X2Ryb3Bf cmVsYXRpb24oUmVsYXRpb24gcmVsKQogdm9pZAogcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lk IHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBs ZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCi0JCQkJCSBUaW1lc3RhbXBUeiBzdGFy dHRpbWUpCisJCQkJCSBUaW1lc3RhbXBUeiBzdGFydHRpbWUsIEV4dFZhY1JlcG9ydCAqcGFy YW1zKQogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9S ZWxhdGlvbiAqc2h0YWJlbnRyeTsKQEAgLTIzNSw2ICsyMzcsOCBAQCBwZ3N0YXRfcmVwb3J0 X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVudHJ5LT5saXZlX3R1 cGxlcyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVzID0gZGVhZHR1cGxl czsKIAorCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnktPnZhY3V1 bV9leHQsIHBhcmFtcywgdHJ1ZSk7CisKIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBvc3NpYmxl IHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcKIAkgKiB2 YXJpb3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNlcnQgY291bnRlciBo ZXJlIHJlZ2FyZGxlc3MuCkBAIC04NzIsNiArODc2LDkgQEAgcGdzdGF0X3JlbGF0aW9uX2Zs dXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAl0YWJl bnRyeS0+YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQ7 CiAJdGFiZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2hpdDsK IAorCXRhYmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdlcyArPSBsc3RhdHMtPmNvdW50cy5y ZXZfYWxsX2Zyb3plbl9wYWdlczsKKwl0YWJlbnRyeS0+cmV2X2FsbF92aXNpYmxlX3BhZ2Vz ICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwogCS8qIENsYW1w IGxpdmVfdHVwbGVzIGluIGNhc2Ugb2YgbmVnYXRpdmUgZGVsdGFfbGl2ZV90dXBsZXMgKi8K IAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBNYXgodGFiZW50cnktPmxpdmVfdHVwbGVzLCAw KTsKIAkvKiBMaWtld2lzZSBmb3IgZGVhZF90dXBsZXMgKi8KQEAgLTk5NSwzICsxMDAyLDQw IEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMg KnRyYW5zKQogCQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFucy0+ZGVsZXRlZF9wcmVf dHJ1bmNkcm9wOwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4 dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJ CQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKK3sKKwlkc3Qt PnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKKwlkc3QtPnRvdGFs X2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0LT50b3RhbF9ibGtzX2Rp cnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT50b3RhbF9ibGtzX3dy aXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT53YWxfYnl0ZXMgKz0g c3JjLT53YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+d2FsX2ZwaTsKKwlkc3Qt PndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0LT5ibGtfcmVhZF90aW1l ICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0ZV90aW1lICs9IHNyYy0+ YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlfdGltZTsK Kwlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1lOworCisJaWYgKCFhY2N1bXVs YXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJuOworCisJZHN0LT5ibGtzX2Zl dGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJs a3NfaGl0OworCisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsK Kwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOworCWRzdC0+dm1f bmV3X2Zyb3plbl9wYWdlcyArPSBzcmMtPnZtX25ld19mcm96ZW5fcGFnZXM7CisJZHN0LT52 bV9uZXdfdmlzaWJsZV9wYWdlcyArPSBzcmMtPnZtX25ld192aXNpYmxlX3BhZ2VzOworCWRz dC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzOworCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVs ZXRlZDsKKwlkc3QtPnR1cGxlc19mcm96ZW4gKz0gc3JjLT50dXBsZXNfZnJvemVuOworCWRz dC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3JjLT5yZWNlbnRseV9kZWFkX3R1cGxlczsK Kwlkc3QtPmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3VudDsK Kwlkc3QtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0gc3JjLT53cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50OworCWRzdC0+bWlzc2VkX2RlYWRfcGFnZXMgKz0gc3JjLT5taXNzZWRf ZGVhZF9wYWdlczsKKwlkc3QtPm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPm1pc3NlZF9k ZWFkX3R1cGxlczsKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggOTdhZjdjNjU1NGYuLjQxNmYzYzUxYjBj IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMTA2LDYgKzEwNiwx MiBAQCBQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfdXBkYXRlZCkKIC8qIHBn X3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCAqLwogUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQo dmFjdXVtX2NvdW50KQogCisvKiBwZ19zdGF0X2dldF9yZXZfZnJvemVuX3BhZ2VzICovCitQ R19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX2Zyb3plbl9wYWdlcykKKworLyog cGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzICovCitQR19TVEFUX0dFVF9SRUxF TlRSWV9JTlQ2NChyZXZfYWxsX3Zpc2libGVfcGFnZXMpCisKICNkZWZpbmUgUEdfU1RBVF9H RVRfUkVMRU5UUllfRkxPQVQ4KHN0YXQpCQkJCQkJXAogRGF0dW0JCQkJCQkJCQkJCQkJCQlc CiBDcHBDb25jYXQocGdfc3RhdF9nZXRfLHN0YXQpKFBHX0ZVTkNUSU9OX0FSR1MpCQkJCQlc CkBAIC0yMjU4LDMgKzIyNjQsMTQ0IEBAIHBnX3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElP Tl9BUkdTKQogCiAJUEdfUkVUVVJOX0JPT0wocGdzdGF0X2hhdmVfZW50cnkoa2luZCwgZGJv aWQsIG9iamlkKSk7CiB9CisKKworLyoKKyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3Mg Zm9yIHRoZSBoZWFwIHRhYmxlcy4KKyAqLworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VV TV9UQUJMRVNfU1RBVFNfQ09MUyAyNgorCisJT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdf T0lEKDApOworCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0YWJlbnRyeTsKKwlFeHRWYWNS ZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0J CQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHsw fTsKKwlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19D T0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50CQkJCQkJIGkgPSAwOwor CUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1dGVzIGlu Zm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJdHVwZGVzYyA9IENyZWF0 ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09M Uyk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg InJlbGlkIiwKKwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19yZWFkIiwKKwkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAidG90YWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwg MCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0 b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dy aXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19yZWFkIiwKKwkJCQkJICAg SU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAicmVsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNf c2Nhbm5lZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInBhZ2VzX3JlbW92ZWQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ2bV9uZXdfZnJvemVuX3BhZ2VzIiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidm1fbmV3X3Zpc2libGVfcGFnZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJtaXNzZWRfZGVh ZF9wYWdlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxlc19kZWxldGVkIiwKKwkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAidHVwbGVzX2Zyb3plbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJl Y2VudGx5X2RlYWRfdHVwbGVzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAibWlzc2VkX2RlYWRf dHVwbGVzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid3JhcGFyb3VuZF9mYWlsc2FmZV9jb3Vu dCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImluZGV4X3ZhY3V1bV9jb3VudCIsCisJCQkJCSAg IElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2Zw aSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9ieXRlcyIsCisJCQkJCSAgIE5VTUVSSUNP SUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3dy aXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGltZSIsCisJCQkJ CSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEs IDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19D T0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJdGFiZW50cnkgPSBwZ3N0 YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisKKwlpZiAodGFiZW50cnkgPT0gTlVM TCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFs aXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJCWV4 dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQpOworCX0KKworCWkgPSAwOworCisJ dmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHJlbGlkKTsKKworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGll ZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxr c193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19zY2FubmVkKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19yZW1vdmVkKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfZnJvemVu X3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9u ZXdfdmlzaWJsZV9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNzZWRfZGVhZF9wYWdlcyk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2RlbGV0ZWQpOworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19mcm96ZW4pOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnJlY2VudGx5X2RlYWRfdHVw bGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNzZWRf ZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0t PndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7CisKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRv IG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBz aXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFs dWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkg IENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDAp LAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZs b2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10g PSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNb aSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVz W2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCisJQXNz ZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCS8q IFJldHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFw VHVwbGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykp KTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9n LmMKaW5kZXggODYwYmJkNDBkNDIuLjRkYThkM2Y4N2ZkIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC91dGlscy9lcnJvci9lbG9nLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3Iv ZWxvZy5jCkBAIC0xNjE5LDYgKzE2MTksMTkgQEAgZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2 b2lkKQogCXJldHVybiBlZGF0YS0+aW50ZXJuYWxwb3M7CiB9CiAKKy8qCisgKiBSZXR1cm4g ZWxldmVsIG9mIGVycm9ycworICovCitpbnQKK2dldGVycmVsZXZlbCh2b2lkKQoreworCUVy cm9yRGF0YSAgKmVkYXRhID0gJmVycm9yZGF0YVtlcnJvcmRhdGFfc3RhY2tfZGVwdGhdOwor CisJLyogd2UgZG9uJ3QgYm90aGVyIGluY3JlbWVudGluZyByZWN1cnNpb25fZGVwdGggKi8K KwlDSEVDS19TVEFDS19ERVBUSCgpOworCisJcmV0dXJuIGVkYXRhLT5lbGV2ZWw7Cit9CiAK IC8qCiAgKiBGdW5jdGlvbnMgdG8gYWxsb3cgY29uc3RydWN0aW9uIG9mIGVycm9yIG1lc3Nh Z2Ugc3RyaW5ncyBzZXBhcmF0ZWx5IGZyb20KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL21pc2MvZ3VjX3RhYmxlcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFi bGVzLmMKaW5kZXggOTg5ODI1ZDNhOWMuLjQwNzY3ZTQ0NjAxIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9taXNjL2d1Y190YWJsZXMuYwpAQCAtMTQ5Niw2ICsxNDk2LDE1IEBAIHN0cnVjdCBjb25m aWdfYm9vbCBDb25maWd1cmVOYW1lc0Jvb2xbXSA9CiAJCWZhbHNlLAogCQlOVUxMLCBOVUxM LCBOVUxMCiAJfSwKKwl7CisJCXsidHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MiLCBQR0NfU1VT RVQsIFNUQVRTX0NVTVVMQVRJVkUsCisJCQlnZXR0ZXh0X25vb3AoIkNvbGxlY3RzIHZhY3V1 bSBzdGF0aXN0aWNzIGZvciB0YWJsZSByZWxhdGlvbnMuIiksCisJCQlOVUxMCisJCX0sCisJ CSZwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MsCisJCXRydWUsCisJCU5VTEwsIE5V TEwsIE5VTEwKKwl9LAogCXsKIAkJeyJ0cmFja193YWxfaW9fdGltaW5nIiwgUEdDX1NVU0VU LCBTVEFUU19DVU1VTEFUSVZFLAogCQkJZ2V0dGV4dF9ub29wKCJDb2xsZWN0cyB0aW1pbmcg c3RhdGlzdGljcyBmb3IgV0FMIEkvTyBhY3Rpdml0eS4iKSwKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZSBiL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQppbmRleCAwYjllMzA2NmJkZS4u MjVhOGY5MzE5ODMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdy ZXNxbC5jb25mLnNhbXBsZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVz cWwuY29uZi5zYW1wbGUKQEAgLTY1OCw2ICs2NTgsNyBAQAogI3RyYWNrX3dhbF9pb190aW1p bmcgPSBvZmYKICN0cmFja19mdW5jdGlvbnMgPSBub25lCQkJIyBub25lLCBwbCwgYWxsCiAj c3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBjYWNoZQkjIGNhY2hlLCBub25lLCBzbmFwc2hv dAorI3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0gb2ZmCiAKIAogIyAtIE1vbml0b3Jpbmcg LQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggMGQyOWVmNTBmZjIuLjZiYWMzY2Jj M2ViIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyNDc5LDQgKzEyNDc5LDIy IEBACiAgIHByb2FyZ3R5cGVzID0+ICdpbnQ0JywKICAgcHJvc3JjID0+ICdnaXN0X3N0cmF0 bnVtX2NvbW1vbicgfSwKIAoreyBvaWQgPT4gJzgwMDEnLAorICBkZXNjciA9PiAncGdfc3Rh dF9nZXRfdmFjdXVtX3RhYmxlcyByZXR1cm5zIHZhY3V1bSBzdGF0cyB2YWx1ZXMgZm9yIHRh YmxlJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycsIHByb3Jv d3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQn LHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywKKyAgcHJvYXJndHlw ZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDQsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxv YXQ4LGZsb2F0OCxmbG9hdDh9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmdu YW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQs dG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJl bF9ibGtzX2hpdCxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQsdm1fbmV3X2Zyb3plbl9w YWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMs bWlzc2VkX2RlYWRfcGFnZXMsdHVwbGVzX2RlbGV0ZWQsdHVwbGVzX2Zyb3plbixyZWNlbnRs eV9kZWFkX3R1cGxlcyxtaXNzZWRfZGVhZF90dXBsZXMsd3JhcGFyb3VuZF9mYWlsc2FmZSxp bmRleF92YWN1dW1fY291bnQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3Jl YWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWV9JywKKyAgcHJv c3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJyB9LAorCisgIHsgb2lkID0+ICc4 MDAyJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0aW1lcyB0aGUgYWxsLXZp c2libGUgcGFnZXMgaW4gdGhlIHZpc2liaWxpdHkgbWFwIHdhcyByZW1vdmVkIGZvciBwYWdl cyBvZiB0YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJs ZV9wYWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBw cm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9 PiAncGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzJyB9LAorICB7IG9pZCA9PiAn ODAwMycsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC1m cm96ZW4gcGFnZXMgaW4gdGhlIHZpc2liaWxpdHkgbWFwIHdhcyByZW1vdmVkIGZvciBwYWdl cyBvZiB0YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVu X3BhZ2VzJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHBy b3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvc3JjID0+ ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKIF0KZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv dmFjdXVtLmgKaW5kZXggYmMzN2E4MGRjNzQuLjZkMWIyOTkxY2U1IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5k cy92YWN1dW0uaApAQCAtMzI3LDYgKzMyNyw3IEBAIGV4dGVybiBQR0RMTElNUE9SVCBkb3Vi bGUgdmFjdXVtX21heF9lYWdlcl9mcmVlemVfZmFpbHVyZV9yYXRlOwogZXh0ZXJuIFBHRExM SU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlOwogZXh0 ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJz OwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBWYWN1dW1Db3N0QmFsYW5jZUxvY2FsOworZXh0 ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSBWYWN1dW1EZWxheVRpbWU7CiAKIGV4dGVybiBQR0RM TElNUE9SVCBib29sIFZhY3V1bUZhaWxzYWZlQWN0aXZlOwogZXh0ZXJuIFBHRExMSU1QT1JU IGRvdWJsZSB2YWN1dW1fY29zdF9kZWxheTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bn c3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggNWJmZTE5ZTY2YmUuLjM1MjIy MjNkOWNhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5j bHVkZS9wZ3N0YXQuaApAQCAtMTExLDYgKzExMSw1MyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0 YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxpY3RfY291bnRbQ09O RkxJQ1RfTlVNX1RZUEVTXTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyogLS0t LS0tLS0tLQorICoKKyAqIEV4dFZhY1JlcG9ydAorICoKKyAqIEFkZGl0aW9uYWwgc3RhdGlz dGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIHBh Z2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJh bmssCisgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFsIHNpemUgb24gZGlz aykKKyAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGlu ZGV4IGZpbGUKKyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVw b3J0Cit7CisJLyogbnVtYmVyIG9mIGJsb2NrcyBtaXNzZWQsIGhpdCwgZGlydGllZCBhbmQg d3JpdHRlbiBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24gKi8KKwlpbnQ2 NAkJdG90YWxfYmxrc19yZWFkOworCWludDY0CQl0b3RhbF9ibGtzX2hpdDsKKwlpbnQ2NAkJ dG90YWxfYmxrc19kaXJ0aWVkOworCWludDY0CQl0b3RhbF9ibGtzX3dyaXR0ZW47CisKKwkv KiBibG9ja3MgbWlzc2VkIGFuZCBoaXQgZm9yIGp1c3QgdGhlIGhlYXAgZHVyaW5nIGEgdmFj dXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCisJaW50NjQJCWJsa3NfZmV0Y2hlZDsKKwlp bnQ2NAkJYmxrc19oaXQ7CisKKwkvKiBWYWN1dW0gV0FMIHVzYWdlIHN0YXRzICovCisJaW50 NjQJCXdhbF9yZWNvcmRzOwkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBXQUwgcmVjb3JkcyAq LworCWludDY0CQl3YWxfZnBpOwkJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIGZ1bGwg cGFnZSBpbWFnZXMgcHJvZHVjZWQgKi8KKwl1aW50NjQJCXdhbF9ieXRlczsJCS8qIHdhbCB1 c2FnZTogc2l6ZSBvZiBXQUwgcmVjb3JkcyBwcm9kdWNlZCAqLworCisJLyogVGltZSBzdGF0 cy4gKi8KKwlkb3VibGUJCWJsa19yZWFkX3RpbWU7CS8qIHRpbWUgc3BlbnQgcmVhZGluZyBw YWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJYmxrX3dyaXRlX3RpbWU7IC8qIHRpbWUgc3Bl bnQgd3JpdGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJZGVsYXlfdGltZTsJCS8q IGhvdyBsb25nIHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkgcG9pbnQsIGluIG1zZWMg Ki8KKwlkb3VibGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1lIG9mIGEgdmFjdXVtIG9w ZXJhdGlvbiwgaW4gbXNlYyAqLworCisJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFw IHBhZ2VzIGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KKwlpbnQ2NAkJcGFnZXNf cmVtb3ZlZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24i ICovCisJaW50NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4g Vk0gYXMgZnJvemVuICovCisJaW50NjQJCXZtX25ld192aXNpYmxlX3BhZ2VzOwkvKiBwYWdl cyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KKwlpbnQ2NAkJdm1fbmV3X3Zpc2li bGVfZnJvemVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUg YW5kIGZyb3plbiAqLworCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMg bm90IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBs b2NrICovCisJaW50NjQJCW1pc3NlZF9kZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNz ZWQgZGVhZCB0dXBsZXMgKi8KKwlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMg ZGVsZXRlZCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxl cyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJaW50NjQJCXJlY2VudGx5X2RlYWRfdHVwbGVz OwkvKiBkZWxldGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxlIHRvIHNvbWUgdHJh bnNhY3Rpb24gKi8KKwlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiB0aGUgbnVtYmVy IG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9j b3VudDsJLyogbnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13 cmFwYXJvdW5kIHNodXRkb3duICovCit9IEV4dFZhY1JlcG9ydDsKKwogLyogLS0tLS0tLS0t LQogICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFjdHVhbCBwZXItdGFibGUgY291bnRz IGtlcHQgYnkgYSBiYWNrZW5kCiAgKgpAQCAtMTUzLDYgKzIwMCwxNiBAQCB0eXBlZGVmIHN0 cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKIAogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRj aGVkOwogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7CisKKwlQZ1N0YXRfQ291bnRlciBy ZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5f cGFnZXM7CisKKwkvKgorCSAqIEFkZGl0aW9uYWwgY3VtdWxhdGl2ZSBzdGF0IG9uIHZhY3V1 bSBvcGVyYXRpb25zLgorCSAqIFVzZSBhbiBleHBlbnNpdmUgc3RydWN0dXJlIGFzIGFuIGFi c3RyYWN0aW9uIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YKKwkgKiByZWxhdGlvbnMuCisJICov CisJRXh0VmFjUmVwb3J0CXZhY3V1bV9leHQ7CiB9IFBnU3RhdF9UYWJsZUNvdW50czsKIAog LyogLS0tLS0tLS0tLQpAQCAtMjExLDcgKzI2OCw3IEBAIHR5cGVkZWYgc3RydWN0IFBnU3Rh dF9UYWJsZVhhY3RTdGF0dXMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLSNkZWZpbmUgUEdTVEFUX0ZJ TEVfRk9STUFUX0lECTB4MDFBNUJDQjcKKyNkZWZpbmUgUEdTVEFUX0ZJTEVfRk9STUFUX0lE CTB4MDFBNUJDQjgKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0FyY2hpdmVyU3RhdHMKIHsK QEAgLTM3NSw2ICs0MzIsOCBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdERCRW50cnkK IAlQZ1N0YXRfQ291bnRlciBwYXJhbGxlbF93b3JrZXJzX2xhdW5jaGVkOwogCiAJVGltZXN0 YW1wVHogc3RhdF9yZXNldF90aW1lc3RhbXA7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVtX2V4 dDsJCS8qIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzICovCiB9IFBnU3RhdF9TdGF0REJF bnRyeTsKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRGdW5jRW50cnkKQEAgLTQ1Myw2 ICs1MTIsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRUYWJFbnRyeQogCVBnU3Rh dF9Db3VudGVyIHRvdGFsX2F1dG92YWN1dW1fdGltZTsKIAlQZ1N0YXRfQ291bnRlciB0b3Rh bF9hbmFseXplX3RpbWU7CiAJUGdTdGF0X0NvdW50ZXIgdG90YWxfYXV0b2FuYWx5emVfdGlt ZTsKKworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwlQZ1N0YXRf Q291bnRlciByZXZfYWxsX2Zyb3plbl9wYWdlczsKKworCUV4dFZhY1JlcG9ydCB2YWN1dW1f ZXh0OwogfSBQZ1N0YXRfU3RhdFRhYkVudHJ5OwogCiAvKiAtLS0tLS0KQEAgLTY2MCw3ICs3 MjQsNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfdW5saW5rX3JlbGF0aW9uKFJlbGF0aW9uIHJl bCk7CiAKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwg Ym9vbCBzaGFyZWQsCiAJCQkJCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0 YXRfQ291bnRlciBkZWFkdHVwbGVzLAotCQkJCQkJCQkgVGltZXN0YW1wVHogc3RhcnR0aW1l KTsKKwkJCQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSwgRXh0VmFjUmVwb3J0ICpwYXJh bXMpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJlbGF0aW9uIHJlbCwK IAkJCQkJCQkJICBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRlciBk ZWFkdHVwbGVzLAogCQkJCQkJCQkgIGJvb2wgcmVzZXRjb3VudGVyLCBUaW1lc3RhbXBUeiBz dGFydHRpbWUpOwpAQCAtNzExLDYgKzc3NSwxNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVw b3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9y ZWxhdGlvbihyZWwpKQkJCQkJCVwKIAkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJs b2Nrc19oaXQrKzsJCQkJXAogCX0gd2hpbGUgKDApCisvKiBhY2N1bXVsYXRlIHVuZnJvemVu IGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuIHBhZ2VzICovCisjZGVmaW5lIHBnc3RhdF9j b3VudF92bV9yZXZfYWxsX3Zpc2libGUocmVsKQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJ CQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwK KwkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlcysr OwlcCisJfSB3aGlsZSAoMCkKKyNkZWZpbmUgcGdzdGF0X2NvdW50X3ZtX3Jldl9hbGxfZnJv emVuKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwKKwkJaWYgKHBnc3RhdF9z aG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0X2lu Zm8tPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlcysrOwlcCisJfSB3aGlsZSAoMCkKIAog ZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0aW9uIHJlbCwgUGdT dGF0X0NvdW50ZXIgbik7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF91cGRhdGUo UmVsYXRpb24gcmVsLCBib29sIGhvdCwgYm9vbCBuZXdwYWdlKTsKQEAgLTc5OSw2ICs4NzQs NyBAQCBleHRlcm4gUGdTdGF0X1dhbFN0YXRzICpwZ3N0YXRfZmV0Y2hfc3RhdF93YWwodm9p ZCk7CiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBwZ3N0YXRfdHJhY2tfY291bnRzOwogZXh0 ZXJuIFBHRExMSU1QT1JUIGludCBwZ3N0YXRfdHJhY2tfZnVuY3Rpb25zOwogZXh0ZXJuIFBH RExMSU1QT1JUIGludCBwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3k7CitleHRlcm4gUEdETExJ TVBPUlQgYm9vbCBwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CiAKIAogLyoKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCBiL3NyYy9pbmNsdWRlL3V0aWxz L2Vsb2cuaAppbmRleCA4NTVjMTQ3MzI1Yi4uYjQwM2ZmY2MwOTAgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgK QEAgLTIzMCw2ICsyMzAsNyBAQCBleHRlcm4gaW50CWdldGVycmxldmVsKHZvaWQpOwogZXh0 ZXJuIGludAlnZXRlcnJwb3NpdGlvbih2b2lkKTsKIGV4dGVybiBpbnQJZ2V0aW50ZXJuYWxl cnJwb3NpdGlvbih2b2lkKTsKIAorZXh0ZXJuIGludAlnZXRlcnJlbGV2ZWwodm9pZCk7CiAK IC8qLS0tLS0tLS0tLQogICogT2xkLXN0eWxlIGVycm9yIHJlcG9ydGluZyBBUEk6IHRvIGJl IHVzZWQgaW4gdGhpcyB3YXk6CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhw ZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVz dC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVh ZC5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjg3ZjdlNDBi NGE2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3Zh Y3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC0wLDAgKzEsNTMgQEAK K3VudXNlZCBzdGVwIG5hbWU6IHMyX2RlbGV0ZQorUGFyc2VkIHRlc3Qgc3BlYyB3aXRoIDIg c2Vzc2lvbnMKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMyX2luc2VydCBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGUgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkIHMyX3VwZGF0ZSBz Ml9pbnNlcnRfaW50ZXJydXB0IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFi bGUgczFfY29tbWl0IHMyX2NoZWNrcG9pbnQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9z dGF0c190YWJsZQorc3RlcCBzMl9pbnNlcnQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVy YXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0 c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0 ZWQsIHZ0LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0 Lm1pc3NlZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0g J3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKwor cmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVh ZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19m cm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAg MHwgICAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAg ICAgIDB8ICAgICAgICAgICAgMAorKDEgcm93KQorCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFi bGVfcmVhZDogCisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRB QkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKworY291bnQKKy0tLS0tCisgIDEwMAorKDEgcm93 KQorCitzdGVwIHMyX3VwZGF0ZTogVVBEQVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9u IFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7CitzdGVwIHMyX2luc2VydF9p bnRlcnJ1cHQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVl cyAoMSwxKTsKK3N0ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29s YXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VMRUNU CisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5X2RlYWRf dHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3BhZ2VzLCB2 dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBn X2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAgICAg ICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRf dHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDEw MHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgMAor KDEgcm93KQorCitzdGVwIHMxX2NvbW1pdDogQ09NTUlUOworc3RlcCBzMl9jaGVja3BvaW50 OiBDSEVDS1BPSU5UOworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBT RUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQucmVjZW50bHlf ZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfcGFn ZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAg ICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRf ZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rl c3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAg ICAgMTAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAg MTAxCisoMSByb3cpCisKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRp b25fc2NoZWR1bGUgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCmlu ZGV4IDE0MzEwOWFhNGRhLi5lOTNkZDRmNjI2YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaXNv bGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNv bGF0aW9uX3NjaGVkdWxlCkBAIC05NSw2ICs5NSw3IEBAIHRlc3Q6IHRpbWVvdXRzCiB0ZXN0 OiB2YWN1dW0tY29uY3VycmVudC1kcm9wCiB0ZXN0OiB2YWN1dW0tY29uZmxpY3QKIHRlc3Q6 IHZhY3V1bS1za2lwLWxvY2tlZAordGVzdDogdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZAogdGVzdDogc3RhdHMKIHRlc3Q6IGhvcml6b25zCiB0ZXN0OiBwcmVkaWNhdGUt aGFzaApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRl bmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVj cy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjU4OTNkODk1NzNkCi0tLSAvZGV2L251bGwK KysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVw ZXRhYmxlLXJlYWQuc3BlYwpAQCAtMCwwICsxLDUzIEBACisjIFRlc3QgZm9yIGNoZWNraW5n IHJlY2VudGx5X2RlYWRfdHVwbGVzLCB0dXBsZXNfZGVsZXRlZCBhbmQgZnJvemVuIHR1cGxl cyBpbiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMuCisjIHJlY2VudGx5X2RlYWRfdHVwbGVzIHZh bHVlcyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBoYXNuJ3QgY2xlYXJlZCB0dXBsZXMgYmVj YXVzZSB0aGV5IHdlcmUgZGVsZXRlZCByZWNlbnRseS4KKyMgcmVjZW50bHlfZGVhZF90dXBs ZXMgYXJlbid0IGluY3JlYXNlZCBhZnRlciByZWxlYXNpbmcgbG9jayBjb21wYXJlZCB3aXRo IHR1cGxlc19kZWxldGVkLCB3aGljaCBpbmNyZWFzZWQKKyMgYnkgdGhlIHZhbHVlIG9mIHRo ZSBjbGVhcmVkIHR1cGxlcyB0aGF0IHRoZSB2YWN1dW0gbWFuYWdlZCB0byBjbGVhci4KKwor c2V0dXAKK3sKKyAgICBDUkVBVEUgVEFCTEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24o aWQgaW50LCBpdmFsIGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmKTsKKyAg ICBTRVQgdHJhY2tfaW9fdGltaW5nID0gb247CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzIFRPICdvbic7Cit9CisKK3RlYXJkb3duCit7CisgICAgRFJPUCBUQUJMRSB0ZXN0 X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBDQVNDQURFOworICAgIFJFU0VUIHRyYWNrX2lvX3Rp bWluZzsKKyAgICBSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKK30KKworc2Vzc2lv biBzMQorc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CisgIEJFR0lOIHRyYW5z YWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3Vu dChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsK KyAgfQorc3RlcCBzMV9jb21taXQgICAgICAgICAgICAgICAgICB7IENPTU1JVDsgfQorCitz ZXNzaW9uIHMyCitzdGVwIHMyX2luc2VydCAgICAgICAgICAgICAgICAgIHsgSU5TRVJUIElO VE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBp dmFsJTEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsgfQorc3RlcCBz Ml91cGRhdGUgICAgICAgICAgICAgICAgICB7IFVQREFURSB0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJlIGlkID4gOTAwOyB9CitzdGVwIHMy X2RlbGV0ZSAgICAgICAgICAgICAgICAgIHsgREVMRVRFIEZST00gdGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb24gd2hlcmUgaWQgPiA5MDA7IH0KK3N0ZXAgczJfaW5zZXJ0X2ludGVycnVw dCAgICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1 ZXMgKDEsMSk7IH0KK3N0ZXAgczJfdmFjdXVtICAgICAgICAgICAgICAgICAgeyBWQUNVVU0g dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247IH0KK3N0ZXAgczJfY2hlY2twb2ludCAgICAg ICAgICAgICAgeyBDSEVDS1BPSU5UOyB9CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190 YWJsZQoreworICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVk LCB2dC5yZWNlbnRseV9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVzLCB2dC5t aXNzZWRfZGVhZF9wYWdlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cit9CisK K3Blcm11dGF0aW9uCisgICAgczJfaW5zZXJ0CisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRz X3RhYmxlCisgICAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkCisgICAgczJfdXBkYXRlCisg ICAgczJfaW5zZXJ0X2ludGVycnVwdAorICAgIHMyX3ZhY3V1bQorICAgIHMyX3ByaW50X3Zh Y3V1bV9zdGF0c190YWJsZQorICAgIHMxX2NvbW1pdAorICAgIHMyX2NoZWNrcG9pbnQKKyAg ICBzMl92YWN1dW0KKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0Cmlu ZGV4IDQ3NDc4OTY5MTM1Li5mNGJiYTljYzMwYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9ydWxlcy5vdXQKQEAgLTE4MDgsNyArMTgwOCw5IEBAIHBnX3N0YXRfYWxsX3RhYmxlc3wg U0VMRUNUIGMub2lkIEFTIHJlbGlkLAogICAgIHBnX3N0YXRfZ2V0X3RvdGFsX3ZhY3V1bV90 aW1lKGMub2lkKSBBUyB0b3RhbF92YWN1dW1fdGltZSwKICAgICBwZ19zdGF0X2dldF90b3Rh bF9hdXRvdmFjdXVtX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAg ICBwZ19zdGF0X2dldF90b3RhbF9hbmFseXplX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2FuYWx5 emVfdGltZSwKLSAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKGMub2lk KSBBUyB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lCisgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0 b2FuYWx5emVfdGltZShjLm9pZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICBw Z19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcyhjLm9pZCkgQVMgcmV2X2FsbF9mcm96 ZW5fcGFnZXMsCisgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzKGMub2lk KSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gKChwZ19jbGFzcyBjCiAgICAg IExFRlQgSk9JTiBwZ19pbmRleCBpIE9OICgoYy5vaWQgPSBpLmluZHJlbGlkKSkpCiAgICAg IExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2Up KSkKQEAgLTIyMDEsNyArMjIwMyw5IEBAIHBnX3N0YXRfc3lzX3RhYmxlc3wgU0VMRUNUIHJl bGlkLAogICAgIHRvdGFsX3ZhY3V1bV90aW1lLAogICAgIHRvdGFsX2F1dG92YWN1dW1fdGlt ZSwKICAgICB0b3RhbF9hbmFseXplX3RpbWUsCi0gICAgdG90YWxfYXV0b2FuYWx5emVfdGlt ZQorICAgIHRvdGFsX2F1dG9hbmFseXplX3RpbWUsCisgICAgcmV2X2FsbF9mcm96ZW5fcGFn ZXMsCisgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3Rh YmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPSBBTlkgKEFSUkFZWydwZ19jYXRhbG9nJzo6 bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgT1IgKHNjaGVtYW5hbWUgfiAn XnBnX3RvYXN0Jzo6dGV4dCkpOwogcGdfc3RhdF91c2VyX2Z1bmN0aW9uc3wgU0VMRUNUIHAu b2lkIEFTIGZ1bmNpZCwKQEAgLTIyNTMsOSArMjI1Nyw0MyBAQCBwZ19zdGF0X3VzZXJfdGFi bGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgdG90YWxfdmFjdXVtX3RpbWUsCiAgICAgdG90YWxf YXV0b3ZhY3V1bV90aW1lLAogICAgIHRvdGFsX2FuYWx5emVfdGltZSwKLSAgICB0b3RhbF9h dXRvYW5hbHl6ZV90aW1lCisgICAgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICByZXZf YWxsX2Zyb3plbl9wYWdlcywKKyAgICByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00g cGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZ WydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5E IChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90 YWJsZXN8IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgcmVsLnJlbG5h bWUsCisgICAgc3RhdHMucmVsaWQsCisgICAgc3RhdHMudG90YWxfYmxrc19yZWFkLAorICAg IHN0YXRzLnRvdGFsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwK KyAgICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMucmVsX2Jsa3NfcmVh ZCwKKyAgICBzdGF0cy5yZWxfYmxrc19oaXQsCisgICAgc3RhdHMucGFnZXNfc2Nhbm5lZCwK KyAgICBzdGF0cy5wYWdlc19yZW1vdmVkLAorICAgIHN0YXRzLnZtX25ld19mcm96ZW5fcGFn ZXMsCisgICAgc3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMsCisgICAgc3RhdHMudm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzLAorICAgIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzLAor ICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAorICAgIHN0YXRzLnR1cGxlc19mcm96ZW4sCisg ICAgc3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMsCisgICAgc3RhdHMubWlzc2VkX2RlYWRf dHVwbGVzLAorICAgIHN0YXRzLndyYXBhcm91bmRfZmFpbHNhZmUsCisgICAgc3RhdHMuaW5k ZXhfdmFjdXVtX2NvdW50LAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndh bF9mcGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUs CisgICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAg ICBzdGF0cy50b3RhbF90aW1lCisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBw Z19uYW1lc3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAg IExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxp ZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVk LCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFn ZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3 X3Zpc2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgbWlzc2VkX2Rl YWRfcGFnZXMsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFk X3R1cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCB3cmFwYXJvdW5kX2ZhaWxzYWZlLCBpbmRl eF92YWN1dW1fY291bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19y ZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBX SEVSRSAocmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CiBwZ19zdGF0X3dhbHwgU0VMRUNU IHdhbF9yZWNvcmRzLAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iNWVhOWM5 YWIxZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDIyNyBAQAorLS0KKy0tIFRl c3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdh bGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBu dW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBu dW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4K Ky0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJl Y2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUg cXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfY291 bnRzIAorLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCitcc2V0IHNhbXBsZV9zaXpl IDEwMDAwCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0 IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworLS0gVGVzdCB0aGF0IHZh Y3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgor U0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworQ1JFQVRFIFRBQkxFIHZl c3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3Rv ciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworREVMRVRFIEZS T00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVS X1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVDVCBy ZWxuYW1lLHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGly dGllZCwgdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwK K3BhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZt X25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1pc3Nl ZF9kZWFkX3BhZ2VzLAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5 X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwK K3dhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193 cml0ZV90aW1lLGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisgcmVsbmFtZSB8IHRv dGFsX2Jsa3NfcmVhZCB8IHRvdGFsX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwg dG90YWxfYmxrc193cml0dGVuIHwgcmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCB8IHBh Z2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZt X25ld192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgbWlz c2VkX2RlYWRfcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHR1cGxlc19mcm96ZW4gfCByZWNl bnRseV9kZWFkX3R1cGxlcyB8IG1pc3NlZF9kZWFkX3R1cGxlcyB8IGluZGV4X3ZhY3V1bV9j b3VudCB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IGJsa19yZWFkX3Rp bWUgfCBibGtfd3JpdGVfdGltZSB8IGRlbGF5X3RpbWUgfCB0b3RhbF90aW1lIAorLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyB2ZXN0YXQgIHwgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAg ICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwIHwgICAg ICAgICAgICAwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAg ICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgIDAgfCAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAg ICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwg ICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgIDAgfCAgICAgICAwIHwgICAgICAgICAw IHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAg ICAgIDAKKygxIHJvdykKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CitEUk9Q IFRBQkxFIHZlc3RhdCBDQVNDQURFOworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsg IC0tIG11c3QgYmUgb24KKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0 cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg CisoMSByb3cpCisKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7 CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2 ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7 CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMg dmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMs dHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9u ZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3Nj YW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLQorIHZlc3RhdCAgfCAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAg IDAgfCAgICAgIDQ1NSB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cp CisKK1NFTEVDVCByZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdCcgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUg dGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93 IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBi dXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1 bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJv emVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4g MCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFn ZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyBy ZWxuYW1lIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFn ZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93 KQorCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBB UyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3Zl ZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAor LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29y ZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gTG9v ayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMg ZFdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisg dCAgIHwgdAorKDEgcm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVz dGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwor Q0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVD VCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMtOmZwID4gMCBBUyB2bV9uZXdfZnJv emVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVs cGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPiAwIEFTIHBh Z2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPiAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxu YW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHZtX25l d19mcm96ZW5fcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nh bm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAg ICB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZt X25ld19mcm96ZW5fcGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMg QVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1l ID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBh ZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdy LCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0Cist LSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAgQVMg ZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisgZHdyIHwgZHdiIAorLS0tLS0rLS0tLS0KKyB0ICAg fCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMg aGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCcgXGdzZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4 ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxl Y3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRl dGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3Nhcnkg dG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBk d3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkyCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdz ZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUg ZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRGUEksIDpk d2IyPTAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0K KyB0ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdf ZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVs ZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAwIEFTIHJl bHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3Jl bW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2 dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVw bGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVk IAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCB0 ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAg ICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFT IGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVk IEFTIHBzLHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJl bGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkg QVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5V UCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0 YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJp YWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNU IHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2FsX2J5dGVzLTpod2IgQVMgZHdiMywgd2Fs X2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQK K1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBk V0I7CisgZHdyIHwgZGZwaSB8IGR3YiAKKy0tLS0tKy0tLS0tLSstLS0tLQorIHQgICB8IHQg ICAgfCB0CisoMSByb3cpCisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMg Y29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4g dmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdl cywgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxF Q1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zy b3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJl bHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBw YWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9u ZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3Nj YW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLQorIHZlc3RhdCAgfCB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFC TEUgdmVzdGF0IENBU0NBREU7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAo YXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElO VE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXpl KSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CistLSBtdXN0IGJlIGVtcHR5CitTRUxFQ1Qgdm1f bmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVu X3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZt X25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHJldl9hbGxfZnJv emVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgIDAgfCAgICAg ICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAg ICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1ZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0g YmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4g MCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4gMCBBUyB2 bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiAwIEFT IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDAg QVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBBUyBy ZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19z dGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAn dmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxf dGFibGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9w YWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3Bh Z2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAg ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxF Q1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMg cHYsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5f cGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKK1VQREFURSB2ZXN0 YXQgU0VUIHggPSB4ICsgMTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiA6cGYg QVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA+IDpwdiBBUyB2 bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiA6cHZm IEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+ IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+ IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBw Z19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25l d192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgcmV2X2Fs bF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgZiAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCisoMSBy b3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9uZXdfdmlzaWJs ZV9wYWdlcyBBUyBwdiwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2 X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2 cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVS RSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0Owor LS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0g OnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYg QVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0g OnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3Bh Z2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3Bh Z2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFj dXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3Rh Ymxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxp ZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyB2bV9uZXdfZnJvemVuX3BhZ2VzIHwg dm1fbmV3X3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgfCBy ZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQK KygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCmluZGV4IDBhMzVmMmY4ZjZhLi45OWJjYzQ2ZWZjYyAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC0xMzYsMyArMTM2LDggQEAgdGVzdDog ZmFzdF9kZWZhdWx0CiAjIHJ1biB0YWJsZXNwYWNlIHRlc3QgYXQgdGhlIGVuZCBiZWNhdXNl IGl0IGRyb3BzIHRoZSB0YWJsZXNwYWNlIGNyZWF0ZWQgZHVyaW5nCiAjIHNldHVwIHRoYXQg b3RoZXIgdGVzdHMgbWF5IHVzZS4KIHRlc3Q6IHRhYmxlc3BhY2UKKworIyAtLS0tLS0tLS0t CisjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCisjIC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3Fs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41YmMzNGJlYzY0Ygot LS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNf c3RhdGlzdGljcy5zcWwKQEAgLTAsMCArMSwxODMgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRp dmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3Rp Y3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZy b3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZy b3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0 aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBi ZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCisKKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgor U0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCitcc2V0IHNhbXBsZV9zaXplIDEw MDAwCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3Qg aXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisKKy0tIFRlc3QgdGhhdCB2 YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4K K1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKKworQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitERUxF VEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworCitWQUNVVU0gKFBBUkFMTEVMIDAs IEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gTXVzdCBiZSBlbXB0eS4K K1NFTEVDVCByZWxuYW1lLHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFs X2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9i bGtzX2hpdCwKK3BhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5f cGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4s IHJlY2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1 bV9jb3VudCwKK3dhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3Rp bWUsIGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKK1JF U0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FE RTsKKworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKwor LS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2Zv cmNlX25leHRfZmx1c2goKTsKKworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBz bmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQg U0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitB TkFMWVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdfY2xhc3Mgd2hl cmUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVS RSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0 ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19m cm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdl c19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VM RUNUIHJlbHBhZ2VzIEFTIHJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAn dmVzdGF0JyBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1J VCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nhcnkg dG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBUaGUgdGFi bGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVz IHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQg cGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwg dGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVu X3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4gMCBB UyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3Nj YW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNf cmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVD VCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBh Z2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3Jl IFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3 cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS0gTG9vayBpbnRv IFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdSLCB3 YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXQnOworCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikg dmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAor U0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPiAwIEFTIHZtX25l d19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID4gMCBBUyB0dXBsZXNfZGVsZXRl ZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA+IDAg QVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA+IDAgQVMgcGFnZXNfcmVtb3Zl ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2bV9u ZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFT IHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBh ZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdy LCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisK Ky0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyID4gMCBB UyBkV1IsIDpkd2IgPiAwIEFTIGRXQjsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8g dmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Is d2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2 ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQg dG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3Rp Y3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQg aXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsK KworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpo ZnBpIEFTIGRmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFu Y2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyMj0wIEFTIGRXUiwgOmRm cGkyPTAgQVMgZEZQSSwgOmR3YjI9MCBBUyBkV0I7CisKK1NFTEVDVCB2dC5yZWxuYW1lLHZt X25ld19mcm96ZW5fcGFnZXMtOmZwID0gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxl c19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA8IDAg QVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQscGFn ZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcg QU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBm cCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBB UyBwcyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxp ZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkg QVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdCcgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0Owor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwg c3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8g dmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NF TEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjMsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjMs IHdhbF9mcGktOmhmcGkgQVMgZGZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLVRoZXJlIGFyZSBub3RoaW5nIGNo YW5nZWQKK1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+ MCBBUyBkV0I7CisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJl c3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVt IGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdlcywgcGFn ZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQu cmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9w YWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2Vz IC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19z Y2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworCitEUk9QIFRBQkxFIHZlc3RhdCBD QVNDQURFOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1f ZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKKworSU5TRVJUIElOVE8gdmVzdGF0 IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4Owor QU5BTFlaRSB2ZXN0YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCB2bV9uZXdfZnJv emVuX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMs cmV2X2FsbF92aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcworRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSBiYWNr ZW5kIGRlZnJlZXplZCBwYWdlcworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiAwIEFT IHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25l d192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBBUyBy ZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJldl9h bGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRf YWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0 YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJs ZXMucmVsaWQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zp c2libGVfcGFnZXMgQVMgcHYsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2Ziwg cmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMg aGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBX SEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdz ZXQKKworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOworVkFDVVVNIChQQVJBTExF TCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKK1NFTEVDVCB2bV9uZXdf ZnJvemVuX3BhZ2VzID4gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2li bGVfcGFnZXMgPiA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzID4gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMscmV2 X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZf YWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1 dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworU0VMRUNUIHZt X25ld19mcm96ZW5fcGFnZXMgQVMgcGYsIHZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHB2LCB2 bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgQVMgcHZmLCByZXZfYWxsX2Zyb3plbl9wYWdl cyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVt X3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5y ZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAorCitWQUNVVU0gKFBBUkFM TEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gdmFjdXVtIGZy ZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25l d19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zp c2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAg QVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAg QVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywg cGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1l ID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRf YWxsX3RhYmxlcy5yZWxpZDsKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0tIAoyLjM0LjEKCg== --------------YSbG1oRSTJ3ciWnOsx064BnJ Content-Type: text/plain; charset=UTF-8; name="vacuum_moved_new_entry.diff.no-cfbot" Content-Disposition: attachment; filename="vacuum_moved_new_entry.diff.no-cfbot" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCBkOWIwNzgzNzgzMS4u YzYyMGQwODgyMDQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1 bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAg LTQxMyw3ICs0MTMsNyBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAKIAlpbnQzMgkJ d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsgLyogbnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1 dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJvdW5kIHNodXRkb3duICovCiAKLQlFeHRWYWNS ZXBvcnQgZXh0VmFjUmVwb3J0OworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBleHRW YWNSZXBvcnQ7CiB9IExWUmVsU3RhdGU7CiAKIApAQCAtNTI1LDcgKzUyNSw3IEBAIGV4dHZh Y19zdGF0c19zdGFydChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVy cykKICAqLwogc3RhdGljIHZvaWQKIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBM VkV4dFN0YXRDb3VudGVycyAqY291bnRlcnMsCi0JCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9y dCkKKwkJCQkgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpyZXBvcnQpCiB7CiAJV2Fs VXNhZ2UJd2FsdXNhZ2U7CiAJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CkBAIC02MDMsOSArNjAz LDkgQEAgZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0Rl bGV0ZVJlc3VsdCAqc3RhdHMsCiAKIHZvaWQKIGV4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0 aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKLQkJCQkJIExWRXh0U3Rh dENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCisJCQkJCSBM VkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMsIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNv dW50cyAqcmVwb3J0KQogewotCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBv cnQpKTsKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0aW9u Q291bnRzKSk7CiAKIAlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNvdW50ZXJzLT5jb21tb24s IHJlcG9ydCk7CiAJcmVwb3J0LT50eXBlID0gUEdTVEFUX0VYVFZBQ19JTkRFWDsKQEAgLTEx MjcsNiArMTEyNywxNCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1Q YXJhbXMgKnBhcmFtcywKIAkgKgogCSAqIFdlIGFyZSByZWFkeSB0byBzZW5kIHZhY3V1bSBz dGF0aXN0aWNzIGluZm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucy4KIAkgKi8KKworCXBn c3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJCSByZWwt PnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVw bGVzLCAwKSwKKwkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsKKwkJCQkJ CSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCSBzdGFydHRpbWUpOworCiAJ aWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQogCXsKIAkJLyogTWFrZSBnZW5l cmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgYW5kCkBAIC0xMTM1LDI1ICsxMTQz LDEwIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCQlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVsLCAmZXh0VmFjQ291bnRlcnMs ICYodmFjcmVsLT5leHRWYWNSZXBvcnQpKTsKIAkJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9z dGF0aXN0aWNzKCZleHRWYWNDb3VudGVycywgdmFjcmVsKTsKIAotCQlwZ3N0YXRfcmVwb3J0 X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCi0JCQkJCQkgcmVsLT5yZF9yZWwtPnJl bGlzc2hhcmVkLAotCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCi0J CQkJCQkgdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyArCi0gCQkJCQkJIHZhY3JlbC0+ bWlzc2VkX2RlYWRfdHVwbGVzLAotCQkJCQkJIHN0YXJ0dGltZSwKLQkJCQkJCSAmKHZhY3Jl bC0+ZXh0VmFjUmVwb3J0KSk7CisJCXBnc3RhdF9yZXBvcnRfdGFiX3ZhY3V1bV9leHRzdGF0 cyh2YWNyZWwtPnJlbG9pZCwgdHJ1ZSwKKwkJCQkJCSYodmFjcmVsLT5leHRWYWNSZXBvcnQp KTsKIAogCX0KLQllbHNlCi0JewotCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdl dFJlbGlkKHJlbCksCi0JCQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJ CQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKLQkJCQkJCQkgdmFjcmVsLT5y ZWNlbnRseV9kZWFkX3R1cGxlcyArCi0JCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVw bGVzLAotCQkJCQkJCSBzdGFydHRpbWUsCi0JCQkJCQkJIE5VTEwpOwotCX0KIAogCXBnc3Rh dF9wcm9ncmVzc19lbmRfY29tbWFuZCgpOwogCkBAIC0zMzQ5LDcgKzMzNDIsNyBAQCBsYXp5 X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKmlzdGF0LAogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8g c2F2ZWRfZXJyX2luZm87CiAJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7 Ci0JRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25D b3VudHMgZXh0VmFjUmVwb3J0OwogCiAJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1 ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KIAlleHR2 YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CkBA IC0zMzg0LDkgKzMzNzcsOCBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5k cmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCXsKIAkJLyogTWFrZSBleHRl bmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLwogCQlleHR2YWNfc3RhdHNf ZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQp OwotCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCi0J CQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJCQkJMCwgMCwgMCwg JmV4dFZhY1JlcG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdGFiX3ZhY3V1bV9leHRzdGF0cyh2 YWNyZWwtPmluZG9pZCwgdHJ1ZSwKKwkJCQkJCQkJCQkgICZleHRWYWNSZXBvcnQpOwogCX0K IAogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVy cm9yIHRyYWNlYmFjayAqLwpAQCAtMzQxNCw3ICszNDA2LDcgQEAgbGF6eV9jbGVhbnVwX29u ZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQs CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJf aW5mbzsKIAlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKLQlFeHRWYWNS ZXBvcnQgZXh0VmFjUmVwb3J0OworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBleHRW YWNSZXBvcnQ7CiAKIAkvKiBTZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRo ZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRleCAqLwogCWV4dHZhY19zdGF0c19z dGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsKQEAgLTM0NDgsOSAr MzQ0MCw4IEBAIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRl eEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCXsKIAkJLyogTWFrZSBleHRlbmRlZCB2YWN1 dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLwogCQlleHR2YWNfc3RhdHNfZW5kX2lkeChp bmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOwotCQlwZ3N0 YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCi0JCQkJCQkJCWlu ZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJCQkJMCwgMCwgMCwgJmV4dFZhY1Jl cG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdGFiX3ZhY3V1bV9leHRzdGF0cyh2YWNyZWwtPmlu ZG9pZCwgdHJ1ZSwKKwkJCQkJCQkJCQkgICZleHRWYWNSZXBvcnQpOwogCX0KIAogCS8qIFJl dmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNl YmFjayAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMgYi9zcmMv YmFja2VuZC9jYXRhbG9nL2hlYXAuYwppbmRleCBiZDM1NTRjMGJmZC4uNzVjMmUxMjJiZjIg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvaGVhcC5jCkBAIC0xODczLDYgKzE4NzMsNyBAQCBoZWFwX2Ryb3Bfd2l0 aF9jYXRhbG9nKE9pZCByZWxpZCkKIAogCS8qIGVuc3VyZSB0aGF0IHN0YXRzIGFyZSBkcm9w cGVkIGlmIHRyYW5zYWN0aW9uIGNvbW1pdHMgKi8KIAlwZ3N0YXRfZHJvcF9yZWxhdGlvbihy ZWwpOworCXBnc3RhdF92YWN1dW1fcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdfY2IoUmVsYXRp b25HZXRSZWxpZChyZWwpKTsKIAogCS8qCiAJICogQ2xvc2UgcmVsY2FjaGUgZW50cnksIGJ1 dCAqa2VlcCogQWNjZXNzRXhjbHVzaXZlTG9jayBvbiB0aGUgcmVsYXRpb24KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaW5kZXguYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv aW5kZXguYwppbmRleCA3MzlhOTJiZGNjMS4uZTRmYTc1NGFhYjQgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvaW5kZXguYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2lu ZGV4LmMKQEAgLTIzMjcsNiArMjMyNyw3IEBAIGluZGV4X2Ryb3AoT2lkIGluZGV4SWQsIGJv b2wgY29uY3VycmVudCwgYm9vbCBjb25jdXJyZW50X2xvY2tfbW9kZSkKIAogCS8qIGVuc3Vy ZSB0aGF0IHN0YXRzIGFyZSBkcm9wcGVkIGlmIHRyYW5zYWN0aW9uIGNvbW1pdHMgKi8KIAlw Z3N0YXRfZHJvcF9yZWxhdGlvbih1c2VySW5kZXhSZWxhdGlvbik7CisJcGdzdGF0X3ZhY3V1 bV9yZWxhdGlvbl9kZWxldGVfcGVuZGluZ19jYihSZWxhdGlvbkdldFJlbGlkKHVzZXJJbmRl eFJlbGF0aW9uKSk7CiAKIAkvKgogCSAqIENsb3NlIGFuZCBmbHVzaCB0aGUgaW5kZXgncyBy ZWxjYWNoZSBlbnRyeSwgdG8gZW5zdXJlIHJlbGNhY2hlIGRvZXNuJ3QKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL2RiY29tbWFuZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL2RiY29tbWFuZHMuYwppbmRleCA1ZmJiY2RhYWJiMS4uYzRiOTEwY2Q5MjggMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2RiY29tbWFuZHMuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9kYmNvbW1hbmRzLmMKQEAgLTE3ODksNiArMTc4OSw3IEBAIGRyb3Bk Yihjb25zdCBjaGFyICpkYm5hbWUsIGJvb2wgbWlzc2luZ19vaywgYm9vbCBmb3JjZSkKIAkg KiBUZWxsIHRoZSBjdW11bGF0aXZlIHN0YXRzIHN5c3RlbSB0byBmb3JnZXQgaXQgaW1tZWRp YXRlbHksIHRvby4KIAkgKi8KIAlwZ3N0YXRfZHJvcF9kYXRhYmFzZShkYl9pZCk7CisJcGdz dGF0X2Ryb3BfdmFjdXVtX2RhdGFiYXNlKGRiX2lkKTsKIAogCS8qCiAJICogRXhjZXB0IGZv ciB0aGUgZGVsZXRpb24gb2YgdGhlIGNhdGFsb2cgcm93LCBzdWJzZXF1ZW50IGFjdGlvbnMg YXJlIG5vdApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxs ZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggMDAw Mzg4YTU2NWYuLmMyYWJlZDE0NGM0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5k cy92YWN1dW1wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBh cmFsbGVsLmMKQEAgLTg2OSw3ICs4NjksNyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19v bmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJ SW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdF9yZXM7CiAJSW5kZXhWYWN1dW1JbmZvIGl2 aW5mbzsKIAlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKLQlFeHRWYWNS ZXBvcnQgZXh0VmFjUmVwb3J0OworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBleHRW YWNSZXBvcnQ7CiAKIAkvKgogCSAqIFVwZGF0ZSB0aGUgcG9pbnRlciB0byB0aGUgY29ycmVz cG9uZGluZyBidWxrLWRlbGV0aW9uIHJlc3VsdCBpZiBzb21lb25lCkBAIC05MTMsOSArOTEz LDggQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVt U3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCXsKIAkJLyogTWFrZSBleHRlbmRlZCB2 YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLwogCQlleHR2YWNfc3RhdHNfZW5kX2lk eChpbmRyZWwsIGlzdGF0X3JlcywgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsK LQkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAotCQkJ CQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkJCTAsIDAsIDAsICZl eHRWYWNSZXBvcnQpOworCQlwZ3N0YXRfcmVwb3J0X3RhYl92YWN1dW1fZXh0c3RhdHMoUmVs YXRpb25HZXRSZWxpZChpbmRyZWwpLCB0cnVlLAorCQkJCQkJCQkJCSAgJmV4dFZhY1JlcG9y dCk7CiAJfQogCiAJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUKaW5kZXgg OWMyNDQzZTFlY2QuLjE4M2Y3NTE0ZDJkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9N YWtlZmlsZQpAQCAtMjcsNiArMjcsNyBAQCBPQkpTID0gXAogCXBnc3RhdF9mdW5jdGlvbi5v IFwKIAlwZ3N0YXRfaW8ubyBcCiAJcGdzdGF0X3JlbGF0aW9uLm8gXAorCXBnc3RhdF92YWN1 dW0ubyBcCiAJcGdzdGF0X3JlcGxzbG90Lm8gXAogCXBnc3RhdF9zaG1lbS5vIFwKIAlwZ3N0 YXRfc2xydS5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggMDlm YTBmYmVlNTcuLjhhNWYzNTVlOWJjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9wZ3N0YXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXQuYwpAQCAtNDc4LDYgKzQ3OCwzNCBAQCBzdGF0aWMgY29uc3QgUGdTdGF0X0tpbmRJbmZv IHBnc3RhdF9raW5kX2J1aWx0aW5faW5mb3NbUEdTVEFUX0tJTkRfQlVJTFRJTl9TSVpFXQog CQkucmVzZXRfYWxsX2NiID0gcGdzdGF0X3dhbF9yZXNldF9hbGxfY2IsCiAJCS5zbmFwc2hv dF9jYiA9IHBnc3RhdF93YWxfc25hcHNob3RfY2IsCiAJfSwKKwlbUEdTVEFUX0tJTkRfVkFD VVVNX0RCXSA9IHsKKwkJLm5hbWUgPSAidmFjdXVtIHN0YXRpc3RpY3MiLAorCisJCS5maXhl ZF9hbW91bnQgPSBmYWxzZSwKKwkJLndyaXRlX3RvX2ZpbGUgPSB0cnVlLAorCQkvKiBzbyBw Z19zdGF0X2RhdGFiYXNlIGVudHJpZXMgY2FuIGJlIHNlZW4gaW4gYWxsIGRhdGFiYXNlcyAq LworCQkuYWNjZXNzZWRfYWNyb3NzX2RhdGFiYXNlcyA9IHRydWUsCisKKwkJLnNoYXJlZF9z aXplID0gc2l6ZW9mKFBnU3RhdFNoYXJlZF9WYWN1dW1EQiksCisJCS5zaGFyZWRfZGF0YV9v ZmYgPSBvZmZzZXRvZihQZ1N0YXRTaGFyZWRfVmFjdXVtREIsIHN0YXRzKSwKKwkJLnNoYXJl ZF9kYXRhX2xlbiA9IHNpemVvZigoKFBnU3RhdFNoYXJlZF9WYWN1dW1EQiAqKSAwKS0+c3Rh dHMpLAorCQkucGVuZGluZ19zaXplID0gc2l6ZW9mKFBnU3RhdF9WYWN1dW1EQkNvdW50cyks CisKKwkJLmZsdXNoX3BlbmRpbmdfY2IgPSBwZ3N0YXRfdmFjdXVtX2RiX2ZsdXNoX2NiLAor CX0sCisJW1BHU1RBVF9LSU5EX1ZBQ1VVTV9SRUxBVElPTl0gPSB7CisJCS5uYW1lID0gInZh Y3V1bSBzdGF0aXN0aWNzIiwKKworCQkuZml4ZWRfYW1vdW50ID0gZmFsc2UsCisJCS53cml0 ZV90b19maWxlID0gdHJ1ZSwKKworCQkuc2hhcmVkX3NpemUgPSBzaXplb2YoUGdTdGF0U2hh cmVkX1ZhY3V1bVJlbGF0aW9uKSwKKwkJLnNoYXJlZF9kYXRhX29mZiA9IG9mZnNldG9mKFBn U3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiwgc3RhdHMpLAorCQkuc2hhcmVkX2RhdGFfbGVu ID0gc2l6ZW9mKCgoUGdTdGF0U2hhcmVkX1ZhY3V1bVJlbGF0aW9uICopIDApLT5zdGF0cyks CisJCS5wZW5kaW5nX3NpemUgPSBzaXplb2YoUGdTdGF0X1JlbGF0aW9uVmFjdXVtUGVuZGlu ZyksCisKKwkJLmZsdXNoX3BlbmRpbmdfY2IgPSBwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2Zs dXNoX2NiCisJfSwKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9kYXRhYmFzZS5jCmluZGV4IGQ1YzFlMmEyY2Y1Li4zNDRmMGEyNDY4MyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMKQEAg LTQ2LDYgKzQ2LDE1IEBAIHBnc3RhdF9kcm9wX2RhdGFiYXNlKE9pZCBkYXRhYmFzZWlkKQog CXBnc3RhdF9kcm9wX3RyYW5zYWN0aW9uYWwoUEdTVEFUX0tJTkRfREFUQUJBU0UsIGRhdGFi YXNlaWQsIEludmFsaWRPaWQpOwogfQogCisvKgorICogUmVtb3ZlIGVudHJ5IGZvciB0aGUg ZGF0YWJhc2UgYmVpbmcgZHJvcHBlZC4KKyAqLwordm9pZAorcGdzdGF0X2Ryb3BfdmFjdXVt X2RhdGFiYXNlKE9pZCBkYXRhYmFzZWlkKQoreworCXBnc3RhdF9kcm9wX3RyYW5zYWN0aW9u YWwoUEdTVEFUX0tJTkRfVkFDVVVNX0RCLCBkYXRhYmFzZWlkLCBJbnZhbGlkT2lkKTsKK30K KwogLyoKICAqIENhbGxlZCBmcm9tIGF1dG92YWN1dW0uYyB0byByZXBvcnQgc3RhcnR1cCBv ZiBhbiBhdXRvdmFjdXVtIHByb2Nlc3MuCiAgKiBXZSBhcmUgY2FsbGVkIGJlZm9yZSBJbml0 UG9zdGdyZXMgaXMgZG9uZSwgc28gY2FuJ3QgcmVseSBvbiBNeURhdGFiYXNlSWQ7CkBAIC00 NDksNyArNDU4LDYgQEAgcGdzdGF0X2RhdGFiYXNlX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJl ZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5 X3JlZik7CiAKIAltZW1zZXQocGVuZGluZ2VudCwgMCwgc2l6ZW9mKCpwZW5kaW5nZW50KSk7 Ci0JbWVtc2V0KCYocGVuZGluZ2VudCktPnZhY3V1bV9leHQsIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKIAogCXJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCA1ZDM2ZDVhMjE0MC4uZGI2ZGJhNzAz MzEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxh dGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlv bi5jCkBAIC00Nyw4ICs0Nyw2IEBAIHN0YXRpYyB2b2lkIGFkZF90YWJzdGF0X3hhY3RfbGV2 ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbywgaW50IG5lc3RfbGV2CiBzdGF0 aWMgdm9pZCBlbnN1cmVfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAq cGdzdGF0X2luZm8pOwogc3RhdGljIHZvaWQgc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMoUGdT dGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMsIGJvb2wgaXNfZHJvcCk7CiBzdGF0aWMgdm9p ZCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0 cmFucyk7Ci1zdGF0aWMgdm9pZCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0 VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAotCQkJCQkJCSAgIGJvb2wgYWNj dW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pOwogCiAKIC8qCkBAIC0yMDUsNTAgKzIw MywxNyBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCiAJfQogfQogCi0v KiAtLS0tLS0tLS0KLSAqIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKCkgLQotICoKLSAq CVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0byl2YWN1dW0gaW50ZXJydXB0aW9u LgotICogLS0tLS0tLS0tCi0gKi8KLXZvaWQKLXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9y KE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCi17Ci0JUGdTdGF0X0Vu dHJ5UmVmICplbnRyeV9yZWY7Ci0JUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5 OwotCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OwotCU9pZAkJCWRib2lkID0gIE15 RGF0YWJhc2VJZDsKLQlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7CS8qIHBlbmRpbmcg ZGF0YWJhc2UgZW50cnkgKi8KLQotCWlmICghcGdzdGF0X3RyYWNrX2NvdW50cykKLQkJcmV0 dXJuOwotCi0JZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RB VF9LSU5EX1JFTEFUSU9OLAotCQkJCQkJCQkJCQlkYm9pZCwgdGFibGVvaWQsIGZhbHNlKTsK LQotCXNodGFiZW50cnkgPSAoUGdTdGF0U2hhcmVkX1JlbGF0aW9uICopIGVudHJ5X3JlZi0+ c2hhcmVkX3N0YXRzOwotCXRhYmVudHJ5ID0gJnNodGFiZW50cnktPnN0YXRzOwotCi0JdGFi ZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKLQlwZ3N0YXRfdW5sb2NrX2VudHJ5 KGVudHJ5X3JlZik7Ci0KLQlkYmVudHJ5ID0gcGdzdGF0X3ByZXBfZGF0YWJhc2VfcGVuZGlu ZyhkYm9pZCk7Ci0JZGJlbnRyeS0+dmFjdXVtX2V4dC5lcnJvcnMrKzsKLQlkYmVudHJ5LT52 YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Ci19Ci0KIC8qCiAgKiBSZXBvcnQgdGhhdCB0aGUg dGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElPIHN0YXRpc3RpY3MuCiAgKi8K IHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQs CiAJCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFk dHVwbGVzLAotCQkJCQkgVGltZXN0YW1wVHogc3RhcnR0aW1lLCBFeHRWYWNSZXBvcnQgKnBh cmFtcykKKwkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSkKIHsKIAlQZ1N0YXRfRW50cnlS ZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CiAJ UGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7Ci0JUGdTdGF0U2hhcmVkX0RhdGFiYXNl ICpkYmVudHJ5OwogCU9pZAkJCWRib2lkID0gKHNoYXJlZCA/IEludmFsaWRPaWQgOiBNeURh dGFiYXNlSWQpOwogCVRpbWVzdGFtcFR6IHRzOwogCVBnU3RhdF9Db3VudGVyIGVsYXBzZWR0 aW1lOwpAQCAtMjcwLDggKzIzNSw2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJs ZW9pZCwgYm9vbCBzaGFyZWQsCiAJdGFiZW50cnktPmxpdmVfdHVwbGVzID0gbGl2ZXR1cGxl czsKIAl0YWJlbnRyeS0+ZGVhZF90dXBsZXMgPSBkZWFkdHVwbGVzOwogCi0JcGdzdGF0X2Fj Y3VtdWxhdGVfZXh0dmFjX3N0YXRzKCZ0YWJlbnRyeS0+dmFjdXVtX2V4dCwgcGFyYW1zLCB0 cnVlKTsKLQogCS8qCiAJICogSXQgaXMgcXVpdGUgcG9zc2libGUgdGhhdCBhIG5vbi1hZ2dy ZXNzaXZlIFZBQ1VVTSBlbmRlZCB1cCBza2lwcGluZwogCSAqIHZhcmlvdXMgcGFnZXMsIGhv d2V2ZXIsIHdlJ2xsIHplcm8gdGhlIGluc2VydCBjb3VudGVyIGhlcmUgcmVnYXJkbGVzcy4K QEAgLTMwNywxNiArMjcwLDYgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lk LCBib29sIHNoYXJlZCwKIAkgKi8KIAlwZ3N0YXRfZmx1c2hfaW8oZmFsc2UpOwogCSh2b2lk KSBwZ3N0YXRfZmx1c2hfYmFja2VuZChmYWxzZSwgUEdTVEFUX0JBQ0tFTkRfRkxVU0hfSU8p OwotCi0JaWYgKGRib2lkICE9IEludmFsaWRPaWQpCi0JewotCQllbnRyeV9yZWYgPSBwZ3N0 YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfREFUQUJBU0UsCi0JCQkJCQkJ CQkJCWRib2lkLCBJbnZhbGlkT2lkLCBmYWxzZSk7Ci0JCWRiZW50cnkgPSAoUGdTdGF0U2hh cmVkX0RhdGFiYXNlICopIGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOwotCi0JCXBnc3RhdF9h Y2N1bXVsYXRlX2V4dHZhY19zdGF0cygmZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dCwgcGFy YW1zLCBmYWxzZSk7Ci0JCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKLQl9CiB9 CiAKIC8qCkBAIC05NDIsNiArODk1LDEyIEBAIHBnc3RhdF9yZWxhdGlvbl9mbHVzaF9jYihQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcmV0dXJuIHRydWU7 CiB9CiAKK3ZvaWQKK3Bnc3RhdF92YWN1dW1fcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdfY2Io T2lkIHJlbGlkKQoreworCXBnc3RhdF9kcm9wX3RyYW5zYWN0aW9uYWwoUEdTVEFUX0tJTkRf VkFDVVVNX1JFTEFUSU9OLCByZWxpZCwgSW52YWxpZE9pZCk7Cit9CisKIHZvaWQKIHBnc3Rh dF9yZWxhdGlvbl9kZWxldGVfcGVuZGluZ19jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3Jl ZikKIHsKQEAgLTEwNDQsNjAgKzEwMDMsNCBAQCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVy cyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucykKIAkJdHJhbnMtPnR1cGxlc191cGRh dGVkID0gdHJhbnMtPnVwZGF0ZWRfcHJlX3RydW5jZHJvcDsKIAkJdHJhbnMtPnR1cGxlc19k ZWxldGVkID0gdHJhbnMtPmRlbGV0ZWRfcHJlX3RydW5jZHJvcDsKIAl9Ci19Ci0KLXN0YXRp YyB2b2lkCi1wZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpk c3QsIEV4dFZhY1JlcG9ydCAqc3JjLAotCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0 eXBlX3NwZWNpZmljX2luZm8pCi17Ci0JaWYoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlz dGljcykKLQkJcmV0dXJuOwotCi0JZHN0LT50b3RhbF9ibGtzX3JlYWQgKz0gc3JjLT50b3Rh bF9ibGtzX3JlYWQ7Ci0JZHN0LT50b3RhbF9ibGtzX2hpdCArPSBzcmMtPnRvdGFsX2Jsa3Nf aGl0OwotCWRzdC0+dG90YWxfYmxrc19kaXJ0aWVkICs9IHNyYy0+dG90YWxfYmxrc19kaXJ0 aWVkOwotCWRzdC0+dG90YWxfYmxrc193cml0dGVuICs9IHNyYy0+dG90YWxfYmxrc193cml0 dGVuOwotCWRzdC0+d2FsX2J5dGVzICs9IHNyYy0+d2FsX2J5dGVzOwotCWRzdC0+d2FsX2Zw aSArPSBzcmMtPndhbF9mcGk7Ci0JZHN0LT53YWxfcmVjb3JkcyArPSBzcmMtPndhbF9yZWNv cmRzOwotCWRzdC0+YmxrX3JlYWRfdGltZSArPSBzcmMtPmJsa19yZWFkX3RpbWU7Ci0JZHN0 LT5ibGtfd3JpdGVfdGltZSArPSBzcmMtPmJsa193cml0ZV90aW1lOwotCWRzdC0+ZGVsYXlf dGltZSArPSBzcmMtPmRlbGF5X3RpbWU7Ci0JZHN0LT50b3RhbF90aW1lICs9IHNyYy0+dG90 YWxfdGltZTsKLQlkc3QtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0gc3JjLT53cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50OwotCWRzdC0+ZXJyb3JzICs9IHNyYy0+ZXJyb3JzOwot Ci0JaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKLQkJcmV0dXJuOwot Ci0JaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQpCi0JCWRzdC0+dHlw ZSA9IHNyYy0+dHlwZTsKLQotCUFzc2VydChzcmMtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19J TlZBTElEIHx8IHNyYy0+dHlwZSA9PSBkc3QtPnR5cGUpOwotCi0JaWYgKGRzdC0+dHlwZSA9 PSBzcmMtPnR5cGUpCi0JewotCQlkc3QtPmJsa3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0 Y2hlZDsKLQkJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OwotCi0JCWlmIChkc3Qt PnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19UQUJMRSkKLQkJewotCQkJZHN0LT50YWJsZS5wYWdl c19zY2FubmVkICs9IHNyYy0+dGFibGUucGFnZXNfc2Nhbm5lZDsKLQkJCWRzdC0+dGFibGUu cGFnZXNfcmVtb3ZlZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3JlbW92ZWQ7Ci0JCQlkc3QtPnRh YmxlLnZtX25ld19mcm96ZW5fcGFnZXMgKz0gc3JjLT50YWJsZS52bV9uZXdfZnJvemVuX3Bh Z2VzOwotCQkJZHN0LT50YWJsZS52bV9uZXdfdmlzaWJsZV9wYWdlcyArPSBzcmMtPnRhYmxl LnZtX25ld192aXNpYmxlX3BhZ2VzOwotCQkJZHN0LT50YWJsZS52bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMgKz0gc3JjLT50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7 Ci0JCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7Ci0JCQlk c3QtPnRhYmxlLnR1cGxlc19mcm96ZW4gKz0gc3JjLT50YWJsZS50dXBsZXNfZnJvemVuOwot CQkJZHN0LT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLnJlY2Vu dGx5X2RlYWRfdHVwbGVzOwotCQkJZHN0LT50YWJsZS5pbmRleF92YWN1dW1fY291bnQgKz0g c3JjLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7Ci0JCQlkc3QtPnRhYmxlLm1pc3NlZF9k ZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXM7Ci0JCQlkc3QtPnRh YmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxl czsKLQkJfQotCQllbHNlIGlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkK LQkJewotCQkJZHN0LT5pbmRleC5wYWdlc19kZWxldGVkICs9IHNyYy0+aW5kZXgucGFnZXNf ZGVsZXRlZDsKLQkJCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRl ZDsKLQkJfQotCX0KIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IGMyYWNkY2YwZTBlLi4zNjA1ZWM5ODMxNyAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTIyNzUsMTQgKzIyNzUs MTQgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCSNk ZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTIDI2CiAKIAlPaWQJ CQkJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7Ci0JUGdTdGF0X1N0YXRUYWJFbnRyeSAg ICAgKnRhYmVudHJ5OwotCUV4dFZhY1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVBnU3RhdF9W YWN1dW1SZWxhdGlvbkNvdW50cyAJCQkqZXh0dmFjdXVtOworCVBnU3RhdF9SZWxhdGlvblZh Y3V1bVBlbmRpbmcgKnBlbmRpbmc7CiAJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOwogCURhdHVt CQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MU10gPSB7 MH07CiAJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNf Q09MU10gPSB7MH07CiAJY2hhcgkJCQkJIGJ1ZlsyNTZdOwogCWludAkJCQkJCSBpID0gMDsK LQlFeHRWYWNSZXBvcnQgYWxsemVybzsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMg YWxsemVybzsKIAogCS8qIEluaXRpYWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0 aGUgdHVwbGUgZGVzY3JpcHRvciAqLwogCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxl RGVzYyhQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOwpAQCAtMjM0Niwx OCArMjM0NiwxNiBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FS R1MpCiAKIAlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKIAotCXRhYmVudHJ5ID0gcGdzdGF0 X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOworCXBlbmRpbmcgPSBmaW5kX3ZhY3V1bV9y ZWxhdGlvbl9lbnRyeShyZWxpZCk7CiAKLQlpZiAodGFiZW50cnkgPT0gTlVMTCkKKwlpZiAo cGVuZGluZyA9PSBOVUxMKQogCXsKIAkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3Qg Zm91bmQsIGluaXRpYWxpc2UgaXRzIHN0YXRzICovCi0JCW1lbXNldCgmYWxsemVybywgMCwg c2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihQ Z1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMpKTsKIAkJZXh0dmFjdXVtID0gJmFsbHplcm87 CiAJfQogCWVsc2UKLQl7Ci0JCWV4dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQp OwotCX0KKwkJZXh0dmFjdXVtID0gJihwZW5kaW5nLT5jb3VudHMpOwogCiAJaSA9IDA7CiAK QEAgLTI0MTYsMTQgKzI0MTQsMTQgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdf RlVOQ1RJT05fQVJHUykKIAkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFU U19DT0xTCTE2CiAKIAlPaWQJCQkJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7Ci0JUGdT dGF0X1N0YXRUYWJFbnRyeSAgICAgKnRhYmVudHJ5OwotCUV4dFZhY1JlcG9ydCAJCQkqZXh0 dmFjdXVtOworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAJCQkqZXh0dmFjdXVtOwor CVBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcgKnBlbmRpbmc7CiAJVHVwbGVEZXNjCQkJ CSB0dXBkZXNjOwogCURhdHVtCQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRF WF9TVEFUU19DT0xTXSA9IHswfTsKIAlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFD VVVNX0lOREVYX1NUQVRTX0NPTFNdID0gezB9OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlp bnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVwb3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1 bVJlbGF0aW9uQ291bnRzIGFsbHplcm87CiAKIAkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMg aW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KIAl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NP TFMpOwpAQCAtMjQ2NywxOCArMjQ2NSwxNiBAQCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhl cyhQR19GVU5DVElPTl9BUkdTKQogCiAJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CiAKLQl0 YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKKwlwZW5kaW5n ID0gZmluZF92YWN1dW1fcmVsYXRpb25fZW50cnkocmVsaWQpOwogCi0JaWYgKHRhYmVudHJ5 ID09IE5VTEwpCisJaWYgKHBlbmRpbmcgPT0gTlVMTCkKIAl7CiAJCS8qIElmIHRoZSBzdWJz Y3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLwotCQltZW1z ZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJbWVtc2V0KCZhbGx6 ZXJvLCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzKSk7CiAJCWV4dHZh Y3V1bSA9ICZhbGx6ZXJvOwogCX0KLQllbHNlCi0JewotCQlleHR2YWN1dW0gPSAmKHRhYmVu dHJ5LT52YWN1dW1fZXh0KTsKLQl9CisKKwlleHR2YWN1dW0gPSAmKHBlbmRpbmctPmNvdW50 cyk7CiAKIAlpID0gMDsKIApAQCAtMjUyMywxNCArMjUxOSwxNCBAQCBwZ19zdGF0X2dldF92 YWN1dW1fZGF0YWJhc2UoUEdfRlVOQ1RJT05fQVJHUykKIAkjZGVmaW5lIFBHX1NUQVRfR0VU X1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTCTE0CiAKIAlPaWQJCQkJCQkgZGJpZCA9IFBH X0dFVEFSR19PSUQoMCk7Ci0JUGdTdGF0X1N0YXREQkVudHJ5IAkJKmRiZW50cnk7Ci0JRXh0 VmFjUmVwb3J0IAkJCSpleHR2YWN1dW07CisJUGdTdGF0X1ZhY3V1bURCQ291bnRzCSpleHR2 YWN1dW07CiAJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOwogCURhdHVtCQkJCQkgdmFsdWVzW1BH X1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTXSA9IHswfTsKIAlib29sCQkJ CQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0gezB9 OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlpbnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVw b3J0IGFsbHplcm87CisKKwlQR19SRVRVUk5fTlVMTCgpOwogCiAJLyogSW5pdGlhbGlzZSBh dHRyaWJ1dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCiAJdHVw ZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRB QkFTRV9TVEFUU19DT0xTKTsKQEAgLTI1NzAsMTggKzI1NjYsNyBAQCBwZ19zdGF0X2dldF92 YWN1dW1fZGF0YWJhc2UoUEdfRlVOQ1RJT05fQVJHUykKIAogCUJsZXNzVHVwbGVEZXNjKHR1 cGRlc2MpOwogCi0JZGJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X2RiZW50cnkoZGJpZCk7 Ci0KLQlpZiAoZGJlbnRyeSA9PSBOVUxMKQotCXsKLQkJLyogSWYgdGhlIHN1YnNjcmlwdGlv biBpcyBub3QgZm91bmQsIGluaXRpYWxpc2UgaXRzIHN0YXRzICovCi0JCW1lbXNldCgmYWxs emVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwotCQlleHR2YWN1dW0gPSAmYWxsemVy bzsKLQl9Ci0JZWxzZQotCXsKLQkJZXh0dmFjdXVtID0gJihkYmVudHJ5LT52YWN1dW1fZXh0 KTsKLQl9CisJZXh0dmFjdXVtID0gcGdzdGF0X3ByZXBfdmFjdXVtX2RhdGFiYXNlX3BlbmRp bmcoZGJpZCk7CiAKIAlpID0gMDsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFu ZHMvdmFjdXVtLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAppbmRleCBmYjEz NGYzNDAyZS4uZjg5NTE1MWNhMDkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRz L3ZhY3V1bS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCkBAIC00MzIs NSArNDMyLDUgQEAgZXh0ZXJuIGRvdWJsZSBhbmxfZ2V0X25leHRfUyhkb3VibGUgdCwgaW50 IG4sIGRvdWJsZSAqc3RhdGVwdHIpOwogZXh0ZXJuIHZvaWQgZXh0dmFjX3N0YXRzX3N0YXJ0 X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCiAJCQkJ CSAgIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycyk7CiBleHRlcm4gdm9pZCBleHR2 YWNfc3RhdHNfZW5kX2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAq c3RhdHMsCi0JCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMsIEV4dFZhY1Jl cG9ydCAqcmVwb3J0KTsKKwkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywg UGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpyZXBvcnQpOwogI2VuZGlmCQkJCQkJCS8q IFZBQ1VVTV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9p bmNsdWRlL3Bnc3RhdC5oCmluZGV4IDY2ZTZlNzIxNTYzLi4xNzYwYjM1YjVlYiAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgK QEAgLTExOSw5ICsxMTksNTYgQEAgdHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9ydFR5cGUKIAlQ R1NUQVRfRVhUVkFDX0lOREVYID0gMgogfSBFeHRWYWNSZXBvcnRUeXBlOwogCisvKiAtLS0t LS0tLS0tCisgKiBQZ1N0YXRfVGFibGVDb3VudHMJCQlUaGUgYWN0dWFsIHBlci10YWJsZSBj b3VudHMga2VwdCBieSBhIGJhY2tlbmQKKyAqCisgKiBUaGlzIHN0cnVjdCBzaG91bGQgY29u dGFpbiBvbmx5IGFjdHVhbCBldmVudCBjb3VudGVycywgYmVjYXVzZSB3ZSBtYWtlIHVzZQor ICogb2YgcGdfbWVtb3J5X2lzX2FsbF96ZXJvcygpIHRvIGRldGVjdCB3aGV0aGVyIHRoZXJl IGFyZSBhbnkgc3RhdHMgdXBkYXRlcworICogdG8gYXBwbHkuCisgKgorICogSXQgaXMgYSBj b21wb25lbnQgb2YgUGdTdGF0X1RhYmxlU3RhdHVzICh3aXRoaW4tYmFja2VuZCBzdGF0ZSku CisgKgorICogTm90ZTogZm9yIGEgdGFibGUsIHR1cGxlc19yZXR1cm5lZCBpcyB0aGUgbnVt YmVyIG9mIHR1cGxlcyBzdWNjZXNzZnVsbHkKKyAqIGZldGNoZWQgYnkgaGVhcF9nZXRuZXh0 LCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcworICogc3Vj Y2Vzc2Z1bGx5IGZldGNoZWQgYnkgaGVhcF9mZXRjaCB1bmRlciB0aGUgY29udHJvbCBvZiBi aXRtYXAgaW5kZXhzY2Fucy4KKyAqIEZvciBhbiBpbmRleCwgdHVwbGVzX3JldHVybmVkIGlz IHRoZSBudW1iZXIgb2YgaW5kZXggZW50cmllcyByZXR1cm5lZCBieQorICogdGhlIGluZGV4 IEFNLCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBzdWNj ZXNzZnVsbHkKKyAqIGZldGNoZWQgYnkgaGVhcF9mZXRjaCB1bmRlciB0aGUgY29udHJvbCBv ZiBzaW1wbGUgaW5kZXhzY2FucyBmb3IgdGhpcyBpbmRleC4KKyAqCisgKiB0dXBsZXNfaW5z ZXJ0ZWQvdXBkYXRlZC9kZWxldGVkL2hvdF91cGRhdGVkL25ld3BhZ2VfdXBkYXRlZCBjb3Vu dCBhdHRlbXB0ZWQKKyAqIGFjdGlvbnMsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHJh bnNhY3Rpb24gY29tbWl0dGVkLiAgZGVsdGFfbGl2ZV90dXBsZXMsCisgKiBkZWx0YV9kZWFk X3R1cGxlcywgYW5kIGNoYW5nZWRfdHVwbGVzIGFyZSBzZXQgZGVwZW5kaW5nIG9uIGNvbW1p dCBvciBhYm9ydC4KKyAqIE5vdGUgdGhhdCBkZWx0YV9saXZlX3R1cGxlcyBhbmQgZGVsdGFf ZGVhZF90dXBsZXMgY2FuIGJlIG5lZ2F0aXZlIQorICogLS0tLS0tLS0tLQorICovCit0eXBl ZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKK3sKKwlQZ1N0YXRfQ291bnRlciBudW1z Y2FuczsKKworCVBnU3RhdF9Db3VudGVyIHR1cGxlc19yZXR1cm5lZDsKKwlQZ1N0YXRfQ291 bnRlciB0dXBsZXNfZmV0Y2hlZDsKKworCVBnU3RhdF9Db3VudGVyIHR1cGxlc19pbnNlcnRl ZDsKKwlQZ1N0YXRfQ291bnRlciB0dXBsZXNfdXBkYXRlZDsKKwlQZ1N0YXRfQ291bnRlciB0 dXBsZXNfZGVsZXRlZDsKKwlQZ1N0YXRfQ291bnRlciB0dXBsZXNfaG90X3VwZGF0ZWQ7CisJ UGdTdGF0X0NvdW50ZXIgdHVwbGVzX25ld3BhZ2VfdXBkYXRlZDsKKwlib29sCQl0cnVuY2Ry b3BwZWQ7CisKKwlQZ1N0YXRfQ291bnRlciBkZWx0YV9saXZlX3R1cGxlczsKKwlQZ1N0YXRf Q291bnRlciBkZWx0YV9kZWFkX3R1cGxlczsKKwlQZ1N0YXRfQ291bnRlciBjaGFuZ2VkX3R1 cGxlczsKKworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3Vu dGVyIGJsb2Nrc19oaXQ7CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFn ZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7Cit9IFBnU3RhdF9U YWJsZUNvdW50czsKKwogLyogLS0tLS0tLS0tLQogICoKLSAqIEV4dFZhY1JlcG9ydAorICog UGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzCiAgKgogICogQWRkaXRpb25hbCBzdGF0aXN0 aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSByZWxhdGlvbi4KICAqIHBhZ2VzX3Jl bW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJhbmssCkBA IC0xMjksNyArMTc2LDcgQEAgdHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9ydFR5cGUKICAqIHBh Z2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUK ICAqIC0tLS0tLS0tLS0KICAqLwotdHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0Cit0eXBl ZGVmIHN0cnVjdCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMKIHsKIAkvKiBudW1iZXIg b2YgYmxvY2tzIG1pc3NlZCwgaGl0LCBkaXJ0aWVkIGFuZCB3cml0dGVuIGR1cmluZyBhIHZh Y3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAqLwogCWludDY0CQl0b3RhbF9ibGtzX3JlYWQ7 CkBAIC0xNTQsNyArMjAxLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0CiAKIAlp bnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8K IAotCWludDMyCQllcnJvcnM7CiAJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7 CS8qIHRoZSBudW1iZXIgb2YgdGltZXMgdG8gcHJldmVudCB3cmFwYXJvdW5kIHByb2JsZW0g Ki8KIAogCUV4dFZhY1JlcG9ydFR5cGUgdHlwZTsJCS8qIGhlYXAsIGluZGV4LCBldGMuICov CkBAIC0xOTIsNjEgKzIzOCw0NCBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAkJ CWludDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkg dmFjdXVtICovCiAJCX0JCQlpbmRleDsKIAl9IC8qIHBlcl90eXBlX3N0YXRzICovOwotfSBF eHRWYWNSZXBvcnQ7Cit9IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50czsKIAotLyogLS0t LS0tLS0tLQotICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFjdHVhbCBwZXItdGFibGUg Y291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCi0gKgotICogVGhpcyBzdHJ1Y3Qgc2hvdWxkIGNv bnRhaW4gb25seSBhY3R1YWwgZXZlbnQgY291bnRlcnMsIGJlY2F1c2Ugd2UgbWFrZSB1c2UK LSAqIG9mIHBnX21lbW9yeV9pc19hbGxfemVyb3MoKSB0byBkZXRlY3Qgd2hldGhlciB0aGVy ZSBhcmUgYW55IHN0YXRzIHVwZGF0ZXMKLSAqIHRvIGFwcGx5LgotICoKLSAqIEl0IGlzIGEg Y29tcG9uZW50IG9mIFBnU3RhdF9UYWJsZVN0YXR1cyAod2l0aGluLWJhY2tlbmQgc3RhdGUp LgotICoKLSAqIE5vdGU6IGZvciBhIHRhYmxlLCB0dXBsZXNfcmV0dXJuZWQgaXMgdGhlIG51 bWJlciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZ2V0bmV4 dCwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMKLSAqIHN1 Y2Nlc3NmdWxseSBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIgdGhlIGNvbnRyb2wgb2Yg Yml0bWFwIGluZGV4c2NhbnMuCi0gKiBGb3IgYW4gaW5kZXgsIHR1cGxlc19yZXR1cm5lZCBp cyB0aGUgbnVtYmVyIG9mIGluZGV4IGVudHJpZXMgcmV0dXJuZWQgYnkKLSAqIHRoZSBpbmRl eCBBTSwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgc3Vj Y2Vzc2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIgdGhlIGNvbnRyb2wg b2Ygc2ltcGxlIGluZGV4c2NhbnMgZm9yIHRoaXMgaW5kZXguCi0gKgotICogdHVwbGVzX2lu c2VydGVkL3VwZGF0ZWQvZGVsZXRlZC9ob3RfdXBkYXRlZC9uZXdwYWdlX3VwZGF0ZWQgY291 bnQgYXR0ZW1wdGVkCi0gKiBhY3Rpb25zLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRy YW5zYWN0aW9uIGNvbW1pdHRlZC4gIGRlbHRhX2xpdmVfdHVwbGVzLAotICogZGVsdGFfZGVh ZF90dXBsZXMsIGFuZCBjaGFuZ2VkX3R1cGxlcyBhcmUgc2V0IGRlcGVuZGluZyBvbiBjb21t aXQgb3IgYWJvcnQuCi0gKiBOb3RlIHRoYXQgZGVsdGFfbGl2ZV90dXBsZXMgYW5kIGRlbHRh X2RlYWRfdHVwbGVzIGNhbiBiZSBuZWdhdGl2ZSEKLSAqIC0tLS0tLS0tLS0KLSAqLwotdHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRf VmFjdXVtUmVsYXRpb25TdGF0dXMKIHsKLQlQZ1N0YXRfQ291bnRlciBudW1zY2FuczsKKwlP aWQJCQlpZDsJCQkJLyogdGFibGUncyBPSUQgKi8KKwlib29sCQlzaGFyZWQ7CQkJLyogaXMg aXQgYSBzaGFyZWQgY2F0YWxvZz8gKi8KKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMg Y291bnRzOwkvKiBldmVudCBjb3VudHMgdG8gYmUgc2VudCAqLworfSBQZ1N0YXRfVmFjdXVt UmVsYXRpb25TdGF0dXM7CiAKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfcmV0dXJuZWQ7Ci0J UGdTdGF0X0NvdW50ZXIgdHVwbGVzX2ZldGNoZWQ7Cit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRf VmFjdXVtREJDb3VudHMKK3sKKwlPaWQJCQlkYmppZDsKKwkvKiBudW1iZXIgb2YgYmxvY2tz IG1pc3NlZCwgaGl0LCBkaXJ0aWVkIGFuZCB3cml0dGVuIGR1cmluZyBhIHZhY3V1bSBvZiBz cGVjaWZpYyByZWxhdGlvbiAqLworCWludDY0CQl0b3RhbF9ibGtzX3JlYWQ7CisJaW50NjQJ CXRvdGFsX2Jsa3NfaGl0OworCWludDY0CQl0b3RhbF9ibGtzX2RpcnRpZWQ7CisJaW50NjQJ CXRvdGFsX2Jsa3Nfd3JpdHRlbjsKIAotCVBnU3RhdF9Db3VudGVyIHR1cGxlc19pbnNlcnRl ZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfdXBkYXRlZDsKLQlQZ1N0YXRfQ291bnRlciB0 dXBsZXNfZGVsZXRlZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfaG90X3VwZGF0ZWQ7Ci0J UGdTdGF0X0NvdW50ZXIgdHVwbGVzX25ld3BhZ2VfdXBkYXRlZDsKLQlib29sCQl0cnVuY2Ry b3BwZWQ7CisJLyogYmxvY2tzIG1pc3NlZCBhbmQgaGl0IGZvciBqdXN0IHRoZSBoZWFwIGR1 cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAqLworCWludDY0CQlibGtzX2Zl dGNoZWQ7CisJaW50NjQJCWJsa3NfaGl0OwogCi0JUGdTdGF0X0NvdW50ZXIgZGVsdGFfbGl2 ZV90dXBsZXM7Ci0JUGdTdGF0X0NvdW50ZXIgZGVsdGFfZGVhZF90dXBsZXM7Ci0JUGdTdGF0 X0NvdW50ZXIgY2hhbmdlZF90dXBsZXM7CisJLyogVmFjdXVtIFdBTCB1c2FnZSBzdGF0cyAq LworCWludDY0CQl3YWxfcmVjb3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIHJl Y29yZHMgKi8KKwlpbnQ2NAkJd2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdB TCBmdWxsIHBhZ2UgaW1hZ2VzIHByb2R1Y2VkICovCisJdWludDY0CQl3YWxfYnl0ZXM7CQkv KiB3YWwgdXNhZ2U6IHNpemUgb2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8KIAotCVBnU3Rh dF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7 CisJLyogVGltZSBzdGF0cy4gKi8KKwlkb3VibGUJCWJsa19yZWFkX3RpbWU7CS8qIHRpbWUg c3BlbnQgcmVhZGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJYmxrX3dyaXRlX3Rp bWU7IC8qIHRpbWUgc3BlbnQgd3JpdGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJ ZGVsYXlfdGltZTsJCS8qIGhvdyBsb25nIHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkg cG9pbnQsIGluIG1zZWMgKi8KKwlkb3VibGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1l IG9mIGEgdmFjdXVtIG9wZXJhdGlvbiwgaW4gbXNlYyAqLwogCi0JUGdTdGF0X0NvdW50ZXIg cmV2X2FsbF92aXNpYmxlX3BhZ2VzOwotCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVu X3BhZ2VzOworCWludDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5 IHZhY3V1bSAqLwogCi0JLyoKLQkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2 YWN1dW0gb3BlcmF0aW9ucy4KLQkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBh biBhYnN0cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mCi0JICogcmVsYXRpb25zLgot CSAqLwotCUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwotfSBQZ1N0YXRfVGFibGVDb3VudHM7 CisJaW50MzIJCWVycm9yczsKKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJ LyogdGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSAq LworfSBQZ1N0YXRfVmFjdXVtREJDb3VudHM7CiAKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3Rh dF9UYWJsZVN0YXR1cwkJCVBlci10YWJsZSBzdGF0dXMgd2l0aGluIGEgYmFja2VuZApAQCAt MjcyLDYgKzMwMSwxMiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVTdGF0dXMKIAlS ZWxhdGlvbglyZWxhdGlvbjsJCS8qIHJlbCB0aGF0IGlzIHVzaW5nIHRoaXMgZW50cnkgKi8K IH0gUGdTdGF0X1RhYmxlU3RhdHVzOwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfUmVsYXRp b25WYWN1dW1QZW5kaW5nCit7CisJT2lkCQkJaWQ7CQkJCS8qIHRhYmxlJ3MgT0lEICovCisJ UGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGNvdW50czsJLyogZXZlbnQgY291bnRzIHRv IGJlIHNlbnQgKi8KK30gUGdTdGF0X1JlbGF0aW9uVmFjdXVtUGVuZGluZzsKKwogLyogLS0t LS0tLS0tLQogICogUGdTdGF0X1RhYmxlWGFjdFN0YXR1cwkJUGVyLXRhYmxlLCBwZXItc3Vi dHJhbnNhY3Rpb24gc3RhdHVzCiAgKiAtLS0tLS0tLS0tCkBAIC00NjgsOCArNTAzLDYgQEAg dHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgcGFy YWxsZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFtcFR6IHN0YXRfcmVzZXRfdGlt ZXN0YW1wOwotCi0JRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CQkvKiBleHRlbmRlZCB2YWN1 dW0gc3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIHR5cGVkZWYgc3Ry dWN0IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC01NTEsOCArNTg0LDYgQEAgdHlwZWRlZiBz dHJ1Y3QgUGdTdGF0X1N0YXRUYWJFbnRyeQogCiAJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92 aXNpYmxlX3BhZ2VzOwogCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOwot Ci0JRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CiB9IFBnU3RhdF9TdGF0VGFiRW50cnk7CiAK IC8qIC0tLS0tLQpAQCAtNzYwLDcgKzc5MSw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF91bmxp bmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKIAogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9y dF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAkJCQkJCQkJIFBnU3RhdF9D b3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCi0JCQkJCQkJ CSBUaW1lc3RhbXBUeiBzdGFydHRpbWUsIEV4dFZhY1JlcG9ydCAqcGFyYW1zKTsKKwkJCQkJ CQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0 X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0 dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNl dGNvdW50ZXIsIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7CkBAIC04OTUsNiArOTI2LDE1IEBA IGV4dGVybiBpbnQJcGdzdGF0X2dldF90cmFuc2FjdGlvbmFsX2Ryb3BzKGJvb2wgaXNDb21t aXQsIHN0cnVjdCB4bF94YWN0X3N0YXRzX2l0CiBleHRlcm4gdm9pZCBwZ3N0YXRfZXhlY3V0 ZV90cmFuc2FjdGlvbmFsX2Ryb3BzKGludCBuZHJvcHMsIHN0cnVjdCB4bF94YWN0X3N0YXRz X2l0ZW0gKml0ZW1zLCBib29sIGlzX3JlZG8pOwogCiAKK2V4dGVybiB2b2lkIHBnc3RhdF9k cm9wX3ZhY3V1bV9kYXRhYmFzZShPaWQgZGF0YWJhc2VpZCk7CitleHRlcm4gdm9pZCBwZ3N0 YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKE9pZCByZWxpZCk7CitleHRl cm4gdm9pZAorcGdzdGF0X3JlcG9ydF90YWJfdmFjdXVtX2V4dHN0YXRzKE9pZCB0YWJsZW9p ZCwgYm9vbCBzaGFyZWQsCisJCQkJCQkJCSAgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRz ICpwYXJhbXMpOworZXh0ZXJuIFBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcgKiBmaW5k X3ZhY3V1bV9yZWxhdGlvbl9lbnRyeShPaWQgcmVsaWQpOworZXh0ZXJuIFBnU3RhdF9WYWN1 dW1EQkNvdW50cyAqcGdzdGF0X3ByZXBfdmFjdXVtX2RhdGFiYXNlX3BlbmRpbmcoT2lkIGRi b2lkKTsKK2V4dGVybiBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKnBnc3RhdF9mZXRj aF9zdGF0X3ZhY3V1bV90YWJlbnRyeShPaWQgcmVsaWQpOworCiAvKgogICogRnVuY3Rpb25z IGluIHBnc3RhdF93YWwuYwogICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9w Z3N0YXRfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5o CmluZGV4IGQ1NTU3ZTZlOTk4Li4xNDBhZGJjZGJkNiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdz dGF0X2ludGVybmFsLmgKQEAgLTQzOSw2ICs0MzksMTggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdT dGF0U2hhcmVkX1JlbGF0aW9uCiAJUGdTdGF0X1N0YXRUYWJFbnRyeSBzdGF0czsKIH0gUGdT dGF0U2hhcmVkX1JlbGF0aW9uOwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRTaGFyZWRfVmFj dXVtREIKK3sKKwlQZ1N0YXRTaGFyZWRfQ29tbW9uIGhlYWRlcjsKKwlQZ1N0YXRfVmFjdXVt REJDb3VudHMgc3RhdHM7Cit9IFBnU3RhdFNoYXJlZF9WYWN1dW1EQjsKKwordHlwZWRlZiBz dHJ1Y3QgUGdTdGF0U2hhcmVkX1ZhY3V1bVJlbGF0aW9uCit7CisJUGdTdGF0U2hhcmVkX0Nv bW1vbiBoZWFkZXI7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIHN0YXRzOworfSBQ Z1N0YXRTaGFyZWRfVmFjdXVtUmVsYXRpb247CisKIHR5cGVkZWYgc3RydWN0IFBnU3RhdFNo YXJlZF9GdW5jdGlvbgogewogCVBnU3RhdFNoYXJlZF9Db21tb24gaGVhZGVyOwpAQCAtNjA3 LDYgKzYxOSw5IEBAIGV4dGVybiBQZ1N0YXRfRW50cnlSZWYgKnBnc3RhdF9mZXRjaF9wZW5k aW5nX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsCiBleHRlcm4gdm9pZCAqcGdzdGF0X2ZldGNo X2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwgdWludDY0IG9iamlkKTsKIGV4 dGVybiB2b2lkIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAor Ym9vbCBwZ3N0YXRfdmFjdXVtX2RiX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlf cmVmLCBib29sIG5vd2FpdCk7CitleHRlcm4gYm9vbCBwZ3N0YXRfdmFjdXVtX3JlbGF0aW9u X2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCk7CisK IAogLyoKICAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfYXJjaGl2ZXIuYwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2tpbmQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bn c3RhdF9raW5kLmgKaW5kZXggZjQ0MTY5ZmQ1YTMuLjQ1NDY2MWY5ZDZhIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfa2luZC5oCisrKyBiL3NyYy9pbmNsdWRlL3V0 aWxzL3Bnc3RhdF9raW5kLmgKQEAgLTM4LDkgKzM4LDExIEBACiAjZGVmaW5lIFBHU1RBVF9L SU5EX0lPCTEwCiAjZGVmaW5lIFBHU1RBVF9LSU5EX1NMUlUJMTEKICNkZWZpbmUgUEdTVEFU X0tJTkRfV0FMCTEyCisjZGVmaW5lIFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQgkxMworI2RlZmlu ZSBQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT04JMTQKIAogI2RlZmluZSBQR1NUQVRfS0lO RF9CVUlMVElOX01JTiBQR1NUQVRfS0lORF9EQVRBQkFTRQotI2RlZmluZSBQR1NUQVRfS0lO RF9CVUlMVElOX01BWCBQR1NUQVRfS0lORF9XQUwKKyNkZWZpbmUgUEdTVEFUX0tJTkRfQlVJ TFRJTl9NQVggUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OCiAjZGVmaW5lIFBHU1RBVF9L SU5EX0JVSUxUSU5fU0laRSAoUEdTVEFUX0tJTkRfQlVJTFRJTl9NQVggKyAxKQogCiAvKiBD dXN0b20gc3RhdHMga2luZHMgKi8K --------------YSbG1oRSTJ3ciWnOsx064BnJ--