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 1tXKTL-005aaT-E3 for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Jan 2025 13:27:17 +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 1tXKTI-00AFvM-Go for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Jan 2025 13:27:12 +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 1tXKTH-00AFvE-Ax for pgsql-hackers@lists.postgresql.org; Mon, 13 Jan 2025 13:27:12 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tXKT8-000BBO-0c for pgsql-hackers@postgresql.org; Mon, 13 Jan 2025 13:27:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1736774818; bh=F3HTbUJ6MkjMMyhnUYr9QO034MnPpOsKkXsiLBr59zs=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=7oEeHy+6Y/6pBdiMr7p67yqxJRphvtiHQg94eZGfFxiBwvyN03BilDgLzx7AQK5qV rovlpZuIUojg0zgtBod/zYBNskVSpGpeFsZ3jEbisWqT/MzTqOLCLAqAU3GtdSg3nG T8V78R8+BlBkp5q3R4h+FtJ8pIq2lE8GNRAGdsKS0GQ4w0oxSFQhFvygCywur5iywe cZm5oI1fiLOeQd+niMnBHy5NCREsHmQixK1UcQUoDQNJoHEkHJ8GJYqZDQda1SHgFG 1wYxUY5wGhNF5wSzTyy9HnxIIk8+yeHP3wYacjRGzOvs9TJvGv6huwbbjp0fuNBM0a p+8GJamkuNDJA== Received: from [10.4.12.74] (unknown [93.174.131.141]) (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 E18A460265; Mon, 13 Jan 2025 16:26:57 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------ehA8hvWTQKBldKbQWNQnJEtd" Message-ID: <0b4eefc7-4c38-4caa-b2ca-a4c75dd7dd12@postgrespro.ru> Date: Mon, 13 Jan 2025 16:26:57 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics From: Alena Rybakina To: pgsql-hackers Cc: Alexander Korotkov , Jim Nasby , Ilia Evdokimov , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , a.lepikhov@postgrespro.ru, Sami Imseih References: <9485d892-fd04-4e3a-ac24-7dd767cb7333@postgrespro.ru> <0B6CBF4C-CC2A-4200-9126-CE3A390D938B@upgrade.com> <6732acf8ce0f31025b535ae1a64568750924a887.camel@moonset.ru> <5AA8FFD5-6DE2-4A31-8E00-AE98F738F5D1@upgrade.com> <85b963fe-5977-43aa-9241-75b862abcc69@postgrespro.ru> <9C7A167C-DCDE-4A17-9ABE-6276723FEC50@upgrade.com> <2d493cf9-9ba7-4cc1-a3f2-67afd7c163ee@postgrespro.ru> <30d54302-9e9c-4e04-819e-a13b679cdcc8@postgrespro.ru> <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <1e81a0a1-a63b-48fb-905a-d6495f89ab73@postgrespro.ru> Content-Language: en-US In-Reply-To: <1e81a0a1-a63b-48fb-905a-d6495f89ab73@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected, bases: 2025/01/13 12:04:00 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/01/13 07:04:00 #26996016 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. --------------ehA8hvWTQKBldKbQWNQnJEtd Content-Type: multipart/alternative; boundary="------------Tw4C1VFbsXlHuJFWgtYEnszN" --------------Tw4C1VFbsXlHuJFWgtYEnszN Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I noticed that the cfbot is bad, the reason seems to be related to the lack of a parameter in src/backend/utils/misc/postgresql.conf.sample. I added it, it should help. On 13.01.2025 14:19, Alena Rybakina wrote: > > Hi, all! I updated the patches and I solved the problems with parallel > vacuum. > > On 19.12.2024 13:37, Alena Rybakina wrote: >> >> Hi! I updated patch. >> >> On 02.12.2024 23:12, Alena Rybakina wrote: >>> On 02.12.2024 11:27, Alexander Korotkov wrote: >>>> Hi, Alena! >>>> >>>> On Wed, Nov 13, 2024 at 6:21 PM Alena Rybakina >>>> wrote: >>>>> Updated 0001-v13 attached, as well as the diff between v12 and v13. >>>>> >>>>> Thank you) >>>>> >>>>> And I agree with your changes. And included them in patches. >>>> Thank you for the updated patchset. Some points from me. >>>> >>>> * I've read the previous discussion on how important to keep all these >>>> fields regarding vacuum statistics including points by Andrei and Jim. >>>> It still worrying me that statistics volume is going to burst in about >>>> 3 times, but I don't have a particular proposal on how to make more >>>> granular approach. I wonder if you could propose something. >> >> I propose to solve this with a guc (track_vacuum_statistics) that >> will allow us to disable statistics collection or enable it back when >> needed. This statistics is useful if you collect it over a certain >> period of time and watch the dynamics of the change, so I think a >> hook will not hurt here. >> >> I also added new statistics vm_new_visible_frozen_pages due to the >> dc6acfd commit and renamed some of my statistics from frozen_pages to >> vm_new_frozen_pages and all-visible_pages to vm_new_visible_pages. I >> also added statistics missed_tupes, missed_pages. Both are necessary >> to take into account how many tuples were not cleared by vacuum due >> to failure to acquire a cleanup lock on a heap page. The second >> statistics missed_pages will allow you to track whether this is one >> particular page or not. >> >> This information can make it clear that perhaps the data is broken >> somewhere or there is an error in the operation of the database, for >> example. >> > I changed the purpose of the guc. By default, vacuum database > statistics are always collected, and the track_vacuum_statistics hook > enables the ability to collect extended statistics for a given > database's relations. > This is done to achieve a balance between the allocated memory for > storing statistics and having the necessary monitoring at hand to > track the state of vacuum operation. > In addition to the fact that there are far fewer databases in a system > than relations, vacuum statistics for a database contain fewer > statistics than relations, but > they are enough to indicate that something may be wrong in the system > and prompt the administrator to enable extended monitoring for relations. > > By default, the guc is disabled. > >> I also noticed that my stats for indexes were not being collected >> while parallel vacuum was running. I fixed it by adding some extra >> code that basically captured changes to the >> parallel_vacuum_process_all_indexes function. I used a script like >> this to check if everything was correct. >> >> pgbench -d postgres -i -s 10 >> >> >> my/inst/bin/pg_basebackup -D ~/backup >> >> >> #psql >> >> --check parallel vacuum statistics >> >> create index accounts_idx1 on pgbench_accounts(bid); >> create index accounts_idx2 on pgbench_accounts(aid, bid); >> >> delete from pgbench_accounts where aid >5; >> set max_parallel_maintenance_workers = 8; >> VACUUM (PARALLEL 3) pgbench_accounts; >> >> >> create index accounts_idx1 on pgbench_accounts(bid); >> create index accounts_idx2 on pgbench_accounts(aid, bid); >> >> delete from pgbench_accounts where aid >5; >> set max_parallel_maintenance_workers = 8; >> VACUUM (PARALLEL 3) pgbench_accounts; >> >> >> pg_ctl -D ../postgres_data11 -l logfile stop >> >> rm -rf ../postgres_data/* >> >> cp -r ~/backup/* ~/postgres_data/ >> >> pg_ctl -D ../postgres_data11 -l logfile start >> >> >> --check vacuum statistics processed by postmaster only >> >> create index accounts_idx1 on pgbench_accounts(bid); >> create index accounts_idx2 on pgbench_accounts(aid, bid); >> >> delete from pgbench_accounts where aid >5; >> set max_parallel_maintenance_workers = 8; >> VACUUM (PARALLEL 0) pgbench_accounts; >> >> I noticed that rel_blks_read and rel_blks_hit are too small compared >> to the vacuum statistics when the vacuum is not parallel. I suspect >> that this problem is related to the fact that the relationship >> statistics have not reached that time. You can see that they are >> calculated in my patch like this: >> >> report->blks_fetched = >>     rel->pgstat_info->counts.blocks_fetched - counters->blocks_fetched; >>   report->blks_hit = >>     rel->pgstat_info->counts.blocks_hit - counters->blocks_hit; >> >> >> The second thing that bothered me was that some table stats differ in >> the fields total_blks_read, rel_blks_read, pages_removed. If with the >> buffer this could be related to the fact that in a single run we rely >> on the stats of the global buffer and shaft statistics and this could >> explain why there are more of them, then with pages_removed I have no >> explanation yet as to what could have happened. I am still studying this. >> >> When you have time, take a look at the patches, I will be glad to >> receive any feedback. >> > I fixed this problem. Now the statistics of parallel and non-parallel > vacuums are almost equal. See files output_vacuum_0_workers and > output_vacuum_3_workers. The results were obtained from the test that > I described above. > In fact, we need to add tracking statistics in the > parallel_vacuum_one_index. But I noticed another problem that I have > already fixed. > > Vacuum statistics for indexes were accumulated in heap vacuum > statistics because of the complexity of vacuum operations, > namely, vacuum statistics for index cleaning were included in heap > relationship vacuum statistics. > Vacuum switches from cleaning the table to its indexes and back during > its operation, and we need to take this into account. > So, before cleaning indexes, we now save the collected vacuum > statistics for the heap, but we send it only after the processing is > complete. > >> To view statistics: >> >> select vt.relname, total_blks_read AS total_blks_read, >>   total_blks_hit AS total_blks_hit, >>   total_blks_dirtied AS total_blks_dirtied, >>   total_blks_written AS total_blks_written, >> >>   rel_blks_read AS rel_blks_read, >>   rel_blks_hit AS rel_blks_hit, >> >>   pages_deleted AS pages_deleted, >>   tuples_deleted AS tuples_deleted, >> >>   wal_records AS wal_records, >>   wal_fpi AS wal_fpi, >>   wal_bytes AS wal_bytes, >> >>   blk_read_time AS blk_read_time, >>   blk_write_time AS blk_write_time, >> >>   delay_time AS delay_time, >>   total_time AS total_time >>   FROM pg_stat_get_vacuum_indexes vt, pg_class c >> WHERE (vt.relname='accounts_idx1' or vt.relname='accounts_idx2' or >> vt.relname = 'pgbench_accounts_pkey') AND vt.relid = c.oid; >> >> >> select stats.relname,stats.total_blks_read AS total_blks_read, >>   stats.total_blks_hit AS total_blks_hit, >>   stats.total_blks_dirtied AS total_blks_dirtied, >>   stats.total_blks_written AS total_blks_written, >> >>   stats.rel_blks_read AS rel_blks_read, >>   stats.rel_blks_hit AS rel_blks_hit, >> >>   stats.pages_scanned AS pages_scanned, >>   stats.pages_removed AS pages_removed, >>   stats.pages_frozen AS pages_frozen, >>   stats.pages_all_visible AS pages_all_visible, >>   stats.tuples_deleted AS tuples_deleted, >>   stats.tuples_frozen AS tuples_frozen, >>   stats.dead_tuples AS dead_tuples, >> >>   stats.index_vacuum_count AS index_vacuum_count, >>   stats.wal_records AS wal_records, >>   stats.wal_fpi AS wal_fpi, >>   stats.wal_bytes AS wal_bytes, >> >>   stats.blk_read_time AS blk_read_time, >>   stats.blk_write_time AS blk_write_time, >> >>   stats.delay_time AS delay_time, >>   stats.total_time AS total_time from pg_stat_vacuum_tables stats, >> pg_stat_all_tables  WHERE stats.relname = 'pgbench_accounts' and >> stats.relid = pg_stat_all_tables.relid; >> >> > Just in case, I'll write that during the test I used simpler queries: > > select * from pg_stat_vacuum_tables where relname like '%accounts%'; > > select * from pg_stat_vacuum_indexes where relname like '%accounts_%'; > > -- > Regards, > Alena Rybakina > Postgres Professional -- Regards, Alena Rybakina Postgres Professional --------------Tw4C1VFbsXlHuJFWgtYEnszN Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

I noticed that the cfbot is bad, the reason seems to be related to the lack of a parameter in src/backend/utils/misc/postgresql.conf.sample. I added it, it should help.

On 13.01.2025 14:19, Alena Rybakina wrote:

Hi, all! I updated the patches and I solved the problems with parallel vacuum.

On 19.12.2024 13:37, Alena Rybakina wrote:

Hi! I updated patch.

On 02.12.2024 23:12, Alena Rybakina wrote:
On 02.12.2024 11:27, Alexander Korotkov wrote:
Hi, Alena!

On Wed, Nov 13, 2024 at 6:21 PM Alena Rybakina
<a.rybakina@postgrespro.ru> wrote:
Updated 0001-v13 attached, as well as the diff between v12 and v13.

Thank you)

And I agree with your changes. And included them in patches.
Thank you for the updated patchset.  Some points from me.

* I've read the previous discussion on how important to keep all these
fields regarding vacuum statistics including points by Andrei and Jim.
It still worrying me that statistics volume is going to burst in about
3 times, but I don't have a particular proposal on how to make more
granular approach.  I wonder if you could propose something.

I propose to solve this with a guc (track_vacuum_statistics) that will allow us to disable statistics collection or enable it back when needed. This statistics is useful if you collect it over a certain period of time and watch the dynamics of the change, so I think a hook will not hurt here. 

I also added new statistics vm_new_visible_frozen_pages due to the dc6acfd commit and renamed some of my statistics from frozen_pages to vm_new_frozen_pages and all-visible_pages to vm_new_visible_pages. I also added statistics missed_tupes, missed_pages. Both are necessary to take into account how many tuples were not cleared by vacuum due to failure to acquire a cleanup lock on a heap page. The second statistics missed_pages will allow you to track whether this is one particular page or not. 

This information can make it clear that perhaps the data is broken somewhere or there is an error in the operation of the database, for example.

I changed the purpose of the guc. By default, vacuum database statistics are always collected, and the track_vacuum_statistics hook enables the ability to collect extended statistics for a given database's relations.
This is done to achieve a balance between the allocated memory for storing statistics and having the necessary monitoring at hand to track the state of vacuum operation.
In addition to the fact that there are far fewer databases in a system than relations, vacuum statistics for a database contain fewer statistics than relations, but
they are enough to indicate that something may be wrong in the system and prompt the administrator to enable extended monitoring for relations.

By default, the guc is disabled.

I also noticed that my stats for indexes were not being collected while parallel vacuum was running. I fixed it by adding some extra code that basically captured changes to the parallel_vacuum_process_all_indexes function. I used a script like this to check if everything was correct.

pgbench -d postgres -i -s 10


my/inst/bin/pg_basebackup -D ~/backup


#psql

--check parallel vacuum statistics

create index accounts_idx1 on pgbench_accounts(bid);
create index accounts_idx2 on pgbench_accounts(aid, bid);

delete from pgbench_accounts where aid >5;
set max_parallel_maintenance_workers = 8;
VACUUM (PARALLEL 3) pgbench_accounts;


create index accounts_idx1 on pgbench_accounts(bid);
create index accounts_idx2 on pgbench_accounts(aid, bid);

delete from pgbench_accounts where aid >5;
set max_parallel_maintenance_workers = 8;
VACUUM (PARALLEL 3) pgbench_accounts;


pg_ctl -D ../postgres_data11 -l logfile stop

rm -rf ../postgres_data/*

cp -r ~/backup/* ~/postgres_data/

pg_ctl -D ../postgres_data11 -l logfile start


--check vacuum statistics processed by postmaster only

create index accounts_idx1 on pgbench_accounts(bid);
create index accounts_idx2 on pgbench_accounts(aid, bid);

delete from pgbench_accounts where aid >5;
set max_parallel_maintenance_workers = 8;
VACUUM (PARALLEL 0) pgbench_accounts;

I noticed that rel_blks_read and rel_blks_hit are too small compared to the vacuum statistics when the vacuum is not parallel. I suspect that this problem is related to the fact that the relationship statistics have not reached that time. You can see that they are calculated in my patch like this:

report->blks_fetched =
    rel->pgstat_info->counts.blocks_fetched - counters->blocks_fetched;
  report->blks_hit =
    rel->pgstat_info->counts.blocks_hit - counters->blocks_hit;


The second thing that bothered me was that some table stats differ in the fields total_blks_read, rel_blks_read, pages_removed. If with the buffer this could be related to the fact that in a single run we rely on the stats of the global buffer and shaft statistics and this could explain why there are more of them, then with pages_removed I have no explanation yet as to what could have happened. I am still studying this.

When you have time, take a look at the patches, I will be glad to receive any feedback.

I fixed this problem. Now the statistics of parallel and non-parallel vacuums are almost equal. See files output_vacuum_0_workers and output_vacuum_3_workers. The results were obtained from the test that I described above.
In fact, we need to add tracking statistics in the parallel_vacuum_one_index. But I noticed another problem that I have already fixed.

Vacuum statistics for indexes were accumulated in heap vacuum statistics because of the complexity of vacuum operations,
namely, vacuum statistics for index cleaning were included in heap relationship vacuum statistics.
Vacuum switches from cleaning the table to its indexes and back during its operation, and we need to take this into account.
So, before cleaning indexes, we now save the collected vacuum statistics for the heap, but we send it only after the processing is complete.

To view statistics:

select vt.relname, total_blks_read AS total_blks_read,
  total_blks_hit AS total_blks_hit,
  total_blks_dirtied AS total_blks_dirtied,
  total_blks_written AS total_blks_written,

  rel_blks_read AS rel_blks_read,
  rel_blks_hit AS rel_blks_hit,

  pages_deleted AS pages_deleted,
  tuples_deleted AS tuples_deleted,

  wal_records AS wal_records,
  wal_fpi AS wal_fpi,
  wal_bytes AS wal_bytes,

  blk_read_time AS blk_read_time,
  blk_write_time AS blk_write_time,

  delay_time AS delay_time,
  total_time AS total_time
  FROM pg_stat_get_vacuum_indexes vt, pg_class c
WHERE (vt.relname='accounts_idx1' or vt.relname='accounts_idx2' or vt.relname = 'pgbench_accounts_pkey') AND vt.relid = c.oid;


select stats.relname,stats.total_blks_read AS total_blks_read,
  stats.total_blks_hit AS total_blks_hit,
  stats.total_blks_dirtied AS total_blks_dirtied,
  stats.total_blks_written AS total_blks_written,

  stats.rel_blks_read AS rel_blks_read,
  stats.rel_blks_hit AS rel_blks_hit,

  stats.pages_scanned AS pages_scanned,
  stats.pages_removed AS pages_removed,
  stats.pages_frozen AS pages_frozen,
  stats.pages_all_visible AS pages_all_visible,
  stats.tuples_deleted AS tuples_deleted,
  stats.tuples_frozen AS tuples_frozen,
  stats.dead_tuples AS dead_tuples,

  stats.index_vacuum_count AS index_vacuum_count,
  stats.wal_records AS wal_records,
  stats.wal_fpi AS wal_fpi,
  stats.wal_bytes AS wal_bytes,

  stats.blk_read_time AS blk_read_time,
  stats.blk_write_time AS blk_write_time,

  stats.delay_time AS delay_time,
  stats.total_time AS total_time from pg_stat_vacuum_tables stats, pg_stat_all_tables  WHERE stats.relname = 'pgbench_accounts' and stats.relid = pg_stat_all_tables.relid;


Just in case, I'll write that during the test I used simpler queries:

select * from pg_stat_vacuum_tables where relname like '%accounts%';

select * from pg_stat_vacuum_indexes where relname like '%accounts_%';

-- 
Regards,
Alena Rybakina
Postgres Professional
-- 
Regards,
Alena Rybakina
Postgres Professional
--------------Tw4C1VFbsXlHuJFWgtYEnszN-- --------------ehA8hvWTQKBldKbQWNQnJEtd Content-Type: text/x-patch; charset=UTF-8; name="v17-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v17-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBiZGY3MTJlYWQ1YjhjYzg4YWMzMmY5MmUxODAxZjNkNWEwNGU5YWE5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAxMCBKYW4gMjAyNSAwOTo1NzoxMyArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBoZWFwIHJlbGF0aW9ucy4KClZhbHVlIG9mIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfZGlydGllZCBhcmUgbnVtYmVy IG9mCmhpdHRlZCwgbWlzc2VkIGFuZCBkaXJ0aWVkIHBhZ2VzIGluIHNoYXJlZCBidWZmZXJz IGR1cmluZyBhIHZhY3V1bSBvcGVyYXRpb24KcmVzcGVjdGl2ZWx5LgoKdG90YWxfYmxrc19k aXJ0aWVkIG1lYW5zICdkaXJ0aWVkIG9ubHkgYnkgdGhpcyBhY3Rpb24nLiBTbywgaWYgdGhp cyBwYWdlIHdhcwpkaXJ0eSBiZWZvcmUgdGhlIHZhY3V1bSBvcGVyYXRpb24sIGl0IGRvZXNu J3QgY291bnQgdGhpcyBwYWdlIGFzICdkaXJ0aWVkJy4KClRoZSB0dXBsZXNfZGVsZXRlZCBw YXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgY2xlYW5lZCB1cCBieSB0aGUgdmFj dXVtCm9wZXJhdGlvbi4KClRoZSBkZWxheV90aW1lIHZhbHVlIG1lYW5zIHRvdGFsIHZhY3V1 bSBzbGVlcCB0aW1lIGluIHZhY3V1bSBkZWxheSBwb2ludC4KVGhlIHBhZ2VzX3JlbW92ZWQg dmFsdWUgaXMgdGhlIG51bWJlciBvZiBwYWdlcyBieSB3aGljaCB0aGUgcGh5c2ljYWwgZGF0 YQpzdG9yYWdlIG9mIHRoZSByZWxhdGlvbiB3YXMgcmVkdWNlZC4KVGhlIHZhbHVlIG9mIHBh Z2VzX2RlbGV0ZWQgcGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgZnJlZWQgcGFnZXMgaW4g dGhlIHRhYmxlCihmaWxlIHNpemUgbWF5IG5vdCBoYXZlIGNoYW5nZWQpLgoKVHJhY2tpbmcg b2YgSU8gZHVyaW5nIGFuIChhdXRvKXZhY3V1bSBvcGVyYXRpb24uCkludHJvZHVjZWQgdmFy aWFibGVzIGJsa19yZWFkX3RpbWUgYW5kIGJsa193cml0ZV90aW1lIHRyYWNrcyBvbmx5IGFj Y2VzcyB0bwpidWZmZXIgcGFnZXMgYW5kIGZsdXNoaW5nIHRoZW0gdG8gZGlzay4gUmVhZGlu ZyBvcGVyYXRpb24gaXMgdHJpdmlhbCwgYnV0CndyaXRpbmcgbWVhc3VyZW1lbnQgdGVjaG5p cXVlIGlzIG5vdCBvYnZpb3VzLgpTbywgZHVyaW5nIGEgdmFjdXVtIHdyaXRpbmcgdGltZSBj YW4gYmUgemVybyBpbmNyZW1lbnRlZCBiZWNhdXNlIG5vIGFueSBmbHVzaGluZwpvcGVyYXRp b25zIHdlcmUgcGVyZm9ybWVkLgoKU3lzdGVtIHRpbWUgYW5kIHVzZXIgdGltZSBhcmUgcGFy YW1ldGVycyB0aGF0IGRlc2NyaWJlcyBob3cgbXVjaCB0aW1lIGEgdmFjdXVtCm9wZXJhdGlv biBoYXMgc3BlbnQgaW4gZXhlY3V0aW5nIG9mIGNvZGUgaW4gdXNlciBzcGFjZSBhbmQga2Vy bmVsIHNwYWNlCmFjY29yZGluZ2x5LiBBbHNvLCBhY2N1bXVsYXRlIHRvdGFsIHRpbWUgb2Yg YSB2YWN1dW0gdGhhdCBpcyBhIGRpZmYgYmV0d2Vlbgp0aW1lc3RhbXBzIGluIHN0YXJ0IGFu ZCBmaW5pc2ggcG9pbnRzIGluIHRoZSB2YWN1dW0gY29kZS4KUmVtZW1iZXIgYWJvdXQgaWRs ZSB0aW1lLCB3aGVuIHZhY3V1bSB3YWl0ZWQgZm9yIElPIGFuZCBsb2Nrcywgc28gdG90YWwg dGltZQppc24ndCBlcXVhbCBhIHN1bSBvZiB1c2VyIGFuZCBzeXN0ZW0gdGltZSwgYnV0IG5v IGxlc3MuCgpwYWdlc19mcm96ZW4gaXMgYSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFy a2VkIGFzIGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtLgpUaGlzIHBhcmFtZXRlciBpcyBp bmNyZW1lbnRlZCBpZiBwYWdlIGlzIG1hcmtlZCBhcyBhbGwtZnJvemVuLgpwYWdlc19hbGxf dmlzaWJsZSBpcyBhIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMgYWxsLXZp c2libGUgaW4gdm0gZHVyaW5nCnZhY3V1bS4KCndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg aXMgYSBudW1iZXIgb2YgdGltZXMgd2hlbiB0aGUgdmFjdXVtIHN0YXJ0cyB1cmdlbnQgY2xl YW51cAp0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSB3aGljaCBpcyBjcml0aWNhbCBm b3IgdGhlIGRhdGFiYXNlLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwK CSAgICAgSmltIE5hc2J5IDxqbmFzYnlAdXBncmFkZS5jb20+LCBTYW1pIEltc2VpaCA8c2Ft aW1zZWloQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1s YXp5LmMgICAgICAgICAgfCAxNTAgKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC92aXNpYmlsaXR5bWFwLmMgICAgICAgfCAgMTAgKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDUyICsrKy0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bS5jICAgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW1wYXJhbGxlbC5jICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwgIDEyICstCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDcgKysrLQogc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTQ3ICsrKysrKysr KysrKwogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwg IDEzICsKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8 ICAgOSArCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUg fCAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAg IHwgIDE4ICsrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAgICAg ICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDgyICsrKysrKy0KIHNyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwu aCAgICAgICAgICAgfCAgIDEgLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQub3V0ICAgIHwgIDUzICsrKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9u X3NjaGVkdWxlICAgICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVw ZXRhYmxlLXJlYWQuc3BlYyAgIHwgIDUzICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3J1bGVzLm91dCAgICAgICAgICAgfCAgNDQgKysrLQogLi4uL2V4cGVjdGVkL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgICAgIHwgMjI1ICsrKysrKysrKysrKysrKysrKwog c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICA1ICsK IC4uLi9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsICB8IDE4MCAr KysrKysrKysrKysrKwogMjMgZmlsZXMgY2hhbmdlZCwgMTA5MiBpbnNlcnRpb25zKCspLCAx OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24v ZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGlu Zy1pbi1yZXBldGFibGUtcmVhZC5zcGVjCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLnNxbAoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCAwOWZh YjA4YjhlMS4uMDMxNzlmOGVjYWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9o ZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1s YXp5LmMKQEAgLTE2NSw2ICsxNjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJ LyogRXJyb3IgcmVwb3J0aW5nIHN0YXRlICovCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJ ICAgKnJlbG5hbWVzcGFjZTsKKwlPaWQJCQlyZWxvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsK IAljaGFyCSAgICppbmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tO dW1iZXIgYmxrbm87CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAg LTIyOSw2ICsyMzAsOCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJQmxvY2tOdW1i ZXIgbmV4dF91bnNraXBwYWJsZV9ibG9jazsgLyogbmV4dCB1bnNraXBwYWJsZSBibG9jayAq LwogCWJvb2wJCW5leHRfdW5za2lwcGFibGVfYWxsdmlzOwkvKiBpdHMgdmlzaWJpbGl0eSBz dGF0dXMgKi8KIAlCdWZmZXIJCW5leHRfdW5za2lwcGFibGVfdm1idWZmZXI7CS8qIGJ1ZmZl ciBjb250YWluaW5nIGl0cyBWTSBiaXQgKi8KKworCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OyAvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZlbnQgd29ya2Fyb3Vu ZCBwcm9ibGVtICovCiB9IExWUmVsU3RhdGU7CiAKIC8qIFN0cnVjdCBmb3Igc2F2aW5nIGFu ZCByZXN0b3JpbmcgdmFjdXVtIGVycm9yIGluZm9ybWF0aW9uLiAqLwpAQCAtMjM5LDYgKzI0 MiwxOCBAQCB0eXBlZGVmIHN0cnVjdCBMVlNhdmVkRXJySW5mbwogCVZhY0VyclBoYXNlIHBo YXNlOwogfSBMVlNhdmVkRXJySW5mbzsKIAorLyoKKyAqIENvdW50ZXJzIGFuZCB1c2FnZSBk YXRhIGZvciBleHRlbmRlZCBzdGF0cyB0cmFja2luZy4KKyAqLwordHlwZWRlZiBzdHJ1Y3Qg TFZFeHRTdGF0Q291bnRlcnMKK3sKKwlUaW1lc3RhbXBUeiBzdGFydHRpbWU7CisJV2FsVXNh Z2UJd2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UgYnVmdXNhZ2U7CisJZG91YmxlCQlWYWN1dW1E ZWxheVRpbWU7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7CisJUGdTdGF0X0Nv dW50ZXIgYmxvY2tzX2hpdDsKK30gTFZFeHRTdGF0Q291bnRlcnM7CiAKIC8qIG5vbi1leHBv cnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGljIHZvaWQgbGF6eV9zY2FuX2hlYXAo TFZSZWxTdGF0ZSAqdmFjcmVsKTsKQEAgLTI5Miw2ICszMDcsMTA2IEBAIHN0YXRpYyB2b2lk IHVwZGF0ZV92YWN1dW1fZXJyb3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiBzdGF0aWMg dm9pZCByZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIAkJ CQkJCQkJCSAgY29uc3QgTFZTYXZlZEVyckluZm8gKnNhdmVkX3ZhY3JlbCk7CiAKKy8qIC0t LS0tLS0tLS0KKyAqIGV4dHZhY19zdGF0c19zdGFydCgpIC0KKyAqCisgKiBTYXZlIGN1dC1v ZmYgdmFsdWVzIG9mIGV4dGVuZGVkIHZhY3V1bSBjb3VudGVycyBiZWZvcmUgc3RhcnQgb2Yg YSByZWxhdGlvbgorICogcHJvY2Vzc2luZy4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGlj IHZvaWQKK2V4dHZhY19zdGF0c19zdGFydChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50 ZXJzICpjb3VudGVycykKK3sKKwlUaW1lc3RhbXBUeglzdGFydHRpbWU7CisKKwlpZighcGdz dGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwltZW1zZXQoY291 bnRlcnMsIDAsIHNpemVvZihMVkV4dFN0YXRDb3VudGVycykpOworCisJc3RhcnR0aW1lID0g R2V0Q3VycmVudFRpbWVzdGFtcCgpOworCisJY291bnRlcnMtPnN0YXJ0dGltZSA9IHN0YXJ0 dGltZTsKKwljb3VudGVycy0+d2FsdXNhZ2UgPSBwZ1dhbFVzYWdlOworCWNvdW50ZXJzLT5i dWZ1c2FnZSA9IHBnQnVmZmVyVXNhZ2U7CisJY291bnRlcnMtPlZhY3V1bURlbGF5VGltZSA9 IFZhY3V1bURlbGF5VGltZTsKKwljb3VudGVycy0+YmxvY2tzX2ZldGNoZWQgPSAwOworCWNv dW50ZXJzLT5ibG9ja3NfaGl0ID0gMDsKKworCWlmICghcmVsLT5wZ3N0YXRfaW5mbyB8fCAh cGdzdGF0X3RyYWNrX2NvdW50cykKKwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdvZXMgd3Jv bmcgb3IgdXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQorCQkgKiBhY3Rp dml0eSAtIGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCQlyZXR1cm47CisKKwljb3VudGVy cy0+YmxvY2tzX2ZldGNoZWQgPSByZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2Zl dGNoZWQ7CisJY291bnRlcnMtPmJsb2Nrc19oaXQgPSByZWwtPnBnc3RhdF9pbmZvLT5jb3Vu dHMuYmxvY2tzX2hpdDsKK30KKworLyogLS0tLS0tLS0tLQorICogZXh0dmFjX3N0YXRzX2Vu ZCgpIC0KKyAqCisgKglDYWxsZWQgdG8gZmluaXNoIGFuIGV4dGVuZGVkIHZhY3V1bSBzdGF0 aXN0aWMgZ2F0aGVyaW5nIGFuZCBmb3JtIGEgcmVwb3J0LgorICogLS0tLS0tLS0tLQorICov CitzdGF0aWMgdm9pZAorZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0U3Rh dENvdW50ZXJzICpjb3VudGVycywKKwkJCQkgIEV4dFZhY1JlcG9ydCAqcmVwb3J0KQorewor CVdhbFVzYWdlCXdhbHVzYWdlOworCUJ1ZmZlclVzYWdlCWJ1ZnVzYWdlOworCVRpbWVzdGFt cFR6IGVuZHRpbWU7CisJbG9uZwkJc2VjczsKKwlpbnQJCQl1c2VjczsKKworCWlmKCFwZ3N0 YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCS8qIENhbGN1bGF0 ZSBkaWZmcyBvZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCBhbmQgYnVmZmVyIHVz YWdlLiAqLworCW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2FnZSkpOworCVdh bFVzYWdlQWNjdW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3VudGVycy0+d2Fs dXNhZ2UpOworCisJbWVtc2V0KCZidWZ1c2FnZSwgMCwgc2l6ZW9mKEJ1ZmZlclVzYWdlKSk7 CisJQnVmZmVyVXNhZ2VBY2N1bURpZmYoJmJ1ZnVzYWdlLCAmcGdCdWZmZXJVc2FnZSwgJmNv dW50ZXJzLT5idWZ1c2FnZSk7CisKKwllbmR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgp OworCVRpbWVzdGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnN0YXJ0dGltZSwgZW5kdGltZSwg JnNlY3MsICZ1c2Vjcyk7CisKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2YoRXh0VmFjUmVw b3J0KSk7CisKKwkvKgorCSAqIEZpbGwgYWRkaXRpb25hbCBzdGF0aXN0aWNzIG9uIGEgdmFj dXVtIHByb2Nlc3Npbmcgb3BlcmF0aW9uLgorCSAqLworCXJlcG9ydC0+dG90YWxfYmxrc19y ZWFkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3Nf cmVhZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ID0gYnVmdXNhZ2UubG9jYWxfYmxrc19o aXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2Rp cnRpZWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2FnZS5zaGFyZWRf Ymxrc19kaXJ0aWVkOworCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuID0gYnVmdXNhZ2Uu c2hhcmVkX2Jsa3Nfd3JpdHRlbjsKKworCXJlcG9ydC0+d2FsX3JlY29yZHMgPSB3YWx1c2Fn ZS53YWxfcmVjb3JkczsKKwlyZXBvcnQtPndhbF9mcGkgPSB3YWx1c2FnZS53YWxfZnBpOwor CXJlcG9ydC0+d2FsX2J5dGVzID0gd2FsdXNhZ2Uud2FsX2J5dGVzOworCisJcmVwb3J0LT5i bGtfcmVhZF90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxf YmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5ibGtfcmVhZF90aW1lICs9IElOU1RSX1RJTUVf R0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfcmVhZF90aW1lKTsKKwlyZXBvcnQt PmJsa193cml0ZV90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9j YWxfYmxrX3dyaXRlX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgPSBJTlNUUl9U SU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3dyaXRlX3RpbWUpOworCXJl cG9ydC0+ZGVsYXlfdGltZSA9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50ZXJzLT5WYWN1dW1E ZWxheVRpbWU7CisKKwlyZXBvcnQtPnRvdGFsX3RpbWUgPSBzZWNzICogMTAwMC4gKyB1c2Vj cyAvIDEwMDAuOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJhY2tf Y291bnRzKQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciBhbiB1c2Vy IGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVz dCBzdXBwcmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCXJlcG9ydC0+Ymxrc19mZXRj aGVkID0KKwkJcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19mZXRjaGVkIC0gY291 bnRlcnMtPmJsb2Nrc19mZXRjaGVkOworCXJlcG9ydC0+Ymxrc19oaXQgPQorCQlyZWwtPnBn c3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2hpdCAtIGNvdW50ZXJzLT5ibG9ja3NfaGl0Owor fQogCiAvKgogICoJaGVhcF92YWN1dW1fcmVsKCkgLS0gcGVyZm9ybSBWQUNVVU0gZm9yIG9u ZSBoZWFwIHJlbGF0aW9uCkBAIC0zMjQsNyArNDM5LDE0IEBAIGhlYXBfdmFjdXVtX3JlbChS ZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCVdhbFVzYWdlCXN0YXJ0d2Fs dXNhZ2UgPSBwZ1dhbFVzYWdlOwogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNhZ2UgPSBw Z0J1ZmZlclVzYWdlOwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNrOworCUxW RXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNS ZXBvcnQ7CiAJY2hhcgkgICoqaW5kbmFtZXMgPSBOVUxMOworCUV4dFZhY1JlcG9ydCBhbGx6 ZXJvOworCisJLyogSW5pdGlhbGl6ZSB2YWN1dW0gc3RhdGlzdGljcyAqLworCW1lbXNldCgm YWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCWV4dFZhY1JlcG9ydCA9IGFs bHplcm87CiAKIAl2ZXJib3NlID0gKHBhcmFtcy0+b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NF KSAhPSAwOwogCWluc3RydW1lbnQgPSAodmVyYm9zZSB8fCAoQW1BdXRvVmFjdXVtV29ya2Vy UHJvY2VzcygpICYmCkBAIC0zNDIsNyArNDY0LDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0 aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3Rh cnRfY29tbWFuZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlv bkdldFJlbGlkKHJlbCkpOwotCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4dFZhY0Nv dW50ZXJzKTsKIAkvKgogCSAqIFNldHVwIGVycm9yIHRyYWNlYmFjayBzdXBwb3J0IGZvciBl cmVwb3J0KCkgZmlyc3QuICBUaGUgaWRlYSBpcyB0byBzZXQKIAkgKiB1cCBhbiBlcnJvciBj b250ZXh0IGNhbGxiYWNrIHRvIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBh bnkKQEAgLTM1OSw2ICs0ODEsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBW YWN1dW1QYXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPmRibmFtZSA9IGdldF9kYXRhYmFzZV9u YW1lKE15RGF0YWJhc2VJZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3BhY2UgPSBnZXRfbmFtZXNw YWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSk7CiAJdmFjcmVsLT5yZWxuYW1l ID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKTsKKwl2YWNyZWwtPnJl bG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBOVUxM OwogCXZhY3JlbC0+cGhhc2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0VfVU5LTk9XTjsKIAl2YWNy ZWwtPnZlcmJvc2UgPSB2ZXJib3NlOwpAQCAtNDQ2LDYgKzU2OSw3IEBAIGhlYXBfdmFjdXVt X3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+dm1f bmV3X3Zpc2libGVfcGFnZXMgPSAwOwogCXZhY3JlbC0+dm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzID0gMDsKIAl2YWNyZWwtPnZtX25ld19mcm96ZW5fcGFnZXMgPSAwOworCXZhY3Jl bC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCA9IDA7CiAKIAkvKgogCSAqIEdldCBjdXRv ZmZzIHRoYXQgZGV0ZXJtaW5lIHdoaWNoIGRlbGV0ZWQgdHVwbGVzIGFyZSBjb25zaWRlcmVk IERFQUQsCkBAIC01OTEsNiArNzE1LDI2IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiBy ZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQkJCQkJdmFjcmVsLT5OZXdSZWxmcm96ZW5Y aWQsIHZhY3JlbC0+TmV3UmVsbWluTXhpZCwKIAkJCQkJCSZmcm96ZW54aWRfdXBkYXRlZCwg Jm1pbm11bHRpX3VwZGF0ZWQsIGZhbHNlKTsKIAorCS8qIE1ha2UgZ2VuZXJpYyBleHRlbmRl ZCB2YWN1dW0gc3RhdHMgcmVwb3J0ICovCisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRW YWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MpCisJeworCQkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3Rh dHMgZmllbGRzICovCisJCWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5z Y2FubmVkX3BhZ2VzOworCQlleHRWYWNSZXBvcnQucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+ cmVtb3ZlZF9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnZtX25ld19mcm96ZW5fcGFnZXMgPSB2 YWNyZWwtPnZtX25ld19mcm96ZW5fcGFnZXM7CisJCWV4dFZhY1JlcG9ydC52bV9uZXdfdmlz aWJsZV9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVfcGFnZXM7CisJCWV4dFZhY1Jl cG9ydC52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnR1cGxlc19kZWxldGVkID0gdmFj cmVsLT50dXBsZXNfZGVsZXRlZDsKKwkJZXh0VmFjUmVwb3J0LnR1cGxlc19mcm96ZW4gPSB2 YWNyZWwtPnR1cGxlc19mcm96ZW47CisJCWV4dFZhY1JlcG9ydC5yZWNlbnRseV9kZWFkX3R1 cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJCWV4dFZhY1JlcG9ydC5t aXNzZWRfZGVhZF90dXBsZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKKwkJZXh0 VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdl czsKKwkJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+bnVtX2lu ZGV4X3NjYW5zOworCQlleHRWYWNSZXBvcnQud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCA9 IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKKwl9CisKIAkvKgogCSAqIFJl cG9ydCByZXN1bHRzIHRvIHRoZSBjdW11bGF0aXZlIHN0YXRzIHN5c3RlbSwgdG9vLgogCSAq CkBAIC02MDUsNyArNzQ5LDggQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFj dXVtUGFyYW1zICpwYXJhbXMsCiAJCQkJCQkgcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAog CQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCiAJCQkJCQkgdmFjcmVs LT5yZWNlbnRseV9kZWFkX3R1cGxlcyArCi0JCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90 dXBsZXMpOworCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzLAorCQkJCQkJICZl eHRWYWNSZXBvcnQpOwogCXBnc3RhdF9wcm9ncmVzc19lbmRfY29tbWFuZCgpOwogCiAJaWYg KGluc3RydW1lbnQpCkBAIC0yNDE4LDYgKzI1NjMsNyBAQCBsYXp5X2NoZWNrX3dyYXBhcm91 bmRfZmFpbHNhZmUoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQlpbnQ2NAkJcHJvZ3Jlc3NfdmFs WzJdID0gezAsIDB9OwogCiAJCVZhY3V1bUZhaWxzYWZlQWN0aXZlID0gdHJ1ZTsKKwkJdmFj cmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICsrOwogCiAJCS8qCiAJCSAqIEFiYW5k b24gdXNlIG9mIGEgYnVmZmVyIGFjY2VzcyBzdHJhdGVneSB0byBhbGxvdyB1c2Ugb2YgYWxs IG9mCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFw LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKaW5kZXggNzQ1 YTA0ZWYyNmUuLjA3NjIzYTA0NWZhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC92aXNpYmlsaXR5bWFwLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlz aWJpbGl0eW1hcC5jCkBAIC05MSw2ICs5MSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dp bnNlcnQuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ3V0aWxzLmgiCiAjaW5jbHVkZSAibWlz Y2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19iaXR1 dGlscy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAjaW5jbHVkZSAic3RvcmFn ZS9zbWdyLmgiCkBAIC0xNjAsNiArMTYxLDE1IEBAIHZpc2liaWxpdHltYXBfY2xlYXIoUmVs YXRpb24gcmVsLCBCbG9ja051bWJlciBoZWFwQmxrLCBCdWZmZXIgdm1idWYsIHVpbnQ4IGZs YWdzCiAKIAlpZiAobWFwW21hcEJ5dGVdICYgbWFzaykKIAl7CisJCS8qCisJCSAqIEFzIHBh cnQgb2YgdmFjdXVtIHN0YXRzLCB0cmFjayBob3cgb2Z0ZW4gYWxsLXZpc2libGUgb3IgYWxs LWZyb3plbgorCQkgKiBiaXRzIGFyZSBjbGVhcmVkLgorCQkgKi8KKwkJaWYgKG1hcFttYXBC eXRlXSA+PiBtYXBPZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX1ZJU0lCTEUp CisJCQlwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF92aXNpYmxlKHJlbCk7CisJCWlmIChtYXBb bWFwQnl0ZV0gPj4gbWFwT2Zmc2V0ICYgZmxhZ3MgJiBWSVNJQklMSVRZTUFQX0FMTF9GUk9a RU4pCisJCQlwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF9mcm96ZW4ocmVsKTsKKwogCQltYXBb bWFwQnl0ZV0gJj0gfm1hc2s7CiAKIAkJTWFya0J1ZmZlckRpcnR5KHZtYnVmKTsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCA3YTU5NWM4NGRiOS4uNDNhYzI3 ZWQ1YjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTY5MSw3 ICs2OTEsOSBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X2FsbF90YWJsZXMgQVMKICAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudChDLm9pZCkgQVMgdmFjdXVtX2NvdW50LAog ICAgICAgICAgICAgcGdfc3RhdF9nZXRfYXV0b3ZhY3V1bV9jb3VudChDLm9pZCkgQVMgYXV0 b3ZhY3V1bV9jb3VudCwKICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2FuYWx5emVfY291bnQo Qy5vaWQpIEFTIGFuYWx5emVfY291bnQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9hdXRv YW5hbHl6ZV9jb3VudChDLm9pZCkgQVMgYXV0b2FuYWx5emVfY291bnQKKyAgICAgICAgICAg IHBnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50KEMub2lkKSBBUyBhdXRvYW5hbHl6ZV9j b3VudCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzKEMu b2lkKSBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcywKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0 X3Jldl9hbGxfdmlzaWJsZV9wYWdlcyhDLm9pZCkgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2Vz CiAgICAgRlJPTSBwZ19jbGFzcyBDIExFRlQgSk9JTgogICAgICAgICAgcGdfaW5kZXggSSBP TiBDLm9pZCA9IEkuaW5kcmVsaWQKICAgICAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2Ug TiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSkKQEAgLTEzODEsMyArMTM4Myw1MSBAQCBD UkVBVEUgVklFVyBwZ19zdGF0X3N1YnNjcmlwdGlvbl9zdGF0cyBBUwogCiBDUkVBVEUgVklF VyBwZ193YWl0X2V2ZW50cyBBUwogICAgIFNFTEVDVCAqIEZST00gcGdfZ2V0X3dhaXRfZXZl bnRzKCk7CistLQorLS0gU2hvdyBleHRlbmRlZCBjdW11bGF0aXZlIHN0YXRpc3RpY3Mgb24g YSB2YWN1dW0gb3BlcmF0aW9uIG92ZXIgYWxsIHRhYmxlcyBhbmQKKy0tIGRhdGFiYXNlcyBv ZiB0aGUgaW5zdGFuY2UuCistLSBVc2UgSW52YWxpZCBPaWQgIjAiIGFzIGFuIGlucHV0IHJl bGF0aW9uIGlkIHRvIGdldCBzdGF0IG9uIGVhY2ggdGFibGUgaW4gYQorLS0gZGF0YWJhc2Uu CistLQorCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgQVMKK1NFTEVDVAor ICBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUs CisgIHN0YXRzLnJlbGlkIGFzIHJlbGlkLAorCisgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCBB UyB0b3RhbF9ibGtzX3JlYWQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFsX2Js a3NfaGl0LAorICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0 aWVkLAorICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90YWxfYmxrc193cml0dGVu LAorCisgIHN0YXRzLnJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgc3RhdHMu cmVsX2Jsa3NfaGl0IEFTIHJlbF9ibGtzX2hpdCwKKworICBzdGF0cy5wYWdlc19zY2FubmVk IEFTIHBhZ2VzX3NjYW5uZWQsCisgIHN0YXRzLnBhZ2VzX3JlbW92ZWQgQVMgcGFnZXNfcmVt b3ZlZCwKKyAgc3RhdHMudm1fbmV3X2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfZnJvemVuX3Bh Z2VzLAorICBzdGF0cy52bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9w YWdlcywKKyAgc3RhdHMudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHZtX25ld192 aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgc3RhdHMubWlzc2VkX2RlYWRfcGFnZXMgQVMgbWlz c2VkX2RlYWRfcGFnZXMsCisgIHN0YXRzLnR1cGxlc19kZWxldGVkIEFTIHR1cGxlc19kZWxl dGVkLAorICBzdGF0cy50dXBsZXNfZnJvemVuIEFTIHR1cGxlc19mcm96ZW4sCisgIHN0YXRz LnJlY2VudGx5X2RlYWRfdHVwbGVzIEFTIHJlY2VudGx5X2RlYWRfdHVwbGVzLAorICBzdGF0 cy5taXNzZWRfZGVhZF90dXBsZXMgQVMgbWlzc2VkX2RlYWRfdHVwbGVzLAorCisgIHN0YXRz LndyYXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZSwKKyAgc3RhdHMu aW5kZXhfdmFjdXVtX2NvdW50IEFTIGluZGV4X3ZhY3V1bV9jb3VudCwKKyAgc3RhdHMud2Fs X3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwK KyAgc3RhdHMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90 aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIHN0YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193 cml0ZV90aW1lLAorCisgIHN0YXRzLmRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3Rh dHMudG90YWxfdGltZSBBUyB0b3RhbF90aW1lCisKK0ZST00gcGdfY2xhc3MgcmVsCisgIEpP SU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCisgIExB VEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cworV0hFUkUg cmVsLnJlbGtpbmQgPSAncic7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCmluZGV4IGU2NzQ1ZTYx NDVjLi4xZWEyNzdiMmMxNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKQEAgLTEwMiw2ICsx MDIsOSBAQCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZSA9IE5V TEw7CiBwZ19hdG9taWNfdWludDMyICpWYWN1dW1BY3RpdmVOV29ya2VycyA9IE5VTEw7CiBp bnQJCQlWYWN1dW1Db3N0QmFsYW5jZUxvY2FsID0gMDsKIAorLyogQ3VtdWxhdGl2ZSBzdG9y YWdlIHRvIHJlcG9ydCB0b3RhbCB2YWN1dW0gZGVsYXkgdGltZS4gKi8KK2RvdWJsZSBWYWN1 dW1EZWxheVRpbWUgPSAwOyAvKiBtc2VjLiAqLworCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9u IHByb3RvdHlwZXMgKi8KIHN0YXRpYyBMaXN0ICpleHBhbmRfdmFjdXVtX3JlbChWYWN1dW1S ZWxhdGlvbiAqdnJlbCwKIAkJCQkJCQkgICBNZW1vcnlDb250ZXh0IHZhY19jb250ZXh0LCBp bnQgb3B0aW9ucyk7CkBAIC0yNDE4LDYgKzI0MjEsNyBAQCB2YWN1dW1fZGVsYXlfcG9pbnQo dm9pZCkKIAkJCWV4aXQoMSk7CiAKIAkJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCQlWYWN1 dW1EZWxheVRpbWUgKz0gbXNlYzsKIAogCQkvKgogCQkgKiBCYWxhbmNlIGFuZCB1cGRhdGUg bGltaXQgdmFsdWVzIGZvciBhdXRvdmFjdXVtIHdvcmtlcnMuIFdlIG11c3QgZG8KZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IDBkOTJlNjk0ZDZhLi42NzJm OGY0YmZlOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxs ZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC0x MDQ3LDYgKzEwNDcsNyBAQCBwYXJhbGxlbF92YWN1dW1fbWFpbihkc21fc2VnbWVudCAqc2Vn LCBzaG1fdG9jICp0b2MpCiAJLyogU2V0IGNvc3QtYmFzZWQgdmFjdXVtIGRlbGF5ICovCiAJ VmFjdXVtVXBkYXRlQ29zdHMoKTsKIAlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJVmFjdXVt RGVsYXlUaW1lID0gMDsKIAlWYWN1dW1Db3N0QmFsYW5jZUxvY2FsID0gMDsKIAlWYWN1dW1T aGFyZWRDb3N0QmFsYW5jZSA9ICYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpOwogCVZhY3V1bUFj dGl2ZU5Xb3JrZXJzID0gJihzaGFyZWQtPmFjdGl2ZV9ud29ya2Vycyk7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IDM0NTIwNTM1ZDU0Li5kMjFiOTMwMmMyOSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTE5MSw3ICsxOTEsNyBA QCBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVzZXRfYWZ0ZXJfZmFpbHVyZSh2b2lkKTsKIHN0YXRp YyBib29sIHBnc3RhdF9mbHVzaF9wZW5kaW5nX2VudHJpZXMoYm9vbCBub3dhaXQpOwogCiBz dGF0aWMgdm9pZCBwZ3N0YXRfcHJlcF9zbmFwc2hvdCh2b2lkKTsKLXN0YXRpYyB2b2lkIHBn c3RhdF9idWlsZF9zbmFwc2hvdCh2b2lkKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9z bmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCk7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfYnVp bGRfc25hcHNob3RfZml4ZWQoUGdTdGF0X0tpbmQga2luZCk7CiAKIHN0YXRpYyBpbmxpbmUg Ym9vbCBwZ3N0YXRfaXNfa2luZF92YWxpZChQZ1N0YXRfS2luZCBraW5kKTsKQEAgLTIwNCw3 ICsyMDQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdT dGF0X0tpbmQga2luZCk7CiAKIGJvb2wJCXBnc3RhdF90cmFja19jb3VudHMgPSBmYWxzZTsK IGludAkJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNU RU5DWV9DQUNIRTsKLQorYm9vbAkJcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0g dHJ1ZTsKIAogLyogLS0tLS0tLS0tLQogICogc3RhdGUgc2hhcmVkIHdpdGggcGdzdGF0Xyou YwpAQCAtMjYxLDcgKzI2MSw2IEBAIHN0YXRpYyBib29sIHBnc3RhdF9pc19pbml0aWFsaXpl ZCA9IGZhbHNlOwogc3RhdGljIGJvb2wgcGdzdGF0X2lzX3NodXRkb3duID0gZmFsc2U7CiAj ZW5kaWYKIAotCiAvKgogICogVGhlIGRpZmZlcmVudCBraW5kcyBvZiBidWlsdC1pbiBzdGF0 aXN0aWNzLgogICoKQEAgLTkxMSw3ICs5MTAsNiBAQCBwZ3N0YXRfcmVzZXRfb2Zfa2luZChQ Z1N0YXRfS2luZCBraW5kKQogCQlwZ3N0YXRfcmVzZXRfZW50cmllc19vZl9raW5kKGtpbmQs IHRzKTsKIH0KIAotCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqIEZldGNoaW5nIG9mIHN0YXRzCiAgKiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KQEAgLTk4MCw3ICs5NzgsNyBAQCBwZ3N0YXRfZmV0Y2hfZW50cnkoUGdTdGF0X0tpbmQg a2luZCwgT2lkIGRib2lkLCB1aW50NjQgb2JqaWQpCiAKIAkvKiBpZiB3ZSBuZWVkIHRvIGJ1 aWxkIGEgZnVsbCBzbmFwc2hvdCwgZG8gc28gKi8KIAlpZiAocGdzdGF0X2ZldGNoX2NvbnNp c3RlbmN5ID09IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVCkKLQkJcGdzdGF0 X2J1aWxkX3NuYXBzaG90KCk7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lO RF9JTlZBTElEKTsKIAogCS8qIGlmIGNhY2hpbmcgaXMgZGVzaXJlZCwgbG9vayB1cCBpbiBj YWNoZSAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPiBQR1NUQVRfRkVUQ0hf Q09OU0lTVEVOQ1lfTk9ORSkKQEAgLTEwOTYsNyArMTA5NCw3IEBAIHBnc3RhdF9zbmFwc2hv dF9maXhlZChQZ1N0YXRfS2luZCBraW5kKQogCQlwZ3N0YXRfY2xlYXJfc25hcHNob3QoKTsK IAogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJ U1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0 X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0lOVkFMSUQpOwogCWVsc2UKIAkJcGdzdGF0 X2J1aWxkX3NuYXBzaG90X2ZpeGVkKGtpbmQpOwogCkBAIC0xMTQ3LDcgKzExNDUsNyBAQCBw Z3N0YXRfcHJlcF9zbmFwc2hvdCh2b2lkKQogfQogCiBzdGF0aWMgdm9pZAotcGdzdGF0X2J1 aWxkX3NuYXBzaG90KHZvaWQpCitwZ3N0YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQg c3RhdEtpbmQpCiB7CiAJZHNoYXNoX3NlcV9zdGF0dXMgaHN0YXQ7CiAJUGdTdGF0U2hhcmVk X0hhc2hFbnRyeSAqcDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 X3JlbGF0aW9uLmMKaW5kZXggMDkyNDdiYTA5NzEuLjQ1OGJkNGVjZTQ5IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpAQCAtNDcsNiAr NDcsOCBAQCBzdGF0aWMgdm9pZCBhZGRfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJs ZVN0YXR1cyAqcGdzdGF0X2luZm8sIGludCBuZXN0X2xldgogc3RhdGljIHZvaWQgZW5zdXJl X3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvKTsK IHN0YXRpYyB2b2lkIHNhdmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RT dGF0dXMgKnRyYW5zLCBib29sIGlzX2Ryb3ApOwogc3RhdGljIHZvaWQgcmVzdG9yZV90cnVu Y2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMpOworc3RhdGlj IHZvaWQgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0 LCBFeHRWYWNSZXBvcnQgKnNyYywKKwkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlw ZV9zcGVjaWZpY19pbmZvKTsKIAogCiAvKgpAQCAtMjA4LDcgKzIxMCw4IEBAIHBnc3RhdF9k cm9wX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKICAqLwogdm9pZAogcGdzdGF0X3JlcG9ydF92 YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKLQkJCQkJIFBnU3RhdF9Db3VudGVy IGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMpCisJCQkJCSBQZ1N0YXRf Q291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzLAorCQkJCQkg RXh0VmFjUmVwb3J0ICpwYXJhbXMpCiB7CiAJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7 CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwpAQCAtMjMyLDYgKzIzNSw4 IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJ dGFiZW50cnktPmxpdmVfdHVwbGVzID0gbGl2ZXR1cGxlczsKIAl0YWJlbnRyeS0+ZGVhZF90 dXBsZXMgPSBkZWFkdHVwbGVzOwogCisJcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRz KCZ0YWJlbnRyeS0+dmFjdXVtX2V4dCwgcGFyYW1zLCB0cnVlKTsKKwogCS8qCiAJICogSXQg aXMgcXVpdGUgcG9zc2libGUgdGhhdCBhIG5vbi1hZ2dyZXNzaXZlIFZBQ1VVTSBlbmRlZCB1 cCBza2lwcGluZwogCSAqIHZhcmlvdXMgcGFnZXMsIGhvd2V2ZXIsIHdlJ2xsIHplcm8gdGhl IGluc2VydCBjb3VudGVyIGhlcmUgcmVnYXJkbGVzcy4KQEAgLTg1OSw2ICs4NjQsOSBAQCBw Z3N0YXRfcmVsYXRpb25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJv b2wgbm93YWl0KQogCXRhYmVudHJ5LT5ibG9ja3NfZmV0Y2hlZCArPSBsc3RhdHMtPmNvdW50 cy5ibG9ja3NfZmV0Y2hlZDsKIAl0YWJlbnRyeS0+YmxvY2tzX2hpdCArPSBsc3RhdHMtPmNv dW50cy5ibG9ja3NfaGl0OwogCisJdGFiZW50cnktPnJldl9hbGxfZnJvemVuX3BhZ2VzICs9 IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfZnJvemVuX3BhZ2VzOworCXRhYmVudHJ5LT5yZXZf YWxsX3Zpc2libGVfcGFnZXMgKz0gbHN0YXRzLT5jb3VudHMucmV2X2FsbF92aXNpYmxlX3Bh Z2VzOworCiAJLyogQ2xhbXAgbGl2ZV90dXBsZXMgaW4gY2FzZSBvZiBuZWdhdGl2ZSBkZWx0 YV9saXZlX3R1cGxlcyAqLwogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9IE1heCh0YWJlbnRy eS0+bGl2ZV90dXBsZXMsIDApOwogCS8qIExpa2V3aXNlIGZvciBkZWFkX3R1cGxlcyAqLwpA QCAtOTgyLDMgKzk5MCw0MCBAQCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRf VGFibGVYYWN0U3RhdHVzICp0cmFucykKIAkJdHJhbnMtPnR1cGxlc19kZWxldGVkID0gdHJh bnMtPmRlbGV0ZWRfcHJlX3RydW5jZHJvcDsKIAl9CiB9CisKK3N0YXRpYyB2b2lkCitwZ3N0 YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1Jl cG9ydCAqc3JjLAorCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmlj X2luZm8pCit7CisJZHN0LT50b3RhbF9ibGtzX3JlYWQgKz0gc3JjLT50b3RhbF9ibGtzX3Jl YWQ7CisJZHN0LT50b3RhbF9ibGtzX2hpdCArPSBzcmMtPnRvdGFsX2Jsa3NfaGl0OworCWRz dC0+dG90YWxfYmxrc19kaXJ0aWVkICs9IHNyYy0+dG90YWxfYmxrc19kaXJ0aWVkOworCWRz dC0+dG90YWxfYmxrc193cml0dGVuICs9IHNyYy0+dG90YWxfYmxrc193cml0dGVuOworCWRz dC0+d2FsX2J5dGVzICs9IHNyYy0+d2FsX2J5dGVzOworCWRzdC0+d2FsX2ZwaSArPSBzcmMt PndhbF9mcGk7CisJZHN0LT53YWxfcmVjb3JkcyArPSBzcmMtPndhbF9yZWNvcmRzOworCWRz dC0+YmxrX3JlYWRfdGltZSArPSBzcmMtPmJsa19yZWFkX3RpbWU7CisJZHN0LT5ibGtfd3Jp dGVfdGltZSArPSBzcmMtPmJsa193cml0ZV90aW1lOworCWRzdC0+ZGVsYXlfdGltZSArPSBz cmMtPmRlbGF5X3RpbWU7CisJZHN0LT50b3RhbF90aW1lICs9IHNyYy0+dG90YWxfdGltZTsK KworCWlmICghYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCisJCXJldHVybjsK KworCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOworCWRzdC0+Ymxr c19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKKworCWRzdC0+cGFnZXNfc2Nhbm5lZCArPSBzcmMt PnBhZ2VzX3NjYW5uZWQ7CisJZHN0LT5wYWdlc19yZW1vdmVkICs9IHNyYy0+cGFnZXNfcmVt b3ZlZDsKKwlkc3QtPnZtX25ld19mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdfZnJvemVu X3BhZ2VzOworCWRzdC0+dm1fbmV3X3Zpc2libGVfcGFnZXMgKz0gc3JjLT52bV9uZXdfdmlz aWJsZV9wYWdlczsKKwlkc3QtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyArPSBzcmMt PnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwlkc3QtPnR1cGxlc19kZWxldGVkICs9 IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVw bGVzX2Zyb3plbjsKKwlkc3QtPnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+cmVjZW50 bHlfZGVhZF90dXBsZXM7CisJZHN0LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRl eF92YWN1dW1fY291bnQ7CisJZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNy Yy0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKKwlkc3QtPm1pc3NlZF9kZWFkX3BhZ2Vz ICs9IHNyYy0+bWlzc2VkX2RlYWRfcGFnZXM7CisJZHN0LT5taXNzZWRfZGVhZF90dXBsZXMg Kz0gc3JjLT5taXNzZWRfZGVhZF90dXBsZXM7CisKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDVmOGQyMGE0 MDZkLi5kYTMxZDlkM2UyOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bn c3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMK QEAgLTEwNiw2ICsxMDYsMTIgQEAgUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQodHVwbGVz X3VwZGF0ZWQpCiAvKiBwZ19zdGF0X2dldF92YWN1dW1fY291bnQgKi8KIFBHX1NUQVRfR0VU X1JFTEVOVFJZX0lOVDY0KHZhY3V1bV9jb3VudCkKIAorLyogcGdfc3RhdF9nZXRfcmV2X2Zy b3plbl9wYWdlcyAqLworUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQocmV2X2FsbF9mcm96 ZW5fcGFnZXMpCisKKy8qIHBnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcyAqLwor UEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQocmV2X2FsbF92aXNpYmxlX3BhZ2VzKQorCiAj ZGVmaW5lIFBHX1NUQVRfR0VUX1JFTEVOVFJZX1RJTUVTVEFNUFRaKHN0YXQpCQkJCQlcCiBE YXR1bQkJCQkJCQkJCQkJCQkJCVwKIENwcENvbmNhdChwZ19zdGF0X2dldF8sc3RhdCkoUEdf RlVOQ1RJT05fQVJHUykJCQkJCVwKQEAgLTIxNzIsMyArMjE3OCwxNDQgQEAgcGdfc3RhdF9o YXZlX3N0YXRzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlQR19SRVRVUk5fQk9PTChwZ3N0YXRf aGF2ZV9lbnRyeShraW5kLCBkYm9pZCwgb2JqaWQpKTsKIH0KKworCisvKgorICogR2V0IHRo ZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgdGFibGVzLgorICovCitEYXR1bQor cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQoreworCSNkZWZp bmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTIDI2CisKKwlPaWQJCQkJ CQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAgICAg KnRhYmVudHJ5OworCUV4dFZhY1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJ CQkgdHVwZGVzYzsKKwlEYXR1bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFC TEVTX1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9W QUNVVU1fVEFCTEVTX1NUQVRTX0NPTFNdID0gezB9OworCWNoYXIJCQkJCSBidWZbMjU2XTsK KwlpbnQJCQkJCQkgaSA9IDA7CisJRXh0VmFjUmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0 aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3Ig Ki8KKwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFD VVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAicmVsaWQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3Rh bF9ibGtzX3JlYWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJ CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9i bGtzX3JlYWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19oaXQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJwYWdlc19zY2FubmVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDAp OworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFn ZXNfcmVtb3ZlZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInZtX25ld19mcm96ZW5fcGFnZXMi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdfdmlzaWJsZV9wYWdlcyIsCisJCQkJCSAg IElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgInZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgIm1pc3NlZF9kZWFkX3BhZ2VzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDAp OworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVw bGVzX2RlbGV0ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNfZnJvemVuIiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAicmVjZW50bHlfZGVhZF90dXBsZXMiLAorCQkJCQkgICBJTlQ4 T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJtaXNzZWRfZGVhZF90dXBsZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50IiwKKwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiaW5kZXhfdmFj dXVtX2NvdW50IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3YWxfZnBpIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVz IiwKKwkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwKKwkJCQkJICAg RkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJibGtfd3JpdGVfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEs IDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJkZWxheV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKKwkJ CQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9W QUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOworCisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7 CisKKwl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKKwor CWlmICh0YWJlbnRyeSA9PSBOVUxMKQorCXsKKwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBp cyBub3QgZm91bmQsIGluaXRpYWxpc2UgaXRzIHN0YXRzICovCisJCW1lbXNldCgmYWxsemVy bywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCQlleHR2YWN1dW0gPSAmYWxsemVybzsK Kwl9CisJZWxzZQorCXsKKwkJZXh0dmFjdXVtID0gJih0YWJlbnRyeS0+dmFjdXVtX2V4dCk7 CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVs aWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxf Ymxrc19yZWFkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+dG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT50b3RhbF9ibGtzX3dyaXR0ZW4pOworCisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19mZXRjaGVkIC0KKwkJCQkJCQkJCWV4dHZhY3V1 bS0+Ymxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PmJsa3NfaGl0KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnBhZ2VzX3NjYW5uZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnBhZ2VzX3JlbW92ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnZtX25ld19mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPnZtX25ld192aXNpYmxlX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPm1pc3NlZF9kZWFk X3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBs ZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ dHVwbGVzX2Zyb3plbik7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+cmVjZW50bHlfZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPm1pc3NlZF9kZWFkX3R1cGxlcyk7CisJdmFsdWVzW2krK10gPSBJbnQz MkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aW5kZXhfdmFjdXVtX2NvdW50 KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNv cmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBp KTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMg Ki8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1 bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVt ZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkg IE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsK KworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfcmVhZF90 aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3dy aXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5k ZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ dG90YWxfdGltZSk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVT X1NUQVRTX0NPTFMpOworCisJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJ UEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBk ZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRleCA4NjBiYmQ0MGQ0Mi4uNGRhOGQzZjg3ZmQg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYworKysgYi9zcmMv YmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKQEAgLTE2MTksNiArMTYxOSwxOSBAQCBnZXRp bnRlcm5hbGVycnBvc2l0aW9uKHZvaWQpCiAJcmV0dXJuIGVkYXRhLT5pbnRlcm5hbHBvczsK IH0KIAorLyoKKyAqIFJldHVybiBlbGV2ZWwgb2YgZXJyb3JzCisgKi8KK2ludAorZ2V0ZXJy ZWxldmVsKHZvaWQpCit7CisJRXJyb3JEYXRhICAqZWRhdGEgPSAmZXJyb3JkYXRhW2Vycm9y ZGF0YV9zdGFja19kZXB0aF07CisKKwkvKiB3ZSBkb24ndCBib3RoZXIgaW5jcmVtZW50aW5n IHJlY3Vyc2lvbl9kZXB0aCAqLworCUNIRUNLX1NUQUNLX0RFUFRIKCk7CisKKwlyZXR1cm4g ZWRhdGEtPmVsZXZlbDsKK30KIAogLyoKICAqIEZ1bmN0aW9ucyB0byBhbGxvdyBjb25zdHJ1 Y3Rpb24gb2YgZXJyb3IgbWVzc2FnZSBzdHJpbmdzIHNlcGFyYXRlbHkgZnJvbQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwppbmRleCBjOWQ4Y2Q3OTZhOC4uZjJkMzFlMTc0 YjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCkBAIC0xNDc4LDYgKzE0 NzgsMTUgQEAgc3RydWN0IGNvbmZpZ19ib29sIENvbmZpZ3VyZU5hbWVzQm9vbFtdID0KIAkJ ZmFsc2UsCiAJCU5VTEwsIE5VTEwsIE5VTEwKIAl9LAorCXsKKwkJeyJ0cmFja192YWN1dW1f c3RhdGlzdGljcyIsIFBHQ19TVVNFVCwgU1RBVFNfQ1VNVUxBVElWRSwKKwkJCWdldHRleHRf bm9vcCgiQ29sbGVjdHMgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRhYmxlIHJlbGF0aW9ucy4i KSwKKwkJCU5VTEwKKwkJfSwKKwkJJnBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcywK KwkJdHJ1ZSwKKwkJTlVMTCwgTlVMTCwgTlVMTAorCX0sCiAJewogCQl7InRyYWNrX3dhbF9p b190aW1pbmciLCBQR0NfU1VTRVQsIFNUQVRTX0NVTVVMQVRJVkUsCiAJCQlnZXR0ZXh0X25v b3AoIkNvbGxlY3RzIHRpbWluZyBzdGF0aXN0aWNzIGZvciBXQUwgSS9PIGFjdGl2aXR5LiIp LApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYu c2FtcGxlIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxl CmluZGV4IGIyYmM0MzM4M2RiLi41MjJlNTZmMWE4MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtNjQ0LDYgKzY0NCw3IEBA CiAjdHJhY2tfd2FsX2lvX3RpbWluZyA9IG9mZgogI3RyYWNrX2Z1bmN0aW9ucyA9IG5vbmUJ CQkjIG5vbmUsIHBsLCBhbGwKICNzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IGNhY2hlCSMg Y2FjaGUsIG5vbmUsIHNuYXBzaG90CisjdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgPSBvZmYK IAogCiAjIC0gTW9uaXRvcmluZyAtCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBi MzdlOGE2Zjg4Mi4uMGQ5NTg0YTlmZWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApA QCAtMTI0MjksNCArMTI0MjksMjIgQEAKICAgcHJvYXJndHlwZXMgPT4gJ2ludDInLAogICBw cm9zcmMgPT4gJ2dpc3Rfc3RyYXRudW1faWRlbnRpdHknIH0sCiAKK3sgb2lkID0+ICc4MDAx JywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgcmV0dXJucyB2YWN1 dW0gc3RhdHMgdmFsdWVzIGZvciB0YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0 X3ZhY3V1bV90YWJsZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywg cHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHNl dCA9PiAndCcsCisgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBlcyA9 PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ0LGludDgsaW50OCxp bnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4fScsCisgIHByb2FyZ21v ZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxr c19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dy aXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19y ZW1vdmVkLHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzLG1pc3NlZF9kZWFkX3BhZ2VzLHR1cGxlc19kZWxldGVk LHR1cGxlc19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfdHVwbGVz LHdyYXBhcm91bmRfZmFpbHNhZmUsaW5kZXhfdmFjdXVtX2NvdW50LHdhbF9yZWNvcmRzLHdh bF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGlt ZSx0b3RhbF90aW1lfScsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxl cycgfSwKKworICB7IG9pZCA9PiAnODAwMicsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1i ZXIgb2YgdGltZXMgdGhlIGFsbC12aXNpYmxlIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1h cCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19z dGF0X2dldF9yZXZfYWxsX3Zpc2libGVfcGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycsCisg IHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9w YWdlcycgfSwKKyAgeyBvaWQgPT4gJzgwMDMnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVt YmVyIG9mIHRpbWVzIHRoZSBhbGwtZnJvemVuIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1h cCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19z dGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAg cHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMg PT4gJ29pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFn ZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBi L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IDEyZDBiNjE5NTBkLi45NGQ1 OTk3NjdkZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysr IGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAgLTMwOCw2ICszMDgsNyBAQCBl eHRlcm4gUEdETExJTVBPUlQgaW50IHZhY3V1bV9tdWx0aXhhY3RfZmFpbHNhZmVfYWdlOwog ZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RC YWxhbmNlOwogZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFj dGl2ZU5Xb3JrZXJzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBWYWN1dW1Db3N0QmFsYW5j ZUxvY2FsOworZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSBWYWN1dW1EZWxheVRpbWU7CiAK IGV4dGVybiBQR0RMTElNUE9SVCBib29sIFZhY3V1bUZhaWxzYWZlQWN0aXZlOwogZXh0ZXJu IFBHRExMSU1QT1JUIGRvdWJsZSB2YWN1dW1fY29zdF9kZWxheTsKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggNjQ3NTg4 OWM1OGMuLjAyNjY5OTNkYmYyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAor KysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTY3LDYgKzE2Nyw1MyBAQCB0eXBlZGVm IHN0cnVjdCBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxp Y3RfY291bnRbQ09ORkxJQ1RfTlVNX1RZUEVTXTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRy eTsKIAorLyogLS0tLS0tLS0tLQorICoKKyAqIEV4dFZhY1JlcG9ydAorICoKKyAqIEFkZGl0 aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxh dGlvbi4KKyAqIHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5 c2ljYWxseSBzaHJhbmssCisgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFs IHNpemUgb24gZGlzaykKKyAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3 aXRoaW4gdGhlIGluZGV4IGZpbGUKKyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1 Y3QgRXh0VmFjUmVwb3J0Cit7CisJLyogbnVtYmVyIG9mIGJsb2NrcyBtaXNzZWQsIGhpdCwg ZGlydGllZCBhbmQgd3JpdHRlbiBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRp b24gKi8KKwlpbnQ2NAkJdG90YWxfYmxrc19yZWFkOworCWludDY0CQl0b3RhbF9ibGtzX2hp dDsKKwlpbnQ2NAkJdG90YWxfYmxrc19kaXJ0aWVkOworCWludDY0CQl0b3RhbF9ibGtzX3dy aXR0ZW47CisKKwkvKiBibG9ja3MgbWlzc2VkIGFuZCBoaXQgZm9yIGp1c3QgdGhlIGhlYXAg ZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCisJaW50NjQJCWJsa3Nf ZmV0Y2hlZDsKKwlpbnQ2NAkJYmxrc19oaXQ7CisKKwkvKiBWYWN1dW0gV0FMIHVzYWdlIHN0 YXRzICovCisJaW50NjQJCXdhbF9yZWNvcmRzOwkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBX QUwgcmVjb3JkcyAqLworCWludDY0CQl3YWxfZnBpOwkJLyogd2FsIHVzYWdlOiBudW1iZXIg b2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgcHJvZHVjZWQgKi8KKwl1aW50NjQJCXdhbF9ieXRl czsJCS8qIHdhbCB1c2FnZTogc2l6ZSBvZiBXQUwgcmVjb3JkcyBwcm9kdWNlZCAqLworCisJ LyogVGltZSBzdGF0cy4gKi8KKwlkb3VibGUJCWJsa19yZWFkX3RpbWU7CS8qIHRpbWUgc3Bl bnQgcmVhZGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJYmxrX3dyaXRlX3RpbWU7 IC8qIHRpbWUgc3BlbnQgd3JpdGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJZGVs YXlfdGltZTsJCS8qIGhvdyBsb25nIHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkgcG9p bnQsIGluIG1zZWMgKi8KKwlkb3VibGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1lIG9m IGEgdmFjdXVtIG9wZXJhdGlvbiwgaW4gbXNlYyAqLworCisJaW50NjQJCXBhZ2VzX3NjYW5u ZWQ7CQkvKiBoZWFwIHBhZ2VzIGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KKwlp bnQ2NAkJcGFnZXNfcmVtb3ZlZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0g InRydW5jYXRpb24iICovCisJaW50NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdl cyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICovCisJaW50NjQJCXZtX25ld192aXNpYmxlX3Bh Z2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KKwlpbnQ2NAkJ dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMg YWxsLXZpc2libGUgYW5kIGZyb3plbiAqLworCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7 CQkvKiB0dXBsZXMgbm90IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0 IGEgY2xlYW51cCBsb2NrICovCisJaW50NjQJCW1pc3NlZF9kZWFkX3BhZ2VzOwkJLyogcGFn ZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBsZXMgKi8KKwlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7 CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJdHVwbGVzX2Zyb3pl bjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJaW50NjQJCXJlY2VudGx5 X2RlYWRfdHVwbGVzOwkvKiBkZWxldGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxl IHRvIHNvbWUgdHJhbnNhY3Rpb24gKi8KKwlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50Owkv KiB0aGUgbnVtYmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KKwlpbnQzMgkJd3JhcGFyb3Vu ZF9mYWlsc2FmZV9jb3VudDsJLyogdGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdv cmthcm91bmQgcHJvYmxlbSAqLworfSBFeHRWYWNSZXBvcnQ7CisKIC8qIC0tLS0tLS0tLS0K ICAqIFBnU3RhdF9UYWJsZUNvdW50cwkJCVRoZSBhY3R1YWwgcGVyLXRhYmxlIGNvdW50cyBr ZXB0IGJ5IGEgYmFja2VuZAogICoKQEAgLTIwOSw2ICsyNTYsMTYgQEAgdHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X1RhYmxlQ291bnRzCiAKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hl ZDsKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OworCisJUGdTdGF0X0NvdW50ZXIgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3Bh Z2VzOworCisJLyoKKwkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2YWN1dW0g b3BlcmF0aW9ucy4KKwkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBhbiBhYnN0 cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mCisJICogcmVsYXRpb25zLgorCSAqLwor CUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwogfSBQZ1N0YXRfVGFibGVDb3VudHM7CiAKIC8q IC0tLS0tLS0tLS0KQEAgLTI2Nyw3ICszMjQsNyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRf VGFibGVYYWN0U3RhdHVzCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi0jZGVmaW5lIFBHU1RBVF9GSUxF X0ZPUk1BVF9JRAkweDAxQTVCQ0IwCisjZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkw eDAxQTVCQ0IxCiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9BcmNoaXZlclN0YXRzCiB7CkBA IC00MjksNiArNDg2LDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJ UGdTdGF0X0NvdW50ZXIgcGFyYWxsZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFt cFR6IHN0YXRfcmVzZXRfdGltZXN0YW1wOworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7 CQkvKiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50 cnk7CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC01MDIsNiAr NTYxLDExIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0VGFiRW50cnkKIAlQZ1N0YXRf Q291bnRlciBhbmFseXplX2NvdW50OwogCVRpbWVzdGFtcFR6IGxhc3RfYXV0b2FuYWx5emVf dGltZTsJLyogYXV0b3ZhY3V1bSBpbml0aWF0ZWQgKi8KIAlQZ1N0YXRfQ291bnRlciBhdXRv YW5hbHl6ZV9jb3VudDsKKworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfdmlzaWJsZV9wYWdl czsKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX2Zyb3plbl9wYWdlczsKKworCUV4dFZhY1Jl cG9ydCB2YWN1dW1fZXh0OwogfSBQZ1N0YXRfU3RhdFRhYkVudHJ5OwogCiB0eXBlZGVmIHN0 cnVjdCBQZ1N0YXRfV2FsU3RhdHMKQEAgLTY3Niw3ICs3NDAsOCBAQCBleHRlcm4gdm9pZCBw Z3N0YXRfYXNzb2NfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKIGV4dGVybiB2b2lkIHBnc3Rh dF91bmxpbmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKIAogZXh0ZXJuIHZvaWQgcGdzdGF0 X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKLQkJCQkJCQkJIFBn U3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMpOwor CQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVh ZHR1cGxlcywKKwkJCQkJCQkJIEV4dFZhY1JlcG9ydCAqcGFyYW1zKTsKIGV4dGVybiB2b2lk IHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCQkJCQkJCSAgUGdTdGF0 X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKIAkJCQkJ CQkJICBib29sIHJlc2V0Y291bnRlcik7CkBAIC03MjcsNiArNzkyLDE3IEBAIGV4dGVybiB2 b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCWlmIChwZ3N0YXRf c2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAogCQkJKHJlbCktPnBnc3RhdF9p bmZvLT5jb3VudHMuYmxvY2tzX2hpdCsrOwkJCQlcCiAJfSB3aGlsZSAoMCkKKy8qIGFjY3Vt dWxhdGUgdW5mcm96ZW4gYWxsLXZpc2libGUgYW5kIGFsbC1mcm96ZW4gcGFnZXMgKi8KKyNk ZWZpbmUgcGdzdGF0X2NvdW50X3ZtX3Jldl9hbGxfdmlzaWJsZShyZWwpCQkJCQkJXAorCWRv IHsJCQkJCQkJCQkJCQkJCQlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9u KHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMucmV2X2FsbF92 aXNpYmxlX3BhZ2VzKys7CVwKKwl9IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRf dm1fcmV2X2FsbF9mcm96ZW4ocmVsKQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJCQkJXAor CQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKKwkJCShy ZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLnJldl9hbGxfZnJvemVuX3BhZ2VzKys7CVwKKwl9 IHdoaWxlICgwKQogCiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF9pbnNlcnQoUmVs YXRpb24gcmVsLCBQZ1N0YXRfQ291bnRlciBuKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9jb3Vu dF9oZWFwX3VwZGF0ZShSZWxhdGlvbiByZWwsIGJvb2wgaG90LCBib29sIG5ld3BhZ2UpOwpA QCAtNzQ0LDcgKzgyMCw2IEBAIGV4dGVybiBQZ1N0YXRfU3RhdFRhYkVudHJ5ICpwZ3N0YXRf ZmV0Y2hfc3RhdF90YWJlbnRyeV9leHQoYm9vbCBzaGFyZWQsCiAJCQkJCQkJCQkJCQkJCSAg IE9pZCByZWxvaWQpOwogZXh0ZXJuIFBnU3RhdF9UYWJsZVN0YXR1cyAqZmluZF90YWJzdGF0 X2VudHJ5KE9pZCByZWxfaWQpOwogCi0KIC8qCiAgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X3Jl cGxzbG90LmMKICAqLwpAQCAtODE1LDYgKzg5MCw3IEBAIGV4dGVybiBQZ1N0YXRfV2FsU3Rh dHMgKnBnc3RhdF9mZXRjaF9zdGF0X3dhbCh2b2lkKTsKIGV4dGVybiBQR0RMTElNUE9SVCBi b29sIHBnc3RhdF90cmFja19jb3VudHM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3Rh dF90cmFja19mdW5jdGlvbnM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3RhdF9mZXRj aF9jb25zaXN0ZW5jeTsKK2V4dGVybiBQR0RMTElNUE9SVCBib29sIHBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljczsKIAogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRp bHMvZWxvZy5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCmluZGV4IDcxNjFmNWM2YWQ2 Li45ZTA4MDc0N2E5MiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCisr KyBiL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaApAQCAtMjMwLDYgKzIzMCw3IEBAIGV4dGVy biBpbnQJZ2V0ZXJybGV2ZWwodm9pZCk7CiBleHRlcm4gaW50CWdldGVycnBvc2l0aW9uKHZv aWQpOwogZXh0ZXJuIGludAlnZXRpbnRlcm5hbGVycnBvc2l0aW9uKHZvaWQpOwogCitleHRl cm4gaW50CWdldGVycmVsZXZlbCh2b2lkKTsKIAogLyotLS0tLS0tLS0tCiAgKiBPbGQtc3R5 bGUgZXJyb3IgcmVwb3J0aW5nIEFQSTogdG8gYmUgdXNlZCBpbiB0aGlzIHdheToKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oIGIvc3JjL2luY2x1 ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKaW5kZXggNGJiOGU1YzUzYWIuLjRmODM2ZTdm Y2EwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaAor KysgYi9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaApAQCAtNjAwLDcgKzYw MCw2IEBAIGV4dGVybiBQZ1N0YXRfRW50cnlSZWYgKnBnc3RhdF9mZXRjaF9wZW5kaW5nX2Vu dHJ5KFBnU3RhdF9LaW5kIGtpbmQsCiBleHRlcm4gdm9pZCAqcGdzdGF0X2ZldGNoX2VudHJ5 KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwgdWludDY0IG9iamlkKTsKIGV4dGVybiB2 b2lkIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAotCiAvKgog ICogRnVuY3Rpb25zIGluIHBnc3RhdF9hcmNoaXZlci5jCiAgKi8KZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJs ZS1yZWFkLm91dCBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5k aW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uODdmN2U0MGI0YTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9p c29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5v dXQKQEAgLTAsMCArMSw1MyBAQAordW51c2VkIHN0ZXAgbmFtZTogczJfZGVsZXRlCitQYXJz ZWQgdGVzdCBzcGVjIHdpdGggMiBzZXNzaW9ucworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czJfaW5zZXJ0IHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZSBzMV9iZWdpbl9yZXBlYXRh YmxlX3JlYWQgczJfdXBkYXRlIHMyX2luc2VydF9pbnRlcnJ1cHQgczJfdmFjdXVtIHMyX3By aW50X3ZhY3V1bV9zdGF0c190YWJsZSBzMV9jb21taXQgczJfY2hlY2twb2ludCBzMl92YWN1 dW0gczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCitzdGVwIHMyX2luc2VydDogSU5TRVJU IElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFs LCBpdmFsJTEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsKK3N0ZXAg czJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxu YW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQucmVjZW50bHlfZGVhZF90dXBsZXMsIHZ0Lm1p c3NlZF9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfcGFnZXMsIHZ0LnR1cGxlc19mcm96 ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAg IFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2 dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNf ZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2Vk X2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAg ICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAwCisoMSByb3cpCisKK3N0 ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkOiAKKyAgQkVHSU4gdHJhbnNhY3Rpb24gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKKyAgc2VsZWN0IGNvdW50KGl2YWwpIGZy b20gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQ+OTAwOworCitjb3VudAor LS0tLS0KKyAgMTAwCisoMSByb3cpCisKK3N0ZXAgczJfdXBkYXRlOiBVUERBVEUgdGVzdF92 YWN1dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICsgMiB3aGVyZSBpZCA+IDkw MDsKK3N0ZXAgczJfaW5zZXJ0X2ludGVycnVwdDogSU5TRVJUIElOVE8gdGVzdF92YWN1dW1f c3RhdF9pc29sYXRpb24gdmFsdWVzICgxLDEpOworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRz X3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRl ZCwgdnQucmVjZW50bHlfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQu bWlzc2VkX2RlYWRfcGFnZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAn dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCity ZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFk X3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zy b3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAw fCAgICAgICAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAg ICAgMHwgICAgICAgICAgICAwCisoMSByb3cpCisKK3N0ZXAgczFfY29tbWl0OiBDT01NSVQ7 CitzdGVwIHMyX2NoZWNrcG9pbnQ6IENIRUNLUE9JTlQ7CitzdGVwIHMyX3ZhY3V1bTogVkFD VVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uOworc3RlcCBzMl9wcmludF92YWN1dW1f c3RhdHNfdGFibGU6IAorICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19k ZWxldGVkLCB2dC5yZWNlbnRseV9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVz LCB2dC5taXNzZWRfZGVhZF9wYWdlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFt ZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CisKK3JlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfHJlY2VudGx5 X2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF9wYWdlc3x0dXBs ZXNfZnJvemVuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAg ICAxMDB8ICAgICAgICAgICAgICAgICAxMDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAg ICAgICAgICAwfCAgICAgICAgICAxMDEKKygxIHJvdykKKwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZSBiL3NyYy90ZXN0L2lzb2xhdGlvbi9p c29sYXRpb25fc2NoZWR1bGUKaW5kZXggMTQzMTA5YWE0ZGEuLmU5M2RkNGY2MjZjIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCisrKyBiL3Ny Yy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUKQEAgLTk1LDYgKzk1LDcgQEAg dGVzdDogdGltZW91dHMKIHRlc3Q6IHZhY3V1bS1jb25jdXJyZW50LWRyb3AKIHRlc3Q6IHZh Y3V1bS1jb25mbGljdAogdGVzdDogdmFjdXVtLXNraXAtbG9ja2VkCit0ZXN0OiB2YWN1dW0t ZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkCiB0ZXN0OiBzdGF0cwogdGVzdDogaG9yaXpv bnMKIHRlc3Q6IHByZWRpY2F0ZS1oYXNoCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRp b24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjIGIvc3Jj L3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJl YWQuc3BlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTg5M2Q4 OTU3M2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjCkBAIC0wLDAgKzEsNTMgQEAK KyMgVGVzdCBmb3IgY2hlY2tpbmcgcmVjZW50bHlfZGVhZF90dXBsZXMsIHR1cGxlc19kZWxl dGVkIGFuZCBmcm96ZW4gdHVwbGVzIGluIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy4KKyMgcmVj ZW50bHlfZGVhZF90dXBsZXMgdmFsdWVzIGFyZSBjb3VudGVkIHdoZW4gdmFjdXVtIGhhc24n dCBjbGVhcmVkIHR1cGxlcyBiZWNhdXNlIHRoZXkgd2VyZSBkZWxldGVkIHJlY2VudGx5Lgor IyByZWNlbnRseV9kZWFkX3R1cGxlcyBhcmVuJ3QgaW5jcmVhc2VkIGFmdGVyIHJlbGVhc2lu ZyBsb2NrIGNvbXBhcmVkIHdpdGggdHVwbGVzX2RlbGV0ZWQsIHdoaWNoIGluY3JlYXNlZAor IyBieSB0aGUgdmFsdWUgb2YgdGhlIGNsZWFyZWQgdHVwbGVzIHRoYXQgdGhlIHZhY3V1bSBt YW5hZ2VkIHRvIGNsZWFyLgorCitzZXR1cAoreworICAgIENSRUFURSBUQUJMRSB0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbihpZCBpbnQsIGl2YWwgaW50KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYpOworICAgIFNFVCB0cmFja19pb190aW1pbmcgPSBvbjsKKyAgICBT RVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29uJzsKK30KKwordGVhcmRvd24KK3sK KyAgICBEUk9QIFRBQkxFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIENBU0NBREU7Cisg ICAgUkVTRVQgdHJhY2tfaW9fdGltaW5nOworICAgIFJFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOworfQorCitzZXNzaW9uIHMxCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVh ZCAgIHsKKyAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUg UkVBRDsKKyAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9pc29s YXRpb24gd2hlcmUgaWQ+OTAwOworICB9CitzdGVwIHMxX2NvbW1pdCAgICAgICAgICAgICAg ICAgIHsgQ09NTUlUOyB9CisKK3Nlc3Npb24gczIKK3N0ZXAgczJfaW5zZXJ0ICAgICAgICAg ICAgICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbihpZCwg aXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwxMDAw KSBBcyBpdmFsOyB9CitzdGVwIHMyX3VwZGF0ZSAgICAgICAgICAgICAgICAgIHsgVVBEQVRF IHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUg aWQgPiA5MDA7IH0KK3N0ZXAgczJfZGVsZXRlICAgICAgICAgICAgICAgICAgeyBERUxFVEUg RlJPTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZCA+IDkwMDsgfQorc3Rl cCBzMl9pbnNlcnRfaW50ZXJydXB0ICAgICAgICB7IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVt X3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsgfQorc3RlcCBzMl92YWN1dW0gICAgICAg ICAgICAgICAgICB7IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsgfQorc3Rl cCBzMl9jaGVja3BvaW50ICAgICAgICAgICAgICB7IENIRUNLUE9JTlQ7IH0KK3N0ZXAgczJf cHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCit7CisgICAgU0VMRUNUCisgICAgdnQucmVsbmFt ZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5taXNz ZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJvemVu CisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBX SEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKK30KKworcGVybXV0YXRpb24KKyAgICBzMl9pbnNlcnQKKyAgICBz Ml9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKKyAgICBzMV9iZWdpbl9yZXBlYXRhYmxlX3Jl YWQKKyAgICBzMl91cGRhdGUKKyAgICBzMl9pbnNlcnRfaW50ZXJydXB0CisgICAgczJfdmFj dXVtCisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCisgICAgczFfY29tbWl0Cisg ICAgczJfY2hlY2twb2ludAorICAgIHMyX3ZhY3V1bQorICAgIHMyX3ByaW50X3ZhY3V1bV9z dGF0c190YWJsZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggMzAxNGQwNDdmZWYuLmI0OWY3OTM2ZjkzIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMTgwNCw3ICsxODA0LDkgQEAg cGdfc3RhdF9hbGxfdGFibGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQsCiAgICAgcGdfc3Rh dF9nZXRfdmFjdXVtX2NvdW50KGMub2lkKSBBUyB2YWN1dW1fY291bnQsCiAgICAgcGdfc3Rh dF9nZXRfYXV0b3ZhY3V1bV9jb3VudChjLm9pZCkgQVMgYXV0b3ZhY3V1bV9jb3VudCwKICAg ICBwZ19zdGF0X2dldF9hbmFseXplX2NvdW50KGMub2lkKSBBUyBhbmFseXplX2NvdW50LAot ICAgIHBnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50KGMub2lkKSBBUyBhdXRvYW5hbHl6 ZV9jb3VudAorICAgIHBnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50KGMub2lkKSBBUyBh dXRvYW5hbHl6ZV9jb3VudCwKKyAgICBwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdl cyhjLm9pZCkgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcGdfc3RhdF9nZXRfcmV2 X2FsbF92aXNpYmxlX3BhZ2VzKGMub2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAg IEZST00gKChwZ19jbGFzcyBjCiAgICAgIExFRlQgSk9JTiBwZ19pbmRleCBpIE9OICgoYy5v aWQgPSBpLmluZHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAo KG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSkKQEAgLTIxODgsNyArMjE5MCw5IEBAIHBnX3N0 YXRfc3lzX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHZhY3V1bV9jb3VudCwKICAgICBh dXRvdmFjdXVtX2NvdW50LAogICAgIGFuYWx5emVfY291bnQsCi0gICAgYXV0b2FuYWx5emVf Y291bnQKKyAgICBhdXRvYW5hbHl6ZV9jb3VudCwKKyAgICByZXZfYWxsX2Zyb3plbl9wYWdl cywKKyAgICByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFi bGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA9IEFOWSAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpu YW1lLCAnaW5mb3JtYXRpb25fc2NoZW1hJzo6bmFtZV0pKSBPUiAoc2NoZW1hbmFtZSB+ICde cGdfdG9hc3QnOjp0ZXh0KSk7CiBwZ19zdGF0X3VzZXJfZnVuY3Rpb25zfCBTRUxFQ1QgcC5v aWQgQVMgZnVuY2lkLApAQCAtMjIzNiw5ICsyMjQwLDQzIEBAIHBnX3N0YXRfdXNlcl90YWJs ZXN8IFNFTEVDVCByZWxpZCwKICAgICB2YWN1dW1fY291bnQsCiAgICAgYXV0b3ZhY3V1bV9j b3VudCwKICAgICBhbmFseXplX2NvdW50LAotICAgIGF1dG9hbmFseXplX2NvdW50CisgICAg YXV0b2FuYWx5emVfY291bnQsCisgICAgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVS RSAoKHNjaGVtYW5hbWUgPD4gQUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZv cm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0 Jzo6dGV4dCkpOworcGdfc3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1QgbnMubnNwbmFtZSBB UyBzY2hlbWFuYW1lLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnJlbGlkLAorICAg IHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0 dGVuLAorICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0 LAorICAgIHN0YXRzLnBhZ2VzX3NjYW5uZWQsCisgICAgc3RhdHMucGFnZXNfcmVtb3ZlZCwK KyAgICBzdGF0cy52bV9uZXdfZnJvemVuX3BhZ2VzLAorICAgIHN0YXRzLnZtX25ld192aXNp YmxlX3BhZ2VzLAorICAgIHN0YXRzLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAg ICBzdGF0cy5taXNzZWRfZGVhZF9wYWdlcywKKyAgICBzdGF0cy50dXBsZXNfZGVsZXRlZCwK KyAgICBzdGF0cy50dXBsZXNfZnJvemVuLAorICAgIHN0YXRzLnJlY2VudGx5X2RlYWRfdHVw bGVzLAorICAgIHN0YXRzLm1pc3NlZF9kZWFkX3R1cGxlcywKKyAgICBzdGF0cy53cmFwYXJv dW5kX2ZhaWxzYWZlLAorICAgIHN0YXRzLmluZGV4X3ZhY3V1bV9jb3VudCwKKyAgICBzdGF0 cy53YWxfcmVjb3JkcywKKyAgICBzdGF0cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRl cywKKyAgICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1l LAorICAgIHN0YXRzLmRlbGF5X3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZQorICAgRlJP TSAocGdfY2xhc3MgcmVsCisgICAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OICgobnMub2lk ID0gcmVsLnJlbG5hbWVzcGFjZSkpKSwKKyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1 bV90YWJsZXMocmVsLm9pZCkgc3RhdHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxf Ymxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxf Ymxrc19yZWFkLCByZWxfYmxrc19oaXQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQs IHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLCB0dXBsZXNfZGVsZXRlZCwg dHVwbGVzX2Zyb3plbiwgcmVjZW50bHlfZGVhZF90dXBsZXMsIG1pc3NlZF9kZWFkX3R1cGxl cywgd3JhcGFyb3VuZF9mYWlsc2FmZSwgaW5kZXhfdmFjdXVtX2NvdW50LCB3YWxfcmVjb3Jk cywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwg ZGVsYXlfdGltZSwgdG90YWxfdGltZSkKKyAgV0hFUkUgKHJlbC5yZWxraW5kID0gJ3InOjoi Y2hhciIpOwogcGdfc3RhdF93YWx8IFNFTEVDVCB3YWxfcmVjb3JkcywKICAgICB3YWxfZnBp LAogICAgIHdhbF9ieXRlcywKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uMGMwNWE4MTJkZDEKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQK QEAgLTAsMCArMSwyMjUgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRz IHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1 cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJs ZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJs ZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBu b3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0 YWJsZS4KKy0tCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRz OyAgLS0gbXVzdCBiZSBvbgorIHRyYWNrX2NvdW50cyAKKy0tLS0tLS0tLS0tLS0tCisgb24K KygxIHJvdykKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorLS0gbm90IGVuYWJsZWQgYnkg ZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9u cyBUTyAnYWxsJzsKKy0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVt cHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGlj cyBUTyAnb2ZmJzsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFj dXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0 YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7 CitBTkFMWVpFIHZlc3RhdDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7 CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsK Ky0tIE11c3QgYmUgZW1wdHkuCitTRUxFQ1QgcmVsbmFtZSx0b3RhbF9ibGtzX3JlYWQsIHRv dGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbixy ZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQsCitwYWdlc19zY2FubmVkLCBwYWdlc19yZW1v dmVkLCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzLCBtaXNzZWRfZGVhZF9wYWdlcywKK3R1cGxlc19kZWxl dGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRf dHVwbGVzLCBpbmRleF92YWN1dW1fY291bnQsCit3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2Fs X2J5dGVzLCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLCB0b3Rh bF90aW1lCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dAorV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXQnOworIHJlbG5hbWUgfCB0b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtz X2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9i bGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3Zl ZCB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IG1pc3NlZF9kZWFkX3BhZ2VzIHwgdHVwbGVzX2Rl bGV0ZWQgfCB0dXBsZXNfZnJvemVuIHwgcmVjZW50bHlfZGVhZF90dXBsZXMgfCBtaXNzZWRf ZGVhZF90dXBsZXMgfCBpbmRleF92YWN1dW1fY291bnQgfCB3YWxfcmVjb3JkcyB8IHdhbF9m cGkgfCB3YWxfYnl0ZXMgfCBibGtfcmVhZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxh eV90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8ICAgICAgICAgICAgICAg MCB8ICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAg fCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAg IDAgfCAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgMCB8ICAgICAg ICAgICAwIHwgICAgICAgMCB8ICAgICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAg ICAgICAgMCB8ICAgICAgICAgIDAgfCAgICAgICAgICAwCisoMSByb3cpCisKK1JFU0VUIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1NI T1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJv dykKKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCistLVNFVCBzdGF0c19m ZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBp bnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsK K0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpz YW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworU0VMRUNUIG9pZCBBUyByb2lk IGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitERUxFVEUg RlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1 dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQu cmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLHBh Z2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19k ZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgICAgICAg ICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICA0NTUgfCAgICAgICAgICAg ICAwIHwgICAgICAgICAgICAgMAorKDEgcm93KQorCitTRUxFQ1QgcmVscGFnZXMgQVMgcnAK K0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAg T0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0 aXN0aWNzCitDSEVDS1BPSU5UOworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2 YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVk IHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRo ZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAor U0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3X2Zy b3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFn ZXMtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkID4gMCBBUyBwYWdlc19zY2Fu bmVkLHBhZ2VzX3JlbW92ZWQgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHZtX25ld19mcm96ZW5fcGFn ZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2Vz X3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVz dGF0ICB8IGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAg IHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZtX25ld19mcm96ZW5f cGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2Vz X3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdi LHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMu CitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsK KyBkd3IgfCBkd2IgCistLS0tLSstLS0tLQorIHQgICB8IHQKKygxIHJvdykKKworREVMRVRF IEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0 byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBwYWdlc19yZW1v dmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVu X3BhZ2VzLTpmcCA+IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06 dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2Vz LHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQt OnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxp ZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2Rl bGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCBmICAgICAg ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAg ICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1 cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBz LCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9 IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3ciwgd2FsX2J5dGVzLTpod2IgQVMgZHdiLCB3 YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRl dGVjdGVkLgorU0VMRUNUIDpkd3IgPiAwIEFTIGRXUiwgOmR3YiA+IDAgQVMgZFdCOworIGR3 ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAgIHwgdAorKDEgcm93KQorCistLSBTdG9yZSBX QUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Is d2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitJTlNFUlQgSU5UTyB2ZXN0 YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7 CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwg ZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1l bnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwg dmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdi Miwgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBXQUwgYW5kIG90aGVyIHN0YXRp c3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VMRUNUIDpkd3IyPTAg QVMgZFdSLCA6ZGZwaTI9MCBBUyBkRlBJLCA6ZHdiMj0wIEFTIGRXQjsKKyBkd3IgfCBkZnBp IHwgZHdiIAorLS0tLS0rLS0tLS0tKy0tLS0tCisgdCAgIHwgdCAgICB8IHQKKygxIHJvdykK KworU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPSAwIEFTIHZt X25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVs ZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9 IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVt b3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1l IHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBw YWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgdCAgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitT RUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxy ZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcyxwYWdlc19yZW1vdmVkIEFTIHBy CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBo d3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2 ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9V U0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBu ZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0g U3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0 dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjMs IHdhbF9ieXRlcy06aHdiIEFTIGR3YjMsIHdhbF9mcGktOmhmcGkgQVMgZGZwaTMKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAor LS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpk ZnBpMz0wIEFTIGRGUEksIDpkd2IzPjAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCist LS0tLSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCistLQorLS0g Tm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJl ciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNz LgorLS0gVGhlIHZtX25ld19mcm96ZW5fcGFnZXMsIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNo b3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3pl bl9wYWdlcy06ZnAgPSAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQt OnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVk LTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19k ZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgdCAgICAg ICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAg ICAgIHwgdAorKDEgcm93KQorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBn ZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsK Ky0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2bV9uZXdf dmlzaWJsZV9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3Bh Z2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBw Z19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25l d192aXNpYmxlX3BhZ2VzIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2li bGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgOTEwIHwgICAgICAg ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAg ICAgICAgICAgICA0NTUKKygxIHJvdykKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJf VVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdlcwor U0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMs dm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxy ZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zy b3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFn ZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFT IHBmLCB2bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyBwdix2bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMgQVMgcHZmLCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlz aWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3Rh dF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zl c3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3Rh Ymxlcy5yZWxpZCBcZ3NldAorVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOworVkFD VVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CitTRUxF Q1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA+IDpwZiBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZt X25ld192aXNpYmxlX3BhZ2VzID4gOnB2IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDpwdmYgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5f cGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxl X3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVz IFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsK KyB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfcGFnZXMgfCB2bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxf dmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBmICAgICAgICAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgICAgICB8IGYKKygxIHJvdykKKworU0VMRUNUIHZtX25ld19mcm96 ZW5fcGFnZXMgQVMgcGYsIHZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHB2LCB2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgQVMgcHZmLCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZw LHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5y ZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBn X3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAwLCBCVUZG RVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSB2YWN1dW0gZnJlZXplZCBwYWdlcwor U0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPSA6cGYgQVMgdm1fbmV3X2Zyb3plbl9wYWdl cyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA9IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2 bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPSA6cHZmIEFTIHZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zy b3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zp c2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90 YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBh bmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJl bGlkOworIHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZt X25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICAgICAg ICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHZl c3RhdCBDQVNDQURFOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9z Y2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggMWVk ZDllNDVlYmIuLmQxMWY2YjdlZjRiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1 bGUKQEAgLTEzNiwzICsxMzYsOCBAQCB0ZXN0OiBmYXN0X2RlZmF1bHQKICMgcnVuIHRhYmxl c3BhY2UgdGVzdCBhdCB0aGUgZW5kIGJlY2F1c2UgaXQgZHJvcHMgdGhlIHRhYmxlc3BhY2Ug Y3JlYXRlZCBkdXJpbmcKICMgc2V0dXAgdGhhdCBvdGhlciB0ZXN0cyBtYXkgdXNlLgogdGVz dDogdGFibGVzcGFjZQorCisjIC0tLS0tLS0tLS0KKyMgQ2hlY2sgdmFjdXVtIHN0YXRpc3Rp Y3MKKyMgLS0tLS0tLS0tLQordGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjhhZDY5MTA4Y2ExCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApAQCAtMCwwICsx LDE4MCBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCist LQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1 bSBvcGVyYXRpb246CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNl dCBieSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJl bW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5 ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0K KworLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11 c3QgYmUgb24KK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKKworLS0gbm90IGVuYWJsZWQgYnkg ZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9u cyBUTyAnYWxsJzsKKworLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUg ZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPICdvZmYnOworCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0 b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUg MiA9IDA7CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkg dmVzdGF0OworCistLSBNdXN0IGJlIGVtcHR5LgorU0VMRUNUIHJlbG5hbWUsdG90YWxfYmxr c19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtz X3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0LAorcGFnZXNfc2Nhbm5lZCwg cGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFn ZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgbWlzc2VkX2RlYWRfcGFnZXMsCit0 dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVjZW50bHlfZGVhZF90dXBsZXMsIG1p c3NlZF9kZWFkX3R1cGxlcywgaW5kZXhfdmFjdXVtX2NvdW50LAord2FsX3JlY29yZHMsIHdh bF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsZGVsYXlf dGltZSwgdG90YWxfdGltZQorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3M7CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCitTSE9XIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBh cmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCistLVNF VCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZl c3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3Rv ciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitTRUxFQ1Qg b2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdz ZXQKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0 aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5 LgorU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRl ZCxyZWxwYWdlcyxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgcmVscGFnZXMgQVMgcnAKK0ZST00g cGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYp IHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3Rp Y3MKK0NIRUNLUE9JTlQ7CisKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBw YWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUg c2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NF TEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld19mcm96 ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2Vz LTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZCA+IDAgQVMgcGFnZXNfc2Nhbm5l ZCxwYWdlc19yZW1vdmVkID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFj dXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQn IEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMg ZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQg QVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJl bGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2Zw aSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0JyBcZ3NldAorCistLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VM RUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkV1IsIHdhbF9ieXRlcyA+IDAgQVMgZFdCCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisKK0RF TEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9M SU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nh cnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBwYWdl c19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdf ZnJvemVuX3BhZ2VzLTpmcCA+IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVs ZXRlZC06dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJl bHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3Jl bW92ZWQtOnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2 dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgZnAsdHVw bGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMs IHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0g Yy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IsIHdhbF9ieXRlcy06aHdiIEFTIGR3Yiwg d2FsX2ZwaS06aGZwaSBBUyBkZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJl IGRldGVjdGVkLgorU0VMRUNUIDpkd3IgPiAwIEFTIGRXUiwgOmR3YiA+IDAgQVMgZFdCOwor CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVj b3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0lO U0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1w bGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7Cist LSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5v IGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUu CitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhl IHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMg aW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjIsIHdhbF9i eXRlcy06aHdiIEFTIGR3YjIsIHdhbF9mcGktOmhmcGkgQVMgZGZwaTIKK0ZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBX QUwgYW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVk LgorU0VMRUNUIDpkd3IyPTAgQVMgZFdSLCA6ZGZwaTI9MCBBUyBkRlBJLCA6ZHdiMj0wIEFT IGRXQjsKKworU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPSAw IEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBs ZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVk LTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFn ZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NF TEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJl bHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLHBhZ2VzX3JlbW92ZWQgQVMgcHIK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMg aHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitERUxFVEUgRlJP TSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBp cyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOwor CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3Zpbmcg YWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMg ZHdyMywgd2FsX2J5dGVzLTpod2IgQVMgZHdiMywgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMwor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxn c2V0CisKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkd3IzPjAgQVMg ZFdSLCA6ZGZwaTM9MCBBUyBkRlBJLCA6ZHdiMz4wIEFTIGRXQjsKKworLS0KKy0tIE5vdywg dGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2Yg cGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0t IFRoZSB2bV9uZXdfZnJvemVuX3BhZ2VzLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRu J3QgYmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFn ZXMtOmZwID0gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA9 IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFn ZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIg PSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CisKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCistLSBtdXN0 IGJlIGVtcHR5CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVf cGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyx2bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBw Z19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUg PSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9h bGxfdGFibGVzLnJlbGlkOworCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9M SU1JVCAxMjgpIHZlc3RhdDsKKworLS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NFTEVD VCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25l d192aXNpYmxlX3BhZ2VzID4gMCBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxy ZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2Fs bF92aXNpYmxlX3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92 YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFi bGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworU0VMRUNUIHZtX25ld19m cm96ZW5fcGFnZXMgQVMgcGYsIHZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHB2LHZtX25ld192 aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyBwdmYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhh ZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVz LnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0g cGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkIFxnc2V0CisKK1VQREFURSB2ZXN0YXQgU0VUIHgg PSB4ICsgMTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCkgdmVzdGF0OworCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA+IDpwZiBBUyB2bV9u ZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4gOnB2IEFTIHZtX25ld192 aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDpwdmYgQVMgdm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAg QVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAg QVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywg cGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1l ID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRf YWxsX3RhYmxlcy5yZWxpZDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2 bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyBwdiwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz IEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVf cGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxs X3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQn IGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQgXGdzZXQKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQg MTI4KSB2ZXN0YXQ7CisKKy0tIHZhY3V1bSBmcmVlemVkIHBhZ2VzCitTRUxFQ1Qgdm1fbmV3 X2Zyb3plbl9wYWdlcyA9IDpwZiBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNp YmxlX3BhZ2VzID0gOnB2IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyA9IDpwdmYgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCBy ZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJl dl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisKK0RST1Ag VEFCTEUgdmVzdGF0IENBU0NBREU7Ci0tIAoyLjM0LjEKCg== --------------ehA8hvWTQKBldKbQWNQnJEtd Content-Type: text/x-patch; charset=UTF-8; name="v17-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v17-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA2OTFmNzQ3OWNjZDJiZDMxNjc3NmFmNDUwMjM2NGIxNmU5YWQwZWIzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxMyBKYW4gMjAyNSAxMDozMjowNyArMDMwMApTdWJq 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 IHwgMjQ3ICsrKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsICAgICAgICAgIHwgIDMyICsrKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYyAgICAgICAgIHwgIDE0ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDggKystLQogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTMzICsrKysrKysrKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8ICAgMiArLQogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgICA5ICsKIHNyYy9p bmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAyNSArKwogc3Jj L2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDU4ICsrKy0K IC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCAgICB8ICAgNCAr LQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDIy ICsrCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0ICAgICAgfCAx ODMgKysrKysrKysrKysrKwogLi4uL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cy5vdXQgICAgIHwgIDQwICsrLQogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZSAgICAgICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3Rh dGlzdGljcy5zcWwgICB8IDE1MSArKysrKysrKysrKwogLi4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgIDEyICsKIDE3IGZpbGVzIGNoYW5nZWQsIDg4 NCBpbnNlcnRpb25zKCspLCAxMDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5k ZXggMDMxNzlmOGVjYWEuLmU3ZDJjY2M2NjhlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCkBAIC0xNjYsNiArMTY2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxT dGF0ZQogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3BhY2U7CiAJT2lk CQkJcmVsb2lkOworCU9pZAkJCWluZG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNoYXIJ ICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJlciBi bGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtMjMyLDYg KzIzMyw4IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCdWZmZXIJCW5leHRfdW5z a2lwcGFibGVfdm1idWZmZXI7CS8qIGJ1ZmZlciBjb250YWluaW5nIGl0cyBWTSBiaXQgKi8K IAogCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAvKiB0aGUgbnVtYmVyIG9m IHRpbWVzIHRvIHByZXZlbnQgd29ya2Fyb3VuZCBwcm9ibGVtICovCisKKwlFeHRWYWNSZXBv cnQgZXh0VmFjUmVwb3J0OwogfSBMVlJlbFN0YXRlOwogCiAvKiBTdHJ1Y3QgZm9yIHNhdmlu ZyBhbmQgcmVzdG9yaW5nIHZhY3V1bSBlcnJvciBpbmZvcm1hdGlvbi4gKi8KQEAgLTI0Miwx OSArMjQ1LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFz ZSBwaGFzZTsKIH0gTFZTYXZlZEVyckluZm87CiAKLS8qCi0gKiBDb3VudGVycyBhbmQgdXNh Z2UgZGF0YSBmb3IgZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCi0gKi8KLXR5cGVkZWYgc3Ry dWN0IExWRXh0U3RhdENvdW50ZXJzCi17Ci0JVGltZXN0YW1wVHogc3RhcnR0aW1lOwotCVdh bFVzYWdlCXdhbHVzYWdlOwotCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOwotCWRvdWJsZQkJVmFj dXVtRGVsYXlUaW1lOwotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwotCVBnU3Rh dF9Db3VudGVyIGJsb2Nrc19oaXQ7Ci19IExWRXh0U3RhdENvdW50ZXJzOwotCiAvKiBub24t ZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9o ZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CiBzdGF0aWMgYm9vbCBoZWFwX3ZhY19zY2FuX25l eHRfYmxvY2soTFZSZWxTdGF0ZSAqdmFjcmVsLCBCbG9ja051bWJlciAqYmxrbm8sCkBAIC0z NzMsMjcgKzM2MywyNSBAQCBleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRT dGF0Q291bnRlcnMgKmNvdW50ZXJzLAogCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1w KCk7CiAJVGltZXN0YW1wRGlmZmVyZW5jZShjb3VudGVycy0+c3RhcnR0aW1lLCBlbmR0aW1l LCAmc2VjcywgJnVzZWNzKTsKIAotCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKLQogCS8qCiAJICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2 YWN1dW0gcHJvY2Vzc2luZyBvcGVyYXRpb24uCiAJICovCi0JcmVwb3J0LT50b3RhbF9ibGtz X3JlYWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxr c19yZWFkOwotCXJlcG9ydC0+dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtz X2hpdCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2hpdDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3Nf ZGlydGllZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJl ZF9ibGtzX2RpcnRpZWQ7Ci0JcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2Fn ZS5zaGFyZWRfYmxrc193cml0dGVuOworCXJlcG9ydC0+dG90YWxfYmxrc19yZWFkICs9IGJ1 ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3JlYWQ7CisJ cmVwb3J0LT50b3RhbF9ibGtzX2hpdCArPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1 ZnVzYWdlLnNoYXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCAr PSBidWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19k aXJ0aWVkOworCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuICs9IGJ1ZnVzYWdlLnNoYXJl ZF9ibGtzX3dyaXR0ZW47CiAKLQlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2FsdXNhZ2Uud2Fs X3JlY29yZHM7Ci0JcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2ZwaTsKLQlyZXBv cnQtPndhbF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKwlyZXBvcnQtPndhbF9yZWNv cmRzICs9IHdhbHVzYWdlLndhbF9yZWNvcmRzOworCXJlcG9ydC0+d2FsX2ZwaSArPSB3YWx1 c2FnZS53YWxfZnBpOworCXJlcG9ydC0+d2FsX2J5dGVzICs9IHdhbHVzYWdlLndhbF9ieXRl czsKIAotCXJlcG9ydC0+YmxrX3JlYWRfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VD KGJ1ZnVzYWdlLmxvY2FsX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGlt ZSArPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90 aW1lKTsKIAlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElT RUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOwotCXJlcG9ydC0+YmxrX3dyaXRl X3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3Jp dGVfdGltZSk7Ci0JcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01J TExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7Ci0JcmVwb3J0LT5kZWxh eV90aW1lID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsK KwlyZXBvcnQtPmJsa193cml0ZV90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1 ZnVzYWdlLmxvY2FsX2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1l ICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVf dGltZSk7CisJcmVwb3J0LT5kZWxheV90aW1lICs9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50 ZXJzLT5WYWN1dW1EZWxheVRpbWU7CiAKLQlyZXBvcnQtPnRvdGFsX3RpbWUgPSBzZWNzICog MTAwMC4gKyB1c2VjcyAvIDEwMDAuOworCXJlcG9ydC0+dG90YWxfdGltZSArPSBzZWNzICog MTAwMC4gKyB1c2VjcyAvIDEwMDAuOwogCiAJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFw Z3N0YXRfdHJhY2tfY291bnRzKQogCQkvKgpAQCAtNDAyLDEyICszOTAsOTcgQEAgZXh0dmFj X3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycywK IAkJICovCiAJCXJldHVybjsKIAotCXJlcG9ydC0+Ymxrc19mZXRjaGVkID0KKwlyZXBvcnQt PmJsa3NfZmV0Y2hlZCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2Zl dGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2ZldGNoZWQ7Ci0JcmVwb3J0LT5ibGtzX2hpdCA9 CisJcmVwb3J0LT5ibGtzX2hpdCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxv Y2tzX2hpdCAtIGNvdW50ZXJzLT5ibG9ja3NfaGl0OwogfQogCit2b2lkCitleHR2YWNfc3Rh dHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0 cywKKwkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKQoreworCWlmKCFw Z3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCWV4dHZhY19z dGF0c19zdGFydChyZWwsICZjb3VudGVycy0+Y29tbW9uKTsKKwljb3VudGVycy0+cGFnZXNf ZGVsZXRlZCA9IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9IDA7CisKKwlpZiAoc3RhdHMg IT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIFhYWDogV2h5IGRvIHdlIG5lZWQgdGhpcyBjb2Rl IGhlcmU/IElmIGl0IGlzIG5lZWRlZCwgSSBmZWVsIGxhY2sgb2YKKwkJICogY29tbWVudHMs IGRlc2NyaWJpbmcgdGhlIHJlYXNvbi4KKwkJICovCisJCWNvdW50ZXJzLT50dXBsZXNfcmVt b3ZlZCA9IHN0YXRzLT50dXBsZXNfcmVtb3ZlZDsKKwkJY291bnRlcnMtPnBhZ2VzX2RlbGV0 ZWQgPSBzdGF0cy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKK3ZvaWQKK2V4dHZhY19zdGF0 c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywK KwkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0ICpy ZXBvcnQpCit7CisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwor CisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZjb3VudGVycy0+Y29tbW9uLCByZXBvcnQpOwor CXJlcG9ydC0+dHlwZSA9IFBHU1RBVF9FWFRWQUNfSU5ERVg7CisKKwlpZiAoc3RhdHMgIT0g TlVMTCkKKwl7CisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVz ZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBq dXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKworCQkvKiBGaWxsIGluZGV4LXNwZWNpZmljIGV4 dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQlyZXBvcnQtPnR1cGxlc19kZWxldGVkID0KKwkJ CQkJCQlzdGF0cy0+dHVwbGVzX3JlbW92ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7 CisJCXJlcG9ydC0+aW5kZXgucGFnZXNfZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnBhZ2Vz X2RlbGV0ZWQgLSBjb3VudGVycy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKKy8qIEFjY3Vt dWxhdGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGhlYXAuCisgKgorICAqIEJlY2F1c2Ugb2Yg Y29tcGxleGl0eSBvZiB2YWN1dW0gcHJvY2Vzc2luZzogaXQgc3dpdGNoIHByb2Nlc2luZyBi ZXR3ZWVuCisgICogdGhlIGhlYXAgcmVsYXRpb24gdG8gaW5kZXggcmVsYXRpb25zIGFuZCB2 aXNhIHZlcnNhLCB3ZSBuZWVkIHRvIHN0b3JlCisgICogZ2F0aGVyZWQgc3RhdGlzdGljcyBp bmZvcm1hdGlvbiBmb3IgaGVhcCByZWxhdGlvbnMgc2V2ZXJhbCB0aW1lcyBiZWZvcmUKKyAg KiB0aGUgdmFjdXVtIHN0YXJ0cyBwcm9jZXNzaW5nIHRoZSBpbmRleGVzIGFnYWluLgorICAq CisgICogSXQgaXMgbmVjZXNzYXJ5IHRvIGdhdGhlciBjb3JyZWN0IHN0YXRpc3RpY3MgaW5m b3JtYXRpb24gZm9yIGhlYXAgYW5kIGluZGV4ZXMKKyAgKiBvdGhlcndpY2UgdGhlIGluZGV4 IHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gd291bGQgYmUgYWRkZWQgdG8gaGlzIHBhcmVudCBo ZWFwCisgICogc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBhbmQgaXQgd291bGQgYmUgZGlmZmlj dWx0IHRvIGFuYWx5emUgaXQgbGF0ZXIuCisgICoKKyAgKiBXZSBjYW4ndCBzdWJ0cmFjdCB1 bmlvbiB2YWN1dW0gc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaW5kZXggZnJvbSB0aGUg aGVhcCByZWxhdGlvbnMKKyAgKiBiZWNhdXNlIG9mIHRvdGFsIGFuZCBkZWxheSB0aW1lIHRp bWUgc3RhdGlzdGljcyBjb2xsZWN0aW5nIGR1cmluZyBwYXJhbGxlbCB2YWN1dW0KKyAgKiBw cm9jdWR1cmUuCisqLworc3RhdGljIHZvaWQKK2FjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3Rh dGlzdGljcyhMVkV4dFN0YXRDb3VudGVycyAqZXh0VmFjQ291bnRlcnMsIExWUmVsU3RhdGUg KnZhY3JlbCkKK3sKKwlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJ cmV0dXJuOworCisJZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwgZXh0VmFjQ291bnRl cnMsICYodmFjcmVsLT5leHRWYWNSZXBvcnQpKTsKKworCS8qIEZpbGwgaGVhcC1zcGVjaWZp YyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50eXBl ID0gUEdTVEFUX0VYVFZBQ19UQUJMRTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5w YWdlc19zY2FubmVkICs9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKKwl2YWNyZWwtPmV4dFZh Y1JlcG9ydC50YWJsZS5wYWdlc19yZW1vdmVkICs9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsK Kwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHZh Y3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJs ZS52bV9uZXdfdmlzaWJsZV9wYWdlcyArPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX3BhZ2Vz OworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcyArPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwl2YWNyZWwt PmV4dFZhY1JlcG9ydC50dXBsZXNfZGVsZXRlZCArPSB2YWNyZWwtPnR1cGxlc19kZWxldGVk OworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnR1cGxlc19mcm96ZW4gKz0gdmFjcmVs LT50dXBsZXNfZnJvemVuOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnJlY2VudGx5 X2RlYWRfdHVwbGVzICs9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJdmFjcmVs LT5leHRWYWNSZXBvcnQudGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gdmFjcmVsLT5y ZWNlbnRseV9kZWFkX3R1cGxlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5taXNz ZWRfZGVhZF90dXBsZXMgKz0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJdmFjcmVs LT5leHRWYWNSZXBvcnQudGFibGUubWlzc2VkX2RlYWRfcGFnZXMgKz0gdmFjcmVsLT5taXNz ZWRfZGVhZF9wYWdlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5pbmRleF92YWN1 dW1fY291bnQgKz0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CisJdmFjcmVsLT5leHRWYWNS ZXBvcnQudGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSB2YWNyZWwtPndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQ7Cit9CisKIC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwoKSAt LSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24KICAqCkBAIC00NDAsMTMg KzUxMyw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAq cGFyYW1zLAogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNhZ2UgPSBwZ0J1ZmZlclVzYWdl OwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNrOwogCUxWRXh0U3RhdENvdW50 ZXJzIGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiAJY2hh cgkgICoqaW5kbmFtZXMgPSBOVUxMOwotCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOwotCi0JLyog SW5pdGlhbGl6ZSB2YWN1dW0gc3RhdGlzdGljcyAqLwotCW1lbXNldCgmYWxsemVybywgMCwg c2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwotCWV4dFZhY1JlcG9ydCA9IGFsbHplcm87CiAKIAl2 ZXJib3NlID0gKHBhcmFtcy0+b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NFKSAhPSAwOwogCWlu c3RydW1lbnQgPSAodmVyYm9zZSB8fCAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpICYm CkBAIC00NjQsNyArNTMxLDYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFj dXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFuZChQ Uk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJlbGlkKHJl bCkpOwotCWV4dHZhY19zdGF0c19zdGFydChyZWwsICZleHRWYWNDb3VudGVycyk7CiAJLyoK IAkgKiBTZXR1cCBlcnJvciB0cmFjZWJhY2sgc3VwcG9ydCBmb3IgZXJlcG9ydCgpIGZpcnN0 LiAgVGhlIGlkZWEgaXMgdG8gc2V0CiAJICogdXAgYW4gZXJyb3IgY29udGV4dCBjYWxsYmFj ayB0byBkaXNwbGF5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gYW55CkBAIC02MzcsNiAr NzAzLDggQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpw YXJhbXMsCiAJICovCiAJbGF6eV9zY2FuX2hlYXAodmFjcmVsKTsKIAorCWV4dHZhY19zdGF0 c19zdGFydChyZWwsICZleHRWYWNDb3VudGVycyk7CisKIAkvKgogCSAqIEZyZWUgcmVzb3Vy Y2VzIG1hbmFnZWQgYnkgZGVhZF9pdGVtc19hbGxvYy4gIFRoaXMgZW5kcyBwYXJhbGxlbCBt b2RlIGluCiAJICogcGFzc2luZyB3aGVuIG5lY2Vzc2FyeS4KQEAgLTcxNSwyNiArNzgzLDYg QEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMs CiAJCQkJCQl2YWNyZWwtPk5ld1JlbGZyb3plblhpZCwgdmFjcmVsLT5OZXdSZWxtaW5NeGlk LAogCQkJCQkJJmZyb3plbnhpZF91cGRhdGVkLCAmbWlubXVsdGlfdXBkYXRlZCwgZmFsc2Up OwogCi0JLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgKi8K LQlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0 KTsKLQotCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKLQl7Ci0JCS8qIEZp bGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KLQkJZXh0VmFjUmVw b3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7Ci0JCWV4dFZhY1Jl cG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOwotCQlleHRWYWNS ZXBvcnQudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdl czsKLQkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX3BhZ2VzID0gdmFjcmVsLT52bV9u ZXdfdmlzaWJsZV9wYWdlczsKLQkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX2Zyb3pl bl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwotCQlleHRW YWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOwotCQll eHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKLQkJ ZXh0VmFjUmVwb3J0LnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9k ZWFkX3R1cGxlczsKLQkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3R1cGxlcyA9IHZhY3Jl bC0+bWlzc2VkX2RlYWRfdHVwbGVzOwotCQlleHRWYWNSZXBvcnQubWlzc2VkX2RlYWRfcGFn ZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOwotCQlleHRWYWNSZXBvcnQuaW5kZXhf dmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JCWV4dFZhY1JlcG9y dC53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OwotCX0KLQogCS8qCiAJICogUmVwb3J0IHJlc3VsdHMgdG8gdGhlIGN1bXVs YXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCiAJICoKQEAgLTc0NCwxMyArNzkyLDM0IEBAIGhl YXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCSAq IEl0IHNlZW1zIGxpa2UgYSBnb29kIGlkZWEgdG8gZXJyIG9uIHRoZSBzaWRlIG9mIG5vdCB2 YWN1dW1pbmcgYWdhaW4gdG9vCiAJICogc29vbiBpbiBjYXNlcyB3aGVyZSB0aGUgZmFpbHNh ZmUgcHJldmVudGVkIHNpZ25pZmljYW50IGFtb3VudHMgb2YgaGVhcAogCSAqIHZhY3V1bWlu Zy4KKwkgKgorCSAqIFdlIGFyZSByZWFkeSB0byBzZW5kIHZhY3V1bSBzdGF0aXN0aWNzIGlu Zm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucy4KIAkgKi8KLQlwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCisJaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0 cyByZXBvcnQgYW5kCisJCSAqIGZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBm aWVsZHMuCisJCSAqLworCQlhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4 dFZhY0NvdW50ZXJzLCB2YWNyZWwpOworCisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0 aW9uR2V0UmVsaWQocmVsKSwKIAkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCiAJ CQkJCQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwt PnJlY2VudGx5X2RlYWRfdHVwbGVzICsKIAkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1 cGxlcywKLQkJCQkJCSAmZXh0VmFjUmVwb3J0KTsKKwkJCQkJCSAmKHZhY3JlbC0+ZXh0VmFj UmVwb3J0KSk7CisKKwl9CisJZWxzZQorCXsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVs YXRpb25HZXRSZWxpZChyZWwpLAorCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs CisJCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCisJCQkJCQkJIHZh Y3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKworCQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9k ZWFkX3R1cGxlcywKKwkJCQkJCQkgTlVMTCk7CisJfQorCiAJcGdzdGF0X3Byb2dyZXNzX2Vu ZF9jb21tYW5kKCk7CiAKIAlpZiAoaW5zdHJ1bWVudCkKQEAgLTEwMDcsNiArMTA3Niw3IEBA IGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJUFJPR1JFU1NfVkFDVVVN X01BWF9ERUFEX1RVUExFX0JZVEVTCiAJfTsKIAlpbnQ2NAkJaW5pdHByb2dfdmFsWzNdOwor CUxWRXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50ZXJzOwogCiAJLyogUmVwb3J0IHRoYXQg d2UncmUgc2Nhbm5pbmcgdGhlIGhlYXAsIGFkdmVydGlzaW5nIHRvdGFsICMgb2YgYmxvY2tz ICovCiAJaW5pdHByb2dfdmFsWzBdID0gUFJPR1JFU1NfVkFDVVVNX1BIQVNFX1NDQU5fSEVB UDsKQEAgLTEwMjAsNiArMTA5MCwxMSBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2 YWNyZWwpCiAJdmFjcmVsLT5uZXh0X3Vuc2tpcHBhYmxlX2FsbHZpcyA9IGZhbHNlOwogCXZh Y3JlbC0+bmV4dF91bnNraXBwYWJsZV92bWJ1ZmZlciA9IEludmFsaWRCdWZmZXI7CiAKKwkv KiBTZXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYnVmZmVyLCB3YWwgYW5kIHRpbWUgcmVsYXRl ZCBzdGF0aXN0aWNzIGFuZAorCSAqIHNldCBvdGhlciBzdGF0aXN0aWNzIHRvIHplcm8uCisJ Ki8KKwlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycyk7 CisKIAl3aGlsZSAoaGVhcF92YWNfc2Nhbl9uZXh0X2Jsb2NrKHZhY3JlbCwgJmJsa25vLCAm YWxsX3Zpc2libGVfYWNjb3JkaW5nX3RvX3ZtKSkKIAl7CiAJCUJ1ZmZlcgkJYnVmOwpAQCAt MTA3MCw4ICsxMTQ1LDE3IEBAIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCkK IAogCQkJLyogUGVyZm9ybSBhIHJvdW5kIG9mIGluZGV4IGFuZCBoZWFwIHZhY3V1bWluZyAq LwogCQkJdmFjcmVsLT5jb25zaWRlcl9ieXBhc3Nfb3B0aW1pemF0aW9uID0gZmFsc2U7CisK KwkJCS8qIEJlZm9yZSBzdGFydGluZyB0byBwcm9jZXNzIHRoZSBpbmRleGVzIHNhdmUgdGhl IGN1cnJlbnQgaGVhcCBzdGF0aXN0aWNzICovCisJCQlhY2N1bXVsYXRlX2hlYXBfdmFjdXVt X3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwpOworCiAJCQlsYXp5X3ZhY3V1 bSh2YWNyZWwpOwogCisJCQkvKiBOb3cgd2UgYWdhaW4gd2UgbmVlZCB0byBzd2l0Y2ggb24g aGVhcCByZWxhdGlvbiwgc28KKwkJCSAqIGxldCdzIHNhdmUgdGhlIGN1cnJlbnQgY3VtdWxs YXRpdmUgc3RhdGlzdGljcyBhbmQgcmVzZXQgb3RoZXJzLgorCQkJKi8KKwkJCWV4dHZhY19z dGF0c19zdGFydCh2YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzKTsKKwogCQkJLyoKIAkJ CSAqIFZhY3V1bSB0aGUgRnJlZSBTcGFjZSBNYXAgdG8gbWFrZSBuZXdseS1mcmVlZCBzcGFj ZSB2aXNpYmxlIG9uCiAJCQkgKiB1cHBlci1sZXZlbCBGU00gcGFnZXMuICBOb3RlIHdlIGhh dmUgbm90IHlldCBwcm9jZXNzZWQgYmxrbm8uCkBAIC0xMjIwLDYgKzEzMDQsOCBAQCBsYXp5 X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpCiAJCU1heCh2YWNyZWwtPm5ld19saXZl X3R1cGxlcywgMCkgKyB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsKIAkJdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXM7CiAKKwkvKiBCZWZvcmUgc3RhcnRpbmcgdG8gcHJvY2Vz cyB0aGUgaW5kZXhlcyBzYXZlIHRoZSBjdXJyZW50IGhlYXAgc3RhdGlzdGljcyAqLworCWFj Y3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcygmZXh0VmFjQ291bnRlcnMsIHZhY3Jl bCk7CiAJLyoKIAkgKiBEbyBpbmRleCB2YWN1dW1pbmcgKGNhbGwgZWFjaCBpbmRleCdzIGFt YnVsa2RlbGV0ZSByb3V0aW5lKSwgdGhlbiBkbwogCSAqIHJlbGF0ZWQgaGVhcCB2YWN1dW1p bmcKQEAgLTEyMjcsNiArMTMxMywxMSBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2 YWNyZWwpCiAJaWYgKHZhY3JlbC0+ZGVhZF9pdGVtc19pbmZvLT5udW1faXRlbXMgPiAwKQog CQlsYXp5X3ZhY3V1bSh2YWNyZWwpOwogCisJLyogRHVlIHRvIHRoZSBmYWN0IHRoYXQgdGhl IHZhY3V1bSB3aWxsIHByb2Nlc3MgRlNNIGFmdGVyIGhhdmluZyBwcm9jZXNzZWQKKwkgKiB0 aGUgaW5kZXhlcyB3ZSBuZWVkIHRvIHRha2UgYWNjb3VudCBzdGF0aXN0aWNzIGZvciBoZWFw IHRvby4KKwkgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZleHRWYWND b3VudGVycyk7CisKIAkvKgogCSAqIFZhY3V1bSB0aGUgcmVtYWluZGVyIG9mIHRoZSBGcmVl IFNwYWNlIE1hcC4gIFdlIG11c3QgZG8gdGhpcyB3aGV0aGVyIG9yCiAJICogbm90IHRoZXJl IHdlcmUgaW5kZXhlcywgYW5kIHdoZXRoZXIgb3Igbm90IHdlIGJ5cGFzc2VkIGluZGV4IHZh Y3V1bWluZy4KQEAgLTEyMzcsNiArMTMyOCw5IEBAIGxhenlfc2Nhbl9oZWFwKExWUmVsU3Rh dGUgKnZhY3JlbCkKIAkvKiByZXBvcnQgYWxsIGJsb2NrcyB2YWN1dW1lZCAqLwogCXBnc3Rh dF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0hFQVBfQkxLU19WQUNV VU1FRCwgYmxrbm8pOwogCisJLyogQmVmb3JlIHN0YXJ0aW5nIHRvIHByb2Nlc3MgdGhlIGlu ZGV4ZXMgc2F2ZSB0aGUgY3VycmVudCBoZWFwIHN0YXRpc3RpY3MgKi8KKwlhY2N1bXVsYXRl X2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwpOworCiAJ LyogRG8gZmluYWwgaW5kZXggY2xlYW51cCAoY2FsbCBlYWNoIGluZGV4J3MgYW12YWN1dW1j bGVhbnVwIHJvdXRpbmUpICovCiAJaWYgKHZhY3JlbC0+bmluZGV4ZXMgPiAwICYmIHZhY3Jl bC0+ZG9faW5kZXhfY2xlYW51cCkKIAkJbGF6eV9jbGVhbnVwX2FsbF9pbmRleGVzKHZhY3Jl bCk7CkBAIC0yMDkzLDYgKzIxODcsNyBAQCBzdGF0aWMgdm9pZAogbGF6eV92YWN1dW0oTFZS ZWxTdGF0ZSAqdmFjcmVsKQogewogCWJvb2wJCWJ5cGFzczsKKwlMVkV4dFN0YXRDb3VudGVy cyBleHRWYWNDb3VudGVyczsKIAogCS8qIFNob3VsZCBub3QgZW5kIHVwIGhlcmUgd2l0aCBu byBpbmRleGVzICovCiAJQXNzZXJ0KHZhY3JlbC0+bmluZGV4ZXMgPiAwKTsKQEAgLTIxMDUs NiArMjIwMCw5IEBAIGxhenlfdmFjdXVtKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJcmV0dXJu OwogCX0KIAorCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhlciB2 YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnQo dmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycyk7CisKIAkvKgogCSAqIENvbnNpZGVyIGJ5 cGFzc2luZyBpbmRleCB2YWN1dW1pbmcgKGFuZCBoZWFwIHZhY3V1bWluZykgZW50aXJlbHku CiAJICoKQEAgLTIxNjEsNiArMjI1OSw5IEBAIGxhenlfdmFjdXVtKExWUmVsU3RhdGUgKnZh Y3JlbCkKIAkJCQkgIChUaWRTdG9yZU1lbW9yeVVzYWdlKHZhY3JlbC0+ZGVhZF9pdGVtcykg PCAoMzJMICogMTAyNEwgKiAxMDI0TCkpKTsKIAl9CiAKKwkvKiBCZWZvcmUgc3RhcnRpbmcg dG8gcHJvY2VzcyB0aGUgaW5kZXhlcyBzYXZlIHRoZSBjdXJyZW50IGhlYXAgc3RhdGlzdGlj cyAqLworCWFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcygmZXh0VmFjQ291bnRl cnMsIHZhY3JlbCk7CisKIAlpZiAoYnlwYXNzKQogCXsKIAkJLyoKQEAgLTI2NzUsNiArMjc3 NiwxMSBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1 bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogewogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJ TFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2luZm87CisJTFZFeHRTdGF0Q291bnRlcnNJZHgg ZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKworCS8qIFNl dCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhlciB2YWN1dW0gc3RhdGlzdGlj cyBmb3IgdGhlIGluZGV4ICovCisJZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsIGlz dGF0LCAmZXh0VmFjQ291bnRlcnMpOwogCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2 aW5mby5oZWFwcmVsID0gdmFjcmVsLT5yZWw7CkBAIC0yNjkzLDYgKzI3OTksNyBAQCBsYXp5 X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKmlzdGF0LAogCSAqLwogCUFzc2VydCh2YWNyZWwtPmluZG5hbWUgPT0gTlVMTCk7CiAJ dmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRy ZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKIAl1 cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8sCiAJCQkJ CQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9WQUNVVU1fSU5ERVgsCiAJCQkJCQkJIEludmFsaWRC bG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7CkBAIC0yNzAxLDYgKzI4MDgsMTUg QEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICppc3RhdCwKIAlpc3RhdCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZp bmZvLCBpc3RhdCwgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJCQkgIHZhY3JlbC0+ZGVh ZF9pdGVtc19pbmZvKTsKIAorCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykK Kwl7CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXgg Ki8KKwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50 ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25H ZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs CisJCQkJCQkJCTAsIDAsICZleHRWYWNSZXBvcnQpOworCX0KKwogCS8qIFJldmVydCB0byB0 aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwog CXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwog CXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7CkBAIC0yNzI1LDYgKzI4NDEsMTEgQEAgbGF6eV9j bGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3Vs dCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5m byBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVy czsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJLyogU2V0IGluaXRpYWwgc3Rh dGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5k ZXggKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWND b3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwg PSB2YWNyZWwtPnJlbDsKQEAgLTI3NDQsMTIgKzI4NjUsMjIgQEAgbGF6eV9jbGVhbnVwX29u ZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQs CiAJICovCiAJQXNzZXJ0KHZhY3JlbC0+aW5kbmFtZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmlu ZG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOworCXZh Y3JlbC0+aW5kb2lkID0gUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1 dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbywKIAkJCQkJCQkgVkFDVVVN X0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVAsCiAJCQkJCQkJIEludmFsaWRCbG9ja051bWJl ciwgSW52YWxpZE9mZnNldE51bWJlcik7CiAKIAlpc3RhdCA9IHZhY19jbGVhbnVwX29uZV9p bmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MpCisJeworCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9y IGluZGV4ICovCisJCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRW YWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJl bGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlz c2hhcmVkLAorCQkJCQkJCQkwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwl9CisKIAkvKiBSZXZl cnQgdG8gdGhlIHByZXZpb3VzIHBoYXNlIGluZm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJh Y2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9p bmZvKTsKIAlwZnJlZSh2YWNyZWwtPmluZG5hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCmluZGV4IDQzYWMyN2VkNWI0Li4wOWU5M2IyMWU4MiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTQzMSwzICsxNDMxLDM1IEBAIEZS T00gcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJl bC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhy ZWwub2lkKSBzdGF0cwogV0hFUkUgcmVsLnJlbGtpbmQgPSAncic7CisKK0NSRUFURSBWSUVX IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgQVMKK1NFTEVDVAorICByZWwub2lkIGFzIHJlbGlk LAorICBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5h bWUsCisKKyAgdG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgdG90YWxf Ymxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCisgIHRvdGFsX2Jsa3NfZGlydGllZCBBUyB0 b3RhbF9ibGtzX2RpcnRpZWQsCisgIHRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtz X3dyaXR0ZW4sCisKKyAgcmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICByZWxf Ymxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgIHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNf ZGVsZXRlZCwKKyAgdHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisKKyAgd2Fs X3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgIHdhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgd2Fs X2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3Rp bWUsCisgIGJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIGRlbGF5X3Rp bWUgQVMgZGVsYXlfdGltZSwKKyAgdG90YWxfdGltZSBBUyB0b3RhbF90aW1lCitGUk9NCisg IHBnX2NsYXNzIHJlbAorICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwu cmVsbmFtZXNwYWNlLAorICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJl bC5vaWQpIHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9ICdpJzsKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1w YXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRl eCA2NzJmOGY0YmZlOC4uZDQxNzExYTgwZDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYwpAQCAtODY4LDYgKzg2OCw4IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9j ZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJl bCwKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0ID0gTlVMTDsKIAlJbmRleEJ1bGtE ZWxldGVSZXN1bHQgKmlzdGF0X3JlczsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOworCUxW RXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRW YWNSZXBvcnQ7CiAKIAkvKgogCSAqIFVwZGF0ZSB0aGUgcG9pbnRlciB0byB0aGUgY29ycmVz cG9uZGluZyBidWxrLWRlbGV0aW9uIHJlc3VsdCBpZiBzb21lb25lCkBAIC04NzYsNiArODc4 LDkgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVt U3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCWlmIChpbmRzdGF0cy0+aXN0YXRfdXBk YXRlZCkKIAkJaXN0YXQgPSAmKGluZHN0YXRzLT5pc3RhdCk7CiAKKwkvKiBTZXQgaW5pdGlh bCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRo ZSBpbmRleCAqLworCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCAmKGluZHN0YXRz LT5pc3RhdCksICZleHRWYWNDb3VudGVycyk7CisKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7 CiAJaXZpbmZvLmhlYXByZWwgPSBwdnMtPmhlYXByZWw7CiAJaXZpbmZvLmFuYWx5emVfb25s eSA9IGZhbHNlOwpAQCAtOTA0LDYgKzkwOSwxNSBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vz c19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWws CiAJCQkJIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOwogCX0KIAorCWlmKGlz dGF0X3JlcyAhPSBOVUxMICYmIHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7 CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8K KwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdF9yZXMsICZleHRWYWNDb3Vu dGVycywgJmV4dFZhY1JlcG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9u R2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVk LAorCQkJCQkJCQkwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwl9CisKIAkvKgogCSAqIENvcHkg dGhlIGluZGV4IGJ1bGstZGVsZXRpb24gcmVzdWx0IHJldHVybmVkIGZyb20gYW1idWxrZGVs ZXRlIGFuZAogCSAqIGFtdmFjdXVtY2xlYW51cCB0byB0aGUgRFNNIHNlZ21lbnQgaWYgaXQn cyB0aGUgZmlyc3QgY3ljbGUgYmVjYXVzZSB0aGV5CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdC5jCmluZGV4IGQyMWI5MzAyYzI5Li5kYzgxYmIxMmM4NiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTExOTAsNiArMTE5MCwxMCBAQCBwZ3N0YXRf YnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpCiAJCWlmIChwLT5kcm9wcGVk KQogCQkJY29udGludWU7CiAKKwkJaWYgKHN0YXRLaW5kICE9IFBHU1RBVF9LSU5EX0lOVkFM SUQgJiYgc3RhdEtpbmQgIT0gcC0+a2V5LmtpbmQpCisJCQkvKiBMb2FkIHN0YXQgb2Ygc3Bl Y2lmaWMgdHlwZSwgaWYgZGVmaW5lZCAqLworCQkJY29udGludWU7CisKIAkJQXNzZXJ0KHBn X2F0b21pY19yZWFkX3UzMigmcC0+cmVmY291bnQpID4gMCk7CiAKIAkJc3RhdHNfZGF0YSA9 IGRzYV9nZXRfYWRkcmVzcyhwZ1N0YXRMb2NhbC5kc2EsIHAtPmJvZHkpOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCA0NThiZDRl Y2U0OS4uYjE4YWU2MTBiODQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC05OTUsNiArOTk1LDkgQEAgc3RhdGljIHZvaWQKIHBn c3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFj UmVwb3J0ICpzcmMsCiAJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lm aWNfaW5mbykKIHsKKwlpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQly ZXR1cm47CisKIAlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVh ZDsKIAlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CiAJZHN0 LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CkBAIC0x MDEwLDIwICsxMDEzLDM1IEBAIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRW YWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCiAJaWYgKCFhY2N1bXVsYXRlX3Jl bHR5cGVfc3BlY2lmaWNfaW5mbykKIAkJcmV0dXJuOwogCi0JZHN0LT5ibGtzX2ZldGNoZWQg Kz0gc3JjLT5ibGtzX2ZldGNoZWQ7Ci0JZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0 OwotCi0JZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKLQlkc3Qt PnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOwotCWRzdC0+dm1fbmV3X2Zy b3plbl9wYWdlcyArPSBzcmMtPnZtX25ld19mcm96ZW5fcGFnZXM7Ci0JZHN0LT52bV9uZXdf dmlzaWJsZV9wYWdlcyArPSBzcmMtPnZtX25ld192aXNpYmxlX3BhZ2VzOwotCWRzdC0+dm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzOwotCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsK LQlkc3QtPnR1cGxlc19mcm96ZW4gKz0gc3JjLT50dXBsZXNfZnJvemVuOwotCWRzdC0+cmVj ZW50bHlfZGVhZF90dXBsZXMgKz0gc3JjLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKLQlkc3Qt PmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3VudDsKLQlkc3Qt PndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0gc3JjLT53cmFwYXJvdW5kX2ZhaWxzYWZl X2NvdW50OwotCWRzdC0+bWlzc2VkX2RlYWRfcGFnZXMgKz0gc3JjLT5taXNzZWRfZGVhZF9w YWdlczsKLQlkc3QtPm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPm1pc3NlZF9kZWFkX3R1 cGxlczsKKwlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCkKKwkJZHN0 LT50eXBlID0gc3JjLT50eXBlOworCisJQXNzZXJ0KHNyYy0+dHlwZSA9PSBQR1NUQVRfRVhU VkFDX0lOVkFMSUQgfHwgc3JjLT50eXBlID09IGRzdC0+dHlwZSk7CisKKwlpZiAoZHN0LT50 eXBlID09IHNyYy0+dHlwZSkKKwl7CisJCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxr c19mZXRjaGVkOworCQlkc3QtPmJsa3NfaGl0ICs9IHNyYy0+Ymxrc19oaXQ7CiAKKwkJaWYg KGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX1RBQkxFKQorCQl7CisJCQlkc3QtPnRhYmxl LnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT50YWJsZS5wYWdlc19zY2FubmVkOworCQkJZHN0LT50 YWJsZS5wYWdlc19yZW1vdmVkICs9IHNyYy0+dGFibGUucGFnZXNfcmVtb3ZlZDsKKwkJCWRz dC0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyArPSBzcmMtPnRhYmxlLnZtX25ld19mcm96 ZW5fcGFnZXM7CisJCQlkc3QtPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzICs9IHNyYy0+ dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXM7CisJCQlkc3QtPnRhYmxlLnZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcyArPSBzcmMtPnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlczsKKwkJCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsK KwkJCWRzdC0+dGFibGUudHVwbGVzX2Zyb3plbiArPSBzcmMtPnRhYmxlLnR1cGxlc19mcm96 ZW47CisJCQlkc3QtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+dGFibGUu cmVjZW50bHlfZGVhZF90dXBsZXM7CisJCQlkc3QtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3Vu dCArPSBzcmMtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudDsKKwkJCWRzdC0+dGFibGUubWlz c2VkX2RlYWRfcGFnZXMgKz0gc3JjLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlczsKKwkJCWRz dC0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRf dHVwbGVzOworCQkJZHN0LT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNy Yy0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKKwkJfQorCQllbHNlIGlmIChk c3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkKKwkJeworCQkJZHN0LT5pbmRleC5w YWdlc19kZWxldGVkICs9IHNyYy0+aW5kZXgucGFnZXNfZGVsZXRlZDsKKwkJCWRzdC0+dHVw bGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKKwkJfQorCX0KIH0KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5j CmluZGV4IGRhMzFkOWQzZTI5Li4zMTA1YTlkZTM5MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMKQEAgLTIyODYsMTggKzIyODYsMTkgQEAgcGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtz X2hpdCk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19o aXQpOwogCi0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNf c2Nhbm5lZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFn ZXNfcmVtb3ZlZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ dm1fbmV3X2Zyb3plbl9wYWdlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dm1fbmV3X3Zpc2libGVfcGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7Ci0JdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+bWlzc2VkX2RlYWRfcGFnZXMp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnBhZ2Vz X3NjYW5uZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRh YmxlLnBhZ2VzX3JlbW92ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRhYmxlLnZtX25ld19mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZGVsZXRlZCk7Ci0JdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2Zyb3plbik7Ci0JdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cmVjZW50bHlfZGVhZF90dXBsZXMpOwotCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPm1pc3NlZF9kZWFkX3R1cGxl cyk7Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3Vu ZF9mYWlsc2FmZV9jb3VudCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+aW5kZXhfdmFjdXVtX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT50YWJsZS50dXBsZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2Rl YWRfdHVwbGVzKTsKKworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0t PnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCk7CiAKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CiAJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CkBAIC0y MzE2LDYgKzIzMTcsMTE2IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJ T05fQVJHUykKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RB VFNfQ09MUyk7CiAKKwkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQR19S RVRVUk5fREFUVU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2Ms IHZhbHVlcywgbnVsbHMpKSk7Cit9CisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92YWN1 dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRf VkFDVVVNX0lOREVYX1NUQVRTX0NPTFMJMTYKKworCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VU QVJHX09JRCgwKTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7CisJRXh0 VmFjUmVwb3J0IAkJCSpleHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURh dHVtCQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9 IHswfTsKKwlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRT X0NPTFNdID0gezB9OworCWNoYXIJCQkJCSBidWZbMjU2XTsKKwlpbnQJCQkJCQkgaSA9IDA7 CisJRXh0VmFjUmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMg aW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KKwl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NP TFMpOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJyZWxpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQiLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg InRvdGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nf d3JpdHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJyZWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdl c19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndh bF9mcGkiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1F UklDT0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJs a193cml0ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAor CQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQs IC0xLCAwKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFU U19DT0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJdGFiZW50cnkgPSBw Z3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisKKwlpZiAodGFiZW50cnkgPT0g TlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0 aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRW YWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJ CWV4dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQpOworCX0KKworCWkgPSAwOwor CisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHJlbGlkKTsKKworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGly dGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxf Ymxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxl dGVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNf ZGVsZXRlZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53 YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0 ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBl eHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNh bGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJ CQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVt KC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Ymxr X3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0t PmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZh Y3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2 YWN1dW0tPnRvdGFsX3RpbWUpOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVN X0lOREVYX1NUQVRTX0NPTFMpOworCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVt ICovCiAJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBs ZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKaW5kZXggZjJkMzFlMTc0 YjQuLjJhOTZjZjUxYTM2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1 Y190YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpA QCAtMTQ4MCw3ICsxNDgwLDcgQEAgc3RydWN0IGNvbmZpZ19ib29sIENvbmZpZ3VyZU5hbWVz Qm9vbFtdID0KIAl9LAogCXsKIAkJeyJ0cmFja192YWN1dW1fc3RhdGlzdGljcyIsIFBHQ19T VVNFVCwgU1RBVFNfQ1VNVUxBVElWRSwKLQkJCWdldHRleHRfbm9vcCgiQ29sbGVjdHMgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHRhYmxlIHJlbGF0aW9ucy4iKSwKKwkJCWdldHRleHRfbm9v cCgiQ29sbGVjdHMgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHJlbGF0aW9ucy4iKSwKIAkJCU5V TEwKIAkJfSwKIAkJJnBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcywKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CmluZGV4IDBkOTU4NGE5ZmVjLi5kN2YwNmE2OTQ4NyAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjQ0Nyw0ICsxMjQ0NywxMyBAQAogICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycsIHByb3ZvbGF0aWxl ID0+ICdzJywKICAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4Jywg cHJvYXJndHlwZXMgPT4gJ29pZCcsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfcmV2X2Fs bF9mcm96ZW5fcGFnZXMnIH0sCit7IG9pZCA9PiAnODAwNCcsCisgIGRlc2NyID0+ICdwZ19z dGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFt ZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHBy b3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9 PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAor ICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4 LGZsb2F0OH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9i bGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nf d3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUs YmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHByb3NyYyA9PiAn cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnIH0KIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2NvbW1hbmRzL3ZhY3V1bS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgK aW5kZXggOTRkNTk5NzY3ZGYuLjRkNGEzZDdiMDJkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9jb21tYW5kcy92YWN1dW0uaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0u aApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgInN0b3JhZ2UvYnVmLmgiCiAjaW5jbHVk ZSAic3RvcmFnZS9sb2NrLmgiCiAjaW5jbHVkZSAidXRpbHMvcmVsY2FjaGUuaCIKKyNpbmNs dWRlICJwZ3N0YXQuaCIKIAogLyoKICAqIEZsYWdzIGZvciBhbXBhcmFsbGVsdmFjdXVtb3B0 aW9ucyB0byBjb250cm9sIHRoZSBwYXJ0aWNpcGF0aW9uIG9mIGJ1bGtkZWxldGUKQEAgLTI4 OCw2ICsyODksMjYgQEAgdHlwZWRlZiBzdHJ1Y3QgVmFjRGVhZEl0ZW1zSW5mbwogCWludDY0 CQludW1faXRlbXM7CQkvKiBjdXJyZW50ICMgb2YgZW50cmllcyAqLwogfSBWYWNEZWFkSXRl bXNJbmZvOwogCisvKgorICogQ291bnRlcnMgYW5kIHVzYWdlIGRhdGEgZm9yIGV4dGVuZGVk IHN0YXRzIHRyYWNraW5nLgorICovCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRDb3VudGVy cworeworCVRpbWVzdGFtcFR6IHN0YXJ0dGltZTsKKwlXYWxVc2FnZQl3YWx1c2FnZTsKKwlC dWZmZXJVc2FnZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsKKwlQZ1N0 YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0 OworfSBMVkV4dFN0YXRDb3VudGVyczsKKwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291 bnRlcnNJZHgKK3sKKwlMVkV4dFN0YXRDb3VudGVycyBjb21tb247CisJaW50NjQJCXBhZ2Vz X2RlbGV0ZWQ7CisJaW50NjQJCXR1cGxlc19yZW1vdmVkOworfSBMVkV4dFN0YXRDb3VudGVy c0lkeDsKKwogLyogR1VDIHBhcmFtZXRlcnMgKi8KIGV4dGVybiBQR0RMTElNUE9SVCBpbnQg ZGVmYXVsdF9zdGF0aXN0aWNzX3RhcmdldDsJLyogUEdETExJTVBPUlQgZm9yIFBvc3RHSVMg Ki8KIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOwpAQCAt Mzg2LDQgKzQwNyw4IEBAIGV4dGVybiBkb3VibGUgYW5sX3JhbmRvbV9mcmFjdCh2b2lkKTsK IGV4dGVybiBkb3VibGUgYW5sX2luaXRfc2VsZWN0aW9uX3N0YXRlKGludCBuKTsKIGV4dGVy biBkb3VibGUgYW5sX2dldF9uZXh0X1MoZG91YmxlIHQsIGludCBuLCBkb3VibGUgKnN0YXRl cHRyKTsKIAorZXh0ZXJuIHZvaWQgZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiBy ZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSAgIExWRXh0U3RhdENv dW50ZXJzSWR4ICpjb3VudGVycyk7CitleHRlcm4gdm9pZCBleHR2YWNfc3RhdHNfZW5kX2lk eChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSBM VkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMsIEV4dFZhY1JlcG9ydCAqcmVwb3J0KTsK ICNlbmRpZgkJCQkJCQkvKiBWQUNVVU1fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv cGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCAwMjY2OTkzZGJmMi4uNTcy ZTM0ZTBiYjAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9p bmNsdWRlL3Bnc3RhdC5oCkBAIC0xNjcsMTEgKzE2NywxOSBAQCB0eXBlZGVmIHN0cnVjdCBQ Z1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxpY3RfY291bnRb Q09ORkxJQ1RfTlVNX1RZUEVTXTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyog VHlwZSBvZiBFeHRWYWNSZXBvcnQgKi8KK3R5cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBl Cit7CisJUEdTVEFUX0VYVFZBQ19JTlZBTElEID0gMCwKKwlQR1NUQVRfRVhUVkFDX1RBQkxF ID0gMSwKKwlQR1NUQVRfRVhUVkFDX0lOREVYID0gMgorfSBFeHRWYWNSZXBvcnRUeXBlOwor CiAvKiAtLS0tLS0tLS0tCiAgKgogICogRXh0VmFjUmVwb3J0CiAgKgotICogQWRkaXRpb25h bCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSBoZWFwIHJlbGF0aW9u LgorICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIg YSByZWxhdGlvbi4KICAqIHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0 aGUgcGh5c2ljYWxseSBzaHJhbmssCiAgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRz IHRvdGFsIHNpemUgb24gZGlzaykKICAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBz cGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUKQEAgLTIwMCwxOCArMjA4LDQ0IEBAIHR5cGVk ZWYgc3RydWN0IEV4dFZhY1JlcG9ydAogCWRvdWJsZQkJZGVsYXlfdGltZTsJCS8qIGhvdyBs b25nIHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkgcG9pbnQsIGluIG1zZWMgKi8KIAlk b3VibGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1lIG9mIGEgdmFjdXVtIG9wZXJhdGlv biwgaW4gbXNlYyAqLwogCi0JaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFwIHBhZ2Vz IGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KLQlpbnQ2NAkJcGFnZXNfcmVtb3Zl ZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24iICovCi0J aW50NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMg ZnJvemVuICovCi0JaW50NjQJCXZtX25ld192aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJr ZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KLQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgYW5kIGZy b3plbiAqLwotCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90IHBy dW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2NrICov Ci0JaW50NjQJCW1pc3NlZF9kZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVh ZCB0dXBsZXMgKi8KIAlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRl ZCBieSB2YWN1dW0gKi8KLQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96 ZW4gdXAgYnkgdmFjdXVtICovCi0JaW50NjQJCXJlY2VudGx5X2RlYWRfdHVwbGVzOwkvKiBk ZWxldGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxlIHRvIHNvbWUgdHJhbnNhY3Rp b24gKi8KLQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIGlu ZGV4IHZhY3V1bWluZ3MgKi8KLQlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJ LyogdGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdvcmthcm91bmQgcHJvYmxlbSAq LworCisJRXh0VmFjUmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8K KworCS8qIC0tLS0tLS0tLS0KKwkgKgorCSAqIFRoZXJlIGFyZSBzZXBhcmF0ZSBtZXRyaWNz IG9mIHN0YXRpc3RpYyBmb3IgdGFibGVzIGFuZCBpbmRleGVzLAorCSAqIHdoaWNoIGNvbGxl Y3QgZHVyaW5nIHZhY3V1bS4KKwkgKiBUaGUgdW5pb24gb3BlcmF0b3IgYWxsb3dzIHRvIGNv bWJpbmUgdGhlc2Ugc3RhdGlzdGljcworCSAqIHNvIHRoYXQgZWFjaCBtZXRyaWMgaXMgYXNz aWduZWQgdG8gYSBzcGVjaWZpYyBjbGFzcyBvZiBjb2xsZWN0ZWQgc3RhdGlzdGljcy4KKwkg KiBTdWNoIGEgY29tYmluZWQgc3RydWN0dXJlIHdhcyBjYWxsZWQgcGVyX3R5cGVfc3RhdHMu CisJICogVGhlIG5hbWUgb2YgdGhlIHN0cnVjdHVyZSBpdHNlbGYgaXMgbm90IHVzZWQgYW55 d2hlcmUsCisJICogaXQgZXhpc3RzIG9ubHkgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIGNvZGUu CisJICogLS0tLS0tLS0tLQorCSovCisJdW5pb24KKwl7CisJCXN0cnVjdAorCQl7CisJCQlp bnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIGhlYXAgcGFnZXMgZXhhbWluZWQgKG5vdCBza2lw cGVkIGJ5IFZNKSAqLworCQkJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkvKiBoZWFwIHBhZ2Vz IHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAqLworCQkJaW50NjQJCXBhZ2VzX2Zy b3plbjsJCS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwkJCWludDY0CQlw YWdlc19hbGxfdmlzaWJsZTsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxl ICovCisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkg dmFjdXVtICovCisJCQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90dXBsZXM7CS8qIGRlbGV0ZWQg dHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8gc29tZSB0cmFuc2FjdGlvbiAqLwor CQkJaW50NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0g YXMgZnJvemVuICovCisJCQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfcGFnZXM7CS8qIHBhZ2Vz IG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxl IGFuZCBmcm96ZW4gKi8KKwkJCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBs ZXMgbm90IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51 cCBsb2NrICovCisJCQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRo IG1pc3NlZCBkZWFkIHR1cGxlcyAqLworCQkJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJ LyogbnVtYmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KKwkJCWludDMyCQl3cmFwYXJvdW5k X2ZhaWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZlbnQgd29y a2Fyb3VuZCBwcm9ibGVtICovCisJCX0JCQl0YWJsZTsKKwkJc3RydWN0CisJCXsKKwkJCWlu dDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFj dXVtICovCisJCX0JCQlpbmRleDsKKwl9IC8qIHBlcl90eXBlX3N0YXRzICovOwogfSBFeHRW YWNSZXBvcnQ7CiAKIC8qIC0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xh dGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCBi L3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0 YWJsZS1yZWFkLm91dAppbmRleCA4N2Y3ZTQwYjRhNi4uNmQ5NjA0MjM5MTIgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJl cGV0YWJsZS1yZWFkLm91dAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKQEAgLTM0LDcgKzM0LDcgQEAg c3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6CiAKIHJlbG5hbWUgICAgICAgICAg ICAgICAgICAgfHR1cGxlc19kZWxldGVkfHJlY2VudGx5X2RlYWRfdHVwbGVzfG1pc3NlZF9k ZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF9wYWdlc3x0dXBsZXNfZnJvemVuCiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAg ICAxMDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAg IDAKK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAg ICAgICAgICAgNjAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAg ICAgICAgICAwCiAoMSByb3cpCiAKIHN0ZXAgczFfY29tbWl0OiBDT01NSVQ7CkBAIC00OCw2 ICs0OCw2IEBAIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOgogCiByZWxuYW1l ICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxl c3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0KLXRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAg ICAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwg ICAgICAgICAgMTAxCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDMw MHwgICAgICAgICAgICAgICAgIDYwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAg ICAgIDB8ICAgICAgICAgIDMwMwogKDEgcm93KQogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0CmluZGV4IGI0OWY3OTM2ZjkzLi4yNDdlMjJhODJhNSAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyNDUsNiArMjI0NSwyOCBAQCBwZ19zdGF0 X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2Vz CiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4g QUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpu YW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOworcGdfc3Rh dF92YWN1dW1faW5kZXhlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCisgICAgbnMubnNw bmFtZSBBUyBzY2hlbWFuYW1lLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFs X2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3Rh bF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0 YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRz LnBhZ2VzX2RlbGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMu d2FsX3JlY29yZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMs CisgICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwK KyAgICBzdGF0cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00g KHBnX2NsYXNzIHJlbAorICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9 IHJlbC5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9i bGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9i bGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQs IHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193 cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtp bmQgPSAnaSc6OiJjaGFyIik7CiBwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5u c3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAgICAgcmVsLnJlbG5hbWUsCiAgICAgc3RhdHMucmVs aWQsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRl eF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5lMDBhMGZjNjgzYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTgzIEBA CistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBD aGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJh dGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZh Y3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBi eSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0 aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29u ZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24K KyB0cmFja19jb3VudHMgCistLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKK1xzZXQg c2FtcGxlX3NpemUgMTAwMDAKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBU ZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRl ciBpcyBvZmYuCitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitDUkVB VEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2Zm LCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7 CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworVkFDVVVNIChQQVJBTExF TCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSBNdXN0IGJlIGVtcHR5 LgorU0VMRUNUICoKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dAorV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXQnOworIHJlbGlkIHwgc2NoZW1hbmFtZSB8IHJlbG5hbWUgfCB0 b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8 IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBw YWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkg fCB3YWxfYnl0ZXMgfCBibGtfcmVhZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90 aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlz dGljczsKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CitTSE9XIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIGVuc3VyZSBw ZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2Zs dXNoKCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAKKygxIHJvdykKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZh Y3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2Ug PSAwOworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFU RSBUQUJMRSB2ZXN0YXQgKHggaW50IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVtX2Vu YWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VM RUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFM WVpFIHZlc3RhdDsKK1NFTEVDVCBvaWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUg eCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVu ZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxw YWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFO RCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19k ZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8ICAgICAgIDMw IHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCBy ZWxwYWdlcyBBUyBpcnAKK0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRv IGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFRoZSB0YWJsZSBh bmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhh dAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdl c19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJs ZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAw IEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVz X2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdl c19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAg ICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUs cmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFT IGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVS RSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3Nl dAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3Jk cyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CisgZGl3ciB8IGRp d2IgCistLS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00g dmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwg SU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNr IHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVz dCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFT IHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2Vz IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkg fCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5y ZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVs ZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5v aWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNU IHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2Fs X2ZwaS06aWZwaSBBUyBkaWZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQg YmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBk aVdCOworIGRpd3IgfCBkaXdiIAorLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0CisoMSByb3cp CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9y ZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdz ZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9 IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4g U28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVk IGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hl Y2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMiwg d2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkyCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg XGdzZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3Qg YmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAgQVMgZGlXUiwgOmRpZnBpMj0wIEFTIGlG UEksIDpkaXdiMj0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0t LS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBk ID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxl c19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lk OworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2Rl bGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8 IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2Vz X2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRl cyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0 OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0Vf TElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nh cnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMg ZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxf Ynl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlX UiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkg fCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJv dykKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGlu dG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5k ZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFs dWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFt ZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0K KyB2ZXN0YXRfcGtleSB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykK KworRFJPUCBUQUJMRSB2ZXN0YXQ7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKaW5kZXggMGMwNWE4MTJk ZDEuLjExOWM3YWJlYTVmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CkBAIC0xODEsMTcgKzE4MSwz OSBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CiAgdmVzdGF0ICB8IHQgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYg ICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKICgxIHJvdykKIAorRFJPUCBUQUJMRSB2ZXN0 YXQ7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykK KworU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90 YWJsZV9hZ2UgPSAwOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92 YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZl c3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMg eDsKIEFOQUxZWkUgdmVzdGF0OworU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgp OworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgCisoMSByb3cpCisKIC0tIG11c3QgYmUgZW1wdHkKIFNFTEVDVCB2bV9uZXdfZnJv emVuX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMs cmV2X2FsbF92aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcwogRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CiAgdm1fbmV3X2Zy b3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgcmV2X2FsbF9mcm96ZW5fcGFn ZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAg ICAgICAgOTEwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAg IDAgfCAgICAgICAgICAgICAgICAgICAgICAgICA0NTUKKyAgICAgICAgICAgICAgICAgICAw IHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8ICAgICAg ICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogKDEgcm93 KQogCiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3Rh dDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNl X25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQor CiAtLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdlcwogU0VMRUNUIHZtX25ld19mcm96ZW5fcGFn ZXMgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAw IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+ IDAgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2Vz ID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAw IEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMs IHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFt ZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0 X2FsbF90YWJsZXMucmVsaWQ7CkBAIC0yMDQsMTYgKzIyNiwyOCBAQCBTRUxFQ1Qgdm1fbmV3 X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYsdm1fbmV3 X3Zpc2libGVfZnJvegogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxs X3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQn IGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQgXGdzZXQKIFVQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKIFZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKIFNFTEVDVCB2bV9u ZXdfZnJvemVuX3BhZ2VzID4gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zp c2libGVfcGFnZXMgPiA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2li bGVfZnJvemVuX3BhZ2VzID4gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMs cmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxy ZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMK IEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUg cGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92 YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOwogIHZtX25l d19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxl X3BhZ2VzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICAgIHwgZgorIGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAg ICAgICAgIHwgdAogKDEgcm93KQogCiBTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBw Ziwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYsIHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcyBBUyBwdmYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNp YmxlX3BhZ2VzIEFTIGhhdnAKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVz dGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkIFxnc2V0CiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1J VCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IAorKDEgcm93KQorCiAtLSB2YWN1dW0gZnJlZXplZCBwYWdlcwogU0VMRUNUIHZtX25ld19m cm96ZW5fcGFnZXMgPSA6cGYgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJs ZV9wYWdlcyA9IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMgPSA6cHZmIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgcmV2 X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZf YWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1 dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOwpAQCAtMjIyLDQg KzI1Niw2IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJs ZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hCiAgdCAgICAgICAgICAgICAg ICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKK1JFU0VUIHZhY3V1 bV9mcmVlemVfbWluX2FnZTsKK1JFU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlOwogRFJP UCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl CmluZGV4IGQxMWY2YjdlZjRiLi45NzdhODdhNWIxZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFs bGVsX3NjaGVkdWxlCkBAIC0xNDAsNCArMTQwLDUgQEAgdGVzdDogdGFibGVzcGFjZQogIyAt LS0tLS0tLS0tCiAjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KK3Rl c3Q6IHZhY3V1bV9pbmRleF9zdGF0aXN0aWNzCiB0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRp c3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFlMTQ2ZTFkMjNmCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCkBA IC0wLDAgKzEsMTUxIEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBz eXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJp bmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUg cGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUg cGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90 IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFi bGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsg IC0tIG11c3QgYmUgb24KKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorCistLSBub3QgZW5h YmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tf ZnVuY3Rpb25zIFRPICdhbGwnOworCistLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mg d2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCitTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29mZic7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBX SVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNF UlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxl X3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworREVMRVRFIEZST00gdmVzdGF0IFdI RVJFIHggJSAyID0gMDsKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4KSB2ZXN0YXQ7CisKKy0tIE11c3QgYmUgZW1wdHkuCitTRUxFQ1QgKgorRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7 CisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQg Q0FTQ0FERTsKKworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUg b24KKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VU IHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9h Z2UgPSAwOworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NS RUFURSBUQUJMRSB2ZXN0YXQgKHggaW50IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQg U0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitB TkFMWVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hl cmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0 IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlv biBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVs cGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBpcnAKK0ZS T00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKwor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVu ZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBm cm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5 ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVk IHVwCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxw YWdlc19kZWxldGVkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBB UyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxl dGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2Vz IGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBB UyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBMb29rIGludG8gV0FMIHJl Y29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0 ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JzsKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikg dmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAor U0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNf ZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQg PiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5y ZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2Vz X2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3Is IHdhbF9ieXRlcy06aXdiIEFTIGRpd2IsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkKK0ZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorCistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRp d3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOworCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5 dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0lOU0VSVCBJTlRPIHZl c3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMg eDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVM TCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNl bWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVM TCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0 aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBB UyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBXQUwg YW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgor U0VMRUNUIDpkaXdyMj0wIEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBB UyBkaVdCOworCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxw YWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2Rl bGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBB UyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFT IGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVM RVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7Cist LSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BP SU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVt b3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpp d3IgQVMgZGl3cjMsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IzLCB3YWxfZnBpLTppZnBpIEFT IGRpZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIFxnc2V0CisKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VM RUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBk aVdCOworCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQg aW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRl bmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2 YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK0RST1Ag VEFCTEUgdmVzdGF0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5zcWwKaW5kZXggOGFkNjkxMDhjYTEuLmRmZDdhZjcwMDI3IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlz dGljcy5zcWwKQEAgLTE0OCwxNCArMTQ4LDIyIEBAIFNFTEVDVCB2dC5yZWxuYW1lLHZtX25l d19mcm96ZW5fcGFnZXMtOmZwID0gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19k ZWxlCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYwogV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOwogCitEUk9QIFRB QkxFIHZlc3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKK1NFVCB2 YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdl ID0gMDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2Vu YWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CisKIElOU0VSVCBJTlRPIHZlc3RhdCBT RUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFO QUxZWkUgdmVzdGF0OworU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwogCiAt LSBtdXN0IGJlIGVtcHR5CiBTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zp c2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdl cyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJl bG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdf c3RhdF9hbGxfdGFibGVzLnJlbGlkOwogCiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9V U0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2goKTsKIAogLS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKIFNFTEVDVCB2bV9uZXdfZnJv emVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3Bh Z2VzID4gMCBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3pl bl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3Bh Z2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKQEAgLTE2NSw2ICsxNzMsNyBAQCBG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYQogCiBVUERBVEUgdmVzdGF0IFNFVCB4ID0geCAr IDEwMDE7CiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZl c3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKIAogU0VMRUNUIHZt X25ld19mcm96ZW5fcGFnZXMgPiA6cGYgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdf dmlzaWJsZV9wYWdlcyA+IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgPiA6cHZmIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl cyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2Vz LHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdl cwogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVS RSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CkBAIC0x NzIsOSArMTgxLDEyIEBAIFNFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9u ZXdfdmlzaWJsZV9wYWdlcyBBUyBwdiwgdm1fbmV3X3Zpc2libGVfZnJvCiBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFj dXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxl cy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAogCiBWQUNVVU0gKFBB UkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKIAogLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKIFNF TEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMs dm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96 ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFi bGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5k IHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxp ZDsKIAorUkVTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOworUkVTRVQgdmFjdXVtX2ZyZWV6 ZV90YWJsZV9hZ2U7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotLSAKMi4zNC4xCgo= --------------ehA8hvWTQKBldKbQWNQnJEtd Content-Type: text/x-patch; charset=UTF-8; name="v17-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v17-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA3OGY4ZjgxNGJiOWFhYjlkMDQ4NjMxYzJhOTU3ZTYwOTVlZTAyNTliIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAxMCBKYW4gMjAyNSAxMDo1MDowMCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMy80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBkYXRhYmFzZXMuCgpEYXRhYmFzZSB2YWN1dW0gc3RhdGlz dGljcyBpbmZvcm1hdGlvbiBpcyB0aGUgY29sbGVjdGVkIGdlbmVyYWwKdmFjdXVtIHN0YXRp c3RpY3MgaW5kZXhlcyBhbmQgdGFibGVzIG93bmVkIGJ5IHRoZSBkYXRhYmFzZXMsIHdoaWNo CnRoZXkgYmVsb25nIHRvLgoKQnkgZGVmYXVsdCwgdmFjdXVtIGRhdGFiYXNlIHN0YXRpc3Rp Y3MgYXJlIGFsd2F5cyBjb2xsZWN0ZWQsIGFuZAp0aGUgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgZ3VjIGVuYWJsZXMgdGhlIGFiaWxpdHkgdG8gY29sbGVjdApleHRlbmRlZCBzdGF0aXN0 aWNzIGZvciBhIGdpdmVuIGRhdGFiYXNlJ3MgcmVsYXRpb25zLiBUaGlzIGlzIGRvbmUKdG8g YWNoaWV2ZSBhIGJhbGFuY2UgYmV0d2VlbiB0aGUgYWxsb2NhdGVkIG1lbW9yeSBmb3Igc3Rv cmluZyBzdGF0aXN0aWNzCmFuZCBoYXZpbmcgdGhlIG5lY2Vzc2FyeSBtb25pdG9yaW5nIGF0 IGhhbmQgdG8gdHJhY2sgdGhlIHN0YXRlIG9mCnZhY3V1bSBvcGVyYXRpb24uCkluIGFkZGl0 aW9uIHRvIHRoZSBmYWN0IHRoYXQgdGhlcmUgYXJlIGZhciBmZXdlciBkYXRhYmFzZXMgaW4g YSBzeXN0ZW0KdGhhbiByZWxhdGlvbnMsIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBhIGRhdGFi YXNlIGNvbnRhaW4gZmV3ZXIgc3RhdGlzdGljcwp0aGFuIHJlbGF0aW9ucywgYnV0IHRoZXkg YXJlIGVub3VnaCB0byBpbmRpY2F0ZSB0aGF0IHNvbWV0aGluZyBtYXkgYmUKd3JvbmcgaW4g dGhlIHN5c3RlbSBhbmQgcHJvbXB0IHRoZSBhZG1pbmlzdHJhdG9yIHRvIGVuYWJsZSBleHRl bmRlZAptb25pdG9yaW5nIGZvciByZWxhdGlvbnMuCgpTbywgYnVmZmVyLCB3YWwsIHN0YXRp c3RpY3Mgb2YgSS9PIHRpbWUgb2YgcmVhZCBhbmQgd3JpdGVuIGJsb2NrcwpzdGF0aXN0aWNz IHdpbGwgYmUgb2JzZXJ2ZWQgYmVjYXVzZSB0aGV5IGFyZSBjb2xsZWN0ZWQgZm9yIGJvdGgK dGFibGVzLCBpbmRleGVzLiBJbiBhZGRpdGlvbiwgd2Ugc2hvdyB0aGUgbnVtYmVyIG9mIGVy cm9ycyBjYXVnaHQKZHVyaW5nIG9wZXJhdGlvbiBvZiB0aGUgdmFjdXVtIG9ubHkgZm9yIHRo ZSBlcnJvciBsZXZlbC4KCndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgaXMgYSBudW1iZXIg b2YgdGltZXMgd2hlbiB0aGUgdmFjdXVtIHN0YXJ0cwp1cmdlbnQgY2xlYW51cCB0byBwcmV2 ZW50IHdyYXBhcm91bmQgcHJvYmxlbSB3aGljaCBpcyBjcml0aWNhbCBmb3IKdGhlIGRhdGFi YXNlLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNraW5hQHlhbmRleC5y dT4sCiAgIEFuZHJlaSBMZXBpa2hvdiA8YS5sZXBpa2hvdkBwb3N0Z3Jlc3Byby5ydT4sCiAg IEFuZHJlaSBadWJrb3YgPGEuenVia292QHBvc3RncmVzcHJvLnJ1PgpSZXZpZXdlZC1ieTog RGlsaXAgS3VtYXIgPGRpbGlwYmFsYXV0QGdtYWlsLmNvbT4sIE1hc2FoaWtvIFNhd2FkYSA8 c2F3YWRhLm1zaGtAZ21haWwuY29tPiwKICAgICAgIElsaWEgRXZkb2tpbW92IDxpbHlhLmV2 ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVyc2FsaXR5QGdt YWlsLmNvbT4sCiAgICAgICBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxAZ21haWwuY29t PiwgQWxleGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4sCiAgICAgICBK aW0gTmFzYnkgPGpuYXNieUB1cGdyYWRlLmNvbT4sIFNhbWkgSW1zZWloIDxzYW1pbXNlaWhA Z21haWwuY29tPgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAg ICAgICAgICB8ICA4NSArKysrKystLS0tLS0tLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICAyNyArKysrLQogc3JjL2JhY2tlbmQvY29tbWFu ZHMvdmFjdXVtcGFyYWxsZWwuYyAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jICB8ICAgMSArCiBzcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNTIgKysrKysrKystCiBzcmMv YmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxMDAgKysrKysr KysrKysrKysrKystCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAgICAg ICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAg ICAgICAgICB8ICAxMyArKy0KIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNSArLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQuc3BlYyAgIHwgICA2ICsrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVz Lm91dCAgICAgICAgICAgfCAgMTcgKysrCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Mub3V0ICAgICAgfCAgMTYgKy0tCiAuLi51dCA9PiB2YWN1dW1fdGFibGVzX2Fu ZF9kYl9zdGF0aXN0aWNzLm91dH0gfCAgODcgKysrKysrKysrKysrKy0tCiBzcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDIgKy0KIC4uLi9yZWdy ZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgICB8ICAgNiArLQogLi4ucWwg PT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9IHwgIDY2ICsrKysrKysr KysrLQogMTcgZmlsZXMgY2hhbmdlZCwgMzk5IGluc2VydGlvbnMoKyksIDkwIGRlbGV0aW9u cygtKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQve3ZhY3V1bV90YWJsZXNf c3RhdGlzdGljcy5vdXQgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXR9 ICg4MyUpCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9zcWwve3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5zcWwgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9ICg4 MiUpCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IGU3ZDJjY2M2 NjhlLi4xZjQyYzc1YjYzMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YwpAQCAtMzA5LDkgKzMwOSw2IEBAIGV4dHZhY19zdGF0c19zdGFydChSZWxhdGlvbiByZWws IExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycykKIHsKIAlUaW1lc3RhbXBUeglzdGFydHRp bWU7CiAKLQlpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQotCQlyZXR1cm47 Ci0KIAltZW1zZXQoY291bnRlcnMsIDAsIHNpemVvZihMVkV4dFN0YXRDb3VudGVycykpOwog CiAJc3RhcnR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOwpAQCAtMzUwLDkgKzM0Nyw2 IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAq Y291bnRlcnMsCiAJbG9uZwkJc2VjczsKIAlpbnQJCQl1c2VjczsKIAotCWlmKCFwZ3N0YXRf dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JCXJldHVybjsKLQogCS8qIENhbGN1bGF0ZSBk aWZmcyBvZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCBhbmQgYnVmZmVyIHVzYWdl LiAqLwogCW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2FnZSkpOwogCVdhbFVz YWdlQWNjdW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3VudGVycy0+d2FsdXNh Z2UpOwpAQCAtNDAwLDkgKzM5NCw2IEBAIHZvaWQKIGV4dHZhY19zdGF0c19zdGFydF9pZHgo UmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzLAogCQkJCQkgICBM VkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpCiB7Ci0JaWYoIXBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljcykKLQkJcmV0dXJuOwotCiAJZXh0dmFjX3N0YXRzX3N0YXJ0KHJl bCwgJmNvdW50ZXJzLT5jb21tb24pOwogCWNvdW50ZXJzLT5wYWdlc19kZWxldGVkID0gY291 bnRlcnMtPnR1cGxlc19yZW1vdmVkID0gMDsKIApAQCAtNDU5LDkgKzQ1MCw2IEBAIGV4dHZh Y19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpz dGF0cywKIHN0YXRpYyB2b2lkCiBhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3Mo TFZFeHRTdGF0Q291bnRlcnMgKmV4dFZhY0NvdW50ZXJzLCBMVlJlbFN0YXRlICp2YWNyZWwp CiB7Ci0JaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JCXJldHVybjsK LQogCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsIGV4dFZhY0NvdW50ZXJzLCAmKHZh Y3JlbC0+ZXh0VmFjUmVwb3J0KSk7CiAKIAkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5k ZWQgc3RhdHMgZmllbGRzICovCkBAIC00NzgsNyArNDY2LDcgQEAgYWNjdW11bGF0ZV9oZWFw X3ZhY3V1bV9zdGF0aXN0aWNzKExWRXh0U3RhdENvdW50ZXJzICpleHRWYWNDb3VudGVycywg TFZSZWxTdGF0ZQogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLm1pc3NlZF9kZWFkX3R1 cGxlcyArPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKIAl2YWNyZWwtPmV4dFZhY1Jl cG9ydC50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyArPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3Bh Z2VzOwogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCAr PSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJs ZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWls c2FmZV9jb3VudDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC53cmFwYXJvdW5kX2ZhaWxzYWZl X2NvdW50ICs9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKIH0KIAogLyoK QEAgLTc5NSwzMCArNzgzLDE0IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZh Y3V1bVBhcmFtcyAqcGFyYW1zLAogCSAqCiAJICogV2UgYXJlIHJlYWR5IHRvIHNlbmQgdmFj dXVtIHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gZm9yIGhlYXAgcmVsYXRpb25zLgogCSAqLwot CWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKLQl7Ci0JCS8qIE1ha2UgZ2Vu ZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGFuZAotCQkgKiBmaWxsIGhlYXAt c3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzLgotCQkgKi8KLQkJYWNjdW11bGF0ZV9o ZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKCZleHRWYWNDb3VudGVycywgdmFjcmVsKTsKKwlhY2N1 bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwp OwogCi0JCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKLQkJ CQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkgTWF4KHZhY3JlbC0+bmV3 X2xpdmVfdHVwbGVzLCAwKSwKLQkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVz ICsKLQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKLQkJCQkJCSAmKHZhY3Jl bC0+ZXh0VmFjUmVwb3J0KSk7Ci0KLQl9Ci0JZWxzZQotCXsKLQkJcGdzdGF0X3JlcG9ydF92 YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAotCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVs aXNzaGFyZWQsCi0JCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCi0J CQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwotCQkJCQkJCSB2YWNyZWwt Pm1pc3NlZF9kZWFkX3R1cGxlcywKLQkJCQkJCQkgTlVMTCk7Ci0JfQorCXBnc3RhdF9yZXBv cnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJCXJlbC0+cmRfcmVsLT5y ZWxpc3NoYXJlZCwKKwkJCQkJCU1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCisJ CQkJCQl2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsKKwkJCQkJCXZhY3JlbC0+bWlz c2VkX2RlYWRfdHVwbGVzLAorCQkJCQkJJih2YWNyZWwtPmV4dFZhY1JlcG9ydCkpOwogCiAJ cGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiAKQEAgLTI4MDgsMTQgKzI3ODAsMTEg QEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICppc3RhdCwKIAlpc3RhdCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZp bmZvLCBpc3RhdCwgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJCQkgIHZhY3JlbC0+ZGVh ZF9pdGVtc19pbmZvKTsKIAotCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykK LQl7Ci0JCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXgg Ki8KLQkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50 ZXJzLCAmZXh0VmFjUmVwb3J0KTsKLQkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25H ZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs Ci0JCQkJCQkJCTAsIDAsICZleHRWYWNSZXBvcnQpOwotCX0KKwkvKiBNYWtlIGV4dGVuZGVk IHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJZXh0dmFjX3N0YXRzX2VuZF9p ZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwlw Z3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCisJCQkJCQkJ aW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCTAsIDAsICZleHRWYWNSZXBv cnQpOwogCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBm b3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNy ZWwsICZzYXZlZF9lcnJfaW5mbyk7CkBAIC0yODcyLDE0ICsyODQxLDExIEBAIGxhenlfY2xl YW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQg KmlzdGF0LAogCiAJaXN0YXQgPSB2YWNfY2xlYW51cF9vbmVfaW5kZXgoJml2aW5mbywgaXN0 YXQpOwogCi0JaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQotCXsKLQkJLyog TWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLwotCQlleHR2 YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRW YWNSZXBvcnQpOwotCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGlu ZHJlbCksCi0JCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJCQkJ MCwgMCwgJmV4dFZhY1JlcG9ydCk7Ci0JfQorCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0 YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWws IGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCXBnc3RhdF9yZXBv cnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQlpbmRyZWwtPnJk X3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJMCwgMCwgJmV4dFZhY1JlcG9ydCk7CiAKIAkv KiBSZXZlcnQgdG8gdGhlIHByZXZpb3VzIHBoYXNlIGluZm9ybWF0aW9uIGZvciBlcnJvciB0 cmFjZWJhY2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVk X2Vycl9pbmZvKTsKQEAgLTM0OTMsNiArMzQ1OSw5IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFj ayh2b2lkICphcmcpCiAJc3dpdGNoIChlcnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFD VVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVS Uk9SKQorCQkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQs IFBHU1RBVF9FWFRWQUNfVEFCTEUpOworCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVy cmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJp bmZvLT5vZmZudW0pKQpAQCAtMzUwOCw2ICszNDc3LDkgQEAgdmFjdXVtX2Vycm9yX2NhbGxi YWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNF X1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdz dGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFD X1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykp CiAJCQl7CiAJCQkJaWYgKE9mZnNldE51bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkK QEAgLTM1MjMsMTYgKzM0OTUsMjUgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFy ZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRF WDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CisK IAkJCWVycmNvbnRleHQoIndoaWxlIHZhY3V1bWluZyBpbmRleCBcIiVzXCIgb2YgcmVsYXRp b24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVs bmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFD VVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9 PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRv aWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOworCiAJCQllcnJjb250ZXh0KCJ3aGlsZSBjbGVh bmluZyB1cCBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAg ZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxu YW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1RSVU5DQVRF OgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwog CQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29u dGV4dCgid2hpbGUgdHJ1bmNhdGluZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tz IiwKIAkJCQkJCSAgIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSwg ZXJyaW5mby0+Ymxrbm8pOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmlu ZGV4IDA5ZTkzYjIxZTgyLi45ZWNlODUxZjJjNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbApAQCAtMTQ2Miw0ICsxNDYyLDI5IEBAIEZST00KICAgcGdfY2xhc3Mg cmVsCiAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3Bh Y2UsCiAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3Rh dHMKLVdIRVJFIHJlbC5yZWxraW5kID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKK1dIRVJFIHJlbC5yZWxraW5kID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3Zh Y3V1bV9kYXRhYmFzZSBBUworU0VMRUNUCisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0 bmFtZSBBUyBkYm5hbWUsCisKKyAgc3RhdHMuZGJfYmxrc19yZWFkIEFTIGRiX2Jsa3NfcmVh ZCwKKyAgc3RhdHMuZGJfYmxrc19oaXQgQVMgZGJfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFs X2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Js a3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMud2FsX3JlY29y ZHMgQVMgd2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgc3Rh dHMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lIEFT IGJsa19yZWFkX3RpbWUsCisgIHN0YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90 aW1lLAorCisgIHN0YXRzLmRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3RhdHMudG90 YWxfdGltZSBBUyB0b3RhbF90aW1lLAorICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFT IHdyYXBhcm91bmRfZmFpbHNhZmUsCisgIHN0YXRzLmVycm9ycyBBUyBlcnJvcnMKK0ZST00K KyAgcGdfZGF0YWJhc2UgZGIsCisgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFi YXNlKGRiLm9pZCkgc3RhdHM7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggZDQxNzExYTgwZDUuLjhmMjg4 MzQyYzk4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxl bC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTkw OSw3ICs5MDksNyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxs ZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJCQkJIFJlbGF0aW9uR2V0 UmVsYXRpb25OYW1lKGluZHJlbCkpOwogCX0KIAotCWlmKGlzdGF0X3JlcyAhPSBOVUxMICYm IHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwlpZihpc3RhdF9yZXMgIT0gTlVM TCkKIAl7CiAJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5k ZXggKi8KIAkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdF9yZXMsICZleHRW YWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jCmluZGV4IGRjODFiYjEyYzg2Li5jMzA1NDNjNTY0MiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgaW5saW5l IGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2luZCk7CiAKIGJvb2wJ CXBnc3RhdF90cmFja19jb3VudHMgPSBmYWxzZTsKIGludAkJCXBnc3RhdF9mZXRjaF9jb25z aXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9DQUNIRTsKLWJvb2wJCXBnc3Rh dF90cmFja192YWN1dW1fc3RhdGlzdGljcyA9IHRydWU7Citib29sCQlwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgPSBmYWxzZTsKIAogLyogLS0tLS0tLS0tLQogICogc3RhdGUg c2hhcmVkIHdpdGggcGdzdGF0XyouYwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfZGF0YWJhc2UuYwppbmRleCAwNWE4Y2NmZGI3NS4uZDVjMWUyYTJjZjUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCkBA IC00NDksNiArNDQ5LDcgQEAgcGdzdGF0X2RhdGFiYXNlX2ZsdXNoX2NiKFBnU3RhdF9FbnRy eVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVu dHJ5X3JlZik7CiAKIAltZW1zZXQocGVuZGluZ2VudCwgMCwgc2l6ZW9mKCpwZW5kaW5nZW50 KSk7CisJbWVtc2V0KCYocGVuZGluZ2VudCktPnZhY3V1bV9leHQsIDAsIHNpemVvZihFeHRW YWNSZXBvcnQpKTsKIAogCXJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCBiMThhZTYxMGI4NC4uMjY3MTI2 OWMwMWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9y ZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxh dGlvbi5jCkBAIC0yMDUsNiArMjA1LDM4IEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0 aW9uIHJlbCkKIAl9CiB9CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXJyb3IoKSAtCisgKgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRv KXZhY3V1bSBpbnRlcnJ1cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0 X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1f dHlwZSkKK3sKKwlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKwlQZ1N0YXRTaGFyZWRf UmVsYXRpb24gKnNodGFiZW50cnk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7 CisJT2lkCQkJZGJvaWQgPSAgTXlEYXRhYmFzZUlkOworCVBnU3RhdF9TdGF0REJFbnRyeSAq ZGJlbnRyeTsJLyogcGVuZGluZyBkYXRhYmFzZSBlbnRyeSAqLworCisJaWYgKCFwZ3N0YXRf dHJhY2tfY291bnRzKQorCQlyZXR1cm47CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2Vu dHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfUkVMQVRJT04sCisJCQkJCQkJCQkJCWRib2lk LCB0YWJsZW9pZCwgZmFsc2UpOworCisJc2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfUmVs YXRpb24gKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisJdGFiZW50cnkgPSAmc2h0YWJl bnRyeS0+c3RhdHM7CisKKwl0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0gbV90eXBlOwor CXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKKworCWRiZW50cnkgPSBwZ3N0YXRf cHJlcF9kYXRhYmFzZV9wZW5kaW5nKGRib2lkKTsKKwlkYmVudHJ5LT52YWN1dW1fZXh0LmVy cm9ycysrOworCWRiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKK30KKwogLyoK ICAqIFJlcG9ydCB0aGF0IHRoZSB0YWJsZSB3YXMganVzdCB2YWN1dW1lZCBhbmQgZmx1c2gg SU8gc3RhdGlzdGljcy4KICAqLwpAQCAtMjE2LDYgKzI0OCw3IEBAIHBnc3RhdF9yZXBvcnRf dmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJUGdTdGF0X0VudHJ5UmVmICpl bnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwogCVBnU3Rh dF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OworCVBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqZGJl bnRyeTsKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFz ZUlkKTsKIAlUaW1lc3RhbXBUeiB0czsKIApAQCAtMjM1LDcgKzI2OCw4IEBAIHBnc3RhdF9y ZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJdGFiZW50cnktPmxp dmVfdHVwbGVzID0gbGl2ZXR1cGxlczsKIAl0YWJlbnRyeS0+ZGVhZF90dXBsZXMgPSBkZWFk dHVwbGVzOwogCi0JcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKCZ0YWJlbnRyeS0+ dmFjdXVtX2V4dCwgcGFyYW1zLCB0cnVlKTsKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MpCisJCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnkt PnZhY3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7CiAKIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBv c3NpYmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcK QEAgLTI3MCw2ICszMDQsMTYgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lk LCBib29sIHNoYXJlZCwKIAkgKi8KIAlwZ3N0YXRfZmx1c2hfaW8oZmFsc2UpOwogCXBnc3Rh dF9mbHVzaF9iYWNrZW5kKGZhbHNlLCBQR1NUQVRfQkFDS0VORF9GTFVTSF9JTyk7CisKKwlp ZiAoZGJvaWQgIT0gSW52YWxpZE9pZCkKKwl7CisJCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRf ZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9EQVRBQkFTRSwKKwkJCQkJCQkJCQkJZGJv aWQsIEludmFsaWRPaWQsIGZhbHNlKTsKKwkJZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfRGF0 YWJhc2UgKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwkJcGdzdGF0X2FjY3VtdWxh dGVfZXh0dmFjX3N0YXRzKCZkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LCBwYXJhbXMsIGZh bHNlKTsKKwkJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworCX0KIH0KIAogLyoK QEAgLTk5NSw5ICsxMDM5LDYgQEAgc3RhdGljIHZvaWQKIHBnc3RhdF9hY2N1bXVsYXRlX2V4 dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCiAJCQkJ CQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKIHsKLQlpZigh cGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQotCQlyZXR1cm47Ci0KIAlkc3QtPnRv dGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKIAlkc3QtPnRvdGFsX2Js a3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CiAJZHN0LT50b3RhbF9ibGtzX2RpcnRp ZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CkBAIC0xMDA5LDYgKzEwNTAsOCBAQCBw Z3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZh Y1JlcG9ydCAqc3JjLAogCWRzdC0+YmxrX3dyaXRlX3RpbWUgKz0gc3JjLT5ibGtfd3JpdGVf dGltZTsKIAlkc3QtPmRlbGF5X3RpbWUgKz0gc3JjLT5kZWxheV90aW1lOwogCWRzdC0+dG90 YWxfdGltZSArPSBzcmMtPnRvdGFsX3RpbWU7CisJZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZl X2NvdW50ICs9IHNyYy0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKKwlkc3QtPmVycm9y cyArPSBzcmMtPmVycm9yczsKIAogCWlmICghYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmlj X2luZm8pCiAJCXJldHVybjsKQEAgLTEwMzYsNyArMTA3OSw2IEBAIHBnc3RhdF9hY2N1bXVs YXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMs CiAJCQlkc3QtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPnRhYmxlLmluZGV4 X3ZhY3V1bV9jb3VudDsKIAkJCWRzdC0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMgKz0gc3Jj LT50YWJsZS5taXNzZWRfZGVhZF9wYWdlczsKIAkJCWRzdC0+dGFibGUubWlzc2VkX2RlYWRf dHVwbGVzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzOwotCQkJZHN0LT50YWJs ZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+dGFibGUud3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudDsKIAkJfQogCQllbHNlIGlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VY VFZBQ19JTkRFWCkKIAkJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bn c3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRl eCAzMTA1YTlkZTM5MC4uZGUyNzk3NjdkYjIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jCkBAIC0yMjk3LDcgKzIyOTcsNyBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMpOwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyk7CiAK LQl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS53cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0 dmFjdXVtLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKIAl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQpOwogCiAJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOwpA QCAtMjQyNyw2ICsyNDI3LDEwNCBAQCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQR19G VU5DVElPTl9BUkdTKQogCiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVY X1NUQVRTX0NPTFMpOwogCisJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJ UEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBk ZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQorCitEYXR1bQorcGdfc3RhdF9nZXRfdmFjdXVt X2RhdGFiYXNlKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFUX0dFVF9W QUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUwkxNAorCisJT2lkCQkJCQkJIGRiaWQgPSBQR19H RVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0REJFbnRyeSAJCSpkYmVudHJ5OworCUV4dFZh Y1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkgdHVwZGVzYzsKKwlEYXR1 bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10g PSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9T VEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50CQkJCQkJIGkg PSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1 dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJdHVwZGVzYyA9 IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9T VEFUU19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAiZGJpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFs X2Jsa3Nfd3JpdHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9i eXRlcyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJ CSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQs IC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIs CisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAid3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCIsCisJ CQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgImVycm9ycyIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsK KworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xT KTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJZGJlbnRyeSA9IHBnc3RhdF9m ZXRjaF9zdGF0X2RiZW50cnkoZGJpZCk7CisKKwlpZiAoZGJlbnRyeSA9PSBOVUxMKQorCXsK KwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQsIGluaXRpYWxpc2UgaXRz IHN0YXRzICovCisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkp OworCQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQorCXsKKwkJZXh0dmFjdXVt ID0gJihkYmVudHJ5LT52YWN1dW1fZXh0KTsKKwl9CisKKwlpID0gMDsKKworCXZhbHVlc1tp KytdID0gT2JqZWN0SWRHZXREYXR1bShkYmlkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVu KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNv cmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBp KTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMg Ki8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1 bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVt ZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkg IE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsK KworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfcmVhZF90 aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3dy aXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5k ZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ dG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+ d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERh dHVtKGV4dHZhY3V1bS0+ZXJyb3JzKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZB Q1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKKwogCS8qIFJldHVybnMgdGhlIHJlY29yZCBh cyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zv cm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0KXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190 YWJsZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCmluZGV4IDJh OTZjZjUxYTM2Li5lZDk3MzcwMzc2MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv bWlzYy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFi bGVzLmMKQEAgLTE0ODQsNyArMTQ4NCw3IEBAIHN0cnVjdCBjb25maWdfYm9vbCBDb25maWd1 cmVOYW1lc0Jvb2xbXSA9CiAJCQlOVUxMCiAJCX0sCiAJCSZwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MsCi0JCXRydWUsCisJCWZhbHNlLAogCQlOVUxMLCBOVUxMLCBOVUxMCiAJ fSwKIAl7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBkN2YwNmE2OTQ4Ny4uNzI2 MWY3YmJlYWEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQK KysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI0NDgsMTIgKzEy NDQ4LDIxIEBACiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcs IHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9h bGxfZnJvemVuX3BhZ2VzJyB9LAogeyBvaWQgPT4gJzgwMDQnLAotICBkZXNjciA9PiAncGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJuIHN0YXRzIHZhbHVlcycsCisgIGRlc2Ny ID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm5zIHZhY3V1bSBzdGF0cyB2 YWx1ZXMgZm9yIGluZGV4JywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlw ZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcs CiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxv aWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxu dW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OH0nLAogICBwcm9hcmdtb2RlcyA9 PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1l cyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90 YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9i bGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9m cGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0 b3RhbF90aW1lfScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMn IH0KKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycgfSwKK3sgb2lk ID0+ICc4MDA1JywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZSBy ZXR1cm5zIHZhY3V1bSBzdGF0cyB2YWx1ZXMgZm9yIGRhdGFiYXNlJywKKyAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJywgcHJvcm93cyA9PiAxMDAwLCBwcm92 b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4g J2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAg cHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGludDQsaW50NH0nLAor ICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisg IHByb2FyZ25hbWVzID0+ICd7ZGJpZCxkYm9pZCxkYl9ibGtzX3JlYWQsZGJfYmxrc19oaXQs dG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbix3YWxfcmVjb3Jkcyx3YWxf ZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUs dG90YWxfdGltZSx3cmFwYXJvdW5kX2ZhaWxzYWZlLGVycm9yc30nLAorICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZScgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggNTcyZTM0ZTBi YjAuLjg1N2E1YzhmODYxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysg Yi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMjEwLDYgKzIxMCw5IEBAIHR5cGVkZWYgc3Ry dWN0IEV4dFZhY1JlcG9ydAogCiAJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVz IGRlbGV0ZWQgYnkgdmFjdXVtICovCiAKKwlpbnQzMgkJZXJyb3JzOworCWludDMyCQl3cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZl bnQgd3JhcGFyb3VuZCBwcm9ibGVtICovCisKIAlFeHRWYWNSZXBvcnRUeXBlIHR5cGU7CQkv KiBoZWFwLCBpbmRleCwgZXRjLiAqLwogCiAJLyogLS0tLS0tLS0tLQpAQCAtMjM5LDcgKzI0 Miw2IEBAIHR5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAogCQkJaW50NjQJCW1pc3NlZF9k ZWFkX3R1cGxlczsJCS8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFp bHVyZSB0byBnZXQgYSBjbGVhbnVwIGxvY2sgKi8KIAkJCWludDY0CQltaXNzZWRfZGVhZF9w YWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICovCiAJCQlpbnQ2NAkJ aW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLwot CQkJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIHRoZSBudW1iZXIgb2Yg dGltZXMgdG8gcHJldmVudCB3b3JrYXJvdW5kIHByb2JsZW0gKi8KIAkJfQkJCXRhYmxlOwog CQlzdHJ1Y3QKIAkJewpAQCAtNzc5LDYgKzc4MSw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9y ZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBw Z3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9D b3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJ CSAgYm9vbCByZXNldGNvdW50ZXIpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSk7CiAKIC8q CiAgKiBJZiBzdGF0cyBhcmUgZW5hYmxlZCwgYnV0IHBlbmRpbmcgZGF0YSBoYXNuJ3QgYmVl biBwcmVwYXJlZCB5ZXQsIGNhbGwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9z cGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9zcmMvdGVz dC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5z cGVjCmluZGV4IDU4OTNkODk1NzNkLi5jZmVjMzE1OTU4MCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQu c3BlYworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5zcGVjCkBAIC0xOCw2ICsxOCw5IEBAIHRlYXJkb3duCiB9CiAK IHNlc3Npb24gczEKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPICdvbic7CisgICAgfQogc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CiAg IEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CiAg IHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdo ZXJlIGlkPjkwMDsKQEAgLTI1LDYgKzI4LDkgQEAgc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxl X3JlYWQgICB7CiBzdGVwIHMxX2NvbW1pdCAgICAgICAgICAgICAgICAgIHsgQ09NTUlUOyB9 CiAKIHNlc3Npb24gczIKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPICdvbic7CisgICAgfQogc3RlcCBzMl9pbnNlcnQgICAgICAgICAgICAgICAgICB7 IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxF Q1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7 IH0KIHN0ZXAgczJfdXBkYXRlICAgICAgICAgICAgICAgICAgeyBVUERBVEUgdGVzdF92YWN1 dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICsgMiB3aGVyZSBpZCA+IDkwMDsg fQogc3RlcCBzMl9kZWxldGUgICAgICAgICAgICAgICAgICB7IERFTEVURSBGUk9NIHRlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkID4gOTAwOyB9CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDI0N2UyMmE4MmE1Li4yODVkZmQzODQwZSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyNDUsNiArMjI0NSwyMyBA QCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVt YW5hbWUgPD4gQUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9z Y2hlbWEnOjpuYW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkp OworcGdfc3RhdF92YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkYi5vaWQgQVMgZGJvaWQsCisg ICAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisgICAgc3RhdHMuZGJfYmxrc19yZWFkLAorICAg IHN0YXRzLmRiX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMud2FsX3JlY29yZHMsCisg ICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxr X3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0cy5kZWxh eV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUsCisgICAgc3RhdHMud3JhcGFyb3VuZF9m YWlsc2FmZSwKKyAgICBzdGF0cy5lcnJvcnMKKyAgIEZST00gcGdfZGF0YWJhc2UgZGIsCisg ICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhk Ym9pZCwgZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0 b3RhbF9ibGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJs a19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3 cmFwYXJvdW5kX2ZhaWxzYWZlLCBlcnJvcnMpOwogcGdfc3RhdF92YWN1dW1faW5kZXhlc3wg U0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1l LAogICAgIHJlbC5yZWxuYW1lLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dAppbmRleCBlMDBhMGZjNjgzYy4u OWU1ZDMzMzQyYzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0xNiw4ICsxNiwxMiBAQCBTSE9X IHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAK IC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4K IFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0 YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzMs MTIgKzM3LDcgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBSRVNFVCB0cmFj a192YWN1dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Ci1TSE9X IHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgotIHRyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG9uCi0oMSByb3cp Ci0KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb24nOwogLS0gZW5zdXJlIHBl bmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2goKTsKICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0xODEsMyArMTgwLDQgQEAg V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0OworUkVTRVQgdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3M7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggODMl CnJlbmFtZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19z dGF0aXN0aWNzLm91dApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAppbmRleCAxMTljN2FiZWE1Zi4uZDdm MGJiMzIyNTIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CkBAIC02LDcgKzYsNiBAQAog LS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tl bmQuCiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVz dCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCi0tLSBjb25kaXRpbyBz aW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogIHRyYWNr X2NvdW50cyAKIC0tLS0tLS0tLS0tLS0tCkBAIC0xNiw4ICsxNSwxMiBAQCBTSE9XIHRyYWNr X2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAKIC0tIG5v dCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0 cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3Rp Y3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz OyAgLS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxFIHZlc3Rh dCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9 IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzcsMTIgKzQw LDEyIEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotU0hPVyB0cmFj a192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KLSB0cmFja192YWN1dW1fc3Rh dGlzdGljcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBvbgotKDEgcm93KQotCitD UkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRF IERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNz aW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mg VE8gb247CistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0 IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogLS0gZW5zdXJlIHBlbmRp bmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0yNTksMyArMjYyLDY5IEBAIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbG5hCiBSRVNFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2U7 CiBSRVNFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZTsKIERST1AgVEFCTEUgdmVzdGF0IENB U0NBREU7CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQgZGF0 YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Js a3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19k aXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193 cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAg ICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2Fs X2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3Bn X3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNl KCk7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19oaXQgfCB0 b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVjb3JkcyB8 IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIgfCB0ICAgICAg ICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKworLS0gZW5zdXJl IHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkg V0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5T RVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBs ZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0g MTAwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZl c3RhdDsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3Rp Y3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VMRUNU IGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAg ICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg ICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAg ICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAw IEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAg ICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1f ZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGInOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwg dG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMg fCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiIHwgdCAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0CisoMSByb3cpCisKK1xjIHJlZ3Jl c3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPIG9uOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1xjIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247 CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAK KyBjb3VudCAKKy0tLS0tLS0KKyAgICAgMAorKDEgcm93KQorCitcYyBwb3N0Z3JlcworRFJP UCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRB QkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitSRVNFVCB0cmFja192YWN1 dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxf c2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDk3 N2E4N2E1YjFmLi4xOWM3NmI5NjgzMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVk dWxlCkBAIC0xNDEsNCArMTQxLDQgQEAgdGVzdDogdGFibGVzcGFjZQogIyBDaGVjayB2YWN1 dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCiB0ZXN0OiB2YWN1dW1faW5kZXhfc3RhdGlz dGljcwotdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQordGVzdDogdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcwpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAppbmRleCBhZTE0NmUxZDIzZi4uOWI3ZTY0 NTE4N2QgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9z dGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5zcWwKQEAgLTE0LDggKzE0LDcgQEAgU0hPVyB0cmFja19jb3VudHM7ICAt LSBtdXN0IGJlIG9uCiAtLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0 byB0ZXN0IGl0Li4uCiBTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogCi0tLSBUZXN0 IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBp cyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKIAogQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTMzLDcgKzMyLDcgQEAgV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7 CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwogCi1TSE9XIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRP ICdvbic7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCiBTRUxFQ1Qg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xNDksMyArMTQ4LDQgQEAgRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5yZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAogRFJPUCBUQUJMRSB2 ZXN0YXQ7CitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApz aW1pbGFyaXR5IGluZGV4IDgyJQpyZW5hbWUgZnJvbSBzcmMvdGVzdC9yZWdyZXNzL3NxbC92 YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAppbmRleCBkZmQ3YWY3 MDAyNy4uMDZkMmQ2ODMyNTEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKQEAgLTcsMTUgKzcsMTMgQEAK IC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJl Y2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KIAotLS0gY29uZGl0aW8gc2lu ZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2Ft cGxlX3NpemUgMTAwMDAKIAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdh bnQgdG8gdGVzdCBpdC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAotLS0g VGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0 ZXIgaXMgb2ZmLgotU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworU0hP VyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb2ZmCiAKIENSRUFURSBU QUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZp bGxmYWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CkBAIC0zNiw3ICszNCwxMyBAQCBX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiBSRVNFVCB0cmFja192YWN1dW1fc3RhdGlz dGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CiAKLVNIT1cgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7 CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CisKKy0tIG5vdCBlbmFibGVk IGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5j dGlvbnMgVE8gJ2FsbCc7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVk CiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xOTAsMyArMTk0LDU3 IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hCiBSRVNFVCB2YWN1dW1fZnJlZXplX21p bl9hZ2U7CiBSRVNFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZTsKIERST1AgVEFCTEUgdmVz dGF0IENBU0NBREU7CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJl bnQgZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFT IGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxf Ymxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxf Ymxrc193cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywK KyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAg QVMgd2FsX2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZS T00KK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2Rh dGFiYXNlKCk7CisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxF Q1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQg KHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAx MCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQg U0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCkgdmVzdGF0OworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOwor U0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPIG9uOworCistLSBOb3cgY2hlY2sgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRh YmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxr c19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2Rp cnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dy aXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAg IHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxf Ynl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdf c3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRp c3RpY192YWN1dW1fZGInOworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIK K1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKworRFJPUCBUQUJMRSB2ZXN0 YXQgQ0FTQ0FERTsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NF VCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKK1NFTEVDVCBjb3VudCgqKQorRlJP TSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMo MCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorCitcYyBwb3N0Z3JlcworRFJPUCBE QVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFT RSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitSRVNFVCB0cmFja192YWN1dW1f c3RhdGlzdGljczsKLS0gCjIuMzQuMQoK --------------ehA8hvWTQKBldKbQWNQnJEtd Content-Type: text/x-patch; charset=UTF-8; name="v17-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v17-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA3ZGZiYjAxOThiOTYwYzM2MGI1MDk5OTNjMDFjN2MzM2VjNmJmMGI4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCBhNTg2MTU2NjE0ZC4uZDU5 ZjE5NDRjZWYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNjYsNCArNTA2Niw3 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 --------------ehA8hvWTQKBldKbQWNQnJEtd--